diff --git a/api/gloo.solo.io/admin/v2/dashboard.proto b/api/gloo.solo.io/admin/v2/dashboard.proto new file mode 100644 index 000000000..3210e649c --- /dev/null +++ b/api/gloo.solo.io/admin/v2/dashboard.proto @@ -0,0 +1,286 @@ +syntax = "proto3"; +package admin.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2"; + +option (extproto.hash_all) = true; +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; + +// `Dashboard` describes the settings for the Gloo Mesh Enterprise dashboard. +// Currently, this resource is only used to secure the Gloo Mesh Enterprise Dashboard by +// requiring authentication with an OpenID Connect identity provider. +// Users accessing the dashboard will be required to authenticate with the OIDC provider +// and all requests to retrieve data from the API will also be authenticated. +// +// The following example sets up OIDC authentication: +//```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Dashboard +// metadata: +// name: settings +// namespace: gloo-mesh +// spec: +// authn: +// oidc: +// appUrl: https://localhost:8080 +// clientId: $CLIENT_ID +// clientSecretName: dashboard +// issuerUrl: https://accounts.google.com +// ``` +message DashboardSpec { + message AuthnConfig { + oneof backend { + OidcConfig oidc = 1; + } + } + message AuthzConfig { + oneof backend { + // Enable multi cluster RBAC. When this is enabled, Gloo Mesh Enterprise will use RBAC resources + // from managed clusters to determine if users are allowed to see resources in the dashbaord. + // For this to work, the dashboard and the kubernetes clusters need to have the same identity + // source (i.e. OIDC with the same user and group claims). + // When using OIDC, make sure to configure the userMapping field. + MultiClusterRbac multi_cluster_rbac = 1; + } + } + + // Configuration used to authenticate incoming requests. + AuthnConfig authn = 1; + // Configuration used to authorize incoming requests. + AuthzConfig authz = 2; +} + +message MultiClusterRbac { + +} + +message SessionConfig { + message CookieSession {} + + message RedisSession { + // address of the redis. can be address:port or unix://path/to/unix.sock + string host = 1; + + // db to use. can leave unset for db 0. + int32 db = 2; + + // size of the connection pool. can leave unset for default. + // defaults to 10 connections per every CPU + int32 pool_size = 3; + + // Key prefix inside redis + string key_prefix = 4; + + // Cookie name to set and store the session id. If empty the default "__session" is used. + string cookie_name = 5; + + // When set, refresh expired id-tokens using the refresh-token. Defaults to true. + // Explicitly set to false to disable refreshing. + google.protobuf.BoolValue allow_refreshing = 6; + } + + message CookieOptions { + // Max age of the cookie. If unset, the default of 30 days will be + // used. To disable expiration, set explicitly to 0. + google.protobuf.UInt32Value max_age = 1; + + // Use an insecure cookie. + // Should only be used for testing and in trusted environments. + bool not_secure = 2; + + // Path of the cookie. Defaults to "/", set to "" to disable the + // option. + google.protobuf.StringValue path = 3; + + // Domain of the cookie. + string domain = 4; + } + + // Set-Cookie options + CookieOptions cookie_options = 1; + + oneof backend { + // Store all session data in the cookie itself + CookieSession cookie = 2; + + // Store the session data in a Redis instance. + RedisSession redis = 3; + } +} + +message OidcConfig { + // The client ID from the issuer + string client_id = 1; + + // The client secret from the issuer + string client_secret_name = 2; + + // The url of the issuer. We will look for OIDC information in: + // {{ issuerURL }}/.well-known/openid-configuration + string issuer_url = 3; + + // Extra query parameters to apply to the authorization request to the + // identity provider. For example, using the [PKCE flow](https://www.oauth.com/oauth2-servers/pkce/authorization-request/) by + // setting `code_challenge` and `code_challenge_method`. + map auth_endpoint_query_params = 4; + + // Extra query parameters to apply to the token request to the identity + // provider. For example, using the [PKCE flow](https://www.oauth.com/oauth2-servers/pkce/authorization-request/) by + // setting `code_challenge` and `code_challenge_method`. + map token_endpoint_query_params = 5; + + // URL to redirect to after successful auth. + string app_url = 6; + + // Path to handle the OIDC callback. + string callback_path = 7; + + // Path used to logout. If not provided, logout will be disabled. + string logout_path = 8; + + // Scopes to request in addition to 'openid'. + repeated string scopes = 9; + + // Configuration for session storage. + SessionConfig session = 10; + + // OIDC configuration is discovered at + // /.well-known/openid-configuration The discovery override + // defines any properties that should override + // [this discovery configuration](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). + message DiscoveryOverride { + // URL of the provider authorization endpoint. + string auth_endpoint = 1; + + // URL of the provider token endpoint. + string token_endpoint = 2; + + // URL of the provider JSON web key set. + string jwks_uri = 3; + + // List of scope values that the provider supports. + repeated string scopes = 4; + + // List of response types that the provider supports. + repeated string response_types = 5; + + // List of subject identifier types that the provider supports. + repeated string subjects = 6; + + // List of json web signature signing algorithms that the provider + // supports for encoding claims in a JWT. + repeated string id_token_algs = 7; + + // List of client authentication methods supported by the provider + // token endpoint. + repeated string auth_methods = 8; + + // List of claim types that the provider supports. + repeated string claims = 9; + } + + // Ensure that certain values are set regardless of what the OIDC + // provider returns. + DiscoveryOverride discovery_override = 11; + + // How often to poll the OIDC issuer for new configuration. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration discovery_poll_interval = 12; + + // If a user executes a request with a key that is not found in the + // JWKS, it could be that the keys have rotated on the remote source, + // and not yet in the local cache. This policy lets you define the + // behavior for how to refresh the local cache during a request where an + // invalid key is provided + JwksOnDemandCacheRefreshPolicy jwks_cache_refresh_policy = 13; + + // If set, the ID token will used to infer user identity, that can be used to make + // authorization decisions. + // If empty, no authorization will be made. + UserMapping user_mapping = 14; + + // A name of a config map containing root cert to use when talking with + // the OIDC provider. The config map must contain the a key named "ca.crt" with PEM encoded + // CA. + string ca_cert_configmap_name = 15; +} + +// The [json web key set (JWKS)](https://tools.ietf.org/html/rfc7517) is +// discovered at an interval from a remote source. When keys rotate in +// the remote source, there may be a delay in the local source picking +// up those new keys. Therefore, a user could execute a request with a +// token that has been signed by a key in the remote JWKS, but the local +// cache doesn't have the key yet. The request would fail because the +// key isn't contained in the local set. Since most IdPs publish key +// keys in their remote JWKS before they are used, this is not an issue +// most of the time. This policy lets you define the behavior for when a +// user has a token with a key not yet in the local cache. +message JwksOnDemandCacheRefreshPolicy { + oneof policy { + // Never refresh the local JWKS cache on demand. If a key is not + // in the cache, it is assumed to be malicious. This is the + // default policy since we assume that IdPs publish keys before + // they rotate them, and frequent polling finds the newest keys. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + google.protobuf.Empty never = 1; + + // If a key is not in the cache, fetch the most recent keys from + // the IdP and update the cache. NOTE: This should only be done + // in trusted environments, since missing keys will each trigger + // a request to the IdP. Using this in an environment exposed to + // the internet will allow malicious agents to execute a DDoS + // attack by spamming protected endpoints with tokens signed by + // invalid keys. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + google.protobuf.Empty always = 2; + + // If a key is not in the cache, fetch the most recent keys from + // the IdP and update the cache. This value sets the number of + // requests to the IdP per polling interval. If that limit is + // exceeded, we will stop fetching from the IdP for the + // remainder of the polling interval. + uint32 max_idp_req_per_polling_interval = 3; + } +} + +// Settings to make sure the identity derivied from the ID token matches +// the kubernetes identity. +message UserMapping { + // The JWT field to use as the user's username. + string username_claim = 1; + + // If specified, causes claims mapping to username to be prefix with + // the provided value. A value "oidc:" would result in usernames like "oidc:john". + string username_prefix = 2; + + // If specified, causes the OIDCAuthenticator to try to populate the user's + // groups with an ID Token field. If the GroupsClaim field is present in an ID Token the value + // must be a string or list of strings. + string groups_claim = 3; + + // If specified, causes claims mapping to group names to be prefixed with the + // value. A value "oidc:" would result in groups like "oidc:engineering" and "oidc:marketing". + string groups_prefix = 4; +} + +message DashboardStatus { + + // The most recent generation observed in the Dashboard metadata. + // If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most + // recent version of this resource. + int64 observed_generation = 1; + + // The state of the overall resource. + // It will only show accepted if no processing errors encountered. + .common.gloo.solo.io.ApprovalState state = 2; + + // Any errors encountered while processing Settings object. + repeated string errors = 3; +} \ No newline at end of file diff --git a/api/gloo.solo.io/admin/v2/ext_auth_server.proto b/api/gloo.solo.io/admin/v2/ext_auth_server.proto new file mode 100644 index 000000000..90f8ebe04 --- /dev/null +++ b/api/gloo.solo.io/admin/v2/ext_auth_server.proto @@ -0,0 +1,153 @@ +syntax = "proto3"; + +package admin.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "google/protobuf/duration.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// ExtAuthServer is used configure the backend server used to enforce ExtAuthPolicies. +// All ExtAuthPolicies in a workspace require an ExtAuthServer to in order to function. +// If no ExtAuthServer is provided, a default configuration will be used. +// Currently Gloo Mesh only supports a single ExtAuthServer per workspace. +message ExtAuthServerSpec { + + // Select the destination that Gloo uses to externally authenticate traffic. + // The destination can be a Kubernetes service, such as the Gloo external auth service or your own external auth service, or a VirtualDestination. + // The destination cannot be an ExternalService. + //
  • Kubernetes service: Make sure to select the correct cluster and namespace of the external auth destination. + // For example, although you create this ExtAuthServer resource in the management cluster in most cases, remember that the Gloo external auth service runs in each workload cluster.
  • + //
  • Virtual destination: Group up to one external auth service for each registered cluster. + // The external auth service names and namespaces must match on all clusters. Also, the namespaces must be enabled for Istio-injection + // so that the external auth pods have sidecars.
+ // If omitted, Gloo looks for a service with the name `extauth` in the agent namespace in each cluster where the external auth service is deployed. + .common.gloo.solo.io.DestinationReference destination_server = 1; + + // If this is set, communication to the upstream will be via HTTP and not GRPC. + HttpService http_service = 2; + + // Timeout for the ext auth service to respond. Defaults to 2s. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + .google.protobuf.Duration request_timeout = 3; + + // In case of a failure or timeout querying the auth server, normally a request is denied. + // if this is set to true, the request will be allowed. + bool failure_mode_allow = 4; + + // Set this if you also want to send the body of the request, and not just the headers. + BufferSettings request_body = 5; + + // Clear the route cache to force the external auth service to recalculate the routing decision. + // All cached routes are cleared if one of the following conditions is met. + // + // 1. The field is set to *true*. + // + // 2. The external auth service returns a HTTP 200 or gRPC 0 response code. + // + // 3. At least one *authorization response header* is added to the client request, or is used to + // alter another client request header. + // + // The default value is **false**. + bool clear_route_cache = 6; + + // Sets the HTTP status that is returned to the client when there is a network error between the + // filter and the authorization server. The default status is HTTP 403 Forbidden. + // If set, this must be one of the following: + // - 100 + // - 200 201 202 203 204 205 206 207 208 226 + // - 300 301 302 303 304 305 307 308 + // - 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 421 422 423 424 426 428 429 431 + // - 500 501 502 503 504 505 506 507 508 510 511 + uint32 status_on_error = 7; + + // Determines the API version for the `ext_authz` transport protocol that will be used by Envoy + // to communicate with the auth server. Defaults to `V3`. For more info, see the `transport_api_version` field + // [here](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/ext_authz/v3/ext_authz.proto#extensions-filters-http-ext-authz-v3-extauthz). + ApiVersion transport_api_version = 8; + + // Optional additional prefix to use when emitting statistics. + // This allows to distinguish emitted statistics between configured ext_authz filters in an HTTP filter chain. + string stat_prefix = 9; + + message HttpService { + // Sets a prefix to the value of authorization request header *Path*. + string path_prefix = 1; + + message Request { + // These headers will be copied from the incoming request to the request going + // to the auth server. Note that in addition to the user's supplied matchers: + // + // 1. *Host*, *Method*, *Path* and *Content-Length* are automatically included to the list. + // + // 2. *Content-Length* will be set to 0 and the request to the authorization service will not have + // a message body. + repeated string allowed_headers = 1; + + // These headers that will be included to the request to authorization service. Note that + // client request of the same key will be overridden. + map headers_to_add = 2; + } + Request request = 2; + + message Response { + // When this is set, authorization response headers that have a will be added to the original client request and sent to the upstream. + // Note that coexistent headers will be overridden. + repeated string allowed_upstream_headers = 1; + + // When this. is set, authorization response headers that will be added to the client's response when auth request is denied. + // Note that when this list is *not* set, all the authorization response headers, except *Authority + // (Host)* will be in the response to the client. When a header is included in this list, *Path*, + // *Status*, *Content-Length*, *WWW-Authenticate* and *Location* are automatically added. + repeated string allowed_client_headers = 2; + } + Response response = 3; + } + + // Configuration for buffering the request data. + message BufferSettings { + // Sets the maximum size of a message body that the filter will hold in memory. Envoy will return + // *HTTP 413* and will *not* initiate the authorization process when buffer reaches the number + // set in this field. Note that this setting will have precedence over failure_mode_allow. + // Defaults to 4KB. + uint32 max_request_bytes = 1; + + // When this field is true, Envoy will buffer the message until *max_request_bytes* is reached. + // The authorization request will be dispatched and no 413 HTTP error will be returned by the + // filter. + bool allow_partial_message = 2; + + // When this field is true, Envoy will send the body sent to the external authorization service with raw bytes. + bool pack_as_bytes = 3; + } + + // Describes the transport protocol version to use when envoy connects to the ext auth server. + enum ApiVersion { + // Use transport version that matches the version the default enterprise ext-auth-service uses. + GLOO_MESH_AUTO = 0; + // Use envoy's auto transport version. This will change as envoy cycles through transport api versions. + ENVOY_AUTO = 1; + // Use v3 API. + V3 = 2; + } +} + +// +// The status of the resource after it is applied to your Gloo environment. +message ExtAuthServerStatus { + + // The most recent generation observed in the object's metadata. + // If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most + // recent version of this object. + int64 observed_generation = 1; + + // Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. + .common.gloo.solo.io.ApprovalState state = 2; + +} diff --git a/api/gloo.solo.io/admin/v2/gateway_lifecycle_manager.proto b/api/gloo.solo.io/admin/v2/gateway_lifecycle_manager.proto new file mode 100644 index 000000000..64b39b8ca --- /dev/null +++ b/api/gloo.solo.io/admin/v2/gateway_lifecycle_manager.proto @@ -0,0 +1,394 @@ +// Use Gloo Platform to install Istio ingress, egress, and east-west gateways in your workload clusters, +// as part of the Istio lifecycle management. +// In your `GatewayLifecycleManager` resource, you provide gateway settings in an `IstioOperator` configuration. +// When you create the `GatewayLifecycleManager` in your management cluster, Gloo translates the configuration +// into gateways in your registered workload clusters for you. +// +// For more information, see the [Install Istio by using the Istio Lifecycle Manager]({{% versioned_link_path fromRoot="/setup/install/gloo_mesh_managed/" %}}) guide. +// +// **Examples**: +// +// **East-west** (Gloo Mesh license): This example creates an east-west gateway named `istio-eastwestgateway` in the `gloo-mesh-gateways` +// namespace of two workload clusters (`$REMOTE_CLUSTER1` and `$REMOTE_CLUSTER2`). You supply the Solo Istio revision (`$REVISION`), +// image tag (`$ISTIO_IMAGE`), and repo key (`$REPO`). +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: GatewayLifecycleManager +// metadata: +// name: istio-eastwestgateway +// namespace: gloo-mesh +// spec: +// installations: +// # The revision for this installation +// - gatewayRevision: $REVISION +// # List all workload clusters to install Istio into +// clusters: +// - name: $REMOTE_CLUSTER1 +// # If set to true, the spec for this revision is applied in the cluster +// activeGateway: true +// - name: $REMOTE_CLUSTER2 +// activeGateway: true +// istioOperatorSpec: +// # No control plane components are installed +// profile: empty +// # Solo.io Istio distribution repository; required for Solo Istio. +// # You get the repo key from your Solo Account Representative. +// hub: $REPO +// # The Solo.io Gloo Istio version +// tag: $ISTIO_IMAGE +// components: +// ingressGateways: +// # Enable the default east-west gateway +// - name: istio-eastwestgateway +// # Deployed to gloo-mesh-gateways by default +// namespace: gloo-mesh-gateways +// enabled: true +// label: +// # Set a unique label for the gateway. This is required to +// # ensure Gateways can select this workload. +// istio: eastwestgateway +// app: istio-eastwestgateway +// k8s: +// env: +// # 'sni-dnat' enables AUTO_PASSTHROUGH mode for east-west communication through the gateway. +// # The default value ('standard') does not set up a passthrough cluster. +// # Required for multi-cluster communication and to preserve SNI. +// - name: ISTIO_META_ROUTER_MODE +// value: "sni-dnat" +// service: +// type: LoadBalancer +// selector: +// istio: eastwestgateway +// # Default ports +// ports: +// # Port for health checks on path /healthz/ready. +// # For AWS ELBs, this port must be listed first. +// - name: status-port +// port: 15021 +// targetPort: 15021 +// # Port for multicluster mTLS passthrough +// # Gloo looks for this default name 'tls' on a gateway +// # Required for Gloo east/west routing +// - name: tls +// port: 15443 +// targetPort: 15443 +// +// ``` +// +// **Ingress** (Gloo Gateway license): This example creates an ingress gateway named `istio-ingressgateway` in the `gloo-mesh-gateways` +// namespace of two workload clusters (`$REMOTE_CLUSTER1` and `$REMOTE_CLUSTER2`). You supply the Solo Istio revision (`$REVISION`), +// image tag (`$ISTIO_IMAGE`), and repo key (`$REPO`). +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: GatewayLifecycleManager +// metadata: +// name: istio-ingressgateway +// namespace: gloo-mesh +// spec: +// installations: +// # The revision for this installation +// - gatewayRevision: $REVISION +// # List all workload clusters to install Istio into +// clusters: +// - name: $REMOTE_CLUSTER1 +// # If set to true, the spec for this revision is applied in the cluster +// activeGateway: true +// - name: $REMOTE_CLUSTER2 +// activeGateway: true +// istioOperatorSpec: +// # No control plane components are installed +// profile: empty +// # Solo.io Istio distribution repository; required for Solo Istio. +// # You get the repo key from your Solo Account Representative. +// hub: $REPO +// # The Solo.io Istio version tag +// tag: $ISTIO_IMAGE +// components: +// ingressGateways: +// # Enable the default ingress gateway +// - name: istio-ingressgateway +// # Deployed to gloo-mesh-gateways by default +// namespace: gloo-mesh-gateways +// enabled: true +// label: +// # Set a unique label for the gateway. This is required to +// # ensure Gateways can select this workload +// istio: ingressgateway +// app: istio-ingressgateway +// k8s: +// service: +// type: LoadBalancer +// selector: +// istio: ingressgateway +// # Default ports +// ports: +// # Port for health checks on path /healthz/ready. +// # For AWS ELBs, this port must be listed first. +// - name: status-port +// port: 15021 +// targetPort: 15021 +// # Main HTTP ingress port +// - name: http2 +// port: 80 +// targetPort: 8080 +// # Main HTTPS ingress port +// - name: https +// port: 443 +// targetPort: 8443 +// - name: tls +// port: 15443 +// targetPort: 15443 +// ``` +// +// **Egress**: This example creates an egress gateway named `istio-egressgateway` in the `gloo-mesh-gateways` namespace of two workload clusters, +// (`$REMOTE_CLUSTER1` and `$REMOTE_CLUSTER2`). You supply the Solo Istio revision (`$REVISION`), image tag (`$ISTIO_IMAGE`), and repo key (`$REPO`). +// For more information, see the +// [Block egress traffic with an egress gateway]({{% versioned_link_path fromRoot="/routing/forward-requests/external-service/egress-gateway/" %}}) guide. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: GatewayLifecycleManager +// metadata: +// name: istio-egressgateway +// namespace: gloo-mesh +// spec: +// installations: +// # The revision for this installation +// - gatewayRevision: $REVISION +// # List all workload clusters to install Istio into +// clusters: +// - name: $REMOTE_CLUSTER1 +// # If set to true, the spec for this revision is applied in the cluster +// activeGateway: true +// - name: $REMOTE_CLUSTER2 +// activeGateway: true +// istioOperatorSpec: +// # No control plane components are installed +// profile: minimal +// # Solo.io Istio distribution repository; required for Gloo Istio. +// # You get the repo key from your Solo Account Representative. +// hub: $REPO +// # The Solo.io Gloo Istio version +// tag: $ISTIO_IMAGE +// meshConfig: +// outboundTrafficPolicy: +// mode: REGISTRY_ONLY +// # Enable access logs +// accessLogFile: /dev/stdout +// defaultConfig: +// proxyMetadata: +// # For known hosts, enable the Istio agent to handle DNS requests +// # for any custom ServiceEntry, such as non-Kubernetes services. +// # Unknown hosts are automatically resolved using upstream DNS +// # servers in resolv.conf (for proxy-dns) +// ISTIO_META_DNS_CAPTURE: "true" +// components: +// egressGateways: +// # Enable the egress gateway +// - name: istio-egressgateway +// # Deployed to gloo-mesh-gateways by default +// namespace: gloo-mesh-gateways +// enabled: true +// label: +// # Set a unique label for the gateway. This is required to +// # ensure Gateways can select this workload. +// istio: egressgateway +// app: istio-egressgateway +// traffic: egress +// k8s: +// affinity: +// nodeAffinity: +// requiredDuringSchedulingIgnoredDuringExecution: +// nodeSelectorTerms: +// - matchExpressions: +// - key: kubernetes.io/arch +// operator: In +// values: +// - arm64 +// - amd64 +// env: +// # 'sni-dnat' enables AUTO_PASSTHROUGH mode for east-west communication through the gateway. +// # The default value ('standard') does not set up a passthrough cluster. +// # Required for multi-cluster communication and to preserve SNI. +// - name: ISTIO_META_ROUTER_MODE +// value: "sni-dnat" +// - name: AUTO_RELOAD_PLUGIN_CERTS +// value: "true" +// podAnnotations: +// proxy.istio.io/config: | +// proxyStatsMatcher: +// inclusionRegexps: +// - .*ext_authz.* +// service: +// type: LoadBalancer +// selector: +// istio: egressgateway +// # Default ports +// ports: +// # Port for health checks on path /healthz/ready. +// # For AWS ELBs, this port must be listed first. +// - port: 15021 +// targetPort: 15021 +// name: status-port +// # Port for multicluster mTLS passthrough +// # Required for Gloo egress routing +// - port: 15443 +// targetPort: 15443 +// # Gloo looks for this default name 'tls' on a gateway +// name: tls +// # Required for Istio mutual TLS +// - port: 443 +// targetPort: 8443 +// name: https +// ``` +syntax = "proto3"; + +package admin.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/istio_operator.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// Specifications for the `GatewayLifecycleManager` resource. +message GatewayLifecycleManagerSpec { + + // List of Istio gateway installations. + repeated GatewayInstallation installations = 1; +} + +// Clusters to install the Istio gateways in. +message GatewayClusterSelector { + + // Name of the cluster to install the gateway into. + // Must match the name of the cluster that you used when you registered the cluster with Gloo. + string name = 1; + + // Optional: Defaults to false. + // When set to true, the gateway installation for this revision is applied as the active gateway through which primary service traffic is routed in the cluster. + // If the `istioOperatorSpec` defines a service, this field switches the service selectors to the revision specified in the `gatewayRevsion`. + // You might change this setting for gateway installations during a canary upgrade. + // For more info, see the [upgrade docs](https://docs.solo.io/gloo-mesh-enterprise/main/setup/upgrade/gloo_mesh_managed_upgrade/). + bool active_gateway = 2; + + // Optional: By default, the `trustDomain` value in the `meshConfig` section of the operator spec is automatically set by the Gloo to the name of each workload cluster. + // To override the `trustDomain` for each cluster, you can instead specify the override value by using this `trustDomain` field, + // and include the value in the list of cluster names. For example, if you specify `meshConfig.trustDomain: cluster1-trust-override` in your operator spec, + // you then specify both the cluster name (`name: cluster1`) and the trust domain (`trustDomain: cluster1-trust-override`) in this `installations.clusters` section. + // Additionally, because Gloo requires multiple trust domains for east-west routing, the `PILOT_SKIP_VALIDATE_TRUST_DOMAIN` field is set to `"true"` by default. + // For more info, see the [Istio documentation](https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1). + string trust_domain = 5; +} + +// List of Istio gateway installations. +// Any components that are not related to the gateway are ignored. +// You can provide only one type of gateway installation per revision in a cluster. +// For example, in a workload cluster `cluster2`, you can install only one east-west +// gateway that runs revision `1-19-5`. +message GatewayInstallation { + // Optional: The revision of an Istio control plane in the cluster that this gateway should also use. + // If a control plane installation of this revision is not found, no gateway is created. + string control_plane_revision = 1; + + // Istio revision for this gateway installation. + // When set to `auto`, Gloo installs the gateway with the default supported version of Solo Istio. + string gateway_revision = 2; + + // Clusters to install the Istio gateways in. + repeated GatewayClusterSelector clusters = 3; + + // IstioOperator specification for the gateway. + // For more info, see the [Istio documentation](https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1/). + .common.gloo.solo.io.IstioOperatorSpec istio_operator_spec = 4; + + // When set to true, the lifecycle manager allows you to perform + // in-place upgrades by skipping checks that are required for canary upgrades. + // In production environments, canary upgrades are recommended for + // updating the minor version. To update the patch version or make + // configuration changes within the same version, you can use in-place upgrades. + // Be sure to test in-place upgrades in development or staging environments first. + bool skip_upgrade_validation = 5; +} + +// The status of the `GatewayLifecycleManager` resource after you apply it to your Gloo environment. +message GatewayLifecycleManagerStatus { + + // The list of clusters where Gloo manages Istio gateway installations. + map clusters = 1; + + // The list of clusters where Gloo manages Istio gateway installations. + message ClusterStatuses { + // The Istio gateway installations in the cluster, listed by revision. + map installations = 1; + + // The status of the gateway installation. + message InstallationStatus { + // The current state of the gateway installation. + State state = 1; + + // A human-readable message about the current state of the installation. + string message = 2; + + // The observed revision of the gateway installation. + string observed_revision = 5; + + // The IstioOperator spec that is currently deployed for this revision. + .common.gloo.solo.io.IstioOperatorSpec observed_operator = 4; + + // The current state of the gateway installation. + enum State { + // Waiting for resources to be installed or updated. + PENDING = 0; + + // The Gloo management server encountered a problem while attempting + // to install the gateway. + FAILED = 1; + + // Could not select a istiod control plane. + NO_CONTROL_PLANE_AVAILABLE = 2; + + // The gateway is currently being installed. + INSTALLING_GATEWAY = 3; + + // All Istio components for the gateway are successfully installed and healthy. + HEALTHY = 4; + + // The gateway installation is no longer healthy. + UNHEALTHY = 5; + + // The gateway IstioOperator resource is in an 'ACTION_REQUIRED' state. Check the logs of the IstioOperator deployment for more info. + ACTION_REQUIRED = 6; + + // The gateway IstioOperator resource is in an 'UPDATING' state. + UPDATING_GATEWAY = 7; + + // The gateway IstioOperator resource is in a 'RECONCILING' state. + RECONCILING_GATEWAY = 8; + + // The gateway installation state could not be determined. + UNKNOWN = 9; + + // The gateway is currently being uninstalled. + UNINSTALLING_GATEWAY = 10; + + // The gateway is uninstalled. + UNINSTALLED_GATEWAY = 11; + } + } + } +} + +// $hide_from_docs +message GatewayLifecycleManagerNewStatus { + +} + +// $hide_from_docs +message GatewayLifecycleManagerReport { + +} + diff --git a/api/gloo.solo.io/admin/v2/istio_lifecycle_manager.proto b/api/gloo.solo.io/admin/v2/istio_lifecycle_manager.proto new file mode 100644 index 000000000..5b20fec81 --- /dev/null +++ b/api/gloo.solo.io/admin/v2/istio_lifecycle_manager.proto @@ -0,0 +1,266 @@ +// Use Gloo Platform to install Istio control planes in your workload clusters, +// as part of the Istio lifecycle management. +// In your `IstioLifecycleManager` resource, you provide `istiod` settings in an `IstioOperator` configuration. +// When you create the `IstioLifecycleManager` in your management cluster, Gloo translates the configuration +// into `istiod` control planes in your registered workload clusters for you. +// +// For more information, see the [Install Istio by using the Istio Lifecycle Manager]({{% versioned_link_path fromRoot="/setup/install/gloo_mesh_managed/" %}}) guide. +// +// **Example**: This example creates an `istiod` control plane in the `istio-system` namespace of two workload clusters +// (`$REMOTE_CLUSTER1` and `$REMOTE_CLUSTER2`). You supply the Solo Istio revision (`$REVISION`), image tag (`$ISTIO_IMAGE`), +// and repo key (`$REPO`). +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: IstioLifecycleManager +// metadata: +// name: istiod-control-plane +// namespace: gloo-mesh +// spec: +// installations: +// # The revision for this installation +// - revision: $REVISION +// # List all workload clusters to install Istio into +// clusters: +// - name: $REMOTE_CLUSTER1 +// # If set to true, the spec for this revision is applied in the cluster +// defaultRevision: true +// - name: $REMOTE_CLUSTER2 +// defaultRevision: true +// istioOperatorSpec: +// # Only the control plane components are installed +// # (https://istio.io/latest/docs/setup/additional-setup/config-profiles/) +// profile: minimal +// # Solo.io Istio distribution repository; required for Solo Istio. +// # You get the repo key from your Solo Account Representative. +// hub: $REPO +// # Any Solo Istio tag +// tag: $ISTIO_IMAGE +// namespace: istio-system +// # Mesh configuration +// meshConfig: +// # Enable access logging only if using. +// accessLogFile: /dev/stdout +// # Encoding for the proxy access log (TEXT or JSON). Default value is TEXT. +// accessLogEncoding: JSON +// # Enable span tracing only if using. +// enableTracing: true +// defaultConfig: +// # Wait for the istio-proxy to start before starting application pods +// holdApplicationUntilProxyStarts: true +// proxyMetadata: +// # For known hosts, enable the Istio agent to handle DNS requests for any custom ServiceEntry, such as non-Kubernetes services. +// # Unknown hosts are automatically resolved using upstream DNS servers in resolv.conf (for proxy-dns) +// ISTIO_META_DNS_CAPTURE: "true" +// # Set the default behavior of the sidecar for handling outbound traffic +// # from the application +// outboundTrafficPolicy: +// mode: ALLOW_ANY +// # The administrative root namespace for Istio configuration +// rootNamespace: istio-system +// # Set to the cluster name by default. +// trustDomain: ${CLUSTER_NAME} +// # Traffic management +// components: +// pilot: +// k8s: +// env: +// # Disable selecting workload entries for local service routing, so that Kubernetes +// # will not automatically match services to workload entries with matching selector labels. +// # Required for Gloo Mesh VirtualDestination functionality. +// # For more info, see https://istio.io/latest/docs/reference/commands/pilot-discovery/ +// - name: PILOT_ENABLE_K8S_SELECT_WORKLOAD_ENTRIES +// value: "false" +// # Skip the validation step for mTLS within the cluster. +// # This approach is not recommended if you integrated Istio with your own CA, +// # but is useful for PoCs or demos in which you use self-signed certificates. +// - name: PILOT_SKIP_VALIDATE_TRUST_DOMAIN +// value: "true" +// # Helm values overrides +// values: +// global: +// multiCluster: +// # Set to the cluster name by default. +// clusterName: $CLUSTER_NAME +// ``` +syntax = "proto3"; + +package admin.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "k8s.io/api/core/v1/generated.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/istio_operator.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// Specifications for the `IstioLifecycleManager` resource. +message IstioLifecycleManagerSpec { + // List of Istio control plane installations. + repeated IstioInstallation installations = 1; +} + +// Clusters to install the Istio control planes in. +message IstioClusterSelector { + + // Name of the cluster to install Istio into. + // Must match the name of the cluster that you used when you registered the cluster with Gloo. + string name = 1; + + // Optional: Defaults to false. + // When set to true, the installation for this revision is applied as the active Istio installation in the cluster. + // Resources with the `istio-injection=true` label entry use this revision. You might change this setting for Istio installations + // during a canary upgrade. For more info, see the [upgrade docs](https://docs.solo.io/gloo-mesh-enterprise/main/setup/upgrade/gloo_mesh_managed_upgrade/). + bool default_revision = 2; + + // Optional: By default, the `trustDomain` value in the `meshConfig` section of the operator spec is automatically set by the Gloo to the name of each workload cluster. + // To override the `trustDomain` for each cluster, you can instead specify the override value by using this `trustDomain` field, + // and include the value in the list of cluster names. For example, if you specify `meshConfig.trustDomain: cluster1-trust-override` in your operator spec, + // you then specify both the cluster name (`name: cluster1`) and the trust domain (`trustDomain: cluster1-trust-override`) in this `installations.clusters` section. + // Additionally, because Gloo requires multiple trust domains for east-west routing, the `PILOT_SKIP_VALIDATE_TRUST_DOMAIN` field is set to `"true"` by default. + // For more info, see the [Istio documentation](https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1). + string trust_domain = 5; +} + +message IstioController { + // The amount of time to wait for resources in a component to become ready before giving up. Configured using a duration string. + // A duration string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, + // such as "300ms" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". + string wait_for_resources_timeout = 1; + + // Names of image pull secrets to use to deploy the Istio controller. + // For more info, see the [Kubernetes docs](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-pod-that-uses-your-secret). + repeated .k8s.io.api.core.v1.LocalObjectReference image_pull_secrets = 2; + + // Override for resources allocated to the Istio controller deployment. + // For more info, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#example-1). + .common.gloo.solo.io.Resources resources = 3; + + // Override for the pod's security context. For more info, see the + // [Kubernetes documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core). + .k8s.io.api.core.v1.SecurityContext security_context = 4; + + // Kubernetes pod/deployment/service labels. + map labels = 5; + + // Kubernetes pod/deployment/service annotations. + map annotations = 6; + + // Deployment environment variables. For more info, see the + // [Kubernetes docs](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/). + repeated .k8s.io.api.core.v1.EnvVar env_vars = 7; +} + +// List of Istio control plane installations. +// Any components that are NOT related to the control plane are ignored. +message IstioInstallation { + // Istio revision for this installation. + // Label workload resources with 'istio.io/rev=$REVISION' to use this installation. + // When set to `auto`, Gloo installs the control plane with the default supported version of Solo Istio. + string revision = 1; + + // Clusters to install the Istio control planes in. + repeated IstioClusterSelector clusters = 2; + + // IstioOperator specification for the control plane. + // For more info, see the [Istio documentation](https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1/). + .common.gloo.solo.io.IstioOperatorSpec istio_operator_spec = 3; + + // Optional configuration to tune the deployment of the IstioOperator controller deployed to each workload cluster. + IstioController istio_controller = 4; + + // When set to true, the lifecycle manager allows you to perform + // in-place upgrades by skipping checks that are required for canary upgrades. + // In production environments, canary upgrades are recommended for + // updating the minor version. To update the patch version or make + // configuration changes within the same version, you can use in-place upgrades. + // Be sure to test in-place upgrades in development or staging environments first. + bool skip_upgrade_validation = 5; +} + +// The status of the `IstioLifecycleManager` resource after you apply it to your Gloo environment. +message IstioLifecycleManagerStatus { + + // The list of clusters where Gloo manages Istio installations. + map clusters = 1; + + // The list of clusters where Gloo manages Istio installations. + message ClusterStatuses { + // The Istio installations in the cluster, listed by revision. + map installations = 1; + + // The status of the installation. + message InstallationStatus { + // The current state of the Istio installation. + State state = 1; + + // A human readable message about the current state of the installation. + string message = 2; + + // The observed revision of the Istio installation. + string observed_revision = 5; + + // The IstioOperator spec that is currently deployed for this revision. + .common.gloo.solo.io.IstioOperatorSpec observed_operator = 4; + + // The current state of the Istio installation. + enum State { + // Waiting for resources to be installed or updated. + PENDING = 0; + + // The Gloo management server encountered a problem while attempting + // to install Istio. + FAILED = 1; + + // The controller is currently being installed. + INSTALLING_CONTROLLER = 2; + + // The controller failed to install. + CONTROLLER_INSTALL_FAILED = 3; + + // The Istio control plane is currently being installed. + INSTALLING_CONTROL_PLANE = 4; + + // The Istio control plane failed to install. + CONTROL_PLANE_INSTALL_FAILED = 5; + + // All Istio components are successfully installed and healthy. + HEALTHY = 6; + + // The Istio installation is no longer healthy. + UNHEALTHY = 7; + + // The control plane IstioOperator resource is in an 'ACTION_REQUIRED' state. Check the logs of the IstioOperator deployment for more info. + ACTION_REQUIRED = 8; + + // The control plane IstioOperator resource is in an 'UPDATING' state. + UPDATING_CONTROL_PLANE = 9; + + // The control plane IstioOperator resource is in a 'RECONCILING' state. + RECONCILING_CONTROL_PLANE = 10; + + // The control plane installation state could not be determined. + UNKNOWN = 11; + + // The Istio control plane is currently being uninstalled. + UNINSTALLING_CONTROL_PLANE = 12; + + // The Istio control plane is uninstalled. + UNINSTALLED_CONTROL_PLANE = 13; + } + } + } +} + +// $hide_from_docs +message IstioLifecycleManagerNewStatus { + +} + +// $hide_from_docs +message IstioLifecycleManagerReport { + +} diff --git a/api/gloo.solo.io/admin/v2/kubernetes_cluster.proto b/api/gloo.solo.io/admin/v2/kubernetes_cluster.proto new file mode 100644 index 000000000..bb75dc5b8 --- /dev/null +++ b/api/gloo.solo.io/admin/v2/kubernetes_cluster.proto @@ -0,0 +1,63 @@ +syntax = "proto3"; + +package admin.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// `KubernetesCluster` defines a Kubernetes cluster that has been registered with Gloo Mesh for management. +// A KubernetesCluster must be created in order to connect the Gloo Mesh Agent +// with the Gloo Mesh Server. +// KubernetesCluster must be deployed to the management cluster in the `gloo-mesh` namespace. +// The name of the KubernetesCluster has to be unique among all managed workload clusters for a +// given Gloo Mesh management plane. +// The name or/and labels of a KubernetesCluster resource can be used in a Workspace resource to determine +// the workload clusters for a given workspace. +// +// The following example show a simple KubernetesCluster resource named `cluster1` with `cluster.local` +// as its cluster domain: +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: KubernetesCluster +// metadata: +// name: cluster1 +// namespace: gloo-mesh +// spec: +// clusterDomain: cluster.local +// ``` +// +// The following example adds the region label to the KubernetesCluster resource: +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: KubernetesCluster +// metadata: +// name: cluster1 +// namespace: gloo-mesh +// labels: +// region: us-east +// spec: +// clusterDomain: cluster.local +// ``` +// +message KubernetesClusterSpec { + // Optional: The cluster domain suffix this Cluster is configured with. Defaults to 'cluster.local'. + string cluster_domain = 1; +} + +// // The status of the KubernetesCluster after it is applied to your Gloo environment. +message KubernetesClusterStatus { + // Indicates the state of the Gloo agent that is connected to the Gloo management server. + .common.gloo.solo.io.Status common = 1; +} + +// The resources that the applied resource selects. +message KubernetesClusterReport { + .common.gloo.solo.io.State state = 1; +} diff --git a/api/gloo.solo.io/admin/v2/ratelimit_server_config.proto b/api/gloo.solo.io/admin/v2/ratelimit_server_config.proto new file mode 100644 index 000000000..bc6d0fb89 --- /dev/null +++ b/api/gloo.solo.io/admin/v2/ratelimit_server_config.proto @@ -0,0 +1,65 @@ +syntax = "proto3"; +package admin.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/rate-limiter/v1alpha1/ratelimit.proto"; +import "google/api/field_behavior.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// RateLimitServerConfig is used to configure the ratelimit rules enforced by the server. +// All RateLimitPolicy resources in a workspace require a RateLimitServerConfig to in order to configure ratelimit rules. +// If no RateLimitServerConfig is provided, no ratelimit rules will be enforced. +message RateLimitServerConfigSpec { + + // This object used to specify rate limit policies using the raw configuration formats + // enforced by the ratelimit server. When using this configuration type, it is up to + // the user to ensure that server and client configurations match to implement the desired behavior. + message Raw { + + // The descriptors that will be applied to the server. + // {{/* Note: validation of this field disabled because it slows down cue tremendously*/}} + repeated .ratelimit.api.solo.io.Descriptor descriptors = 1 [(.solo.io.cue.opt).disable_openapi_validation = true]; + + // The set descriptors that will be applied to the server. + // {{/* Note: validation of this field disabled because it slows down cue tremendously*/}} + repeated .ratelimit.api.solo.io.SetDescriptor set_descriptors = 2 [(.solo.io.cue.opt).disable_openapi_validation = true]; + + } + + // Each `RateLimitServerConfig` is an instance of one specific configuration type. + // Currently, only raw configuration is supported, but going forward we are planning on adding + // more high-level configuration formats to support specific use cases. + oneof config_type { + // Define a policy using the raw configuration format used by the ratelimit server. + Raw raw = 1; + } + + // Required field to specify the ratelimit servers that will enforce the defined descriptors. + repeated .common.gloo.solo.io.DestinationReference destination_servers = 4 [(google.api.field_behavior) = REQUIRED]; + +} + +// The current status of the `RateLimitServerConfig`. +message RateLimitServerConfigStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of ratelimit servers for which server config was translated. + uint32 num_selected_destination_servers = 2; +} + +message RateLimitServerConfigReport { + .common.gloo.solo.io.Report report = 1; + + // A list of ratelimit servers for which server config was translated. + repeated .common.gloo.solo.io.DestinationReference selected_destination_servers = 2; +} diff --git a/api/gloo.solo.io/admin/v2/ratelimit_server_settings.proto b/api/gloo.solo.io/admin/v2/ratelimit_server_settings.proto new file mode 100644 index 000000000..f2b24fcdb --- /dev/null +++ b/api/gloo.solo.io/admin/v2/ratelimit_server_settings.proto @@ -0,0 +1,52 @@ +syntax = "proto3"; + +package admin.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "google/protobuf/duration.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// RateLimitServerSettings is an optional resource used to configure how a client (i.e. a sidecar or gateway proxy) connects to a rate limit server. +// If no RateLimitServerSetting is selected in a RatelimitPolicy, a default configuration will be used. +message RateLimitServerSettingsSpec { + // The ratelimit service to ask about ratelimit decisions. + // The provided reference will be used to search for a service of the given name/namespace on the cluster + // the traffic policy is applied on + // + // If omitted, Gloo Mesh will search for a service with the name rate-limiter in the gloo-mesh namespace. + .common.gloo.solo.io.DestinationReference destination_server = 1; + + // The timeout in milliseconds for the rate limit service RPC. Defaults to 100ms. + // Behaviour after request timeout is reached is set by `deny_on_fail`. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration request_timeout = 2; + + // Behaviour in case the rate limiting service does not respond back. + // When it is set to true, Envoy will not allow traffic in case of communication failure between rate limiting service and the proxy. + // Defaults to false + bool deny_on_fail = 3; + +} + +// +// The current status of the `RateLimitServerSettings`. +message RateLimitServerSettingsStatus { + + // The most recent generation observed in the RateLimitServerSettings metadata. + // If the `observedGeneration` does not match `metadata.generation`, + // Gloo Mesh has not processed the most recent version of this resource. + int64 observed_generation = 1; + + // Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. + .common.gloo.solo.io.ApprovalState state = 2; + +} diff --git a/api/gloo.solo.io/admin/v2/root_trust_policy.proto b/api/gloo.solo.io/admin/v2/root_trust_policy.proto new file mode 100644 index 000000000..f951ce8b9 --- /dev/null +++ b/api/gloo.solo.io/admin/v2/root_trust_policy.proto @@ -0,0 +1,84 @@ +syntax = "proto3"; + +package admin.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/tls/ca_options.proto"; +import "github.com/solo-io/skv2/api/core/v1/core.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// RootTrustPolicy is used to designate the root of trust, including the trust domain and root certificates used by one or more service meshes. +// A shared RootTrustPolicy is currently required to support communication between workloads and destinations running in different meshes. In the future Gloo Mesh will support cross-mesh connectivity using a Limited Trust model (where participating meshes are permitted to use separate roots of trust). +message RootTrustPolicySpec { + + // select the meshes where the root of trust will be applied. + // If empty, will apply to all Meshes in the workspace. + repeated .common.gloo.solo.io.MeshSelector apply_to_meshes = 1; + + // The details of the root of trust to apply to the selected meshes. + Config config = 2; + + message Config { + + // different options for choosing the CA used to provide the root cert + oneof certificate_authority_type { + + // Configure a Root Certificate Authority which will be shared by all Meshes associated with this RootTrustPolicy. + // If this is not provided, a self-signed certificate will be generated by Gloo Mesh. + MgmtServerCertificateAuthority mgmt_server_ca = 1; + + // Configures an Intermediate Certificate Authority which selected meshes will use to generate intermediate certificates. + // The CA being used must be configured to generate the intermediate certificates. + .tls.security.policy.gloo.solo.io.AgentCertificateAuthority agent_ca = 2; + } + + // Configuration options for generated intermediate certs. + .tls.security.policy.gloo.solo.io.CommonCertOptions intermediate_cert_options = 3; + + // This setting specifies whether or not workload pods should be automatically restarted + // upon completion of a successful certificate issuance. + bool auto_restart_pods = 4; + + // Specify parameters for configuring the root certificate authority for a RootTrustPolicy. + message MgmtServerCertificateAuthority { + + // Specify the source of the Root CA data which Gloo Mesh will use for the RootTrustPolicy. + oneof ca_source { + + // Generate a self-signed root certificate with the given options. + .tls.security.policy.gloo.solo.io.CommonCertOptions generated = 1; + + // Name of a Kubernetes Secret in the same namespace as the RootTrustPolicy containing the root certificate authority. + // Provided certificates must conform to a specified format, [documented here]({{< versioned_link_path fromRoot="/setup/prod/certs/relay/" >}}). + .core.skv2.solo.io.ObjectRef secret_ref = 2; + + } + } + + // Configure a Root Certificate Authority which will be used for validating certificates, but not signing them. + // This CA can be used to rotate out expiring root certificates. + repeated MgmtServerCertificateAuthority passive_certificate_authorities = 5; + } +} + +// +// The status of the policy after it is applied to your Gloo environment. +message RootTrustPolicyStatus { + + // The most recent generation observed in the object's metadata. + // If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most + // recent version of this object. + int64 observed_generation = 1; + + // Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. + .common.gloo.solo.io.ApprovalState state = 2; + + // @exclude TODO(ilackarms): should we also show other qualities of the policy? e.g. where it is applied? +} diff --git a/api/gloo.solo.io/admin/v2/workspace.proto b/api/gloo.solo.io/admin/v2/workspace.proto new file mode 100644 index 000000000..3d8e045e6 --- /dev/null +++ b/api/gloo.solo.io/admin/v2/workspace.proto @@ -0,0 +1,174 @@ +syntax = "proto3"; + +package admin.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// `Workspace` describes a logical grouping of Kubernetes namespaces within the clusters that are part of +// a virtual mesh. Workspace can be treated as a boundary for configuration and service discovery. +// The specification describes how to select namespaces or/and clusters for a given workspace. +// +// The workspace-wide settings such as `importFrom`, `exportTo` are configured in the `WorkspaceSettings` +// object. Refer to the `WorkspaceSettings` documentation for details. +// +// The following example creates the `web` workspace that selects all workload clusters and all namespaces +// within those clusters to be part of the workspace. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Workspace +// metadata: +// name: web +// namespace: gloo-mesh +// spec: +// workloadClusters: +// - name: "*" +// namespaces: +// - name: "*" +// ``` +// +// The following configuration creates the `web` workspace that selects the `web` namespace from all workload +// clusters that have the label of `region: us-east` to be part of the workspace. Refer to the `KubernetesCluster` +// documentation for examples on how to label your KubernetesCluster resource. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Workspace +// metadata: +// name: web +// namespace: gloo-mesh +// spec: +// workloadClusters: +// - selector: +// region: us-east +// namespaces: +// - name: web +// ``` +// +// The following example creates the `policy` namespace that does NOT have any workload clusters. +// This workspace also has the `gloo.solo.io/global` label which other workspaces +// can use to import this workspace by label in their `WorkspaceSettings` resource. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Workspace +// metadata: +// name: policy +// namespace: gloo-mesh +// labels: +// gloo.solo.io/global: 'true' +// ``` +// +// The example below creates the `backend` workspace that select any namespace that starts with `ns1` in `cluster1` +// and any namespace that starts with `ns2` in `cluster2`. It has the `gloo.solo.io/exportToGateway` label, +// which other workspaces can use to import this workspace by label in their `WorkspaceSettings` resource. +// Refer to the `KubernetesCluster` documentation for examples on how to name your KubernetesCluster resource. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Workspace +// metadata: +// name: backend +// namespace: gloo-mesh +// labels: +// gloo.solo.io/exportToGateway: tier1 +// team: backend +// spec: +// workloadClusters: +// - name: cluster1 +// namespaces: +// - name: ns1* +// - name: cluster2 +// namespaces: +// - name: ns2* +// ``` +// +message WorkspaceSpec { + + // Optional: Select workload clusters and namespaces for the workload clusters that are part of the workspace. + // When this is not specified, the workspace contains no workload clusters. + repeated .common.gloo.solo.io.ClusterSelector workload_clusters = 2; +} + +message WorkspaceStatus { + + // The state and workspace conditions of the applied policy. + .common.gloo.solo.io.Status common = 1; + + // The workspacesettings object configuring this workspace. + .common.gloo.solo.io.ObjectReference workspace_settings = 2; + + // The number of selected Kubernetes clusters. + uint32 num_selected_clusters = 3; + + // The number of selected namespaces. + uint32 num_selected_namespaces = 4; + + // The number of resources that the workspace imports and exports, sorted by type (imported, exported, private). + map num_resources = 5; + + // The number of policy resources in this workspace, sorted by type (security, trafficcontrol, resilience, observability). + map policy_counts = 6; + + // The number of destination resources in this workspace, sorted by type (Kubernetes service, virtual destination, external service). + map destination_counts = 7; + + // The number of workspaces imported into this workspace. + uint32 num_imported_workspaces = 8; + + // $hide_from_docs + message SourceType { + uint32 imported = 1; + uint32 exported = 2; + uint32 private = 3; + } +} + +message WorkspaceReport { + .common.gloo.solo.io.Report report = 1; + + // The workspacesettings object configuring this workspace. + .common.gloo.solo.io.ObjectReference workspace_settings = 2; + + // A list of clusters that this workspace selects. These cluster objects contain the namespaces that the workspace owns within them. + repeated SelectedCluster selected_clusters = 3; + + // Represents a cluster that was successfully associated to a workspace based on the WorkspaceSpec. + message SelectedCluster { + // Name of a cluster that this workspace selects. + string name = 1; + + // Namespaces inside the cluster that this workspace owns. + repeated string namespaces = 2; + } + + // A list of resources that the workspace imports and exports, sorted by type (imported, exported, private). + map resources = 4; + + // A reference of policy resources in this workspace, sorted by type (security, trafficcontrol, resilience, observability). + map policy_counts = 5; + + // A refernce of destination resources in this workspace, sorted by type (Kubernetes service, virtual destination, external service) + map destination_counts = 6; + + // A list of workspaces from which resources are imported into this workspace. + repeated string imported_workspaces = 7; + + // Represents whether a resource is imported, exported, or private to a workspace. + message SourceType { + ObjectReferences imported = 1; + ObjectReferences exported = 2; + ObjectReferences private = 3; + } + + // Represents a list of object references. + message ObjectReferences { + repeated .common.gloo.solo.io.ObjectReference object_references = 1; + } +} diff --git a/api/gloo.solo.io/admin/v2/workspace_settings.proto b/api/gloo.solo.io/admin/v2/workspace_settings.proto new file mode 100644 index 000000000..02ceb21d2 --- /dev/null +++ b/api/gloo.solo.io/admin/v2/workspace_settings.proto @@ -0,0 +1,365 @@ +syntax = "proto3"; + +package admin.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/clientmode.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/enforcement_layers.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/port.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// `WorkspaceSettings` define a set of workspace-wide parameters such as `importFrom` and `exportTo` for the workspace. +// These settings are commonly defined by the workspace admin. There are 3 key configurations related to `WorkspaceSettings`: +// +// - importFrom: To import resources from another workspace to your workspace, configure the +// `importFrom` field in the `WorkspaceSettings` resource for your workspace. +// +// - exportTo: To export resources in your workspace to other workspaces, configure the `exportTo` +// field in the `WorkspaceSettings` resource for your workspace. +// +// - options: Configure service isolation, federation, proxy trimming and other options for the workspace. +// +// You can specify your workspace's `importFrom` or `exportTo` or other workspace configuration options in your +// `WorkspaceSettings` resource for your workspace. Only one `WorkspaceSettings` resource can be defined for +// each workspace. The resource can be deployed to any of your workspace's namespaces in your workload cluster(s). +// +// Export: +// Only the resources below can be exported to other workspaces: +// - Kubernetes Service +// - VirtualDestination +// - ExternalService +// - RouteTable +// - ApiDoc +// - GraphQLResolverMap +// - GraphQLSchema +// - GraphQLStitchedSchema +// +// You can use the `exportTo` field in the `WorkspaceSettings` resource for the workspace to configure what resources +// are exported to which other workspaces. For example, the `web` application developer can export the RouteTable resource +// from the `web` workspace to an admin-owned gateway workspace. +// +// The following workspace example defines the `backend` workspace. The workspace settings example +// exports the `backend` workspace to any workspaces that matches the label `team: web`. +// In addition, all exported resources from the `backend` workspace are made available +// for any workspace that has the label `team: web` to import. +// +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Workspace +// metadata: +// name: backend +// namespace: gloo-mesh +// labels: +// team: backend +// spec: +// workloadClusters: +// - namespaces: +// - name: backend* +// --- +// apiVersion: admin.gloo.solo.io/v2 +// kind: WorkspaceSettings +// metadata: +// name: default +// namespace: backend-namespace +// spec: +// exportTo: +// - workspaces: +// - selector: +// team: web +// ``` +// +// Import: +// To import exported resources from other workspaces, configure the `importFrom` field in +// the `WorkspaceSettings` resource for your workspace. +// +// For example, by importing the `web` workspace, the admin-owned gateway workspace can delegate routing for a subset +// of the gateway traffic to a RouteTable resource in the `web` workspace. +// +// The following workspace defines the `web` workspace. The workspace settings example imports +// the exported resources from the `backend` workspace into the `web` workspace. The exported resources from the +// `backend` workspace is available to the `web` workspace for imports because the `web` workspace +// has the `team:web` label. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Workspace +// metadata: +// name: web +// namespace: gloo-mesh +// labels: +// team: web +// spec: +// workloadClusters: +// - namespaces: +// - name: web* +// --- +// apiVersion: admin.gloo.solo.io/v2 +// kind: WorkspaceSettings +// metadata: +// name: default +// namespace: web-namespace +// spec: +// importFrom: +// - workspaces: +// - name: backend +// ``` +// +// The following example imports any workspaces that are available for the `web` workspace to import and +// has the `team: backend` label into the `web` workspace. After this is deployed +// in the `web-namepsace` namespace of a given workload cluster that are part of the workspace, +// all exported resources from the `backend` workspaces which has the label `team: backend` +// are imported into the `web` workspace and available for use by anything in the `web` workspace. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: WorkspaceSettings +// metadata: +// name: default +// namespace: web-namepsace +// spec: +// importFrom: +// - workspaces: +// - selector: +// team: backend +// ``` +// +// To create global workspace settings that apply to all namespaces in all clusters, you can create a +// WorkspaceSettings resource named `global` in the admin namespace, which is typically `gloo-mesh`. +// If you have multiple workspaces, you must still create one WorkspaceSettings resource per workspaces. +// However, global workspace settings override settings defined in individual workspaces. +message WorkspaceSettingsSpec { + + // Select the workspaces whose objects will be imported into this workspace. + // Objects must both be exported by the workspace that is being imported and imported into this workspace in order to be shared across workspaces. + // Imported objects allow the creation of routes and outbound-communication from one workspace to another. + // Currently the following types of objects can be imported across workspaces: Kubernetes services, virtual destinations, external destinations, route tables, + // API schemas, and GraphQL resolver maps. + // You can select workspace using labels, such as setting `importFrom.workspaces.selector` to `team: backend`. + // Or select workspace name using exact name match, such as setting `importFrom.workspaces.name` to `backend`. + // Or select workspace using labels and name using simple regex, such as setting `importFrom.workspaces.selector` to `team: backend` and `importFrom.workspaces.name` to `backend*`. + repeated WorkspaceObjectSelector importFrom = 1; + + // A workspace can specify resources to export for use by other workspaces. + // Currently the following types of objects can be exported across workspaces: Kubernetes services, virtual destinations, external destinations, route tables, + // API schemas, and GraphQL resolver maps. + // You can select workspace using labels, such as setting `exportTo.workspaces.selector` to `team: backend`. + // Or select workspace name using exact name match, such as setting `exportTo.workspaces.name` to `backend`. + // Or exportTo all other workspaces, such as setting `exportTo.workspaces.name` to `*`. + // Or select workspace using labels and name using simple regex, such as setting `exportTo.workspaces.selector` to `team: backend` and `team: backend*`. + // Or select workspace name using labels or select name using simple regex, such as setting `exportTo.workspaces.selector` to `team: backend` and `exportTo.workspaces.name` to `backend`. + repeated WorkspaceObjectSelector exportTo = 2; + + // Options for configuring the workspace as a whole. + Options options = 3; + + // Select a set of resources from a set of workspaces for import or export. + message WorkspaceObjectSelector { + + // the workspaces with the resources to export to or import. + repeated .common.gloo.solo.io.WorkspaceSelector workspaces = 1; + + // the resources (and types of those resources) which will be imported from or exported to the selected workspaces. + repeated TypedObjectSelector resources = 2; + + // selects objects of various types + message TypedObjectSelector { + // The type of the resource to import or export. + // The type must be a valid importable/exportable Kubernetes or Gloo Mesh resource type. + // Supported types: `RouteTable`, `Service`, `VirtualDestination`, `ExternalService`, `ApiDoc`, `GraphQLResolverMap`, `GraphQLSchema`, `GraphQLStitchedSchema`, `All` (all types). + ObjectKind kind = 1; + + // labels matching those of the object + map labels = 2; + + // Only select objects exactly matching the name. If omitted, Gloo selects + // matching objects with any name available in the workspace. + string name = 3; + + // Only select objects exactly matching the namespace. If omitted, Gloo selects + // matching objects across all namespaces available in the workspace. + string namespace = 4; + + // Only select objects in the exactly matching cluster. If omitted, Gloo selects + // matching objects across all clusters available in the workspace. + string cluster = 5; + + enum ObjectKind { + // Select objects of all types. + ALL = 0; + + // Select RouteTable objects. + ROUTE_TABLE = 1; + + // Select Service objects. + SERVICE = 2; + + // Select VirtualDestination objects. + VIRTUAL_DESTINATION = 3; + + // Select ExternalService objects. + EXTERNAL_SERVICE = 4; + + // Select ApiDoc objects. Please note that explicit import/export + // is only necessary for GraphQL ApiDocs that are referenced in + // graphql routes. ApiDocs that are used only in the context of the + // portal features (currently only OpenAPI ones) are implicitly + // imported/exported together with their corresponding destination, + // i.e. if a destination (e.g. a service) is visible to a RouteTable, + // the ApiDoc associated with it will be available when the RouteTable + // is referenced in a Portal. + API_DOC = 5; + + // Select GraphQLResolverMap objects. + GRAPHQL_RESOLVER_MAP = 6; + + // Select GraphQLSchema objects. + GRAPHQL_SCHEMA = 7; + + // Select GraphQLStitchedSchema objects. + GRAPHQL_STITCHED_SCHEMA = 8; + + // Select ExternalWorkload objects. + EXTERNAL_WORKLOAD = 9; + } + } + } + + message Options { + // If Enabled, serviceIsolation will automatically block communication from non-importing workspaces into this one, enforced using mTLS. + // Applying AccessPolicies to destinations in this workspace will override the default service isolation behavior. + ServiceIsolation service_isolation = 1; + + // Federation is a feature which allows Kubernetes Services to directly communicate with each other across clusters + // using generated hostnames. When enabled, federation will generate a hostname for each Service selected, which is + // reachable by all network clients in the workspace. + // Federation allows routes to be created in RouteTables which forward traffic across clusters. These routes will otherwise + // be treated by Gloo Mesh as errors. + Federation federation = 2; + + // Selects the eastwest gateways in a workspace. These options are used to select which gateways + // should be used to route East-West traffic. This traffic can be either passthrough TLS or terminated at the + // EastWest Gateway. A different port is expected in each case. The `virtual_dest_client_mode` field provides additional + // information related to this traffic. + // If no gateways are selected, an attempt will be made to match any service with the label `"istio": "eastwestgateway"` + // with ports named either "tls" or "https". The selection will fail with an error if the label exists but neither of the + // ports are defined. + repeated EastWestGatewaySelector east_west_gateways = 3; + + // Optional: Virtual destination client mode determines how VirtualDestinations will be translated. + // If nil, the default value of auto mode will be used. Any configuration here can be overriden + // on any individual virtual destination. The settings defined here apply to both user-provided + // VirtualDestinations and those generated internally when federation is enabled. + .common.gloo.solo.io.ClientMode virtual_dest_client_mode = 4; + + // When enabled, trim all proxy config in the workspace to eliminate outbound destinations. + // Without the outbound destination config, the Istio sidecar proxies cannot talk to other destinations in the workspace by default. + // You can add back in the proxy config for all destinations within or imported to the workspace by enabling the `serviceIsolation.trimProxyConfig` setting. + // To select specific destinations that you want the sidecar proxies to talk to, add these destinations with a `TrimProxyConfigPolicy`. + // This way, you reduce the size of the proxy config to improve performance and have fine-grained control over the allowed destinations. + bool trim_all_proxy_config = 5; + + message ServiceIsolation { + // Automatically enables strict mTLS and blocks any access from non-importing workspaces into any destination in the current workspaces. + // Default value is disabled. + bool enabled = 1; + + // When enabled, proxy config will be trimmed to eliminate unnecessary config updates. + // In Istio this will be implemented using the Sidecar resource. + google.protobuf.BoolValue trim_proxy_config = 2; + + // Optional: When NetworkPolicy translation is enabled, by default, all available layers will be used to enforce Service Isolation. + // You can optionally explicitly define which available layers will enforce Service Isolation. Only the layers set here will be used. + .common.gloo.solo.io.EnforcementLayers enforcement_layers = 3; + } + + message Federation { + // Enables the federation feature for selected Kubernetes services in the workspace. + // Default value is disabled. + bool enabled = 1; + + // Optional: The suffix used for generated hostnames. Hostnames will be generated for each selected service in the format `{{ service name }}.{{ service namespace }}.{{ service cluster }}.{{ host suffix }}`. + string host_suffix = 2; + + // Selector for the K8s services that will be exposed to cross-cluster traffic within the Workspace. + // Federated hostnames will be generated for selected imported services. + repeated .common.gloo.solo.io.ObjectSelector service_selector = 3; + + // if provided, expose only selected ports to cross-cluster traffic. + repeated .common.gloo.solo.io.PortSelector ports = 4; + } + + message EastWestGatewaySelector { + // Evaluated against the discovered Istio gateway services. + // When this field is blank, gateway services will be matched using the default labels described + // on the `east_west_gateways` field. + .common.gloo.solo.io.ObjectSelector selector = 1; + + // Used to match tls port on gateway service. + // Traffic on this port will be used for passthrough TLS, as described on the `virtual_dest_client_mode` field. + // Default matches ports named "tls". + // Matching is done by both the port name as well as the port number. + // A match is required for either `port` or `tls_termination_port`, otherwise an error will be reported. + .common.gloo.solo.io.PortSelector port = 2; + + // Used to match tls termination port on gateway service. + // Traffic on this port will be used for TLS-terminated traffic, as described on the `virtual_dest_client_mode` field. + // Default matches ports named "https". + // Matching is done by both the port name as well as the port number. + // A match is required for either `port` or `tls_termination_port`, otherwise an error will be reported. + .common.gloo.solo.io.PortSelector tls_termination_port = 4; + + // Host information for an east-west gateway. Can be used to specify a set of routable + // destinations that proxy traffic back to the east-west gateway selected + // by the selector. Useful when a load balancer external to the mesh is being + // used. When using this feature, be careful to ensure that the selectors are + // granular enough to ensure that the correct HostInfo is mapped to the proper gateway. + repeated HostInfo host_info_overrides = 3; + + // Specify Host Info to override discovered routing information for an east-west gateway. + message HostInfo { + // Address to be used to direct traffic to instead of the default gateway discovered address. + // Can be an IP address or hostname. + string addr = 1; + + // Port to be used to direct traffic to instead of the default gateway discovered port. + uint32 port = 2; + } + } + } +} + +message WorkspaceSettingsStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The workspace that this workspacesettings object configures. + .common.gloo.solo.io.ObjectReference workspace = 2; + + // The number of selected east-west gateways determined by the EastWestGatewaySelector. + uint32 num_selected_east_west_gateways = 3; + + // The number of services federated to this workspace, determined by the workspace settings configuration. + uint32 num_federated_services = 4; +} + +message WorkspaceSettingsReport { + map workspaces = 1; + + // The workspace that this workspacesettings object configures. + .common.gloo.solo.io.ObjectReference workspace = 2; + + // A list of selected east-west gateways determined by the EastWestGatewaySelector. + // The GVK of selected_east_west_gateways is DiscoveredGateway. + repeated .common.gloo.solo.io.ObjectReference selected_east_west_gateways = 3; + + // A list of services federated to this workspace, determined by the workspace settings configuration. + // The GVK of federated_services is core/v1/Service. + repeated .common.gloo.solo.io.ObjectReference federated_services = 4; +} diff --git a/api/gloo.solo.io/admin/v2alpha1/insights_config.proto b/api/gloo.solo.io/admin/v2alpha1/insights_config.proto new file mode 100644 index 000000000..27f83adc3 --- /dev/null +++ b/api/gloo.solo.io/admin/v2alpha1/insights_config.proto @@ -0,0 +1,42 @@ +syntax = "proto3"; +package admin.gloo.solo.io; + +import "extproto/ext.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/wrappers.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + + +option go_package = "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1"; + +option (extproto.hash_all) = true; +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; + +// `InsightsConfig` describes the configuration for the Gloo Mesh Core Insight Engine. +// Define either an list of enabled insights or a list of disabled insights, +// based on the insight code. +// For example, to disable the insight CFG002: +//```yaml +// apiVersion: admin.gloo.solo.io/v2alpha1 +// kind: InsightsConfig +// metadata: +// name: insights-config +// namespace: gloo-mesh +// spec: +// disabledInsights: +// - CFG0002 +// ``` +message InsightsConfigSpec { + // A list of insight codes, such as `CFG0002` that disables insights. If included in this list, insights will not show up in the Gloo Core Dashboard insights list. + repeated string disabled_insights = 2; +} + +message InsightsConfigStatus { + .common.gloo.solo.io.Status common = 1; +} + +message InsightsConfigReport { + .common.gloo.solo.io.Report report = 1; +} \ No newline at end of file diff --git a/api/gloo.solo.io/admin/v2alpha1/waypoint_lifecycle_manager.proto b/api/gloo.solo.io/admin/v2alpha1/waypoint_lifecycle_manager.proto new file mode 100644 index 000000000..701d01fdd --- /dev/null +++ b/api/gloo.solo.io/admin/v2alpha1/waypoint_lifecycle_manager.proto @@ -0,0 +1,39 @@ +syntax = "proto3"; + +package admin.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/struct.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// Manages the deployment of Ambient L7 policy proxy (waypoint proxy) the selected Kubernetes service accounts. +// A RouteTable in ambient mode creates a server-side proxy to handle L7 routing, and to apply policies. +// Outlier detection and failover policies in an ambient mesh create a client-side L7 proxy. +message WaypointLifecycleManagerSpec { + // The Kubernetes service account to that you want to apply the override settings to. Selects only the service accounts in the matching clusters. + // If empty, the settings are applied to all service accounts in the workspace. + repeated .common.gloo.solo.io.ObjectSelector apply_to_service_account = 1; + + // The deployment specification that you want to use to override the default L7 policy proxy deployment values. + // The values that you specify are merged with the default deployment values. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct). + google.protobuf.Struct deployment_spec = 2 [(.solo.io.cue.opt).disable_openapi_validation = true]; +} + +// This field represents the status of the WaypointLifecycleManagerSpec. +message WaypointLifecycleManagerStatus { + // The state and workspace conditions of the applied policy. + .common.gloo.solo.io.Status common = 1; +} + +message WaypointLifecycleManagerReport { + map workspaces = 1; +} \ No newline at end of file diff --git a/api/gloo.solo.io/apimanagement/v2/api_doc.proto b/api/gloo.solo.io/apimanagement/v2/api_doc.proto new file mode 100644 index 000000000..b007e2e01 --- /dev/null +++ b/api/gloo.solo.io/apimanagement/v2/api_doc.proto @@ -0,0 +1,152 @@ +// The ApiDoc resource represents the schema of an API served by a Destination (Service, ExternalService). +// ApiDocs are typically created by Gloo Platform discovery running on the agent +// in registered workload clusters, but you can also manually create an `ApiDoc` CR. +// The ApiDoc type is used to represent different types of API schema specification languages: +// - OpenAPI +// - gRPC +// - GraphQL +syntax = "proto3"; + +package apimanagement.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + + +option go_package = "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + + +// The destinations that serve this API, if any. +message ServedBy { + // Specify the backing destination for your app, by label or by name. + // This destination matches the destinations that you later route to. + // Supported destinations are Kubernetes services, Gloo virtual destinations, and + // Gloo external services. + // This field is required when you manually create an ApiDoc for a service that + // serves an OpenAPI or gRPC schema. + .common.gloo.solo.io.DestinationSelector destination_selector = 1; +} + +// Specifications for the ApiDoc. +message ApiDocSpec { + + // The API schema specification language. + oneof schema_type { + // The OpenAPI schema specification language. Specify only one schema type. + OpenAPISchema openapi = 1; + + // The gRPC schema specification language. Specify only one schema type. + GrpcSchema grpc = 2; + + // The graphQL schema specification language. Specify only one schema type. + GraphQLSchema graphql = 3; + } + + // The destinations that serve this API, if any. + repeated ServedBy served_by = 4; + + // The YAML- or JSON-formatted OpenAPI v2 or v3 schema string to use for your API. + // + // **Example**: For detailed information about the settings in this example, see + // [Create your APIs](https://docs.solo.io/gloo-gateway/latest/portal/apis/apidocs/#apidoc) in the Gloo Portal documentation. + // ```yaml + // apiVersion: apimanagement.gloo.solo.io/v2 + // kind: ApiDoc + // metadata: + // annotations: + // cluster.solo.io/cluster: "" + // name: customers-api-schema + // namespace: default + // spec: + // openapi: + // inlineString: '{ "info": { "title": "Gloo Platform Portal API", "version": "1.0.0", "description": "Review the following reference documentation for the Gloo Platform portal APIs. Use these endpoints to manage user access to both the developer portal and the API resources exposed by the portal." }, "openapi": "3.0.0", "servers": [ { "url": "https://api.gloo-platform-portal.com/v1" } ], "paths": { "/login": { "get": { "description": "Logs user into the developer portal. This is the path that should be used as the callbackPath in the ExtAuthPolicy's OIDC configuration.", "operationId": "login", "security": [ { "identityToken": [ ] } ], "responses": { "200": { "description": "Successfully logged in" } }, "summary": "Logs user into the developer portal", "tags": [ "User" ] } }' + // servedBy: + // - destinationSelector: + // port: + // number: 8080 + // selector: + // cluster: $CLUSTER_NAME + // name: app + // namespace: app + // ``` + message OpenAPISchema { + // The inline, YAML- or JSON-formatted, OpenAPI v2 or v3 schema. + string inline_string = 1; + } + + // A complete gRPC schema describing the API. + // + // **Example**: In this gRPC example for a basic user service app, + // the base64-encoded descriptor includes a set of fields that are defined + // for various queries, such as `UserSearch` and `UserByCountry`. For detailed + // information about the settings in this example, see + // [gRPC schema](https://docs.solo.io/gloo-gateway/latest/graphql/resolvers/resolved/resolver_grpc/) + // in the GraphQL integration documentation. + // ```yaml + // {{% readfile file="/content/gateway/static/content/examples/generated/int/graphql_routes/cluster-1/api-doc_bookinfo_grpc-schema.yaml" %}} + // ``` + message GrpcSchema { + // Protobuf descriptors that represent the gRPC services provided by your API, encoded in base64. + // For more information, see the + // [protobuf reference for `FileDescriptorSet`](https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/DescriptorProtos.FileDescriptorSet). + bytes descriptors = 1; + + } + + // Provide a schema definition in GraphQL SDL format. + // The GraphQL schema also has logging options for logging sensitive + // request-related information, and schema extension configuration such as + // custom type definitions. For more information about the different schema features, + // see the [GraphQL documentation](https://graphql.org/learn/schema/). + // + // **Example**: In this GraphQL example for the Bookinfo sample app, a query type and object + // types are defined. For detailed information about the settings in this example, see + // [Example GraphQL ApiDoc](https://docs.solo.io/gloo-gateway/latest/graphql/apidoc/#example-graphql-apidoc) + // in the GraphQL integration documentation. + // ```yaml + // {{% readfile file="/content/gateway/static/content/examples/generated/int/graphql_proxied_introspection/cluster-1/api-doc_bookinfo_music-schema.yaml" %}} + // ``` + message GraphQLSchema { + // Required: The GraphQL schema definition. Root-level query and mutation + // types are supported, and you must define at least a query type. + string schema_definition = 1; + } + + /* + // Extensions such as Custom Types, which are contained in their own CRD. + repeated .common.gloo.solo.io.ObjectReference schema_extensions = 5; + */ + +} + +// The status of the ApiDoc after it is applied to your Gloo environment. +message ApiDocStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The name of workspace that owns the APIDoc. + string owner_workspace = 2; + + // Count of the destinations serving the API. + uint32 selected_serving_destinations = 3; +} + +// The report shows the resources that the ApiDoc selects after the it is successfully applied. +message ApiDocReport { + // A list of workspaces in which the ApiDoc can be applied. + map workspaces = 1; + + // The name of the workspace that owns the Graqphql API schema. + string owner_workspace = 2; + + // A list of destinations serving the API. + repeated .common.gloo.solo.io.DestinationReference serving_destinations = 3; +} diff --git a/api/gloo.solo.io/apimanagement/v2/api_product.proto b/api/gloo.solo.io/apimanagement/v2/api_product.proto new file mode 100644 index 000000000..37f4fbcae --- /dev/null +++ b/api/gloo.solo.io/apimanagement/v2/api_product.proto @@ -0,0 +1,49 @@ +// $hide_from_docs +syntax = "proto3"; + +package apimanagement.gloo.solo.io; + +option go_package = "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/portal_metadata.proto"; + + +// ApiProducts attach Portal Metadata to routes exposed by Gloo in order to make them available for inclusion in GP Portals. +// Later, your developer portal displays this information in the end-user facing API documentation. +// PortalMetadata can be attached to Kubernetes Gateawy API HTTPRoutes. +// $hide_from_docs +message ApiProductSpec { + + // select routes using the Kubernetes Gateway API standard targetRef https://gateway-api.sigs.k8s.io/geps/gep-713/?h=targetref#policy-targetref-api. + // This can be used to apply policy to Kubernetes Gateway HTTPRoutes. + // $hide_from_docs + .common.gloo.solo.io.TargetRef target_ref = 1; + + // the metadata to expose in the developer portal + .common.gloo.solo.io.PortalMetadata portal_metadata = 2; +} + +// ApiProductStatus communicates the current state of the ApiProduct. +// $hide_from_docs +message ApiProductStatus { + + // State of the ApiProduct. + .common.gloo.solo.io.Status state = 1; + + // the number of routes that have been selected by the selector + uint32 selected_route_count = 2; +} + +message ApiProductReport { + map workspaces = 1; + + // The name of the workspace that owns the PortalGroup schema. + string owned_by_workspace = 2; +} diff --git a/api/gloo.solo.io/apimanagement/v2/api_schema_discovery.proto b/api/gloo.solo.io/apimanagement/v2/api_schema_discovery.proto new file mode 100644 index 000000000..fad625b0f --- /dev/null +++ b/api/gloo.solo.io/apimanagement/v2/api_schema_discovery.proto @@ -0,0 +1,102 @@ +// The ApiSchemaDiscovery custom resource discovers an API schema at a URL +// for a target destination, such as a Kubernetes Service or Gloo VirtualDestination, in the same cluster. +// After discovering the API schema, the Gloo agent automatically generates an ApiDoc resource. +// +// The ApiDoc can be part of a stitched schema of your API products that you share with +// end users, such as through the [Gloo Platform developer portal](https://docs.solo.io/gloo-gateway/latest/portal/). +// +// Gloo Platform can discover the following API schemas: +// - OpenAPI +syntax = "proto3"; + +package apimanagement.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_doc.proto"; + + +import "google/protobuf/duration.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + + +// Configure the specifications for the ApiSchemaDiscovery custom resource. +// The following example pulls an OpenAPI `schema.json` file from the `https://example.com/tracks-schema.json` URL. +// This OpenAPI schema is served by the `tracks-rest-api` Kubernetes service in the same cluster as the ApiSchemaDiscovery resource. + +// Example configuration file: +// ```yaml +// apiVersion: apimanagement.gloo.solo.io/v2 +// kind: ApiSchemaDiscovery +// metadata: {} +// spec: +// openapi: +// fetchEndpoint: +// url: "https://example.com/tracks-schema.json" +// retryDelay: 10s +// pullAttempts: 10 +// servedBy: +// - destinationSelector: +// kind: SERVICE +// selector: +// cluster: cluster-1 +// name: tracks-rest-api +// namespace: tracks +// ``` +message ApiSchemaDiscoverySpec { + // The schema type to fetch from the target URL. Currently, only OpenAPI is supported. + oneof fetch_schema_type { + // The details for fetching the API schema. + OpenAPI openapi = 1; + } + + // The destinations that serve the fetched API schema. The destinations must be in the same cluster as the ApiSchemaDiscovery resource. + repeated ServedBy served_by = 2; + + // The details for the OpenAPI endpoint. + message OpenAPI { + // The URL endpoint to fetch the API schema manually. The Gloo agent must be able to reach this endpoint. + FetchEndpoint fetch_endpoint = 1; + } + // The URL endpoint to fetch the API schema manually. The Gloo agent must be able to reach this endpoint. + message FetchEndpoint { + // Required: The URL endpoint to fetch the API schema from. Supported API schema paths are JSON or YAML files. For `https`, make sure that the URL is included in the certificate that validates the HTTPS traffic. Formatted as: `://:/` + string url = 1; + + // The retry delay when fetching the schema. If omitted, the default is 5s. + // You can also configure this setting for all resources by configuring the Gloo Platform agent during installation or upgrading with the `--api-discovery-polling-retry-delay` flag. + .google.protobuf.Duration retry_delay = 2; + + // The number of attempts to fetch the schema. If omitted, the default is 3. + // You can also configure this setting for all resources by configuring the Gloo Platform agent during installation or upgrading with the `--api-discovery-polling-pull-attempts` flag. + uint32 pull_attempts = 3; + + // Whether to use [exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff) when retrying to fetch the schema. If omitted, the default is true. + // You can also configure this setting for all resources by configuring the Gloo Platform agent during installation or upgrading with the `--api-discovery-polling-use-backoff` flag. + bool use_backoff = 4; + } +} + +// ApiSchemaDiscoveryStatus shows the status of the ApiSchemaDiscovery. +// If the Gloo agent was not able to fetch the API schema, the status is reflected in `common`. +message ApiSchemaDiscoveryStatus { + .common.gloo.solo.io.Status common = 1; + + // The name of workspace that owns the ApiSchemaDiscovery schema. + string owner_workspace = 2; +} + +// The report shows the resources that the ApiSchemaDiscovery selects after it is successfully applied. +message ApiSchemaDiscoveryReport { + // The name of the workspace that owns the ApiSchemaDiscovery schema. + string owner_workspace = 2; +} diff --git a/api/gloo.solo.io/apimanagement/v2/graphql_resolver_map.proto b/api/gloo.solo.io/apimanagement/v2/graphql_resolver_map.proto new file mode 100644 index 000000000..4c4ea5b97 --- /dev/null +++ b/api/gloo.solo.io/apimanagement/v2/graphql_resolver_map.proto @@ -0,0 +1,355 @@ +syntax = "proto3"; + +package apimanagement.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/skv2/api/core/v1/core.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// The GraphQLResolverMap Resource contains a mapping from types to fields to +// resolutions. For example, for a schema with type `Query` and field `GetName` +// ```graphql +// type Query { +// GetName: String +// } +// ``` +// you can configure a resolver for the `GetName` field as follows: +// ```yaml +// types: +// Query: +// fields: +// GetName: +// +// ``` +message GraphQLResolverMapSpec { + + // Map of GraphQL types to field resolutions. + // The key must match the GraphQL type name and is case-sensitive. + // Every field under GraphQL root types (Query, Mutation) must have a resolver defined. + map types = 1; + + // Extensions that apply to the resolvers in this ResolverMap. + ResolverMapExtensions extensions = 2; + + message Resolution { + // Map of GraphQL fields for the type to resolutions. + // The key must match the GraphQL field name and is case-sensitive. + // Fields that don't have resolvers will use the GraphQL default resolver, + // which returns the field in the parent object with the same name as the GraphQL field. + map fields = 1; + + message Resolvers { + // List of resolvers. + // Currently, only one the first resolver configuration will be respected and a warning will be thrown + // if more than one resolver is in the list. + repeated Resolver resolvers = 1; + + /* + (kdorosh) - In the future, the `variables` field could be part of a `oneof`, where we delegate to + an external GraphQLVariables resource. This may be a rare use case, but one we can potentially + implement given customer demand. + */ + + // Variables that can be used as a part of transformations for this field's resolution. + // The key is the name of the variable, which is directly used in the transformation. + // The value defines where the variable value is extracted from on the GraphQL request. + map variables = 2; + + // The stats prefix which will be used for this resolver. + // If empty, will generate a stats prefix ${RESOLVER_NAME} + google.protobuf.StringValue stat_prefix = 4; + + message Resolver { + // The resolver to use. + oneof resolver { + // Resolves values by making a HTTP/2 request to a HTTP/REST destination. + RestResolver rest_resolver = 3; + + + // Resolves fields by making a gRPC call to a gRPC destination. + GrpcResolver grpc_resolver = 2; + + // Resolves fields via a mocked response that is configured. + MockResolver mock_resolver = 4; + } + + // Use a transformation on extracted variables to transform the upstream REST response. + // By default, the transformation is empty and the destination response is left as is before + // being passed into the GraphQL execution engine. + VariableTransformation resolver_result_transform = 10; + + message RestResolver { + // Required: list of destinations which point to destinations containing + // a RESTful service. Must provide at least one destination. + // + // (Note: only the first destination will be used) + repeated .common.gloo.solo.io.DestinationReference destinations = 1; + + // Configuration to template a HTTP request to fetch JSON from a destination REST service. + // This includes configuration such as setting headers dynamically on the HTTP request, configuring query_params, + // and setting the body for the request to the destination. + RequestTemplate request = 2; + + // Variables that can be used in this field's response transform. + // The key is the name of the variable, which is directly used in the transformation. + // The value defines where the variable value is extracted from on the GraphQL REST response. + map variables = 3; + + // The span name for the upstream REST request, used for tracing. + // If empty or omitted, the request span name will be set to the upstream cluster name. + google.protobuf.StringValue span_name = 4; + + // Set the timeout of the HTTP request to the REST service (default 5s) + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration timeout = 5; + + message RequestTemplate { + // Sets the headers on the request to the REST destination. + // This includes setting HTTP :path header. + // This is a map of HTTP Header name to a transformation which determines the Header value. + // The transformation must result in a string value, or an error will be sent back to the client. + // By default, the :method header is set to GET. If `body` is set, then the :method is POST. This can be overridden + // by setting the :method header manually below. + map headers = 1; + + // Sets the query parameters on the request to the REST destination. + // The transformation must result in a string value, or an error will be sent back to the client. + map query_params = 2; + + // Sets the outgoing body to the upstream REST destination. + // By default, the body is empty. + VariableTransformation body = 3; + } + + message RESTVariable { + oneof extraction { + // Only available on resolver result transformations + // Extract the value from the GraphQL HTTP response header. The extracted value is a string. + // If this Extraction is used in a place where response headers are not available, an error + // will be thrown during configuration time. + string response_header = 1; + } + } + } + + message GrpcResolver { + // Required: list of destinations which point to destinations containing + // a gRPC service. Must provide at least one destination. + // + // (Note: only the first destination will be used) + repeated .common.gloo.solo.io.DestinationReference destinations = 1; + + RequestTemplate request = 2; + + // The span name for the upstream gRPC request, used for tracing. + // If empty or omitted, the request span name will be set to the upstream cluster name. + google.protobuf.StringValue span_name = 3; + + // Set the timeout of the HTTP request to the gRPC service (default 5s) + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration timeout = 4; + + message RequestTemplate { + // The gRPC service to call. + string service = 1; + + // The gRPC method to call. + string method = 2; + + // The gRPC request body. + // The request body is a JSON object that will be marshalled into the gRPC request. + // The request body can be templated using variables from the `variables` field. + VariableTransformation outgoing_message = 3; + + // Static metadata to be added to the gRPC request. + // See https://grpc.io/docs/what-is-grpc/core-concepts/#metadata for more information. + map request_metadata = 4; + + // The :authority header to set on the gRPC request. + // If empty, the outgoing :authority header will be set to "envoy". + // This does not need to be set in most cases. + google.protobuf.StringValue authority = 5; + } + + } + + message MockResolver { + + oneof response { + // The response to return for this field. + // The response is a JSON object that can be templated from the `variables` field. + // This response is immediately returned to the GraphQL execution engine. + VariableTransformation sync_response = 1; + + // The response to return for this field. + // The response is a JSON object that can be templated from the `variables` field. + // This response is returned to the GraphQL execution engine after a delay. + AsyncResponse async_response = 2; + + // An error response to return for this field. + string error_response = 3; + } + + + message AsyncResponse { + // The delay before the response is returned. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration delay = 1; + + // The response to return. + // The response is a JSON object that can be templated from the `variables` field. + VariableTransformation response = 2; + } + } + } + } + } + message ResolverMapExtensions { + // Selects API Schema objects that describe a gRPC service. + // This is used only in gRPC resolvers that are defined in this resolver map. + // The gRPC resolver uses the protobuf descriptor to create gRPC requests to the upstream gRPC service. + // Any non-gRPC API Schema that is selected here will be ignored. + // gRPC schemas will be checked for validity, as well as package/message conflicts at configuration time and will + // fail loudly if not valid. + .common.gloo.solo.io.ObjectSelector grpc_schema_selector = 1; + } +} + +// Variable transformations are used to take variables that were declared +// and transform them using a transformation. The simplest transformation is the `variable` +// transform, which passes through the value of a single variable. For more complex transforms, +// the `jq` transformation can be used to form more complicated JSON values. +// +// **Using variables**: +// +// Variables that are declared in the `variables` field are available at the top level of the input JSON object to the +// jq filter. +// For example, if the following variables have been declared: +// ```yaml +// variables: +// userIdHeader: +// request_header: x-user-id +// resolverResultVar: +// resolver_result: {} +// ``` +// then the input object to the `jq` filter would be +// ```json +// { +// "userIdHeader": , +// "resolverResultVar": { .. the resolver result .. } +// } +// ``` +// +// **Using a jq filter**: +// +// Given the following input object to the `jq` transformation, we can use a filter to transform the values. +// ```json +// { +// "userIdHeader": "john_doe123", +// "resolverResultVar": { "data": {"name": "John Doe"} } +// } +// ``` +// If the `jq` filter is defined as +// ``` +// "User: " + .userIdHeader + ", Name: " + .resolverResultVar.data.name +// ``` +// the result of the jq transformation would be +// ``` +// "User john_doe123, Name: John Doe" +// ``` +message VariableTransformation { + + // Transformations on variable extractions. + oneof transformation { + + // The name of a variable declared in the `variables` field. The value of the variable + // is returned with no transformation. + string variable = 1; + + // The [jq](https://stedolan.github.io/jq/manual/) filter which is used to provide a value. + // variables defined in `variables` can be used in the jq filter via regular jq variable syntax. + // For example, a variable named "userIdHeader" can be used in a jq filter as `$userIdHeader` + // Jq filters must only result in one value, or an error will be sent back to the client. + // For example, for the input `[1,2,3]`, the jq filter '.[]' is not a valid jq filter as it results + // in multiple jq results. However, the jq filter '. | join(",")' is valid as it results in one result: "1,2,3". + // Refer to the [jq manual](https://stedolan.github.io/jq/manual/) for jq syntax and tips. + string jq = 2; + + // Static JSON value. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value json = 3 [(.solo.io.cue.opt).disable_openapi_type_validation = true]; + } +} + +// Extractions are used to assign values to variables from various sources of data in the GraphQL +// request or response. This includes HTTP headers, Envoy Dynamic Metadata, or GraphQL query-specific args. +message Extraction { + oneof extraction_type { + // Extract the value from the GraphQL HTTP request header. The extracted value is a string. + // If the header doesn't exist, an empty string will be used. + string request_header = 1; + // Extract the value from envoy dynamic metadata. The extracted value is an object. + DynamicMetadataExtraction dynamic_metadata = 2; + // Assigns the variable to the parent object + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + google.protobuf.Empty graphql_parent = 3; + // Assigns the variable to the GraphQL Argument with this name. + // If this name doesn't exist, the variable is `null` + string graphql_arg = 4; + // Assigns the variable to the GraphQL resolver result. + // If this Extraction is used in a place where the resolver result is not available, an error + // will be thrown during configuration time. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + google.protobuf.Empty resolver_result = 5; + // Assigns the variable to a JSON value specified here + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value json = 6 [(.solo.io.cue.opt).disable_openapi_type_validation = true]; + + // In the future, we may want to allow for nested extractions along with transformations. + // See https://github.com/solo-io/solo-apis/pull/4354#discussion_r919055587 for discussion + // Extraction variables = 8; + + } + + // In the future, we may want to also include a Transformation here so we can declare the value of the variables + // to some transformed value. see https://github.com/solo-io/solo-apis/pull/4354#discussion_r919055587 for discussion. + // Transformation transformation = 9; + +} + +message DynamicMetadataExtraction { + // The envoy dynamic metadata namespace that the data lives in. If the namespace doesn't exist in the + // metadata, the extraction yields null + string metadata_namespace = 1; + // The key under the envoy dynamic metadata namespace that the data lives under. + // If the key doesn't exist in the namespace, the extraction yields null + string key = 2; +} + +message GraphQLResolverMapStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The name of the workspace that owns the Graphql resolver map. + string owned_by_workspace = 4; +} + +message GraphQLResolverMapReport { + map workspaces = 1; + + // The name of the workspace that owns the Graphql resolver map. + string owner_workspace = 2; +} diff --git a/api/gloo.solo.io/apimanagement/v2/graphql_schema.proto b/api/gloo.solo.io/apimanagement/v2/graphql_schema.proto new file mode 100644 index 000000000..5aed34613 --- /dev/null +++ b/api/gloo.solo.io/apimanagement/v2/graphql_schema.proto @@ -0,0 +1,179 @@ +syntax = "proto3"; + +package apimanagement.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_resolver_map.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/skv2/api/core/v1/core.proto"; + +import "google/protobuf/duration.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/wrappers.proto"; + + +option go_package = "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +message GraphQLSchemaSpec { + // Required: Reference to the ApiSchema object which is of type GraphQL schema, which contains the [GraphQL SDL](https://graphql.org/learn/schema/) + // defining this GraphQL schema. + .core.skv2.solo.io.ClusterObjectRef schema_ref = 1; + + oneof graphql_type { + // Configuration to delegate resolving this GraphQL request to an external GraphQL server, which can be + // another GlooGraphQL instance or another instance of a GraphQL server. The external GraphQL server must + // be compliant with the [June 2018 GraphQL specification](https://spec.graphql.org/June2018/). + ProxiedGraphQL proxied = 3; + + // List of references to GraphQLResolverMap resources. GraphQLResolverMaps + // contain a mapping from GraphQL fields to resolver configuration, so that those fields can be resolved + // locally by this GraphQL-envoy instance. + // Order of the references listed below does matter as resolver maps listed first + // will be given priority over later ones when tie-breaking field resolver configurations. + ResolvedGraphQL resolved = 4; + } + + message ResolvedGraphQL { + // List of references to GraphQLResolverMap resources. GraphQLResolverMaps + // contain a mapping from GraphQL fields to resolver configuration, so that those fields can be resolved + // locally by this GraphQL-envoy instance. + // Order of the references listed below does matter as resolver maps listed first + // will be given priority over later ones when tie-breaking field resolver configurations. + repeated .core.skv2.solo.io.ClusterObjectRef resolver_map_refs = 1; + + Options options = 2; + + // Set additional options on the references to GraphQLResolverMap resources. + // As as simple example for the `mex_depth` option, if the schema is + // ```gql + // type Query { + // employee: Employee + // } + // + // type Employee { + // manager: Employee + // name: String + // } + // ``` + // and we set a `max_depth` of `3` and we run a query + // ```gql + // query { # query depth : 0 + // employee { # query depth : 1 + // manager { # query depth : 2 + // name # query depth : 3 + // manager { # query depth : 3 + // name # query depth : 4 + // } + // } + // } + // } + // ``` + // the graphql server will respond with a response: + // ```json + // { "data" : { + // "employee" : { + // "manager" : { + // "name" : "Manager 1", + // "manager" : { + // "name" : null + // }}}}, + // "errors": [ + // {"message": "field 'name' exceeds the max operation depth of 3 for this schema"} + // ] + // } + // ``` + message Options { + // Max GraphQL operation (query/mutation/subscription) depth. This sets a limitation on the max nesting on a query that runs against this schema. + // any GraphQL operation that runs past the `max_depth` will add an error message to the response and will return as `null`. + // If not configured, or the value is 0, the query depth will be unbounded. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int32-value). + google.protobuf.UInt32Value max_depth = 1; + + // Enable introspection queries on the GraphQL API served by this GraphQLSchema resource. + // Introspection queries are used by GraphQL developers to understand the schema of the GraphQL API and create + // queries that are valid against the schema. Introspection is disabled by default, and should be disabled for + // production environments. + bool enable_introspection = 2; + } + } + + message ProxiedGraphQL { + // List of destinations that can server GraphQL requests. The external GraphQL server must + // be compliant with the [June 2018 GraphQL specification](https://spec.graphql.org/June2018). + // Though this is a list, only the first referenced destination will be used until fail-over and load balancing + // is supported between multiple GraphQL destinations. + repeated .common.gloo.solo.io.DestinationReference graphql_servers = 1; + + // Declare variables that are used in variable transformations in the fields below for the GraphQL request to a remote server. + // The keys to this map are the name of the variables. See the variable transformations specifically + // for how to reference these variables. + map variables = 2; + + // map of header name to a transformation on extracted variables which are declared + // in the `variables` field. + // The transformation must result in a string value, or an error will be sent back to the client. + map headers = 3; + + // map of query parameter name to a transformation on extracted variables which are declared + // in the `variables` field. + // The transformation must result in a string value, or an error will be sent back to the client. + map query_params = 4; + + // The span name for the remote GraphQL request, used for tracing. + // If empty or omitted, the request span name will be set to the upstream cluster name. + string span_name = 5; + + // Set the timeout of the HTTP request to the REST service (default 5s) + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration timeout = 6; + + Options options = 7; + + message RequestExtraction { + oneof extraction { + // Extract the value from envoy dynamic metadata. The extracted value is an object. + DynamicMetadataExtraction dynamic_metadata = 1; + + // Extract the value from the GraphQL HTTP request header. The extracted value is a string. + // If the header doesn't exist, an empty string will be used. + string request_header = 2; + + // Assigns the variable to a JSON value specified here. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value json = 3 [(.solo.io.cue.opt).disable_openapi_type_validation = true]; + } + } + + message Options { + // Enable introspection queries on the GraphQL API served by this GraphQLSchema resource. + // Introspection queries are used by GraphQL developers to understand the schema of the GraphQL API and create + // queries that are valid against the schema. This option allows for introspection queries to be sent to the + // proxied GraphQL server. Introspection is disabled by default and introspection queries will be responded with errors + // by the proxy. This should be disabled for production environments. + bool allow_introspection = 1; + } + } +} + +message GraphQLSchemaStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The name of the workspace that owns the GraphQL schema. + string owned_by_workspace = 4; +} + +message GraphQLSchemaReport { + map workspaces = 1; + + // The name of the workspace that owns the GraphQL schema. + string owner_workspace = 2; +} diff --git a/api/gloo.solo.io/apimanagement/v2/graphql_stitched_schema.proto b/api/gloo.solo.io/apimanagement/v2/graphql_stitched_schema.proto new file mode 100644 index 000000000..b91ef2ea3 --- /dev/null +++ b/api/gloo.solo.io/apimanagement/v2/graphql_stitched_schema.proto @@ -0,0 +1,127 @@ +syntax = "proto3"; + +package apimanagement.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_resolver_map.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/skv2/api/core/v1/core.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +message GraphQLStitchedSchemaSpec { + // List of GraphQL Subschemas that compose this GraphQL stitched schema. + repeated Subschema subschemas = 1; + + Options options = 2; + + message Subschema { + oneof graphql_schema { + // Reference to a GraphQLSchema resource that contains the configuration for this subschema. + core.skv2.solo.io.ClusterObjectRef schema = 1; + + // Reference to a GraphQLStitchedSchema resource that contains the configuration for this subschema. + core.skv2.solo.io.ClusterObjectRef stitched_schema = 2; + } + + /* + Type merge configuration for this subschema. Let's say this subschema is a Users service schema + and provides the User type (with a query to fetch a user given the username) + ```gql + type Query { + GetUser(username: String): User + } + type User { + username: String + firstName: String + lastName: String + } + ``` + and another subschema, e.g. Reviews schema, may have a partial User type: + ```gql + type Review { + author: User + } + type User { + username: String + } + ``` + We want to provide the relevant information from this Users service schema, + so that another API that can give us a partial User type (with the username) will then + be able to have access to the full user type. With the correct type merging config under the Users subschema, e.g.: + ```yaml + type_merge: + User: + selection_set: '{ username }' + query_name: 'GetUser' + args: + username: username + ``` + the stitched schema will now be able to provide the full user type to all types that require it. In this case, + we can now get the first name of an author from the Review.author field even though the Reviews schema doesn't + provide the full User type. Note: Type merging can be used for all GraphQL types except Mutations and Subscriptions. + */ + map type_merge = 3; + + message TypeMergeConfig { + // This specifies one or more key fields required from other services to perform this query. + // Query planning will automatically resolve these fields from other subschemas in dependency order. + // This is a graphql selection set specified as a string + // e.g. '{ username }' + string selection_set = 1; + // specifies the root field from this subschema used to request the local type + string query_name = 2; + // this provides the schema stitching engine the format to turn the initial object representation + // to query arguments + // so if the GetUser query was defined as + // + // ```gql + // input UserSearch { + // username: String + // } + // + // type Query { + // GetUser(user_search: UserSearch): User + // } + // ``` + // we would want to set the user query argument with the correct username from an object. + // we can do that by setting the args as: + // ```yaml + // args: + // user_search.username: username + // ``` + // where `user_search.username` is the "setter" path that we are setting the argument input value at and + // `username` is the "extraction" path that we are extracting from an object, such as `{"username": "wpatel"}`. + + map args = 3; + } + } + + message Options { + // Enable introspection queries on this GraphQL Stitched API. + // Introspection queries are used by GraphQL developers to understand the schema of the GraphQL API and create + // queries that are valid against the schema. Introspection is disabled by default, and should be disabled for + // production environments. + bool enable_introspection = 1; + } +} + +message GraphQLStitchedSchemaStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The name of the workspace that owns the GraphQL stitched schema. + string owned_by_workspace = 4; +} + +message GraphQLStitchedSchemaReport { + map workspaces = 1; + + // The name of the workspace that owns the GraphQL stitched schema. + string owner_workspace = 2; +} diff --git a/api/gloo.solo.io/apimanagement/v2/portal.proto b/api/gloo.solo.io/apimanagement/v2/portal.proto new file mode 100644 index 000000000..f5691ed21 --- /dev/null +++ b/api/gloo.solo.io/apimanagement/v2/portal.proto @@ -0,0 +1,245 @@ +syntax = "proto3"; + +package apimanagement.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/struct.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + + +// The Portal resource configures a developer portal that you can use to securely expose your APIs to end users. +// Before you create the Portal, you bundle the APIs that you want to expose into a route table. +// Then, you prepare a usage plan to control access to your APIs +// by applying rate limiting and external auth policies to the routes in the route table. +// For more information, see the [Portal docs](https://docs.solo.io/gloo-gateway/main/portal/). +// +// The following examples show a Portal resource that refers to usage plans +// that are named in the rate limit server config's descriptors, as well as a corresponding +// `RateLimitPolicy` and `ExternalAuthPolicy` that apply to a route in a route table. +// +// ```yaml +// apiVersion: apimanagement.gloo.solo.io/v2 +// kind: Portal +// metadata: +// name: public-portal +// namespace: gloo-mesh-addons +// spec: +// portalBackendSelectors: +// - selector: +// labels: +// app: gloo-mesh-portal-server +// usagePlans: +// - name: bronze +// displayName: "Bronze Plan" +// description: "A basic usage plan" +// - name: silver +// description: "A better usage plan" +// - name: gold +// description: "The best usage plan!" +// apis: +// - name: productpage +// namespace: bookinfo +// cluster: cluster-1 +// - labels: +// app: reviews +// ``` +// +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: RateLimitServerConfig +// metadata: +// name: usage-plans +// namespace: gloo-mesh-addons +// spec: +// destinationServers: [] # omitted, server refs +// raw: +// descriptors: +// - key: usagePlan +// value: bronze +// descriptors: +// - key: userId +// rateLimit: +// requestsPerUnit: 50 +// unit: MINUTE +// - key: usagePlan +// value: silver +// descriptors: +// - key: userId +// rateLimit: +// requestsPerUnit: 200 +// unit: MINUTE +// - key: usagePlan +// value: gold +// descriptors: +// - key: userId +// rateLimit: +// requestsPerUnit: 1000 +// unit: MINUTE +// ``` +// +// ```yaml +// apiVersion: security.policy.gloo.solo.io/v2 +// kind: ExtAuthPolicy +// metadata: +// name: petstore-apiauth +// namespace: petstore +// spec: +// applyToRoutes: +// - route: +// labels: +// route: pets +// config: +// server: +// name: ext-auth-server +// namespace: gloo-mesh-addons +// cluster: cluster-1 +// glooAuth: +// configs: +// - apiKeyAuth: +// headersFromMetadata: +// x-solo-plan: +// name: plan +// required: true +// k8sSecretApikeyStorage: +// labelSelector: +// auth: api-key +// ``` +// +// ```yaml +// apiVersion: trafficcontrol.policy.gloo.solo.io/v2 +// kind: RateLimitPolicy +// metadata: +// name: pets-rate-limit +// namespace: petstore +// spec: +// applyToRoutes: +// - route: +// labels: +// route: pets +// config: +// ratelimitServerConfig: +// name: usage-plans +// namespace: gloo-mesh-addons +// cluster: cluster-1 +// raw: +// rateLimits: +// - actions: +// - requestHeaders: +// descriptorKey: usagePlan +// headerName: x-solo-plan +// - metadata: +// descriptorKey: userId +// metadataKey: +// key: envoy.filters.http.ext_authz +// path: +// - key: userId +// ``` +message PortalSpec { + + // The workloads where an existing portal backend is running. + repeated .common.gloo.solo.io.WorkloadSelector portal_backend_selectors = 1; + + // A list of route tables with routes to the APIs you want the developer portal to expose. + // The route table might also have 'portalMetadata' key-value fields that you want to display in the developer portal for end users. + repeated .common.gloo.solo.io.ObjectSelector apis = 2; + + // A list of route metadata which select the routes to the APIs you want the developer portal to expose. + // $hide_from_docs + repeated .common.gloo.solo.io.ObjectSelector route_metadata = 6; + + // The usage plans to control access to the APIs that the developer portal exposes. + repeated UsagePlan usage_plans = 3; + + // The domains on which this Portal will be served. The Host header received by the + // Portal Web App will be matched to one of these domains in order to determine which Portal will be served. + // + // If you are using the Gateway through which you are exposing the Portal + // is listening on a port other than 80/443, you should include the port as part of the + // domain string, e.g. "portal.solo.io:8443". + // + // To prevent undefined behavior, creating a Portal whose domain conflicts with + // an existing Portal will result in the Portal resource being placed into an 'Invalid' state. + repeated string domains = 4; + + // Settings for controlling the visibility of the Portal's contents. + // Default visibility for content in the Portal is private. + // When a Portal is public, individual APIs can be made private, by specifying the labels for private APIs + // and applying said labels to the route tables that need to be private. + // When a Portal or its APIs are private, the Portal requires authentication. An external auth policy must be + // applied to the Portal's route table in order to enable authentication. The external auth policy must use the + // `idTokenHeader` field with the `id_token` to pass the user's ID token to the Portal. + // For authentication to work, the `email` claim is required in the `id_token`. + Visibility visibility = 5; + + // Settings that control the visibility of the Portal's contents. + message Visibility { + // If true, all the APIs published in this portal are going to be public (i.e. visible to unauthenticated users); + // individual APIs can still be made private using the privateAPILabels field. + // Defaults to false, in which case the privateAPILabels field will have not effect. + bool public = 1; + // Custom labels for private APIs. Apply these labels to route tables that need to be private. + // Has no effect if the public field is set to false in which case all APIs are private. + map privateAPILabels = 2; + } + + // A `UsagePlan` defined in the Portal resource is a reference to an existing `RateLimitPolicy` and `ExtAuthPolicy` that has been + // applied to a route table. + // The values of the descriptor key `usagePlan` in the `RateLimitServerConfig` used by an existing `RateLimitPolicy` + // must match the `name` of the `UsagePlan` defined in the Portal resource, and will be used to determine which rate limiting + // and ext auth options are available for this Portal. + message UsagePlan { + // Match the names of the usage plans with the descriptors that you defined in the rate limit server config. + string name = 1; + // Optional display name for the usage plan to show end users in the developer portal. + string display_name = 2; + // Optional description for the usage plan to show end users in the developer portal. + // You might include information about how to get the plan or what the plan includes and excludes. + string description = 3; + } +} + +message PortalStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + string owner_workspace = 2; + + // The number of route tables that are selected by this portal. + uint32 route_tables_count = 3; + + // The number of ext-auth policies that this portal selects with the usage plans that are defined in the portal resource. + uint32 ext_auth_policy_count = 4; + + // The number of rate limit policies that this portal selects with the usage plans that are defined in the portal resource. + uint32 rate_limit_policy_count = 5; + + // The number of portal backends that are selected by this portal. + uint32 portal_backend_count = 6; +} + +message PortalReport { + map workspaces = 1; + + string owner_workspace = 2; + + // A list of route tables that are selected by this portal. + repeated .common.gloo.solo.io.ObjectReference selected_route_tables = 3; + + // A list of ext-auth policies selected by this portal. + repeated .common.gloo.solo.io.ObjectReference selected_ext_auth_policies = 4; + + // A list of rate limit policies selected by this portal. + repeated .common.gloo.solo.io.ObjectReference selected_rate_limit_policies = 5; + + // A list of portal backends selected by this portal. + repeated .common.gloo.solo.io.ObjectReference selected_portal_backend = 6; +} diff --git a/api/gloo.solo.io/apimanagement/v2/portal_group.proto b/api/gloo.solo.io/apimanagement/v2/portal_group.proto new file mode 100644 index 000000000..d95fb2b9b --- /dev/null +++ b/api/gloo.solo.io/apimanagement/v2/portal_group.proto @@ -0,0 +1,131 @@ +syntax = "proto3"; + +package apimanagement.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + + +// A `PortalGroup` defines what APIs a group of users can view in the portal, and what usage plans they can manage API keys for. +// +// A `PortalGroup` consists of a set of permissions defined for the group defined in `AccessLevel`, and a set of claims that +// is used to determine whether a user belongs to this group. +// +// Below is an example of a `PortalGroup` that defines a group of users that can view the APIs (RouteTables) with the `customers-group: true` label, +// and manage API keys for the `bronze`, `silver`, and `gold` usage plans for said APIs. +// A user belongs to this group if they have the following claims in their JWT: +// ```json +// { "type": "customers", "region": "us-east-1" } +// ``` +// +// ```yaml +// apiVersion: apimanagement.gloo.solo.io/v2 +// kind: PortalGroup +// metadata: +// name: customers-group +// namespace: gloo-mesh-addons +// labels: +// portal: sample-bank-portal +// spec: +// name: customers-group +// description: a group for users accessing the customers APIs +// membership: +// - claims: +// - key: type +// value: customers +// - key: region +// value: us-east-1 +// accessLevel: +// apis: +// - routeTable: +// labels: +// customers-group: true +// usagePlans: +// - name: bronze +// - name: silver +// - name: gold +// ``` +message PortalGroupSpec { + // The name of the group. + string name = 1; + + // The description of the group. + string description = 2; + + // A list of `Membership` criteria that defines the claims that are used to determine whether a user belongs to this group. + // A user is considered to be a member of this group if they have claims that match all the claims in any `Membership` criteria in this list. + // For example, a user is considered to be a member of this group if they have defined the following list of membership criteria in their `PortalGroup`: + // ```yaml + // ... + // membership: + // - claims: + // - key: type + // value: customers + // - key: region + // value: us-east-1 + // - claims: + // - key: type + // value: customers + // - key: region + // value: us-west-1 + // ``` + // and the user has the following claims in their idToken: + // ```json + // { "type": "customers", "region": "us-east-1" } or { "type": "customers", "region": "us-west-1" } + // ``` + // claims within a `Membership` criteria is an AND operation, and the list of `Membership` criteria is an OR operation. + repeated Membership membership = 3; + + // Settings that control the list of APIs that this group can view, and the usage plans that this group can manage API keys for. + AccessLevel access_level = 4; + + // Defines the access level of the group. Private APIs listed in the access level allows this group to + // view the selected APIs in the portal. + // Usage plans listed in the access level allows this group to manage API keys for the listed usage plans. + message AccessLevel { + // The APIs that we want to allow this group to view in the portal. An API consists of all routes exposed by a route table, + // so the apis field is a list of route table selectors. + repeated .common.gloo.solo.io.ObjectSelector apis = 1; + // The names of usage plans that we want to allow this group to manage API keys for. Note that if your usage plan is applied across + // different route tables, granting the ability to manage API keys for a usage plan in a group will allow the created API keys + // to also be used across all route tables that the usage plan applies to. + repeated string usage_plans = 2; + } +} + +// `Membership` contains a list of claims that is used to determine whether a user belongs to this group. +// A user is considered to be a member of this group if their idToken has all the claims in this list. +message Membership { + // A list of claims that is used to determine whether a user belongs to this group. + // A user is considered to be a member of this group if their idToken has claims that match all the claims in this list. + repeated Claim claims = 1; +} + +// A claim that can be used to define a group of users. +message Claim { + // The key of the claim. For example, `customers` or `region`. This is the key that we will use to match against the claims in the idToken. + string key = 1; + // The value of the claim. + string value = 2; +} + +message PortalGroupStatus { + .common.gloo.solo.io.Status common = 1; + + // The name of the workspace that owns the PortalGroup schema. + string owned_by_workspace = 2; +} + +message PortalGroupReport { + map workspaces = 1; + + // The name of the workspace that owns the PortalGroup schema. + string owned_by_workspace = 2; +} diff --git a/api/gloo.solo.io/common/v2/approval_state.proto b/api/gloo.solo.io/common/v2/approval_state.proto new file mode 100644 index 000000000..c4a40cebb --- /dev/null +++ b/api/gloo.solo.io/common/v2/approval_state.proto @@ -0,0 +1,47 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + + +// State of a Policy resource reflected in the status by Gloo Mesh while processing a resource. +enum ApprovalState { + + // Resources are in a Pending state before they have been processed by Gloo Mesh. + PENDING = 0; + + // Resources are in a Accepted state when they are valid and have been applied successfully to + // the Gloo Mesh configuration. + ACCEPTED = 1; + + // Resources are in an Invalid state when they contain incorrect configuration parameters, + // such as missing required values or invalid resource references. + // An invalid state can also result when a resource's configuration is valid + // but conflicts with another resource which was accepted in an earlier point in time. + INVALID = 2; + + // Resources are in a Warning state when they contain partially incorrect configuration parameters, + // but has still been processed and applied by the system. + WARNING = 3; + + // Resources are in a Failed state when they contain correct configuration parameters, + // but the server encountered an error trying to synchronize the system to + // the desired state. + FAILED = 4; + + // The license key(s) in the application do not allow you to use this resource. + UNLICENSED = 5; +} + +// the state of a resource across clusters +message ClusterState { + // the approval state of the resource in each cluster + map states = 1; +} diff --git a/api/gloo.solo.io/common/v2/clientmode.proto b/api/gloo.solo.io/common/v2/clientmode.proto new file mode 100644 index 000000000..3457552e1 --- /dev/null +++ b/api/gloo.solo.io/common/v2/clientmode.proto @@ -0,0 +1,36 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; +import "google/protobuf/empty.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + + +// Client mode determines if the translated istio resources (i.e. the service entries and workload entries) use sni +// routing or tls termination at the east west gateway during cross cluster routing. This option can be configured at +// either the WorkspaceSetting level, or on the VirtualDestination. Any virtual destination setting overrides a +// global fallback defined by an admin on the WorkspaceSettings. +message ClientMode { + oneof client_mode { + // The default mode is to use sni routing via tls passthrough at the East/West Gateway to route to services across clusters. + // In the future, this may change to become smarter (e.g., detect if any pods backing the virtual destination don't have sidecars, + // if so, then use tls termination so all pods are routeable). + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + google.protobuf.Empty auto = 1; + // Sni routing mode uses tls passthrough to route traffic to the proper pod (with sidecar) from the East/West Gateway. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + google.protobuf.Empty sni_routing = 2; + // Tls termination mode uses tls termination at the East/West Gateway to route traffic to the correct pod. + // This mode is ideal for Gloo Mesh Gateway, i.e. some backing pods don't have sidecars. + // Since TLS is terminated at the East/West Gateway, the backing service (if it has a sidecar) will not be able to + // verify the istio mTLS identity of the originating client; rather it will verify the istio mTLS cert of the East/West Gateway. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + google.protobuf.Empty tls_termination = 3; + } +} \ No newline at end of file diff --git a/api/gloo.solo.io/common/v2/cloud_provider_options.proto b/api/gloo.solo.io/common/v2/cloud_provider_options.proto new file mode 100644 index 000000000..a20f64c89 --- /dev/null +++ b/api/gloo.solo.io/common/v2/cloud_provider_options.proto @@ -0,0 +1,62 @@ +syntax = "proto3"; +package common.gloo.solo.io; +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +import "extproto/ext.proto"; +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +message LambdaOptions { + + RequestTransformation request_transformation = 1; + + ResponseTransformation response_transformation = 2; + + enum RequestTransformation { + // Default value. include headers, querystring, request path, and request method in the event payload sent to aws lambda. + REQUEST_DEFAULT = 0; + // Disable all transformations for the request to AWS Lambda. + REQUEST_DISABLE = 1; + } + + enum ResponseTransformation { + // Default value. Unwrap the response as if the proxy was an AWS API Gateway. de-jsonify response bodies returned + // from aws lambda, sets response status code, and sets response headers from the JSON payload. + RESPONSE_DEFAULT = 0; + // Disable all transformations for the response from AWS Lambda. + RESPONSE_DISABLE = 1; + } + + // Can be either Sync or Async. See [AWS Invoke](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) + // for more details. + InvocationStyle invocation_style = 3; + enum InvocationStyle { + SYNC = 0; + ASYNC = 1; + } +} + +message CloudProviderFilterOptions { + oneof provider_options { + // Optional: filter out route tables that use AWS functionality, if provided. Each evaluated route must match at + // at least one of every repeated field provided, if not empty. + AWSFilterOptions aws = 1; + } +} + +message AWSFilterOptions { + // Optional: filter out route tables that use an AWS account ID which does not match the selector, if provided. + repeated string account_ids = 1; + + // Optional: filter out route tables that use IAM invoke roles which do not match the selector, if provided. + // Regex supported. + repeated string iam_roles = 2; + + // Optional: filter out route tables that use regions which do not match the selector, if provided. + repeated string regions = 3; + + // Optional: filter out route tables that use backend Lambda functions that do no match the selector, + // if provided. Regex supported. + repeated string lambda_functions = 4; +} diff --git a/api/gloo.solo.io/common/v2/enforcement_layers.proto b/api/gloo.solo.io/common/v2/enforcement_layers.proto new file mode 100644 index 000000000..c1f398ada --- /dev/null +++ b/api/gloo.solo.io/common/v2/enforcement_layers.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +message EnforcementLayers { + bool cni = 1; + bool mesh = 2; +}; diff --git a/api/gloo.solo.io/common/v2/http_matchers.proto b/api/gloo.solo.io/common/v2/http_matchers.proto new file mode 100644 index 000000000..0bdd21d8a --- /dev/null +++ b/api/gloo.solo.io/common/v2/http_matchers.proto @@ -0,0 +1,93 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/string_match.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + + +// Specify HTTP request level match criteria. All specified conditions must be satisfied for a match to occur. +message HTTPRequestMatcher { + + // UNSUPPORTED: Name matching is currently unsupported. + string name = 1; + + // Optional: Specify match criteria against the targeted path. + .common.gloo.solo.io.StringMatch uri = 2; + + // Optional: Specify a set of headers which requests must match in entirety (all headers must match). + repeated HeaderMatcher headers = 5; + + // Optional: Specify a set of URL query parameters which requests must match in entirety (all query params must match). + repeated QueryParameterMatcher query_parameters = 6; + + // Optional: Specify an HTTP method to match against. + string method = 7; + + // Optional: Specifies ports on the host to match against. + uint32 port = 8; + + // Specify match criteria against the target URL's query parameters. + message QueryParameterMatcher { + + // Specify the name of a key that must be present in the requested path's query string. + string name = 1; + + // Specify the value of the query parameter keyed on `name`. + string value = 2; + + // If true, treat `value` as a regular expression. + bool regex = 3; + } +} + +// Describes a matcher against HTTP request headers. +message HeaderMatcher { + // Specify the name of the header in the request. + string name = 1; + + // Specify the value of the header. If the value is absent a request that + // has the name header will match, regardless of the header’s value. + string value = 2; + + // Specify whether the header value should be treated as regex. + bool regex = 3; + + /* + If set to true, the result of the match will be inverted. Defaults to false. + + Examples: + + - name=foo, invert_match=true: matches if no header named `foo` is present + - name=foo, value=bar, invert_match=true: matches if no header named `foo` with value `bar` is present + - name=foo, value=``\d{3}``, regex=true, invert_match=true: matches if no header named `foo` with a value consisting of three integers is present. + */ + bool invert_match = 4; +} + +// Describes a matcher against HTTP response status codes. +message StatusCodeMatcher { + + // The status code value to match against. + uint32 value = 1; + + // The comparison type used for matching. + Comparator comparator = 2; + + enum Comparator { + // Strict equality. + EQ = 0; + + // Greater than or equal to. + GE = 1; + + // Less than or equal to. + LE = 2; + } +} diff --git a/api/gloo.solo.io/common/v2/istio_operator.proto b/api/gloo.solo.io/common/v2/istio_operator.proto new file mode 100644 index 000000000..9cda059a7 --- /dev/null +++ b/api/gloo.solo.io/common/v2/istio_operator.proto @@ -0,0 +1,744 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/wrappers.proto"; +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = false; + +// Copied from https://github.com/istio/api/blob/master/operator/v1alpha1/operator.proto +message IstioOperatorSpec { + // Path or name for the profile e.g. + // + // * minimal (looks in profiles dir for a file called minimal.yaml) + // * /tmp/istio/install/values/custom/custom-install.yaml (local file path) + // + // default profile is used if this field is unset. + string profile = 10; + // Path for the install package. e.g. + // + // * /tmp/istio-installer/nightly (local file path) + // + string installPackagePath = 11; + // Root for docker image paths e.g. `docker.io/istio` + string hub = 12; + // Version tag for docker images e.g. `1.7.2` + string tag = 13; + + // $hide_from_docs + // Resource suffix is appended to all resources installed by each component. + // Never implemented; replaced by revision. + string resourceSuffix = 14 [deprecated = true]; + // Namespace to install control plane resources into. If unset, Istio will be installed into the same namespace + // as the `IstioOperator` CR. You must also set `values.global.istioNamespace` if you wish to install Istio in + // a custom namespace. + // If you have enabled CNI, you must exclude this namespace by adding it to the list `values.cni.excludeNamespaces`. + string namespace = 15; + + // Identify the revision this installation is associated with. + // This option is currently experimental. + string revision = 16; + + // Identify whether this revision is the default revision for the cluster + // This option is currently experimental. + bool defaultRevision = 17; + + // Config used by control plane components internally. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct). + google.protobuf.Struct meshConfig = 40 [(.solo.io.cue.opt).disable_openapi_validation = true]; + + // Kubernetes resource settings, enablement and component-specific settings that are not internal to the + // component. + IstioComponentSetSpec components = 50; + + // Deprecated. + // Users should manage the installation of addon components on their own. + // Refer to samples/addons for demo installation of addon components. + map addonComponents = 51 [deprecated = true]; + + // Overrides for default `values.yaml`. This is a validated pass-through to Helm templates. + // See the [Helm installation options](https://istio.io/v1.5/docs/reference/config/installation-options/) for schema details. + // Anything that is available in `IstioOperatorSpec` should be set above rather than using the passthrough. This + // includes Kubernetes resource settings for components in `KubernetesResourcesSpec`. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct). + google.protobuf.Struct values = 100 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // Unvalidated overrides for default `values.yaml`. Used for custom templates where new parameters are added. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct). + google.protobuf.Struct unvalidatedValues = 101 [(.solo.io.cue.opt).disable_openapi_validation = true]; +} + +// Observed state of IstioOperator +message InstallStatus { + // Status describes the current state of a component. + enum Status { + // Component is not present. + NONE = 0; + // Component is being updated to a different version. + UPDATING = 1; + // Controller has started but not yet completed reconciliation loop for the component. + RECONCILING = 2; + // Component is healthy. + HEALTHY = 3; + // Component is in an error state. + ERROR = 4; + // Overall status only and would not be set as a component status. + // Action is needed from the user for reconciliation to proceed + // e.g. There are proxies still pointing to the control plane revision when try to remove an `IstioOperator` CR. + ACTION_REQUIRED = 5; + } + // VersionStatus is the status and version of a component. + message VersionStatus { + string version = 1; + Status status = 2; + string error = 4; + } + // Overall status of all components controlled by the operator. + // + // * If all components have status `NONE`, overall status is `NONE`. + // * If all components are `HEALTHY`, overall status is `HEALTHY`. + // * If one or more components are `RECONCILING` and others are `HEALTHY`, overall status is `RECONCILING`. + // * If one or more components are `UPDATING` and others are `HEALTHY`, overall status is `UPDATING`. + // * If components are a mix of `RECONCILING`, `UPDATING` and `HEALTHY`, overall status is `UPDATING`. + // * If any component is in `ERROR` state, overall status is `ERROR`. + // * If further action is needed for reconciliation to proceed, overall status is `ACTION_REQUIRED`. + // + Status status = 1; + // Optional message providing additional information about the existing overall status. + string message = 3; + // Individual status of each component controlled by the operator. The map key is the name of the component. + map componentStatus = 2; +} + +// IstioComponentSpec defines the desired installed state of Istio components. +message IstioComponentSetSpec { + BaseComponentSpec base = 29; + ComponentSpec pilot = 30; + ComponentSpec cni = 38; + + // Remote cluster using an external control plane. + ComponentSpec istiodRemote = 39; + + repeated GatewaySpec ingressGateways = 40; + repeated GatewaySpec egressGateways = 41; + + reserved 31, 32, 33, 34, 35, 36, 37; + reserved "citadel", "policy", "telemetry", "galley", "node_agent", "proxy", "sidecar_injector"; +} + +// Configuration for base component. +message BaseComponentSpec { + // Selects whether this component is installed. + google.protobuf.BoolValue enabled = 1; + + // Kubernetes resource spec. + KubernetesResourcesSpec k8s = 50 [(.solo.io.cue.opt).json_field_name_override = "k8s"]; +} + +// Configuration for internal components. +message ComponentSpec { + // Selects whether this component is installed. + google.protobuf.BoolValue enabled = 1; + // Namespace for the component. + string namespace = 2; + // Hub for the component (overrides top level hub setting). + string hub = 10; + // Tag for the component (overrides top level tag setting). + string tag = 11; + + // Arbitrary install time configuration for the component. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct). + google.protobuf.Struct spec = 30 [(.solo.io.cue.opt).disable_openapi_validation = true]; + + // Kubernetes resource spec. + KubernetesResourcesSpec k8s = 50 [(.solo.io.cue.opt).json_field_name_override = "k8s"]; +} + +// Configuration for external components. +message ExternalComponentSpec { + // Selects whether this component is installed. + google.protobuf.BoolValue enabled = 1; + // Namespace for the component. + string namespace = 2; + + // Arbitrary install time configuration for the component. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct). + google.protobuf.Struct spec = 10 [(.solo.io.cue.opt).disable_openapi_validation = true]; + + // Chart path for addon components. + string chartPath = 30; + // Optional schema to validate spec against. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any). + google.protobuf.Any schema = 35 [(.solo.io.cue.opt).disable_openapi_validation = true]; + + // Kubernetes resource spec. + KubernetesResourcesSpec k8s = 50 [(.solo.io.cue.opt).json_field_name_override = "k8s"]; +} + +// Configuration for gateways. +message GatewaySpec { + // Selects whether this gateway is installed. + google.protobuf.BoolValue enabled = 1; + // Namespace for the gateway. + string namespace = 2; + // Name for the gateway. + string name = 3; + // Labels for the gateway. + map label = 4; + + // Hub for the component (overrides top level hub setting). + string hub = 10; + // Tag for the component (overrides top level tag setting). + string tag = 11; + + // Kubernetes resource spec. + KubernetesResourcesSpec k8s = 50 [(.solo.io.cue.opt).json_field_name_override = "k8s"]; +} + +// KubernetesResourcesConfig is a common set of k8s resource configs for components. +message KubernetesResourcesSpec { + // k8s affinity. + // [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) + Affinity affinity = 1 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // Deployment environment variables. + // [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) + repeated EnvVar env = 2 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // k8s HorizontalPodAutoscaler settings. + // [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) + HorizontalPodAutoscalerSpec hpaSpec = 3 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // k8s imagePullPolicy. + // [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) + string imagePullPolicy = 4; + // k8s nodeSelector. + // [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) + map nodeSelector = 5; + // k8s PodDisruptionBudget settings. + // [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) + PodDisruptionBudgetSpec podDisruptionBudget = 6 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // k8s pod annotations. + // [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) + map podAnnotations = 7; + // k8s priority_class_name. Default for all resources unless overridden. + // [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) + string priorityClassName = 8; + // k8s readinessProbe settings. + // [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) + // k8s.io.api.core.v1.Probe readiness_probe = 9; + ReadinessProbe readinessProbe = 9 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // k8s Deployment replicas setting. + // [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) + uint32 replicaCount = 10; + // k8s resources settings. + // [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) + Resources resources = 11 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // k8s Service settings. + // [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) + ServiceSpec service = 12 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // k8s deployment strategy. + // [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) + DeploymentStrategy strategy = 13 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // k8s toleration + // [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) + repeated Toleration tolerations = 14 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // k8s service annotations. + // [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) + map serviceAnnotations = 15; + // k8s pod security context + // [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) + PodSecurityContext securityContext = 16 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // k8s volume + // [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) + // Volumes defines the collection of Volume to inject into the pod. + repeated k8s.io.api.core.v1.Volume volumes = 17 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // k8s volumeMounts + // VolumeMounts defines the collection of VolumeMount to inject into containers. + repeated k8s.io.api.core.v1.VolumeMount volumeMounts = 18 [(.solo.io.cue.opt).disable_openapi_validation = true]; + + // Overlays for k8s resources in rendered manifests. + repeated K8sObjectOverlay overlays = 100 [(.solo.io.cue.opt).disable_openapi_validation = true]; +} + +// Patch for an existing k8s resource. +message K8sObjectOverlay { + message PathValue { + // Path of the form a.[key1:value1].b.[:value2] + // Where [key1:value1] is a selector for a key-value pair to identify a list element and [:value] is a value + // selector to identify a list element in a leaf list. + // All path intermediate nodes must exist. + string path = 1; + // Value to add, delete or replace. + // For add, the path should be a new leaf. + // For delete, value should be unset. + // For replace, path should reference an existing node. + // All values are strings but are converted into appropriate type based on schema. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value value = 2 [(.solo.io.cue.opt).disable_openapi_validation = true]; + } + // Resource API version. + string apiVersion = 1; + // Resource kind. + string kind = 2; + // Name of resource. + // Namespace is always the component namespace. + string name = 3; + + // List of patches to apply to resource. + repeated PathValue patches = 4; +} + + +// See k8s.io.api.core.v1.Affinity. +message Affinity { + NodeAffinity nodeAffinity = 1; + PodAffinity podAffinity = 2; + PodAntiAffinity podAntiAffinity = 3; +} + +// See k8s.io.api.core.v1.ConfigMapKeySelector. +message ConfigMapKeySelector { + LocalObjectReference localObjectReference = 1; + string key = 2; + bool optional = 3; +} + +// See k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricSource. +message ContainerResourceMetricSource { + string name = 1; + MetricTarget target = 2; + string container = 3; +} + +// See k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricStatus. +message ContainerResourceMetricStatus { + string name = 1; + MetricValueStatus current = 2; + string container = 3; +} + +// See k8s.io.api.core.v1.ClientIPConfig. +message ClientIPConfig { + int32 timeoutSeconds = 1; +} + +// See k8s.io.api.autoscaling.v2beta2.CrossVersionObjectReference. +message CrossVersionObjectReference { + string kind = 1; + string name = 2; + string apiVersion = 3; +} + +// See k8s.io.api.apps.v1.DeploymentStrategy. +message DeploymentStrategy { + string type = 1; + RollingUpdateDeployment rollingUpdate = 2; +} + +// See k8s.io.api.core.v1.EnvVar. +message EnvVar { + string name = 1; + string value = 2; + EnvVarSource valueFrom = 3; +} + +// See k8s.io.api.core.v1.EnvVarSource. +message EnvVarSource { + ObjectFieldSelector fieldRef = 1; + ResourceFieldSelector resourceFieldRef = 2; + ConfigMapKeySelector configMapKeyRef = 3; + SecretKeySelector secretKeyRef = 4; +} + +// See k8s.io.api.core.v1.ExecAction. +message ExecAction { + repeated string command = 1; +} + +// See k8s.io.api.autoscaling.v2beta2.ExternalMetricSource. +message ExternalMetricSource { + string metricName = 1 [deprecated = true]; + // For information about the value format, see the [Kubernetes API reference documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#labelselector-v1-meta). + k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2 [deprecated = true]; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value targetValue = 3 [deprecated = true, (.solo.io.cue.opt).disable_openapi_validation = true]; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value targetAverageValue = 4 [deprecated = true, (.solo.io.cue.opt).disable_openapi_validation = true]; + MetricIdentifier metric = 5; + MetricTarget target = 6; +} + +// See k8s.io.autoscaling.v2beta2.ExternalMetricStatus. +message ExternalMetricStatus { + MetricIdentifier metric = 1; + MetricValueStatus current = 2; +} + +// See k8s.io.api.core.v1.HTTPGetAction. +message HTTPGetAction { + string path = 1; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value port = 2 [(.solo.io.cue.opt).disable_openapi_validation = true]; + string host = 3; + string scheme = 4; + repeated HTTPHeader httpHeaders = 5; +} + +// See k8s.io.api.core.v1.HTTPHeader. +message HTTPHeader { + string name = 1; + string value = 2; +} + +// See k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec. +message HorizontalPodAutoscalerSpec { + CrossVersionObjectReference scaleTargetRef = 1; + int32 minReplicas = 2; + int32 maxReplicas = 3; + repeated MetricSpec metrics = 4; + HorizontalPodAutoScalerBehavior behavior = 5; +} + +// See k8s.io.autoscaling.v2beta2.HorizontalPodAutoScalerBehavior. +message HorizontalPodAutoScalerBehavior { + HPAScalingRules scaleUp = 1; + HPAScalingRules scaleDown = 2; +} + +// See k8s.io.autoscaling.v2beta2.HPAScalingRules. +message HPAScalingRules { + int32 stabilizationWindowSeconds = 3; + string selectPolicy = 1; + HPAScalingPolicy policies = 2; +} + +// See k8s.io.autoscaling.v2beta2.HPAScalingPolicy. +message HPAScalingPolicy { + string type = 1; + int32 value = 2; + int32 periodSeconds = 3; +} + +// See k8s.io.api.core.v1.LocalObjectReference. +message LocalObjectReference { + string name = 1; +} + +// See k8s.io.autoscaling.v2beta2.MetricIdentifier. +message MetricIdentifier { + string name = 1; + // For information about the value format, see the [Kubernetes API reference documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#labelselector-v1-meta). + k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; +} + +// See k8s.io.autoscaling.v2beta2.MetricSpec. +message MetricSpec { + string type = 1; + ObjectMetricSource object = 2; + PodsMetricSource pods = 3; + ResourceMetricSource resource = 4; + ContainerResourceMetricSource containerResource = 7; + ExternalMetricSource external = 5; +} + +// See k8s.io.autoscaling.v2beta2.MetricStatus. +message MetricStatus { + string type = 1; + ObjectMetricStatus object = 2; + PodsMetricStatus pods = 3; + ResourceMetricStatus resource = 4; + ContainerResourceMetricStatus containerResource = 7; + ExternalMetricStatus external = 5; +} + +// See k8s.io.autoscaling.v2beta2.MetricTarget. +message MetricTarget { + string type = 1; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value value = 2 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value averageValue = 3 [(.solo.io.cue.opt).disable_openapi_validation = true]; + int32 averageUtilization = 4; +} + +// See k8s.io.autoscaling.v2beta2.MetricValueStatus. +message MetricValueStatus { + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value value = 1 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value averageValue = 2 [(.solo.io.cue.opt).disable_openapi_validation = true]; + int32 averageUtilization = 3; +} + +// See k8s.io.api.core.v1.NodeAffinity. +message NodeAffinity { + NodeSelector requiredDuringSchedulingIgnoredDuringExecution = 1; + repeated PreferredSchedulingTerm preferredDuringSchedulingIgnoredDuringExecution = 2; +} + +// See k8s.io.api.core.v1.NodeSelector. +message NodeSelector { + repeated NodeSelectorTerm nodeSelectorTerms = 1; +} + +// See k8s.io.api.core.v1.NodeSelectorTerm. +message NodeSelectorTerm { + repeated NodeSelectorRequirement matchExpressions = 1; + repeated NodeSelectorRequirement matchFields = 2; +} + +// See k8s.io.api.core.v1.NodeSelectorRequirement. +message NodeSelectorRequirement { + string key = 1; + string operator = 2; + repeated string values = 3; +} + +// See k8s.io.api.core.v1.ObjectFieldSelector. +message ObjectFieldSelector { + string apiVersion = 1; + string fieldPath = 2; +} + +// From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta. +message ObjectMeta { + string name = 5; + string namespace = 6; +} + +// See k8s.io.autoscaling.v2beta2.ObjectMetricSource. +message ObjectMetricSource { + string metricName = 2 [deprecated = true]; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value targetValue = 3 [deprecated = true, (.solo.io.cue.opt).disable_openapi_validation = true]; + // For information about the value format, see the [Kubernetes API reference documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#labelselector-v1-meta). + k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4 [deprecated = true]; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value averageValue = 5 [deprecated = true, (.solo.io.cue.opt).disable_openapi_validation = true]; + // Type changes from CrossVersionObjectReference to ResourceMetricTarget in autoscaling v2beta2/v2 compared with v2beta1 + // Change it to dynamic type to keep backward compatible + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value target = 1 [(.solo.io.cue.opt).disable_openapi_validation = true]; + CrossVersionObjectReference describedObject = 6; + MetricIdentifier metric = 8; +} + +// See k8s.io.autoscaling.v2beta2.ObjectMetricStatus. +message ObjectMetricStatus { + MetricIdentifier metric = 1; + MetricValueStatus current = 2; + CrossVersionObjectReference describedObject = 3; +} + +// See k8s.io.api.core.v1.PodAffinity. +message PodAffinity { + repeated PodAffinityTerm requiredDuringSchedulingIgnoredDuringExecution = 1; + repeated WeightedPodAffinityTerm preferredDuringSchedulingIgnoredDuringExecution = 2; +} + +// See k8s.io.api.core.v1.PodAntiAffinity. +message PodAntiAffinity { + repeated PodAffinityTerm requiredDuringSchedulingIgnoredDuringExecution = 1; + repeated WeightedPodAffinityTerm preferredDuringSchedulingIgnoredDuringExecution = 2; +} + +// See k8s.io.api.core.v1.PodAntiAffinity. +message PodAffinityTerm { + // For information about the value format, see the [Kubernetes API reference documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#labelselector-v1-meta). + k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector labelSelector = 1; + repeated string namespaces = 2; + string topologyKey = 3; +} + +// See k8s.io.api.policy.v1beta1.PodDisruptionBudget. +message PodDisruptionBudgetSpec { + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value minAvailable = 1 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // For information about the value format, see the [Kubernetes API reference documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#labelselector-v1-meta). + k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value maxUnavailable = 3 [(.solo.io.cue.opt).disable_openapi_validation = true]; +} + +// See k8s.io.autoscaling.v2beta2.PodsMetricSource. +message PodsMetricSource { + string metricName = 1 [deprecated = true]; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value targetAverageValue = 2 [deprecated = true, (.solo.io.cue.opt).disable_openapi_validation = true]; + // For information about the value format, see the [Kubernetes API reference documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#labelselector-v1-meta). + k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3 [deprecated = true]; + // v2beta2/v2 fields + MetricIdentifier metric = 4; + MetricTarget target = 5; +} + +// See k8s.io.autoscaling.v2beta2.PodsMetricStatus. +message PodsMetricStatus { + MetricIdentifier metric = 1; + MetricValueStatus current = 2; +} + +// See k8s.io.api.core.v1.PreferredSchedulingTerm. +message PreferredSchedulingTerm { + int32 weight = 1; + NodeSelectorTerm preference = 2; +} + +// See k8s.io.api.core.v1.ReadinessProbe. +message ReadinessProbe { + ExecAction exec = 1; + HTTPGetAction httpGet = 2; + TCPSocketAction tcpSocket = 3; + int32 initialDelaySeconds = 4; + int32 timeoutSeconds = 5; + int32 periodSeconds = 6; + int32 successThreshold = 7; + int32 failureThreshold = 8; +} + +// See k8s.io.api.core.v1.. +message ResourceFieldSelector { + string containerName = 1; + string resource = 2; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value divisor = 3 [(.solo.io.cue.opt).disable_openapi_validation = true]; +} + +// See k8s.io.autoscaling.v2beta2.ResourceMetricSource. +message ResourceMetricSource { + string name = 1; + int32 targetAverageUtilization = 2 [deprecated = true]; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value targetAverageValue = 3 [deprecated = true, (.solo.io.cue.opt).disable_openapi_validation = true]; + MetricTarget target = 4; +} + +// See k8s.io.autoscaling.v2beta2.ResourceMetricStatus. +message ResourceMetricStatus { + string name = 1; + MetricValueStatus current = 2; +} + +// See k8s.io.api.core.v1.ResourceRequirements. +message Resources { + map limits = 1; + map requests = 2; +} + +// See k8s.io.api.apps.v1.RollingUpdateDeployment. +message RollingUpdateDeployment { + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value maxUnavailable = 1 [(.solo.io.cue.opt).disable_openapi_validation = true]; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value maxSurge = 2 [(.solo.io.cue.opt).disable_openapi_validation = true]; +} + +// See k8s.io.api.core.v1.SecretKeySelector. +message SecretKeySelector { + LocalObjectReference localObjectReference = 1; + string key = 2; + bool optional = 3; +} + +// See k8s.io.api.core.v1.ServiceSpec. +message ServiceSpec { + repeated ServicePort ports = 1; + map selector = 2; + string clusterIP = 3; + string type = 4; + repeated string externalIPs = 5; + string sessionAffinity = 7; + string loadBalancerIP = 8; + repeated string loadBalancerSourceRanges = 9; + string externalName = 10; + string externalTrafficPolicy = 11; + int32 healthCheckNodePort = 12; + bool publishNotReadyAddresses = 13; + SessionAffinityConfig sessionAffinityConfig = 14; +} + +// See k8s.io.api.core.v1.. +message ServicePort { + string name = 1; + string protocol = 2; + int32 port = 3; + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value targetPort = 4 [(.solo.io.cue.opt).disable_openapi_validation = true]; + int32 nodePort = 5; +} + +// See k8s.io.api.core.v1.SessionAffinityConfig. +message SessionAffinityConfig { + ClientIPConfig clientIP = 1; +} + +// See k8s.io.api.core.v1.TCPSocketAction. +message TCPSocketAction { + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value port = 1 [(.solo.io.cue.opt).disable_openapi_validation = true]; + string host = 2; +} + +// See k8s.io.api.core.v1.Toleration. +message Toleration { + string key = 1; + string operator = 2; + string value = 3; + string effect = 4; + int64 tolerationSeconds = 5; +} + +// See k8s.io.api.core.v1.WeightedPodAffinityTerm. +message WeightedPodAffinityTerm { + int32 weight = 1; + PodAffinityTerm podAffinityTerm = 2; +} + +// See k8s.io.api.core.v1.PodSecurityContext. +message PodSecurityContext { + SELinuxOptions seLinuxOptions = 1; + int64 runAsUser = 2; + bool runAsNonRoot = 3; + repeated int64 supplementalGroups = 4; + int64 fsGroup = 5; + int64 runAsGroup = 6; + repeated Sysctl sysctls = 7; + WindowsSecurityContextOptions windowsOptions = 8; + string fsGroupChangePolicy = 9; + SeccompProfile seccompProfile = 10; +} + +// See k8s.io.api.core.v1.SELinuxOptions. +message SELinuxOptions { + string user = 1; + string role = 2; + string type = 3; + string level = 4; +} + + +// See k8s.io.api.core.v1.Sysctl. +message Sysctl { + string name = 1; + string value = 2; +} + +// See k8s.io.api.core.v1.WindowsSecurityContextOptions. +message WindowsSecurityContextOptions { + string gmsaCredentialSpecName = 1; + string gmsaCredentialSpec = 2; + string runAsUserName = 3; +} + +// See k8s.io.api.core.v1.SeccompProfile. +message SeccompProfile { + string type = 1; + string localhostProfile = 2; +} \ No newline at end of file diff --git a/api/gloo.solo.io/common/v2/keepalive.proto b/api/gloo.solo.io/common/v2/keepalive.proto new file mode 100644 index 000000000..e16f9cea7 --- /dev/null +++ b/api/gloo.solo.io/common/v2/keepalive.proto @@ -0,0 +1,29 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; +import "google/protobuf/duration.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +// Configure TCP keepalive for the ingress gateways of all meshes in this VirtualMesh. +message TCPKeepalive { + + // Maximum number of TCP keepalive probes to send before determining that connection is dead. + uint32 probes = 1; + + // The time duration a connection needs to be idle before keep-alive probes start being sent. + // Format examples: `1h`/`1m`/`1s`/`1ms`. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration time = 2; + + // The time duration between keep-alive probes. + // Format examples: `1h`/`1m`/`1s`/`1ms` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration interval = 3; +} \ No newline at end of file diff --git a/api/gloo.solo.io/common/v2/locality.proto b/api/gloo.solo.io/common/v2/locality.proto new file mode 100644 index 000000000..3b82a66cb --- /dev/null +++ b/api/gloo.solo.io/common/v2/locality.proto @@ -0,0 +1,31 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +// A locality defines the geographic location of a workload instance. +message Locality { + + // Represents a large geographic area, such as us-east1. A region typically contains a number of availability zones. + // A workload's region is determined by the value of the "topology.kubernetes.io/region" label (or the deprecated + // "failure-domain.beta.kubernetes.io/region" one) of the Node + // that is running it. + string region = 1; + + // Represents an availability zone within a region, e.g. us-east-1a. + // A workload's zone is determined by the value of the "topology.kubernetes.io/zone" label (or the deprecated + // "failure-domain.beta.kubernetes.io/zone" one) of the Node that is running it. + string zone = 2; + + // A zone can be divided into sub-zones to have even more fine-grained control over load balancing behavior. + // The sub-zone concept doesn't exist in Kubernetes. This value is derived by the Istio-specific + // "topology.istio.io/subzone" Node label. + string sub_zone = 3; +} diff --git a/api/gloo.solo.io/common/v2/phase.proto b/api/gloo.solo.io/common/v2/phase.proto new file mode 100644 index 000000000..e6e4e63d9 --- /dev/null +++ b/api/gloo.solo.io/common/v2/phase.proto @@ -0,0 +1,57 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +// Prioritized phase is the phase at which a given policy should be applied. +// The 2 pre-defined phases are "pre" and "post" AuthZ. In addition to the phase, you can +// specify a priority to indicate at what point this policy should be applied relative to other policies +// defined in the same phase. +// For Example, if you have the following policies defined with phases and priorities: +// ``` +// 1. +// phase: +// preAuthz: +// priority: 1 +// 2. +// phase: +// preAuthz: +// priority: -1 +// 3. +// phase: +// preAuthz: {} +// ``` +// The policies will be run in the following order: `(2, 3, 1)`. +// +// Note: The default phase is defined per policy type which you can find in the policy reference documentation. +// The following policies currently implement prioritized staging: +// - RateLimit +// - JwtAuth +// - Transformation +message PrioritizedPhase { + + // A message that describes each individual phase. + message Phase { + // The priority at which this policy should be applied relative to other policies defined in the same phase. + // The lowest priority will be run first and the default priority value is 0. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/int32-value). + google.protobuf.Int32Value priority = 1; + } + + oneof phase { + // Apply this policy before Authorization policies are applied. + Phase pre_authz = 1; + + // Apply this policy after Authorization policies are applied. + Phase post_authz = 2; + } + +} \ No newline at end of file diff --git a/api/gloo.solo.io/common/v2/port.proto b/api/gloo.solo.io/common/v2/port.proto new file mode 100644 index 000000000..1c1d2a859 --- /dev/null +++ b/api/gloo.solo.io/common/v2/port.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +// selects an individual port by number or name +message PortSelector { + oneof specifier { + // the number of the port on the destination objects being targeted. + uint32 number = 4; + + // the name of the port on the destination objects being targeted. + string name = 5; + } +} diff --git a/api/gloo.solo.io/common/v2/portal_metadata.proto b/api/gloo.solo.io/common/v2/portal_metadata.proto new file mode 100644 index 000000000..05feabe4b --- /dev/null +++ b/api/gloo.solo.io/common/v2/portal_metadata.proto @@ -0,0 +1,55 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + + +// With [Portal](https://docs.solo.io/gloo-gateway/main/portal/) installed as part of Gloo Platform, +// you can use route tables to bundle together individual routes into an API product. +// When the Portal resource selects your route table, Gloo automatically generates an OpenAPI specification for the API product, +// which includes all of the routes. You can use this `PortalMetadata` setting to customize details about your API product, +// such as by providing a title, description, terms of service, licensing, and lifecycle management information. +// After you deploy a frontend application for your portal, your end users can review the metadata in the portal to help them use your API products. +message PortalMetadata { + // This field is required to enable the Portal feature. + // Group APIs from multiple route tables together as an API product in the portal. + // For example, you might have separate route tables that route to different `v1` and `v2` versions of your `billing` services that have their own OpenAPI specs. + // By setting the `apiProductId` metadata to the same `billing-api` value in each route table, + // the [/apis](https://docs.solo.io/gloo-gateway/main/portal/openapi/redocly/#tag/APIs/operation/ListAPIs) endpoint in the portal server returns the same `apiProduct` in the response. + // Then, these APIs are grouped together and shown as a single `billing` API product with multiple `v1` and `v2` versions in the frontend portal for your end users to discover and use. + string api_product_id = 1; + // Optional: Give a name for the API product to display in the frontend portal. If omitted, the `apiProductId` value is used as the display name. + // If `api_product_display_name` is set to a different value in each route table that has the same `apiProductId` value, + // then the `api_product_display_name` value from the route table with the oldest creation timestamp is used. + string api_product_display_name = 2; + // This field is required to enable the Portal feature. + // The version of the API in context of the api product. + // You cannot have multiple `apiVersion` values for the same `apiProductId` value, and you must set `apiProductId` to use `apiVersion`. + // For example, if you have two route tables that both set `apiProductId` to `billing-api`, then one route table can also set `apiVersion` to `v1` and the other to `v2`. + // But both route tables cannot set the `apiVersion` to `v1`. + string api_version = 3; + // The title of the openAPI specification for this API. + string title = 4; + // The description of the openAPI specification for this API. + string description = 5; + // The terms of service of the openAPI specification for this API. + string terms_of_service = 6; + // The contact information of the openAPI specification for this API. + string contact = 7; + // The license of the openAPI specification for this API. + string license = 8; + // Describes the current lifecycle stage of the API. + string lifecycle = 9; + // Provide key-value pairs of any custom metadata that you want to show end users in the frontend portal for this API product. + // In particular, you might provide information about your API lifecycle management policies, + // such as `phase=supported`, `phase=deprecated`, `compatibility=backwards`, or other product information. + // Furthermore, the key-value pairs are added to the API Usage & Analytics data for incoming requests to this API product. + map custom_metadata = 10; +} diff --git a/api/gloo.solo.io/common/v2/references.proto b/api/gloo.solo.io/common/v2/references.proto new file mode 100644 index 000000000..3acadf675 --- /dev/null +++ b/api/gloo.solo.io/common/v2/references.proto @@ -0,0 +1,110 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/port.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/cloud_provider_options.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +message WorkloadReference { + ObjectReference ref = 1; + + WorkloadKind kind = 2; + + // References the supported types for the Workload interface in pkg/utils/workloadutils/workload_types.go + enum WorkloadKind { + DEPLOYMENT = 0; + DAEMON_SET = 1; + STATEFUL_SET = 2; + REPLICA_SET = 3; + } +} + +// reference to a Kubernetes API object. +// Kube API objects are referenced explicitly by the namespace and cluster containing them. +message ObjectReference { + // the name of the object + string name = 1; + + // the namespace of the object. If omitted, Gloo Mesh will use the same namespace as the parent object containing this reference. + string namespace = 2; + + // the cluster of the object. If omitted, Gloo Mesh will use the same cluster as the parent object containing this reference. + string cluster = 3; +} + +// Destinations point to the upstream services that fulfill client requests on matching routes that you set up, such as in a route table. Each destination must resolve to one and only one hostname. +// +// Destinations can refer to a variety of resources. The behavior of the route action +// varies depending on the kind of destination. +// +// Currently supported destination types are: +// - Kubernetes `Service`, the default destination. +// - Gloo `VirtualDestination` to route traffic to one of the VirtualDestination's backing Kubernetes services. +// - Gloo `ExternalService` to route traffic to a static set of service endpoints that are external to your mesh setup. +// - Gloo `ExternalWorkload` to route traffic to external workloads that are part of your mesh. +// - Gloo `CloudProvider` to route traffic to a cloud provider function such as AWS Lambdas, selected by using the `functionCall` field. +// +// HTTP routes support all destinations. TCP routes support only Kubernetes `Service` and Gloo `VirtualDestination` destinations. +message DestinationReference { + + // reference used to match destination objects by their metadata + oneof ref_kind { + // reference to a Kubernetes destination object by its metadata + ObjectReference ref = 1; + + // Reference an AWS Lambda function. + AWSLambdaReference aws_lambda = 6; + } + + + // the kind of Kubernetes destination being referenced. defaults to Service. + // Only applicable for Kubernetes destinations. For non Kubernetes destinations, this field is ignored. + DestinationKind kind = 2; + + // the port on the destination object being targeted. required if the object provides more than one port. + .common.gloo.solo.io.PortSelector port = 3; + + // select a subset of the destination's endpoints for routing based on their labels. + // Only applicable for Kubernetes destinations. + map subset = 4; + + // Specify the proportion of traffic to be forwarded to this destination. + // Weights across all of the `destinations` must sum to 100. + // Weight is only relevant when used in the context of a route with multiple destinations. + uint32 weight = 5; + +} + +// A reference to an AWS Lambda Function to use as a routing destination +message AWSLambdaReference { + // Reference to the AWS Cloud Provider. + ObjectReference cloud_provider = 1; + + // Name of the function to reference. + string function = 2; + + // Qualifier of the function to reference. Defaults to $LATEST + string qualifier = 3; + + // Specify how the destinations should be configured, for configuring lambda functions. + // If the destination config is required for the destination and not provided by the user, Gloo will invalidate the + // destination and its parent resources. + .common.gloo.solo.io.LambdaOptions options = 4; +} + +// ListenerPortReference identifies a single listener in a VirtualGateway by port number +message ListenerPortReference { + // The gateway containing the listener. + ObjectReference gateway_ref = 1; + + // The port of the listener on the gateway. + uint32 port = 2; +} diff --git a/api/gloo.solo.io/common/v2/selectors.proto b/api/gloo.solo.io/common/v2/selectors.proto new file mode 100644 index 000000000..072820d8f --- /dev/null +++ b/api/gloo.solo.io/common/v2/selectors.proto @@ -0,0 +1,279 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/port.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/cloud_provider_options.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// selects zero or more Kubernetes API resources by matching on labels, name, namespace, cluster, and workspace. +message ObjectSelector { + // labels matching those of the object + map labels = 1; + + // Only select objects with the matching name. If omitted, Gloo selects + // matching objects with any name available in the parent object's workspace. + string name = 2; + + // Only select objects in the matching namespace. If omitted, Gloo selects + // matching objects across all namespaces available in the parent object's workspace. + string namespace = 3; + + // Only select objects in the matching cluster. If omitted, Gloo selects + // matching objects across all clusters available in the parent object's workspace. + string cluster = 4; + + // Only select objects in the given workspace. If omitted, Gloo selects + // matching objects across all workspaces available in the parent object's workspace. + string workspace = 5; +} + +// DestinationSelector is a selector for matching routable destinations for routes. +// DestinationSelectors can select a variety of object types. The behavior of the route action +// will vary depending on the type of destination selected. Defaults to the kubernetes `v1/Service`. +// Currently supported destination types: +// - v1 Service +// - networking.gloo.solo.io/v2 VirtualDestination (route traffic to a group of backing destinations) +// - networking.gloo.solo.io/v2 ExternalService (route traffic to a static set of service endpoints external to the mesh) +message DestinationSelector { + + // The selector used to match destination objects by their metadata + ObjectSelector selector = 1; + + // The kind of destination being selected. defaults to Kubernetes Service. + DestinationKind kind = 2; + + // The port on the Destination which receives traffic. + // All ports on the Destination will be selected if left empty. + PortSelector port = 3; + + // + // Select subsets of the destination. + // map subset = 5; +} + +// Supported Kinds which can be selected by routes. +enum DestinationKind { + // Select a Kubernetes Service + SERVICE = 0; + // Select a Virtual Destination + VIRTUAL_DESTINATION = 1; + // Select an External Service + EXTERNAL_SERVICE = 2; +} + +// RouteDestinationSelector is a Selector specifically built for individual destinations on individual Routes inside of RouteTables. +message RouteDestinationSelector { + // select routes based on their labels. + // these labels can be used to match route tables or individual routes within route tables. + // If empty, configuration will apply to all specified destinations on all routes in the workspace. + RouteLabelSelector route = 1; + + // for the selected routes, select destinations on which to apply this policy + repeated DestinationSelector on_destinations = 2; +} + +// RouteLabelSelector is used to select the details of a route primarily by label. The selection may be further +// restricted by namespace, cluster, and workspace. +message RouteLabelSelector { + // Select routes including all specified labels on the route or route table. + map labels = 1; + + // Only select routes attached to route tables matching the namespace. + string namespace = 3; + + // Only select routes attached to route tables matching the cluster. + string cluster = 4; + + // Only select routes attached to route tables matching the workspace. + string workspace = 5; +} + +// RouteSelector is a Selector specifically built for individual Routes inside of RouteTables. +// +// This selector can be used to select individual routes or entire route tables using the same label selector. +message RouteSelector { + + // routes can be selected based on properties of routes or the destinations to which the routes point (if they are using `forwardTo` actions). + oneof selector_type { + // select routes based on their labels. + // these labels can be used to match route tables or individual routes within route tables. + RouteLabelSelector route = 1; + + // select routes with `forwardTo` actions based on their destinations. + // this can be used to apply policy to routes regardless of + // their labels + DestinationSelector with_destinations = 2; + + } +} + +message RouteFilter { + // Optional: filter out route tables that specify CloudProvider functionality, if provided. + .common.gloo.solo.io.CloudProviderFilterOptions cloud_provider = 3; +} + +// ListenerSelector is a selector for a listener on a VirtualGateway. +message ListenerSelector { + // The virtual gateway on which to select a listener. + ObjectSelector virtual_gateway = 1; + + // The port to select on the selected listener. + PortSelector port = 2; +} + +// WorkloadSelector is a Selector specifically built for selecting individual workloads. +// Workloads must have injected (sidecars) or be standalone proxies (gateways) to be selected by Gloo Mesh policies. +// +// This selector can be used to select pods or injected external endpoints (vms). +message WorkloadSelector { + + // Selector used to match Workload objects by their metadata. + ObjectSelector selector = 1; + + // The kind of workload being selected. Defaults to Kube. + WorkloadKind kind = 2; + + // The port to select on the selected workloads. + // Only applies to policies which select specific workload ports, such as the WasmDeploymentPolicy. + PortSelector port = 4; + + enum WorkloadKind { + // Select kubernetes workloads (deployment, statefulset, daemonset, etc.). + KUBE = 0; + + // Select vms which are external, non-kube workloads. + VM = 1; + } +} + +// IdentitySelector is a Selector specifically built for selecting client identities for security policies. +message IdentitySelector { + + // Select kubernetes service accounts as identities. + // When selecting a service account that will be created in the future for use in a AuthorizationPolicy, ONLY provide the name, namespace and cluster where the service account will exist in the selector. + // Providing labels and/or the workspace, or omitting the name, namespace or cluster for a service account that does not exist in the selector will not result in that service account being added to the resulting AuthorizationPolicy. + ObjectSelector service_account_selector = 1; + + // Select external workloads. + ObjectSelector external_workload_selector = 3; + + // Select identities based on properties of the request. If multiple fields are set, they are ANDed together. + // More information about the individual values can be found here: https://istio.io/latest/docs/reference/config/security/authorization-policy/#Source + RequestIdentityMatcher request_identity_matcher = 2; + + message RequestIdentityMatcher { + + /* + Optional: A list of identities to match the request identity ("iss/sub" from the JWT). + If omitted all request identity values will be accepted. + */ + repeated string requestPrincipals = 3; + + /* + Optional: A list of identities to negative match the request identity. + */ + repeated string notRequestPrincipals = 4; + } +} + +// Select clusters and namespaces for a workspace +message ClusterSelector { + // Optional: Name of the cluster to select. + // Use * to match name patterns in multiple clusters name. + string name = 1; + + // Optional: Include workload clusters in the workspace by using a selector. + // The selector matches the selector values in the KubernetesCluster resource on the management cluster. + // Selector is a map of {key,value} pairs. A single {key,value} in the selector + // map is equivalent to an element of labelRequirements, whose key field is "key", the + // operator is "In", and the values array contains only "value". The requirements are ANDed. + map selector = 2; + + // Select the namespaces in the cluster(s) to include in the workspace. If you do not select any namespaces, the workspace is empty and results in an error. + repeated NamespaceSelector namespaces = 4; + + // Optional: Read Gloo configuration from specific clusters and namespaces that are included in a workspace. + // If this field is omitted and not explicitly set for any cluster or namespace in a workspace, config_enabled is + // automatically set to true, and Gloo configuration is read for all clusters and namespaces in that workspace. + // If set to true on a specific namespace or cluster, Gloo configuration is read for that particular namespace or cluster, + // but ignored from all other namespaces and clusters in that workspace that do not explicitly set config_enabled to true. + bool config_enabled = 5; + + // Select namespaces for the selected cluster(s) + message NamespaceSelector { + // Name of the namespace to select. + // Can use * to match name patterns in multiple namespaces. + // Note: When this field is used in conjunction with "labels", both conditions are ANDed together. + string name = 1; + + // Optional: Enable configuration from this namespace. (default: true unless explicitly enabled for any selected clusters or namespaces) + bool config_enabled = 2; + + // Optional: Select groups of namespaces via labels. + // Leaving this field empty will NOT select all namespaces, but rather be ignored. + // Note: When this field is used in conjunction with "name", both conditions are ANDed together. + map labels = 3; + } +} + +// MeshSelector is a Selector built for selecting instances of Mesh control planes. A control plane is understood to have a single domain and provide a single root of trust for the data plane proxies it is managing. Each revision of Istiod maps +message MeshSelector { + + // includes all supported meshes (e.g. Istio) + oneof mesh_type { + // options for selecting istio Mesh control planes. + Istio istio = 1; + + // + + } + + message Istio { + // istio.io/revision of Istio to select. regex supported. + // omit to select across all revisions. + string revision = 1; + + // match the name of the namespace where istiod is deployed. + // omit to select across all namespaces. + string namespace = 2; + + // match the labels of the cluster where istiod is deployed. + // omit to select across all clusters. + map cluster_selector = 3; + + // select via the labels of the istiod deployment. + // omit to select across all labels. + map selector = 4; + + } +} + +// WorkspaceSelector is a selector for workspaces. +message WorkspaceSelector { + + // Optional: Name of the workspace to select. + // Use * to match name patterns in multiple workspace names. + string name = 1; + + // Optional: Select workspaces based on their labels, + // such as setting `selector` to `team: backend`. + map selector = 2; + +} + +// TargetRef is mirrored from the Kubernetes Gateway API. +// $hide_from_docs +message TargetRef { + string group = 1; + string kind = 2; + string name = 3; + string namespace = 4; + string section_name = 5; +} \ No newline at end of file diff --git a/api/gloo.solo.io/common/v2/status.proto b/api/gloo.solo.io/common/v2/status.proto new file mode 100644 index 000000000..94ccb6261 --- /dev/null +++ b/api/gloo.solo.io/common/v2/status.proto @@ -0,0 +1,92 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +message Status { + State State = 1; + + // A map of ApprovalState to the number of workspaces in this condition, e.g., + // "Accepted" -> 2 + // "Pending" -> 1 + map workspace_conditions = 2; +} + +message State { + // The most recent generation observed in the object's metadata. + // If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh + // has not processed the most recent version of this object. + int64 observed_generation = 1; + + // Whether the resource has been accepted as valid and processed in the Gloo + // Mesh config translation. + ApprovalState approval = 2; + + // Additional information about the current state of the resource. + string message = 3; +} + +// $hide_from_docs +message Report { + // The state of the resource in each cluster that receives its configuration. + map clusters = 1; +} + +// Indicates selected routes on status messages. +message RouteReference { + // The name of the route + string route_name = 1; + + // The index of the route on the route table + int32 route_index = 2; + + // The route table containing the route + ObjectReference route_table = 3; +} + +message AppliedDestinationPortPolicies { + // List of applied destination port policies + repeated DestinationPolicyReference policies = 1; + + message DestinationPolicyReference { + // the port on the destination object that the policy applies to + int32 destination_port = 1; + + // the kind of destination object that the policy applies to + DestinationKind destination_kind = 2; + + // The reference to the policy + ObjectReference policy = 3; + } +} + +message AppliedRoutePolicies { + // List of applied route policies + repeated RoutePolicyReference policies = 1; + + message RoutePolicyReference { + // The name of the route that the policy is applied to + string route_name = 1; + + // The index of the route on the route table + int32 route_index = 2; + + // The reference to the policy + ObjectReference policy = 3; + } +} + +message AppliedWorkloadPolicies { + // Policies on the workload + repeated ObjectReference policies = 1; +} diff --git a/api/gloo.solo.io/common/v2/string_match.proto b/api/gloo.solo.io/common/v2/string_match.proto new file mode 100644 index 000000000..bccdd2546 --- /dev/null +++ b/api/gloo.solo.io/common/v2/string_match.proto @@ -0,0 +1,35 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +// Describes how to match a given string in HTTP headers. Match is case-sensitive. +message StringMatch { + + // The string match type. + oneof match_type { + + // Exact string match. + string exact = 1; + + // Prefix-based match. + string prefix = 2; + + // [Re2 style regex-based match](https://github.com/google/re2/wiki/). + string regex = 3; + + // Warning! Suffix-based matching is not currently supported in Gloo Platform. + string suffix = 4; + + } + + //If true, indicates the exact/prefix/suffix matching should be case insensitive. This has no effect for the regex match. + bool ignore_case = 5; +} diff --git a/api/gloo.solo.io/common/v2/tcp_matchers.proto b/api/gloo.solo.io/common/v2/tcp_matchers.proto new file mode 100644 index 000000000..d60efa452 --- /dev/null +++ b/api/gloo.solo.io/common/v2/tcp_matchers.proto @@ -0,0 +1,19 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/string_match.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +// Specify TCP request matchers. Matchers are criteria such as a port to match with an incoming request. +message TCPRequestMatcher { + + // Specify the port on the host defined in the route table to match with incoming TCP requests. + uint32 port = 1; +} diff --git a/api/gloo.solo.io/common/v2/tls_matchers.proto b/api/gloo.solo.io/common/v2/tls_matchers.proto new file mode 100644 index 000000000..a65b83251 --- /dev/null +++ b/api/gloo.solo.io/common/v2/tls_matchers.proto @@ -0,0 +1,23 @@ +syntax = "proto3"; + +package common.gloo.solo.io; + +import "extproto/ext.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +// Specify TLS request matchers. Must provide an SNI host to match with an incoming request. +message TLSRequestMatcher { + + // Required: SNI (server name indicator) to match on. Wildcard prefixes can be used in the SNI value. + // For example, '*.com' matches 'foo.example.com' as well as 'example.com'. + // The SNI value must be a subset of the corresponding virtual service’s hosts. + repeated string sni_hosts = 1; + + // Optional: Port on the host to match against. + uint32 port = 2; +} diff --git a/api/gloo.solo.io/infrastructure/v2/cloud_provider.proto b/api/gloo.solo.io/infrastructure/v2/cloud_provider.proto new file mode 100644 index 000000000..216821b81 --- /dev/null +++ b/api/gloo.solo.io/infrastructure/v2/cloud_provider.proto @@ -0,0 +1,102 @@ +syntax = "proto3"; +package infrastructure.gloo.solo.io; +option go_package = "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2"; + +import "github.com/solo-io/skv2/api/core/v1/core.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +import "extproto/ext.proto"; +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// A CloudProvider is a representation of a cloud/infrastructure provider, and allows you to specify the configuration used to communicate +// with that cloud provider, as well as how to discover the set of backing functionality associated with that CloudProvider. +message CloudProviderSpec { + oneof provider { + // AWS cloud provider configuration. + AWSProvider aws = 1; + } +} + +// AWSProvider is the implementation for AWS, used for specifying how functionality should be discovered and which +// credentials should be used, unless otherwise discovered using the aws credentials in the workspace settings. +message AWSProvider { + // AWS account ID + string account_id = 1; + + // AWS region + string region = 2; + + // STS endpoint to reach out to for AWS credentials + string sts_endpoint = 3; + + // Lambda configuration + LambdaOptions lambda = 4; + + // LambdaOptions specifies options for configuring invocation and filtering of lambda functions + message LambdaOptions { + // Optional. The name of the IAM role to assume when calling the specified Cloud Function, associated with the account ID + // and region specified on the CloudProvider. If omitted, the IAM role specified on the gateway is used, + // unless referencing an imported CloudProvider. If importing a CloudProvider, you must specify this field. You can also + // specify a default invokeRole in a RouteTable by using the 'gloo.solo.io/defaultInvokeRole' annotation. + string invoke_role_name = 1; + + // Discovery of lambda functions + LambdaDiscovery discovery = 2; + + // LambdaDiscovery specifies options for discovering lambda functions + message LambdaDiscovery { + // Enable discovery of lambda functions. + bool enabled = 1; + + // Optional. The name of role to use for discovering CloudResources, associated with the account ID and region specified + // on the CloudProvider. If set, this name will be used to override the value found in the $AWS_ROLE_ARN environment variable + // on the mgmt-server pod. + string role_name = 2; + + // Lambda function configuration specifies how lambda functions will be discovered. + LambdaFilter filter = 3; + + message LambdaFilter { + // filter by the names of the functions. Functions that do not match this selector will not be included. Regex supported. + repeated string names = 1; + + // select only Lambda functions with the $LATEST version, to reduce the amount of discovered functions. If disabled, the + // generated resources will contain all versions associated with the functions specified. + bool latest_only = 2; + } + } + } +} + +// The status of the resource after it is applied to your Gloo environment. +message CloudProviderStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // A map of CloudResources to the number of routable functions + // provided by that CloudResource. + map num_applied_routable_functions = 2; + + // The number of CloudResources that back this CloudProvider. + uint32 num_child_cloud_resources = 3; +} + +// reflects the report of the Cloud Provider +message CloudProviderReport { + .common.gloo.solo.io.Report report = 1; + + message LambdaFunctions { + repeated string functions = 1; + } + + // A map of CloudResources to the number of routable functions + // provided by that CloudResource. + map applied_routable_functions = 2; + + // A list of CloudResources that back this CloudProvider. + repeated .common.gloo.solo.io.ObjectReference child_cloud_resources = 3; +} diff --git a/api/gloo.solo.io/infrastructure/v2/cloud_resources.proto b/api/gloo.solo.io/infrastructure/v2/cloud_resources.proto new file mode 100644 index 000000000..67cc98860 --- /dev/null +++ b/api/gloo.solo.io/infrastructure/v2/cloud_resources.proto @@ -0,0 +1,44 @@ +syntax = "proto3"; +package infrastructure.gloo.solo.io; +option go_package = "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2"; + +import "github.com/solo-io/skv2/api/core/v1/core.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +import "extproto/ext.proto"; +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// CloudResources are units of functionality that back a referenced CloudProvider resource. These bits of functionality +// can be referenced in the route table to route to the corresponding backend service. +message CloudResourcesSpec { + // The name of the cloud provider that this configuration references. Must live in the same namespace as the + // CloudResources. + string provider = 1; + + oneof provider_type { + // AWSResources discovered resources from AWS + AWSResources aws = 2; + } + + // AWSResources discovered resources from AWS + message AWSResources { + + // The list of lambda functions Gloo Mesh can route to for the AWS provider. + repeated Lambda lambda = 3; + + // Each Lambda Function contains data necessary for Gloo Mesh to invoke those functions: + message Lambda { + + // The Name of the Lambda Function as it appears in the AWS Lambda Portal + string lambda_function_name = 1; + + // The Qualifier for the Lambda Function. Qualifiers act as a kind of version + // for Lambda Functions. See https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html for more info. + string qualifier = 2; + + } + } +} diff --git a/api/gloo.solo.io/internal/insights/v2alpha1/insights.proto b/api/gloo.solo.io/internal/insights/v2alpha1/insights.proto new file mode 100644 index 000000000..e16c3cf6a --- /dev/null +++ b/api/gloo.solo.io/internal/insights/v2alpha1/insights.proto @@ -0,0 +1,267 @@ +syntax = "proto3"; + +package insights.internal.gloo.solo.io; + +import "github.com/solo-io/skv2/api/core/v1/core.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package="github.com/solo-io/solo-apis/client-go/insights.internal.gloo.solo.io/v2alpha1"; + + + +// +message Insight { + enum Severity { + // SEVERITY_UNSPECIFIED is the default SeverityNumber. It should not be used + // as all insights should have a severity. + SEVERITY_UNSPECIFIED = 0; + // guidance, suggestions, and best practices + INFO = 1; + // something may not work as expected + WARNING = 2; + // something is broken, will not work as expected + ERROR = 3; + } + + // Numerical value of the insight severity. + Severity severity = 1; + + // Time when the situation that caused the insight was last observed. + .google.protobuf.Timestamp last_observed = 2; + + // Time when the insight was generated. + .google.protobuf.Timestamp created = 3; + + message Code { + // The group of the code -- e.g. IST + string group = 1; + + // The key of the code -- e.g. 0102 + string key = 2; + } + // A code that identifies the situation that caused the insight. + // For example - IST0102 + Code code = 4; + + // A unique identifier for the insight. + string id = 5; + + // Static description of insght, intended for documentation purposes. + // Commented out for now, as we don't have a use case for it yet. If the use case is for docs this could be a docURL instead. (josh) + // string description = 6; + + message ClusterRef { + string name = 1; + } + + Target target = 7; + + message Target { + oneof target { + // The cluster that the insight was generated for. + ClusterRef cluster = 7; + + .core.skv2.solo.io.TypedClusterObjectRef resource = 8; + + bool global = 16; + } + } + + // An identifier of the instance of the analytics job that last produced the inisght. + // Used for garbage collection. + string last_source_exec_id = 9; + + // A short dynamic summary of this specific insight, derived by the insights engine. + string summary = 10; + + // A longer dynamic details of this specific insight with more context, derived by the insights engine. + string details = 11; + + // A flag for whether this is an internal system insight. + bool system = 12; + + // used for TTL based garbage collection + google.protobuf.Timestamp expirey_time = 13; + + // Time used internally to determine if an insight is potentially stale, this should be updated everytime the engine processes the insight. + google.protobuf.Timestamp last_processed_time = 14; + + // Storage for extra custom data that is output by the insights engine and consumed directly by the UI for custom components. + Data data = 15; + + message Data { + oneof data { + SYS0003Data SYS0003 = 18; + SYS0006Data SYS0006 = 19; + SYS0007Data SYS0007 = 20; + SYS0008Data SYS0008 = 21; + SYS0009Data SYS0009 = 22; + SYS0010Data SYS0010 = 23; + SYS0011Data SYS0011 = 24; + SYS0014Data SYS0014 = 27; + SYS0015Data SYS0015 = 28; + SYS0019Data SYS0019 = 29; // Adding so UI works for mock - might change later + SYS0020Data SYS0020 = 30; + SYS0025Data SYS0025 = 31; + SYS0021Data SYS0021 = 32; + SYS0022Data SYS0022 = 33; + SYS0023Data SYS0023 = 34; + } + } + + // Agent Deployent Reference + message SYS0003Data { + .core.skv2.solo.io.TypedClusterObjectRef deployment_ref = 1; + } + + // CRDs + message SYS0006Data { + string istio_version = 1; + } + + // root certificate + message SYS0007Data { + string hostname = 1; + string issued_to_cn = 2; + repeated string issued_to_organization = 3; + repeated string issued_to_organization_unit = 4; + string issued_from_cn = 5; + repeated string issued_from_organization = 6; + repeated string issued_from_organization_unit = 7; + google.protobuf.Timestamp issued_on = 8; + google.protobuf.Timestamp expires_on = 9; + repeated Fingerprints fingerprints = 10; + string subject_key_identifier = 11; + string authority_key_identifier = 12; + message Fingerprints { + string name = 1; + string value = 2; + } + } + + // intermediate certificate + message SYS0008Data { + string hostname = 1; + string issued_to_cn = 2; + repeated string issued_to_organization = 3; + repeated string issued_to_organization_unit = 4; + string issued_from_cn = 5; + repeated string issued_from_organization = 6; + repeated string issued_from_organization_unit = 7; + google.protobuf.Timestamp issued_on = 8; + google.protobuf.Timestamp expires_on = 9; + repeated Fingerprints fingerprints = 10; + string subject_key_identifier = 11; + string authority_key_identifier = 12; + message Fingerprints { + string name = 1; + string value = 2; + } + } + + // Istio Gateway certificates + message SYS0015Data { + repeated ReferencedCertificateSecret certificates = 1; + } + + // Kubernetes Gateway certificates + message SYS0025Data { + repeated ReferencedCertificateSecret certificates = 1; + } + + // Endpoint policy info + message SYS0021Data { + uint32 endpoints_with_policies = 1; + uint32 total_endpoints = 2; + } + + message ReferencedCertificateSecret { + .core.skv2.solo.io.TypedClusterObjectRef ref = 1; + CertificateInformation certificate = 2; + } + + message CertificateInformation { + string hostname = 1; + string issued_to_cn = 2; + repeated string issued_to_organization = 3; + repeated string issued_to_organization_unit = 4; + string issued_from_cn = 5; + repeated string issued_from_organization = 6; + repeated string issued_from_organization_unit = 7; + google.protobuf.Timestamp issued_on = 8; + google.protobuf.Timestamp expires_on = 9; + repeated Fingerprints fingerprints = 10; + string subject_key_identifier = 11; + string authority_key_identifier = 12; + message Fingerprints { + string name = 1; + string value = 2; + } + } + + // Control plane FIPs + message SYS0009Data { + int32 fips_compliant_istio_workloads = 1; + int32 total_istio_workloads = 2; + repeated string unique_fips_versions = 4; + } + + // Data plane FIPs + message SYS0010Data { + int32 fips_compliant_istio_workloads = 1; + int32 total_istio_workloads = 2; + repeated string unique_fips_versions = 4; + } + + // Cluster services + message SYS0011Data { + int32 in_mesh_services = 1; + int32 out_of_mesh_services = 2; + int32 sidecar_services = 3; + int32 ambient_services = 4; + int32 gateway_services = 5; + int32 total_services = 6; + } + + // zero trust - workloads receiving mesh encrypted traffic + message SYS0012Data { + int32 mtls_encrypted_workloads = 1; + int32 total_workloads = 2; + } + + // zero trust - kubernetes external services accessed + message SYS0013Data { + int32 value = 1; + } + + // zero trust - access policy violations + message SYS0014Data { + int32 value = 1; + } + + // Adding so UI works for mock - might change later + message SYS0019Data { + string cilium_version = 1; + } + + // resource counts + message SYS0020Data { + int32 istio_resources = 1; + int32 cilium_resources = 2; + int32 k8s_resources = 3; + int32 gateway_resources = 4; + int32 solo_resources = 5; + } + + // Cilium policy violation info + message SYS0022Data { + uint32 count = 1; + string time_window = 2; + } + + // Cilium node connectivity info + message SYS0023Data { + uint32 unhealthy = 1; + uint32 total = 2; + } +} diff --git a/api/gloo.solo.io/internal/v2/certificate_request.proto b/api/gloo.solo.io/internal/v2/certificate_request.proto new file mode 100644 index 000000000..998bdb87f --- /dev/null +++ b/api/gloo.solo.io/internal/v2/certificate_request.proto @@ -0,0 +1,70 @@ +syntax = "proto3"; + +package internal.gloo.solo.io; + +import "extproto/ext.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +/* + CertificateRequests are generated by the Gloo Mesh agent installed on workload clusters. + They are used to request a signed certificate from the certificate issuer (the Gloo Mesh server) based on a private key + generated by the agent (which never leaves the workload cluster). + + When Gloo Mesh server creates an IssuedCertificate on a workload cluster, the local Gloo Mesh agent + will generate a CertificateRequest corresponding to it. + + Gloo Mesh will then process the certificate signing request contained in the + `CertificateRequestSpec` and write the signed SSL certificate back as a Kubernetes secret in the workload cluster, + and update the `CertificateRequestStatus` to point to that secret. + + The certificate requested here is for Gloo Mesh agents on workload clusters to securely establish communication + with Gloo Mesh server. This is not related to certificates for services running in the mesh. +*/ +message CertificateRequestSpec { + // Base64-encoded data for the PKCS#10 Certificate Signing Request issued + // by the Gloo Mesh agent deployed in the workload cluster, corresponding + // to the IssuedRequest received by the Gloo Mesh agent. + bytes certificate_signing_request = 1; +} + +message CertificateRequestStatus { + + // The most recent generation observed in the CertificateRequest metadata. + // If the `observedGeneration` does not match `metadata.generation`, the issuer has not processed the most + // recent version of this request. + int64 observed_generation = 1; + + // Any error observed which prevented the CertificateRequest from being processed. + // If the error is empty, the request has been processed successfully + string error = 2; + + // The current state of the CertificateRequest workflow reported by the issuer. + State state = 3; + + // Possible states in which a CertificateRequest can exist. + enum State { + // The CertificateRequest has yet to be picked up by the issuer. + PENDING = 0; + + // The issuer has replied to the request and the `signedCertificate` and `signingRootCa` + // status fields will be populated. + FINISHED = 1; + + // Processing the certificate workflow failed. + FAILED = 2; + } + + // The signed intermediate certificate issued by the CA. + bytes signed_certificate = 4; + + // The root CA used by the issuer to sign the certificate. + bytes signing_root_ca = 5; + + // The cert chain of signing CA. + bytes cert_chain = 6; +} diff --git a/api/gloo.solo.io/internal/v2/discovered_cni.proto b/api/gloo.solo.io/internal/v2/discovered_cni.proto new file mode 100644 index 000000000..dbde9b82e --- /dev/null +++ b/api/gloo.solo.io/internal/v2/discovered_cni.proto @@ -0,0 +1,44 @@ +syntax = "proto3"; + +package internal.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/skv2/api/core/v1/core.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +/* + A DiscoveredCNISpec is an internal representation of a CNI discovered to be running in a cluster. + DiscoveredCNIs are automatically detected from the node agent (DaemonSet) which runs on each CNI-networked cluster. +*/ +message DiscoveredCNISpec { + + // Reference to the Kubernetes DaemonSet that runs throughout the cluster. + .core.skv2.solo.io.ClusterObjectRef agent = 1; + + // The provider of CNI installed. + CNIProvider provider = 2; + + // the version of the CNI installed. + string version = 3; + + // the port number used to service CNI metrics. + uint32 metrics_port_number = 4; + + enum CNIProvider { + CILIUM = 0; + CALICO = 1; + } +} + +message DiscoveredCNIStatus { + + // The observed generation of the DiscoveredGateway. + // When this matches the DiscoveredGateway metadata.generation, it indicates that Gloo Mesh + // has processed the latest version of the DiscoveredGateway. + int64 observed_generation = 1; +} diff --git a/api/gloo.solo.io/internal/v2/discovered_gateway.proto b/api/gloo.solo.io/internal/v2/discovered_gateway.proto new file mode 100644 index 000000000..0df7139c6 --- /dev/null +++ b/api/gloo.solo.io/internal/v2/discovered_gateway.proto @@ -0,0 +1,101 @@ +syntax = "proto3"; + +package internal.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/locality.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/skv2/api/core/v1/core.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +/* + A DiscoveredGateway is an internal representation of an Istio Gateway workload. + DiscoveredGateways are automatically detected from Istio Gateway deployments and services. +*/ +message DiscoveredGatewaySpec { + + // Reference to the Kubernetes service that exposes the gateway workloads. + .core.skv2.solo.io.ClusterObjectRef service = 1; + + // The labels used by the Kubernetes service to select the gateway workloads. + map workload_labels = 2; + + // The externally-reachable addresses on which the gateway is listening for connections. + repeated ExternalAddress external_addresses = 3; + + // gateway resource type + ServiceType service_type = 4; + + // References to any service accounts selected by the service that exposes the gateway workloads. + repeated .core.skv2.solo.io.ClusterObjectRef service_account_refs = 5; + + message ExternalAddress { + + // The externally-reachable address on which the gateway is listening for connections. + // Depending on the gateway service type and its properties, this can be a LoadBalancer address + // reported by Kubernetes, an externally-reachable Node address, and a user-defined external IP set on the service. + string address = 1; + + // The externally-reachable ports on which the gateway is listening for connections. + repeated Port ports = 2; + + // The locality in which the node serving this address resides, typically representing a large geographic area. + .common.gloo.solo.io.Locality locality = 3; + } + + enum ServiceType { + // ServiceTypeClusterIP means a service will only be accessible inside the + // cluster, via the cluster IP. + CLUSTER_IP = 0; + + // ServiceTypeNodePort means a service will be exposed on one port of + // every node, in addition to 'ClusterIP' type. + NODE_PORT = 1; + + // ServiceTypeLoadBalancer means a service will be exposed via an + // external load balancer (if the cloud provider supports it), in addition + // to 'NodePort' type. + LOAD_BALANCER = 2; + + // ServiceTypeExternalName means a service consists of only a reference to + // an external name that kubedns or equivalent will return as a CNAME + // record, with no exposing or proxying of any pods involved. + EXTERNAL_NAME = 3; + } + + // Port describes a port accessible on a DiscoveredGateway. + message Port { + + // The port number exposed on the underlying gateway k8s Service. + uint32 number = 1; + + // A label for the port, eg "http". + // This will match the port name from the underlying gateway k8s Service. + string name = 2; + + // The protocol used in communication with this destination + // MUST be one of the following: HTTP, HTTPS, GRPC, HTTP2, MONGO, TCP, TLS. + string protocol = 3; + } +} + +message DiscoveredGatewayStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // A count of virtual gateways that select this discovered gateway. + uint32 num_virtual_gateways = 2; +} + +message DiscoveredGatewayReport { + map workspaces = 1; + + // A list of destinations serving the API. + repeated .common.gloo.solo.io.ObjectReference virtual_gateways = 2; +} diff --git a/api/gloo.solo.io/internal/v2/issued_certificate.proto b/api/gloo.solo.io/internal/v2/issued_certificate.proto new file mode 100644 index 000000000..91996630b --- /dev/null +++ b/api/gloo.solo.io/internal/v2/issued_certificate.proto @@ -0,0 +1,136 @@ +syntax = "proto3"; + +package internal.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/tls/ca_options.proto"; +import "github.com/solo-io/skv2/api/core/v1/core.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +/* + IssuedCertificates are used to issue SSL certificates + to workload Kubernetes clusters from a central (out-of-cluster) Certificate Authority. + + When an IssuedCertificate is created, a certificate is issued to a workload cluster by + a central Certificate Authority via the following workflow: + + 1. The Certificate Issuer creates the IssuedCertificate resource on the remote cluster + 2. The Certificate Signature Requesting agent installed to the remote cluster generates + a Certificate Signing Request (CSR) and writes it to the status of the IssuedCertificate + 3. Finally, the Certificate Issuer generates a signed certificate for the CSR and writes + it back as Kubernetes Secret in the remote cluster. + + Trust can therefore be established across the Gloo Mesh server cluster and agents on workload clusters + without requiring private keys to ever leave workload clusters. + + The certificate requested here is for Gloo Mesh agents on workload clusters to securely establish communication + with Gloo Mesh server. This is not related to certificates for services running in the mesh. +*/ +message IssuedCertificateSpec { + /* + A list of hostnames and IPs to generate a certificate for. + This can also be set to the identity running the workload, + e.g. a Kubernetes service account. + + Generally for an Istio CA this will take the form `spiffe://cluster.local/ns/istio-system/sa/citadel`. + + "cluster.local" may be replaced by the root of trust domain for the mesh. + */ + repeated string hosts = 1; + + // The secret containing the SSL certificate to be generated for this IssuedCertificate (located in the Gloo Mesh agent's cluster). + // If nil, the sidecar agent stores the signing certificate in memory. (Enterprise only) + .core.skv2.solo.io.ObjectRef issued_certificate_secret = 2; + + // Set of options to configure the intermediate certificate being generated + .tls.security.policy.gloo.solo.io.CommonCertOptions cert_options = 3; + + // The location of the certificate authority to sign this certificate + oneof certificate_authority { + // Gloo Mesh CA options + MgmtServerCertificateAuthority mgmt_server_ca = 4; + // Agent CA options + .tls.security.policy.gloo.solo.io.AgentCertificateAuthority agent_ca = 5; + } + + // Reference to the mesh on which this cert is being issued for. + .core.skv2.solo.io.ObjectRef mesh_ref = 6; + + // Signals whether or not the workload pods should be restarted + // to pick up the new cert. + bool auto_restart_pods = 7; + + // The current state of rotation, this value signals to the cert issuer how to + // construct the intermediary certs which the data-plane clusters receive +// .tls.security.policy.gloo.solo.io.CertificateRotationState rotation_state = 9; + + // A list of certificate authorities that should also be trusted by workloads + repeated MgmtServerCertificateAuthority passive_certificate_authorities = 10; +} + +// Set of options which represent the certificate authorities the management cluster can use +// to sign the intermediate certs. +message MgmtServerCertificateAuthority { + // Certificate authority which gloo-mesh management will use to sign the intermediate cert + oneof certificate_authority { + .core.skv2.solo.io.ObjectRef signing_certificate_secret = 1; + } +} + +// The IssuedCertificate status is written by the CertificateRequesting agent. +message IssuedCertificateStatus { + + // The most recent generation observed in the IssuedCertificate metadata. + // If the `observedGeneration` does not match `metadata.generation`, the Gloo Mesh agent has not processed the most + // recent version of this IssuedCertificate. + int64 observed_generation = 1; + + // Any error observed which prevented the CertificateRequest from being processed. + // If the error is empty, the request has been processed successfully. + string error = 2; + + // The current state of the IssuedCertificate workflow, reported by the agent. + State state = 3; + + // Possible states in which an IssuedCertificate can exist. + enum State { + // The IssuedCertificate has yet to be picked up by the agent. + PENDING = 0; + + // The agent has created a local private key + // and a CertificateRequest for the IssuedCertificate. + // In this state, the agent is waiting for the Issuer + // to issue certificates for the CertificateRequest before proceeding. + REQUESTED = 1; + + // The certificate has been issued. Any pods that require restarting will be restarted at this point. + ISSUED = 2; + + // The reply from the Issuer has been processed and + // the agent has placed the final certificate secret + // in the target location specified by the IssuedCertificate. + FINISHED = 3; + + // Processing the certificate workflow failed. + FAILED = 4; + } + + // // The location of the certificate authority to sign this certificate + // oneof applied_certificate_authority { + // // Gloo Mesh CA options + // MgmtServerCertificateAuthority applied_gloo_mesh_ca = 4; + // // Agent CA options + // .tls.security.policy.gloo.solo.io.AgentCertificateAuthority applied_agent_ca = 5; + // } + // + // + // // The rotation state as recorded by the issued cert agent. This is read by the networking + // // reconciler to ensure it is looking at the correct iteration of the object. + // .tls.security.policy.gloo.solo.io.CertificateRotationState observed_rotation_state = 6; + +} diff --git a/api/gloo.solo.io/internal/v2/istio_installation.proto b/api/gloo.solo.io/internal/v2/istio_installation.proto new file mode 100644 index 000000000..98c0788fa --- /dev/null +++ b/api/gloo.solo.io/internal/v2/istio_installation.proto @@ -0,0 +1,57 @@ +syntax = "proto3"; + +package internal.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "k8s.io/api/core/v1/generated.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/istio_operator.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// $hide_from_docs +message ClusterIstioInstallation { + // IstioOperator specification for the control plane. + // For more info, see the [Istio documentation](https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1/). + .common.gloo.solo.io.IstioOperatorSpec istio_operator_spec = 1; +} + +// $hide_from_docs +message ClusterIstioInstallationStatus { + // The current state of the Istio installation. + State state = 1; + + // A human readable message about the current state of the installation. + string message = 2; + + // The observed revision of the Istio installation. + string observed_revision = 3; + + // The IstioOperator spec that is currently deployed for this revision. + .common.gloo.solo.io.IstioOperatorSpec observed_operator = 4; + + // The current state of the installation. + enum State { + // Waiting for resources to be installed. + INSTALLING = 0; + + // Waiting for upgrade to complete. + UPGRADING = 1; + + // Waiting for resources to be uninstalled. + UNINSTALLING = 2; + + // Waiting for user input to correct a problem or advance canary. + ACTION_REQUIRED = 3; + + // The desired installation state on the cluster has been achieved. + SYNCED = 4; + + // An unrecoverable error was observed. + ERROR = 5; + } +} diff --git a/api/gloo.solo.io/internal/v2/mesh.proto b/api/gloo.solo.io/internal/v2/mesh.proto new file mode 100644 index 000000000..690138c7e --- /dev/null +++ b/api/gloo.solo.io/internal/v2/mesh.proto @@ -0,0 +1,108 @@ +syntax = "proto3"; + +package internal.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/skv2/api/core/v1/core.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +/* + A Mesh is an internal representation of a service mesh control plane deployment. +*/ +message MeshSpec { + + message Installation { + + // Namespace in which the control plane has been installed. + string namespace = 1; + + // The Gloo Mesh cluster in which the control plane has been installed. + string cluster = 2; + + // The labels on the control plane pods (read from the deployment). + map pod_labels = 3; + + // The version of the Mesh that has been installed, which is determined using the image tag on the + // mesh's primary control plane image (e.g. the istio-pilot image tag). + string version = 4; + + // The revision of the Istio control plane that has been installed. + string revision = 5; + } + + // Describes the Istio control plane deployment. + Installation installation = 1; + + // The Istio trust domain used for https/[spiffe](https://spiffe.io/spiffe/concepts/#trust-domain) [identity](https://istio.io/docs/reference/glossary/#identity). + // If empty will default to ["cluster.local"](https://github.com/istio/istio/blob/e768f408a7de224e64ccdfb2634442541ce08e6a/pilot/cmd/pilot-agent/main.go#L118). + string trust_domain = 2; + + // The istiod service account which determines identity for the Istio CA cert. + string istiod_service_account = 3; + + // The list of namespaces that are part of the mesh, which is computed based + // on the [discovery selectors](https://istio.io/latest/blog/2021/discovery-selectors/) + // defined in the Istio Mesh Config. + // And empty value implies that the Istio control place processes resources from all namespaces. + repeated string discovery_namespaces = 4; + + // True if smart DNS proxying is enabled, which allows for arbitrary DNS domains. + bool smart_dns_proxying_enabled = 5; + + // Root Namespace as specified in the Istio Mesh Config. + // This namespace will be treated as the home for all root Istio config. + string root_namespace = 6; + + // Describes the Gloo Mesh agent which may be installed + // to the managed cluster containing the mesh control plane. + message AgentInfo { + + // The namespace in which the Gloo Mesh agent is installed. + string namespace = 1; + + // The version of the Gloo Mesh agent. + string version = 2; + + // The location of the relay root tls secret + .core.skv2.solo.io.ObjectRef relay_root_tls_secret = 3; + } + + // Describes the Gloo Mesh agent if it has been installed to the managed cluster. + AgentInfo agent_info = 7; + + // istiod image hub + string hub = 8; + + // istiod image tag + string tag = 9; + + enum IPFamily { + // The cluster suports only IPv4 addresses. + IPV4 = 0; + + // The cluster suports only IPv6 addresses. + IPV6 = 1; + + // The cluster suports both IPv4 and IPv6 addresses. + DUAL = 2; + } + + // Optional: The IPFamily supported by the cluster. Defaults to 'IPV4'. + IPFamily ip_family = 10; + + // If true, the mesh is capable of ambient dataplane mode. + bool ambient_capable = 11; +} + +message MeshStatus { + + // The observed generation of the Mesh. + // When this matches the Mesh's metadata.generation, it indicates that Gloo Mesh + // has processed the latest version of the Mesh. + int64 observed_generation = 1; +} diff --git a/api/gloo.solo.io/internal/v2/pod_bounce_directive.proto b/api/gloo.solo.io/internal/v2/pod_bounce_directive.proto new file mode 100644 index 000000000..4e0944e96 --- /dev/null +++ b/api/gloo.solo.io/internal/v2/pod_bounce_directive.proto @@ -0,0 +1,105 @@ +syntax = "proto3"; + +package internal.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/skv2/api/core/v1/core.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +/* + When certificates are issued, Istio-controlled pods need to be bounced (restarted) to ensure they pick up the + new certificates due to [this issue](https://github.com/istio/istio/issues/22993). + The certificate issuer will create a PodBounceDirective containing the namespaces and labels + of the pods that need to be bounced in order to pick up the new certs. +*/ +message PodBounceDirectiveSpec { + + // A list of Kubernetes pods to bounce (delete and cause a restart) + // when the certificate is issued. + // This will include the control plane pods as well as any Pods + // which share a data plane with the target mesh. + repeated PodSelector pods_to_bounce = 1; + + // pods that will be restarted. + message PodSelector { + // The namespace in which the pods live. + string namespace = 1; + + // Any labels shared by the Pods. + map labels = 2; + + // Wait for this number of replacement pods to reach be fully ready before + // deleting the next set of selected Pods. + // This is used to ensure the control plane pods are allowed to restart + // before sidecars and gateways are restarted. + uint32 wait_for_replicas = 3; + + // Wait for the control plane to have synced all root cert configmaps in data plane namespaces before + // bouncing these Pods. + RootCertSync root_cert_sync = 4; + + // RootCertSync describes values in a secret and configmap which must be equal in order for a Pod to be bounced. + message RootCertSync { + .core.skv2.solo.io.ObjectRef secret_ref = 1; + + string secret_key = 2; + + .core.skv2.solo.io.ObjectRef config_map_ref = 3; + + string config_map_key = 4; + } + } + + // Reference to the mesh on which this cert is being issued for + .core.skv2.solo.io.ObjectRef mesh_ref = 2; +} + + +/* + PodBounceDirectiveStatus reports the status for stateful Pod bounces (when bouncing pods requires waiting for readiness). +*/ +message PodBounceDirectiveStatus { + + // The most recent generation observed in the PodBounceDirective metadata. + // If the `observedGeneration` does not match `metadata.generation`, the Gloo Mesh agent has not processed the most + // recent version of this IssuedCertificate. + int64 observed_generation = 1; + + // The current state of the IssuedCertificate workflow, reported by the agent. + State state = 2; + + // Possible states in which an PodBounceDirective can exist. + enum State { + // The PodBounceDirective has yet to be picked up by the agent. + PENDING = 0; + + // The agent has decided on which pods to bounce, and it's working on it. + BOUNCING_PODS = 1; + + // Processing the pod bounce directive workflow failed. + FAILED = 3; + + // Successfully bounced all pods + FINISHED = 4; + } + + string error = 3; + + // A list of Kubernetes pods to bounce (delete and cause a restart) + // when the certificate is issued. + // This will include the control plane pods as well as any Pods + // which share a data plane with the target mesh. + repeated BouncedPodSet pods_bounced = 4; + + // A set of pods that were restarted. + message BouncedPodSet { + // The names of the pods that were bounced for the corresponding selector specified in `PodBounceDirectiveSpec.PodSelector.labels`. + repeated string bounced_pods = 1; + } + +} diff --git a/api/gloo.solo.io/internal/v2/portal_config.proto b/api/gloo.solo.io/internal/v2/portal_config.proto new file mode 100644 index 000000000..d42128843 --- /dev/null +++ b/api/gloo.solo.io/internal/v2/portal_config.proto @@ -0,0 +1,163 @@ +syntax = "proto3"; + +package internal.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/portal_group.proto"; +import "google/protobuf/struct.proto"; + + +option go_package = "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// PortalConfig is a internal representation of the user facing Portal resource. +// It is used to provide configuration information for a single Portal backend. +// The PortalConfig contains a list of all API resources that are exposed by the Portal, +// the associated usage plans for each API, and all usage plans available +// across the Portal. +message PortalConfigSpec { + + // Portal level metadata configured by the user in the user facing Portal resource as a JSON value. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + google.protobuf.Value portal_custom_metadata = 1 [(.solo.io.cue.opt).disable_openapi_type_validation = true]; + + // The list of API resources that are exposed by the Portal. + repeated API apis = 2; + + // The list of usage plans that are available across the Portal. + repeated UsagePlan usage_plans = 3; + + // Reference to the Portal resource that this PortalConfig resource is derived from. + .common.gloo.solo.io.ObjectReference portal_ref = 4; + + // The domains on which this Portal will be served. The Host header received by the + // Portal Web App will be matched to one of these domains in order to determine which Portal will be served. + repeated string domains = 5; + + // The list of groups that are available across the Portal. + repeated Group groups = 6; + + // Indicates whether the Portal is public or private, this is based on the visibility setting specified in the + // `Portal` resource + bool public = 7; + + // A Portal group represents a set of group names, which has visibility into a set of APIs and the ability + // to manage API keys selected usage plans. + message Group { + // The name of the group this is derived from the `PortalGroup` resource + string name = 1; + // The apis that are visible to this group + repeated .common.gloo.solo.io.ObjectReference apis = 2; + // The names of the usage plans that are visible to this group + repeated string usage_plans = 3; + // The list of membership claims that are used to determine whether a user is a member of this group + repeated .apimanagement.gloo.solo.io.Membership membership_claims = 4; + } + + // TODO(jmhbh): Update this doc when we decide to support operation level usage plans. + // An API that is exposed by the Portal. API metadata is sourced from the + // referenced RouteTable and api_schema is a reference to the stitched API schema for the RouteTable. + // Also references a list of usage plan names that are associated with the API. + message API { + // When set, the [/apis](https://docs.solo.io/gloo-gateway/main/portal/openapi/redocly/#tag/APIs/operation/ListAPIs) + // endpoint in the portal will return `apiProduct` in the response which can be used to group multiple APIs together. + string api_product_id = 1; + // The api product display name + string api_product_display_name = 2; + // The ID for this API. + string api_id = 3; + // The version of the openAPI specification for this route table. Must be unique within the apiProduct. + // `apiProduct` is required if `apiVersion` is set. + string api_version = 4; + string title = 5; + string description = 6; + string terms_of_service = 7; + string contact = 8; + string license = 9; + string lifecycle = 10; + .common.gloo.solo.io.ObjectReference api_schema = 11; + .common.gloo.solo.io.ObjectReference route_table = 12; + repeated UsagePlanRef usage_plans = 13; + // The API is private if its associated route table contains labels matching the privateAPILabels specified + // in the portal resource + bool is_private = 14; + map custom_metadata = 15; + } + + // A usage plan contains a list of auth policies and one rate limit policy. + message UsagePlan { + string name = 1; + string display_name = 2; + string description = 3; + + repeated ExtAuthPolicy ext_auth_policies = 4; + RateLimitPolicy rate_limit_policy = 5; + } + + // Reference to a usage plan by name. + message UsagePlanRef { + string name = 1; + } + + // An ext auth policy identified by its authentication type and contains a list of + // unique label selectors that are used to identify the set of clients that + // are authorized to use the auth policy. + message ExtAuthPolicy { + oneof auth_cfg { + ApiKeyAuth api_key_auth = 1; + OidcAuth oidc_auth = 2; + AccessTokenValidation access_token_validation = 3; + } + .common.gloo.solo.io.ObjectReference ext_auth_policy_ref = 4; + string auth_config_id = 5; + } + + message ApiKeyAuth { + map ext_auth_label_selector = 1; + } + + message OidcAuth { + string well_known_openid_config = 1; + } + + message AccessTokenValidation { + string bearer_format = 1; + } + + message RateLimitPolicy { + Unit unit = 1; + uint32 requests_per_unit = 2; + .common.gloo.solo.io.ObjectReference rate_limit_policy_ref = 3; + } + + enum Unit { + UNKNOWN = 0; + SECOND = 1; + MINUTE = 2; + HOUR = 3; + DAY = 4; + } +} + +// The status of the resource after it is applied to your Gloo environment. +message PortalConfigStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The name of the workspace that owns the PortalConfig schema. + string owned_by_workspace = 2; +} + +message PortalConfigReport { + map workspaces = 1; + + // The name of the workspace that owns the PortalConfig schema. + string owner_workspace = 2; +} diff --git a/api/gloo.solo.io/internal/v2/report.proto b/api/gloo.solo.io/internal/v2/report.proto new file mode 100644 index 000000000..202f4d0b7 --- /dev/null +++ b/api/gloo.solo.io/internal/v2/report.proto @@ -0,0 +1,19 @@ +syntax = "proto3"; + +package internal.gloo.solo.io; + +import "extproto/ext.proto"; +import "google/protobuf/any.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +// $hide_from_docs +// This message is used to assembled a list of report shards into one object +// to be persisted in redis. +message Reports { + repeated google.protobuf.Any reports = 1; +} \ No newline at end of file diff --git a/api/gloo.solo.io/internal/v2/xds_config.proto b/api/gloo.solo.io/internal/v2/xds_config.proto new file mode 100755 index 000000000..2a20da93d --- /dev/null +++ b/api/gloo.solo.io/internal/v2/xds_config.proto @@ -0,0 +1,65 @@ +syntax = "proto3"; + +package internal.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/skv2/api/core/v1/core.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + + +/* + XdsConfigs are used to issue xDS Configuration Resources to running Envoy instances. + They are created by Gloo Mesh for processing by an agent running on managed clusters. + + The agent will serve the specified xDS configuration resources on its grpc-xds port (default 9977) + to the Envoy instances (nodes) defined in the XDSConfigSpec. + + This feature is currently only available in Gloo Mesh Enterprise. +*/ +message XdsConfigSpec { + + // The Workloads that will receive this xDS Configuration. + repeated .core.skv2.solo.io.ObjectRef workloads = 1; + + // The xDS resources to serve to the nodes. + // Mapped by type URL. + repeated TypedResources types = 2; + + // A set of resources of a single type (typeURL). + message TypedResources { + + // The type URL of the resources in the given set. + string type_url = 1; + + // Stored as compressed, base-64 encoded raw bytes. + repeated Resource resources = 2; + } + + // A single named resource. + message Resource { + + // Name of the resource as referenced by xDS. + string name = 1; + + // Stored as compressed, base-64 encoded raw bytes. + bytes compressed_data = 2; + } +} + +// The XdsConfig status is written by the CertificateRequesting agent. +message XdsConfigStatus { + + // The most recent generation observed in the XdsConfig metadata. + // If the `observedGeneration` does not match `metadata.generation`, the Gloo Mesh agent has not processed the most + // recent version of this XdsConfig. + int64 observed_generation = 1; + + // Any error observed which prevented the XdsConfig from being processed. + // If the error is empty, the request has been processed successfully. + string error = 2; +} diff --git a/api/gloo.solo.io/internal/v2alpha1/spire.proto b/api/gloo.solo.io/internal/v2alpha1/spire.proto new file mode 100644 index 000000000..3a3a61e75 --- /dev/null +++ b/api/gloo.solo.io/internal/v2alpha1/spire.proto @@ -0,0 +1,51 @@ +syntax = "proto3"; + +package internal.gloo.solo.io; + +import "extproto/ext.proto"; +import "google/protobuf/wrappers.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; +option (extproto.hash_all) = true; + +// SpireRegistrationEntrySpec describes a registration entry in SPIRE server. +// It is a subset of the upstream RegistrationEntry API: +// https://github.com/spiffe/spire/blob/v1.6.3/proto/spire/common/common.proto#L62 +message SpireRegistrationEntrySpec { + + // A list of selectors. + repeated Selector selectors = 1; + + // The SPIFFE ID of an entity that is authorized to attest the validity of a selector. + string parent_id = 2; + + // The SPIFFE ID is a structured string used to identify a resource or caller. + // It is defined as a URI comprising a “trust domain” and an associated path. + string spiffe_id = 3; + + // Time to live for X509-SVIDs generated from this entry. + google.protobuf.UInt32Value x509_svid_ttl = 4; + + // DNS entries. + repeated string dns_names = 5; + + // Selector describes the conditions under which a registration entry is matched. + message Selector { + // A selector type represents the type of attestation used in attesting the entity. + string type = 1; + + // The value to be attested. + string value = 2; + } +} + +// The status of the SpireRegistrationEntry after it is applied to your Gloo environment. +message SpireRegistrationEntryStatus { + + .common.gloo.solo.io.Status common = 1; +} + diff --git a/api/gloo.solo.io/networking/v2/external_endpoint.proto b/api/gloo.solo.io/networking/v2/external_endpoint.proto new file mode 100644 index 000000000..fa4052145 --- /dev/null +++ b/api/gloo.solo.io/networking/v2/external_endpoint.proto @@ -0,0 +1,63 @@ +syntax = "proto3"; + +package networking.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/locality.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// ExternalEndpoint defines a static IP for routing which exist outside the mesh. ExternalEndpoints provide a mechanism for direct resolution of the addresses backing ExternalServices. +message ExternalEndpointSpec { + // Address associated with the network endpoint without the + // port. Domain names can be used if and only if the resolution is set + // to DNS, and must be fully-qualified without wildcards. Use the form + // unix:///absolute/path/to/socket for Unix domain socket endpoints. + string address = 1; + + // Set of ports on which the ExternalEndpoint's address receives traffic. + repeated Port ports = 2; + + // The locality associated with the endpoint. A locality corresponds + // to a failure domain (e.g., country/region/zone). Arbitrary failure + // domain hierarchies can be represented by separating each + // encapsulating failure domain by /. For example, the locality of an + // an endpoint in US, in US-East-1 region, within availability zone + // az-1, in data center rack r11 can be represented as + // us/us-east-1/az-1/r11. Istio will configure the sidecar to route to + // endpoints within the same locality as the sidecar. If none of the + // endpoints in the locality are available, endpoints parent locality + // (but within the same network ID) will be chosen. For example, if + // there are two endpoints in same network (networkID "n1"), say e1 + // with locality us/us-east-1/az-1/r11 and e2 with locality + // us/us-east-1/az-2/r12, a sidecar from us/us-east-1/az-1/r11 locality + // will prefer e1 from the same locality over e2 from a different + // locality. Endpoint e2 could be the IP associated with a gateway + // (that bridges networks n1 and n2), or the IP associated with a + // standard service endpoint. + .common.gloo.solo.io.Locality locality = 5; + + // a port on an ExternalEndpoint + message Port { + // name of the port. required if more then one port is specified on the ExternalEndpoint + string name = 1; + + // the port number. + uint32 number = 2; + } +} + +// The status of the resource after it is applied to your Gloo environment. +message ExternalEndpointStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; +} + +message ExternalEndpointReport { + map workspaces = 1; +} diff --git a/api/gloo.solo.io/networking/v2/external_service.proto b/api/gloo.solo.io/networking/v2/external_service.proto new file mode 100644 index 000000000..5ef7a176a --- /dev/null +++ b/api/gloo.solo.io/networking/v2/external_service.proto @@ -0,0 +1,165 @@ +syntax = "proto3"; + +package networking.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/port.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// ExternalService defines a destination for routing which exist outside the mesh. +// This could for example be a web API or a set of virtual machines that are not running in Kubernetes. +// When an ExternalService is defined for a given workspace, it can be used as a +// Destination in Routes, as well as called directly via its specified hostname. +// Resolution of the IP addresses for external services can be done via DNS +// or provided statically using the ExternalEndpoint object. +message ExternalServiceSpec { + + // (mutually exclusive with addresses): The List of hostnames which will resolve to this service. + // These hosts must be unique among all ExternalServices and VirtualHosts within a workspace. + // Both FQDN and wildcard prefix domains are supported. + // TLS origination to ExternalServices is supported with use of the ClientsideTls property. + repeated string hosts = 1; + + // (mutually exclusive with hosts): The List of ipv4 or ipv6 addresses which will be associated to this service. Can be CIDR prefixes. + // These addresses must be unique among all ExternalServices within a workspace. + repeated string addresses = 5; + + // The associated ports of the external service. + repeated Port ports = 2; + + // Selecting ExternalEndpoints will provide the addresses used for routing traffic to on the ExternalService's hosts. + // An empty selector will not select any endpoints. + // If no endpoints are selected, requests will be routed to the provided hosts using dns resolution. + map selector = 3; + + // A list of alternate names to verify the subject identity in the + // certificate. If specified, the proxy will verify that the server + // certificate's subject alt name matches one of the specified values. + // Only applicable when using TLS to communicate with the ExternalService. + repeated string subject_alt_names = 4; + + // Port establishes a new port that will be exposed on an ExternalService. + message Port { + + // The port number. Must be a valid, non-negative integer port number. + uint32 number = 1; + + // (optional): The port number or name used to match the corresponding port on the ExternalService's backing ExternalEndpoints. + // All of the backing ExternalEndpoints for this ExternalService must contain + // this port, matching by name or number. + // If no backing ExternalEndpoints are provided, a name selector is invalid, + // and requests will be routed to the provided hosts on the port number specified. + // If unspecified, will default to the value of the port number field above. + .common.gloo.solo.io.PortSelector target_port = 2; + + // A label for the port, eg "http". + string name = 3; + + // The protocol used in communication with this destination + // MUST be one of the following: HTTP, HTTPS, GRPC, HTTP2, MONGO, TCP, TLS. + string protocol = 4; + + // The tls config for the given port. + // If the protocol is HTTPS or TLS, the ExternalService will be configured to use TLS automatically. + // If used in conjunction with targetPort this can be used for TLS Origination. + // For example, port: 80, targetPort: 443, with ClientsideTls will cause port 80 traffic from workloads to be forwarded to 443 resulting in HTTPS traffic over the internet with TLS originating at the sidecar proxy. + TlsConfig clientside_tls = 5; + + // A list of egress VirtualGateways via which this ExternalService is reachable. + // This is required in meshes that are configured to deny all traffic that is not explicitly allowed. + // Requires the ExternalService to use Hosts rather than Addresses. + // Currently only supported for ExternalService ports with HTTP, HTTP2, and HTTPS protocols. + EgressGatewayRoutes egress_gateway_routes = 6; + + message TlsConfig { + + // SNI string to present to the server during TLS handshake. + // If there is a single host in the hosts list, this will be used as the SNI string. + string sni = 1; + + // tls mode passed to corresponding DestinationRules' tls traffic policy + // MUST be one of the following: SIMPLE, MUTUAL, ISTIO_MUTUAL, DISABLED + TLSMode mode = 2; + + // REQUIRED if mode is `MUTUAL`. + // Should be empty if mode is `ISTIO_MUTUAL`. + // The file path to the client-side TLS certificate to use, which should be mounted onto the proxy of the specific workload communicating with the external service. + string client_certificate = 3; + + // REQUIRED if mode is `MUTUAL`. + // Should be empty if mode is `ISTIO_MUTUAL`. + // The file path to the client’s private key, which should be mounted onto the proxy of the specific workload communicating with the external service. + string private_key = 4; + + // Should be empty if mode is `ISTIO_MUTUAL`. + // The file path to the file containing CA certificates used to verify server certificates, which should be mounted onto the proxy of the specific workload communicating with the external service. + // If omitted, the proxy will not verify the server’s certificate. + string ca_certificates = 5; + + enum TLSMode { + SIMPLE = 0; + DISABLE = 1; + MUTUAL = 2; + ISTIO_MUTUAL = 3; + } + } + + message EgressGatewayRoutes { + + // The port number to match for traffic originating from the mesh. + // default to 80. + // must be unique for each ExternalService port. + // Note that if this field matches any ExternalService non-egress port (spec.ports.number), + // requests to this port may not be routed through the egress gateway. + uint32 port_match = 1; + + // Reference to the virtual gateways to use for egress. + // Multiple gateways selected in this way will have egress traffic load-balanced across them. + repeated .common.gloo.solo.io.ObjectReference virtual_gateway_refs = 2; + + } + } +} + +// The status of the resource after it is applied to your Gloo environment. +message ExternalServiceStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // A map of policy GVK to policy references for all policies that are applied on this + // resource. + map num_applied_destination_policies = 2; + + // The number of external endpoints selected by this ExternalService. + uint32 num_selected_external_endpoints = 3; + + // The name of the workspace that owns this ExternalService. + string owned_by_workspace = 4; + + // The number of VirtualGateways selected by this ExternalService. + uint32 num_selected_virtual_gateways = 5; +} + +message ExternalServiceReport { + map workspaces = 1; + + // A map of policy GVK to policy references for all the policies that are + // applied on this resource. + map applied_destination_policies = 2; + + // The list of endpoints selected by this ExternalService. + repeated .common.gloo.solo.io.ObjectReference selected_external_endpoints = 3; + + // The name of the workspace that owns the ExternalService. + string owner_workspace = 4; + + // The list of VirtualGateways selected by this ExternalService. + repeated .common.gloo.solo.io.ObjectReference selected_virtual_gateways = 5; +} diff --git a/api/gloo.solo.io/networking/v2/k8s_reports.proto b/api/gloo.solo.io/networking/v2/k8s_reports.proto new file mode 100644 index 000000000..cbf2a72a5 --- /dev/null +++ b/api/gloo.solo.io/networking/v2/k8s_reports.proto @@ -0,0 +1,44 @@ +syntax = "proto3"; +package networking.gloo.solo.io; + +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2"; + +message K8sWorkloadStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // A map of policy GVK to the number of policies that are applied on this resource. + map num_applied_workload_policy = 2; +} + +message K8sWorkloadReport { + map workspaces = 1; + + // A map of policy GVK to policy references for all policies that are + // applied on this resource. + map applied_workload_policies = 2; +} + +message K8sServiceStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // A map of policy GVK to the number of policies that are applied on this resource. + map num_applied_destination_policies = 2; + + // The name of the workspace that owns this Kubernetes service. + string owned_by_workspace = 3; +} + +message K8sServiceReport { + map workspaces = 1; + + // A map of policy GVK to policy references for all policies that are + // applied on this resource. + map applied_destination_policies = 2; + + // The name of the workspace that owns this Kubernetes service. + string owner_workspace = 3; +} diff --git a/api/gloo.solo.io/networking/v2/route_table.proto b/api/gloo.solo.io/networking/v2/route_table.proto new file mode 100644 index 000000000..2f306dda0 --- /dev/null +++ b/api/gloo.solo.io/networking/v2/route_table.proto @@ -0,0 +1,589 @@ +syntax = "proto3"; + +package networking.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "envoy/type/matcher/v3/regex.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_resolver_map.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/http_matchers.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/cloud_provider_options.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/portal_metadata.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/tcp_matchers.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/tls_matchers.proto"; +import "github.com/solo-io/skv2/api/core/v1/core.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// `RouteTables` define one or more hosts and a set of traffic route rules that describe how to handle traffic for these hosts. +// Route tables support two types of routes: HTTP and TCP. +// For more information, see see the [Routing overview concept docs](https://docs.solo.io/gloo-mesh-enterprise/main/concepts/traffic-management/routes/). +// +// You can delegate HTTP routes to other route tables based on one or more matching hosts and specific route paths. +// If your "parent" route table delegates some traffic rules to another "child" route table, the child route table must be in the same workspace +// or imported to the parent route table's workspace. +// +// You can match traffic that originates from an ingress gateway (north-south), Istio mesh gateway (east-west), +// or directly from the sidecars of workloads in your service mesh (east-west), +// depending on the configuration of the `virtualGateways` field. +// +// The following example defines route configuration for the 'uk.bookinfo.com' and 'eu.bookinfo.com' hosts. +// Traffic arrives at the `my-gateway` virtual gateway in the `my-gateway-ws` workspace. +// The route table sets up several different matchers to direct HTTP traffic. +// * When the cookie in the header matches to `user=dev-123`, HTTP traffic is forwarded to the port `7777` of the `v1` of `reviews.qa` service. +// * When the path matches exactly to `/reviews/`, 80% traffic is forwarded to port 9080 +// of the `reviews.prod` service and 20% traffic is forwarded to port 9080 of the `reviews.qa` service. +// * All other HTTP traffic is sent to the default destination, which is port 9080 of `reviews.prod` service in the `bookinfo` workspace. +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: RouteTable +// metadata: +// name: bookinfo-root-routes +// namespace: bookinfo +// spec: +// hosts: +// - 'uk.bookinfo.com' +// - 'eu.bookinfo.com' +// virtualGateways: +// - name: my-gateway +// namespace: my-gateway-ws +// defaultDestination: +// ref: +// name: reviews +// namespace: prod +// port: +// number: 9080 +// http: +// - name: reviews-qa +// matchers: +// - headers: +// - name: cookie +// value: 'user=dev-123' +// forwardTo: +// destinations: +// - ref: +// name: reviews +// namespace: qa +// subset: +// version: v1 +// port: +// number: 7777 +// - name: reviews +// matchers: +// - name: review-prefix +// uri: +// exact: /reviews/ +// forwardTo: +// destinations: +// - weight: 80 +// - ref: +// name: reviews +// namespace: qa +// port: +// number: 9080 +// weight: 20 +// ``` +// +// The following example defines route configuration for the 'uk.bookinfo.com' and 'eu.bookinfo.com' hosts. +// Traffic arrives at the `my-gateway` virtual gateway in the `my-gateway-ws` workspace. The route table sends traffic to an external cloud function. +// * When the HTTP route path matches the prefix `/lambda`, traffic is forwarded to the backing `aws-provider` CloudProvider. +// * The associated `aws-provider` CloudResources resource describes an AWS Lambda service named `logicalName: aws-dest`. +// * The `"SYNC"` option indicates that the AWS Lambda function is invoked synchronously, which is also the default behavior. +// +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: RouteTable +// metadata: +// name: bookinfo-root-routes +// namespace: bookinfo +// spec: +// hosts: +// - 'uk.bookinfo.com' +// - 'eu.bookinfo.com' +// virtualGateways: +// - name: my-gateway +// namespace: my-gateway-ws +// defaultDestination: +// ref: +// name: reviews +// namespace: prod +// port: +// number: 9080 +// http: +// - name: lambda +// matchers: +// - uri: +// prefix: /lambda +// labels: +// route: lambda +// forwardTo: +// destinations: +// - awsLambda: +// cloudProvider: +// name: aws-provider +// namespace: bookinfo +// cluster: cluster-1 +// function: aws-dest +// options: +// invocationStyle: SYNC +// ``` +// +// The following example defines route configuration for the 'uk.bookinfo.com' and 'eu.bookinfo.com' hosts. +// Traffic arrives at the `my-gateway` virtual gateway in the `my-gateway-ws` workspace. The route table sends traffic to an external cloud function. +// * When the HTTP route path matches the prefix `/lambda`, traffic is forwarded to the delegated route table for handling requests to AWS Lambdas. +// * The `allowedRoutes` restrict the usage of CloudProvider functionality, which routes to cloud functions `backend-function-*` in region `us-east-2` and which assumes the `dev-team-B-*` IAM role in AWS to invoke the function. +// +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: RouteTable +// metadata: +// name: bookinfo-root-routes +// namespace: bookinfo +// spec: +// hosts: +// - 'uk.bookinfo.com' +// - 'eu.bookinfo.com' +// virtualGateways: +// - name: my-gateway +// namespace: my-gateway-ws +// defaultDestination: +// ref: +// name: reviews +// namespace: prod +// port: +// number: 9080 +// http: +// - name: lambda +// matchers: +// - uri: +// prefix: /lambda +// labels: +// route: lambda +// delegate: +// allowedRoutes: +// - cloudProvider: +// aws: +// lambda_function: +// - backend-function-.* +// iam_roles: +// - dev-team-B-.* +// regions: +// - us-east-2 +// routeTables: +// - labels: +// table: lambda +// ``` +// +message RouteTableSpec { + + // Optional: One or more hosts for which this route table will route traffic. + // Supports wildcards. To avoid potential misconfigurations, it is recommended to always use fully + // qualified domain names over short names. + // + // *Note*: It must be empty for a delegated RouteTable. + repeated string hosts = 1; + + // Optional: A list of references to the virtual gateways which should serve this route table. + // Only valid for route tables which define at least one host. + // *Note*: This field must be empty for a delegated RouteTable. + // + // When not specified, the route table applies to either all the sidecars in the workspace + // or only sidecars for selected workloads (via the `workloadSelectors` field) in the workspace where + // the route table is deployed or imported. + // + // The following applies to sidecars of all the workloads for the workspace where the route table is + // deployed or imported: set `virtualGateways` to `null` and `workloadSelectors` to `[]`. + // + // The following applies to the `my-gateway` virtual gateway in the `gateway` workspace and + // no sidecars: set `virtualGateways.name` to `my-gateway`, `virtualGateways.namespace` to `gateway`, and `workloadSelectors` to `[]`. + // + // The following applies to the `my-gateway` virtual gateway in the `gateway` workspace and + // sidecars of all the workloads for the workspace where the route table is + // deployed or imported: set `virtualGateways.name` to `my-gateway`, `virtualGateways.namespace` to `gateway`, and `workloadSelectors` to `{}`. + // + // The following applies to sidecars of all the `app: foo` workloads for the workspace where the route table + // is deployed or imported: set `virtualGateways` to `null` and `workloadSelectors.selector.labels` to `app: foo`. + // + // The following applies to the `my-gateway` virtual gateway in the `gateway` workspace and + // sidecars of all the `app: foo` workloads for the workspace where the route table is deployed or imported: + // set `virtualGateways.name` to `my-gateway`, `virtualGateways.namespace` to `gateway`, and `workloadSelectors.selector.labels` to `app: foo`. + repeated .common.gloo.solo.io.ObjectReference virtual_gateways = 5; + + // Optional: Selectors for source workloads (with sidecars) which will route traffic by this route table. + // Only valid for route tables which define at least one host. + // If no workloadSelectors or virtualGateways are specified, all workloads in the workspace will automatically be selected. + // If VirtualGateways are specified, set `workloadSelectors: - {}` to select all workloads in the workspace. + // *Note*: This field must be empty for a delegated RouteTable. + // *Note*: Selection of external workloads (VMs) is currently not supported. + repeated .common.gloo.solo.io.WorkloadSelector workload_selectors = 6; + + // Optional: Selectors for destinations that shall route traffic by this route table via producer-side side policy (e.g on waypoints) + // + // Applying an ambient-backed destinations means that any traffic that reaches the destination, regardless of its origin + // (mesh, outside mesh), will be subject to the RouteTable's policy. + // + // To select all ambient destinations in the workspace, set `applyToDestinations: - {}`. + // + // *Note*: applyToDestinations is an alpha API currently implemented only for ambient-enabled meshes. + // *Note*: For delegated route tables this field should be empty, as the values from the parent will always be used for destination selection. + // *Note*: Selection of external workloads (VMs), external services, and Destinations with sidecars is currently not supported. + repeated .common.gloo.solo.io.DestinationSelector apply_to_destinations = 10; + + // Optional: Routes that do not specify a destination will forward traffic to this destination. + .common.gloo.solo.io.DestinationReference default_destination = 2; + + // The set of HTTP routes for this route table to serve. If no routes match the client request, + // the client gets back a 404. For more information on supported HTTP features, see the + // [Routing overview concept docs](https://docs.solo.io/gloo-mesh-enterprise/main/concepts/traffic-management/routes/). + repeated HTTPRoute http = 3; + + // The set of TCP routes for this route table to serve. TCP routes are available only for internal + // traffic within the cluster, not for ingress gateway traffic. For more information on supported + // TCP features see the [Routing overview concept docs](https://docs.solo.io/gloo-mesh-enterprise/main/concepts/traffic-management/routes/). + repeated TCPRoute tcp = 8; + + // The set of TLS routes for this route table to serve. For more information on supported + // TLS features see the [Routing overview concept docs](https://docs.solo.io/gloo-mesh-enterprise/main/concepts/traffic-management/routes/). + repeated TLSRoute tls = 9; + + // Weight is used when sorting route tables in delegate action or routes when sorted by specificity. + // Higher integer values are considered higher priority. The default value is 0. + int32 weight = 4; + + // Optional: If this route table bundles APIs that you want to expose in a developer portal, you can set portal metadata. + // Portal metadata is a set of key-value pairs that describe your APIs. + // Later, your developer portal displays this information in the end-user facing API documentation. + .common.gloo.solo.io.PortalMetadata portal_metadata = 7; +} + +// Use HTTP routes to control Layer 7 application level traffic to your services. To configure HTTP routes, you pair together +// HTTP request `matchers` with certain actions. Matchers are criteria such as a route name, port, header, or method to match +// with an incoming request. Actions describe what to do with a matching request, such as `forwardTo` a destination or `delegate` +// to another route table. When an HTTP request matches your HTTP route, Gloo performs the action for that route. You can add +// metadata such as names and labels to your HTTP routes so that you can apply policies, track metrics, and better manage the routes. +message HTTPRoute { + // unique name of the route (within the route table). used to identify the route for metrics + string name = 1; + + // Labels for the route, which you can use to apply policies that support routeSelectors. + // + // For enhanced security, include the special label "gateway.gloo.solo.io/require_auth=true" + // on the route. To activate this security feature, enable the "gatewayDefaultDenyAllHTTPRequests" + // feature flag for your Gloo installation. When both the label and feature flag are in place, Gloo + // requires an authentication policy, such as ExtAuthPolicy or JWTPolicy, to be applied to the route. + // If the authentication policy is removed or has an error, Gloo rejects all requests to the route. + map labels = 2; + + // The set of request matchers which this route will match on. If none are specified, this route will match any HTTP traffic. + // On a delegated RouteTable, this route will only match traffic that includes both the parent and child's matchers. + // If these sets conflict, the delegating route on the parent will be replaced with a DirectResponseAction indicating the misconfiguration. + repeated .common.gloo.solo.io.HTTPRequestMatcher matchers = 3; + + // the type of action determines what this route will with a request when it is matched. + oneof action_type { + // forward traffic to one or more destination services. + ForwardToAction forward_to = 4; + + // delegate the handling of traffic to one or more HTTP Route Tables. This can be used to + // delegate a subset of the route table's traffic to another route table, which may live + // in an imported workspace, or to separate routing concerns between objects. + DelegateAction delegate = 5; + + // return a redirect response to the downstream client. + RedirectAction redirect = 6; + + // respond directly to the client from the proxy. + DirectResponseAction direct_response = 7; + + // handle the HTTP request as a GraphQL request, including query validation, and execution of the GraphQL request. + // The incoming GraphQL request must either be a GET or POST request, see + // ["Serving over HTTP"](https://graphql.org/learn/serving-over-http/). + GraphQLAction graphql = 8; + } +} + +// Use TCP routes to control lower-level, connection-based traffic to services such as a local database. +// TCP routes are available only for internal traffic within the cluster, not for ingress gateway traffic. +// To configure TCP routes, you pair together TCP request `matchers` with certain actions. +// Matchers are criteria such as a port to match with an incoming request. +// Actions describe what to do with a matching request, such as `forwardTo` a destination. +// When a TCP request matches your TCP route, Gloo performs the action for that route. +message TCPRoute { + + // The set of request matchers for this route to match on. + repeated .common.gloo.solo.io.TCPRequestMatcher matchers = 1; + + // The action to take when a request matches this route. + oneof action_type { + // Forward traffic to one or more destination services. Note that some `forwardTo` actions, such as path or host rewrite, are not + // supported for TCP routes. + ForwardToAction forward_to = 2; + } +} + +// Use TLS routes to route unterminated TLS traffic (TLS/HTTPS) through an ingress gateway or within the cluster, such as for pass-through SNI-routing. +// You must specify an SNI host in the matcher, and optionally a port on the host. +message TLSRoute { + + // The set of request matchers for this route to match on. + repeated .common.gloo.solo.io.TLSRequestMatcher matchers = 1; + + // The action to take when a request matches this route. + oneof action_type { + // Forward traffic to one or more destination services. + TLSForwardToAction forward_to = 2; + } + + // When a client request matches a route, Gloo forwards the request to the destination that you specify in this `forwardTo` action. + message TLSForwardToAction { + + // Define the upstream destination to route the request to. + repeated .common.gloo.solo.io.DestinationReference destinations = 1; + } +} + +message GraphQLAction { + // Reference to a GraphQLSchema or GraphQLStitchedSchema resource that contains the configuration for this subschema. + oneof graphql_schema { + // Reference to a GraphQLSchema resource that contains the configuration for this subschema. + core.skv2.solo.io.ClusterObjectRef schema = 1; + + // Reference to a GraphQLStitchedSchema resource that contains the configuration for this subschema. + core.skv2.solo.io.ClusterObjectRef stitched_schema = 2; + } + + // Options that apply to this GraphQL Schema. + Options options = 4; + + message Options { + // Include information about request/response in the envoy debug logs. + // This is helpful for debugging GraphQL. + // Defaults to false. + google.protobuf.BoolValue log_sensitive_info = 1; + } +} + +// When a client request matches a route, Gloo forwards the request to the destination that you specify in this `forwardTo` action. +message ForwardToAction { + + // Define the upstream destination to route the request to. Some destinations require additional configuration for + // the route. For example, to forward requests to a CloudProvider for an AWS Lambda, you must also set a `function`. + // HTTP routes support all destinations types. TCP routes support only Kubernetes services and Gloo VirtualDestinations. + repeated .common.gloo.solo.io.DestinationReference destinations = 1; + + oneof path_rewrite_specifier { + // Replace the path specified in the matcher with this value before forwarding the request to the upstream destination. + // When a prefix matcher is used, only the prefix portion of the path is rewritten. When an exact matcher is used, + // the whole path is replaced. Rewriting the path when a regex matcher is used is currently unsupported. Note that path + // rewrites are available for HTTP routes only and are not supported for TCP routes. + string path_rewrite = 2; + + // During forwarding, portions of the path that match the pattern are rewritten, even allowing the substitution + // of capture groups from the pattern into the new path as specified by the rewrite substitution string. This substitution is useful + // to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. + // Note that regex rewrites are available for RE2 syntax and HTTP routes only. + envoy.type.matcher.v3.RegexMatchAndSubstitute regex_rewrite = 5; + } + + oneof host_rewrite_specifier { + // Replace the Authority/Host header with this value before forwarding the request to the upstream destination. Note + // that host rewrites are available for HTTP routes only and are not supported for TCP routes. + string host_rewrite = 3; + + // Automatically replace the Authority/Host header with the hostname of the upstream destination. Note + // that host rewrites are available for HTTP routes only and are not supported for TCP routes. + bool auto_host_rewrite = 4; + } +} + +// +// Notice: RedirectAction is copied directly from https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/route/route.proto +message RedirectAction { + + // The host portion of the URL will be swapped with this value. + string host_redirect = 1; + + // Defines whether and how the path portion of the URL will be modified. + oneof path_rewrite_specifier { + // The entire path portion of the URL will be overwritten with this value. + string path_redirect = 2; + } + + // The HTTP status code to use in the redirect response. The default response + // code is MOVED_PERMANENTLY (301). + RedirectResponseCode response_code = 4; + + enum RedirectResponseCode { + // Moved Permanently HTTP Status Code - 301. + MOVED_PERMANENTLY = 0; + + // Found HTTP Status Code - 302. + FOUND = 1; + + // See Other HTTP Status Code - 303. + SEE_OTHER = 2; + + // Temporary Redirect HTTP Status Code - 307. + TEMPORARY_REDIRECT = 3; + + // Permanent Redirect HTTP Status Code - 308. + PERMANENT_REDIRECT = 4; + } +} + +// +// DirectResponseAction is copied directly from https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/route/route.proto +message DirectResponseAction { + // Required: Specifies an HTTP response status between 100-599 inclusive to be returned. + uint32 status = 1; + + // Specifies the content of the response body. If omitted, + // no body is included in the generated response. + // + // Note: Headers can be specified using the Header Modification feature in the enclosing + // Route, ConnectionHandler, or Gateway options. + string body = 2; +} + +// DESTINATION +// rt: +// - path: / +// dests: +// - kube: +// name: reviews +// namespace: reviews +// cluster: cluster-1 +// weight: 1 +// - kube: +// name: reviews +// namespace: reviews +// cluster: cluster-2 +// weight: 1 +// - vDest: +// name: reviews +// workspace: bookinfo +// weight: 2 + + +// ----- gm ---------- | --- kube --- +// ref - {name, oneof[ns, cl]|wks} | {name,[ns,cl]} // fill in based on same ns/cluster +// sel - {labels, [wks]} | {labels, [ns, cl]} // select across ns/clusters + + +// +// DelegateActions are used to delegate routing decisions to other resources, for example RouteTables. +message DelegateAction { + + // Delegate to the RouteTables that match the given selectors. + // Selected route tables are ordered by creation time stamp in ascending order to guarantee consistent ordering. + // Route tables will be selected from the pool of route tables defined within the current workspace, as well as any imported into the workspace. + repeated .common.gloo.solo.io.ObjectSelector route_tables = 2; + + // Optional: Restrict delegation to the RouteTables that match the set of route filter criteria specified. + // If omitted, any route will be allowed to be referenced by this RouteTable. + repeated .common.gloo.solo.io.RouteFilter allowed_routes = 4; + + // How routes should be sorted + SortMethod sort_method = 3; + + enum SortMethod { + // Routes are kept in the order that they appear relative to their tables, but tables are sorted by weight. + // Tables that have the same weight will stay in the same order that they are listed in, which is the list + // order when given as a reference and by creation timestamp when selected. + TABLE_WEIGHT = 0; + + // After processing all routes, including additional route tables delegated to, the resulting routes are sorted + // by specificity to reduce the chance that a more specific route will be short-circuited by a general route. + // Matchers with exact path matchers are considered more specific than regex path patchers, which are more + // specific than prefix path matchers. For prefix and exact, matchers of the same type are sorted by length of the path in descending + // order. For regex matchers they are all treated equal when sorted. For sort ties, table weights are used across tables & + // within tables user specified order is preserved. Only the most specific matcher on each route is used. + // + // For example, consider the following two sub-tables that are sorted by specificity and the resulting route list. + // + // Sub-table A, with a table weight of `1` in case of sort ties:
    + //
  • `prefix: /foo`
  • + //
  • `prefix: /foo/more/specific`
  • + //
  • `prefix: /foo/even/more/specific`
  • + //
  • `exact: /foo/exact`
  • + //
  • `exact: /foo/another/exact`
  • + //
  • `regex: /foo/*`
  • + //
  • `regex: /fooo/*`
+ // Sub-table B, with a table weight of `2` in case of sort ties:
    + //
  • `prefix: /bar`
  • + //
  • `prefix: /bar/more/specific`
  • + //
  • `prefix: /bar/even/more/specific`
  • + //
  • `exact: /bar/exact`
  • + //
  • `regex: /bar/*`
+ // The resulting routes are sorted in this order:
    + //
  • `exact: /foo/another/exact`
  • + //
  • `exact: /bar/exact`
  • + //
  • `exact: /foo/exact`
  • + //
  • `regex: /bar/*`
  • + //
  • `regex: /foo/*`
  • + //
  • `regex: /fooo/*`
  • + //
  • `prefix: /bar/even/more/specific`
  • + //
  • `prefix: /foo/even/more/specific`
  • + //
  • `prefix: /bar/more/specific`
  • + //
  • `prefix: /foo/more/specific`
  • + //
  • `prefix: /bar`
  • + //
  • `prefix: /foo`
+ // + ROUTE_SPECIFICITY = 1; + } +} + +message RouteTableStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // A map of policy GVK to the number of policies that are applied on this resource, + // sorted by GVK. + map num_applied_route_policies = 2; + + // The number of parent route tables for this route table, if it is a delegated route table. + uint32 num_parent_route_tables = 3; + + // The name of the workspace that this route table belongs to. + string owned_by_workspace = 4; + + // The number virtual gateways that this route table can select. + uint32 num_allowed_virtual_gateways = 5; +} + +message RouteTableReport { + map workspaces = 1; + + // A map of policy GVK to policy references for all policies that are applied on this + // resource. + map applied_route_policies = 2; + + // A list of the parents route tables for this route table, if it is a delegated route table. + repeated .common.gloo.solo.io.ObjectReference parent_route_tables = 3; + + // The name of the workspace that owns the route table. + string owner_workspace = 4; + + // A list of allowed virtual gateways that this route table can select. + repeated .common.gloo.solo.io.ObjectReference allowed_virtual_gateways = 5; + + // A list of routes delegated to by delegated routes in this RouteTable. + // Only tracks direct delegates of this RouteTable; delegates of delegate routes are not included. + repeated DelegatedRouteTableReference delegated_to_route_tables = 6; + + message DelegatedRouteTableReference { + // The index of the route in the parent RouteTable that delegates to the listed RouteTable. + int32 route_index = 1; + + // The reference to the RouteTable being delegated to by the parent RouteTable. + .common.gloo.solo.io.ObjectReference route_table = 2; + } +} diff --git a/api/gloo.solo.io/networking/v2/virtual_destination.proto b/api/gloo.solo.io/networking/v2/virtual_destination.proto new file mode 100644 index 000000000..0eb8c6614 --- /dev/null +++ b/api/gloo.solo.io/networking/v2/virtual_destination.proto @@ -0,0 +1,108 @@ +syntax = "proto3"; + +package networking.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/clientmode.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/port.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// VirtualDestinations define groupings of backing destinations (for network traffic). +message VirtualDestinationSpec { + + // Optional: The set of custom hosts for which this virtual destination will serve traffic. + repeated string hosts = 1; + + // Selectors for the backing K8s services that comprise this VirtualDestination. + // A service will be selected if it matches any of the given selectors. + // Currently only one K8s Service can be selected per cluster. If more than one service is selected + // within a cluster, the VirtualDestination will report a warning and the oldest created service will be selected. + // When a request is routed through the VirtualDestination, it will be forwarded to one of the backing services, selected at random. + // (To forward to the service on the local cluster only, a FailoverPolicy and/or OutlierDetectionPolicy must be configured.) + // If a deployment is unavailable, requests will not be forwarded to that deployment. + repeated .common.gloo.solo.io.ObjectSelector services = 2; + + // Selectors for the backing External services that comprise this VirtualDestination. + // An external service will be selected if it matches any of the given selectors. + // Multiple External Services can be selected. + repeated .common.gloo.solo.io.ObjectSelector external_services = 3; + + // Selectors for the backing ExternalWorkloads that comprise this VirtualDestination. + // Currently only one ExternalWorkload can be selected per cluster. If more than one external workload is + // selected within a cluster, the VirtualDestination will report a warning and the oldest created external workload will be selected. + // When a request is routed through the VirtualDestination, it will be forwarded to one + // of the backing external workloads, selected at random. + // (To forward to the service on the local cluster only, a FailoverPolicy and/or OutlierDetectionPolicy must be configured.) + repeated .common.gloo.solo.io.ObjectSelector external_workloads = 6; + + // Required: The ports on which the VirtualDestination will serve traffic. Must have at least one port. + repeated PortMapping ports = 4; + + // Optional: Client mode determines how the VirtualDestination will be translated. + // If nil, the mode is inherited from the WorkspaceSettings defined by the admin. + .common.gloo.solo.io.ClientMode client_mode = 5; + + // PortMapping establishes a new port that will be exposed on a VirtualDestination. + message PortMapping { + + // The port number. Must be a valid, non-negative integer port number. + uint32 number = 1; + + // The protocol used in communication with this destination + // MUST be one of the following: HTTP, HTTPS, GRPC, HTTP2, MONGO, TCP, TLS. + // Note that the VirtualDestination protocol may not match the protocol of the backing k8s Service(s). + // For example, VirtualDestinations pointing to GRPC services will need the protocol set to GRPC. + // The prefix of the k8s Service port's name will typically match the needed PROTOCOL in such cases. + string protocol = 2; + + // (optional): The port number or name used to match the corresponding port on the + // VirtualDestination's backing Services and ExternalServices. + // All of the backing services for this VirtualDestination must contain + // this port, matching by name or number. + // If unspecified, will default to the value of the port number field above. + .common.gloo.solo.io.PortSelector target_port = 3; + } +} + +// The status of the resource after it is applied to your Gloo environment. +message VirtualDestinationStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // A map of policy GVK to policy references for all policies that are applied on this + // resource. + // "ExtAuthPolicy" -> ["policy-1", "policy-2"] + // "AccesssPolicy" -> ["policy-3"] + map num_applied_destination_policies = 2; + + // The number of destinations (across all clusters) that back this virtual destination. + uint32 num_selected_backing_services = 3; + + // The name of the workspace that owns the virtual destination. + string owned_by_workspace = 4; + +} + +// reflects the report of the VirtualDestination +message VirtualDestinationReport { + + map workspaces = 1; + + // A map of policy GVK to policy references for all policies that are applied on this + // resource. + map applied_destination_policies = 2; + + // A list of destinations that back this virtual destination. + repeated .common.gloo.solo.io.DestinationReference selected_backing_services = 3; + + // The name of the workspace that owns the virtual destination. + string owner_workspace = 4; +} diff --git a/api/gloo.solo.io/networking/v2/virtual_gateway.proto b/api/gloo.solo.io/networking/v2/virtual_gateway.proto new file mode 100644 index 000000000..d97a7a1e8 --- /dev/null +++ b/api/gloo.solo.io/networking/v2/virtual_gateway.proto @@ -0,0 +1,383 @@ +syntax = "proto3"; + +package networking.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/port.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// `VirtualGateway` represents a logical gateway configuration served by Gateway workloads within +// the same workspace. The specification describes a set of ports that the virtual gateway listens +// for incoming or outgoing HTTP/TCP connections, the type of protocol to use, SNI configuration etc. +// +// For example, the following VirtualGateway resource configures the gateway to listen for incoming +// HTTP requests on port 80, and delegate the route configuration of the '*.bookinfo.com' hostname +// to be provided by the bookinfo workspace. The VirtualGateway is +// applied to a specific set of gateway pods/VMs with the `app:my-gateway-controller` +// label within the same workspace as the VirtualGateway resource. +// +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: VirtualGateway +// metadata: +// name: my-gateway +// namespace: some-config-namespace +// labels: +// workspace.solo.io/exported: 'true' +// spec: +// workloads: +// - selector: +// labels: +// app: my-gateway-controller +// listeners: +// - port: +// number: 80 +// allowedRouteTables: +// - host: '*.bookinfo.com' +// selector: +// workspace: bookinfo +// ``` +// For example, the following VirtualGateway resource configures the gateway to listen for incoming +// HTTP requests on port 80, delegate any `*.foo.com` request to the `HTTPRouteTable` resource(s) +// provided by the `foo-ws` workspace. Further, on the same port 80, it also delegates any +// `*.bar.com` request to the route configurations provided by the `bar-ws` workspace. +// +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: VirtualGateway +// metadata: +// name: my-gateway +// namespace: some-config-namespace +// labels: +// workspace.solo.io/exported: 'true' +// spec: +// workloads: +// - selector: +// labels: +// app: my-gateway-controller +// listeners: +// - port: +// number: 80 +// allowedRouteTables: +// - host: '*.foo.com' +// selector: +// workspace: foo-ws +// - host: '*.bar.com' +// selector: +// workspace: bar-ws +// ``` +// +// For example, the following VirtualGateway resource configures the gateway to act +// as a load balancer listening on port 80 and 9080 (http), 443 (https), and +// 9443(https) for ingress. The VirtualGateway resource is +// applied to a specific set of gateway pods/VMs with the `app: my-gateway-controller` +// label within the same workspace. The route table(s) associated with each +// port 80, 9443 and 443 must be provided by the foo-ws workspace, with hosts that +// match `*.foo.com`. The route table(s) for port 9080 must be provided by the bar-ws +// workspace with hosts that match `*.bar.com`. +// +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: VirtualGateway +// metadata: +// name: my-gateway +// namespace: some-config-namespace +// labels: +// workspace.solo.io/exported: 'true' +// spec: +// workloads: +// - selector: +// labels: +// app: my-gateway-controller +// listeners: +// - port: +// number: 80 +// httpsRedirect: true +// allowedRouteTables: +// - host: '*.foo.com' +// selector: +// workspace: foo-ws +// - port: +// number: 443 +// tls: +// mode: SIMPLE +// files: +// privateKey: /etc/certs/privatekey.pem +// serverCert: /etc/certs/servercert.pem +// allowedRouteTables: +// - host: '*.foo.com' +// selector: +// workspace: foo-ws +// - port: +// number: 9443 +// tls: +// mode: SIMPLE +// secretName: my-secret +// allowedRouteTables: +// - host: '*.foo.com' +// selector: +// workspace: foo-ws +// - port: +// number: 9080 +// allowedRouteTables: +// - host: '*.bar.com' +// selector: +// workspace: foo-ws +// ``` +// For example, the following VirtualGateway resource configures the gateway to listen for incoming +// HTTP requests on port 80, delegate any `*.foo.com` request to the `HTTPRouteTable` resource(s) +// provided by the `foo-ws` workspace. This routeTable is restricted to using CloudProvider functionality +// which routes to cloud functions `backend-function-*` in region us-east-2 and which assume the +// `dev-team-B-*` IAM role. +// +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: VirtualGateway +// metadata: +// name: my-gateway +// namespace: some-config-namespace +// labels: +// workspace.solo.io/exported: 'true' +// spec: +// workloads: +// - selector: +// labels: +// app: my-gateway-controller +// listeners: +// - port: +// number: 80 +// allowedRouteTables: +// - host: '*.foo.com' +// selector: +// workspace: foo-ws +// ``` +message VirtualGatewaySpec { + + // Optional: Select which gateway workloads implement this virtual gateway in the same workspace. + // A gateway workload will be selected if it matches any of the provided selectors. +// For 'selector.name', specify the gateway service's name. +// For 'selector.labels', specify the gateway service's 'spec.selector' label. + // If workloads is nil, it will be applied to all gateway workloads. + repeated .common.gloo.solo.io.WorkloadSelector workloads = 1; + + // Required: One or more listeners for the virtual gateway. + // Each listener specifies a port and virtual host(s) for traffic received on those ports. + repeated Listener listeners = 2; + + message Listener { + // Required: The port on the gateway workload's service on + // which the gateway will listen for connections to route. + .common.gloo.solo.io.PortSelector port = 1; + + // Optional: settings for configuring TLS behavior for this listener + // Specify either tls or httpsRedirect but not both. + oneof tls_settings { + // TLS configure for a virtual host or listener to use TLS + TLSConfig tls = 2; + + // If set to true, the load balancer will send a 301 redirect for all http connections, + // asking the clients to use HTTPS. + bool https_redirect = 3; + } + + // Required: choose ONE type of listener, http or tcp, or tls. + // Defaults to http. + oneof listener_type { + // Serves http requests on the hosts specified for a given listener. + // The listener will route traffic based on the HTTPRouteTable resource(s) + // that is attached to the virtual gateway. + HTTPServer http = 4; + + // tcp routes on based on sni server name + // requires tls to be enabled + TCPServer tcp = 5; + + // @exclude TODO: consider creating a type for tls + } + + // Optional: Filter RouteTables which can bind to this listener by the host names and object metadata. + // Wildcard matching for host name is supported here. + // If omitted, any route table will be allowed to bind to this VirtualGateway. + repeated RouteTableFilter allowed_route_tables = 6; + + // Optional: List of ExternalServices exposed by this VirtualGateway. + // If empty, any ExternalService will be exposed by this VirtualGateway. + // Specifically used for configuring egress traffic. + repeated ExternalServiceFilter exposed_external_services = 9; + + // Optional: Apply an application protocol to use when deciding what additional capabilities to + // add to the gateway, such as routing and rich metrics. If no protocol is selected, it will be inferred + // from the listener type and its TLS settings. With an `http` listener, the `app_protocol` will default to + // `HTTP` if there are no TLS settings and `HTTPS` if there are. With a `tcp` listener, the `app_protocol` + // will default to `TCP` or `TLS` depending on the presence of TLS settings. + string app_protocol = 7; + + // HTTP server indicates HTTP routes will be served for RouteTables which select this gateway. + message HTTPServer { + + } + + // @exclude TODO: TCPServer + message TCPServer { + + } + + // Filter route tables which can attach to a VGW by host name as well as an object selector. + message RouteTableFilter { + + // Required: host name to select. Can use * to match host name patterns in multiple objects. + string host = 1; + + // Optional: filter out route tables which do not match the selector, if provided. + .common.gloo.solo.io.ObjectSelector selector = 2; + + // Optional: Restrict the routes that can be applied to this VirtualGateway to a set of route filter criteria. + // If empty, all the routes that belong to the matching route tables are allowed to bind to this VirtualGateway. + repeated .common.gloo.solo.io.RouteFilter allowed_routes = 8; + } + + // Filter ExternalServices which can attach to a VGW by host name. + message ExternalServiceFilter { + // Required: host name to select. Can use * to match host name patterns in multiple objects. + string host = 1; + + // Optional: filter out ExternalServices which do not match the selector, if provided. + .common.gloo.solo.io.ObjectSelector selector = 2; + } + } +} + +// TLSConfig contains the options necessary to configure a listener to use TLS +message TLSConfig { + + oneof certificates { + // SecretName is the name of the kubernetes secret which contains the ssl secret. Each + // Gateway will look for a secret with this name on its own local cluster in its own namespace. + string secret_name = 1; + + // Files reference paths to certificates which can be read by the proxy off of its local filesystem + Files files = 2; + + } + + // Verify that the Subject Alternative Name in the peer certificate is one of the specified values. + // note that a ca_certs must be provided if this option is used. + repeated string verify_subject_alt_name = 3; + + Parameters parameters = 4; + + // TLS modes enforced by the proxy + TLSMode mode = 5; + + enum TLSMode { + // The SNI string presented by the client will be used as the match criterion in a + // VirtualService TLS route to determine the destination service from the service registry. + PASSTHROUGH = 0; + + // Secure connections with standard TLS semantics. + SIMPLE = 1; + + // Secure connections to the downstream using mutual TLS by presenting server certificates for authentication. + MUTUAL = 2; + + // Similar to the passthrough mode, except servers with this TLS mode do not require an associated VirtualService + // to map from the SNI value to service in the registry. The destination details such as the service/subset/port + // are encoded in the SNI value. The proxy will forward to the upstream (Envoy) cluster (a group of endpoints) + // specified by the SNI value. This server is typically used to provide connectivity between services in disparate + // L3 networks that otherwise do not have direct connectivity between their respective endpoints. + // Use of this mode assumes that both the source and the destination are using Istio mTLS to secure traffic. + // In order for this mode to be enabled, the gateway deployment must be configured with the ISTIO_META_ROUTER_MODE=sni-dnat + // environment variable. + AUTO_PASSTHROUGH = 3; + + // Secure connections from the downstream using mutual TLS by presenting server certificates for authentication. + // Compared to Mutual mode, this mode uses certificates, representing gateway workload identity, generated automatically + // by Istio for mTLS authentication. When this mode is used, all other fields in `TLSConfig` should be empty. + ISTIO_MUTUAL = 4; + } + + message Files { + // Required if tlsMode is `SIMPLE` or `MUTUAL`. The path to the file that + // contains the server side TLS certificate. + string server_cert = 1; + // Required if tlsMode is `SIMPLE` or `MUTUAL`. The path to the file that + // contains the server's private key. + string private_key = 2; + // Required if tlsMode is `MUTUAL`. The path to the file that contains the + // certificate authority(CA) certificates for validating client cert. + string ca_certs = 3; + } + + // General TLS parameters. See the [envoy docs](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#enum-extensions-transport-sockets-tls-v3-tlsparameters-tlsprotocol) + // for more information on the meaning of these values. + message Parameters { + enum ProtocolVersion { + // Automatically choose the optimal TLS version. + TLS_AUTO = 0; + + // TLS 1.0 + TLSv1_0 = 1; + + // TLS 1.1 + TLSv1_1 = 2; + + // TLS 1.2 + TLSv1_2 = 3; + + // TLS 1.3 + TLSv1_3 = 4; + } + + + ProtocolVersion minimum_protocol_version = 1; + ProtocolVersion maximum_protocol_version = 2; + repeated string cipher_suites = 3; + } +} + +message VirtualGatewayStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of route tables allowed to bind to this virtual gateway. + uint32 route_tables_count = 2; + + // The number of workloads selected by this virtual gateway. + uint32 selected_workloads_count = 3; + + // The number of external services exposed by this virtual gateway. + uint32 external_services_count = 4; +} + +message VirtualGatewayReport { + map workspaces = 1; + + // A list of route tables allowed to bind to this virtual gateway. + repeated .common.gloo.solo.io.ObjectReference allowed_route_tables = 2; + + // A list of workloads selected by this virtual gateway. + repeated .common.gloo.solo.io.ObjectReference selected_workloads = 3; + + // list of external services exposed by this virtual gateway. + repeated .common.gloo.solo.io.ObjectReference exposed_external_services = 4; + + // A list of listener/RouteTable combinations showing which route tables are attached to which listeners. + repeated ListenerRouteTable listener_route_tables = 5; +} + +// ListenerRouteTable represents an association between a RouteTable and a particular VirtualGateway listener. +message ListenerRouteTable { + // The index of the listener in the list of listeners on the virtual gateway + uint32 listener_idx = 1; + + // A reference to a route table + .common.gloo.solo.io.ObjectReference route_table_ref = 2; +} \ No newline at end of file diff --git a/api/gloo.solo.io/networking/v2alpha1/external_workload.proto b/api/gloo.solo.io/networking/v2alpha1/external_workload.proto new file mode 100644 index 000000000..4183d0b26 --- /dev/null +++ b/api/gloo.solo.io/networking/v2alpha1/external_workload.proto @@ -0,0 +1,330 @@ +// Create an in-mesh identity for workloads that are external to a Kubernetes workload +// cluster to enable routing to and from those workloads in Gloo Mesh. +// For example, after you [onboard a VM to Gloo Mesh](https://docs.solo.io/gloo-mesh-enterprise/main/setup/prod/ext_workload_int/), +// you might create an ExternalWorkload to represent a set of workloads +// that run on the virtual machine or bare metal instance. +// When an ExternalWorkload is defined for a given workspace, it can be referenced in: +// - VirtualDestination resources, as an upstream destination +// - AccessPolicy resources, as an allowed client +// - AccessPolicy resources targeting external workloads that match workload selectors +// +// **Example**: This example provisions an identity for services that listen on port 5000 +// and that run either on a GCP VM that uses the specified cloud IAM service account, or +// an AWS VM that is in the specified security group ID. +// The identity is created in the `vm-config` namespace of the `workload-cluster`. +// ``` +// apiVersion: networking.gloo.solo.io/v2alpha1 +// kind: ExternalWorkload +// metadata: +// labels: +// app: http-server +// version: v1 +// name: http-server +// namespace: vm-config +// spec: +// connectedClusters: +// workload-cluster: vm-config +// identitySelector: +// gcp: +// - serviceAccount: +// aws: +// - securityGroupId: +// ports: +// - name: http +// number: 5000 +// ``` +syntax = "proto3"; + +package networking.gloo.solo.io; + +import "extproto/ext.proto"; +import "google/protobuf/wrappers.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// Specifications for the external workload. +message ExternalWorkloadSpec { + + // Ports that the external workloads listen on. + repeated Port ports = 1; + + // The conditions under which an external workload is selected. For example, you might + // select a Google Cloud Platform (GCP) VM by specifying `gcp.serviceAccount: `. + // This field is optional when you use a join token to attest the external workload. + // If you specify multiple identity selectors, an external workload is selected when at least + // one of the selectors matches. + IdentitySelector identity_selector = 2; + + // A map of cluster names to the namespace within the cluster that the external workload + // is registered in. To scope the external workload to multiple registered clusters, multiple + // cluster-namespace pairs can be specified. However, within a cluster, only a single + // namespace can be used to register the external workload. + map connectedClusters = 3; + + // Optional: Readiness probe for the external workload. + Probe readiness_probe = 4; + + // The port on the backing external workload. + message Port { + // The logical name assigned to the port. + string name = 1; + + // The protocol of the port. + // Supported protocols: HTTP, HTTPS, GRPC, HTTP2, MONGO, TCP, TLS + string protocol = 2; + + // The port number. Must be in the range 1 - 65535. + uint32 number = 3; + } + + // The conditions under which an external workload is selected. For example, you might + // select a Google Cloud Platform (GCP) VM by specifying `gcp.serviceAccount: `. + // This field is optional when you use a join token to attest the external workload. + // If you specify multiple selectors, an external workload is selected when at least + // one of the selectors matches. + message IdentitySelector { + + // Optional: Selector for external workloads running in AWS. + repeated AWS aws = 1; + + // Optional: Selector for external workloads running in GCP. + repeated GCP gcp = 2; + + // Optional: Selector for external workloads running in Azure. + repeated Azure azure = 3; + + // Optional: Join token configuration to attest the external workload. + JoinToken join_token = 4; + + // Selector for external workloads that run in AWS. + // If multiple fields are specified, an external workload is selected only when all match. + message AWS { + + // Optional: The IAM role within the instance profile of the external workload. + string iam_role = 1; + + // Optional: The name of the security group associated with the external workload. + string security_group_name = 2; + + // Optional: The ID of the security group associated with the external workload. + string security_group_id = 3; + + // Optional: The ID of the AMI used to launch the external workload. + string image_id = 4; + + // Optional: The ID of the external workload instance. + string instance_id = 5; + + // Optional: The availability zone in which the external workload is running. + string zone = 6; + + // Optional: The region where the external workload is running. + string region = 7; + + // The tag applied as a key to the external workload. + Tag tag = 8; + + // The tag applied as a key-value pair to the external workload. + message Tag { + // The key of the tag. + string key = 1; + + // The value of the tag. + string value = 2; + } + } + + // Selector for external workloads that run in GCP. + // If multiple fields are specified, an external workload is selected only when all match. + message GCP { + + // Optional: The service account associated with the external workload. + string service_account = 1; + + // Optional: Name of the external workload instance. + string name = 2; + + // Optional: The tag applied as a key to the external workload. + string tag = 3; + + // Optional: The ID of the project containing the external workload. + string project_id = 4; + + // Optional: The availability zone in which the external workload is running. + string zone = 5; + + // Optional: The label applied as a key-value pair to the external workload. + // The value for the key is optional. + Label label = 6; + + // The label applied as a key-value pair to the external workload. + // The value for the key is optional. + message Label { + // The key of the label. + string key = 1; + + // The value of the label. + string value = 2; + } + } + + // Selector for external workloads that run in Azure. + // If multiple fields are specified, an external workload is selected only when all match. + message Azure { + + // Optional: The subscription ID of the external workload. + string subscription_id = 1; + + // Optional: The name of the security group associated with the external workload. + // If specified, the `resourceGroup` field must also be specified. + string security_group = 2; + + // Optional: The name of the virtual network the external workload belongs to. + // If specified, the `resourceGroup` field must also be specified. + string virtual_network = 3; + + // Optional: The name of the subnet in the virtual network the external workload belongs to. + // If specified, the `resourceGroup` and `virtualNetwork` fields must also be specified. + string subnet = 4; + + // Optional: The name of the external workload instance. + // If specified, the `resourceGroup` field must also be specified. + string name = 5; + + // Optional: The resource group the external workload belongs to. + // The resource group does not act as a selector, + // but is used in conjunction with the other fields. + // Must be specified if the `securityGroup`, `virtualNetwork`, `subnet`, or `name` fields are specified. + string resource_group = 6; + } + + message JoinToken { + + // Optional: Enable the use of join tokens to attest the external workload. + // Defaults to false. + bool enable = 1; + } + } + + // A health check to perform against an external workload + // to determine whether it is ready to receive traffic. + message Probe { + + // Optional: Number of seconds after the external workload startup before the probes are initiated. + // Defaults to 0 seconds. + google.protobuf.UInt32Value initial_delay_seconds = 1; + + // Optional: Number of seconds after which the probe times out. + // Defaults to 1 second. Minimum value is 1 second. + google.protobuf.UInt32Value timeout_seconds = 2; + + // Optional: How often (in seconds) to perform the probe. + // Defaults to 10 seconds. Minimum value is 1 second. + google.protobuf.UInt32Value period_seconds = 3; + + // Optional: Minimum consecutive successes for the probe to be considered successful after having failed. + // Defaults to 1. + google.protobuf.UInt32Value success_threshold = 4; + + // Optional: Minimum consecutive failures for the probe to be considered failed after having succeeded. + // Defaults to 3. + google.protobuf.UInt32Value failure_threshold = 5; + + // The handler corresponding to the probe. Specify only one of: httpGet, tcpSocket, exec + oneof handler { + + // Configuration for an HTTP probe request. + HTTPGetConfig http_get = 7; + + // Configuration for a TCP socket probe. + TCPSocketConfig tcp_socket = 8; + + // Configuration for an exec command probe. + ExecConfig exec = 9; + } + + // Configuration for an HTTP GET probe request. + message HTTPGetConfig { + + // Number of the port to access. Must be in the range 1 - 65535. + uint32 port = 1; + + // Optional: Path to access on the HTTP server. + string path = 2; + + // Optional: Scheme to use for connecting to the host. + // Defaults to HTTP. + Scheme scheme = 3; + + // Optional: Custom headers to set in the request. HTTP allows repeated headers. + repeated HTTPHeader http_headers = 4; + + // Scheme to use for connecting to the host. + enum Scheme { + // Use the `http://` scheme for the connection. + HTTP = 0; + + // Use the `https://` scheme for the connection. + HTTPS = 1; + } + } + + // A custom header to use in HTTP probes. + message HTTPHeader { + + // The header field name. + string name = 1; + + // The header field value. + string value = 2; + } + + // Configuration for a TCP socket probe. + message TCPSocketConfig { + + // Optional: Host to connect to. Defaults to `localhost`. + string host = 1; + + // Number of the port to access. Must be in the range 1 - 65535. + uint32 port = 2; + } + + // Configuration for an exec command probe. + message ExecConfig { + + // Command to run. An exit status of zero (0) is considered healthy, and a non-zero status is considered unhealthy. + repeated string command = 1; + } + } +} + +// The status of the ExternalWorkload after it is applied to your Gloo environment. +message ExternalWorkloadStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // A map of policy GVK to the number of policies that are applied on this resource, + // sorted by GVK. + map num_applied_policies = 2; + + // Name of the workspace that owns this ExternalWorkload + string owned_by_workspace = 3; +} + +// The resources that the applied resource selects. +message ExternalWorkloadReport { + map workspaces = 1; + + // A map of policy GVK to policy references for all the policies that are + // applied on this resource. + map applied_destination_policies = 2; + + // The name of the workspace that owns the ExternalWorkload. + string owner_workspace = 3; +} diff --git a/api/gloo.solo.io/policy/v2/extensions/wasm_deployment_policy.proto b/api/gloo.solo.io/policy/v2/extensions/wasm_deployment_policy.proto new file mode 100644 index 000000000..bd0a538e9 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/extensions/wasm_deployment_policy.proto @@ -0,0 +1,182 @@ +// Add a Wasm filter to the Envoy sidecar proxy, for use cases such as +// customizing the endpoints and thresholds for your workloads. +// WasmDeploymentPolicies are applied at the *Workload* level. +// +// {{% notice note %}} +// To apply Wasm filters, you must first enable the Envoy sidecar proxies +// on your workloads to fetch Wasm filters from an Envoy cluster. For more information, +// see [Enable the Envoy sidecar to fetch Wasm filters](https://docs.solo.io/gloo-mesh-enterprise/latest/policies/wasm/wasm-policy/#enable-filter). +// {{% /notice %}} +// +// **Example**: In this example, a filter adds a custom header +// to the response from the ratings service in the Bookinfo application. +// ```yaml +// {{% readfile file="content/mesh/static/content/examples/manual/wasm-deployment-policy_bookinfo_wasm-deployment-policy.yaml" %}} +// ``` +syntax = "proto3"; + +package extensions.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/any.proto"; +import "networking/v1alpha3/envoy_filter.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// Specifications for the policy. +message WasmDeploymentPolicySpec { + + // Select the workloads to apply the Wasm filter to. + // If empty, the policy applies to all workloads in the workspace. + repeated .common.gloo.solo.io.WorkloadSelector apply_to_workloads = 1; + + // Details of the policy specifying the Wasm filters to apply to the selected workloads. + Config config = 2; + + // Details of the policy specifying the Wasm filters to apply to the selected workloads. + message Config { + + // Wasm filter parameters. + repeated WasmFilter filters = 2; + + // If you apply multiple Wasm filters to a single workload, add a `weight` + // to specify the order in which the filters are applied. + // Deployed Wasm filters are sorted in order of highest to lowest weight. + // Wasm filters with equal weights are sorted non-deterministically. + // Note that all Wasm filters are inserted immediately before the Envoy router filter + // in the HTTP Connection Manager's HTTP Filter Chain. + uint32 weight = 3; + + + // Specify the Wasm filter to deploy. + message WasmFilter { + + // Required: The filter source. Several options are available for providing + // a source of the Wasm filter file. + oneof filter_source { + + // Select `local_path_source` to deploy the filter from a file accessible + // to the workload proxy. Note that Gloo Mesh cannot verify + // whether the target workload proxy containers contain the given path. + // If filters do not load, check the sidecar proxy logs. + // + string local_path_source = 1; + + // Select `http_uri_source` to deploy the filter from an HTTP/S URI accessible + // to the workload proxy. Note that Gloo Mesh cannot verify + // whether the target workload proxy containers have HTTP access the given URI. + // If filters do not load, check the sidecar proxy logs. + // + // + UriSource http_uri_source = 2; + + // Fetch the image from a [Wasm OCI Registry](https://webassemblyhub.io/). + // Images can be built and pushed to registries using `meshctl` and + // [`wasme` CLI tool](https://docs.solo.io/web-assembly-hub/latest/tutorial_code/getting_started/). + // For more info, check out the [WebAssembly Hub](https://docs.solo.io/web-assembly-hub/latest). + WasmImageSource wasm_image_source = 3; + } + + // The source of a static or dynamic filter configuration. + // Equivalent to `proxy_on_configuration`. + oneof filter_config_source { + + // Provide configuration as a static configuration source. + //
  • `google.protobuf.Struct` is serialized as JSON before it is passed to the plugin.
  • + //
  • `google.protobuf.BytesValue` and `google.protobuf.StringValue` are passed directly without the wrapper.
+ // + // For information about the value format, see the + // [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any). + .google.protobuf.Any static_filter_config = 4; + + // NOTE: **Not currently implemented.** This field serves as a placeholder. + // Provide configuration from a dynamic configuration source. + // This setting connects proxies to a configuration server to update filter + // configuration instead of using a filter provided in the policy. + //
  • `google.protobuf.Struct` is serialized as JSON before it is passed to the plugin.
  • + //
  • `google.protobuf.BytesValue` and `google.protobuf.StringValue` are passed directly without the wrapper.
+ // + // + string dynamic_filter_config = 8; + } + + // The `rootId` must match the `rootId` defined in the filter. If omitted, + // Gloo Mesh pulls and sets the image from the `filter_conf` contained + // in the image config. Note that if the `filter_source` is not set to + // `wasm_image_source`, this field is required. + string root_id = 5; + + // Optional: A VM ID, used along with a hash of the Wasm code (or the name of the + // registered Null VM plugin), to determine which VM loads the Wasm filter. + // All filters on the same workload that use the same `vmId` and code within + // use the same VM. + // + // Note that sharing a VM between plugins can reduce memory + // utilization and make sharing of data easier, which may have security implications. + string vm_id = 6; + + // The context that the filter is attached to: + //
  • Any workload context (`ANY`)
  • + //
  • A gateway (`GATEWAY`)
  • + //
  • Inbound traffic to a sidecar proxy (`SIDECAR_INBOUND`)
  • + //
  • Outbound traffic from a sidecar (`SIDECAR_OUTBOUND`)
+ // + // By default, the value is `ANY` to permit any context. + .istio.networking.v1alpha3.EnvoyFilter.PatchContext filter_context = 7; + + // In the Envoy HTTP Filter Chain, the filter that the Wasm filter is inserted + // immediately before. Note that not all filters might be applied to a + // particular workload. Default value: `envoy.router`. + string insert_before_filter = 9; + + + // Options for fetching Wasm filters from an HTTP URI. + message UriSource { + + // The HTTP URI from which to fetch the filter. + string uri = 1; + + // Required: The sha256 checksum of the filter binary. + // This value is verified by the proxy. + string sha = 2; + } + + // Options for fetching the Wasm image from a + // [Wasm-compatible OCI Registry](https://webassemblyhub.io/). + // Images can be built and pushed to registries using `meshctl` and `wasme`. + message WasmImageSource { + + // The full tag of the Wasm image. The tag must include the registry + // address at the beginning, such as `webassemblyhub.io/ilackarms/helloworld:v0.1`. + string wasm_image_tag = 1; + } + + } + + } +} + +// The status of the policy after it is applied to your Gloo environment. +message WasmDeploymentPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of workloads selected by the policy. + uint32 num_selected_workloads = 2; +} + +// The report shows the resources that the policy selects after the policy is successfully applied. +message WasmDeploymentPolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // A list of workloads selected by the policy. + repeated .common.gloo.solo.io.WorkloadReference selected_workloads = 2; +} diff --git a/api/gloo.solo.io/policy/v2/observability/access_log_policy.proto b/api/gloo.solo.io/policy/v2/observability/access_log_policy.proto new file mode 100644 index 000000000..b670d343b --- /dev/null +++ b/api/gloo.solo.io/policy/v2/observability/access_log_policy.proto @@ -0,0 +1,119 @@ +// {{% readfile file="static/content/policies/ov_access_logs" markdown="true"%}} +// You can use access log policies to configure log collection for workloads +// that have injected sidecars or are standalone proxies, such as gateways. +// AccessLogPolicies are applied at the *Workload* level. +// +// Note: Be sure to [enable access logging]({{< versioned_link_path fromRoot="/observability/tools/access-logs/" >}}) +// by modifying your default Istio operator installation. +// +// **Example**: This example filters access logs for the `reviews` service, so that only +// logs that contain the header `foo: bar` are recorded. +// ```yaml +// apiVersion: observability.policy.gloo.solo.io/v2 +// kind: AccessLogPolicy +// metadata: +// name: access-log-policy +// namespace: bookinfo +// spec: +// applyToWorkloads: +// - selector: +// cluster: cluster1 +// labels: +// app: reviews +// namespace: bookinfo +// config: +// filters: +// #- statusCodeMatcher: +// # value: 200 +// # comparator: EQ +// - headerMatcher: +// name: foo +// value: bar +// regex: false +// invertMatch: false +// #includedRequestHeaders: +// # - x-user-agent +// #includedResponseHeaders: +// # - x-server +// #includedResponseTrailers: +// # - x-expires +// #includedFilterStateObjects: +// ``` +syntax = "proto3"; + +package observability.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/http_matchers.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// Specifications for the policy. +message AccessLogPolicySpec { + + // Select the workloads where access logs will be collected. + // If empty, the policy applies to all workloads in the workspace. + repeated .common.gloo.solo.io.WorkloadSelector apply_to_workloads = 1; + + // Details of the policy specifying how to collect access logs from the selected workloads. + Config config = 2; + + // Details of the policy specifying how to collect access logs from the selected workloads. + message Config { + + // Criteria for determining which access logs are recorded for the workload. + // The list is disjunctive, meaning that a request is logged if it matches any filter. + // If empty, all access logs are recorded. + repeated Filter filters = 2; + + // Request headers to include in access logs. + repeated string included_request_headers = 3; + + // Response headers to include in access logs. + repeated string included_response_headers = 4; + + // Response trailers to include in access logs. + repeated string included_response_trailers = 5; + + // Filter state objects to include in access logs. + repeated string included_filter_state_objects = 6; + + // Criteria for recording access logs. A request must match all specified criteria in the filter to be recorded. + message Filter { + + // Criteria type. + oneof type { + // Matches against a response HTTP status code. Omit to match any status code. + .common.gloo.solo.io.StatusCodeMatcher status_code_matcher = 1; + + // Matches against a request or response HTTP header. Omit to match any headers. + .common.gloo.solo.io.HeaderMatcher header_matcher = 2; + } + } + } +} + +// The status of the policy after it is applied to your Gloo environment. +message AccessLogPolicyStatus { + // The state and workspace conditions of the applied policy. + .common.gloo.solo.io.Status common = 1; + + // The number of workloads selected by the policy. + uint32 num_selected_workloads = 2; +} + +// The report shows the resources that the policy selects after the policy is successfully applied. +message AccessLogPolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // A list of workloads selected by the policy. + repeated .common.gloo.solo.io.WorkloadReference selected_workloads = 2; +} diff --git a/api/gloo.solo.io/policy/v2/resilience/active_health_check_policy.proto b/api/gloo.solo.io/policy/v2/resilience/active_health_check_policy.proto new file mode 100644 index 000000000..ed9f11d80 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/resilience/active_health_check_policy.proto @@ -0,0 +1,68 @@ +// {{% readfile file="static/content/policies/ov_healthcheck" markdown="true"%}} +// If an upstream service is unavailable, the service is removed from the +// load balancing pool until health is re-established. Active healthcheck +// policies are applied at the *Destination* level. For more information, +// see the [Envoy healthcheck configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/health_checking). +// +// **Example**: For detailed information about the settings in this example, +// see [Configure active healthcheck policies](https://docs.solo.io/gloo-gateway/main/policies/healthcheck/#configure-active-healthcheck-policies). +// ```yaml +// {{% readfile file="/content/gateway/static/content/examples/generated/int/ahcp_fail_http/cluster-1/active-health-check-policy_bookinfo_active-health-check-policy-httbin-unhealthy.yaml" %}} +// ``` +syntax = "proto3"; + +package resilience.policy.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "envoy/config/core/v3/health_check.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2"; + + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// Specifications for the policy. +message ActiveHealthCheckPolicySpec { + + // Destinations to actively health check. + // If empty, no healthchecks are performed. + repeated .common.gloo.solo.io.DestinationSelector apply_to_destinations = 1; + + // Details of the healthcheck policy to apply to the selected destinations. + Config config = 2; + + // Details of the healthcheck policy to apply to the selected destinations. + message Config { + // Configuration for the Envoy healthcheck. For more info, see the + // [Envoy healthcheck config reference](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/endpoint/v3/endpoint_components.proto#config-endpoint-v3-endpoint-healthcheckconfig). + .envoy.config.core.v3.HealthCheck health_check = 1 [(.solo.io.cue.opt).disable_openapi_validation = true]; + + // A list of references to virtual gateways that perform the healthchecks. + repeated .common.gloo.solo.io.ObjectReference virtual_gateways = 5; + } + +} + +// The status of the policy after it is applied to your Gloo environment. +message ActiveHealthCheckPolicyStatus { + // The state and workspace conditions of the applied policy. + .common.gloo.solo.io.Status common = 1; + + // The number of destination ports selected by the policy. + uint32 num_selected_destination_ports = 2; +} + +// The report shows the resources that the policy selects after the policy is successfully applied. +message ActiveHealthCheckPolicyReport { + // A list of workspaces in which the policy can apply to destinations. + map workspaces = 1; + + // Destination ports selected by the policy. + repeated .common.gloo.solo.io.DestinationReference selected_destination_ports = 2; +} \ No newline at end of file diff --git a/api/gloo.solo.io/policy/v2/resilience/connection_policy.proto b/api/gloo.solo.io/policy/v2/resilience/connection_policy.proto new file mode 100644 index 000000000..9064c5df3 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/resilience/connection_policy.proto @@ -0,0 +1,88 @@ +syntax = "proto3"; + +package resilience.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/keepalive.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/duration.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// ConnectionPolicy provides settings to apply low-level settings on selected TCP connections. +message ConnectionPolicySpec { + + // select the destinations where the policy will be applied. If empty, + // this will apply to all destinations in the workspace. + repeated .common.gloo.solo.io.DestinationSelector apply_to_destinations = 1; + + // The details of the low-level network connection settings to apply to the destinations. + Config config = 2; + + message Config { + + // The low-level TCP connection settings to apply to the destinations selected. + TCPConfig tcp = 1; + + // The low-level HTTP connection settings to apply to the destination selected. + HTTPConfig http = 2; + + message TCPConfig { + // Sets the TCP keep-alive settings to apply to selected destinations. + .common.gloo.solo.io.TCPKeepalive tcp_keepalive = 1; + + // Sets the maximum allowed connections to the destination host. + int32 max_connections = 2; + + // Sets the TCP connection timeout. It must be greater than or equal to 1ms. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration connect_timeout = 3; + } + + message HTTPConfig { + // Maximum number of requests per connection to a backend. Setting this parameter to 1 disables keep alive. Default 0, meaning “unlimited”, up to 2^29. + int32 max_requests_per_connection = 1; + + // Maximum number of retries that can be outstanding to all hosts in a cluster at a given time. Defaults to 2^32-1. + int32 max_retries = 2; + + // Maximum number of active requests to a destination. Default 1024. Applicable to both HTTP/1.1 and HTTP2. + int32 max_requests = 4; + + // Maximum number of requests that will be queued while waiting for a ready connection pool connection. Default 1024. + // If the limit is reached, the request will fail and a 503 error will be returned. + // Applicable to both HTTP/1.1 and HTTP2. + int32 max_pending_requests = 5; + + // The idle timeout for upstream connection pool connections. The idle timeout is defined as the period in which there are no active requests. + // If omitted, the default is 1 hour. When the idle timeout is reached, the connection will be closed. If the connection is an HTTP/2 connection + // a drain sequence will occur prior to closing the connection. Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive. + // Applies to both HTTP1.1 and HTTP2 connections. + // For more information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration idle_timeout = 3; + } + } +} + +// The status of the policy after it is applied to your Gloo environment. +message ConnectionPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of destination ports selected by this policy. + uint32 num_selected_destination_ports = 2; +} + +message ConnectionPolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // A list of destination ports selected by this policy. + repeated .common.gloo.solo.io.DestinationReference selected_destination_ports = 2; +} diff --git a/api/gloo.solo.io/policy/v2/resilience/failover_policy.proto b/api/gloo.solo.io/policy/v2/resilience/failover_policy.proto new file mode 100644 index 000000000..7a28fa069 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/resilience/failover_policy.proto @@ -0,0 +1,127 @@ +// {{% readfile file="/content/mesh/static/content/policies/ov_failover" %}} +// If a backing service in a virtual destination is unhealthy, Gloo Mesh re-routes +// traffic to another healthy backing service by locality, as specified +// in the FailoverPolicy config. +// FailoverPolicies are applied at the *Destination* level. +// +// Note that you can use failover policies in combination with other policies, +// such as [outlier detection]({{< versioned_link_path fromRoot="/policies/outlier-detection/">}}) +// or [retry]({{< versioned_link_path fromRoot="/policies/retry-timeout/">}}) policies. +// In case of a failure, the failover policy tells Gloo Mesh which healthy destinations +// to reroute traffic to, based on the closest locality. The outlier detection policy +// tells Gloo Mesh when and for how long to remove unhealthy services. +// The retry policy tells Gloo Mesh how many times to retry requests +// before the outlier detection policy considers the request as failing +// and removes the service from the pool of healthy destinations. +// +// **Example**: This example selects all virtual destinations in the workspace, +// and fails over traffic from any destinations served in the `us-east` region +// to any matching destinations only in the `us-west` region. +// ```yaml +// {{% readfile file="/content/mesh/static/content/examples/generated/int/virtual_dest_locality_based_failover/cluster-1/failover-policy_bookinfo_locality-based-failover.yaml" %}} +// ``` +syntax = "proto3"; + +package resilience.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// Specifications for the policy. +message FailoverPolicySpec { + + // Select the virtual destinations to apply the policy to by using labels. + // If empty, the policy applies to all vitrual destinations in the workspace. + // {{% notice note %}} + // Failover policies can currently select Gloo virtual destinations only. + // Selecting Kubernetes services or Gloo external services is not supported. + // {{% /notice %}} + repeated .common.gloo.solo.io.DestinationSelector apply_to_destinations = 1; + + // The details of the failover policy to apply to the selected virtual destinations. + Config config = 2; + + message Config { + + // Map the localities to fail over traffic from one region, zone, + // or subzone to another in case of failure. The locality is determined + // by the Kubernetes labels on the node where the destination's app runs. + // For more information, see the [Istio docs](https://istio.io/latest/docs/tasks/traffic-management/locality-load-balancing/). + // + // You can exclude this setting to enable the locality load balancer + // settings without mappings. + repeated LocalityMappings locality_mappings = 2; + + message LocalityMappings { + // The locality of the destination where Gloo Mesh originally + // tried to fulfill the request. + OriginatingLocality from = 1; + + // The localities of the destination where Gloo Mesh can reroute requests. + // You must specify the region, and optionally the zone and subzone. + // If you have multiple `to` destinations, you can optionally set a weight. + repeated DestinationLocality to = 2; + + // A geographic location defined by a region, zone, and sub-zone. + message OriginatingLocality { + // The locality's region. + string region = 1; + + // (Optional) The locality's zone. + string zone = 2; + + // (Optional) The locality's sub-zone. + string sub_zone = 3; + } + + // A geographic location defined by a region, zone, and sub-zone + // along with the weight for the destination. + message DestinationLocality { + + // The locality's region. + string region = 1; + + // (Optional) The locality's zone. + string zone = 2; + + // (Optional) The locality's sub-zone. + string sub_zone = 3; + + // (Optional) Weight for destination locality. All weights must add up to 100. + // If not provided, weight is determined based on other destination locality weights. + // For information about the value format, see the + // [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int32-value). + google.protobuf.UInt32Value weight = 4; + } + } + + } + +} + +// The status of the policy after it is applied to your Gloo environment. +message FailoverPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of destination ports selected by the policy. + uint32 num_selected_destination_ports = 2; +} + +// The report shows the resources that the policy selects after the policy is successfully applied. +message FailoverPolicyReport { + // A list of workloads selected by the policy. + map workspaces = 1; + + // A list of destination ports selected by the policy. + repeated .common.gloo.solo.io.DestinationReference selected_destination_ports = 2; +} diff --git a/api/gloo.solo.io/policy/v2/resilience/fault_injection_policy.proto b/api/gloo.solo.io/policy/v2/resilience/fault_injection_policy.proto new file mode 100644 index 000000000..a94d735f2 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/resilience/fault_injection_policy.proto @@ -0,0 +1,85 @@ +syntax = "proto3"; + +package resilience.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// FaultInjectionPolicy is used to inject faults (latency and errors) into requests sent through the mesh. +// Fault specification is part of a VirtualService rule. Faults include +// aborting the Http request from downstream service, and/or delaying +// proxying of requests. A fault rule MUST HAVE delay or abort or both. +// FaultInjectionPolicies are applied at the *Route* level. +message FaultInjectionPolicySpec { + + // Routes to apply the policy to. + // If empty, the policy applies to all routes in the workspace. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // The details of the fault injection policy to apply to the selected routes. + Config config = 2; + + // *Note:* Delay and abort faults are independent of one another, even if + // both are specified simultaneously. + message Config { + + // Indicate the amount of delay in seconds. + // The optional _percentage_ field can be used to only delay a certain + // percentage of requests. If left unspecified, all request will be delayed. + Delay delay = 1; + + // Abort the request and return the specified error code back to traffic source. + Abort abort = 2; + + // Abort Http request attempts and return error codes back to downstream + // service, giving the impression that the upstream service is faulty. + message Abort { + + // Required: HTTP status code to use to abort the request. + int32 http_status = 1; + + // Percentage of requests to be aborted. Values range between 0 and 100. If omitted all requests will be aborted. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/double-value). + google.protobuf.DoubleValue percentage = 2; + } + + // Delay requests before forwarding, emulating various failures such as + // network issues, overloaded upstream service, etc. + message Delay { + // Required: Add a delay of a fixed duration before sending the request. Format: `1h`/`1m`/`1s`/`1ms`. MUST be >=1ms. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration fixed_delay = 1; + + // Percentage of requests on which the delay will be injected. Values range between 0 and 100. If omitted all requests will be delayed. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/double-value). + google.protobuf.DoubleValue percentage = 2; + } + + } +} + +// The status of the policy after it is applied to your Gloo environment. +message FaultInjectionPolicyStatus { + // The common status of the object + .common.gloo.solo.io.Status common = 1; + + // The number of routes selected by the policy. + uint32 num_selected_routes = 2; +} + +message FaultInjectionPolicyReport { + // The state of the resource in each workspace that receives its configuration. + map workspaces = 1; + + // A list of references to all routes selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; +} diff --git a/api/gloo.solo.io/policy/v2/resilience/graphql_persisted_query_cache_policy.proto b/api/gloo.solo.io/policy/v2/resilience/graphql_persisted_query_cache_policy.proto new file mode 100644 index 000000000..184d720b7 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/resilience/graphql_persisted_query_cache_policy.proto @@ -0,0 +1,59 @@ +syntax = "proto3"; +package resilience.policy.gloo.solo.io; +option go_package = "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2"; + +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +import "google/protobuf/any.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +import "extproto/ext.proto"; +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// To improve network performance for large query strings, the GraphQL filter supports +// automatic persisted queries. A persisted query is a query string that's cached on the server side, +// along with it's hash. The client can then send the hash instead of the full query string, thus +// reducing request sizes (responses are unaffected). +// Persisted queries are especially effective when clients send queries as GET requests. +// This enables clients to take advantage of the browser cache and integrate with a CDN. +// If empty, persisted query cache is not used. +message GraphQLPersistedQueryCachePolicySpec { + + // Select the graphql routes where the policy will be applied. + // If empty, will apply to no graphql routes. + // selection via Destination selectors will not work for this policy, and only + // route selectors will work. + // If more than one GraphQLPersistedQueryCachePolicy applies to a GraphQLRoute, the oldest + // one will be applied. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // Persisted query cache configuration. + Config config = 2; + + message Config { + + // The number of queries to store in the persisted query cache, defaults to 1000. + uint32 cache_size = 1; + } +} + +message GraphQLPersistedQueryCachePolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of routes selected by the policy. + uint32 num_selected_routes = 2; +} + +message GraphQLPersistedQueryCachePolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // A list of references to all routes selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; +} diff --git a/api/gloo.solo.io/policy/v2/resilience/listener_connection_policy.proto b/api/gloo.solo.io/policy/v2/resilience/listener_connection_policy.proto new file mode 100644 index 000000000..21353eaf0 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/resilience/listener_connection_policy.proto @@ -0,0 +1,70 @@ +syntax = "proto3"; + +package resilience.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "google/protobuf/wrappers.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/keepalive.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// ListenerConnectionPolicy is used to set configuration for gateway listeners. +// +// ``` +// apiVersion: trafficcontrol.policy.gloo.solo.io/v2 +// kind: ListenerConnectionPolicy +// metadata: +// name: my-policy +// namespace: bookinfo +// spec: +// config: +// perConnectionBufferLimitBytes: 16384 +// applyToListeners: +// - virtualGateway: +// name: virtual-gateway +// namespace: bookinfo +// cluster: my-cluster +// port: +// number: 443 +// ``` +message ListenerConnectionPolicySpec { + // The VirtualGateway(s) and Port(s) to which this policy applies. + repeated .common.gloo.solo.io.ListenerSelector apply_to_listeners = 1; + + // The configuration to apply to the selected listeners. + message Config { + // Required: Soft limit on size of the listener’s new connection read + // and write buffers. + // Default value set by Envoy is 1MiB. + google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 1; + + // Sets the TCP keep-alive settings to apply to selected listeners. + .common.gloo.solo.io.TCPKeepalive tcp_keepalive = 2; + } + + Config config = 2; +} + +// The status of the policy after it is applied to your Gloo environment. +message ListenerConnectionPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of virtual gateway listeners selected by the policy. + uint32 num_selected_listeners = 2; +} + +message ListenerConnectionPolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // A list of virtual gateway listeners selected by the policy. + repeated .common.gloo.solo.io.ListenerPortReference selected_listeners = 2; +} diff --git a/api/gloo.solo.io/policy/v2/resilience/outlier_detection_policy.proto b/api/gloo.solo.io/policy/v2/resilience/outlier_detection_policy.proto new file mode 100644 index 000000000..3f6aea573 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/resilience/outlier_detection_policy.proto @@ -0,0 +1,87 @@ +syntax = "proto3"; + +package resilience.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// OutlierDetectionPolicy is used to configure [outlier detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier) on the selected destinations. +// Specifying this field requires an empty `source_selector` because it must apply to all traffic. +// OutlierDetectionPolicies are applied at the *Destination* level. +// +// For VirtualDestinations, traffic will not be sent to deployments that are unavailable by default. +// An OutlierDetectionPolicy will add configuration to also eject a deployment that is returning too many 5xx HTTP status codes. +message OutlierDetectionPolicySpec { + + // Destinations to apply the policy to. + // If empty, the policy applies to all destinations in the workspace. + repeated .common.gloo.solo.io.DestinationSelector apply_to_destinations = 1; + + // The details of the OutlierDetectionPolicy to apply to the selected destinations. + Config config = 2; + + message Config { + + // The number of 5xx errors before a destination is removed from the healthy connection pool. The default, if this field is not set, is 5. + google.protobuf.UInt32Value consecutive_errors = 1; + + // The amount of time between analyzing destinations for ejection. + // Set this value as an integer plus a unit of time, in the format `1h`, `1m`, `1s`, or `1ms`. The value must be at least `1ms`, and defaults to `10s`. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration interval = 2; + + // The minimum time duration for ejection, or the time when a destination is considered unhealthy and not used for load balancing. + // Set this value as an integer plus a unit of time, in the format `1h`, `1m`, `1s`, or `1ms`. The value must be at least `1ms`, and defaults to `30s`. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration base_ejection_time = 3; + + // The maximum percentage of destinations that can be removed from the healthy connection pool at a time. + // For example, if you have 10 total destinations that the policy selects, and set this value to 50 percent, 5 destinations can be removed at once. + // At least 1 destination can always be removed, regardless of the value you set. You can set this value between `0` and `100`, with a default of `100`. + uint32 max_ejection_percent = 4; + + // Number of gateway errors before a host is ejected from the connection pool. + // When the upstream host is accessed over HTTP, a 502, 503, or 504 return + // code qualifies as a gateway error. When the upstream host is accessed over + // an opaque TCP connection, connect timeouts and connection error/failure + // events qualify as a gateway error. + // This feature is disabled by default or when set to the value 0. + // + // Note that consecutive_gateway_errors and consecutive_errors can be + // used separately or together. Because the errors counted by + // consecutive_gateway_errors are also included in consecutive_errors, + // if the value of consecutive_gateway_errors is greater than or equal to + // the value of consecutive_errors, consecutive_gateway_errors will have + // no effect. + google.protobuf.UInt32Value consecutive_gateway_errors = 5; + + } + +} + +// The status of the policy after it is applied to your Gloo environment. +message OutlierDetectionPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of destination ports selected by the policy. + uint32 num_selected_destination_ports = 2; +} + +message OutlierDetectionPolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // A list of destination ports selected by the policy. + repeated .common.gloo.solo.io.DestinationReference selected_destination_ports = 2; +} diff --git a/api/gloo.solo.io/policy/v2/resilience/retry_timeout_policy.proto b/api/gloo.solo.io/policy/v2/resilience/retry_timeout_policy.proto new file mode 100644 index 000000000..53d6426e2 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/resilience/retry_timeout_policy.proto @@ -0,0 +1,87 @@ +syntax = "proto3"; + +package resilience.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// RetryTimeoutPolicy is used to add automatic retries and timeouts to requests matching selected routes. +// RetryTimeoutPolicies are applied at the *Route* level. +message RetryTimeoutPolicySpec { + + // Routes to apply the policy to. + // If empty, the policy applies to all workloads in the workspace. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // The details of the retry/timeout policy to apply to the selected routes. + Config config = 2; + + message Config { + + // Set a retry policy on requests matched on the selected routes. + RetryPolicy retries = 3; + + // Set a timeout on requests matched on the selected routes. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration request_timeout = 4; + + // Specify retries for failed requests. + message RetryPolicy { + + // Number of retries for a given request + // The interval between retries will be determined automatically (25ms+). When request + // `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute) + // or `per_try_timeout` is configured, the actual number of retries attempted also depends on + // the specified request `timeout` and `per_try_timeout` values. + // Defaults to 2 retries. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/int32-value). + google.protobuf.Int32Value attempts = 1; + + // Timeout per retry attempt for a given request. Format: `1h`/`1m`/`1s`/`1ms`. *Must be >= 1ms*. + // Default is same value as request `timeout` of + // the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), + // which means no timeout. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration per_try_timeout = 2; + + // Specifies the conditions under which retry takes place. + // One or more policies can be specified using a ‘,’ delimited list. + // If `retry_on` specifies a valid HTTP status, it will be added to retriable_status_codes retry policy. + // See the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on) + // and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) for more details. + string retry_on = 3; + + // Flag to specify whether the retries should retry to other localities. + // See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details. + // Defaults to false. + google.protobuf.BoolValue retry_remote_localities = 4; + } + + } +} + +// The status of the policy after it is applied to your Gloo environment. +message RetryTimeoutPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of routes selected by the policy. + uint32 num_selected_routes = 2; +} + +message RetryTimeoutPolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // A list of references to all routes selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; +} diff --git a/api/gloo.solo.io/policy/v2/resilience/trim_proxy_config_policy.proto b/api/gloo.solo.io/policy/v2/resilience/trim_proxy_config_policy.proto new file mode 100644 index 000000000..6934db462 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/resilience/trim_proxy_config_policy.proto @@ -0,0 +1,63 @@ +syntax = "proto3"; + +package resilience.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// Use the TrimConfigProxyPolicy to select workloads and their corresponding allowed destinations. Then, the Istio +// sidecar of the workloads keeps only the configuration of those allowed destinations instead of all the destinations +// in the Istio service mesh. Otherwise, the extra config can lead to memory pressure issues. +message TrimProxyConfigPolicySpec { + + // Select the workloads for the policy to trim the Istio sidecar config. If omitted, all workloads are selected. + repeated .common.gloo.solo.io.WorkloadSelector apply_to_workloads = 1; + + + // Trim Proxy Config + Config config = 2; + + message Config { + + // Select which destinations to include in the trimmed sidecar proxy configuration of the workloads that this policy + // applies to. You can select destinations by Kubernetes label. Destinations can be a Kubernetes service, + // VirtualDestination, or ExternalService. To select all destinations, specify {}. If omitted or if the selection + // does not match any destination, no destinations are selected and the sidecar proxy configurations of the + // workloads are not trimmed. The destinations must be within the same workspace as the policy, or imported to the + // workspace. + repeated .common.gloo.solo.io.DestinationSelector included_destinations = 1; + + } + +} + +message TrimProxyConfigPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of workloads selected by the policy. + uint32 num_selected_workloads = 2; + + // The number of hosts of destinations included by the policy. + uint32 num_included_hosts = 3; +} + +message TrimProxyConfigPolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // A list of workloads selected by the policy. + repeated .common.gloo.solo.io.WorkloadReference selected_workloads = 2; + + // A list of hosts of destinations included by the policy. + repeated string included_hosts = 3; +} diff --git a/api/gloo.solo.io/policy/v2/security/access_policy.proto b/api/gloo.solo.io/policy/v2/security/access_policy.proto new file mode 100644 index 000000000..4b89c5ea1 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/security/access_policy.proto @@ -0,0 +1,408 @@ +// {{% readfile file="static/content/policies/ov_access" markdown="true"%}} +// An access policy describes how clients should be authenticated and authorized +// to access a service. For more information about cross-origin resource sharing, +// see [this article](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS). +// AccessPolicies can be applied at the workload or destination level. +// +// **Note**: +// Workload selectors are considered more secure than destination selectors +// and are therefore recommended to be used whenever possible. While workload +// selectors are applied to the translated Istio AuthorizationPolicy resource directly, +// destination selectors require the translation of the selected destination first +// before the access policy is enforced. This can lead to a window where traffic is unsecured +// if a new destination is added to the cluster. However, keep in mind that workloads selectors +// cannot be used when service isolation is enabled in your workspace. +// If service isolation is enabled, you must use destination selectors +// instead. +// +// **Examples**: +// The following example is for a simple access policy that allows +// the productpage app to access the ratings app. +// ```yaml +// apiVersion: security.policy.gloo.solo.io/v2 +// kind: AccessPolicy +// metadata: +// name: ratings-access +// namespace: bookinfo +// spec: +// applyToWorkloads: +// - selector: +// labels: +// app: ratings +// config: +// authn: +// tlsMode: STRICT +// authzList: +// - allowedClients: +// - serviceAccountSelector: +// labels: +// app: productpage +// allowedPaths: +// - /ratings* +// ``` +// +// The following example specifies the IP address that you want to +// allow access to the ratings app. When a client sends a request to ratings, +// the client's IP address is matched against the IP addresses that are defined +// in the access policy. If the IP address matches, the request is forwarded +// to the ratings app. If the IP does not match, access to ratings is denied. +// ```yaml +// apiVersion: security.policy.gloo.solo.io/v2 +// kind: AccessPolicy +// metadata: +// name: ratings-access +// namespace: bookinfo +// spec: +// applyToWorkloads: +// - selector: +// labels: +// app: ratings +// config: +// authn: +// tlsMode: STRICT +// authzList: +// - allowedIpBlocks: +// - 112.114.230.1 +// allowedPaths: +// - /ratings* +// ``` +// +// The following access policy uses a destination selector and specifies the request +// headers that must be sent to allow or deny the communication between the productpage +// and ratings apps. For example, if you send a request with the `X-Test-Header: match` +// header from the productpage app to the ratings app, the request is matched and the +// communication between productpage and ratings is allowed. If you send the same request +// without a header or with the `X-Test-Header: noMatch` header, the request is not matched +// and the communication between the apps is denied. +// ```yaml +// apiVersion: security.policy.gloo.solo.io/v2 +// kind: AccessPolicy +// metadata: +// name: ratings-access +// namespace: bookinfo +// spec: +// applyToDestinations: +// - port: +// number: 9080 +// selector: +// labels: +// app: ratings +// config: +// authn: +// tlsMode: STRICT +// authzList: +// - allowedClients: +// - serviceAccountSelector: +// labels: +// app: productpage +// allowedPaths: +// - /ratings* +// match: +// request: +// headers: +// X-Test-Header: +// notValues: +// - noMatch +// - partial-blocked +// values: +// - match +// - partial* +// ``` +// +// You can have multiple `authzList` entries to control access to workloads. +// A request is allowed when it matches at least one of the `authzList` entries (logically OR'd together). +// +// For each entry, you can specify different requirements for allowed clients, paths, methods, IP blocks, and other configuration settings. +// Then, a request is allowed only when ALL of the requirements are met (logically AND'd together). +// +// In the following example: +// * The product page app is allowed to send GET requests to the ratings app along the `/ratings*` wildcard path. +// * The product page app is allowed to send PATCH requests to the ratings app along the `/ratings/2*` wildcard path. +// * The reviews app is allowed to access the ratings app. +// +// ```yaml +// apiVersion: security.policy.gloo.solo.io/v2 +// kind: AccessPolicy +// metadata: +// name: ratings-access +// namespace: bookinfo +// spec: +// applyToWorkloads: +// - selector: +// labels: +// app: ratings +// config: +// authn: +// tlsMode: STRICT +// authzList: +// - allowedClients: +// - serviceAccountSelector: +// labels: +// app: productpage +// allowedPaths: +// - /ratings* +// allowedMethods: +// - GET +// - allowedClients: +// - serviceAccountSelector: +// labels: +// app: productpage +// allowedPaths: +// - /ratings/2* +// allowedMethods: +// - PATCH +// - allowedClients: +// - serviceAccountSelector: +// labels: +// app: reviews +// ``` +syntax = "proto3"; + +package security.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/enforcement_layers.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// Specifications for the policy. +message AccessPolicySpec { + + // Destinations to apply the policy to. If `applyToWorkloads` is non-empty, + // this field is ignored. If this field and `applyToWorkloads` are both empty, + // the policy applies to all ports on all destinations in the workspace. + // {{% notice note %}} + // For security reasons, `applyToWorkloads` is preferred. + // {{% /notice %}} + repeated .common.gloo.solo.io.DestinationSelector apply_to_destinations = 1; + + // Workloads to apply the policy to. For security reasons, + // this field is prefered over `applyToDestinations`. If an empty selector is + // provided in the list, the policy applies to all workloads in a namespace, cluster, + // and workspace that are available in the parent object's workspace. + repeated NamespaceWorkloadSelector apply_to_workloads = 3; + + // Select individual namespaces and workloads within the namespaces by label. + // Workloads must have injected (sidecars) or be standalone proxies (gateways) + // to be selected by Gloo policies. + message NamespaceWorkloadSelector { + + // Selector to match workload objects by their metadata. + ObjectSelector selector = 1; + + // Selects zero or more Kubernetes workloads by matching on labels, namespace, cluster, and workspace. + message ObjectSelector { + // Only select workloads with matching labels. + map labels = 1; + + // Only select objects in the matching namespace. If empty, Gloo selects + // matching objects across all namespaces available in the parent object's workspace. + string namespace = 2; + + // Only select objects in the matching cluster. If empty, Gloo selects + // matching objects across all clusters available in the parent object's workspace. + string cluster = 3; + + // Only select objects in the given workspace. If empty, Gloo selects + // matching objects across all workspaces available in the parent object's workspace. + string workspace = 4; + } + } + + // Details of the access policy to apply to the selected workloads. + Config config = 2; + + // Details of the access policy to apply to the selected workloads. + message Config { + + // How clients are authenticated to the workload. + Authentication authn = 1; + + // Deprecated; Use authzList instead. If authzList is set, it takes precedence and this field is ignored. + // How clients are authorized to access the workload. + Authorization authz = 2; + + // Optional: When NetworkPolicy translation is enabled, all available layers are used to enforce AccessPolicies by default. + // If you want to explicitly define which layers to use to enforce this AccessPolicy, you can set them by using this field. + // Note that the layer that you define in this field must be available to be configured. + .common.gloo.solo.io.EnforcementLayers enforcement_layers = 3; + + // How clients are authorized to access the workload. + // A request is allowed when it matches at least one authz entry in the list (logically OR'd together). + repeated Authorization authz_list = 4; + + // How clients are authenticated to the workload. + message Authentication { + + // Type of TLS policy that is enforced on clients connecting to the workload. + // If service isolation is enabled for the workspace, this field is treated as 'STRICT'. + TLSmode tls_mode = 1; + + // The mutual TLS (mTLS) connection mode. The following enums correspond to the + // [modes defined by Istio](https://github.com/istio/api/blob/master/security/v1beta1/peer_authentication.proto#L129). + enum TLSmode { + + // Do not originate mTLS connections to the upstream workload, + // and instead use unencrypted plaintext. + DISABLE = 0; + + // Permit both unencrypted plaintext and mTLS-secured connections to the upstream workload. + // Use this mode only when you migrate workloads to your service mesh. + // After the workload is onboarded to the service mesh, using the `STRICT` mode is recommended. + PERMISSIVE = 1; + + // Secure connections to the upstream workload with mTLS by presenting + // client certificates for authentication. + // This mode uses certificates generated + // automatically by Istio for mTLS authentication. When you use + // this mode, keep all other fields in `ClientTLSSettings` empty. + STRICT = 2; + }; + } + + + // Configure access to workloads. + // + // You can have multiple `authzList` entries. + // A request is allowed when it matches at least one of the `authzList` entries (logically OR'd together). + // + // For each entry, you can specify different requirements for allowed clients, paths, methods, IP blocks, and other configuration settings. + // Then, a request is allowed only when ALL of the requirements are met (logically AND'd together). + // + // If the policy uses `applyToWorkloads`, you can also allow NO requests by setting this value to the empty object `{}`, + // which will serve as a fallback when requests do not match another `authz` case for the given workload. + message Authorization { + // Client identities that are permitted to access the workload. + // To allow access for all client identities, provide a single empty selector. + repeated .common.gloo.solo.io.IdentitySelector allowed_clients = 1; + + /* + Optional: A list of HTTP paths or gRPC methods to allow. + gRPC methods must be presented as fully-qualified name in the form of + "/packageName.serviceName/methodName", and are case sensitive. + Exact match, prefix match, and suffix match are supported for paths. + For example, the path `/books/review` matches + `/books/review` (exact match), `*books/` (suffix match), or `/books*` (prefix match). + + If empty, any path is allowed. + */ + repeated string allowed_paths = 2; + + /* + Optional: A list of HTTP methods to allow (e.g., "GET", "POST"). + If empty, any method is allowed. + This field is ignored for gRPC, because the value is always "POST". + */ + repeated string allowed_methods = 3; + + /* + Optional: Additional request matching conditions. + */ + MatchSpec match = 4; + + // Optional: A list of IP blocks, populated from the source address of the IP packet. + // Single IP addresses (e.g. “1.2.3.4”) and CIDRs (e.g. “1.2.3.0/24”) are supported. If empty, + // any IP address is allowed. + repeated string allowed_ip_blocks = 5; + + // Optional: A list of IP blocks, populated from X-Forwarded-For header or proxy protocol. + // Single IP addresses (e.g. “1.2.3.4”) and CIDRs (e.g. “1.2.3.0/24”) are supported. This field + // is equivalent to the remote.ip attribute. If empty, any IP address is allowed. + // {{% notice note %}} + // To use this field, you must configure the `meshConfig.defaultConfig.gatewayTopology.numTrustedProxies` + // field in your Istio installation. For more info, see the + // [Istio documentation](https://istio.io/latest/docs/ops/configuration/traffic-management/network-topologies/#configuring-network-topologies). + // {{% /notice %}} + repeated string allowed_remote_ip_blocks = 6; + + // Set to true to enable a dry run of the access policy for L7 Istio service mesh authorization only. Then, you can check the sidecar proxy logs, metrics, and tracing to determine if traffic would be allowed or denied. However, the authorization is not enforced until you disable the dry run and re-apply the access policy. + // Note that when there are both dry run and enforced policies, dry run policies are considered independently of enforced policies; + // i.e. the logs, metrics, and tracing results indicating if traffic would be allowed or denied is based on the behavior if all dry run policies were enforced but all currently enforced policies were deleted. + // Note that dry run cannot be used to review allow or deny decisions for L4 traffic. Even if you enable the dry run feature with a Gloo Network setup, no Cilium network policy and decision logs are created or enforced. + bool dry_run = 7; + + // Optional: Additional request matching conditions. + message MatchSpec { + + // Optional: HTTP request header matching conditions. + RequestSpec request = 1; + + message RequestSpec { + /* + Optional: HTTP request header matching conditions. + */ + map headers = 1; + + // A value matching condition for HTTP request headers. + // At least one of `values` or `notValues` must be set. + message HeaderValues { + + // A list of match values for the header. A request must match at least one value. + // Supports wildcards. For example, to + // match a request with header values containing `exact-books` OR `partial-matched-books`, + // set `values` to `exact-books` and `partial-*-books`. + repeated string values = 1; + + // A list of negative match values for the header. A request must not match any values. + // Supports wildcards. For example, to + // _not_ match a request with header values containing `ignore-books` or `partial-ignored-books`, + // set `notValues` to `ignore-books` and `partial-ig*-books`. + repeated string not_values = 2; + + } + } + } + } + } +} + +// The status of the policy after it is applied to your Gloo environment. +message AccessPolicyStatus { + // The state and workspace conditions of the applied policy. + .common.gloo.solo.io.Status common = 1; + + // The number of destination ports selected by the policy. + uint32 num_selected_destination_ports = 5; + + // The number of namespaces containing selected workloads by the policy. + uint32 num_selected_namespaces = 2; + + // The number of service accounts allowed to access the selected destinations. + uint32 num_allowed_service_accounts = 3; +} + +// The report shows the resources that the policy selects after the policy is successfully applied. +message AccessPolicyReport { + // A list of workspaces in which the policy can apply to destinations. + map workspaces = 1; + + // A list of destination ports selected by the policy. + repeated .common.gloo.solo.io.DestinationReference selected_destination_ports = 2; + + // A list of the service accounts whose workloads are allowed + // to send requests to the selected destinations. + message IdentityReference { + // The index of the identity in the list of identity selectors. + int32 identity_index = 1; + + // The reference to the service account backing the identity. + .common.gloo.solo.io.ObjectReference service_account = 2; + + // The index of the authz in the authzList. + int32 authz_index = 3; + } + + // A list of the service accounts whose workloads are allowed + // to send requests to the selected destinations. + repeated IdentityReference allowed_service_accounts = 3; + + // A list of namespaces that contain workloads selected by the policy. + repeated .common.gloo.solo.io.ObjectReference selected_namespaces = 4; +} diff --git a/api/gloo.solo.io/policy/v2/security/client_tls_policy.proto b/api/gloo.solo.io/policy/v2/security/client_tls_policy.proto new file mode 100644 index 000000000..663fd1f38 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/security/client_tls_policy.proto @@ -0,0 +1,81 @@ +syntax = "proto3"; +package security.policy.gloo.solo.io; +option go_package = "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2"; + +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/wrappers.proto"; + +import "extproto/ext.proto"; +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// ClientTLSPolicy explicitly controls the TLS/mTLS configuration for upstream connections +message ClientTLSPolicySpec { + + repeated .common.gloo.solo.io.DestinationSelector apply_to_destinations = 1; + + // Type of TLS used when establishing connections to the selected destinations. + // Note that this mode will override any inherited TLS configuration when connecting to the destination, + // for example it will override a mesh-wide mTLS configured via Istio PeerAuthentication. + oneof mode { + Disable disable = 2; + Simple simple = 3; + Mutual mutual = 4; + IstioMutual istioMutual = 5; + } + + // Explicitly do not establish a TLS connection to the destination + message Disable {} + + // Initiate a mutual TLS connection using the Istio provided certificates. This is useful + // if a more broad policy/configuration has disabled Istio mTLS but you need it enabled + // for a specific destination. + message IstioMutual {} + + // Initiate a mutual TLS connection and present client certificates via the provided credential/secret. + // This is separate from any TLS/mTLS provided by Istio. + message Mutual { + TLSConfig config = 1; + } + + // Initiate a basic TLS connection, and possibly verify the server certificate if provided a CA via credential/secret. + // This is separate from any TLS/mTLS provided by Istio. + message Simple { + TLSConfig config = 1; + } +} + +message TLSConfig { + // SNI string to present to the server during TLS handshake. + // Recommended to be set, however if omitted, the first hostname associated with the destination + // will be used + google.protobuf.StringValue sni = 1; + + // The name of the secret that holds the TLS certs for the client including the CA certificates. + // Secret must exist in the same namespace with the proxy using the certificates. + // The secret (of type generic) should contain the following keys and values: + // key: , cert: , cacert: . + // Here CACertificate is used to verify the server certificate. + // Secret of type tls for client certificates along with ca.crt key for CA certificates is also supported. + // see: https://istio.io/latest/docs/reference/config/networking/destination-rule/#ClientTLSSettings + string credentialName = 2; +} + +message ClientTLSPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of destination ports selected by the policy. + uint32 num_selected_destination_ports = 2; +} + +message ClientTLSPolicyReport { + // The status of the resource in each workspace that it exists in. + map workspaces = 1; + + // A list of destination ports selected by the policy. + repeated .common.gloo.solo.io.DestinationReference selected_destination_ports = 2; +} diff --git a/api/gloo.solo.io/policy/v2/security/cors_policy.proto b/api/gloo.solo.io/policy/v2/security/cors_policy.proto new file mode 100644 index 000000000..7c69998b6 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/security/cors_policy.proto @@ -0,0 +1,76 @@ +syntax = "proto3"; + +package security.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/string_match.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/wrappers.proto"; + + +option go_package = "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// CORSPolicy is used to set a Cross-Origin Resource Sharing policy (CORS) for requests matching selected routes. +// Refer to [this link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS +// for further details about cross origin resource sharing. +// CORSPolicies are applied at the *Route* level. +message CORSPolicySpec { + + // Select the routes where the policy will be applied. + // If empty, will apply to all routes in the workspace. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // The details of the CORS policy to apply to the selected routes. + Config config = 2; + + message Config { + + // String patterns that match allowed origins. An origin is allowed if any of the string matchers match. + repeated .common.gloo.solo.io.StringMatch allow_origins = 7; + + // List of HTTP methods allowed to access the resource. The content will + // be serialized to the `Access-Control-Allow-Methods` header. + repeated string allow_methods = 2; + + // List of HTTP headers that can be used when requesting the + // resource. Serialized to the `Access-Control-Allow-Headers` header. + repeated string allow_headers = 3; + + // A list of HTTP headers that browsers are allowed to + // access. Serialized to the `Access-Control-Expose-Headers` header. + repeated string expose_headers = 4; + + // Specify how long the results of a preflight request can be + // cached. Serialized to the `Access-Control-Max-Age` header. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration max_age = 5; + + // Indicates whether the caller is allowed to send the actual request + // (not the preflight) using credentials. Translates to the + // `Access-Control-Allow-Credentials` header. + google.protobuf.BoolValue allow_credentials = 6; + } +} + +// The status of the policy after it is applied to your Gloo environment. +message CORSPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of routes selected by the policy. + uint32 num_selected_routes = 2; +} + +message CORSPolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // A list of references to all routes selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; +} diff --git a/api/gloo.solo.io/policy/v2/security/csrf_policy.proto b/api/gloo.solo.io/policy/v2/security/csrf_policy.proto new file mode 100644 index 000000000..f10b44143 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/security/csrf_policy.proto @@ -0,0 +1,70 @@ +syntax = "proto3"; + +package security.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/string_match.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// CSRFPolicy is used to set safeguard to prevent CSRF (cross-site request forgery) attacks in requests matching selected routes. +// CSRFPolicies are applied at the *Route* level. +message CSRFPolicySpec { + + // Routes to apply the policy to. + // If empty, the policy applies to all workloads in the workspace. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // The details of the CSRF policy to apply to the selected routes. + Config config = 2; + + message Config { + + // Specifies that CSRF policies will be evaluated, tracked and enforced. + bool filter_enabled = 1; + + // Specifies that CSRF policies will be evaluated and tracked, but not enforced. + // + // This is intended to be used when ``filter_enabled`` is false and will be ignored otherwise. + bool shadow_enabled = 2; + + // Specifies the % of requests for which the CSRF filter is enabled or when shadow mode is enabled the % of requests + // evaluated and tracked, but not enforced. + // + // If filter_enabled or shadow_enabled is true. + // Envoy will lookup the runtime key to get the percentage of requests to filter. + // + // .. note:: This field defaults to 100 + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/double-value). + google.protobuf.DoubleValue percentage = 3; + + // Specifies additional source origins that will be allowed in addition to + // the destination origin. + repeated .common.gloo.solo.io.StringMatch additional_origins = 4; + + } +} + +// The status of the policy after it is applied to your Gloo environment. +message CSRFPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // Count of routes selected by the policy + uint32 num_selected_routes = 2; +} + +message CSRFPolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // Routes selected by the policy + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; +} diff --git a/api/gloo.solo.io/policy/v2/security/dlp_policy.proto b/api/gloo.solo.io/policy/v2/security/dlp_policy.proto new file mode 100644 index 000000000..487d6f701 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/security/dlp_policy.proto @@ -0,0 +1,232 @@ +syntax = "proto3"; + +package security.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "google/protobuf/wrappers.proto"; +import "envoy/type/percent.proto"; + +import "github.com/solo-io/envoy-gloo-ee/api/envoy/config/filter/http/transformation_ee/v2/transformation_ee_filter.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + + +// Use a DLPPolicy (data loss prevention policy) to prevent sensitive data from being exposed. +// Gloo Gateway completes a series of regex replacements on the body or headers of responses that it processes. +// DLPPolicies are applied at the *Route* level. +message DLPPolicySpec { + + // Select the routes that the policy applies to. + // If empty, the policy applies to all routes in the workspace. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // The details of the DLP policy to apply to the selected routes. + Config config = 2; + + // Whether actions apply to responses, access logs, or both. + // If empty, masking is enabled for responses bodies only. + message Config { + enum Sanitize { + // Enable DLP masking for both responses bodies and access logs. Default value. + ALL = 0; + // Enable DLP masking for access logs only. + ACCESS_LOGS = 1; + // Enable DLP masking for response bodies only. + RESPONSE_BODY = 2; + } + + // List of data loss prevention actions to be applied. + // These actions are applied in order, one at a time. + repeated DlpAction actions = 1; + + // Whether actions apply to responses, access logs, or both. + // If empty, masking is enabled for responses bodies only. + Sanitize sanitize = 2; + } +} + +/* + A single DLP action to mask sensitive data. + You can apply preconfigured actions, create custom actions, + and write key-value (header) actions. + These actions can also be shadowed. A shadowed action is recorded + in the statistics and debug logs, but is not committed in the response body. + + To use a predefined action, set the `predefinedAction` to one of the predefined actions. + + ```yaml + - predefinedAction: VISA + ``` + + To create a custom action, specify the configuration in the `customAction` field. The default enum value + is custom, so that can be left empty. + + ```yaml + - customAction: + name: test + regexActions: + - regex: "hello" + - regex: "world" + maskChar: Y + percent: 60 + ``` + + To create a key-value action, specify the configuration in the `keyValueAction` field. The default enum value + is custom, so that can be left empty. + + ```yaml + - keyValueAction: + keysToMask: + - x-my-header-01 + maskChar: _ + name: kv-action-1 + percent: 100 + ``` + + +*/ +message DlpAction { + /* + The following pre-defined actions map to subgroup 1 of the listed regex patterns: + + SSN: + - '(?:^|\D)([0-9]{9})(?:\D|$)' + - '(?:^|\D)([0-9]{3}\-[0-9]{2}\-[0-9]{4})(?:\D|$)' + - '(?:^|\D)([0-9]{3}\ [0-9]{2}\ [0-9]{4})(?:\D|$)' + + MASTERCARD: + - '(?:^|\D)(5[1-5][0-9]{2}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4})(?:\D|$)' + + VISA: + - '(?:^|\D)(4[0-9]{3}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4})(?:\D|$)' + + AMEX: + - '(?:^|\D)((?:34|37)[0-9]{2}(?:\ |\-|)[0-9]{6}(?:\ |\-|)[0-9]{5})(?:\D|$)' + + DISCOVER: + - '(?:^|\D)(6011(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4})(?:\D|$)' + + JCB: + - '(?:^|\D)(3[0-9]{3}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4})(?:\D|$)' + - '(?:^|\D)((?:2131|1800)[0-9]{11})(?:\D|$)' + + DINERS_CLUB: + - '(?:^|\D)(30[0-5][0-9](?:\ |\-|)[0-9]{6}(?:\ |\-|)[0-9]{4})(?:\D|$)' + - '(?:^|\D)((?:36|38)[0-9]{2}(?:\ |\-|)[0-9]{6}(?:\ |\-|)[0-9]{4})(?:\D|$)' + + CREDIT_CARD_TRACKERS: + - '([1-9][0-9]{2}\-[0-9]{2}\-[0-9]{4}\^\d)' + - '(?:^|\D)(\%?[Bb]\d{13,19}\^[\-\/\.\w\s]{2,26}\^[0-9][0-9][01][0-9][0-9]{3})' + - '(?:^|\D)(\;\d{13,19}\=(?:\d{3}|)(?:\d{4}|\=))' + + ALL_CREDIT_CARDS: + - (All credit card related regexes from above) + */ + enum PredefinedAction { + ALL_CREDIT_CARDS = 0; + SSN = 1; + MASTERCARD = 2; + VISA = 3; + AMEX = 4; + DISCOVER = 5; + JCB = 6; + DINERS_CLUB = 7; + CREDIT_CARD_TRACKERS = 8; + } + + // The configuration for the action. + oneof action { + // The predefined action to apply. + PredefinedAction predefined_action = 1; + + // The custom action to apply. + DlpCustomAction custom_action = 2; + + // The key-value action to apply. + // Key-values actions affect access logs and response headers, but not response bodies. + DlpKeyValueAction key_value_action = 4; + } + + // If enabled, the action is recorded in debug logs, but not applied to response bodies + // or headers. + google.protobuf.BoolValue shadow = 3; +} + +/* + A custom action that you define to apply to the response body. + + The list of regex strings are applied in order. For instance, if the response body contains `hello world`, + and you define the following custom action: + ``` yaml + customAction: + name: test + regexActions: + - regex: "hello" + - regex: "world" + maskChar: Y + percent: 60 + + ``` + + The result is masked in this way: + `YYYlo YYYld` + + If `mask_char` and `percent` are not defined, the result is masked in this way: + `XXXXo XXXXd` + +*/ +message DlpCustomAction { + // The name of the custom action. + // This name is used for logging and debugging purposes. + string name = 1; + // The masking character to replace the sensitive data. + // Default: `X` + google.protobuf.StringValue mask_char = 2; + // The percent of the string to mask with the `mask_char`. + // Rounds the ratio (percent/100) by using [std::round](http://www.cplusplus.com/reference/cmath/round/). + // Default: 75% + google.protobuf.FloatValue percent = 3; + // List of regexes to apply to the response body. Data that matches the regexes + // is masked. Regexes are applied iteratively in the order that they are + // specified. + repeated .envoy.config.filter.http.transformation_ee.v2.RegexAction regex_actions = 4; +} + +// A key-value action to apply to response headers. +message DlpKeyValueAction { + // The name of the key-value action. + // This name is used for logging and debugging purposes. + string name = 1; + // The masking character to replace the sensitive data. + // Default: `X` + google.protobuf.StringValue mask_char = 2; + // The percent of the string to mask with the `mask_char`. + // Rounds the ratio (percent/100) by using [std::round](http://www.cplusplus.com/reference/cmath/round/). + // Default: 75% + google.protobuf.FloatValue percent = 3; + // Required: The keys for which corresponding header names or dynamic metadata values are masked. + repeated string keys_to_mask = 4; +} + +// The status of the DLPPolicy. +message DLPPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // A count of references to all routes selected by the policy. + uint32 num_selected_routes = 3; +} + +message DLPPolicyReport { + // The status of the resource in each workspace that it exists in. + map workspaces = 1; + + // A list of references to all routes selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; +} diff --git a/api/gloo.solo.io/policy/v2/security/ext_auth_policy.proto b/api/gloo.solo.io/policy/v2/security/ext_auth_policy.proto new file mode 100644 index 000000000..4973c46a8 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/security/ext_auth_policy.proto @@ -0,0 +1,95 @@ +syntax = "proto3"; + +package security.policy.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/gloo/enterprise.gloo/v1/auth_config.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// ExtAuthPolicy is used to enforce external authorization/authentication of traffic matching selected routes or arriving at selected destinations. +// All ExtAuthPolicies in a workspace require an ExtAuthServer to in order to function. +// If no ExtAuthServer is specified, a default configuration will be used. +// ExtAuthRoutePolicies can be applied at both the *Route* and *Destination* levels. +// Default is to apply policy to all destinations. +message ExtAuthPolicySpec { + + // Select the routes where the policy will be applied. + // If empty, no extauth policy will be applied to any routes in the workspace. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // Select the destinations where the policy will be applied. + // Default behavior if no selectors are specified is to apply to all destinations in the workspace. + // If empty and the route selector is set, no extauth policy on destinations will be applied. + repeated .common.gloo.solo.io.DestinationSelector apply_to_destinations = 2; + + // The details of the external auth policy to apply to the selected routes and destinations. + Config config = 3; + + // Make sure to select the appropriate ExtAuthServer to use, which might be in a different cluster and namespace + // than the ExtAuthPolicy. For auth configurations that require a client secret from the identity provider issuer, + // the secret must be in the same cluster as the ExtAuthServer resource. + message Config { + + oneof auth_type { + // Set to true to disable auth on the route. + bool disable = 1; + + // Configure the selected route or destination with auth options provided by the Gloo Mesh Ext Auth service. The Ext Auth Service can be specified must be configured to use a Gloo Ext Auth service via a ExtAuthDestinationPolicy. + enterprise.gloo.solo.io.AuthConfigSpec gloo_auth = 2 [(.solo.io.cue.opt).disable_openapi_validation = true]; + + // Use this field if you are running your own custom extauth server. The destination service must be configured to use a custom ext auth service via a ExtAuthDestinationPolicy. + CustomAuth custom_auth = 3; + } + + // Required: Reference to the ExtAuthServer to use for this policy. + // Currently routes on a single gateway must share a single ExtAuthServer. + // To create an ExtAuthServer resource, see [External auth server setup](https://docs.solo.io/gloo-mesh-enterprise/main/policies/external-auth/server/#setup). + .common.gloo.solo.io.ObjectReference server = 4; + + // Gloo Mesh is not expected to configure the ext auth server in this case. + // This is used with custom auth servers. + message CustomAuth { + // When a request matches the route or on which this configuration is applied, + // Gloo Mesh will add the given context_extensions to the request that is sent to the external authorization server. + // This allows the server to base the auth decision on metadata that you define on the source of the request. + // + // This attribute is analogous to Envoy's config.filter.http.ext_authz.v2.CheckSettings. See the official + // [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/ext_authz_filter.html?highlight=extauthz#config-filter-http-ext-authz-v2-checksettings) + // for more details. + map context_extensions = 1; + } + } +} + +// The status of the policy after it is applied to your Gloo environment. +message ExtAuthPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of destination ports selected by the policy. + uint32 num_selected_destination_ports = 2; + + // The number of routes selected by the policy. + uint32 num_selected_routes = 3; +} + +message ExtAuthPolicyReport { + // The status of the resource in each workspace that it exists in. + map workspaces = 1; + + // A list of destination ports selected by the policy. + repeated .common.gloo.solo.io.DestinationReference selected_destination_ports = 2; + + // A list of references to all route selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 3; +} diff --git a/api/gloo.solo.io/policy/v2/security/graphql_allowed_query_policy.proto b/api/gloo.solo.io/policy/v2/security/graphql_allowed_query_policy.proto new file mode 100644 index 000000000..5e9b8ebc8 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/security/graphql_allowed_query_policy.proto @@ -0,0 +1,55 @@ +syntax = "proto3"; +package security.policy.gloo.solo.io; +option go_package = "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2"; + +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +import "google/protobuf/any.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +import "extproto/ext.proto"; +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +message GraphQLAllowedQueryPolicySpec { + // Select the graphql routes where the policy will be applied. + // If empty, will apply to no graphql routes. + // selection via Destination selectors will not work for this policy, and only + // route selectors will work. + // If more than one GraphQLAllowedQueryPolicy applies to a GraphQLRoute, the oldest + // one will be applied. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + Config config = 2; + + message Config { + + // A list of SHA-256 hashed graphql queries that are allowed to be executed by the server. + // If a query hash is not in this list, the server will return an error. + // If this list is empty, all queries are allowed. Else, all queries must be in this list. + // Queries that are not sent as hashes will be hashed and compared against the list. + // This is useful for preventing malicious queries from being executed. + repeated string allowed_query_hashes = 1; + + } +} + +message GraphQLAllowedQueryPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of routes the policy selects. + uint32 num_selected_routes = 2; +} + +message GraphQLAllowedQueryPolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // A list of references to all routes the policy selects. + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; +} diff --git a/api/gloo.solo.io/policy/v2/security/jwt_policy.proto b/api/gloo.solo.io/policy/v2/security/jwt_policy.proto new file mode 100644 index 000000000..0271ea866 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/security/jwt_policy.proto @@ -0,0 +1,405 @@ +// Control access or route traffic based on verified claims in a JSON web token (JWT). +// JWTs follow an open standard for securely sharing information between a client and your apps. +// JWTs are commonly used to support stateless, simple, scalable, and interoperable authentication and authorization flows. +// For more information, see the [RFC 7519 JWT specification](https://datatracker.ietf.org/doc/html/rfc7519). +// +// JWT policies are applied at the route level. +// You can have multiple JWT providers in the same policy, or in different policies. +// Keep in mind that you cannot apply multiple JWT policies to the same route in a route table. +// +// **Examples**: +// The following example is a basic JWT policy with a local JWT issuer and inline public key. +// For more examples of using Gloo JWT policies, see the [JWT guides](https://docs.solo.io/gloo-gateway/latest/policies/jwt/). +// +// Sample JWT payload from the JWT provider: +// ```json +// { +// "org": "solo-io", +// "email": "user@solo.io", +// "iss": "https://localhost", +// "exp": 4804324736, +// "iat": 1648651136 +// } +// ``` +// +// The following policy enables JWT authentication for the selected `httpbin` route. +// It adds the values of the `org` and `email` claims from the JWT payload to the `X-Org` and `X-Email` headers in the request, if present. +// It also checks requests by using the token found in the `X-Auth` header with the prefix `Bearer `, or in a query parameter `auth_token=`. +// Note that if a request has both the header and query parameter, both tokens must be valid for Gloo Gateway to accept the request. +// +// ```yaml +// apiVersion: security.policy.gloo.solo.io/v2 +// kind: JWTPolicy +// metadata: +// annotations: +// cluster.solo.io/cluster: "" +// name: jwt-policy +// namespace: default +// spec: +// applyToRoutes: +// - route: +// labels: +// route: httpbin +// config: +// phase: +// preAuthz: {} +// providers: +// provider1: +// claimsToHeaders: +// - append: true +// claim: org +// header: x-org +// - append: true +// claim: email +// header: x-email +// issuer: https://localhost +// local: +// inline: |- +// -----BEGIN PUBLIC KEY----- +// MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnknfKiIDREaE/vxu8rtz +// oMaPop6rsiX7GANCRcqFks0j96Gb+UssKD8zJs2JBvEe4n0wNKVeLRbOctII+ZEO +// G8b+Dqig/1ubq3xiGbDBbZqHiFKjFQVUnII3Un9VRtDcJdgaaPGHnhlPs79sJNgQ +// e6AWJmfAasdT7i3MVEW7/dXcROiMRGapmxv+nQbKdoeiCJDULRdMSodhg/WJw2sH +// LLVxh4fPSF7cRxj36Y9FKWcGUH+YKe7n4gufAeEsHk+tPBndymYpmcMjb6W9HrJO +// 39vvyMTjLAUyElCEfeMqCpFBCElhaGbF8ZncbV6vvDEkOxMX/m1TYhoJr1E2U8y/ +// NwIDAQAB +// -----END PUBLIC KEY----- +// tokenSource: +// headers: +// - name: X-Auth +// prefix: 'Bearer ' +// queryParams: +// - auth_token +// ``` +syntax = "proto3"; + +package security.policy.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/phase.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// Fill out the spec of the JWT policy to enable JWT authentication. You can apply JWT policies to routes and destinations. +// +// Multiple policies: If multiple JWT policies select the same route or destination, only the oldest policy applies. +// +// Multiple selectors: You can select routes and destinations together in the same policy. +// Using both selectors might impact the other. For example, you might omit a route selector. If you also omit a destination selector, then the policy applies to all routes. If you use a destination selector, the policy applies only to those destinations and no longer to any routes. +// +// If different JWT policies having conflicting rules for the same routes and destinations, then access is blocked. +message JWTPolicySpec { + // Select the routes where the policy will be applied. + // If empty (`{}`), the policy applies to all routes in the workspace. + // If omitted and the policy also does not select any destinations, the policy applies to all routes in the workspace. + // If omitted and the policy selects a destination, the policy does not apply to any routes. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // Select the destinations where the policy will be applied. Only Kubernetes services are supported. + // By default if omitted, the policy does not apply to any destinations. + // If empty (`{}`), the policy applies to all destinations in the workspace. + repeated .common.gloo.solo.io.DestinationSelector apply_to_destinations = 3; + + // Configure the details of the JWT policy, including the provider, phase, matching claims or scopes, and other settings. + message Config { + // Configure how to verify the details of a JWT, such as the issuer, source, audience, matching claims or scopes, and other settings. + message Provider { + // Optional: The principal that issued the JWT, usually a URL or an email address. + // If specified, the `iss` field in JWT token of the incoming request must match this field, or else the request is denied. + // If omitted, the `iss` field in the JWT token is not checked. + string issuer = 1; + + // Optional: A list of intended audiences for this JWT token. + // If specified, a JWT token containing any of these `aud` field values is accepted. + // If omitted, the `aud` field in the JWT token is not checked. + repeated string audiences = 2; + + // Optional: Where to extract the JWT from the HTTP request. + // + // If omitted, defaults to the header `"Authorization: Bearer "` or the query parameter `"access_token="`. + // Note that if a request has both the header and query parameter, both tokens must be valid for Gloo Gateway to accept the request. + // Configured fields are case sensitive and are matched verbatim. + message TokenSource { + // Describes how to retrieve the JWT from a header. + message fromHeader { + // The name of header, such as `"Authorization"`. + string name = 1; + + // The prefix before the token, such as `"Bearer "` (with a space before the token). + string prefix = 2; + } + + // Try to retrieve the token from these headers. + repeated fromHeader headers = 1; + + // Try to retrieve the token from these query parameters. + repeated string query_params = 2; + } + + // Optional: Where to extract the JWT from the HTTP request. + // If no explicit token source location is specified, the following default locations are tried in order: + // + // First, the Authorization header using the `Bearer ` prefix, such as: `Authorization: Bearer `. + // + // Second, the `access_token` query parameter, such as: `https:///path?access_token=`. + // + // Gloo can verify multiple JWTs for a request. + // Each JWT is extracted from the location that is specified per provider, or from the default locations previously described. + // Note that if a single request contains multiple sources, + // such as both a header and query parameter, then all tokens found in the request must be valid for the request to be accepted. + // Configured fields are case sensitive and are matched verbatim. + TokenSource token_source = 3; + + // Get the public keys to validate the JWT from a local source, + // such as a Kubernetes secret or inline configuration. + message LocalJWKS { + message SecretRef { + // Refer to the secret explicitly by the cluster and namespace where the secret is located. + .common.gloo.solo.io.ObjectReference objectRef = 1; + + // Refer to the key of data that has the PEM-formatted public key within the specified secret. + string key = 2; + } + + oneof specifier { + // Refer to a secret that has the PEM-formatted public key. + SecretRef secret_ref = 1; + + // Provide an inline PEM-formatted public key in the configuration of this JWT policy. + string inline = 2; + } + } + + // Get the public keys from a remote JSON Web Key Set (JWKS) server. + // This server must be accessible from your cluster. + message RemoteJWKS { + // The URL to access the remote destination for JWKS server. + // This value sets the host and path in the request. + string url = 1; + + // The destination that represents the JWKS server. + // If the JWKS server runs in your cluster, the destination can be a Kubernetes Service or Gloo VirtualDestination. + // If the JWKS server is a remote URL, the destination must be a Gloo ExternalService. + .common.gloo.solo.io.DestinationReference destination_ref = 2; + + // Duration after which the cached JWKS expires. + // + // If omitted, defaults to 5 minutes. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration cache_duration = 3; + + // Set the maximum duration in seconds that a response can take to arrive upon request. + // + // If omitted, defaults to 5 seconds. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + google.protobuf.Duration timeout = 4; + + + // Fetch the JWKS asynchronously in the main thread before activating the listener. + // Then, the fetched JWKS can be used by all worker threads. + // + // When set to false (default): + // The JWKS is fetched on-demand when requests come. The first few requests are paused until the JWKS is fetched. + // Because the JWKS cache is per worker thread, each worker thread fetches its own JWKS. + // You might leave async fetching disabled in simple environments with minimal traffic or resources, + // during testing to simplify debugging issues, or when you want more control over when and how the JWKS is fetched. + // + // When set to true: + // The JWKS is fetched in the main thread before activating the listener. + // Then, the JWKS can be used by all worker threads. Each worker thread doesn't need to fetch its own. + // This way, the JWKS is ready when requests come. + // You might enable async fetching to reduce latency, improve responsiveness, and have consistent JWKS across worker threads + // such as in multi-threaded, concurrent, and large-scale environments. + bool enable_async_fetch = 5; + } + + // Required: Where to find the public keys of the current provider to verify the JWT. + oneof jwks_source { + // Get the public keys to validate the JWT from a local source, + // such as a Kubernetes secret or an inline, raw string JWKS. + LocalJWKS local = 4; + + // Get the public keys from a remote JSON Web Key Set (JWKS) server. + // This server must be accessible from your cluster. + RemoteJWKS remote = 5; + } + + // Specify the claims from the JWT payload to copy to individual headers before forwarding the request to the upstream destination. + message ClaimsToHeader { + // Claim name, such as `"sub"`. + string claim = 1; + + // The request header to copy the claim to, such as `"x-sub"`. + string header = 2; + + // If the header already exists, append this copied value to it (true), or overwrite the existing value (false). + bool append = 3; + } + + // Optional: Specify the claims from the JWT payload to copy to individual headers before forwarding the request to the upstream destination. + // To copy the entire payload to a single header instead, use the OutputPayloadToHeader field. + repeated ClaimsToHeader claims_to_headers = 6; + + // Optional: Keep the JWT in the request post verification. + bool keep_token = 7; + + // Optional: Verify time constraints, such as `exp` and `npf`. Default is 60s. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int32-value). + google.protobuf.UInt32Value clock_skew_seconds = 8; + + // Optional: Copy the output of the JWT payload to a single header before forwarding the request to the upstream destination. The header is the name that you enter in this field. + // The payload data is base64-encoded before forwarding. + // If this field is omitted or empty, the payload is not forwarded with the request. + // To send select claims in the payload in individual headers, use the ClaimsToHeaders field instead. + string output_payload_to_header = 9; + } + + // Set up the provider for the JWT configuration. + // You can have multiple providers in the same JWT policy, or create separate policies per provider. + // + // Successfully verified JWT payloads will be written to Envoy Dynamic Metadata in the format `{{ policy generated prefix }}.{{ provider }}`. + // For more info, see the `payload_in_metadata` field + // [here](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/jwt_authn/v3/config.proto.html). + // + // Note: You can name the providers to help you map the provider when viewing logs to debug. + // However, the provider name does not affect the policy's behavior and cannot be used by other resources to select the policy. + map providers = 1; + + // Optional: Set when to apply the JWT filter in the request chain, + // either before (`preAuthz`) or after (`postAuthz`) authorization to have access to the JWT token. + // If no phase is specified, defaults to `preAuthz`. + .common.gloo.solo.io.PrioritizedPhase phase = 2; + + // Deprecated: Set the `validationPolicy` field to `ALLOW_MISSING_OR_FAILED` instead of setting this field to "true". + // Note that if `validationPolicy` is set to `ALLOW_MISSING_OR_FAILED` or `ALLOW_MISSING`, it takes precedence and this field is ignored. + // + // Allow requests to succeed even if JWT authentication is missing or fails. + // For example, you might apply multiple policies to your routes so that requests can authenticate with either a + // JWT or another method such as external auth. Set this value to "true" + // to allow a failed JWT auth request to pass through to the other authentication + // method. By default, this value is "false" so that requests that fail JWT + // authentication then fail authorization immediately. + bool allow_missing_or_failed = 3; + + // Decide whether to clear the route cache after the JWT filter. + enum ClearRouteCache { + // The default behavior, which clears the route cache when the auth response is successful or if the JWT policy adds a claim in the 'claimsToHeader' field. This way, the gateway recomputes route matching, such as to route traffic based on the claims you add in the JWT policy. + AUTO = 0; + + // Set to false so that the route cache is not cleared after the JWT filter. This way, you can configure traffic rules based on routing details from both before and after the JWT filter. + // For example, you might want to reject with a direct response any requests that send a header that is also set in the JWT policy's 'claimsToHeader' field. + FALSE = 1; + + // Set to true so that the route cache is always cleared after the JWT filter. This way, the gateway recomputes route matching, such as to route traffic based on the claims you add in the JWT policy. + TRUE = 2; + } + + // Optional: Decide whether to clear the route cache after the JWT filter. By clearing the route cache, the gateway recomputes route matching. This way, you can configure traffic rules after JWT auth, such as claim-based routing on cleared routes or direct response on cached routes. + // Defaults to the `AUTO` option. + ClearRouteCache clear_route_cache = 4; + + // Optionally configure a list of key-value claims for JWT authorization rules. The JWT must meet all of the claims to be allowed (logically AND'd together). + // For each claim, you can specify values that must or must not be present. If a claim has multiple supported values, any of these values is allowed (logically OR'd together). + // You can also use wildcards, such as `"*"` to allow any value, or for example `"*@solo.io"` to allow any `@solo.io` email. Nested claims are not supported at this time. + message ClaimMatcher { + // The name of the JWT claim's key. + // [RFC 7519 spec](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) reserves seven claims, and the [IANA JSON Web Token Claims](https://www.iana.org/assignments/jwt/jwt.xhtml#claims) outline many more registered claims to encourage interoperability across providers. Further, your OIDC provider might have custom claims, such as described in the [Auth0 docs](https://auth0.com/docs/get-started/apis/scopes/sample-use-cases-scopes-and-claims). + string key = 1; + + // Optional: A list of allowed values for the JWT claim. If a claim has multiple supported values, any of these values is allowed (logically OR'd together). + // You can also use wildcards, such as `"*"` to allow any value or for example `"*@solo.io"` to allow any `@solo.io` email. Nested claims are not supported at this time. + // Note: You must set at least one of "values" or "not_values". + repeated string values = 2; + + // Optional: A list of values that are not allowed for the JWT claim. If a claim contains one of these values, the request is denied. + // You can also use wildcards, such as `"*"` to deny any value, or for example `"*@solo.io"` to deny any `@solo.io` email. + // Note: You must set at least one of "values" or "not_values". + repeated string not_values = 3; + + // Optional: Specify a delimiter to enable nested claims, which are claims that are children of top-level claims. The delimiter is the character that separates the nested levels within the claims names of the JWT. + // The delimiter is commonly set to a period ("."), which allows nested claim names of the form parent.child.grandchild. JWTs that match the value you set for the grandchild nested claim are allowed. + string nested_claim_delimiter = 4; + } + + // Optional: A key-value list of claims to require for JWT authorization. The JWT must meet all of the claims to be allowed (logically AND'd together). + // For each claim, you can specify values that must or must not be present. + repeated ClaimMatcher claims = 5; + + // Optional: An unordered list of required JWT scopes. The JWT "scope" claim must have all of the listed scopes to be allowed (logically AND'd together). + // Scopes typically come from an identity provider and are formatted similar to `":"` or `"is:"`. + // For more information, see the [IETF docs](https://datatracker.ietf.org/doc/html/rfc8693#name-scope-scopes-claim). + // + // For example, you might use this field to set `email` and `is:developer` as required scopes. + // Then the scope claim in the JWT must have all of those required scopes, but could also have others. + // JWTs with scopes such as `"scope":"email is:developer"` or `"scope":"email is:developer phone address"` would be allowed. + // JWTs with only one of the required scopes, such as `"scope":"email address"` would not be allowed. + // + // If you want to set scopes that if present in the claim are not allowed (`notValues`), + // or to allow a request to succeed with just one of many listed scopes (`email OR is:developer`), + // use the claims field instead. + // To skip scope validation, omit this value or leave the list empty. + // Note that nested scopes (a scope with multiple sub scopes) are not supported at this time. + repeated string required_scopes = 6; + + // Optional: Configure how JWT validation works, with the flexibility to handle requests with missing or invalid JWTs. + // By default, after applying JWT policy to a route, only requests that authenticate with a valid JWT succeed. + ValidationPolicy validation_policy = 7; + + enum ValidationPolicy { + // Default value. Allow only requests that authenticate with a valid JWT to succeed. + // Note that the `allowMissingOrFailed=true` setting takes precedence. In such a case, even if you explicitly set `validationPolicy=REQUIRE_VALID`, this field is ignored. + REQUIRE_VALID = 0; + + // Allow requests to succeed even if JWT authentication is missing, but fail when an invalid JWT token is presented. + // You might use this setting when later steps depend on input from the JWT. + // For example, you might add claims from the JWT to request headers with the claimsToHeaders field. + // As such, you may want to make sure that any provided JWT is valid. If not, the request fails, + // which informs the requester that their JWT is not valid. + // Requests without a JWT, however, still succeed and skip JWT validation. + ALLOW_MISSING = 1; + + // Allow requests to succeed even when a JWT is missing or JWT verification fails. + // For example, you might apply multiple policies to your routes so that requests can authenticate with either a + // JWT or another method such as external auth. Use this value + // to allow a failed JWT auth request to pass through to the other authentication method. + ALLOW_MISSING_OR_FAILED = 2; + } + } + + // The details of the JWT policy to apply to the selected routes. + Config config = 2; +} + +// The status of the policy after it is applied to your Gloo environment.Status +message JWTPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of routes selected by the policy. + uint32 num_selected_routes = 2; + + // The number of destination ports selected by the policy. + uint32 num_selected_destination_ports = 3; +} + +// The report shows the resources that the policy selects after the policy is successfully applied. +message JWTPolicyReport { + // The status of the resource in each workspace that it exists in. + map workspaces = 1; + + // A list of references to all routes selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; + + // A list of destination ports selected by the policy. + repeated .common.gloo.solo.io.DestinationReference selected_destination_ports = 3; +} diff --git a/api/gloo.solo.io/policy/v2/security/tls/ca_options.proto b/api/gloo.solo.io/policy/v2/security/tls/ca_options.proto new file mode 100644 index 000000000..d716c6ad2 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/security/tls/ca_options.proto @@ -0,0 +1,140 @@ +syntax = "proto3"; + +package tls.security.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/tls/vault_ca.proto"; +import "google/protobuf/empty.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2/tls"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; + +// Configuration for generating a self-signed root certificate. +// Uses the X.509 format, RFC5280. +message CommonCertOptions { + + // Number of days before root cert expires. Defaults to 365. + uint32 ttl_days = 1; + + // Size in bytes of the root cert's private key. Defaults to 4096. + uint32 rsa_key_size_bytes = 2; + + // Root cert organization name. Defaults to "gloo-mesh". + string org_name = 3; + + // The ratio of the certificate lifetime to when Gloo starts the certificate rotation process. + // The ratio must be between 0 and 1 (exclusive). For example, if a certificate is valid for + // 1 day (or 24 hours), and you specify a ratio of 0.1, Gloo starts the certificate rotation + // process 2.4 hours before it expires (24x0.1). + float secret_rotation_grace_period_ratio = 4; +} + +// Specify parameters for configuring the root certificate authority for a VirtualMesh. +message AgentCertificateAuthority { + + // Specify the source of the Root CA data which Gloo Mesh will use for the VirtualMesh. + oneof ca_source { + // Use vault as the intermediate CA source + .tls.security.policy.gloo.solo.io.VaultCA vault = 1; + } + +} + +// State of Certificate Rotation +// Possible states in which a CertificateRotation can exist. +enum CertificateRotationState { + // No Certificate rotation is currently happening + NOT_ROTATING = 0; + + // Signing the certificate using the previously applied CA. This step is mostly used when `ADDING_NEW_ROOT` + // fails, and the rotation has to be ROLLED_BACK + PREVIOUS_CA = 1; + + // The CertificateRotation is underway, both roots are set, and the new root is being propagated + ADDING_NEW_ROOT = 2; + + // The CertificateRotation is underway again. + // The initial verification is over, the traffic continues to work with both roots present. + // Now the old root is being removed, and the new root is being propagated alone to the data-plane clusters + PROPAGATING_NEW_INTERMEDIATE = 3; + + // The CertificateRotation is underway again. + // Removing the old-root from all data-plane clusters + DELETING_OLD_ROOT = 4; + + // Verifying connectivity between workloads, the workflow will not progress until connectivity has been verified. + // This can either be manual or in the future automated + VERIFYING = 5; + + // The connectivity has been verified. + VERIFIED = 6; + + // The connectivity has been deemed to not be functioning properly, rolling back to the last + // known good state. + ROLLING_BACK = 7; + + // The rotation has finished, the new root has been propagated to all data-plane clusters, and traffic has + // been verified successfully. + FINISHED = 8; + + // Processing the certificate rotation workflow failed. + FAILED = 9; +} + +message CertificateRotationVerificationMethod { + oneof method { + // Verification not enabled. NOTE: This setting is only recommended for testing. + // When enabled rotation will continue from step to step without any kind of verification. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + google.protobuf.Empty none = 1; + + // Verification must be completed manually. This involves using our certificate verification + // endpoint when the certificates are in a VERIFYING state + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + google.protobuf.Empty manual = 2; + } +} + +enum CertificateRotationStrategy { + // The default certificate rotation strategy. This strategy involves three steps which + // ensure that traffic in the mesh will experience no downtime. + // For an in depth explination of how this strategy works in Istio see the [following blog](https://blog.christianposta.com/diving-into-istio-1-6-certificate-rotation/) + // The steps are as follows: + // 1. ADDING_NEW_ROOT + // During this step the new root-cert will be appended to the old root-cert, and then distributed. + // The intermediate will continue to be signed by the original root. + // 2. PROPAGATING_NEW_INTERMEDIATE + // During this step both root-certs will still be distributed. In addition the intermediate will now + // be signed by the new root key. + // 3. DELETING_OLD_ROOT + // During this step the old root is no longer included, and the intermediate will continue to be signed + // by the new root key. + MULTI_ROOT = 0; + + // Do not use any rotation strategy. + // NOTE: This can lead to downtime while workloads transition + // from one root of trust to another + NONE = 1; +} + +// CertificateRotationCondition represents a timesptamped snapshot of the certificate +// rotation workflow. This is used to keep track of the steps which have been completed +// thus far. +message CertificateRotationCondition { + + // The time at which this condition was recorded + string timestamp = 1; + + // The current state of the cert rotation + CertificateRotationState state = 2; + + // A human readable message related to the current condition + string message = 3; + + // Any errors which occurred during the current rotation stage + repeated string errors = 4; + +} + diff --git a/api/gloo.solo.io/policy/v2/security/tls/vault_ca.proto b/api/gloo.solo.io/policy/v2/security/tls/vault_ca.proto new file mode 100644 index 000000000..d85f8e6d8 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/security/tls/vault_ca.proto @@ -0,0 +1,86 @@ +syntax = "proto3"; + +package tls.security.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/skv2/api/core/v1/core.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2/tls"; + +option (extproto.equal_all) = true; +option (extproto.clone_all) = true; + +message VaultCA { + + // `ca_path` is the mount path of the Vault PKI backend's `sign` endpoint, e.g: + // "my_pki_mount/sign/my-role-name". + string ca_path = 1; + + // `csr_path` is the mount path of the Vault PKI backend's `generate` endpoint, e.g: + // "my_pki_mount/intermediate/generate/exported". + // "exported" is necessary here as istio needs access to the private key + // See vault docs here: https://www.vaultproject.io/api-docs/secret/pki#parameters-4 + string csr_path = 2; + + // Server is the connection address for the Vault server, e.g: "https://vault.example.com:8200". + string server = 3; + + // PEM encoded CA bundle used to validate Vault server certificate. Only used + // if the Server URL is using HTTPS protocol. This parameter is ignored for + // plain HTTP protocol connection. If omitted, the system root certificates + // are used to validate the TLS connection. + oneof ca_source { + // Inline CA bytes + bytes ca_bundle = 4; + // Reference to a secret containing the CA bytes. + // The CA should be stored by the key `root-cert.pem` + .core.skv2.solo.io.ObjectRef ca_secret_ref = 5; + // Path to a local file containing the CA bytes + string ca_local_path = 6; + } + + // Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows Vault environments to support Secure Multi-tenancy. e.g: "ns1" + // More about namespaces can be found [here](https://www.vaultproject.io/docs/enterprise/namespaces) + string namespace = 7; + + oneof auth_type { + + // TokenSecretRef authenticates with Vault by presenting a token. + .core.skv2.solo.io.ObjectRef token_secret_ref = 8; + + // Kubernetes authenticates with Vault by passing the ServiceAccount + // token stored in the named Secret resource to the Vault server. + VaultKubernetesAuth kubernetes_auth = 9; + } + +} + +message VaultKubernetesAuth { + + // The Vault mountPath here is the mount path to use when authenticating with + // Vault. For example, setting a value to `/v1/auth/foo`, will use the path + // `/v1/auth/foo/login` to authenticate with Vault. If unspecified, the + // default value "/v1/auth/kubernetes" will be used. + string mount_path = 1; + + // A required field containing the Vault Role to assume. A Role binds a + // Kubernetes ServiceAccount with a set of Vault policies. + string role = 2; + + // Key to search for the sa_token + // Default to "token" + string secret_token_key = 3; + + // The method by which to get the service account token. + // If unspecified will default to mounted_sa_path + oneof service_account_location { + + // Reference to service account, other than the one mounted to the current pod. + .core.skv2.solo.io.ObjectRef service_account_ref = 4; + + // File System path to grab the service account token from. + // Defaults to /var/run/secrets/kubernetes.io/serviceaccount + string mounted_sa_path = 5; + } + +} diff --git a/api/gloo.solo.io/policy/v2/security/waf_policy.proto b/api/gloo.solo.io/policy/v2/security/waf_policy.proto new file mode 100644 index 000000000..ac0824115 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/security/waf_policy.proto @@ -0,0 +1,75 @@ +syntax = "proto3"; + +package security.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/envoy-gloo-ee/api/envoy/config/filter/http/modsecurity/v2/modsecurity.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// WAFPolicy is used to set safeguard your services with the functionality of Web ApplicationFirewall +// WAFPolicies are applied at the *Route* level. +message WAFPolicySpec { + + // Routes to apply the policy to. + // If empty, the policy applies to all workloads in the workspace. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // The details of the WAF policy to apply to the selected routes. + Config config = 2; + + message Config { + // Disable the OWASP core rule set from being applied + bool disable_core_rule_set = 1; + + // If core_rule_set is not disabled, this field MUST be present. + // This configures various aspects of the OWASP Core Rule Set. + // See here for more info on how to configure https://github.com/coreruleset/coreruleset + oneof core_rule_set_settings { + // An inline string of the core rule set settings + string core_rule_set_settings_string = 8; + // The path to the core rule set settings to use + string core_rule_set_settings_path = 9; + } + // Overwrite the global rules on this route + repeated .envoy.config.filter.http.modsecurity.v2.RuleSet custom_rule_sets = 2; + // Custom message to display when an intervention occurs + string custom_intervention_message = 3; + // This instructs the filter what to do with the transaction's audit log. + .envoy.config.filter.http.modsecurity.v2.AuditLogging audit_logging = 4; + // If set, the body will not be buffered and fed to ModSecurity. Only the + // headers will. This can help improve performance. + bool request_headers_only = 5; + bool response_headers_only = 6; + // Optional field that is used to determine the order in which rule sets + // between policies are applied. Modsec rulesets for each policy + // is applied from the lowest numerical priority to the highest numerical priority if it is provided. + // Use this field for all WAF policies applicable to a route or not at all. Defaults to nil if not provided, + // and WAF policies will be applied in order of ascending creation time. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int32-value). + google.protobuf.UInt32Value priority = 7; + } +} + +message WAFPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of routes selected by the policy. + uint32 num_selected_routes = 2; +} + +message WAFPolicyReport { + // The status of the resource in each workspace that it exists in. + map workspaces = 1; + + // A list of references to all routes selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; +} diff --git a/api/gloo.solo.io/policy/v2/trafficcontrol/header_manipulation.proto b/api/gloo.solo.io/policy/v2/trafficcontrol/header_manipulation.proto new file mode 100644 index 000000000..f96d7bc13 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/trafficcontrol/header_manipulation.proto @@ -0,0 +1,63 @@ +syntax = "proto3"; + +package trafficcontrol.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// HeaderManipulationPolicy is used to transform HTTP requests and responses matching selected routes. +// TransformationPolicies are applied at the *Route* level. +// If no selectors are provided, will apply to all routes in the workspace. +message HeaderManipulationPolicySpec { + + // select the routes where the policy will be applied + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // The details of the transformation policy to apply to the selected routes or destinations for a given route. + Config config = 2; + + // Select routes' destinations where the policy will be applied. + // This field is intended for when the config should be applied to a `forwardTo` route only when + // it is forwarded to a subset of the route's backing destinations. + repeated .common.gloo.solo.io.RouteDestinationSelector apply_to_route_destinations = 3; + + message Config { + + // HTTP headers to remove before returning a response to the caller. + repeated string remove_response_headers = 1; + + // Additional HTTP headers to add before returning a response to the caller. + map append_response_headers = 2; + + // HTTP headers to remove before forwarding a request to the destination service. + repeated string remove_request_headers = 3; + + // Additional HTTP headers to add before forwarding a request to the destination service. + map append_request_headers = 4; + + } +} + +message HeaderManipulationPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of routes selected by this policy. + uint32 num_selected_routes = 2; +} + +message HeaderManipulationPolicyReport { + // The status of the resource in each workspace that it exists in. + map workspaces = 1; + + // A list of references to all routes selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; +} diff --git a/api/gloo.solo.io/policy/v2/trafficcontrol/http_buffer_policy.proto b/api/gloo.solo.io/policy/v2/trafficcontrol/http_buffer_policy.proto new file mode 100644 index 000000000..a1a8456f7 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/trafficcontrol/http_buffer_policy.proto @@ -0,0 +1,63 @@ +syntax = "proto3"; + +package trafficcontrol.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "google/protobuf/wrappers.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// HTTPBufferPolicy is used to enable http buffers for routes +// +// For more details on HTTPBuffer, visit: +// https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/buffer_filter +// +// ``` +// apiVersion: trafficcontrol.policy.gloo.solo.io/v2 +// kind: HTTPBufferPolicy +// metadata: +// name: buffer +// namespace: bookinfo +// spec: +// config: +// maxRequestBytes: 16384 +// applyToRoutes: +// - route: +// labels: +// route: productpage +// ``` +message HTTPBufferPolicySpec { + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + message Config { + // The maximum request size that the filter will buffer before + // the connection manager will stop buffering and return a 413 + // response + google.protobuf.UInt32Value max_request_bytes = 1; + } + + Config config = 2; +} + +// The status of the policy after it is applied to your Gloo environment. +message HTTPBufferPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of routes selected by the policy. + uint32 num_selected_routes = 2; +} + +message HTTPBufferPolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // A list of references to all routes selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; +} diff --git a/api/gloo.solo.io/policy/v2/trafficcontrol/load_balancer_policy.proto b/api/gloo.solo.io/policy/v2/trafficcontrol/load_balancer_policy.proto new file mode 100644 index 000000000..4791ab9e9 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/trafficcontrol/load_balancer_policy.proto @@ -0,0 +1,147 @@ +syntax = "proto3"; + +package trafficcontrol.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// LoadBalancerPolicy provides settings to configure traffic distribution among destination workloads. +message LoadBalancerPolicySpec { + + repeated .common.gloo.solo.io.DestinationSelector apply_to_destinations = 1; + + Config config = 2; + + message Config { + + // Upstream load balancing policy. + oneof lb_policy { + SimpleLB simple = 1; + ConsistentHashLB consistent_hash = 2; + } + + // Represents the warmup duration of Service. If set, the newly created endpoint of service + // remains in warmup mode starting from its creation time for the duration of this window and + // Istio progressively increases amount of traffic for that endpoint instead of sending proportional amount of traffic. + // This should be enabled for services that require warm up time to serve full production load with reasonable latency. + // Please note that this is most effective when few new endpoints come up like scale event in Kubernetes. When all the + // endpoints are relatively new like new deployment, this is not very effective as all endpoints end up getting same + // amount of requests. + // Currently this is only supported for ROUND_ROBIN and LEAST_REQUEST load balancers. + google.protobuf.Duration warmup_duration_secs = 3; + + // A threshold at which Envoy will disregard health status and balance either among all hosts or no hosts. + // If not specified, the default is 50%. To disable panic mode, set to 0%. + google.protobuf.DoubleValue healthy_panic_threshold = 4; + + // Health check/weight/metadata updates that happen within this duration will be merged and delivered + // in one shot when the duration expires. + // If not specified, the default is 1000ms. To disable it, set the merge window to 0. + google.protobuf.Duration update_merge_window = 5; + + // Standard load balancing algorithms that require no tuning. + enum SimpleLB { + // No load balancing algorithm has been specified by the user. Istio + // will select an appropriate default. + UNSPECIFIED = 0; + + // The random load balancer selects a random healthy host. The random + // load balancer generally performs better than round robin if no health + // checking policy is configured. + RANDOM = 1; + + // This option will forward the connection to the original IP address + // requested by the caller without doing any form of load + // balancing. This option must be used with care. It is meant for + // advanced use cases. Refer to Original Destination load balancer in + // Envoy for further details. + PASSTHROUGH = 2; + + // A basic round robin load balancing policy. This is generally unsafe + // for many scenarios (e.g. when endpoint weighting is used) as it can + // overburden endpoints. In general, we recommend using LEAST_REQUEST as a + // drop-in replacement for ROUND_ROBIN. + ROUND_ROBIN = 3; + + // The least request load balancer spreads load across endpoints, favoring + // endpoints with the least outstanding requests. This is generally safer + // and outperforms ROUND_ROBIN in nearly all cases. Prefer to use + // LEAST_REQUEST as a drop-in replacement for ROUND_ROBIN. + LEAST_REQUEST = 4; + } + + // Consistent Hash-based load balancing can be used to provide soft + // session affinity based on HTTP headers, cookies or other + // properties. The affinity to a particular destination host may be + // lost when one or more hosts are added/removed from the destination + // service. + // + // Note: consistent hashing is less reliable at maintaining affinity than common + // "sticky sessions" implementations, which often encode a specific destination in + // a cookie, ensuring affinity is maintained as long as the backend remains. + // With consistent hash, the guarantees are weaker; any host addition or removal can + // break affinity for `1/backends` requests. + // + // Warning: consistent hashing depends on each proxy having a consistent view of endpoints. + // This is not the case when locality load balancing is enabled. Locality load balancing + // and consistent hash will only work together when all proxies are in the same locality, + // or a high level load balancer handles locality affinity. + message ConsistentHashLB { + // The hash key to use. + oneof hash_key { + // Hash based on a specific HTTP header. + string http_header_name = 1; + + // Hash based on HTTP cookie. + HTTPCookie http_cookie = 2; + + // Hash based on the source IP address. + // This is applicable for both TCP and HTTP connections. + bool use_source_ip = 3; + + // Hash based on a specific HTTP query parameter. + string http_query_parameter_name = 4; + } + + // Describes a HTTP cookie that will be used as the hash key for the + // Consistent Hash load balancer. If the cookie is not present, it will + // be generated. + message HTTPCookie { + // Name of the cookie. + string name = 1; + // Path to set for the cookie. + string path = 2; + // Lifetime of the cookie. + google.protobuf.Duration ttl = 3; + } + }; + } +} + +// The status of the policy after it is applied to your Gloo environment.Status +message LoadBalancerPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of destination ports selected by the policy. + uint32 num_selected_destination_ports = 2; +} + +// Report on the state of the LoadBalancerPolicyReport +message LoadBalancerPolicyReport { + // A list of workspaces in which the policy can apply to workloads. + map workspaces = 1; + + // Destination ports selected by the policy + repeated .common.gloo.solo.io.DestinationReference selected_destination_ports = 2; +} diff --git a/api/gloo.solo.io/policy/v2/trafficcontrol/mirror_policy.proto b/api/gloo.solo.io/policy/v2/trafficcontrol/mirror_policy.proto new file mode 100644 index 000000000..3f14adc4f --- /dev/null +++ b/api/gloo.solo.io/policy/v2/trafficcontrol/mirror_policy.proto @@ -0,0 +1,55 @@ +syntax = "proto3"; + +package trafficcontrol.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// MirrorPolicy is used to mirror/shadow traffic to a another destination (traffic will be sent to its original destination in addition to the mirrored destinations). +// MirrorPolicies are applied at the *Route* level. +message MirrorPolicySpec { + + // Routes to apply the policy to. + // If empty, the policy applies to all workloads in the workspace. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // The details of the Mirror policy to apply to the selected routes + Config config = 2; + + message Config { + + // The destination to which to send mirrored traffic + .common.gloo.solo.io.DestinationReference destination = 1; + + // Percentage of traffic to mirror. If omitted all traffic will be mirrored. Values must be between 0 and 100. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/double-value). + google.protobuf.DoubleValue percentage = 2; + + } +} + +// The status of the policy after it is applied to your Gloo environment. +message MirrorPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of routes selected by this policy. + uint32 num_selected_routes = 2; +} + +message MirrorPolicyReport { + // The status of the resource in each workspace that it exists in. + map workspaces = 1; + + // A list of references to all rotues selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; +} diff --git a/api/gloo.solo.io/policy/v2/trafficcontrol/proxy_protocol_policy.proto b/api/gloo.solo.io/policy/v2/trafficcontrol/proxy_protocol_policy.proto new file mode 100644 index 000000000..f544d75b4 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/trafficcontrol/proxy_protocol_policy.proto @@ -0,0 +1,66 @@ +syntax = "proto3"; + +package trafficcontrol.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/port.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// ProxyProtocolPolicy is used to enable proxy protocol for gateway listener(s). +// +// For more details on ProxyProtocol, visit: +// https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt. +// +// ``` +// apiVersion: trafficcontrol.policy.gloo.solo.io/v2 +// kind: ProxyProtocolPolicy +// metadata: +// name: my-policy +// namespace: bookinfo +// spec: +// config: +// enabledProxyProtocol: true +// applyToListeners: +// - virtualGateway: +// name: virtual-gateway +// namespace: bookinfo +// cluster: my-cluster +// port: +// number: 443 +// ``` +message ProxyProtocolPolicySpec { + + message Config {bool enable_proxy_protocol = 1;} + + // Required: The VirtualGateway(s) and Port(s) to which this policy applies. + repeated .common.gloo.solo.io.ListenerSelector apply_to_listeners = 1; + + // Required: The configuration to apply to the listener. + Config config = 2; +} + +// The status of the policy after it is applied to your Gloo environment. +message ProxyProtocolPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of virtual gateway listeners selected by the policy. + uint32 num_selected_listeners = 2; +} + +message ProxyProtocolPolicyReport { + // The status of the resource in each workspace that it exists in. + map workspaces = 1; + + // A list of virtual gateway listeners selected by the policy. + repeated .common.gloo.solo.io.ListenerPortReference selected_listeners = 2; +} diff --git a/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_client_config.proto b/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_client_config.proto new file mode 100644 index 000000000..31f9c0e06 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_client_config.proto @@ -0,0 +1,50 @@ +syntax = "proto3"; + +package trafficcontrol.policy.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/rate-limiter/v1alpha1/ratelimit.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// RateLimitClientConfig is used to configure the ratelimit rules on routes/destinations. +// All RateLimitPolicy resources in a workspace require an RateLimitClientConfig to in order to function. +// If no RateLimitClientConfig is provided, no ratelimit rules will be enforced. +message RateLimitClientConfigSpec { + + // Each `RateLimitClientConfig` is an instance of one specific configuration type. + // Currently, only raw configuration is supported, but going forward we are planning on adding + // more high-level configuration formats to support specific use cases. + oneof config_type { + // Define a policy using the raw configuration format used by the client (Envoy). + Raw raw = 1; + } + +} + +// This object allows users to specify rate limit policies using the raw configuration formats +// used by the client (Envoy). When using this configuration type, it is up to +// the user to ensure that server and client configurations match to implement the desired behavior. +message Raw { + + // Actions specify how the client (Envoy) will compose the descriptors that + // will be sent to the server to make a rate limiting decision. + repeated .ratelimit.api.solo.io.RateLimitActions rate_limits = 3; +} + +// The current status of the `RateLimitClientConfig`. +message RateLimitClientConfigStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; +} + +message RateLimitClientConfigReport { + // The status of the resource in each workspace that it exists in. + map workspaces = 1; +} \ No newline at end of file diff --git a/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_policy.proto b/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_policy.proto new file mode 100644 index 000000000..b6b935fa3 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_policy.proto @@ -0,0 +1,95 @@ +syntax = "proto3"; + +package trafficcontrol.policy.gloo.solo.io; + +import "encoding/protobuf/cue/cue.proto"; +import "extproto/ext.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/phase.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_client_config.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// RateLimitPolicy is used to assign ratelimit configuration to specific routes or destinations. +// Traffic is forwarded to a rate-limited destinations specified in the RatelimitServerSettings. +// The RatelimitServerSettings is also used to configure connecting settings. +// If this is not provided, the default connection settings and default gloo mesh ratelimiter server destination will be used. +// RateLimitPolicies are applied at the *Route* level and *Destination* levels. +// Default is to apply policy to all destinations. +message RateLimitPolicySpec { + + // Select the routes where the policy will be applied. + // If empty, no ratelimits on routes will be applied in the workspace. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // Select the destinations where the policy will be applied. + // Default behavior if no selectors are specified is to apply to all destinations in the workspace. + // If empty and the route selector is set, no ratelimits on destinations will be applied. + repeated .common.gloo.solo.io.DestinationSelector apply_to_destinations = 2; + + // The configuration details of the rate limit policy to apply to the selected routes + Config config = 3; + + message Config { + + // Specify the phase to indicate where this policy should be applied relative to other policies. + // If no phase is specified, the default will be post AuthZ. + .common.gloo.solo.io.PrioritizedPhase phase = 1; + + // Reference to the RatelimitServerConfig to use for this policy. + // If none is provided, no ratelimit will be enforced + .common.gloo.solo.io.ObjectReference ratelimit_server_config = 2; + + // Reference to the RatelimitServerSettings to use for this policy. + // Currently routes on a single VirtualGateway or destination must share a single RatelimitServerSettings. + // If none is provided, the default Gloo RatelimitServerSettings will be used. + .common.gloo.solo.io.ObjectReference server_settings = 3; + + // Each `RateLimitPolicyConfig` is an instance of one specific configuration type. + // Currently, only raw configuration is supported, but going forward we are planning on adding + // more high-level configuration formats to support specific use cases. + oneof config_type { + // Inline a policy using the raw configuration format used by the ratelimit server. + trafficcontrol.policy.gloo.solo.io.Raw raw = 4; + + // Select a RatelimitClientConfig policy to apply. + .common.gloo.solo.io.ObjectReference ratelimit_client_config = 5; + } + + } +} + +// The status of the policy after it is applied to your Gloo environment. +message RateLimitPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of destination ports selected by the policy. + uint32 num_selected_destination_ports = 2; + + // The number of routes selected by the policy. + uint32 num_selected_routes = 3; + + // The rate limit server specified by the `server_settings`. + .common.gloo.solo.io.DestinationReference destination_server = 4; +} + +message RateLimitPolicyReport { + // The status of the resource in each workspace that it exists in. + map workspaces = 1; + + // A list of destination ports selected by the policy. + repeated .common.gloo.solo.io.DestinationReference selected_destination_ports = 2; + + // A list of references for all routes selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 3; + + // The rate limit server specified by the `server_settings`. + .common.gloo.solo.io.DestinationReference destination_server = 4; +} diff --git a/api/gloo.solo.io/policy/v2/trafficcontrol/transformation_policy.proto b/api/gloo.solo.io/policy/v2/trafficcontrol/transformation_policy.proto new file mode 100644 index 000000000..7242b92f3 --- /dev/null +++ b/api/gloo.solo.io/policy/v2/trafficcontrol/transformation_policy.proto @@ -0,0 +1,80 @@ +syntax = "proto3"; + +package trafficcontrol.policy.gloo.solo.io; + +import "extproto/ext.proto"; +import "github.com/solo-io/envoy-gloo/api/envoy/config/filter/http/transformation/v2/transformation_filter.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/phase.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto"; +import "github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2"; + +option (extproto.equal_all) = true; +option (extproto.hash_all) = true; +option (extproto.clone_all) = true; + +// TransformationPolicy is used to transform HTTP requests and responses matching selected routes. +// TransformationPolicies are applied at the *Route* level. +message TransformationPolicySpec { + + // Routes to apply the policy to. + // If empty, the policy applies to all workloads in the workspace. + repeated .common.gloo.solo.io.RouteSelector apply_to_routes = 1; + + // The details of the transformation policy to apply to the selected routes. + Config config = 2; + + message Config { + + // Specify the phase to indicate where this policy should be applied relative to other policies. + // If no phase is specified, the default will be post AuthZ. + .common.gloo.solo.io.PrioritizedPhase phase = 1; + + // Transformation to be applied before the request is sent to the upstream service. + RequestTransformation request = 2; + + message RequestTransformation { + + // If set to **true**, recalculate the routing destination and select a new route for transformed requests. + // For example, if you have a request that is transformed to match a new route, the new route is selected + // when calculating the routing destination. The default value is **false**. + bool recalculate_routing_destination = 1; + + // transform HTTP body and headers using Inja templates. + // For more information, see the [Envoy `transformation_filter.proto`](https://github.com/solo-io/envoy-gloo/blob/master/api/envoy/config/filter/http/transformation/v2/transformation_filter.proto#L155). + envoy.api.v2.filter.http.TransformationTemplate inja_template = 2; + + reserved 3; // Reserved for xslt + } + + // Transform the response received from the upstream service before returning it to the client. + ResponseTransformation response = 3; + + // Configure response transformations for a selected route + message ResponseTransformation { + + // transform response body and headers using Inja templates. + // For more information, see the [Envoy `transformation_filter.proto`](https://github.com/solo-io/envoy-gloo/blob/master/api/envoy/config/filter/http/transformation/v2/transformation_filter.proto#L155). + envoy.api.v2.filter.http.TransformationTemplate inja_template = 1; + + reserved 2; // Reserved for xslt + } + } +} + +message TransformationPolicyStatus { + // The state and workspace conditions of the applied resource. + .common.gloo.solo.io.Status common = 1; + + // The number of routes selected by the policy. + uint32 num_selected_routes = 2; +} + +message TransformationPolicyReport { + // The status of the resource in each workspace that it exists in. + map workspaces = 1; + + // A list of references to all routes selected by the policy. + repeated .common.gloo.solo.io.RouteReference selected_routes = 2; +} diff --git a/api/gloo/enterprise.gloo/v1/auth_config.proto b/api/gloo/enterprise.gloo/v1/auth_config.proto index 231e71104..1cc8758cf 100644 --- a/api/gloo/enterprise.gloo/v1/auth_config.proto +++ b/api/gloo/enterprise.gloo/v1/auth_config.proto @@ -1,13 +1,14 @@ syntax = "proto3"; package enterprise.gloo.solo.io; -option go_package = "github.com/solo-io/solo-apis/pkg/api/enterprise.gloo.solo.io/v1"; +option go_package = "github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1"; import "github.com/solo-io/solo-kit/api/v1/ref.proto"; import "extproto/ext.proto"; option (extproto.equal_all) = true; option (extproto.hash_all) = true; +option (extproto.clone_all) = true; import "github.com/solo-io/solo-kit/api/v1/solo-kit.proto"; import "github.com/solo-io/solo-kit/api/external/envoy/api/v2/discovery.proto"; @@ -23,6 +24,7 @@ import "google/protobuf/empty.proto"; message AuthConfigSpec { + reserved 1; message Config { @@ -46,6 +48,8 @@ message AuthConfigSpec { // In addition, `allow_missing_or_failed_jwt` must be set on the Virtual Host or Route that uses JWT auth or else the JWT filter will short circuit this behaviour. google.protobuf.Empty jwt = 11; PassThroughAuth pass_through_auth = 12; + HmacAuth hmac_auth = 13; + OpaServerAuth opa_server_auth = 14; } } @@ -61,6 +65,12 @@ message AuthConfigSpec { // An example config might be: `( basic1 || basic2 || (oidc1 && !oidc2) )` // The boolean expression is evaluated left to right but honors parenthesis and short-circuiting. google.protobuf.StringValue boolean_expr = 10; + + // How the service should handle a redirect response from an OIDC issuer. In the default false mode, + // the redirect will be considered a successful response, and the client will receive a 302 with a location header. + // If this is set to true, the client will instead receive a 401 unauthorized response. This is useful in cases where + // API calls are being made or other such occurrences where the client cannot handle the redirect. + bool fail_on_redirect = 11; } // Auth configurations defined on virtual hosts, routes, and weighted destinations will be unmarshalled to this message. @@ -80,8 +90,14 @@ message Settings { // The upstream to ask about auth decisions core.solo.io.ResourceRef extauthz_server_ref = 1; - // If this is set, communication to the upstream will be via HTTP and not GRPC. - HttpService http_service = 2; + oneof service_type { + // If this is set, communication to the upstream will be via HTTP and not GRPC (default). + HttpService http_service = 2; + + // Optional, if set the communication to the upstream will be via GRPC. + GrpcService grpc_service = 11; + } + // If the auth server trusted id of the user, it will be set in this header. // Specifically this means that this header will be sanitized form the incoming request. @@ -135,6 +151,11 @@ message Settings { string stat_prefix = 10; } +message GrpcService { + // Set the authority header when calling the GRPC service. + string authority = 1; +} + message HttpService { // Sets a prefix to the value of authorization request header *Path*. string path_prefix = 1; @@ -152,19 +173,27 @@ message HttpService { // These headers that will be included to the request to authorization service. Note that // client request of the same key will be overridden. map headers_to_add = 2; + + // Headers that match these regex patterns will be copied from the incoming request + // to the request going to the auth server. + repeated string allowed_headers_regex = 3; } Request request = 2; message Response { - // When this is set, authorization response headers that have a will be added to the original client request and sent to the upstream. + // When this is set, authorization response headers that have a header in this list will be added to the original client request and sent to the upstream. // Note that coexistent headers will be overridden. repeated string allowed_upstream_headers = 1; - // When this. is set, authorization response headers that will be added to the client's response when auth request is denied. + // When this is set, authorization response headers in this list will be added to the client's response when the auth request is denied. // Note that when this list is *not* set, all the authorization response headers, except *Authority // (Host)* will be in the response to the client. When a header is included in this list, *Path*, // *Status*, *Content-Length*, *WWW-Authenticate* and *Location* are automatically added. repeated string allowed_client_headers = 2; + + // When this is set, authorization response headers that have a correspondent match will be added to the client's response. + // Note that coexistent headers will be appended. + repeated string allowed_upstream_headers_to_append = 3; } Response response = 3; } @@ -219,15 +248,80 @@ message AuthPlugin { message BasicAuth { string realm = 1; + // This is the legacy/simple basic auth config. It supports the APR hashing algorithm and an inline userlist. + // If 'apr' is defined, 'encryption' and 'user_source' must not be defined or the config will fail validation message Apr { + // Message to store the salt and salted hashed password for a user message SaltedHashedPassword { + // Salt used with the apr algorithm for the user string salt = 1; + // Salted and hashed password for the user string hashed_password = 2; } + // Map of authorized usernames to stored credentials map users = 2; } Apr apr = 2; + + // Below here is the "extended" basic auth config. Hashing algorithm and user source are independent and configurable. + // It is required to define exactly one of 'apr' or ('encryption' and 'user_source') or the config will fail validation + + // The encryption/hashing algorithm to use to store the password + message EncryptionType { + // Sha1 encryption type (https://datatracker.ietf.org/doc/html/rfc3174) + // Sha1 is considered insecure and is not recommended for production use + message Sha1 {} + // Apache specific iterated MD5 hashing: (https://httpd.apache.org/docs/2.4/misc/password_encryptions.html) + message Apr {} + oneof algorithm { + Apr apr = 1; + Sha1 sha1 = 2; + } + } + + // The encryption type to use to store the password on the server + // If 'encryption' is defined, 'user_source' must be defined and the top level 'apr' field must not be defined or the config will fail validation + EncryptionType encryption = 3; + + // Message to store user data. We need the salt and salted hashed password for each user + message User { + // Salt used with the hashing algorithm for the user + string salt = 1; + // Salted and hashed password for the user + string hashed_password = 2; + } + + // Map of valid usernames to stored credentials + message UserList { + map users= 1; + } + + // Source of user credential data + // If 'user_source' is defined, 'encryption' must be defined and the top level 'apr'' field must not be defined or the config will fail validation + oneof user_source { + UserList user_list = 4; + } +} + + +// HMAC is a message authentication technique that can use multiple algorithms for finding credentials and generating signed messages. +// It conforms to https://www.ietf.org/rfc/rfc2104.txt +message HmacAuth { + // Configuration for how secrets are stored. + oneof secret_storage { + SecretRefList secret_refs = 1; + } + // Algorithm to use to turn the request into a hashable string + oneof implementation_type{ + HmacParametersInHeaders parameters_in_headers = 2; + } } +message SecretRefList { + // list of secrets as registered with the issuer + repeated core.solo.io.ResourceRef secret_refs = 1; +} +// Extract the HMAC parameters from the HTTP headers and use SHA-1 hashing +message HmacParametersInHeaders {} // Deprecated: Prefer OAuth2 message OAuth { @@ -270,6 +364,12 @@ message OAuth2 { // - URI query parameter e.g. access_token=mytoken123 // - and (preferably) secure cookies AccessTokenValidation access_token_validation = 2; + + // Enterprise-Only: THIS FEATURE IS IN TECH PREVIEW. APIs are versioned as alpha and subject to change. + // provide issuer location and let Gloo handle Oauth2 flow for you. + // requests authorized by validating the contents of access token. + // Prefer to use OIDC for better security. + PlainOAuth2 oauth2 = 3; } } @@ -281,10 +381,37 @@ message RedisOptions { // size of the connection pool. can leave unset for default. // defaults to 10 connections per every CPU int32 pool_size = 3; + // enabled with a socket type of TLS. this is the tls cert mount path for this particular host. + // the generic secret can include the keys 'ca.crt', 'tls.crt', and 'tls.key'. + // the secret can contain the root-ca ,'ca.crt', at minimum. If a + // certificate is needed, both the 'tls.crt' and 'tls.key' need to be included. + // reference this to equal the 'mountPath' on the 'redis.certs[x].mountPath' in the helm chart values. + // an example of a mount path is '/certs'. + string tls_cert_mount_path = 4; + // redis socket types + enum SocketType { + // TCP connection socket, this is the default. + TCP = 0; + // TLS connection socket. + TLS = 1; + } + // the socket type, default is TCP. + SocketType socket_type = 5; } message UserSession { message InternalSession { + // Refresh expired id-tokens using the refresh-token. The tokens refreshes when the client issues a call. + // Defaults to false. To enable refreshing, set to true. + google.protobuf.BoolValue allow_refreshing = 1; + // Prefix to append to cookie keys, such as for separate domain and subdomain prefixes. + // Cookie keys are stored in the form `_`. + // For more information, see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#attributes + string key_prefix = 2; + // Domain used to validate against requests in order to ensure that request host name matches target domain. + // If the target domain is provided will prevent requests that do not match the target domain according to + // the domain matching specifications in RFC 6265. For more information, see https://datatracker.ietf.org/doc/html/rfc6265#section-5.1.3 + string target_domain = 3; } message RedisSession { // Options to connect to redis @@ -293,9 +420,22 @@ message UserSession { string key_prefix = 2; // Cookie name to set and store the session id. If empty the default "__session" is used. string cookie_name = 3; - // When set, refresh expired id-tokens using the refresh-token. Defaults to true. - // Explicitly set to false to disable refreshing. + // Refresh expired id-tokens using the refresh-token. The tokens refreshes when the client issues a call. + // Defaults to true. To disable refreshing, set to false. google.protobuf.BoolValue allow_refreshing = 4; + // Specifies a time buffer in which an id-token will be refreshed prior to its + // actual expiration. Defaults to 2 seconds. A duration of 0 will only refresh + // tokens after they have already expired. To refresh tokens, you must also set + // 'allowRefreshing' to 'true'; otherwise, this field is ignored. + google.protobuf.Duration pre_expiry_buffer = 5; + // Domain used to validate against requests in order to ensure that request host name matches target domain. + // If the target domain is provided will prevent requests that do not match the target domain according to + // the domain matching specifications in RFC 6265. For more information, see https://datatracker.ietf.org/doc/html/rfc6265#section-5.1.3 + string target_domain = 6; + + // If set, the name of the header that will include the randomly generated session id + // This would be used as part of the code exchange with the Oauth2 token endpoint + string header_name = 7; } // should we fail auth flow when failing to get a session from redis, or allow it to continue, @@ -309,9 +449,27 @@ message UserSession { // Use a non-secure cookie. Note - this should only be used for testing and in trusted // environments. bool not_secure = 2; + // Set the cookie to be HttpOnly. defaults to true. Set explicity to false to disable. + google.protobuf.BoolValue http_only = 5; // Path of the cookie. If unset, defaults to "/". Set it explicitly to "" to avoid setting a // path. google.protobuf.StringValue path = 3; + // The SameSite options. The default value is LaxMode. + enum SameSite { + // Default Mode is the same as LaxMode but will not show up in the Cookie Header. This value is ignored. + DefaultMode = 0; + // Cookies are not sent on normal cross-site subrequests, but are sent when + // navigating to the origin site. + LaxMode = 1; + // Only be sent in a first-party context and not be sent along with requests + // initiated by third party websites. + StrictMode = 2; + // Cookies are sent in all contexts. Cookie NotSecure must be unset. + NoneMode = 3; + } + // Whether the cookie should be restricted to a first-party or same-site context. + // The default mode is LaxMode. + SameSite same_site = 6; // Cookie domain string domain = 4; } @@ -324,6 +482,17 @@ message UserSession { // Use redis to store the tokens and just store a random id in the cookie. RedisSession redis = 4; } + // the cipher config is used to encrypt session cookie values. This is currently only available for OIDC. + message CipherConfig { + // to enable the cipher encryption, the key has to be present. Note that the key has to be found and 32 bytes in + // length for the authconfig to not be rejected. + oneof key { + // The key reference used for the cipher. The reference must be a Kubernetes Secret of type `gloo.solo.io.EncryptionKeySecret`. + core.solo.io.ResourceRef key_ref = 1; + } + } + // the cipher config enables the symmetric key encryption of the cookie values of the user session. + CipherConfig cipher_config = 5; } message HeaderConfiguration { @@ -331,6 +500,8 @@ message HeaderConfiguration { string id_token_header = 1; // If set, the access token will be forward upstream using this header name. string access_token_header = 2; + // If true, adds the "Bearer" prefix to the upstream access token header value. + google.protobuf.BoolValue use_bearer_schema_for_authorization = 3; } // OIDC configuration is discovered at /.well-known/openid-configuration @@ -363,6 +534,12 @@ message DiscoveryOverride { // list of claim types that the provider supports repeated string claims = 9; + + // url of the provider token revocation endpoint + string revocation_endpoint = 10; + + // url of the provider end session endpoint + string end_session_endpoint = 11; } // The json web key set (JWKS) (https://tools.ietf.org/html/rfc7517) is discovered at an interval @@ -393,13 +570,44 @@ message JwksOnDemandCacheRefreshPolicy { } } +message AutoMapFromMetadata { + // The namespace from which to map metadata + string namespace = 1; +} + +message EndSessionProperties { + // The Method used to make the request. + enum MethodType { + // Uses GET method when making the request + GetMethod = 0; + // Uses POST method when making the request + PostMethod = 1; + } + // The method type used by the end session endpoint, defaults to GET. + MethodType methodType = 1; +} + +// Map a single claim from an OAuth2 or OIDC token to a header in the request to the upstream destination. +message ClaimToHeader { + // The claim name from the token, such as `sub`. + string claim = 1; + + // The header to copy the claim to, such as `x-sub`. + string header = 2; + + // If the header exists, append the claim value to the header (true), or overwrite any existing value (false). The default behavior is to overwrite any existing value (false). + bool append = 3; +} + message OidcAuthorizationCode { // your client id as registered with the issuer string client_id = 1; - // your client secret as registered with the issuer - core.solo.io.ResourceRef client_secret_ref = 2; + // your client secret as registered with the issuer. + // This is required unless `disable_client_secret` is true + // This field has been deprecated and can be set in the client_secret option of client_authentication + core.solo.io.ResourceRef client_secret_ref = 2 [deprecated = true]; // The url of the issuer. We will look for OIDC information in issuerUrl+ // ".well-known/openid-configuration" @@ -482,89 +690,263 @@ message OidcAuthorizationCode { // add optional configuration for validation of the access token received during the OIDC flow // AccessTokenValidation access_token_validation = 8; + // DEPRECATED: Prefer the RedisSession.HeaderName field // If set, the randomly generated session id will be sent to the token endpoint as part of the code exchange // The session id is used as the key for sessions in Redis - string session_id_header_name = 16; -} + string session_id_header_name = 16 [deprecated = true]; + + // If set, CallbackPath will be evaluated as a regular expression + bool parse_callback_path_as_regex = 17; + + // If specified, authEndpointQueryParams and tokenEndpointQueryParams will be populated using dynamic metadata values. + // By default parameters will be extracted from the solo_authconfig_oidc namespace + // this behavior can be overridden by explicitly specifying a namespace + AutoMapFromMetadata auto_map_from_metadata = 18; + + // If specified, these are properties defined for the end session endpoint + // specifications. Noted [here](https://openid.net/specs/openid-connect-rpinitiated-1_0.html) + // in the OIDC documentation. + EndSessionProperties end_session_properties = 19; + + // Map of metadata key to claim. Ie: + // dynamic_metadata_from_claims: + // issuer: iss + // email: email + // When specified, the matching claims from the ID token will be emitted as dynamic metadata. + // Note that metadata keys must be unique, and the claim names must be alphanumeric and use `-` or `_` as separators. + // The metadata will live in a namespace specified by the canonical name of the ext auth filter (in our case `envoy.filters.http.ext_authz`), + // and the structure of the claim value will be preserved in the metadata struct. + map dynamic_metadata_from_claims = 20; + + // If true, do not check for or use the client secret. + // Generally the client secret is required and AuthConfigs will be rejected if it isn't set. + // However certain implementations of the PKCE flow do not use a client secret (including Okta) so this setting allows configuring Oidc without a client secret. + // This field has been deprecated and can be set in the client_secret option of client_authentication + google.protobuf.BoolValue disable_client_secret = 21 [deprecated = true]; + + // Optional: Configuration specific to the OAuth2 access token received and processed by the ext-auth-service. + AccessToken access_token = 23; + + // Optional: Configuration specific to the OIDC identity token received and processed by the ext-auth-service. + IdentityToken identity_token = 24; + + // Optional: Map a single claim from an OAuth2 access token to a header in the request to the upstream destination. + message AccessToken { + + // A list of claims to be mapped from the JWT token received by ext-auth-service to an upstream destination + repeated ClaimToHeader claims_to_headers = 1; + } -message AccessTokenValidation { + // Optional: Map a single claim from an OIDC identity token to a header in the request to the upstream destination. + message IdentityToken { - // Defines how JSON Web Token (JWT) access tokens are validated. - // - // Tokens are validated using a JSON Web Key Set (as defined in - // [Section 5 of RFC7517](https://tools.ietf.org/html/rfc7517#section-5)), - // which can be either inlined in the configuration or fetched from a remote location via HTTP. - // Any keys in the JWKS that are not intended for signature verification (i.e. whose - // ["use" parameter](https://tools.ietf.org/html/rfc7517#section-4.2) is not "sig") - // will be ignored by the system, as will keys that do not specify a - // ["kid" (Key ID) parameter](https://tools.ietf.org/html/rfc7517#section-4.2). - // - // The JWT to be validated must define non-empty "kid" and "alg" headers. The "kid" header - // determines which key in the JWKS will be used to verify the signature of the token; - // if no matching key is found, the token will be rejected. - // - // If present, the server will verify the "exp", "iat", and "nbf" standard JWT claims. - // Validation of the "iss" claim and of token scopes can be configured as well. - // If the JWT has been successfully validated, its set of claims will be added to the - // `AuthorizationRequest` state under the "jwtAccessToken" key. - message JwtValidation { - - // Specifies how to fetch JWKS from remote and how to cache it. - message RemoteJwks { - // The HTTP URI to fetch the JWKS. - string url = 1; - - // The frequency at which the JWKS should be refreshed. - // If not specified, the default value is 5 minutes. - google.protobuf.Duration refresh_interval = 2; + // A list of claims to be mapped from the JWT token received by ext-auth-service to an upstream destination + repeated ClaimToHeader claims_to_headers = 1; + } + + // Configuration specific to the client authentication type used to exchange the access code for the access and id tokens. + message ClientAuthentication { + // Client Secret Authentication requires a client secret (unless it is disabled) + message ClientSecret { + // your client secret as registered with the issuer. + // This is required unless `disable_client_secret` is true + core.solo.io.ResourceRef client_secret_ref = 1; + // If true, do not check for or use the client secret. + // Generally the client secret is required and AuthConfigs will be rejected if it isn't set. + // However certain implementations of the PKCE flow do not use a client secret (including Okta) so this setting allows configuring Oidc without a client secret. + google.protobuf.BoolValue disable_client_secret = 2; } - // Represents a locally available JWKS. - message LocalJwks { - // JWKS is embedded as a string. - string inline_string = 1; + // Private Key JWT Authentication requires a signing key for the JWT and an duration for the JWT to be valid. + message PrivateKeyJwt{ + // Signing key for the JWT used to authenticate the client + core.solo.io.ResourceRef signing_key_ref = 1; + // Amount of time for which the JWT is valid. No maximmum is enforced, but different IDPs may impose limits on how far in + // the future the expiration time is allowed to be. If omitted, default is 5s. + google.protobuf.Duration valid_for = 2; } - oneof jwks_source_specifier { - // Fetches the JWKS from a remote location. - RemoteJwks remote_jwks = 1; - // Loads the JWKS from a local data source. - LocalJwks local_jwks = 2; + // Configure how to authenticate the client + oneof client_authentication_config { + // Use the client secret method to authenticate the client + ClientSecret client_secret = 1; + // Use the private ket JWT method to authenticate the client + PrivateKeyJwt private_key_jwt = 2; } + } - // Allow only tokens that have been issued by this principal (i.e. whose "iss" claim matches this value). - // If empty, issuer validation will be skipped. - string issuer = 3; + ClientAuthentication client_authentication = 25; + + oneof Provider { + Default default = 26; + Azure azure = 27; } - // Defines how (opaque) access tokens, received from the oauth authorization endpoint, are validated - // [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) - // - // If the token introspection url requires client authentication, both the client_id and client_secret - // are required. If only one is provided, the config will be rejected. - // These values will be encoded in a basic auth header in order to authenticate the client. - message IntrospectionValidation { - // The URL for the [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) endpoint. - // If provided, the (opaque) access token provided or received from the oauth authorization endpoint - // will be validated against this endpoint, or locally cached responses for this access token. - string introspection_url = 1; - - // Your client id as registered with the issuer. - // Optional: Use if the token introspection url requires client authentication. - string client_id = 2; - - // Your client secret as registered with the issuer. - // Optional: Use if the token introspection url requires client authentication. - core.solo.io.ResourceRef client_secret_ref = 3; - - // The name of the [introspection response](https://tools.ietf.org/html/rfc7662#section-2.2) - // attribute that contains the ID of the resource owner (e.g. `sub`, `username`). - // If specified, the external auth server will use the value of the attribute as the identifier of the - // authenticated user and add it to the request headers and/or dynamic metadata (depending on how the - // server is configured); if the field is set and the attribute cannot be found, the request will be denied. - // This field is optional and by default the server will not try to derive the user ID. - string user_id_attribute_name = 4; + // No-op, represents default OIDC behavior + message Default {} + + // For apps in Microsoft Azure, configure Microsoft Entra ID as the OpenID Connect (OIDC) provider. + // This way, you can enable distibuted claims and caching for when users are members of more than 200 groups. + message Azure { + // The client ID for the ExtAuthService app that is registered in MS Entra, + // to access the Microsoft Graph API to retrieve distributed claims. + // This app is NOT the app that you want to configure external auth for. + string client_id = 1; + + // The tenant ID represents the MS Entra organization ID where the ExtAuthService app is registered. + // This tenant ID may or may not be the same as in the top level `OidcAuthorizationCodeConfig`, + // depending on how your Azure account is provisioned. + string tenant_id = 2; + + // The client secret of the ExtAuthService app that is registered with MS Entra to communciate with the MS Graph API. + core.solo.io.ResourceRef client_secret = 3; + + // Redis connection details to cache MS Entera claims. + // This way, you avoid performance issues of accessing the Microsoft Graph API too many times. + // Note that this setting does NOT turn on Redis caching for the user session. + // To turn on Redis user session caching, use the `userSessionConfig` field. + RedisOptions claims_caching_options = 4; } +} + +message PlainOAuth2 { + // Your client ID as registered with the issuer + string client_id = 1; + + // Your client secret as registered with the issuer. + // This is required unless `disable_client_secret` is set. + core.solo.io.ResourceRef client_secret_ref = 2; + + // Extra query parameters to apply to the Ext-Auth service's authorization request to the identity provider. + // These parameters can be useful for flows such as [PKCE](https://www.oauth.com/oauth2-servers/pkce/authorization-request/) + // to set the `code_challenge` and `code_challenge_method`. + map auth_endpoint_query_params = 3; + + // Where to redirect after successful auth, if Gloo can't determine the original URL. + // Set this field to your publicly available app URL. + string app_url = 4; + + // A callback path relative to the app URL to be used for OAuth2 callbacks. + // Do not use this path in the application itself. + string callback_path = 5; + + // Scopes to request for. + repeated string scopes = 6; + + // Configuration related to the user session. + UserSession session = 7; + + // A path relative to the app URL to use for logging out from an OAuth2 session. + // Do not use this path in the application itself. + // If not provided, logout functionality is disabled. + string logout_path = 8; + + // Extra query parameters to apply to the Ext-Auth service's token request to the identity provider. + // These parameters can be useful for flows such as [PKCE](https://www.oauth.com/oauth2-servers/pkce/authorization-request/) + // to set the `code_verifier`. + map token_endpoint_query_params = 9; + + // URL to redirect to after logout. + // Set this field to a publicly available URL. If not provided, this value defaults to the `app_url` value. + string after_logout_url = 10; + + // The URL of the provider authorization endpoint. + string auth_endpoint = 11; + + // The URL of the provider token endpoint. + string token_endpoint = 12; + + // The URL of the provider token revocation endpoint. + // For more information, refer to https://www.rfc-editor.org/rfc/rfc7009. + string revocation_endpoint = 13; + // If true, do not check for or use the client secret. + // Generally the client secret is required and AuthConfigs will be rejected if it isn't set. + // However certain implementations of the PKCE flow do not use a client secret (including Okta) so this setting allows configuring Oauth2 without a client secret. + google.protobuf.BoolValue disable_client_secret = 14; +} + +// Defines how JSON Web Token (JWT) access tokens are validated. +// +// Tokens are validated using a JSON Web Key Set (as defined in +// [Section 5 of RFC7517](https://tools.ietf.org/html/rfc7517#section-5)), +// which can be either inlined in the configuration or fetched from a remote location via HTTP. +// Any keys in the JWKS that are not intended for signature verification (i.e. whose +// ["use" parameter](https://tools.ietf.org/html/rfc7517#section-4.2) is not "sig") +// will be ignored by the system, as will keys that do not specify a +// ["kid" (Key ID) parameter](https://tools.ietf.org/html/rfc7517#section-4.2). +// +// The JWT to be validated must define non-empty "kid" and "alg" headers. The "kid" header +// determines which key in the JWKS will be used to verify the signature of the token; +// if no matching key is found, the token will be rejected. +// +// If present, the server will verify the "exp", "iat", and "nbf" standard JWT claims. +// Validation of the "iss" claim and of token scopes can be configured as well. +// If the JWT has been successfully validated, its set of claims will be added to the +// `AuthorizationRequest` state under the "jwtAccessToken" key. +message JwtValidation { + + // Specifies how to fetch JWKS from remote and how to cache it. + message RemoteJwks { + // The HTTP URI to fetch the JWKS. + string url = 1; + + // The frequency at which the JWKS should be refreshed. + // If not specified, the default value is 5 minutes. + google.protobuf.Duration refresh_interval = 2; + } + + // Represents a locally available JWKS. + message LocalJwks { + // JWKS is embedded as a string. + string inline_string = 1; + } + + oneof jwks_source_specifier { + // Fetches the JWKS from a remote location. + RemoteJwks remote_jwks = 1; + // Loads the JWKS from a local data source. + LocalJwks local_jwks = 2; + } + + // Allow only tokens that have been issued by this principal (i.e. whose "iss" claim matches this value). + // If empty, issuer validation will be skipped. + string issuer = 3; +} + +// Defines how (opaque) access tokens, received from the oauth authorization endpoint, are validated +// [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) +// +// If the token introspection url requires client authentication, both the client_id and client_secret +// are required. Unless disable_client_secret is set, when only one is provided, the config will be rejected. +// These values will be encoded in a basic auth header in order to authenticate the client. +message IntrospectionValidation { + // The URL for the [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) endpoint. + // If provided, the (opaque) access token provided or received from the oauth authorization endpoint + // will be validated against this endpoint, or locally cached responses for this access token. + string introspection_url = 1; + + // Your client id as registered with the issuer. + // Optional: Use if the token introspection url requires client authentication. + string client_id = 2; + + // Your client secret as registered with the issuer. + // Optional: Use if the token introspection url requires client authentication. + core.solo.io.ResourceRef client_secret_ref = 3; + + // The name of the [introspection response](https://tools.ietf.org/html/rfc7662#section-2.2) + // attribute that contains the ID of the resource owner (e.g. `sub`, `username`). + // If specified, the external auth server will use the value of the attribute as the identifier of the + // authenticated user and add it to the request headers and/or dynamic metadata (depending on how the + // server is configured); if the field is set and the attribute cannot be found, the request will be denied. + // This field is optional and by default the server will not try to derive the user ID. + string user_id_attribute_name = 4; + + // Allows setting a client id but not a client secret. + google.protobuf.BoolValue disable_client_secret = 5; + +} + +message AccessTokenValidation { oneof validation_type { // The URL for the [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) endpoint. @@ -574,7 +956,7 @@ message AccessTokenValidation { string introspection_url = 1 [deprecated = true]; // Validate access tokens that conform to the - // [JSON Web Token (JWT)](https://tools.ietf.org/html/rfc7519) specification. + // [JSON Web Token (JWT)](https://datatracker.ietf.org/doc/rfc7662/) specification. JwtValidation jwt = 2; // Defines how (opaque) access tokens, received from the oauth authorization endpoint, are validated @@ -610,6 +992,17 @@ message AccessTokenValidation { // in the future we may add other types of scope validation (e.g. predicate matching) } + // Map of metadata key to claim. Ie: + // dynamic_metadata_from_claims: + // issuer: iss + // email: email + // When specified, the matching claims from the access token will be emitted as dynamic metadata. + // Note that metadata keys must be unique, and the claim names must be alphanumeric and use `-` or `_` as separators. + // Works when the access token is a JWT or when the access token is opaque, in which case the claims will refer to field in the response from the token introspection endpoint. + // The metadata will live in a namespace specified by the canonical name of the ext auth filter (in our case `envoy.filters.http.ext_authz`), + // and the structure of the claim value will be preserved in the metadata struct. + map dynamic_metadata_from_claims = 7; + message ScopeList { repeated string scope = 1; } @@ -619,57 +1012,202 @@ message OauthSecret { string client_secret = 1; } +// Defines how API keys are validated. +// +// When the provided API key token has been successfully validated, it's token will be +// added to the `AuthorizationRequest` state under the "api_key_value" key name. message ApiKeyAuth { - // Identify all valid API key secrets that match the provided label selector.
+ // DEPRECATED: use K8sSecretApiKeyStorage to configure secrets storage backend. Values here + // will be overwritten if values are specified in the storage backend. + // Identify all valid API key secrets that match the provided label selector. // API key secrets must be in one of the watch namespaces for gloo to locate them. - map label_selector = 1; + map label_selector = 1 [deprecated = true]; + // DEPRECATED: use K8sSecretApiKeyStorage to configure secrets storage backend. Values here + // will be overwritten if values are specified in the storage backend. // A way to directly reference API key secrets. This configuration can be useful for testing, // but in general the more flexible label selector should be preferred. - repeated core.solo.io.ResourceRef api_key_secret_refs = 2; + repeated core.solo.io.ResourceRef api_key_secret_refs = 2 [deprecated = true]; // When receiving a request, the Gloo Edge Enterprise external auth server will look for an API key in a header // with this name. This field is optional; if not provided it defaults to `api-key`. string header_name = 3; - // API key secrets might contain additional data (e.g. the ID of the user that the API key belongs to) - // in the form of extra keys included in the secret's `data` field. + // DEPRECATED: use headers_from_metadata_entry + map headers_from_metadata = 4 [deprecated = true]; + + // API key structures might contain additional data (e.g. the ID of the user that the API key belongs to) + // in the form of extra fields included in the API key metadata structure. // This configuration can be used to add this data to the headers of successfully authenticated requests. // Each key in the map represents the name of header to be added; the corresponding value determines the key - // in the secret data that will be inspected to determine the value for the header. - map headers_from_metadata = 4; + // in the API key metadata structure that will be inspected to determine the value for the header. + // + // When the provided API key token has been successfully validated, and this field has been configured, then + // any extra API key metadata fields that were able to be discovered will be added to the `AuthorizationRequest` + // state under the key name that was configured. For example, using the `x-user-name` string as the header name, + // and referencing an existing "user-email" API key metadata entry will result in the value of this "user-email" + // metadata entry being accessable in other auth modules in the `AuthorizationRequest.State["x-user-name"]` key. + // This behavior allows other modules (e.g. OPA) to build more powerful rules to further validate the contents + // of the extra API key metadata than what's possible using the standalone API key module. + map headers_from_metadata_entry = 5; + + oneof storage_backend { + K8sSecretApiKeyStorage k8s_secret_apikey_storage = 6; + AerospikeApiKeyStorage aerospike_apikey_storage = 7; + } + // DEPRECATED: use generalized MetadataEntry message SecretKey { - // (Required) The key of the secret data entry to inspect. + // DEPRECATED + // (Required) The key of the API key metadata entry to inspect. + string name = 1; + // DEPRECATED + // If this field is set to `true`, Gloo will reject an API key structure that does not contain data for the given key. + // Defaults to `false`. In this case, if an API key structure does not contain the requested data, no header will be added + // to the request. + bool required = 2; + } + + // For the K8s secret backend, this data is stored as key-value data in the secret itself. + // For the Aerospike backend, this data is stored as bins on the key's record + message MetadataEntry { + // (Required) The key of the API key metadata entry to inspect. string name = 1; - // If this field is set to `true`, Gloo will reject an API key secret that does not contain the given key. - // Defaults to `false`. In this case, if a secret does not contain the requested data, no header will be added + // If this field is set to `true`, Gloo will reject an API key structure that does not contain data for the given key. + // Defaults to `false`. In this case, if an API key structure does not contain the requested data, no header will be added // to the request. bool required = 2; } } +message K8sSecretApiKeyStorage { + // Identify all valid API key secrets that match the provided label selector.
+ // API key secrets must be in one of the watch namespaces for gloo to locate them. + map label_selector = 1; + + // A way to directly reference API key secrets. This configuration can be useful for testing, + // but in general the more flexible label selector should be preferred. + repeated core.solo.io.ResourceRef api_key_secret_refs = 2; +} + +message AerospikeApiKeyStorage { + // The IP address or hostname of one of the cluster members of your Aerospike database. The address must be reachable from Gloo Edge, such as in a virtual machine with a public IP address or in a pod in the cluster. + // The client automatically discovers other members of the cluster after establishing a connection. + string hostname = 1; + // The Aerospike namespace of the database. Defaults to "solo-namespace". + string namespace = 2; + // The Aerospike set to use for storage of API keys. Defaults to "apikeys". + string set = 3; + // The port on which to connect to the Aerospike server. Defaults to 3000. + int32 port = 4; + // The size of the batch, which is the number of keys sent in the request. Defaults to 5000. + int32 batch_size = 5; + + // The write settings for guaranteed consistency when committing a transaction on the Aerospike server. For more information, see the [Aerospike commit policy](https://github.com/aerospike/aerospike-client-go/blob/master/commit_policy.go). + // Defaults to "commit_all". + oneof commit_level { + // "commit_all" indicates that the server waits until successfully committing the master and all replicas. + uint32 commit_all = 6; + // "commit_master" indicates that the server waits until successfully committing the master only. + uint32 commit_master = 7; + } + + // The read settings for strong consistency (SC). For possible values, see the [Aerospike read mode SC](https://github.com/aerospike/aerospike-client-go/blob/master/read_mode_sc.go). + // Defaults to "read_mode_sc_session". + readModeSc read_mode_sc = 8; + message readModeSc { + oneof read_mode_sc { + // The session ensures this client sees only an increasing sequence of record versions. + // Server reads only from master, which is the default. + uint32 read_mode_sc_session = 1; + // "linearize" ensures that ALL clients see only an increasing sequence of record versions. + // "server" reads only from master. + uint32 read_mode_sc_linearize = 2; + + // "replica" indicates that the server can read from master or any full (non-migrating) replica. + // An increasing sequence of record versions is not guaranteed. + uint32 read_mode_sc_replica = 3; + + // "allow_unavailable" indicates that the server can read from master or any full (non-migrating) replica or from unavailable + // partitions. An increasing sequence of record versions is not guaranteed. + uint32 read_mode_sc_allow_unavailable = 4; + } + } + + // The read settings for availability (AP). For possible values, see the [Aerospike read mode AP](https://github.com/aerospike/aerospike-client-go/blob/master/read_mode_ap.go). + // Defaults to "read_mode_ap_one". + readModeAp read_mode_ap = 9; + message readModeAp { + oneof read_mode_ap { + // "one" indicates that a single node is involved in the read operation. + uint32 read_mode_ap_one = 1; + + // "all" indicates that all duplicate nodes are consulted in + // the read operation. + uint32 read_mode_ap_all = 2; + } + } + + // TLS settings to enable mutual TLS (mTLS) on the server side. These configuration options must match what you configured in your Aerospike setup. For more information, see the Aerospike [security](https://docs.aerospike.com/server/guide/security/tls) and [network TLS](https://docs.aerospike.com/server/operations/configure/network/tls) guides. + // The subject name of the TLS authority. For more information, see the [Aerospike docs](https://docs.aerospike.com/reference/configuration#tls-name). + string node_tls_name = 10; + // The path to the TLS certfiicate. + string cert_path = 11; + // The path to the key. + string key_path = 12; + // The TLS insecure setting. If set to `true`, the authority of the certificate on the client's end is not authenticated. You might use insecure mode in non-production environments when the certificate is not known. + bool allow_insecure = 13; + // If the root certificate authority (CA) is not set, add the system certs by default. + string root_ca_path = 14; + // The TLS version. Versions 1.0, 1.1, 1.2, and 1.3 are supported. Defaults to 1.3 + string tls_version = 15; + // The TLS identifier for an elliptic curve. For more information, see [TLS supported groups](https://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-8). + repeated tlsCurveID tls_curve_groups = 16; + message tlsCurveID { + oneof curve_id { + uint32 curve_p256 = 1; + uint32 curve_p384 = 2; + uint32 curve_p521 = 3; + uint32 x_25519 = 4; + } + } + + // Identify the set of required labels (key/value) which an Aerospike secret must contain + // If a secret contains the provided set of labels, it will be considered valid when authorizing an ApiKey provided in a request + map label_selector = 17; +} +message ApiKey { + // The string value of the API key. + string api_key = 2; + // A list of labels (key=value) for the apikey secret. + // These labels are used by the storage driver to facilitate lookups by label + repeated string labels = 3; + // additional data the client needs associated with this API key + map metadata = 4; + // Optional: Unique identifier for the API key + string uuid = 5; +} + +// DEPRECATED: use ApiKey message ApiKeySecret { - // If true, generate an API key. - // This field is deprecated as it was used only internally by `glooctl` and is not actually part of the secret API. - bool generate_api_key = 1 [deprecated = true]; - // The value of the API key. + // The string value of the API key. string api_key = 2; - // A list of labels (key=value) for the apikey secret.
- // These labels are used when creating an ApiKeySecret via `glooctl` and then are copied to the metadata of the created secret. - // This field is deprecated as it was used only internally by `glooctl` and is not actually part of the secret API. - repeated string labels = 3 [deprecated = true]; - // If the secret data contains entries in addition to the API key one, they will be copied to this field. + // A list of labels (key=value) for the apikey secret. + // These labels are used by the storage driver to facilitate lookups by label + repeated string labels = 3; + // additional data the client needs associated with this API key map metadata = 4; } +// Enforce Open Policy Agent (OPA) policies in Gloo Edge environments. +// For Gloo Platform environments, use OpaServerAuth instead. message OpaAuth { // An optional resource reference to config maps containing modules to assist in the resolution of `query`. repeated core.solo.io.ResourceRef modules = 1; - // The query that determines the auth decision. The result of this query must be either a boolean - // or an array with boolean as the first element. A boolean `true` value means that the request - // will be authorized. Any other value, or error, means that the request will be denied. + // The query that determines the auth decision. The result of this query + // must be either a boolean or an array with boolean as the first element. A boolean `true` value means that + // the request will be authorized. Any other value, or error, means that the request will be denied. string query = 2; // Additional Options for Opa Auth configuration. @@ -677,11 +1215,48 @@ message OpaAuth { } message OpaAuthOptions { - // Decreases OPA latency by speeding up conversion of input to the OPA engine. - // If this is set to true, only http_request and state fields which are a scalar, map, or string array - // are included in the request input. All other fields are dropped. Dropped fields will not be evaluated by the OPA engine. + // Decreases OPA latency by speeding up conversion of input to the OPA engine. + // If this is set to true, only http_request and state fields which are a scalar, map, or string array + // are included in the request input. All other fields are dropped. Dropped fields will not be evaluated by the OPA engine. // By default, this is set to false and all fields are evaluated by OPA. bool fast_input_conversion = 1; + + // DEPRECATED: It's recommended to use the `dynamic_metadata` field within Rego policies to specify the decision reason. To learn more about this approach, see the [OPA Envoy Plugin docs](https://github.com/open-policy-agent/opa/blob/c12463c/docs/content/envoy-primer.md#example-policy-with-additional-controls). + // + // When `returnDecisionReason` is set to true, the decision reason is stored in the Envoy Dynamic Metadata and has the following properties:
    + //
  • `body` - a textual explanation of the decision
  • + //
  • `allowed` - whether the request was allowed or rejected
+ // + // When using OpaAuth, the `body` field must be the second parameter of the query. + // + // Both the OpaAuth and OpaServerAuth approaches use the `allowed` and `body` values from the OPA response in the decision reason. + // You can find the `body` and `allowed` fields in the Envoy Filter Dynamic Metadata under the `envoy.filters.http.ext_authz..reason` section. + // + // If, however, `returnDecisionReason` is set to false, OPA's decision to allow or reject a request is made according to the Rego policy rules, and no explanation is provided. + // Despite of this, the `dynamic_metadata` field can still be used to convey any necessary information to the Envoy Dynamic Metadata, including the decision reason. + bool return_decision_reason = 2; +} + +// Enforce Open Policy Agent (OPA) policies through an OPA sidecar as part of the external +// auth server in Gloo Platform environments. For Gloo Edge environments, use OpaAuth instead. +message OpaServerAuth { + // The package from your Rego policy bundle used to query the OPA data API. + string package = 1; + + // The rule in your Rego policy bundle used to query the OPA data API. Supports querying subfields with a `/`. For more information, see the [OPA docs for the Data API](https://www.openpolicyagent.org/docs/latest/rest-api/#data-api). + string rule_name = 2; + + // The address of the OPA server to query, in the format `ADDRESS:PORT`. + // For OPA servers within the cluster, the address is the pod's service address, + // such as `default.svc.cluster.local:8181`. For OPA servers outside the cluster, + // the server must be accessible to the cluster, such as through an ExternalService. + // If you do not have your own OPA server instance, omit this field. + // When the external auth service has the OPA server sidecar enabled, the OPA server + // sidecar will be used instead. + string server_addr = 3; + + // Additional options for OPA Auth configuration. + OpaAuthOptions options = 4; } // Authenticates and authorizes requests by querying an LDAP server. Gloo makes the following assumptions: @@ -692,7 +1267,7 @@ message OpaAuthOptions { message Ldap { // Configuration properties for pooling connections to the LDAP server. If the pool is exhausted when a connection - // is requested (meaning that all the polled connections are in use), the connection will be created on the fly. + // is requested (meaning that all the pooled connections are in use), the connection will be created on the fly. message ConnectionPool { // Maximum number connections that are pooled at any give time. The default value is 5. google.protobuf.UInt32Value maxSize = 1; @@ -720,18 +1295,41 @@ message Ldap { // Use this property to tune the pool of connections to the LDAP server that Gloo maintains. ConnectionPool pool = 5; + + // Use to set a custom filter when searching a member. Defaults to "(uid=*)". + string searchFilter = 6; + + // Disables group checking, regardless of the value for allowedGroups, + // and disables validation for the membership attribute of the user entry. + // Group checking is enabled by default. + bool disable_group_checking = 7; + + // Settings for using a separate service account for looking up group membership + // To use this, you also need to configure credentials in a secret + LdapServiceAccount group_lookup_settings = 8; } +message LdapServiceAccount { + // Reference to an AccountCredentialsSecret to use to authenticate as the service account + core.solo.io.ResourceRef credentials_secret_ref = 1; + // If true, Gloo will use the service account to check group membership + bool check_groups_with_service_account = 2; +} // Authorizes requests by querying a custom extauth server. message PassThroughAuth { oneof protocol { PassThroughGrpc grpc = 1; + PassThroughHttp http = 2; } // Custom config to be passed per request to the passthrough auth service. google.protobuf.Struct config = 4; + // If set to true, the service will accept client request even if the communication with + // the authorization service has failed, or if the authorization service has returned a server error. + // Defaults to false. + bool failure_mode_allow = 5; } // Authorizes requests by querying a custom extauth grpc server @@ -744,11 +1342,123 @@ message PassThroughGrpc { // Timeout for the auth server to respond. Defaults to 5s google.protobuf.Duration connection_timeout = 2; + + // TLS config for the Grpc passthrough, if not configured the connection will use insecure. + PassThroughGrpcTLSConfig tlsConfig =3; +} +// TLS configuration for the extauth grpc passthrough connection +message PassThroughGrpcTLSConfig { +} + +// Authorizes requests by making a POST HTTP/1 request to a custom HTTP auth server +// Assumes the request is authorized if the server returns a OK (200) status code, +// else the request is unauthorized. +message PassThroughHttp { + // Required: URL of the passthrough http service, is a fully qualified domain name. + // Example: http://ext-auth-service.svc.local:9001. Path provided in the URL will be respected. + // To use https, provide the cert in the HTTPS_PASSTHROUGH_CA_CERT environment variable to the ext-auth-service + // pod as a base64-encoded string + string url = 1; + + /* The passthrough http request can be configured to pass through the incoming request body, + the ext-auth state (which is shared between different auth methods within one ext-auth instance), and + the [filterMetadata](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/data_sharing_between_filters#metadata) + The body of the passthrough auth request will be a JSON as follows: + { + "body" : string, + "state": object (map[string]interface{}), + "filterMetadata": object (map[string]protobuf.Struct), + "config": object (protobuf.Struct), + } + `config` is the struct block specified under the passthrough auth configuration. + If `passthrough_body`, `passthrough_state`, `passthrough_filter_metadata`, and `config` are all false/nil, + the body of the auth request will remain empty. Setting any of these will increase latency slightly due to + JSON marshalling. + + */ + message Request { + // These headers will be copied from the incoming request to the request going + // to the auth server. By default, no headers are copied from the incoming request. + // Pseudo-headers such as `:Path`, and `:Method` can not be specified here. + repeated string allowed_headers = 1; + + // These headers that will be included to the request to authorization service. Note that + // client request of the same key will be overridden. + // Pseudo-headers such as `:Path`, and `:Method` can not be specified here. + map headers_to_add = 2; + + // Whether or not to include the ext-auth state object in the passthrough request body. + // If this is set to true, it is expected that the state is returned in the HTTP response from the + // passthrough service. The state received from the response will be the state that is shared with + // other ext-auth service methods. + // If pass_through_body, pass_through_filter_metadata and pass_through_state are false, + // the authorization request body will be empty. A non-empty body will increase latency times + // slightly, so this is set to false by default, and should only be set to to true if the + // extauth state is needed in the auth request. + bool pass_through_state = 3; + + // Whether or not to include the filter metadata in the passthrough request body. + // If pass_through_body, pass_through_filter_metadata and pass_through_state are false, + // the authorization request body will be empty. A non-empty body will increase latency times + // slightly, so this is set to false by default, and should only be set to to true if the + // filter metadata is needed in the auth request. + bool pass_through_filter_metadata = 4; + + // Whether or not to include the body in the passthrough request body. + // In order for this to work, the settings.extauth.requestBody must be set in the Gloo Edge Settings CRD so that + // the request body is buffered and sent to the ext-auth service. + // If pass_through_body, pass_through_filter_metadata and pass_through_state are false, + // the authorization request body will be empty. A non-empty body will increase latency times + // slightly, so this is set to false by default, and should only be set to to true if the + // request body is needed in the auth request. + bool pass_through_body = 5; + } + // Pass through the incoming request body, ext auth state, and filter metadata. + // For more information, see the [PassThrough Http Request description](#request-1). + Request request = 3; + + message Response { + // When this is set, authorization response headers that have a header in this list will be added to the original client request and sent to the upstream + // when the auth request is successful. These will be appended to any request headers that already exist. + // If this and allowed_upstream_headers_to_overwrite are empty, by default, no authorization response headers will be added to the upstream request. + // Header names may not be included in both allowed_upstream_headers and allowed_upstream_headers_to_overwrite. + repeated string allowed_upstream_headers = 1; + + // When this is set, authorization response headers in this list will be added to the response to the downstream client when the auth request is denied. + // If the response header already exists, it will replace the response header. + // If this is empty, by default, no authorization response headers will be added to the response to the downstream client. + repeated string allowed_client_headers_on_denied = 2; + + // If this is set to true, the body of the response from the http passthrough auth server is expected to have shape + // { + // "state": object (map[string]interface{}) + // } + // The state will be marshalled from the response body and this is the state that will be passed on to other auth configs. + // Because of the marshalling from JSON to Go map, this will add some latency to the request. + // If the marshalling fails, the authorization check will fail and the request will be unauthorized after the ext-auth-service pod + // logs the marshal error. + bool read_state_from_response = 3; + + // When this is set, authorization response headers that have a header in this list will be added to the original client request and sent to the upstream + // when the auth request is successful. These will overwrite to any request headers that already exist. + // If this and allowed_upstream_headers are empty, by default, no authorization response headers will be added to the upstream request. + // Header names may not be included in both allowed_upstream_headers and allowed_upstream_headers_to_overwrite. + repeated string allowed_upstream_headers_to_overwrite = 4; + } + // Pass through response information such as the headers and body to downstream clients. + // For more information, see the [PassThrough Http Response description](#response-1). + Response response = 4; + + // Timeout for the auth server to respond. Defaults to 5s + google.protobuf.Duration connection_timeout = 8; } /* @solo-kit:xds-service=ExtAuthDiscoveryService @solo-kit:resource.no_references + +This is an internal API used to share configuration between gloo-ee and extauth. Although this API is only used in gloo-ee, +rules about breaking changes still apply to ensure we do not get errors during upgrade and downgrade. */ message ExtAuthConfig { @@ -758,6 +1468,44 @@ message ExtAuthConfig { // which AuthConfig should be applied to it. string auth_config_ref_name = 1; + // Message to store Basic Auth Configuration. + // "Internal" refers to this format allowing for selection of the hashing algorithm and user source. + // If only the legacy "apr" field is defined, the existing public BasicAuth configuration will continue be used. + message BasicAuthInternal { + // Realm to use in the Basic Auth challenge. + string realm = 1; + + // Selection of hashing algorithms to use for password hashing. + message EncryptionType { + message Sha1 {} + message Apr {} + oneof algorithm { + Apr apr = 1; + Sha1 sha1 = 2; + } + } + + // Hashing algorithm to use for password hashing. + EncryptionType encryption = 2; + + // To authenticate a user we need the salt and hashed password. The username is expected to be the key in a map of Users. + message User { + string salt = 1; + string hashed_password = 2; + } + + // Map of valid usernames to stored credentials + message UserList { + map users= 1; + } + + // Source of user credential data. + oneof user_source { + UserList user_list = 3; + } + } + + // Deprecated, prefer OAuth2Config message OAuthConfig { // your client id as registered with the issuer @@ -786,12 +1534,33 @@ message ExtAuthConfig { } - message OidcAuthorizationCodeConfig { + message UserSessionConfig { + // should we fail auth flow when failing to get a session from redis, or allow it to continue, + // potentially starting a new auth flow and setting a new session. + bool fail_on_fetch_failure = 1; + // Set-Cookie options + UserSession.CookieOptions cookie_options = 2; + oneof session { + // Set the tokens in the cookie itself. No need for server side state. + UserSession.InternalSession cookie = 3; + // Use redis to store the tokens and just store a random id in the cookie. + UserSession.RedisSession redis = 4; + } + message CipherConfig { + // to enable the cipher encryption, the key has to be present. + // Note that the key has to be found and 32 bytes in length for the authconfig to not be rejected. + string key = 1 [(extproto.sensitive) = true]; + } + // the cipher config enables the symmetric key encryption of the cookie values of the user session. + CipherConfig cipher_config = 5; + } + message OidcAuthorizationCodeConfig { // your client id as registered with the issuer string client_id = 1; - // your client secret as registered with the issuer + // your client secret as registered with the issuer. + // Only one of client_secret or pk_jwt_client_authentication_config should be set. pk_jwt_client_authentication_config takes precedence. string client_secret = 2 [(extproto.sensitive) = true]; // The url of the issuer. We will look for OIDC information in issuerUrl+ @@ -828,7 +1597,8 @@ message ExtAuthConfig { // scopes to request in addition to the openid scope. repeated string scopes = 7; - UserSession session = 8; + // DEPRECATED: use userSessionConfig [userSession] + UserSession session = 8 [deprecated = true]; // Configures headers added to requests. HeaderConfiguration headers = 10; @@ -877,6 +1647,96 @@ message ExtAuthConfig { // If set, the randomly generated session id will be sent to the token endpoint as part of the code exchange // The session id is used as the key for sessions in Redis string session_id_header_name = 16; + + // If set, CallbackPath will be evaluated as a regular expression + bool parse_callback_path_as_regex = 17; + + // If specified, authEndpointQueryParams and tokenEndpointQueryParams will be populated using dynamic metadata values. + // By default parameters will be extracted from the solo_authconfig_oidc namespace + // this behavior can be overridden by explicitly specifying a namespace + AutoMapFromMetadata auto_map_from_metadata = 18; + + // If specified, these are properties defined for the end session endpoint + // specifications. Noted [here](https://openid.net/specs/openid-connect-rpinitiated-1_0.html) + // in the OIDC documentation. + EndSessionProperties end_session_properties = 19; + + // Configuration related to the user session. + UserSessionConfig user_session = 20; + + // Fields for private key JWT Client Authentication. + message PkJwtClientAuthenticationConfig{ + // Signing key for the JWT used for client authentication + string signing_key = 1 [(extproto.sensitive) = true]; + // Amount of time for which the JWT is valid. No maximmum is enforced, but different IDPs may impose limits on how far in + // the future the expiration time is allowed to be. Defaults in 5s in front end, but expected to be set explictly here + google.protobuf.Duration valid_for = 2; + } + + // Configuration for private key JWT client authentication. + // Only one of client_secret or pk_jwt_client_authentication_config should be set. pk_jwt_client_authentication_config takes precedence. + PkJwtClientAuthenticationConfig pk_jwt_client_authentication_config = 21; + + // Map a single claim from an OAuth2 or OIDC token to a header in the request to the upstream destination. + message ClaimToHeader { + // The claim name from the token, such as `sub`. + string claim = 1; + + // The header to copy the claim to, such as `x-sub`. + string header = 2; + + // If the header exists, append the claim value to the header (true), or overwrite any existing value (false). The default behavior is to overwrite any existing value (false). + bool append = 3; + } + + // Optional: Configuration specific to the OAuth2 access token received and processed by the ext-auth-service. + AccessToken access_token = 22; + + // Optional: Configuration specific to the OIDC identity token received and processed by the ext-auth-service. + IdentityToken identity_token = 23; + + // Optional: Map a single claim from an OAuth2 access token to a header in the request to the upstream destination. + message AccessToken { + // A list of claims to be mapped from the JWT token received by ext-auth-service to an upstream destination + repeated ClaimToHeader claims_to_headers = 1; + } + + // Optional: Map a single claim from an OIDC identity token to a header in the request to the upstream destination. + message IdentityToken { + // A list of claims to be mapped from the JWT token received by ext-auth-service to an upstream destination + repeated ClaimToHeader claims_to_headers = 1; + } + + oneof Provider { + Default default = 26; + Azure azure = 27; + } + + // No-op, represents default OIDC behavior + message Default {} + + // For apps in Microsoft Azure, configure Microsoft Entra ID as the OpenID Connect (OIDC) provider. + // This way, you can enable distibuted claims and caching for when users are members of more than 200 groups. + message Azure { + // The client ID for the ExtAuthService app that is registered in MS Entra, + // to access the Microsoft Graph API to retrieve distributed claims. + // This app is NOT the app that you want to configure external auth for. + string client_id = 1; + + // The tenant ID represents the MS Entra organization ID where the ExtAuthService app is registered. + // This tenant ID may or may not be the same as in the top level `OidcAuthorizationCodeConfig`, + // depending on how your Azure account is provisioned. + string tenant_id = 2; + + // The client secret of the ExtAuthService app that is registered with MS Entra to communciate with the MS Graph API. + string client_secret = 3 [(extproto.sensitive) = true]; + + // Redis connection details to cache MS Entera claims. + // This way, you avoid performance issues of accessing the Microsoft Graph API too many times. + // Note that this setting does NOT turn on Redis caching for the user session. + // To turn on Redis user session caching, use the `userSessionConfig` field. + RedisOptions claims_caching_options = 4; + } } message AccessTokenValidationConfig { @@ -955,6 +1815,7 @@ message ExtAuthConfig { // server is configured); if the field is set and the attribute cannot be found, the request will be denied. // This field is optional and by default the server will not try to derive the user ID. string user_id_attribute_name = 4; + } oneof validation_type { @@ -965,7 +1826,7 @@ message ExtAuthConfig { string introspection_url = 1 [deprecated = true]; // Validate access tokens that conform to the - // [JSON Web Token (JWT)](https://tools.ietf.org/html/rfc7519) specification. + // [JSON Web Token (JWT)](https://datatracker.ietf.org/doc/rfc7662/) specification. JwtValidation jwt = 2; // Defines how (opaque) access tokens, received from the oauth authorization endpoint, are validated @@ -1006,6 +1867,60 @@ message ExtAuthConfig { } } + message PlainOAuth2Config { + // Your client ID as registered with the issuer + string client_id = 1; + + // Your client secret as registered with the issuer + string client_secret = 2 [(extproto.sensitive) = true]; + + // Extra query parameters to apply to the Ext-Auth service's authorization request to the identity provider. + // These parameters can be useful for flows such as [PKCE](https://www.oauth.com/oauth2-servers/pkce/authorization-request/) + // to set the `code_challenge` and `code_challenge_method`. + map auth_endpoint_query_params = 3; + + // Where to redirect after successful auth, if Gloo can't determine the original URL. + // Set this field to your publicly available app URL. + string app_url = 4; + + // A callback path relative to the app URL to be used for OAuth2 callbacks. + // Do not use this path in the application itself. + string callback_path = 5; + + // Scopes to request for. + repeated string scopes = 6; + + // DEPRECATED: use userSessionConfig [userSession] + UserSession session = 7 [deprecated = true]; + + // A path relative to the app URL to use for logging out from an OAuth2 session. + // Do not use this path in the application itself. + // If not provided, logout functionality is disabled. + string logout_path = 8; + + // Extra query parameters to apply to the Ext-Auth service's token request to the identity provider. + // These parameters can be useful for flows such as [PKCE](https://www.oauth.com/oauth2-servers/pkce/authorization-request/) + // to set the `code_verifier`. + map token_endpoint_query_params = 9; + + // URL to redirect to after logout. + // Set this field to a publicly available URL. If not provided, this value defaults to the `app_url` value. + string after_logout_url = 10; + + // The URL of the provider authorization endpoint. + string auth_endpoint = 11; + + // The URL of the provider token endpoint. + string token_endpoint = 12; + + // The URL of the provider token revocation endpoint. + // For more information, refer to https://www.rfc-editor.org/rfc/rfc7009. + string revocation_endpoint = 13; + + // Configuration related to the user session. + UserSessionConfig user_session = 14; + } + message OAuth2Config { reserved 2; @@ -1022,6 +1937,12 @@ message ExtAuthConfig { // - URI query parameter e.g. access_token=mytoken123 // - and (preferably) secure cookies AccessTokenValidationConfig access_token_validation_config = 3; + + // Enterprise-Only: THIS FEATURE IS IN TECH PREVIEW. APIs are versioned as alpha and subject to change. + // provide issuer location and let Gloo handle Oauth2 flow for you. + // requests authorized by validating the contents of access token. + // Prefer to use OIDC for better security. + PlainOAuth2Config oauth2_config = 4; } } @@ -1029,14 +1950,15 @@ message ExtAuthConfig { message ApiKeyAuthConfig { message KeyMetadata { - // The user is mapped as the name of `Secret` which contains the `ApiKeySecret` + // The user is mapped as the name of `Secret` which contains the `ApiKey` string username = 1; - // The metadata present on the `ApiKeySecret`. + // The metadata present on the `ApiKey`. map metadata = 2; } // A mapping of valid API keys to their associated metadata. - // This map is automatically populated with the information from the relevant `ApiKeySecret`s. + // This map is automatically populated with the information from the relevant `ApiKey`s. + // Currently this is only configured when using the k8s Secret storage backend map valid_api_keys = 1 [(extproto.sensitive) = true]; // (Optional) When receiving a request, the Gloo Edge Enterprise external auth server will look for an API key @@ -1047,21 +1969,93 @@ message ExtAuthConfig { // Each entry represents a header to add: the key is the name of the header, and the // value is the key that will be used to look up the data entry in the key metadata. map headers_from_key_metadata = 3; + + oneof storage_backend { + K8sSecretApiKeyStorage k8s_secret_apikey_storage = 4; + AerospikeApiKeyStorage aerospike_apikey_storage = 5; + } } message OpaAuthConfig { // An optional modules (filename, module content) maps containing modules assist in the resolution of `query`. map modules = 1; - // The query that determines the auth decision. The result of this query must be either a boolean - // or an array with boolean as the first element. A boolean `true` value means that the request - // will be authorized. Any other value, or error, means that the request will be denied. + // The query that determines the auth decision. The result of this query + // must be either a boolean or an array with boolean as the first element. A boolean `true` value means that + // the request will be authorized. Any other value, or error, means that the request will be denied. string query = 2; // Additional Options for Opa Auth configuration. OpaAuthOptions options = 3; } + // Enforce Open Policy Agent (OPA) policies through an OPA sidecar as part of the external auth server in Gloo Platform environments. For Gloo Edge environments, use OpaAuth instead. + message OpaServerAuthConfig { + string package = 1; + + string rule_name = 2; + + string server_addr = 3; + + OpaAuthOptions options = 4; + } + + message LdapConfig { + + // Address of the LDAP server to query. Should be in the form ADDRESS:PORT, e.g. `ldap.default.svc.cluster.local:389`. + string address = 1; + + // Template to build user entry distinguished names (DN). This must contains a single occurrence of the "%s" placeholder. + // When processing a request, Gloo will substitute the name of the user (extracted from the auth header) for the + // placeholder and issue a search request with the resulting DN as baseDN (and 'base' search scope). + // E.g. "uid=%s,ou=people,dc=solo,dc=io" + string userDnTemplate = 2; + + // Case-insensitive name of the attribute that contains the names of the groups an entry is member of. Gloo will look + // for attributes with the given name to determine which groups the user entry belongs to. Defaults to 'memberOf' if not provided. + string membershipAttributeName = 3; + + // In order for the request to be authenticated, the membership attribute (e.g. *memberOf*) on the user entry must + // contain at least of one of the group DNs specified via this option. + // E.g. []string{ "cn=managers,ou=groups,dc=solo,dc=io", "cn=developers,ou=groups,dc=solo,dc=io" } + repeated string allowedGroups = 4; + + // Use this property to tune the pool of connections to the LDAP server that Gloo maintains. + Ldap.ConnectionPool pool = 5; + + // Use to set a custom filter when searching a member. Defaults to "(uid=*)". + string searchFilter = 6; + + // Disables group checking, regardless of the value for allowedGroups, + // and disables validation for the membership attribute of the user entry. + // Group checking is enabled by default. + bool disable_group_checking = 7; + + // Settings for using a separate service account for looking up group membership + // To use this, you also need to configure credentials + LdapServiceAccountConfig group_lookup_settings = 8; + } + message LdapServiceAccountConfig { + // username and password are taken from the secret during gloo-ee translation + string username = 1 [(extproto.sensitive) = true]; + string password = 2 [(extproto.sensitive) = true]; + // If true, Gloo will use the service account to check group membership + bool check_groups_with_service_account = 3; + } + message HmacAuthConfig { + oneof secret_storage { + InMemorySecretList secret_list = 1; + } + // Algorithm to use to turn the request into a hashable string + oneof implementation_type{ + HmacParametersInHeaders parameters_in_headers = 2; + } + + } + message InMemorySecretList { + // list of username/password pairs taken from secrets during gloo-ee translation + map secret_list = 1 [(extproto.sensitive) = true]; + } message Config { reserved 1, 2; @@ -1076,15 +2070,20 @@ message ExtAuthConfig { OAuthConfig oauth = 3 [deprecated = true]; OAuth2Config oauth2 = 9; BasicAuth basic_auth = 4; + BasicAuthInternal basic_auth_internal = 17; ApiKeyAuthConfig api_key_auth = 5; AuthPlugin plugin_auth = 6; OpaAuthConfig opa_auth = 7; - Ldap ldap = 8; + Ldap ldap = 8 [deprecated = true]; + // Used for LDAP configurations that need service account credentials saved in a secret. + LdapConfig ldap_internal = 14; // This is a "dummy" extauth service which can be used to support multiple auth mechanisms with JWT authentication. // If Jwt authentication is to be used in the [boolean expression](https://docs.solo.io/gloo-edge/latest/reference/api/github.com/solo-io/solo-apis/api/gloo/enterprise.gloo/v1/auth_config.proto.sk/#authconfig) in an AuthConfig, you can use this auth config type to include Jwt as an Auth config. // In addition, `allow_missing_or_failed_jwt` must be set on the Virtual Host or Route that uses JWT auth or else the JWT filter will short circuit this behaviour. google.protobuf.Empty jwt = 12; PassThroughAuth pass_through_auth = 13; + HmacAuthConfig hmac_auth = 15; + OpaServerAuthConfig opa_server_auth = 16; } } @@ -1099,7 +2098,14 @@ message ExtAuthConfig { // How to handle processing of named configs within an auth config chain. // An example config might be: `( basic1 || basic2 || (oidc1 && !oidc2) )` // The boolean expression is evaluated left to right but honors parenthesis and short-circuiting. + // Defaults to an empty string, which is interpreted as `and`-ing the configs. google.protobuf.StringValue boolean_expr = 10; + + // How the service should handle a redirect response from an OIDC issuer. In the default false mode, + // the redirect will be considered a successful response, and the client will receive a 302 with a location header. + // If this is set to true, the client will instead receive a 401 unauthorized response. This is useful in cases where + // API calls are being made or other such occurrences where the client cannot handle the redirect. + bool fail_on_redirect = 11; } /* @@ -1120,6 +2126,40 @@ service ExtAuthDiscoveryService { } } +message ApiKeyCreateRequest { + repeated ApiKey api_keys = 1; + repeated string raw_api_keys = 2; +} +message ApiKeyCreateResponse { + repeated ApiKey api_keys = 1; +} +message ApiKeyReadRequest { + repeated string raw_api_keys = 1; + repeated string labels = 2; +} +message ApiKeyReadResponse { + repeated ApiKey api_keys = 1; +} +message ApiKeyUpdateRequest { + bool upsert = 1; + repeated ApiKey api_keys = 2; + repeated string raw_api_keys = 3; +} +message ApiKeyUpdateResponse { + repeated ApiKey api_keys = 1; +} +message ApiKeyDeleteRequest { + repeated string raw_api_keys = 1; + repeated string labels = 2; +} +message ApiKeyDeleteResponse {} +service ApiKeyService { + rpc Create (ApiKeyCreateRequest) returns (ApiKeyCreateResponse) {} + rpc Read (ApiKeyReadRequest) returns (ApiKeyReadResponse) {} + rpc Update (ApiKeyUpdateRequest) returns (ApiKeyUpdateResponse) {} + rpc Delete (ApiKeyDeleteRequest) returns (ApiKeyDeleteResponse) {} +} + message AuthConfigStatus { enum State { @@ -1146,3 +2186,9 @@ message AuthConfigStatus { // Opaque details about status results google.protobuf.Struct details = 5; } + + + +message AuthConfigNamespacedStatuses { + map statuses = 1; +} diff --git a/api/rate-limiter/v1alpha1/ratelimit.proto b/api/rate-limiter/v1alpha1/ratelimit.proto index de75b6824..abbd26572 100644 --- a/api/rate-limiter/v1alpha1/ratelimit.proto +++ b/api/rate-limiter/v1alpha1/ratelimit.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package ratelimit.api.solo.io; -option go_package = "github.com/solo-io/solo-apis/pkg/api/ratelimit.solo.io/v1alpha1"; +option go_package = "github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1"; import "google/protobuf/wrappers.proto"; @@ -59,6 +59,10 @@ message RateLimitConfigStatus { int64 observed_generation = 3; } +message RateLimitConfigNamespacedStatuses { + map statuses = 1; +} + // A descriptor is a list of key/value pairs that the rate limit server uses to select // the correct rate limit to use when limiting. Descriptors are case-sensitive. // @@ -256,6 +260,8 @@ message SimpleDescriptor { message RateLimitActions { repeated Action actions = 1; repeated Action set_actions = 2; + // An optional limit override to be appended to the descriptor produced by this rate limit configuration. If the override value is invalid or cannot be resolved from metadata, no override is provided. + Override limit = 3; } // A `RateLimit` specifies the actual rate limit that will be used when there is a match. @@ -447,81 +453,6 @@ message Action { repeated HeaderMatcher headers = 3; // [(validate.rules).repeated .min_items = 1]; } - // The following descriptor entry is appended when the metadata contains a key value: - // ("", "") - message MetaData { - enum Source { - // Query [dynamic metadata](https://www.envoyproxy.io/docs/envoy/latest/configuration/advanced/well_known_dynamic_metadata#well-known-dynamic-metadata). - DYNAMIC = 0; - - // Query [route entry metadata](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-route-metadata). - ROUTE_ENTRY = 1; - } - - // MetadataKey provides a general interface using `key` and `path` to retrieve value from - // [`Metadata`](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-metadata). - // - // For example, for the following Metadata: - // - // ```yaml - // filter_metadata: - // envoy.xxx: - // prop: - // foo: bar - // xyz: - // hello: envoy - // ``` - // - // The following MetadataKey will retrieve a string value "bar" from the Metadata. - // - // ```yaml - // key: envoy.xxx - // path: - // - key: prop - // - key: foo - // ``` - // - message MetadataKey { - - // Specifies the segment in a path to retrieve value from Metadata. - // Currently it is only supported to specify the key, i.e. field name, as one segment of a path. - message PathSegment { - oneof segment { - // option (validate.required) = true; - - // Required. If specified, use the key to retrieve the value in a Struct. - string key = 1; // [(validate.rules).string = {min_len: 1}]; - } - } - - // Required. The key name of Metadata to retrieve the Struct from the metadata. - // Typically, it represents a builtin subsystem or custom extension. - string key = 1; // [(validate.rules).string = {min_len: 1}]; - - // Must have at least one element. The path to retrieve the Value from the Struct. It can be a prefix or a full path, - // e.g. ``[prop, xyz]`` for a struct or ``[prop, foo]`` for a string in the example, - // which depends on the particular scenario. - // - // Note: Due to that only the key type segment is supported, the path can not specify a list - // unless the list is the last segment. - repeated PathSegment path = 2; // [(validate.rules).repeated = {min_items: 1}]; - } - - // Required. The key to use in the descriptor entry. - string descriptor_key = 1; // [(validate.rules).string = {min_len: 1}]; - - // Required. Metadata struct that defines the key and path to retrieve the string value. A match will - // only happen if the value in the metadata is of type string. - MetadataKey metadata_key = 2; // [(validate.rules).message = {required: true}]; - - // An optional value to use if *metadata_key* is empty. If not set and - // no value is present under the metadata_key then no descriptor is generated. - string default_value = 3; - - // Source of metadata - Source source = 4; // [(validate.rules).enum = {defined_only: true}]; - } - oneof action_specifier { // Rate limit on source cluster. @@ -545,4 +476,100 @@ message Action { // Rate limit on metadata. MetaData metadata = 8; } +} + +// The following descriptor entry is appended when the metadata contains a key value: +// ("", "") +message MetaData { + enum Source { + // Query [dynamic metadata](https://www.envoyproxy.io/docs/envoy/latest/configuration/advanced/well_known_dynamic_metadata#well-known-dynamic-metadata). + DYNAMIC = 0; + + // Query [route entry metadata](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-route-metadata). + ROUTE_ENTRY = 1; + } + + // MetadataKey provides a general interface using `key` and `path` to retrieve value from + // [`Metadata`](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-metadata). + // + // For example, for the following Metadata: + // + // ```yaml + // filter_metadata: + // envoy.xxx: + // prop: + // foo: bar + // xyz: + // hello: envoy + // ``` + // + // The following MetadataKey will retrieve a string value "bar" from the Metadata. + // + // ```yaml + // key: envoy.xxx + // path: + // - key: prop + // - key: foo + // ``` + // + message MetadataKey { + + // Specifies the segment in a path to retrieve value from Metadata. + // Currently it is only supported to specify the key, i.e. field name, as one segment of a path. + message PathSegment { + oneof segment { + // option (validate.required) = true; + + // Required. If specified, use the key to retrieve the value in a Struct. + string key = 1; // [(validate.rules).string = {min_len: 1}]; + } + } + + // Required. The key name of Metadata to retrieve the Struct from the metadata. + // Typically, it represents a builtin subsystem or custom extension. + string key = 1; // [(validate.rules).string = {min_len: 1}]; + + // Must have at least one element. The path to retrieve the Value from the Struct. It can be a prefix or a full path, + // e.g. ``[prop, xyz]`` for a struct or ``[prop, foo]`` for a string in the example, + // which depends on the particular scenario. + // + // Note: Due to that only the key type segment is supported, the path can not specify a list + // unless the list is the last segment. + repeated PathSegment path = 2; // [(validate.rules).repeated = {min_items: 1}]; + } + + // Required. The key to use in the descriptor entry. + string descriptor_key = 1; // [(validate.rules).string = {min_len: 1}]; + + // Required. Metadata struct that defines the key and path to retrieve the string value. A match will + // only happen if the value in the metadata is of type string. + MetadataKey metadata_key = 2; // [(validate.rules).message = {required: true}]; + + // An optional value to use if *metadata_key* is empty. If not set and + // no value is present under the metadata_key then no descriptor is generated. + string default_value = 3; + + // Source of metadata + Source source = 4; // [(validate.rules).enum = {defined_only: true}]; +} + +// Copied directly from envoy +// https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-ratelimit-override +message Override { + + // Fetches the override from the dynamic metadata. + message DynamicMetadata { + // Metadata struct that defines the key and path to retrieve the struct value. + // The value must be a struct containing an integer "requests_per_unit" property + // and a "unit" property with a value parseable to :ref:`RateLimitUnit + // enum ` + MetaData.MetadataKey metadata_key = 1; // [(validate.rules).message = {required: true}]; + } + + oneof override_specifier { + // option (validate.required) = true; + + // Limit override from dynamic metadata. + DynamicMetadata dynamic_metadata = 1; + } } \ No newline at end of file diff --git a/api/rpc.solo.io/v2/internal_admin.proto b/api/rpc.solo.io/v2/internal_admin.proto new file mode 100644 index 000000000..d866372dd --- /dev/null +++ b/api/rpc.solo.io/v2/internal_admin.proto @@ -0,0 +1,37 @@ +syntax = "proto3"; + +package rpc.solo.io; + +import "mesh/v1alpha1/config.proto"; +import "networking/v1alpha3/workload_group.proto"; + +option go_package = "github.com/solo-io/solo-apis/client-go/rpc.solo.io/v2"; + +service InternalAdmin { + rpc ExtWorkloadBootstrap(ExtWorkloadBootstrapRequest) returns (ExtWorkloadBootstrapResponse) {} + rpc CaCert(CaCertRequest) returns (CaCertResponse) {} +} + +message ExtWorkloadBootstrapRequest { + string istio_namespace = 1; + string istio_revision = 2; + Workload workload = 3; + + message Workload { + string name = 1; + string namespace = 2; + } +} + +message ExtWorkloadBootstrapResponse { + istio.mesh.v1alpha1.MeshConfig mesh_config = 1; + istio.networking.v1alpha3.WorkloadGroup workload_group = 2; +} + +message CaCertRequest { + +} + +message CaCertResponse { + string ca_cert = 1; +} diff --git a/client-go/admin.gloo.solo.io/v2/clients.go b/client-go/admin.gloo.solo.io/v2/clients.go new file mode 100644 index 000000000..cc8f8d978 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/clients.go @@ -0,0 +1,1554 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the admin.gloo.solo.io/v2 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the admin.gloo.solo.io/v2 APIs +type Clientset interface { + // clienset for the admin.gloo.solo.io/v2/v2 APIs + Workspaces() WorkspaceClient + // clienset for the admin.gloo.solo.io/v2/v2 APIs + WorkspaceSettings() WorkspaceSettingsClient + // clienset for the admin.gloo.solo.io/v2/v2 APIs + KubernetesClusters() KubernetesClusterClient + // clienset for the admin.gloo.solo.io/v2/v2 APIs + RootTrustPolicies() RootTrustPolicyClient + // clienset for the admin.gloo.solo.io/v2/v2 APIs + ExtAuthServers() ExtAuthServerClient + // clienset for the admin.gloo.solo.io/v2/v2 APIs + RateLimitServerSettings() RateLimitServerSettingsClient + // clienset for the admin.gloo.solo.io/v2/v2 APIs + RateLimitServerConfigs() RateLimitServerConfigClient + // clienset for the admin.gloo.solo.io/v2/v2 APIs + Dashboards() DashboardClient + // clienset for the admin.gloo.solo.io/v2/v2 APIs + IstioLifecycleManagers() IstioLifecycleManagerClient + // clienset for the admin.gloo.solo.io/v2/v2 APIs + GatewayLifecycleManagers() GatewayLifecycleManagerClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the admin.gloo.solo.io/v2/v2 APIs +func (c *clientSet) Workspaces() WorkspaceClient { + return NewWorkspaceClient(c.client) +} + +// clienset for the admin.gloo.solo.io/v2/v2 APIs +func (c *clientSet) WorkspaceSettings() WorkspaceSettingsClient { + return NewWorkspaceSettingsClient(c.client) +} + +// clienset for the admin.gloo.solo.io/v2/v2 APIs +func (c *clientSet) KubernetesClusters() KubernetesClusterClient { + return NewKubernetesClusterClient(c.client) +} + +// clienset for the admin.gloo.solo.io/v2/v2 APIs +func (c *clientSet) RootTrustPolicies() RootTrustPolicyClient { + return NewRootTrustPolicyClient(c.client) +} + +// clienset for the admin.gloo.solo.io/v2/v2 APIs +func (c *clientSet) ExtAuthServers() ExtAuthServerClient { + return NewExtAuthServerClient(c.client) +} + +// clienset for the admin.gloo.solo.io/v2/v2 APIs +func (c *clientSet) RateLimitServerSettings() RateLimitServerSettingsClient { + return NewRateLimitServerSettingsClient(c.client) +} + +// clienset for the admin.gloo.solo.io/v2/v2 APIs +func (c *clientSet) RateLimitServerConfigs() RateLimitServerConfigClient { + return NewRateLimitServerConfigClient(c.client) +} + +// clienset for the admin.gloo.solo.io/v2/v2 APIs +func (c *clientSet) Dashboards() DashboardClient { + return NewDashboardClient(c.client) +} + +// clienset for the admin.gloo.solo.io/v2/v2 APIs +func (c *clientSet) IstioLifecycleManagers() IstioLifecycleManagerClient { + return NewIstioLifecycleManagerClient(c.client) +} + +// clienset for the admin.gloo.solo.io/v2/v2 APIs +func (c *clientSet) GatewayLifecycleManagers() GatewayLifecycleManagerClient { + return NewGatewayLifecycleManagerClient(c.client) +} + +// Reader knows how to read and list Workspaces. +type WorkspaceReader interface { + // Get retrieves a Workspace for the given object key + GetWorkspace(ctx context.Context, key client.ObjectKey) (*Workspace, error) + + // List retrieves list of Workspaces for a given namespace and list options. + ListWorkspace(ctx context.Context, opts ...client.ListOption) (*WorkspaceList, error) +} + +// WorkspaceTransitionFunction instructs the WorkspaceWriter how to transition between an existing +// Workspace object and a desired on an Upsert +type WorkspaceTransitionFunction func(existing, desired *Workspace) error + +// Writer knows how to create, delete, and update Workspaces. +type WorkspaceWriter interface { + // Create saves the Workspace object. + CreateWorkspace(ctx context.Context, obj *Workspace, opts ...client.CreateOption) error + + // Delete deletes the Workspace object. + DeleteWorkspace(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given Workspace object. + UpdateWorkspace(ctx context.Context, obj *Workspace, opts ...client.UpdateOption) error + + // Patch patches the given Workspace object. + PatchWorkspace(ctx context.Context, obj *Workspace, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all Workspace objects matching the given options. + DeleteAllOfWorkspace(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the Workspace object. + UpsertWorkspace(ctx context.Context, obj *Workspace, transitionFuncs ...WorkspaceTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a Workspace object. +type WorkspaceStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given Workspace object. + UpdateWorkspaceStatus(ctx context.Context, obj *Workspace, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given Workspace object's subresource. + PatchWorkspaceStatus(ctx context.Context, obj *Workspace, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on Workspaces. +type WorkspaceClient interface { + WorkspaceReader + WorkspaceWriter + WorkspaceStatusWriter +} + +type workspaceClient struct { + client client.Client +} + +func NewWorkspaceClient(client client.Client) *workspaceClient { + return &workspaceClient{client: client} +} + +func (c *workspaceClient) GetWorkspace(ctx context.Context, key client.ObjectKey) (*Workspace, error) { + obj := &Workspace{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *workspaceClient) ListWorkspace(ctx context.Context, opts ...client.ListOption) (*WorkspaceList, error) { + list := &WorkspaceList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *workspaceClient) CreateWorkspace(ctx context.Context, obj *Workspace, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *workspaceClient) DeleteWorkspace(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &Workspace{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *workspaceClient) UpdateWorkspace(ctx context.Context, obj *Workspace, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *workspaceClient) PatchWorkspace(ctx context.Context, obj *Workspace, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *workspaceClient) DeleteAllOfWorkspace(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &Workspace{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *workspaceClient) UpsertWorkspace(ctx context.Context, obj *Workspace, transitionFuncs ...WorkspaceTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*Workspace), desired.(*Workspace)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *workspaceClient) UpdateWorkspaceStatus(ctx context.Context, obj *Workspace, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *workspaceClient) PatchWorkspaceStatus(ctx context.Context, obj *Workspace, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides WorkspaceClients for multiple clusters. +type MulticlusterWorkspaceClient interface { + // Cluster returns a WorkspaceClient for the given cluster + Cluster(cluster string) (WorkspaceClient, error) +} + +type multiclusterWorkspaceClient struct { + client multicluster.Client +} + +func NewMulticlusterWorkspaceClient(client multicluster.Client) MulticlusterWorkspaceClient { + return &multiclusterWorkspaceClient{client: client} +} + +func (m *multiclusterWorkspaceClient) Cluster(cluster string) (WorkspaceClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewWorkspaceClient(client), nil +} + +// Reader knows how to read and list WorkspaceSettingss. +type WorkspaceSettingsReader interface { + // Get retrieves a WorkspaceSettings for the given object key + GetWorkspaceSettings(ctx context.Context, key client.ObjectKey) (*WorkspaceSettings, error) + + // List retrieves list of WorkspaceSettingss for a given namespace and list options. + ListWorkspaceSettings(ctx context.Context, opts ...client.ListOption) (*WorkspaceSettingsList, error) +} + +// WorkspaceSettingsTransitionFunction instructs the WorkspaceSettingsWriter how to transition between an existing +// WorkspaceSettings object and a desired on an Upsert +type WorkspaceSettingsTransitionFunction func(existing, desired *WorkspaceSettings) error + +// Writer knows how to create, delete, and update WorkspaceSettingss. +type WorkspaceSettingsWriter interface { + // Create saves the WorkspaceSettings object. + CreateWorkspaceSettings(ctx context.Context, obj *WorkspaceSettings, opts ...client.CreateOption) error + + // Delete deletes the WorkspaceSettings object. + DeleteWorkspaceSettings(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given WorkspaceSettings object. + UpdateWorkspaceSettings(ctx context.Context, obj *WorkspaceSettings, opts ...client.UpdateOption) error + + // Patch patches the given WorkspaceSettings object. + PatchWorkspaceSettings(ctx context.Context, obj *WorkspaceSettings, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all WorkspaceSettings objects matching the given options. + DeleteAllOfWorkspaceSettings(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the WorkspaceSettings object. + UpsertWorkspaceSettings(ctx context.Context, obj *WorkspaceSettings, transitionFuncs ...WorkspaceSettingsTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a WorkspaceSettings object. +type WorkspaceSettingsStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given WorkspaceSettings object. + UpdateWorkspaceSettingsStatus(ctx context.Context, obj *WorkspaceSettings, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given WorkspaceSettings object's subresource. + PatchWorkspaceSettingsStatus(ctx context.Context, obj *WorkspaceSettings, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on WorkspaceSettingss. +type WorkspaceSettingsClient interface { + WorkspaceSettingsReader + WorkspaceSettingsWriter + WorkspaceSettingsStatusWriter +} + +type workspaceSettingsClient struct { + client client.Client +} + +func NewWorkspaceSettingsClient(client client.Client) *workspaceSettingsClient { + return &workspaceSettingsClient{client: client} +} + +func (c *workspaceSettingsClient) GetWorkspaceSettings(ctx context.Context, key client.ObjectKey) (*WorkspaceSettings, error) { + obj := &WorkspaceSettings{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *workspaceSettingsClient) ListWorkspaceSettings(ctx context.Context, opts ...client.ListOption) (*WorkspaceSettingsList, error) { + list := &WorkspaceSettingsList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *workspaceSettingsClient) CreateWorkspaceSettings(ctx context.Context, obj *WorkspaceSettings, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *workspaceSettingsClient) DeleteWorkspaceSettings(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &WorkspaceSettings{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *workspaceSettingsClient) UpdateWorkspaceSettings(ctx context.Context, obj *WorkspaceSettings, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *workspaceSettingsClient) PatchWorkspaceSettings(ctx context.Context, obj *WorkspaceSettings, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *workspaceSettingsClient) DeleteAllOfWorkspaceSettings(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &WorkspaceSettings{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *workspaceSettingsClient) UpsertWorkspaceSettings(ctx context.Context, obj *WorkspaceSettings, transitionFuncs ...WorkspaceSettingsTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*WorkspaceSettings), desired.(*WorkspaceSettings)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *workspaceSettingsClient) UpdateWorkspaceSettingsStatus(ctx context.Context, obj *WorkspaceSettings, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *workspaceSettingsClient) PatchWorkspaceSettingsStatus(ctx context.Context, obj *WorkspaceSettings, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides WorkspaceSettingsClients for multiple clusters. +type MulticlusterWorkspaceSettingsClient interface { + // Cluster returns a WorkspaceSettingsClient for the given cluster + Cluster(cluster string) (WorkspaceSettingsClient, error) +} + +type multiclusterWorkspaceSettingsClient struct { + client multicluster.Client +} + +func NewMulticlusterWorkspaceSettingsClient(client multicluster.Client) MulticlusterWorkspaceSettingsClient { + return &multiclusterWorkspaceSettingsClient{client: client} +} + +func (m *multiclusterWorkspaceSettingsClient) Cluster(cluster string) (WorkspaceSettingsClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewWorkspaceSettingsClient(client), nil +} + +// Reader knows how to read and list KubernetesClusters. +type KubernetesClusterReader interface { + // Get retrieves a KubernetesCluster for the given object key + GetKubernetesCluster(ctx context.Context, key client.ObjectKey) (*KubernetesCluster, error) + + // List retrieves list of KubernetesClusters for a given namespace and list options. + ListKubernetesCluster(ctx context.Context, opts ...client.ListOption) (*KubernetesClusterList, error) +} + +// KubernetesClusterTransitionFunction instructs the KubernetesClusterWriter how to transition between an existing +// KubernetesCluster object and a desired on an Upsert +type KubernetesClusterTransitionFunction func(existing, desired *KubernetesCluster) error + +// Writer knows how to create, delete, and update KubernetesClusters. +type KubernetesClusterWriter interface { + // Create saves the KubernetesCluster object. + CreateKubernetesCluster(ctx context.Context, obj *KubernetesCluster, opts ...client.CreateOption) error + + // Delete deletes the KubernetesCluster object. + DeleteKubernetesCluster(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given KubernetesCluster object. + UpdateKubernetesCluster(ctx context.Context, obj *KubernetesCluster, opts ...client.UpdateOption) error + + // Patch patches the given KubernetesCluster object. + PatchKubernetesCluster(ctx context.Context, obj *KubernetesCluster, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all KubernetesCluster objects matching the given options. + DeleteAllOfKubernetesCluster(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the KubernetesCluster object. + UpsertKubernetesCluster(ctx context.Context, obj *KubernetesCluster, transitionFuncs ...KubernetesClusterTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a KubernetesCluster object. +type KubernetesClusterStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given KubernetesCluster object. + UpdateKubernetesClusterStatus(ctx context.Context, obj *KubernetesCluster, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given KubernetesCluster object's subresource. + PatchKubernetesClusterStatus(ctx context.Context, obj *KubernetesCluster, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on KubernetesClusters. +type KubernetesClusterClient interface { + KubernetesClusterReader + KubernetesClusterWriter + KubernetesClusterStatusWriter +} + +type kubernetesClusterClient struct { + client client.Client +} + +func NewKubernetesClusterClient(client client.Client) *kubernetesClusterClient { + return &kubernetesClusterClient{client: client} +} + +func (c *kubernetesClusterClient) GetKubernetesCluster(ctx context.Context, key client.ObjectKey) (*KubernetesCluster, error) { + obj := &KubernetesCluster{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *kubernetesClusterClient) ListKubernetesCluster(ctx context.Context, opts ...client.ListOption) (*KubernetesClusterList, error) { + list := &KubernetesClusterList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *kubernetesClusterClient) CreateKubernetesCluster(ctx context.Context, obj *KubernetesCluster, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *kubernetesClusterClient) DeleteKubernetesCluster(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &KubernetesCluster{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *kubernetesClusterClient) UpdateKubernetesCluster(ctx context.Context, obj *KubernetesCluster, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *kubernetesClusterClient) PatchKubernetesCluster(ctx context.Context, obj *KubernetesCluster, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *kubernetesClusterClient) DeleteAllOfKubernetesCluster(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &KubernetesCluster{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *kubernetesClusterClient) UpsertKubernetesCluster(ctx context.Context, obj *KubernetesCluster, transitionFuncs ...KubernetesClusterTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*KubernetesCluster), desired.(*KubernetesCluster)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *kubernetesClusterClient) UpdateKubernetesClusterStatus(ctx context.Context, obj *KubernetesCluster, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *kubernetesClusterClient) PatchKubernetesClusterStatus(ctx context.Context, obj *KubernetesCluster, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides KubernetesClusterClients for multiple clusters. +type MulticlusterKubernetesClusterClient interface { + // Cluster returns a KubernetesClusterClient for the given cluster + Cluster(cluster string) (KubernetesClusterClient, error) +} + +type multiclusterKubernetesClusterClient struct { + client multicluster.Client +} + +func NewMulticlusterKubernetesClusterClient(client multicluster.Client) MulticlusterKubernetesClusterClient { + return &multiclusterKubernetesClusterClient{client: client} +} + +func (m *multiclusterKubernetesClusterClient) Cluster(cluster string) (KubernetesClusterClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewKubernetesClusterClient(client), nil +} + +// Reader knows how to read and list RootTrustPolicys. +type RootTrustPolicyReader interface { + // Get retrieves a RootTrustPolicy for the given object key + GetRootTrustPolicy(ctx context.Context, key client.ObjectKey) (*RootTrustPolicy, error) + + // List retrieves list of RootTrustPolicys for a given namespace and list options. + ListRootTrustPolicy(ctx context.Context, opts ...client.ListOption) (*RootTrustPolicyList, error) +} + +// RootTrustPolicyTransitionFunction instructs the RootTrustPolicyWriter how to transition between an existing +// RootTrustPolicy object and a desired on an Upsert +type RootTrustPolicyTransitionFunction func(existing, desired *RootTrustPolicy) error + +// Writer knows how to create, delete, and update RootTrustPolicys. +type RootTrustPolicyWriter interface { + // Create saves the RootTrustPolicy object. + CreateRootTrustPolicy(ctx context.Context, obj *RootTrustPolicy, opts ...client.CreateOption) error + + // Delete deletes the RootTrustPolicy object. + DeleteRootTrustPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given RootTrustPolicy object. + UpdateRootTrustPolicy(ctx context.Context, obj *RootTrustPolicy, opts ...client.UpdateOption) error + + // Patch patches the given RootTrustPolicy object. + PatchRootTrustPolicy(ctx context.Context, obj *RootTrustPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all RootTrustPolicy objects matching the given options. + DeleteAllOfRootTrustPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the RootTrustPolicy object. + UpsertRootTrustPolicy(ctx context.Context, obj *RootTrustPolicy, transitionFuncs ...RootTrustPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a RootTrustPolicy object. +type RootTrustPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given RootTrustPolicy object. + UpdateRootTrustPolicyStatus(ctx context.Context, obj *RootTrustPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given RootTrustPolicy object's subresource. + PatchRootTrustPolicyStatus(ctx context.Context, obj *RootTrustPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on RootTrustPolicys. +type RootTrustPolicyClient interface { + RootTrustPolicyReader + RootTrustPolicyWriter + RootTrustPolicyStatusWriter +} + +type rootTrustPolicyClient struct { + client client.Client +} + +func NewRootTrustPolicyClient(client client.Client) *rootTrustPolicyClient { + return &rootTrustPolicyClient{client: client} +} + +func (c *rootTrustPolicyClient) GetRootTrustPolicy(ctx context.Context, key client.ObjectKey) (*RootTrustPolicy, error) { + obj := &RootTrustPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *rootTrustPolicyClient) ListRootTrustPolicy(ctx context.Context, opts ...client.ListOption) (*RootTrustPolicyList, error) { + list := &RootTrustPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *rootTrustPolicyClient) CreateRootTrustPolicy(ctx context.Context, obj *RootTrustPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *rootTrustPolicyClient) DeleteRootTrustPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &RootTrustPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *rootTrustPolicyClient) UpdateRootTrustPolicy(ctx context.Context, obj *RootTrustPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *rootTrustPolicyClient) PatchRootTrustPolicy(ctx context.Context, obj *RootTrustPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *rootTrustPolicyClient) DeleteAllOfRootTrustPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &RootTrustPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *rootTrustPolicyClient) UpsertRootTrustPolicy(ctx context.Context, obj *RootTrustPolicy, transitionFuncs ...RootTrustPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*RootTrustPolicy), desired.(*RootTrustPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *rootTrustPolicyClient) UpdateRootTrustPolicyStatus(ctx context.Context, obj *RootTrustPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *rootTrustPolicyClient) PatchRootTrustPolicyStatus(ctx context.Context, obj *RootTrustPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides RootTrustPolicyClients for multiple clusters. +type MulticlusterRootTrustPolicyClient interface { + // Cluster returns a RootTrustPolicyClient for the given cluster + Cluster(cluster string) (RootTrustPolicyClient, error) +} + +type multiclusterRootTrustPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterRootTrustPolicyClient(client multicluster.Client) MulticlusterRootTrustPolicyClient { + return &multiclusterRootTrustPolicyClient{client: client} +} + +func (m *multiclusterRootTrustPolicyClient) Cluster(cluster string) (RootTrustPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewRootTrustPolicyClient(client), nil +} + +// Reader knows how to read and list ExtAuthServers. +type ExtAuthServerReader interface { + // Get retrieves a ExtAuthServer for the given object key + GetExtAuthServer(ctx context.Context, key client.ObjectKey) (*ExtAuthServer, error) + + // List retrieves list of ExtAuthServers for a given namespace and list options. + ListExtAuthServer(ctx context.Context, opts ...client.ListOption) (*ExtAuthServerList, error) +} + +// ExtAuthServerTransitionFunction instructs the ExtAuthServerWriter how to transition between an existing +// ExtAuthServer object and a desired on an Upsert +type ExtAuthServerTransitionFunction func(existing, desired *ExtAuthServer) error + +// Writer knows how to create, delete, and update ExtAuthServers. +type ExtAuthServerWriter interface { + // Create saves the ExtAuthServer object. + CreateExtAuthServer(ctx context.Context, obj *ExtAuthServer, opts ...client.CreateOption) error + + // Delete deletes the ExtAuthServer object. + DeleteExtAuthServer(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ExtAuthServer object. + UpdateExtAuthServer(ctx context.Context, obj *ExtAuthServer, opts ...client.UpdateOption) error + + // Patch patches the given ExtAuthServer object. + PatchExtAuthServer(ctx context.Context, obj *ExtAuthServer, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ExtAuthServer objects matching the given options. + DeleteAllOfExtAuthServer(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ExtAuthServer object. + UpsertExtAuthServer(ctx context.Context, obj *ExtAuthServer, transitionFuncs ...ExtAuthServerTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ExtAuthServer object. +type ExtAuthServerStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ExtAuthServer object. + UpdateExtAuthServerStatus(ctx context.Context, obj *ExtAuthServer, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ExtAuthServer object's subresource. + PatchExtAuthServerStatus(ctx context.Context, obj *ExtAuthServer, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ExtAuthServers. +type ExtAuthServerClient interface { + ExtAuthServerReader + ExtAuthServerWriter + ExtAuthServerStatusWriter +} + +type extAuthServerClient struct { + client client.Client +} + +func NewExtAuthServerClient(client client.Client) *extAuthServerClient { + return &extAuthServerClient{client: client} +} + +func (c *extAuthServerClient) GetExtAuthServer(ctx context.Context, key client.ObjectKey) (*ExtAuthServer, error) { + obj := &ExtAuthServer{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *extAuthServerClient) ListExtAuthServer(ctx context.Context, opts ...client.ListOption) (*ExtAuthServerList, error) { + list := &ExtAuthServerList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *extAuthServerClient) CreateExtAuthServer(ctx context.Context, obj *ExtAuthServer, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *extAuthServerClient) DeleteExtAuthServer(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ExtAuthServer{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *extAuthServerClient) UpdateExtAuthServer(ctx context.Context, obj *ExtAuthServer, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *extAuthServerClient) PatchExtAuthServer(ctx context.Context, obj *ExtAuthServer, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *extAuthServerClient) DeleteAllOfExtAuthServer(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ExtAuthServer{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *extAuthServerClient) UpsertExtAuthServer(ctx context.Context, obj *ExtAuthServer, transitionFuncs ...ExtAuthServerTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ExtAuthServer), desired.(*ExtAuthServer)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *extAuthServerClient) UpdateExtAuthServerStatus(ctx context.Context, obj *ExtAuthServer, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *extAuthServerClient) PatchExtAuthServerStatus(ctx context.Context, obj *ExtAuthServer, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ExtAuthServerClients for multiple clusters. +type MulticlusterExtAuthServerClient interface { + // Cluster returns a ExtAuthServerClient for the given cluster + Cluster(cluster string) (ExtAuthServerClient, error) +} + +type multiclusterExtAuthServerClient struct { + client multicluster.Client +} + +func NewMulticlusterExtAuthServerClient(client multicluster.Client) MulticlusterExtAuthServerClient { + return &multiclusterExtAuthServerClient{client: client} +} + +func (m *multiclusterExtAuthServerClient) Cluster(cluster string) (ExtAuthServerClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewExtAuthServerClient(client), nil +} + +// Reader knows how to read and list RateLimitServerSettingss. +type RateLimitServerSettingsReader interface { + // Get retrieves a RateLimitServerSettings for the given object key + GetRateLimitServerSettings(ctx context.Context, key client.ObjectKey) (*RateLimitServerSettings, error) + + // List retrieves list of RateLimitServerSettingss for a given namespace and list options. + ListRateLimitServerSettings(ctx context.Context, opts ...client.ListOption) (*RateLimitServerSettingsList, error) +} + +// RateLimitServerSettingsTransitionFunction instructs the RateLimitServerSettingsWriter how to transition between an existing +// RateLimitServerSettings object and a desired on an Upsert +type RateLimitServerSettingsTransitionFunction func(existing, desired *RateLimitServerSettings) error + +// Writer knows how to create, delete, and update RateLimitServerSettingss. +type RateLimitServerSettingsWriter interface { + // Create saves the RateLimitServerSettings object. + CreateRateLimitServerSettings(ctx context.Context, obj *RateLimitServerSettings, opts ...client.CreateOption) error + + // Delete deletes the RateLimitServerSettings object. + DeleteRateLimitServerSettings(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given RateLimitServerSettings object. + UpdateRateLimitServerSettings(ctx context.Context, obj *RateLimitServerSettings, opts ...client.UpdateOption) error + + // Patch patches the given RateLimitServerSettings object. + PatchRateLimitServerSettings(ctx context.Context, obj *RateLimitServerSettings, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all RateLimitServerSettings objects matching the given options. + DeleteAllOfRateLimitServerSettings(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the RateLimitServerSettings object. + UpsertRateLimitServerSettings(ctx context.Context, obj *RateLimitServerSettings, transitionFuncs ...RateLimitServerSettingsTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a RateLimitServerSettings object. +type RateLimitServerSettingsStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given RateLimitServerSettings object. + UpdateRateLimitServerSettingsStatus(ctx context.Context, obj *RateLimitServerSettings, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given RateLimitServerSettings object's subresource. + PatchRateLimitServerSettingsStatus(ctx context.Context, obj *RateLimitServerSettings, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on RateLimitServerSettingss. +type RateLimitServerSettingsClient interface { + RateLimitServerSettingsReader + RateLimitServerSettingsWriter + RateLimitServerSettingsStatusWriter +} + +type rateLimitServerSettingsClient struct { + client client.Client +} + +func NewRateLimitServerSettingsClient(client client.Client) *rateLimitServerSettingsClient { + return &rateLimitServerSettingsClient{client: client} +} + +func (c *rateLimitServerSettingsClient) GetRateLimitServerSettings(ctx context.Context, key client.ObjectKey) (*RateLimitServerSettings, error) { + obj := &RateLimitServerSettings{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *rateLimitServerSettingsClient) ListRateLimitServerSettings(ctx context.Context, opts ...client.ListOption) (*RateLimitServerSettingsList, error) { + list := &RateLimitServerSettingsList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *rateLimitServerSettingsClient) CreateRateLimitServerSettings(ctx context.Context, obj *RateLimitServerSettings, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *rateLimitServerSettingsClient) DeleteRateLimitServerSettings(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &RateLimitServerSettings{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *rateLimitServerSettingsClient) UpdateRateLimitServerSettings(ctx context.Context, obj *RateLimitServerSettings, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *rateLimitServerSettingsClient) PatchRateLimitServerSettings(ctx context.Context, obj *RateLimitServerSettings, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *rateLimitServerSettingsClient) DeleteAllOfRateLimitServerSettings(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &RateLimitServerSettings{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *rateLimitServerSettingsClient) UpsertRateLimitServerSettings(ctx context.Context, obj *RateLimitServerSettings, transitionFuncs ...RateLimitServerSettingsTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*RateLimitServerSettings), desired.(*RateLimitServerSettings)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *rateLimitServerSettingsClient) UpdateRateLimitServerSettingsStatus(ctx context.Context, obj *RateLimitServerSettings, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *rateLimitServerSettingsClient) PatchRateLimitServerSettingsStatus(ctx context.Context, obj *RateLimitServerSettings, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides RateLimitServerSettingsClients for multiple clusters. +type MulticlusterRateLimitServerSettingsClient interface { + // Cluster returns a RateLimitServerSettingsClient for the given cluster + Cluster(cluster string) (RateLimitServerSettingsClient, error) +} + +type multiclusterRateLimitServerSettingsClient struct { + client multicluster.Client +} + +func NewMulticlusterRateLimitServerSettingsClient(client multicluster.Client) MulticlusterRateLimitServerSettingsClient { + return &multiclusterRateLimitServerSettingsClient{client: client} +} + +func (m *multiclusterRateLimitServerSettingsClient) Cluster(cluster string) (RateLimitServerSettingsClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewRateLimitServerSettingsClient(client), nil +} + +// Reader knows how to read and list RateLimitServerConfigs. +type RateLimitServerConfigReader interface { + // Get retrieves a RateLimitServerConfig for the given object key + GetRateLimitServerConfig(ctx context.Context, key client.ObjectKey) (*RateLimitServerConfig, error) + + // List retrieves list of RateLimitServerConfigs for a given namespace and list options. + ListRateLimitServerConfig(ctx context.Context, opts ...client.ListOption) (*RateLimitServerConfigList, error) +} + +// RateLimitServerConfigTransitionFunction instructs the RateLimitServerConfigWriter how to transition between an existing +// RateLimitServerConfig object and a desired on an Upsert +type RateLimitServerConfigTransitionFunction func(existing, desired *RateLimitServerConfig) error + +// Writer knows how to create, delete, and update RateLimitServerConfigs. +type RateLimitServerConfigWriter interface { + // Create saves the RateLimitServerConfig object. + CreateRateLimitServerConfig(ctx context.Context, obj *RateLimitServerConfig, opts ...client.CreateOption) error + + // Delete deletes the RateLimitServerConfig object. + DeleteRateLimitServerConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given RateLimitServerConfig object. + UpdateRateLimitServerConfig(ctx context.Context, obj *RateLimitServerConfig, opts ...client.UpdateOption) error + + // Patch patches the given RateLimitServerConfig object. + PatchRateLimitServerConfig(ctx context.Context, obj *RateLimitServerConfig, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all RateLimitServerConfig objects matching the given options. + DeleteAllOfRateLimitServerConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the RateLimitServerConfig object. + UpsertRateLimitServerConfig(ctx context.Context, obj *RateLimitServerConfig, transitionFuncs ...RateLimitServerConfigTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a RateLimitServerConfig object. +type RateLimitServerConfigStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given RateLimitServerConfig object. + UpdateRateLimitServerConfigStatus(ctx context.Context, obj *RateLimitServerConfig, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given RateLimitServerConfig object's subresource. + PatchRateLimitServerConfigStatus(ctx context.Context, obj *RateLimitServerConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on RateLimitServerConfigs. +type RateLimitServerConfigClient interface { + RateLimitServerConfigReader + RateLimitServerConfigWriter + RateLimitServerConfigStatusWriter +} + +type rateLimitServerConfigClient struct { + client client.Client +} + +func NewRateLimitServerConfigClient(client client.Client) *rateLimitServerConfigClient { + return &rateLimitServerConfigClient{client: client} +} + +func (c *rateLimitServerConfigClient) GetRateLimitServerConfig(ctx context.Context, key client.ObjectKey) (*RateLimitServerConfig, error) { + obj := &RateLimitServerConfig{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *rateLimitServerConfigClient) ListRateLimitServerConfig(ctx context.Context, opts ...client.ListOption) (*RateLimitServerConfigList, error) { + list := &RateLimitServerConfigList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *rateLimitServerConfigClient) CreateRateLimitServerConfig(ctx context.Context, obj *RateLimitServerConfig, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *rateLimitServerConfigClient) DeleteRateLimitServerConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &RateLimitServerConfig{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *rateLimitServerConfigClient) UpdateRateLimitServerConfig(ctx context.Context, obj *RateLimitServerConfig, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *rateLimitServerConfigClient) PatchRateLimitServerConfig(ctx context.Context, obj *RateLimitServerConfig, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *rateLimitServerConfigClient) DeleteAllOfRateLimitServerConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &RateLimitServerConfig{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *rateLimitServerConfigClient) UpsertRateLimitServerConfig(ctx context.Context, obj *RateLimitServerConfig, transitionFuncs ...RateLimitServerConfigTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*RateLimitServerConfig), desired.(*RateLimitServerConfig)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *rateLimitServerConfigClient) UpdateRateLimitServerConfigStatus(ctx context.Context, obj *RateLimitServerConfig, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *rateLimitServerConfigClient) PatchRateLimitServerConfigStatus(ctx context.Context, obj *RateLimitServerConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides RateLimitServerConfigClients for multiple clusters. +type MulticlusterRateLimitServerConfigClient interface { + // Cluster returns a RateLimitServerConfigClient for the given cluster + Cluster(cluster string) (RateLimitServerConfigClient, error) +} + +type multiclusterRateLimitServerConfigClient struct { + client multicluster.Client +} + +func NewMulticlusterRateLimitServerConfigClient(client multicluster.Client) MulticlusterRateLimitServerConfigClient { + return &multiclusterRateLimitServerConfigClient{client: client} +} + +func (m *multiclusterRateLimitServerConfigClient) Cluster(cluster string) (RateLimitServerConfigClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewRateLimitServerConfigClient(client), nil +} + +// Reader knows how to read and list Dashboards. +type DashboardReader interface { + // Get retrieves a Dashboard for the given object key + GetDashboard(ctx context.Context, key client.ObjectKey) (*Dashboard, error) + + // List retrieves list of Dashboards for a given namespace and list options. + ListDashboard(ctx context.Context, opts ...client.ListOption) (*DashboardList, error) +} + +// DashboardTransitionFunction instructs the DashboardWriter how to transition between an existing +// Dashboard object and a desired on an Upsert +type DashboardTransitionFunction func(existing, desired *Dashboard) error + +// Writer knows how to create, delete, and update Dashboards. +type DashboardWriter interface { + // Create saves the Dashboard object. + CreateDashboard(ctx context.Context, obj *Dashboard, opts ...client.CreateOption) error + + // Delete deletes the Dashboard object. + DeleteDashboard(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given Dashboard object. + UpdateDashboard(ctx context.Context, obj *Dashboard, opts ...client.UpdateOption) error + + // Patch patches the given Dashboard object. + PatchDashboard(ctx context.Context, obj *Dashboard, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all Dashboard objects matching the given options. + DeleteAllOfDashboard(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the Dashboard object. + UpsertDashboard(ctx context.Context, obj *Dashboard, transitionFuncs ...DashboardTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a Dashboard object. +type DashboardStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given Dashboard object. + UpdateDashboardStatus(ctx context.Context, obj *Dashboard, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given Dashboard object's subresource. + PatchDashboardStatus(ctx context.Context, obj *Dashboard, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on Dashboards. +type DashboardClient interface { + DashboardReader + DashboardWriter + DashboardStatusWriter +} + +type dashboardClient struct { + client client.Client +} + +func NewDashboardClient(client client.Client) *dashboardClient { + return &dashboardClient{client: client} +} + +func (c *dashboardClient) GetDashboard(ctx context.Context, key client.ObjectKey) (*Dashboard, error) { + obj := &Dashboard{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *dashboardClient) ListDashboard(ctx context.Context, opts ...client.ListOption) (*DashboardList, error) { + list := &DashboardList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *dashboardClient) CreateDashboard(ctx context.Context, obj *Dashboard, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *dashboardClient) DeleteDashboard(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &Dashboard{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *dashboardClient) UpdateDashboard(ctx context.Context, obj *Dashboard, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *dashboardClient) PatchDashboard(ctx context.Context, obj *Dashboard, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *dashboardClient) DeleteAllOfDashboard(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &Dashboard{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *dashboardClient) UpsertDashboard(ctx context.Context, obj *Dashboard, transitionFuncs ...DashboardTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*Dashboard), desired.(*Dashboard)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *dashboardClient) UpdateDashboardStatus(ctx context.Context, obj *Dashboard, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *dashboardClient) PatchDashboardStatus(ctx context.Context, obj *Dashboard, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides DashboardClients for multiple clusters. +type MulticlusterDashboardClient interface { + // Cluster returns a DashboardClient for the given cluster + Cluster(cluster string) (DashboardClient, error) +} + +type multiclusterDashboardClient struct { + client multicluster.Client +} + +func NewMulticlusterDashboardClient(client multicluster.Client) MulticlusterDashboardClient { + return &multiclusterDashboardClient{client: client} +} + +func (m *multiclusterDashboardClient) Cluster(cluster string) (DashboardClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewDashboardClient(client), nil +} + +// Reader knows how to read and list IstioLifecycleManagers. +type IstioLifecycleManagerReader interface { + // Get retrieves a IstioLifecycleManager for the given object key + GetIstioLifecycleManager(ctx context.Context, key client.ObjectKey) (*IstioLifecycleManager, error) + + // List retrieves list of IstioLifecycleManagers for a given namespace and list options. + ListIstioLifecycleManager(ctx context.Context, opts ...client.ListOption) (*IstioLifecycleManagerList, error) +} + +// IstioLifecycleManagerTransitionFunction instructs the IstioLifecycleManagerWriter how to transition between an existing +// IstioLifecycleManager object and a desired on an Upsert +type IstioLifecycleManagerTransitionFunction func(existing, desired *IstioLifecycleManager) error + +// Writer knows how to create, delete, and update IstioLifecycleManagers. +type IstioLifecycleManagerWriter interface { + // Create saves the IstioLifecycleManager object. + CreateIstioLifecycleManager(ctx context.Context, obj *IstioLifecycleManager, opts ...client.CreateOption) error + + // Delete deletes the IstioLifecycleManager object. + DeleteIstioLifecycleManager(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given IstioLifecycleManager object. + UpdateIstioLifecycleManager(ctx context.Context, obj *IstioLifecycleManager, opts ...client.UpdateOption) error + + // Patch patches the given IstioLifecycleManager object. + PatchIstioLifecycleManager(ctx context.Context, obj *IstioLifecycleManager, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all IstioLifecycleManager objects matching the given options. + DeleteAllOfIstioLifecycleManager(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the IstioLifecycleManager object. + UpsertIstioLifecycleManager(ctx context.Context, obj *IstioLifecycleManager, transitionFuncs ...IstioLifecycleManagerTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a IstioLifecycleManager object. +type IstioLifecycleManagerStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given IstioLifecycleManager object. + UpdateIstioLifecycleManagerStatus(ctx context.Context, obj *IstioLifecycleManager, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given IstioLifecycleManager object's subresource. + PatchIstioLifecycleManagerStatus(ctx context.Context, obj *IstioLifecycleManager, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on IstioLifecycleManagers. +type IstioLifecycleManagerClient interface { + IstioLifecycleManagerReader + IstioLifecycleManagerWriter + IstioLifecycleManagerStatusWriter +} + +type istioLifecycleManagerClient struct { + client client.Client +} + +func NewIstioLifecycleManagerClient(client client.Client) *istioLifecycleManagerClient { + return &istioLifecycleManagerClient{client: client} +} + +func (c *istioLifecycleManagerClient) GetIstioLifecycleManager(ctx context.Context, key client.ObjectKey) (*IstioLifecycleManager, error) { + obj := &IstioLifecycleManager{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *istioLifecycleManagerClient) ListIstioLifecycleManager(ctx context.Context, opts ...client.ListOption) (*IstioLifecycleManagerList, error) { + list := &IstioLifecycleManagerList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *istioLifecycleManagerClient) CreateIstioLifecycleManager(ctx context.Context, obj *IstioLifecycleManager, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *istioLifecycleManagerClient) DeleteIstioLifecycleManager(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &IstioLifecycleManager{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *istioLifecycleManagerClient) UpdateIstioLifecycleManager(ctx context.Context, obj *IstioLifecycleManager, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *istioLifecycleManagerClient) PatchIstioLifecycleManager(ctx context.Context, obj *IstioLifecycleManager, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *istioLifecycleManagerClient) DeleteAllOfIstioLifecycleManager(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &IstioLifecycleManager{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *istioLifecycleManagerClient) UpsertIstioLifecycleManager(ctx context.Context, obj *IstioLifecycleManager, transitionFuncs ...IstioLifecycleManagerTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*IstioLifecycleManager), desired.(*IstioLifecycleManager)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *istioLifecycleManagerClient) UpdateIstioLifecycleManagerStatus(ctx context.Context, obj *IstioLifecycleManager, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *istioLifecycleManagerClient) PatchIstioLifecycleManagerStatus(ctx context.Context, obj *IstioLifecycleManager, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides IstioLifecycleManagerClients for multiple clusters. +type MulticlusterIstioLifecycleManagerClient interface { + // Cluster returns a IstioLifecycleManagerClient for the given cluster + Cluster(cluster string) (IstioLifecycleManagerClient, error) +} + +type multiclusterIstioLifecycleManagerClient struct { + client multicluster.Client +} + +func NewMulticlusterIstioLifecycleManagerClient(client multicluster.Client) MulticlusterIstioLifecycleManagerClient { + return &multiclusterIstioLifecycleManagerClient{client: client} +} + +func (m *multiclusterIstioLifecycleManagerClient) Cluster(cluster string) (IstioLifecycleManagerClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewIstioLifecycleManagerClient(client), nil +} + +// Reader knows how to read and list GatewayLifecycleManagers. +type GatewayLifecycleManagerReader interface { + // Get retrieves a GatewayLifecycleManager for the given object key + GetGatewayLifecycleManager(ctx context.Context, key client.ObjectKey) (*GatewayLifecycleManager, error) + + // List retrieves list of GatewayLifecycleManagers for a given namespace and list options. + ListGatewayLifecycleManager(ctx context.Context, opts ...client.ListOption) (*GatewayLifecycleManagerList, error) +} + +// GatewayLifecycleManagerTransitionFunction instructs the GatewayLifecycleManagerWriter how to transition between an existing +// GatewayLifecycleManager object and a desired on an Upsert +type GatewayLifecycleManagerTransitionFunction func(existing, desired *GatewayLifecycleManager) error + +// Writer knows how to create, delete, and update GatewayLifecycleManagers. +type GatewayLifecycleManagerWriter interface { + // Create saves the GatewayLifecycleManager object. + CreateGatewayLifecycleManager(ctx context.Context, obj *GatewayLifecycleManager, opts ...client.CreateOption) error + + // Delete deletes the GatewayLifecycleManager object. + DeleteGatewayLifecycleManager(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given GatewayLifecycleManager object. + UpdateGatewayLifecycleManager(ctx context.Context, obj *GatewayLifecycleManager, opts ...client.UpdateOption) error + + // Patch patches the given GatewayLifecycleManager object. + PatchGatewayLifecycleManager(ctx context.Context, obj *GatewayLifecycleManager, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all GatewayLifecycleManager objects matching the given options. + DeleteAllOfGatewayLifecycleManager(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the GatewayLifecycleManager object. + UpsertGatewayLifecycleManager(ctx context.Context, obj *GatewayLifecycleManager, transitionFuncs ...GatewayLifecycleManagerTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a GatewayLifecycleManager object. +type GatewayLifecycleManagerStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given GatewayLifecycleManager object. + UpdateGatewayLifecycleManagerStatus(ctx context.Context, obj *GatewayLifecycleManager, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given GatewayLifecycleManager object's subresource. + PatchGatewayLifecycleManagerStatus(ctx context.Context, obj *GatewayLifecycleManager, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on GatewayLifecycleManagers. +type GatewayLifecycleManagerClient interface { + GatewayLifecycleManagerReader + GatewayLifecycleManagerWriter + GatewayLifecycleManagerStatusWriter +} + +type gatewayLifecycleManagerClient struct { + client client.Client +} + +func NewGatewayLifecycleManagerClient(client client.Client) *gatewayLifecycleManagerClient { + return &gatewayLifecycleManagerClient{client: client} +} + +func (c *gatewayLifecycleManagerClient) GetGatewayLifecycleManager(ctx context.Context, key client.ObjectKey) (*GatewayLifecycleManager, error) { + obj := &GatewayLifecycleManager{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *gatewayLifecycleManagerClient) ListGatewayLifecycleManager(ctx context.Context, opts ...client.ListOption) (*GatewayLifecycleManagerList, error) { + list := &GatewayLifecycleManagerList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *gatewayLifecycleManagerClient) CreateGatewayLifecycleManager(ctx context.Context, obj *GatewayLifecycleManager, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *gatewayLifecycleManagerClient) DeleteGatewayLifecycleManager(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &GatewayLifecycleManager{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *gatewayLifecycleManagerClient) UpdateGatewayLifecycleManager(ctx context.Context, obj *GatewayLifecycleManager, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *gatewayLifecycleManagerClient) PatchGatewayLifecycleManager(ctx context.Context, obj *GatewayLifecycleManager, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *gatewayLifecycleManagerClient) DeleteAllOfGatewayLifecycleManager(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &GatewayLifecycleManager{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *gatewayLifecycleManagerClient) UpsertGatewayLifecycleManager(ctx context.Context, obj *GatewayLifecycleManager, transitionFuncs ...GatewayLifecycleManagerTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*GatewayLifecycleManager), desired.(*GatewayLifecycleManager)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *gatewayLifecycleManagerClient) UpdateGatewayLifecycleManagerStatus(ctx context.Context, obj *GatewayLifecycleManager, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *gatewayLifecycleManagerClient) PatchGatewayLifecycleManagerStatus(ctx context.Context, obj *GatewayLifecycleManager, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides GatewayLifecycleManagerClients for multiple clusters. +type MulticlusterGatewayLifecycleManagerClient interface { + // Cluster returns a GatewayLifecycleManagerClient for the given cluster + Cluster(cluster string) (GatewayLifecycleManagerClient, error) +} + +type multiclusterGatewayLifecycleManagerClient struct { + client multicluster.Client +} + +func NewMulticlusterGatewayLifecycleManagerClient(client multicluster.Client) MulticlusterGatewayLifecycleManagerClient { + return &multiclusterGatewayLifecycleManagerClient{client: client} +} + +func (m *multiclusterGatewayLifecycleManagerClient) Cluster(cluster string) (GatewayLifecycleManagerClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewGatewayLifecycleManagerClient(client), nil +} diff --git a/client-go/admin.gloo.solo.io/v2/controller/event_handlers.go b/client-go/admin.gloo.solo.io/v2/controller/event_handlers.go new file mode 100644 index 000000000..14ce81944 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/controller/event_handlers.go @@ -0,0 +1,1088 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + admin_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the Workspace Resource +// DEPRECATED: Prefer reconciler pattern. +type WorkspaceEventHandler interface { + CreateWorkspace(obj *admin_gloo_solo_io_v2.Workspace) error + UpdateWorkspace(old, new *admin_gloo_solo_io_v2.Workspace) error + DeleteWorkspace(obj *admin_gloo_solo_io_v2.Workspace) error + GenericWorkspace(obj *admin_gloo_solo_io_v2.Workspace) error +} + +type WorkspaceEventHandlerFuncs struct { + OnCreate func(obj *admin_gloo_solo_io_v2.Workspace) error + OnUpdate func(old, new *admin_gloo_solo_io_v2.Workspace) error + OnDelete func(obj *admin_gloo_solo_io_v2.Workspace) error + OnGeneric func(obj *admin_gloo_solo_io_v2.Workspace) error +} + +func (f *WorkspaceEventHandlerFuncs) CreateWorkspace(obj *admin_gloo_solo_io_v2.Workspace) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *WorkspaceEventHandlerFuncs) DeleteWorkspace(obj *admin_gloo_solo_io_v2.Workspace) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *WorkspaceEventHandlerFuncs) UpdateWorkspace(objOld, objNew *admin_gloo_solo_io_v2.Workspace) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *WorkspaceEventHandlerFuncs) GenericWorkspace(obj *admin_gloo_solo_io_v2.Workspace) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type WorkspaceEventWatcher interface { + AddEventHandler(ctx context.Context, h WorkspaceEventHandler, predicates ...predicate.Predicate) error +} + +type workspaceEventWatcher struct { + watcher events.EventWatcher +} + +func NewWorkspaceEventWatcher(name string, mgr manager.Manager) WorkspaceEventWatcher { + return &workspaceEventWatcher{ + watcher: events.NewWatcher(name, mgr, &admin_gloo_solo_io_v2.Workspace{}), + } +} + +func (c *workspaceEventWatcher) AddEventHandler(ctx context.Context, h WorkspaceEventHandler, predicates ...predicate.Predicate) error { + handler := genericWorkspaceHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericWorkspaceHandler implements a generic events.EventHandler +type genericWorkspaceHandler struct { + handler WorkspaceEventHandler +} + +func (h genericWorkspaceHandler) Create(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.Workspace) + if !ok { + return errors.Errorf("internal error: Workspace handler received event for %T", object) + } + return h.handler.CreateWorkspace(obj) +} + +func (h genericWorkspaceHandler) Delete(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.Workspace) + if !ok { + return errors.Errorf("internal error: Workspace handler received event for %T", object) + } + return h.handler.DeleteWorkspace(obj) +} + +func (h genericWorkspaceHandler) Update(old, new client.Object) error { + objOld, ok := old.(*admin_gloo_solo_io_v2.Workspace) + if !ok { + return errors.Errorf("internal error: Workspace handler received event for %T", old) + } + objNew, ok := new.(*admin_gloo_solo_io_v2.Workspace) + if !ok { + return errors.Errorf("internal error: Workspace handler received event for %T", new) + } + return h.handler.UpdateWorkspace(objOld, objNew) +} + +func (h genericWorkspaceHandler) Generic(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.Workspace) + if !ok { + return errors.Errorf("internal error: Workspace handler received event for %T", object) + } + return h.handler.GenericWorkspace(obj) +} + +// Handle events for the WorkspaceSettings Resource +// DEPRECATED: Prefer reconciler pattern. +type WorkspaceSettingsEventHandler interface { + CreateWorkspaceSettings(obj *admin_gloo_solo_io_v2.WorkspaceSettings) error + UpdateWorkspaceSettings(old, new *admin_gloo_solo_io_v2.WorkspaceSettings) error + DeleteWorkspaceSettings(obj *admin_gloo_solo_io_v2.WorkspaceSettings) error + GenericWorkspaceSettings(obj *admin_gloo_solo_io_v2.WorkspaceSettings) error +} + +type WorkspaceSettingsEventHandlerFuncs struct { + OnCreate func(obj *admin_gloo_solo_io_v2.WorkspaceSettings) error + OnUpdate func(old, new *admin_gloo_solo_io_v2.WorkspaceSettings) error + OnDelete func(obj *admin_gloo_solo_io_v2.WorkspaceSettings) error + OnGeneric func(obj *admin_gloo_solo_io_v2.WorkspaceSettings) error +} + +func (f *WorkspaceSettingsEventHandlerFuncs) CreateWorkspaceSettings(obj *admin_gloo_solo_io_v2.WorkspaceSettings) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *WorkspaceSettingsEventHandlerFuncs) DeleteWorkspaceSettings(obj *admin_gloo_solo_io_v2.WorkspaceSettings) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *WorkspaceSettingsEventHandlerFuncs) UpdateWorkspaceSettings(objOld, objNew *admin_gloo_solo_io_v2.WorkspaceSettings) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *WorkspaceSettingsEventHandlerFuncs) GenericWorkspaceSettings(obj *admin_gloo_solo_io_v2.WorkspaceSettings) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type WorkspaceSettingsEventWatcher interface { + AddEventHandler(ctx context.Context, h WorkspaceSettingsEventHandler, predicates ...predicate.Predicate) error +} + +type workspaceSettingsEventWatcher struct { + watcher events.EventWatcher +} + +func NewWorkspaceSettingsEventWatcher(name string, mgr manager.Manager) WorkspaceSettingsEventWatcher { + return &workspaceSettingsEventWatcher{ + watcher: events.NewWatcher(name, mgr, &admin_gloo_solo_io_v2.WorkspaceSettings{}), + } +} + +func (c *workspaceSettingsEventWatcher) AddEventHandler(ctx context.Context, h WorkspaceSettingsEventHandler, predicates ...predicate.Predicate) error { + handler := genericWorkspaceSettingsHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericWorkspaceSettingsHandler implements a generic events.EventHandler +type genericWorkspaceSettingsHandler struct { + handler WorkspaceSettingsEventHandler +} + +func (h genericWorkspaceSettingsHandler) Create(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.WorkspaceSettings) + if !ok { + return errors.Errorf("internal error: WorkspaceSettings handler received event for %T", object) + } + return h.handler.CreateWorkspaceSettings(obj) +} + +func (h genericWorkspaceSettingsHandler) Delete(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.WorkspaceSettings) + if !ok { + return errors.Errorf("internal error: WorkspaceSettings handler received event for %T", object) + } + return h.handler.DeleteWorkspaceSettings(obj) +} + +func (h genericWorkspaceSettingsHandler) Update(old, new client.Object) error { + objOld, ok := old.(*admin_gloo_solo_io_v2.WorkspaceSettings) + if !ok { + return errors.Errorf("internal error: WorkspaceSettings handler received event for %T", old) + } + objNew, ok := new.(*admin_gloo_solo_io_v2.WorkspaceSettings) + if !ok { + return errors.Errorf("internal error: WorkspaceSettings handler received event for %T", new) + } + return h.handler.UpdateWorkspaceSettings(objOld, objNew) +} + +func (h genericWorkspaceSettingsHandler) Generic(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.WorkspaceSettings) + if !ok { + return errors.Errorf("internal error: WorkspaceSettings handler received event for %T", object) + } + return h.handler.GenericWorkspaceSettings(obj) +} + +// Handle events for the KubernetesCluster Resource +// DEPRECATED: Prefer reconciler pattern. +type KubernetesClusterEventHandler interface { + CreateKubernetesCluster(obj *admin_gloo_solo_io_v2.KubernetesCluster) error + UpdateKubernetesCluster(old, new *admin_gloo_solo_io_v2.KubernetesCluster) error + DeleteKubernetesCluster(obj *admin_gloo_solo_io_v2.KubernetesCluster) error + GenericKubernetesCluster(obj *admin_gloo_solo_io_v2.KubernetesCluster) error +} + +type KubernetesClusterEventHandlerFuncs struct { + OnCreate func(obj *admin_gloo_solo_io_v2.KubernetesCluster) error + OnUpdate func(old, new *admin_gloo_solo_io_v2.KubernetesCluster) error + OnDelete func(obj *admin_gloo_solo_io_v2.KubernetesCluster) error + OnGeneric func(obj *admin_gloo_solo_io_v2.KubernetesCluster) error +} + +func (f *KubernetesClusterEventHandlerFuncs) CreateKubernetesCluster(obj *admin_gloo_solo_io_v2.KubernetesCluster) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *KubernetesClusterEventHandlerFuncs) DeleteKubernetesCluster(obj *admin_gloo_solo_io_v2.KubernetesCluster) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *KubernetesClusterEventHandlerFuncs) UpdateKubernetesCluster(objOld, objNew *admin_gloo_solo_io_v2.KubernetesCluster) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *KubernetesClusterEventHandlerFuncs) GenericKubernetesCluster(obj *admin_gloo_solo_io_v2.KubernetesCluster) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type KubernetesClusterEventWatcher interface { + AddEventHandler(ctx context.Context, h KubernetesClusterEventHandler, predicates ...predicate.Predicate) error +} + +type kubernetesClusterEventWatcher struct { + watcher events.EventWatcher +} + +func NewKubernetesClusterEventWatcher(name string, mgr manager.Manager) KubernetesClusterEventWatcher { + return &kubernetesClusterEventWatcher{ + watcher: events.NewWatcher(name, mgr, &admin_gloo_solo_io_v2.KubernetesCluster{}), + } +} + +func (c *kubernetesClusterEventWatcher) AddEventHandler(ctx context.Context, h KubernetesClusterEventHandler, predicates ...predicate.Predicate) error { + handler := genericKubernetesClusterHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericKubernetesClusterHandler implements a generic events.EventHandler +type genericKubernetesClusterHandler struct { + handler KubernetesClusterEventHandler +} + +func (h genericKubernetesClusterHandler) Create(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.KubernetesCluster) + if !ok { + return errors.Errorf("internal error: KubernetesCluster handler received event for %T", object) + } + return h.handler.CreateKubernetesCluster(obj) +} + +func (h genericKubernetesClusterHandler) Delete(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.KubernetesCluster) + if !ok { + return errors.Errorf("internal error: KubernetesCluster handler received event for %T", object) + } + return h.handler.DeleteKubernetesCluster(obj) +} + +func (h genericKubernetesClusterHandler) Update(old, new client.Object) error { + objOld, ok := old.(*admin_gloo_solo_io_v2.KubernetesCluster) + if !ok { + return errors.Errorf("internal error: KubernetesCluster handler received event for %T", old) + } + objNew, ok := new.(*admin_gloo_solo_io_v2.KubernetesCluster) + if !ok { + return errors.Errorf("internal error: KubernetesCluster handler received event for %T", new) + } + return h.handler.UpdateKubernetesCluster(objOld, objNew) +} + +func (h genericKubernetesClusterHandler) Generic(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.KubernetesCluster) + if !ok { + return errors.Errorf("internal error: KubernetesCluster handler received event for %T", object) + } + return h.handler.GenericKubernetesCluster(obj) +} + +// Handle events for the RootTrustPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type RootTrustPolicyEventHandler interface { + CreateRootTrustPolicy(obj *admin_gloo_solo_io_v2.RootTrustPolicy) error + UpdateRootTrustPolicy(old, new *admin_gloo_solo_io_v2.RootTrustPolicy) error + DeleteRootTrustPolicy(obj *admin_gloo_solo_io_v2.RootTrustPolicy) error + GenericRootTrustPolicy(obj *admin_gloo_solo_io_v2.RootTrustPolicy) error +} + +type RootTrustPolicyEventHandlerFuncs struct { + OnCreate func(obj *admin_gloo_solo_io_v2.RootTrustPolicy) error + OnUpdate func(old, new *admin_gloo_solo_io_v2.RootTrustPolicy) error + OnDelete func(obj *admin_gloo_solo_io_v2.RootTrustPolicy) error + OnGeneric func(obj *admin_gloo_solo_io_v2.RootTrustPolicy) error +} + +func (f *RootTrustPolicyEventHandlerFuncs) CreateRootTrustPolicy(obj *admin_gloo_solo_io_v2.RootTrustPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *RootTrustPolicyEventHandlerFuncs) DeleteRootTrustPolicy(obj *admin_gloo_solo_io_v2.RootTrustPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *RootTrustPolicyEventHandlerFuncs) UpdateRootTrustPolicy(objOld, objNew *admin_gloo_solo_io_v2.RootTrustPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *RootTrustPolicyEventHandlerFuncs) GenericRootTrustPolicy(obj *admin_gloo_solo_io_v2.RootTrustPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type RootTrustPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h RootTrustPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type rootTrustPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewRootTrustPolicyEventWatcher(name string, mgr manager.Manager) RootTrustPolicyEventWatcher { + return &rootTrustPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &admin_gloo_solo_io_v2.RootTrustPolicy{}), + } +} + +func (c *rootTrustPolicyEventWatcher) AddEventHandler(ctx context.Context, h RootTrustPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericRootTrustPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericRootTrustPolicyHandler implements a generic events.EventHandler +type genericRootTrustPolicyHandler struct { + handler RootTrustPolicyEventHandler +} + +func (h genericRootTrustPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.RootTrustPolicy) + if !ok { + return errors.Errorf("internal error: RootTrustPolicy handler received event for %T", object) + } + return h.handler.CreateRootTrustPolicy(obj) +} + +func (h genericRootTrustPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.RootTrustPolicy) + if !ok { + return errors.Errorf("internal error: RootTrustPolicy handler received event for %T", object) + } + return h.handler.DeleteRootTrustPolicy(obj) +} + +func (h genericRootTrustPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*admin_gloo_solo_io_v2.RootTrustPolicy) + if !ok { + return errors.Errorf("internal error: RootTrustPolicy handler received event for %T", old) + } + objNew, ok := new.(*admin_gloo_solo_io_v2.RootTrustPolicy) + if !ok { + return errors.Errorf("internal error: RootTrustPolicy handler received event for %T", new) + } + return h.handler.UpdateRootTrustPolicy(objOld, objNew) +} + +func (h genericRootTrustPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.RootTrustPolicy) + if !ok { + return errors.Errorf("internal error: RootTrustPolicy handler received event for %T", object) + } + return h.handler.GenericRootTrustPolicy(obj) +} + +// Handle events for the ExtAuthServer Resource +// DEPRECATED: Prefer reconciler pattern. +type ExtAuthServerEventHandler interface { + CreateExtAuthServer(obj *admin_gloo_solo_io_v2.ExtAuthServer) error + UpdateExtAuthServer(old, new *admin_gloo_solo_io_v2.ExtAuthServer) error + DeleteExtAuthServer(obj *admin_gloo_solo_io_v2.ExtAuthServer) error + GenericExtAuthServer(obj *admin_gloo_solo_io_v2.ExtAuthServer) error +} + +type ExtAuthServerEventHandlerFuncs struct { + OnCreate func(obj *admin_gloo_solo_io_v2.ExtAuthServer) error + OnUpdate func(old, new *admin_gloo_solo_io_v2.ExtAuthServer) error + OnDelete func(obj *admin_gloo_solo_io_v2.ExtAuthServer) error + OnGeneric func(obj *admin_gloo_solo_io_v2.ExtAuthServer) error +} + +func (f *ExtAuthServerEventHandlerFuncs) CreateExtAuthServer(obj *admin_gloo_solo_io_v2.ExtAuthServer) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ExtAuthServerEventHandlerFuncs) DeleteExtAuthServer(obj *admin_gloo_solo_io_v2.ExtAuthServer) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ExtAuthServerEventHandlerFuncs) UpdateExtAuthServer(objOld, objNew *admin_gloo_solo_io_v2.ExtAuthServer) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ExtAuthServerEventHandlerFuncs) GenericExtAuthServer(obj *admin_gloo_solo_io_v2.ExtAuthServer) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ExtAuthServerEventWatcher interface { + AddEventHandler(ctx context.Context, h ExtAuthServerEventHandler, predicates ...predicate.Predicate) error +} + +type extAuthServerEventWatcher struct { + watcher events.EventWatcher +} + +func NewExtAuthServerEventWatcher(name string, mgr manager.Manager) ExtAuthServerEventWatcher { + return &extAuthServerEventWatcher{ + watcher: events.NewWatcher(name, mgr, &admin_gloo_solo_io_v2.ExtAuthServer{}), + } +} + +func (c *extAuthServerEventWatcher) AddEventHandler(ctx context.Context, h ExtAuthServerEventHandler, predicates ...predicate.Predicate) error { + handler := genericExtAuthServerHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericExtAuthServerHandler implements a generic events.EventHandler +type genericExtAuthServerHandler struct { + handler ExtAuthServerEventHandler +} + +func (h genericExtAuthServerHandler) Create(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.ExtAuthServer) + if !ok { + return errors.Errorf("internal error: ExtAuthServer handler received event for %T", object) + } + return h.handler.CreateExtAuthServer(obj) +} + +func (h genericExtAuthServerHandler) Delete(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.ExtAuthServer) + if !ok { + return errors.Errorf("internal error: ExtAuthServer handler received event for %T", object) + } + return h.handler.DeleteExtAuthServer(obj) +} + +func (h genericExtAuthServerHandler) Update(old, new client.Object) error { + objOld, ok := old.(*admin_gloo_solo_io_v2.ExtAuthServer) + if !ok { + return errors.Errorf("internal error: ExtAuthServer handler received event for %T", old) + } + objNew, ok := new.(*admin_gloo_solo_io_v2.ExtAuthServer) + if !ok { + return errors.Errorf("internal error: ExtAuthServer handler received event for %T", new) + } + return h.handler.UpdateExtAuthServer(objOld, objNew) +} + +func (h genericExtAuthServerHandler) Generic(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.ExtAuthServer) + if !ok { + return errors.Errorf("internal error: ExtAuthServer handler received event for %T", object) + } + return h.handler.GenericExtAuthServer(obj) +} + +// Handle events for the RateLimitServerSettings Resource +// DEPRECATED: Prefer reconciler pattern. +type RateLimitServerSettingsEventHandler interface { + CreateRateLimitServerSettings(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) error + UpdateRateLimitServerSettings(old, new *admin_gloo_solo_io_v2.RateLimitServerSettings) error + DeleteRateLimitServerSettings(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) error + GenericRateLimitServerSettings(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) error +} + +type RateLimitServerSettingsEventHandlerFuncs struct { + OnCreate func(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) error + OnUpdate func(old, new *admin_gloo_solo_io_v2.RateLimitServerSettings) error + OnDelete func(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) error + OnGeneric func(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) error +} + +func (f *RateLimitServerSettingsEventHandlerFuncs) CreateRateLimitServerSettings(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *RateLimitServerSettingsEventHandlerFuncs) DeleteRateLimitServerSettings(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *RateLimitServerSettingsEventHandlerFuncs) UpdateRateLimitServerSettings(objOld, objNew *admin_gloo_solo_io_v2.RateLimitServerSettings) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *RateLimitServerSettingsEventHandlerFuncs) GenericRateLimitServerSettings(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type RateLimitServerSettingsEventWatcher interface { + AddEventHandler(ctx context.Context, h RateLimitServerSettingsEventHandler, predicates ...predicate.Predicate) error +} + +type rateLimitServerSettingsEventWatcher struct { + watcher events.EventWatcher +} + +func NewRateLimitServerSettingsEventWatcher(name string, mgr manager.Manager) RateLimitServerSettingsEventWatcher { + return &rateLimitServerSettingsEventWatcher{ + watcher: events.NewWatcher(name, mgr, &admin_gloo_solo_io_v2.RateLimitServerSettings{}), + } +} + +func (c *rateLimitServerSettingsEventWatcher) AddEventHandler(ctx context.Context, h RateLimitServerSettingsEventHandler, predicates ...predicate.Predicate) error { + handler := genericRateLimitServerSettingsHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericRateLimitServerSettingsHandler implements a generic events.EventHandler +type genericRateLimitServerSettingsHandler struct { + handler RateLimitServerSettingsEventHandler +} + +func (h genericRateLimitServerSettingsHandler) Create(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.RateLimitServerSettings) + if !ok { + return errors.Errorf("internal error: RateLimitServerSettings handler received event for %T", object) + } + return h.handler.CreateRateLimitServerSettings(obj) +} + +func (h genericRateLimitServerSettingsHandler) Delete(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.RateLimitServerSettings) + if !ok { + return errors.Errorf("internal error: RateLimitServerSettings handler received event for %T", object) + } + return h.handler.DeleteRateLimitServerSettings(obj) +} + +func (h genericRateLimitServerSettingsHandler) Update(old, new client.Object) error { + objOld, ok := old.(*admin_gloo_solo_io_v2.RateLimitServerSettings) + if !ok { + return errors.Errorf("internal error: RateLimitServerSettings handler received event for %T", old) + } + objNew, ok := new.(*admin_gloo_solo_io_v2.RateLimitServerSettings) + if !ok { + return errors.Errorf("internal error: RateLimitServerSettings handler received event for %T", new) + } + return h.handler.UpdateRateLimitServerSettings(objOld, objNew) +} + +func (h genericRateLimitServerSettingsHandler) Generic(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.RateLimitServerSettings) + if !ok { + return errors.Errorf("internal error: RateLimitServerSettings handler received event for %T", object) + } + return h.handler.GenericRateLimitServerSettings(obj) +} + +// Handle events for the RateLimitServerConfig Resource +// DEPRECATED: Prefer reconciler pattern. +type RateLimitServerConfigEventHandler interface { + CreateRateLimitServerConfig(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) error + UpdateRateLimitServerConfig(old, new *admin_gloo_solo_io_v2.RateLimitServerConfig) error + DeleteRateLimitServerConfig(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) error + GenericRateLimitServerConfig(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) error +} + +type RateLimitServerConfigEventHandlerFuncs struct { + OnCreate func(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) error + OnUpdate func(old, new *admin_gloo_solo_io_v2.RateLimitServerConfig) error + OnDelete func(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) error + OnGeneric func(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) error +} + +func (f *RateLimitServerConfigEventHandlerFuncs) CreateRateLimitServerConfig(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *RateLimitServerConfigEventHandlerFuncs) DeleteRateLimitServerConfig(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *RateLimitServerConfigEventHandlerFuncs) UpdateRateLimitServerConfig(objOld, objNew *admin_gloo_solo_io_v2.RateLimitServerConfig) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *RateLimitServerConfigEventHandlerFuncs) GenericRateLimitServerConfig(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type RateLimitServerConfigEventWatcher interface { + AddEventHandler(ctx context.Context, h RateLimitServerConfigEventHandler, predicates ...predicate.Predicate) error +} + +type rateLimitServerConfigEventWatcher struct { + watcher events.EventWatcher +} + +func NewRateLimitServerConfigEventWatcher(name string, mgr manager.Manager) RateLimitServerConfigEventWatcher { + return &rateLimitServerConfigEventWatcher{ + watcher: events.NewWatcher(name, mgr, &admin_gloo_solo_io_v2.RateLimitServerConfig{}), + } +} + +func (c *rateLimitServerConfigEventWatcher) AddEventHandler(ctx context.Context, h RateLimitServerConfigEventHandler, predicates ...predicate.Predicate) error { + handler := genericRateLimitServerConfigHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericRateLimitServerConfigHandler implements a generic events.EventHandler +type genericRateLimitServerConfigHandler struct { + handler RateLimitServerConfigEventHandler +} + +func (h genericRateLimitServerConfigHandler) Create(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.RateLimitServerConfig) + if !ok { + return errors.Errorf("internal error: RateLimitServerConfig handler received event for %T", object) + } + return h.handler.CreateRateLimitServerConfig(obj) +} + +func (h genericRateLimitServerConfigHandler) Delete(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.RateLimitServerConfig) + if !ok { + return errors.Errorf("internal error: RateLimitServerConfig handler received event for %T", object) + } + return h.handler.DeleteRateLimitServerConfig(obj) +} + +func (h genericRateLimitServerConfigHandler) Update(old, new client.Object) error { + objOld, ok := old.(*admin_gloo_solo_io_v2.RateLimitServerConfig) + if !ok { + return errors.Errorf("internal error: RateLimitServerConfig handler received event for %T", old) + } + objNew, ok := new.(*admin_gloo_solo_io_v2.RateLimitServerConfig) + if !ok { + return errors.Errorf("internal error: RateLimitServerConfig handler received event for %T", new) + } + return h.handler.UpdateRateLimitServerConfig(objOld, objNew) +} + +func (h genericRateLimitServerConfigHandler) Generic(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.RateLimitServerConfig) + if !ok { + return errors.Errorf("internal error: RateLimitServerConfig handler received event for %T", object) + } + return h.handler.GenericRateLimitServerConfig(obj) +} + +// Handle events for the Dashboard Resource +// DEPRECATED: Prefer reconciler pattern. +type DashboardEventHandler interface { + CreateDashboard(obj *admin_gloo_solo_io_v2.Dashboard) error + UpdateDashboard(old, new *admin_gloo_solo_io_v2.Dashboard) error + DeleteDashboard(obj *admin_gloo_solo_io_v2.Dashboard) error + GenericDashboard(obj *admin_gloo_solo_io_v2.Dashboard) error +} + +type DashboardEventHandlerFuncs struct { + OnCreate func(obj *admin_gloo_solo_io_v2.Dashboard) error + OnUpdate func(old, new *admin_gloo_solo_io_v2.Dashboard) error + OnDelete func(obj *admin_gloo_solo_io_v2.Dashboard) error + OnGeneric func(obj *admin_gloo_solo_io_v2.Dashboard) error +} + +func (f *DashboardEventHandlerFuncs) CreateDashboard(obj *admin_gloo_solo_io_v2.Dashboard) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *DashboardEventHandlerFuncs) DeleteDashboard(obj *admin_gloo_solo_io_v2.Dashboard) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *DashboardEventHandlerFuncs) UpdateDashboard(objOld, objNew *admin_gloo_solo_io_v2.Dashboard) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *DashboardEventHandlerFuncs) GenericDashboard(obj *admin_gloo_solo_io_v2.Dashboard) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type DashboardEventWatcher interface { + AddEventHandler(ctx context.Context, h DashboardEventHandler, predicates ...predicate.Predicate) error +} + +type dashboardEventWatcher struct { + watcher events.EventWatcher +} + +func NewDashboardEventWatcher(name string, mgr manager.Manager) DashboardEventWatcher { + return &dashboardEventWatcher{ + watcher: events.NewWatcher(name, mgr, &admin_gloo_solo_io_v2.Dashboard{}), + } +} + +func (c *dashboardEventWatcher) AddEventHandler(ctx context.Context, h DashboardEventHandler, predicates ...predicate.Predicate) error { + handler := genericDashboardHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericDashboardHandler implements a generic events.EventHandler +type genericDashboardHandler struct { + handler DashboardEventHandler +} + +func (h genericDashboardHandler) Create(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.Dashboard) + if !ok { + return errors.Errorf("internal error: Dashboard handler received event for %T", object) + } + return h.handler.CreateDashboard(obj) +} + +func (h genericDashboardHandler) Delete(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.Dashboard) + if !ok { + return errors.Errorf("internal error: Dashboard handler received event for %T", object) + } + return h.handler.DeleteDashboard(obj) +} + +func (h genericDashboardHandler) Update(old, new client.Object) error { + objOld, ok := old.(*admin_gloo_solo_io_v2.Dashboard) + if !ok { + return errors.Errorf("internal error: Dashboard handler received event for %T", old) + } + objNew, ok := new.(*admin_gloo_solo_io_v2.Dashboard) + if !ok { + return errors.Errorf("internal error: Dashboard handler received event for %T", new) + } + return h.handler.UpdateDashboard(objOld, objNew) +} + +func (h genericDashboardHandler) Generic(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.Dashboard) + if !ok { + return errors.Errorf("internal error: Dashboard handler received event for %T", object) + } + return h.handler.GenericDashboard(obj) +} + +// Handle events for the IstioLifecycleManager Resource +// DEPRECATED: Prefer reconciler pattern. +type IstioLifecycleManagerEventHandler interface { + CreateIstioLifecycleManager(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) error + UpdateIstioLifecycleManager(old, new *admin_gloo_solo_io_v2.IstioLifecycleManager) error + DeleteIstioLifecycleManager(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) error + GenericIstioLifecycleManager(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) error +} + +type IstioLifecycleManagerEventHandlerFuncs struct { + OnCreate func(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) error + OnUpdate func(old, new *admin_gloo_solo_io_v2.IstioLifecycleManager) error + OnDelete func(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) error + OnGeneric func(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) error +} + +func (f *IstioLifecycleManagerEventHandlerFuncs) CreateIstioLifecycleManager(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *IstioLifecycleManagerEventHandlerFuncs) DeleteIstioLifecycleManager(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *IstioLifecycleManagerEventHandlerFuncs) UpdateIstioLifecycleManager(objOld, objNew *admin_gloo_solo_io_v2.IstioLifecycleManager) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *IstioLifecycleManagerEventHandlerFuncs) GenericIstioLifecycleManager(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type IstioLifecycleManagerEventWatcher interface { + AddEventHandler(ctx context.Context, h IstioLifecycleManagerEventHandler, predicates ...predicate.Predicate) error +} + +type istioLifecycleManagerEventWatcher struct { + watcher events.EventWatcher +} + +func NewIstioLifecycleManagerEventWatcher(name string, mgr manager.Manager) IstioLifecycleManagerEventWatcher { + return &istioLifecycleManagerEventWatcher{ + watcher: events.NewWatcher(name, mgr, &admin_gloo_solo_io_v2.IstioLifecycleManager{}), + } +} + +func (c *istioLifecycleManagerEventWatcher) AddEventHandler(ctx context.Context, h IstioLifecycleManagerEventHandler, predicates ...predicate.Predicate) error { + handler := genericIstioLifecycleManagerHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericIstioLifecycleManagerHandler implements a generic events.EventHandler +type genericIstioLifecycleManagerHandler struct { + handler IstioLifecycleManagerEventHandler +} + +func (h genericIstioLifecycleManagerHandler) Create(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.IstioLifecycleManager) + if !ok { + return errors.Errorf("internal error: IstioLifecycleManager handler received event for %T", object) + } + return h.handler.CreateIstioLifecycleManager(obj) +} + +func (h genericIstioLifecycleManagerHandler) Delete(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.IstioLifecycleManager) + if !ok { + return errors.Errorf("internal error: IstioLifecycleManager handler received event for %T", object) + } + return h.handler.DeleteIstioLifecycleManager(obj) +} + +func (h genericIstioLifecycleManagerHandler) Update(old, new client.Object) error { + objOld, ok := old.(*admin_gloo_solo_io_v2.IstioLifecycleManager) + if !ok { + return errors.Errorf("internal error: IstioLifecycleManager handler received event for %T", old) + } + objNew, ok := new.(*admin_gloo_solo_io_v2.IstioLifecycleManager) + if !ok { + return errors.Errorf("internal error: IstioLifecycleManager handler received event for %T", new) + } + return h.handler.UpdateIstioLifecycleManager(objOld, objNew) +} + +func (h genericIstioLifecycleManagerHandler) Generic(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.IstioLifecycleManager) + if !ok { + return errors.Errorf("internal error: IstioLifecycleManager handler received event for %T", object) + } + return h.handler.GenericIstioLifecycleManager(obj) +} + +// Handle events for the GatewayLifecycleManager Resource +// DEPRECATED: Prefer reconciler pattern. +type GatewayLifecycleManagerEventHandler interface { + CreateGatewayLifecycleManager(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) error + UpdateGatewayLifecycleManager(old, new *admin_gloo_solo_io_v2.GatewayLifecycleManager) error + DeleteGatewayLifecycleManager(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) error + GenericGatewayLifecycleManager(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) error +} + +type GatewayLifecycleManagerEventHandlerFuncs struct { + OnCreate func(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) error + OnUpdate func(old, new *admin_gloo_solo_io_v2.GatewayLifecycleManager) error + OnDelete func(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) error + OnGeneric func(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) error +} + +func (f *GatewayLifecycleManagerEventHandlerFuncs) CreateGatewayLifecycleManager(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *GatewayLifecycleManagerEventHandlerFuncs) DeleteGatewayLifecycleManager(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *GatewayLifecycleManagerEventHandlerFuncs) UpdateGatewayLifecycleManager(objOld, objNew *admin_gloo_solo_io_v2.GatewayLifecycleManager) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *GatewayLifecycleManagerEventHandlerFuncs) GenericGatewayLifecycleManager(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type GatewayLifecycleManagerEventWatcher interface { + AddEventHandler(ctx context.Context, h GatewayLifecycleManagerEventHandler, predicates ...predicate.Predicate) error +} + +type gatewayLifecycleManagerEventWatcher struct { + watcher events.EventWatcher +} + +func NewGatewayLifecycleManagerEventWatcher(name string, mgr manager.Manager) GatewayLifecycleManagerEventWatcher { + return &gatewayLifecycleManagerEventWatcher{ + watcher: events.NewWatcher(name, mgr, &admin_gloo_solo_io_v2.GatewayLifecycleManager{}), + } +} + +func (c *gatewayLifecycleManagerEventWatcher) AddEventHandler(ctx context.Context, h GatewayLifecycleManagerEventHandler, predicates ...predicate.Predicate) error { + handler := genericGatewayLifecycleManagerHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericGatewayLifecycleManagerHandler implements a generic events.EventHandler +type genericGatewayLifecycleManagerHandler struct { + handler GatewayLifecycleManagerEventHandler +} + +func (h genericGatewayLifecycleManagerHandler) Create(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.GatewayLifecycleManager) + if !ok { + return errors.Errorf("internal error: GatewayLifecycleManager handler received event for %T", object) + } + return h.handler.CreateGatewayLifecycleManager(obj) +} + +func (h genericGatewayLifecycleManagerHandler) Delete(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.GatewayLifecycleManager) + if !ok { + return errors.Errorf("internal error: GatewayLifecycleManager handler received event for %T", object) + } + return h.handler.DeleteGatewayLifecycleManager(obj) +} + +func (h genericGatewayLifecycleManagerHandler) Update(old, new client.Object) error { + objOld, ok := old.(*admin_gloo_solo_io_v2.GatewayLifecycleManager) + if !ok { + return errors.Errorf("internal error: GatewayLifecycleManager handler received event for %T", old) + } + objNew, ok := new.(*admin_gloo_solo_io_v2.GatewayLifecycleManager) + if !ok { + return errors.Errorf("internal error: GatewayLifecycleManager handler received event for %T", new) + } + return h.handler.UpdateGatewayLifecycleManager(objOld, objNew) +} + +func (h genericGatewayLifecycleManagerHandler) Generic(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.GatewayLifecycleManager) + if !ok { + return errors.Errorf("internal error: GatewayLifecycleManager handler received event for %T", object) + } + return h.handler.GenericGatewayLifecycleManager(obj) +} diff --git a/client-go/admin.gloo.solo.io/v2/controller/mocks/event_handlers.go b/client-go/admin.gloo.solo.io/v2/controller/mocks/event_handlers.go new file mode 100644 index 000000000..9fe5b8f24 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/controller/mocks/event_handlers.go @@ -0,0 +1,1226 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2/controller" +) + +// MockWorkspaceEventHandler is a mock of WorkspaceEventHandler interface. +type MockWorkspaceEventHandler struct { + ctrl *gomock.Controller + recorder *MockWorkspaceEventHandlerMockRecorder +} + +// MockWorkspaceEventHandlerMockRecorder is the mock recorder for MockWorkspaceEventHandler. +type MockWorkspaceEventHandlerMockRecorder struct { + mock *MockWorkspaceEventHandler +} + +// NewMockWorkspaceEventHandler creates a new mock instance. +func NewMockWorkspaceEventHandler(ctrl *gomock.Controller) *MockWorkspaceEventHandler { + mock := &MockWorkspaceEventHandler{ctrl: ctrl} + mock.recorder = &MockWorkspaceEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceEventHandler) EXPECT() *MockWorkspaceEventHandlerMockRecorder { + return m.recorder +} + +// CreateWorkspace mocks base method. +func (m *MockWorkspaceEventHandler) CreateWorkspace(obj *v2.Workspace) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateWorkspace", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWorkspace indicates an expected call of CreateWorkspace. +func (mr *MockWorkspaceEventHandlerMockRecorder) CreateWorkspace(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWorkspace", reflect.TypeOf((*MockWorkspaceEventHandler)(nil).CreateWorkspace), obj) +} + +// DeleteWorkspace mocks base method. +func (m *MockWorkspaceEventHandler) DeleteWorkspace(obj *v2.Workspace) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteWorkspace", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWorkspace indicates an expected call of DeleteWorkspace. +func (mr *MockWorkspaceEventHandlerMockRecorder) DeleteWorkspace(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkspace", reflect.TypeOf((*MockWorkspaceEventHandler)(nil).DeleteWorkspace), obj) +} + +// GenericWorkspace mocks base method. +func (m *MockWorkspaceEventHandler) GenericWorkspace(obj *v2.Workspace) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericWorkspace", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericWorkspace indicates an expected call of GenericWorkspace. +func (mr *MockWorkspaceEventHandlerMockRecorder) GenericWorkspace(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericWorkspace", reflect.TypeOf((*MockWorkspaceEventHandler)(nil).GenericWorkspace), obj) +} + +// UpdateWorkspace mocks base method. +func (m *MockWorkspaceEventHandler) UpdateWorkspace(old, new *v2.Workspace) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateWorkspace", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWorkspace indicates an expected call of UpdateWorkspace. +func (mr *MockWorkspaceEventHandlerMockRecorder) UpdateWorkspace(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkspace", reflect.TypeOf((*MockWorkspaceEventHandler)(nil).UpdateWorkspace), old, new) +} + +// MockWorkspaceEventWatcher is a mock of WorkspaceEventWatcher interface. +type MockWorkspaceEventWatcher struct { + ctrl *gomock.Controller + recorder *MockWorkspaceEventWatcherMockRecorder +} + +// MockWorkspaceEventWatcherMockRecorder is the mock recorder for MockWorkspaceEventWatcher. +type MockWorkspaceEventWatcherMockRecorder struct { + mock *MockWorkspaceEventWatcher +} + +// NewMockWorkspaceEventWatcher creates a new mock instance. +func NewMockWorkspaceEventWatcher(ctrl *gomock.Controller) *MockWorkspaceEventWatcher { + mock := &MockWorkspaceEventWatcher{ctrl: ctrl} + mock.recorder = &MockWorkspaceEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceEventWatcher) EXPECT() *MockWorkspaceEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockWorkspaceEventWatcher) AddEventHandler(ctx context.Context, h controller.WorkspaceEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockWorkspaceEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockWorkspaceEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockWorkspaceSettingsEventHandler is a mock of WorkspaceSettingsEventHandler interface. +type MockWorkspaceSettingsEventHandler struct { + ctrl *gomock.Controller + recorder *MockWorkspaceSettingsEventHandlerMockRecorder +} + +// MockWorkspaceSettingsEventHandlerMockRecorder is the mock recorder for MockWorkspaceSettingsEventHandler. +type MockWorkspaceSettingsEventHandlerMockRecorder struct { + mock *MockWorkspaceSettingsEventHandler +} + +// NewMockWorkspaceSettingsEventHandler creates a new mock instance. +func NewMockWorkspaceSettingsEventHandler(ctrl *gomock.Controller) *MockWorkspaceSettingsEventHandler { + mock := &MockWorkspaceSettingsEventHandler{ctrl: ctrl} + mock.recorder = &MockWorkspaceSettingsEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceSettingsEventHandler) EXPECT() *MockWorkspaceSettingsEventHandlerMockRecorder { + return m.recorder +} + +// CreateWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsEventHandler) CreateWorkspaceSettings(obj *v2.WorkspaceSettings) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateWorkspaceSettings", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWorkspaceSettings indicates an expected call of CreateWorkspaceSettings. +func (mr *MockWorkspaceSettingsEventHandlerMockRecorder) CreateWorkspaceSettings(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsEventHandler)(nil).CreateWorkspaceSettings), obj) +} + +// DeleteWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsEventHandler) DeleteWorkspaceSettings(obj *v2.WorkspaceSettings) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteWorkspaceSettings", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWorkspaceSettings indicates an expected call of DeleteWorkspaceSettings. +func (mr *MockWorkspaceSettingsEventHandlerMockRecorder) DeleteWorkspaceSettings(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsEventHandler)(nil).DeleteWorkspaceSettings), obj) +} + +// GenericWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsEventHandler) GenericWorkspaceSettings(obj *v2.WorkspaceSettings) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericWorkspaceSettings", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericWorkspaceSettings indicates an expected call of GenericWorkspaceSettings. +func (mr *MockWorkspaceSettingsEventHandlerMockRecorder) GenericWorkspaceSettings(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsEventHandler)(nil).GenericWorkspaceSettings), obj) +} + +// UpdateWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsEventHandler) UpdateWorkspaceSettings(old, new *v2.WorkspaceSettings) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateWorkspaceSettings", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWorkspaceSettings indicates an expected call of UpdateWorkspaceSettings. +func (mr *MockWorkspaceSettingsEventHandlerMockRecorder) UpdateWorkspaceSettings(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsEventHandler)(nil).UpdateWorkspaceSettings), old, new) +} + +// MockWorkspaceSettingsEventWatcher is a mock of WorkspaceSettingsEventWatcher interface. +type MockWorkspaceSettingsEventWatcher struct { + ctrl *gomock.Controller + recorder *MockWorkspaceSettingsEventWatcherMockRecorder +} + +// MockWorkspaceSettingsEventWatcherMockRecorder is the mock recorder for MockWorkspaceSettingsEventWatcher. +type MockWorkspaceSettingsEventWatcherMockRecorder struct { + mock *MockWorkspaceSettingsEventWatcher +} + +// NewMockWorkspaceSettingsEventWatcher creates a new mock instance. +func NewMockWorkspaceSettingsEventWatcher(ctrl *gomock.Controller) *MockWorkspaceSettingsEventWatcher { + mock := &MockWorkspaceSettingsEventWatcher{ctrl: ctrl} + mock.recorder = &MockWorkspaceSettingsEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceSettingsEventWatcher) EXPECT() *MockWorkspaceSettingsEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockWorkspaceSettingsEventWatcher) AddEventHandler(ctx context.Context, h controller.WorkspaceSettingsEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockWorkspaceSettingsEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockWorkspaceSettingsEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockKubernetesClusterEventHandler is a mock of KubernetesClusterEventHandler interface. +type MockKubernetesClusterEventHandler struct { + ctrl *gomock.Controller + recorder *MockKubernetesClusterEventHandlerMockRecorder +} + +// MockKubernetesClusterEventHandlerMockRecorder is the mock recorder for MockKubernetesClusterEventHandler. +type MockKubernetesClusterEventHandlerMockRecorder struct { + mock *MockKubernetesClusterEventHandler +} + +// NewMockKubernetesClusterEventHandler creates a new mock instance. +func NewMockKubernetesClusterEventHandler(ctrl *gomock.Controller) *MockKubernetesClusterEventHandler { + mock := &MockKubernetesClusterEventHandler{ctrl: ctrl} + mock.recorder = &MockKubernetesClusterEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockKubernetesClusterEventHandler) EXPECT() *MockKubernetesClusterEventHandlerMockRecorder { + return m.recorder +} + +// CreateKubernetesCluster mocks base method. +func (m *MockKubernetesClusterEventHandler) CreateKubernetesCluster(obj *v2.KubernetesCluster) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateKubernetesCluster", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateKubernetesCluster indicates an expected call of CreateKubernetesCluster. +func (mr *MockKubernetesClusterEventHandlerMockRecorder) CreateKubernetesCluster(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterEventHandler)(nil).CreateKubernetesCluster), obj) +} + +// DeleteKubernetesCluster mocks base method. +func (m *MockKubernetesClusterEventHandler) DeleteKubernetesCluster(obj *v2.KubernetesCluster) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteKubernetesCluster", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteKubernetesCluster indicates an expected call of DeleteKubernetesCluster. +func (mr *MockKubernetesClusterEventHandlerMockRecorder) DeleteKubernetesCluster(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterEventHandler)(nil).DeleteKubernetesCluster), obj) +} + +// GenericKubernetesCluster mocks base method. +func (m *MockKubernetesClusterEventHandler) GenericKubernetesCluster(obj *v2.KubernetesCluster) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericKubernetesCluster", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericKubernetesCluster indicates an expected call of GenericKubernetesCluster. +func (mr *MockKubernetesClusterEventHandlerMockRecorder) GenericKubernetesCluster(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterEventHandler)(nil).GenericKubernetesCluster), obj) +} + +// UpdateKubernetesCluster mocks base method. +func (m *MockKubernetesClusterEventHandler) UpdateKubernetesCluster(old, new *v2.KubernetesCluster) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateKubernetesCluster", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateKubernetesCluster indicates an expected call of UpdateKubernetesCluster. +func (mr *MockKubernetesClusterEventHandlerMockRecorder) UpdateKubernetesCluster(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterEventHandler)(nil).UpdateKubernetesCluster), old, new) +} + +// MockKubernetesClusterEventWatcher is a mock of KubernetesClusterEventWatcher interface. +type MockKubernetesClusterEventWatcher struct { + ctrl *gomock.Controller + recorder *MockKubernetesClusterEventWatcherMockRecorder +} + +// MockKubernetesClusterEventWatcherMockRecorder is the mock recorder for MockKubernetesClusterEventWatcher. +type MockKubernetesClusterEventWatcherMockRecorder struct { + mock *MockKubernetesClusterEventWatcher +} + +// NewMockKubernetesClusterEventWatcher creates a new mock instance. +func NewMockKubernetesClusterEventWatcher(ctrl *gomock.Controller) *MockKubernetesClusterEventWatcher { + mock := &MockKubernetesClusterEventWatcher{ctrl: ctrl} + mock.recorder = &MockKubernetesClusterEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockKubernetesClusterEventWatcher) EXPECT() *MockKubernetesClusterEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockKubernetesClusterEventWatcher) AddEventHandler(ctx context.Context, h controller.KubernetesClusterEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockKubernetesClusterEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockKubernetesClusterEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockRootTrustPolicyEventHandler is a mock of RootTrustPolicyEventHandler interface. +type MockRootTrustPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockRootTrustPolicyEventHandlerMockRecorder +} + +// MockRootTrustPolicyEventHandlerMockRecorder is the mock recorder for MockRootTrustPolicyEventHandler. +type MockRootTrustPolicyEventHandlerMockRecorder struct { + mock *MockRootTrustPolicyEventHandler +} + +// NewMockRootTrustPolicyEventHandler creates a new mock instance. +func NewMockRootTrustPolicyEventHandler(ctrl *gomock.Controller) *MockRootTrustPolicyEventHandler { + mock := &MockRootTrustPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockRootTrustPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRootTrustPolicyEventHandler) EXPECT() *MockRootTrustPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyEventHandler) CreateRootTrustPolicy(obj *v2.RootTrustPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateRootTrustPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRootTrustPolicy indicates an expected call of CreateRootTrustPolicy. +func (mr *MockRootTrustPolicyEventHandlerMockRecorder) CreateRootTrustPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyEventHandler)(nil).CreateRootTrustPolicy), obj) +} + +// DeleteRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyEventHandler) DeleteRootTrustPolicy(obj *v2.RootTrustPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteRootTrustPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRootTrustPolicy indicates an expected call of DeleteRootTrustPolicy. +func (mr *MockRootTrustPolicyEventHandlerMockRecorder) DeleteRootTrustPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyEventHandler)(nil).DeleteRootTrustPolicy), obj) +} + +// GenericRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyEventHandler) GenericRootTrustPolicy(obj *v2.RootTrustPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericRootTrustPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericRootTrustPolicy indicates an expected call of GenericRootTrustPolicy. +func (mr *MockRootTrustPolicyEventHandlerMockRecorder) GenericRootTrustPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyEventHandler)(nil).GenericRootTrustPolicy), obj) +} + +// UpdateRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyEventHandler) UpdateRootTrustPolicy(old, new *v2.RootTrustPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateRootTrustPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRootTrustPolicy indicates an expected call of UpdateRootTrustPolicy. +func (mr *MockRootTrustPolicyEventHandlerMockRecorder) UpdateRootTrustPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyEventHandler)(nil).UpdateRootTrustPolicy), old, new) +} + +// MockRootTrustPolicyEventWatcher is a mock of RootTrustPolicyEventWatcher interface. +type MockRootTrustPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockRootTrustPolicyEventWatcherMockRecorder +} + +// MockRootTrustPolicyEventWatcherMockRecorder is the mock recorder for MockRootTrustPolicyEventWatcher. +type MockRootTrustPolicyEventWatcherMockRecorder struct { + mock *MockRootTrustPolicyEventWatcher +} + +// NewMockRootTrustPolicyEventWatcher creates a new mock instance. +func NewMockRootTrustPolicyEventWatcher(ctrl *gomock.Controller) *MockRootTrustPolicyEventWatcher { + mock := &MockRootTrustPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockRootTrustPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRootTrustPolicyEventWatcher) EXPECT() *MockRootTrustPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockRootTrustPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.RootTrustPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockRootTrustPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockRootTrustPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockExtAuthServerEventHandler is a mock of ExtAuthServerEventHandler interface. +type MockExtAuthServerEventHandler struct { + ctrl *gomock.Controller + recorder *MockExtAuthServerEventHandlerMockRecorder +} + +// MockExtAuthServerEventHandlerMockRecorder is the mock recorder for MockExtAuthServerEventHandler. +type MockExtAuthServerEventHandlerMockRecorder struct { + mock *MockExtAuthServerEventHandler +} + +// NewMockExtAuthServerEventHandler creates a new mock instance. +func NewMockExtAuthServerEventHandler(ctrl *gomock.Controller) *MockExtAuthServerEventHandler { + mock := &MockExtAuthServerEventHandler{ctrl: ctrl} + mock.recorder = &MockExtAuthServerEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthServerEventHandler) EXPECT() *MockExtAuthServerEventHandlerMockRecorder { + return m.recorder +} + +// CreateExtAuthServer mocks base method. +func (m *MockExtAuthServerEventHandler) CreateExtAuthServer(obj *v2.ExtAuthServer) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateExtAuthServer", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExtAuthServer indicates an expected call of CreateExtAuthServer. +func (mr *MockExtAuthServerEventHandlerMockRecorder) CreateExtAuthServer(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExtAuthServer", reflect.TypeOf((*MockExtAuthServerEventHandler)(nil).CreateExtAuthServer), obj) +} + +// DeleteExtAuthServer mocks base method. +func (m *MockExtAuthServerEventHandler) DeleteExtAuthServer(obj *v2.ExtAuthServer) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteExtAuthServer", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExtAuthServer indicates an expected call of DeleteExtAuthServer. +func (mr *MockExtAuthServerEventHandlerMockRecorder) DeleteExtAuthServer(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExtAuthServer", reflect.TypeOf((*MockExtAuthServerEventHandler)(nil).DeleteExtAuthServer), obj) +} + +// GenericExtAuthServer mocks base method. +func (m *MockExtAuthServerEventHandler) GenericExtAuthServer(obj *v2.ExtAuthServer) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericExtAuthServer", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericExtAuthServer indicates an expected call of GenericExtAuthServer. +func (mr *MockExtAuthServerEventHandlerMockRecorder) GenericExtAuthServer(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericExtAuthServer", reflect.TypeOf((*MockExtAuthServerEventHandler)(nil).GenericExtAuthServer), obj) +} + +// UpdateExtAuthServer mocks base method. +func (m *MockExtAuthServerEventHandler) UpdateExtAuthServer(old, new *v2.ExtAuthServer) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateExtAuthServer", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExtAuthServer indicates an expected call of UpdateExtAuthServer. +func (mr *MockExtAuthServerEventHandlerMockRecorder) UpdateExtAuthServer(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExtAuthServer", reflect.TypeOf((*MockExtAuthServerEventHandler)(nil).UpdateExtAuthServer), old, new) +} + +// MockExtAuthServerEventWatcher is a mock of ExtAuthServerEventWatcher interface. +type MockExtAuthServerEventWatcher struct { + ctrl *gomock.Controller + recorder *MockExtAuthServerEventWatcherMockRecorder +} + +// MockExtAuthServerEventWatcherMockRecorder is the mock recorder for MockExtAuthServerEventWatcher. +type MockExtAuthServerEventWatcherMockRecorder struct { + mock *MockExtAuthServerEventWatcher +} + +// NewMockExtAuthServerEventWatcher creates a new mock instance. +func NewMockExtAuthServerEventWatcher(ctrl *gomock.Controller) *MockExtAuthServerEventWatcher { + mock := &MockExtAuthServerEventWatcher{ctrl: ctrl} + mock.recorder = &MockExtAuthServerEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthServerEventWatcher) EXPECT() *MockExtAuthServerEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockExtAuthServerEventWatcher) AddEventHandler(ctx context.Context, h controller.ExtAuthServerEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockExtAuthServerEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockExtAuthServerEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockRateLimitServerSettingsEventHandler is a mock of RateLimitServerSettingsEventHandler interface. +type MockRateLimitServerSettingsEventHandler struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerSettingsEventHandlerMockRecorder +} + +// MockRateLimitServerSettingsEventHandlerMockRecorder is the mock recorder for MockRateLimitServerSettingsEventHandler. +type MockRateLimitServerSettingsEventHandlerMockRecorder struct { + mock *MockRateLimitServerSettingsEventHandler +} + +// NewMockRateLimitServerSettingsEventHandler creates a new mock instance. +func NewMockRateLimitServerSettingsEventHandler(ctrl *gomock.Controller) *MockRateLimitServerSettingsEventHandler { + mock := &MockRateLimitServerSettingsEventHandler{ctrl: ctrl} + mock.recorder = &MockRateLimitServerSettingsEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerSettingsEventHandler) EXPECT() *MockRateLimitServerSettingsEventHandlerMockRecorder { + return m.recorder +} + +// CreateRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsEventHandler) CreateRateLimitServerSettings(obj *v2.RateLimitServerSettings) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateRateLimitServerSettings", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRateLimitServerSettings indicates an expected call of CreateRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsEventHandlerMockRecorder) CreateRateLimitServerSettings(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsEventHandler)(nil).CreateRateLimitServerSettings), obj) +} + +// DeleteRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsEventHandler) DeleteRateLimitServerSettings(obj *v2.RateLimitServerSettings) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteRateLimitServerSettings", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRateLimitServerSettings indicates an expected call of DeleteRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsEventHandlerMockRecorder) DeleteRateLimitServerSettings(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsEventHandler)(nil).DeleteRateLimitServerSettings), obj) +} + +// GenericRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsEventHandler) GenericRateLimitServerSettings(obj *v2.RateLimitServerSettings) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericRateLimitServerSettings", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericRateLimitServerSettings indicates an expected call of GenericRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsEventHandlerMockRecorder) GenericRateLimitServerSettings(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsEventHandler)(nil).GenericRateLimitServerSettings), obj) +} + +// UpdateRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsEventHandler) UpdateRateLimitServerSettings(old, new *v2.RateLimitServerSettings) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateRateLimitServerSettings", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitServerSettings indicates an expected call of UpdateRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsEventHandlerMockRecorder) UpdateRateLimitServerSettings(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsEventHandler)(nil).UpdateRateLimitServerSettings), old, new) +} + +// MockRateLimitServerSettingsEventWatcher is a mock of RateLimitServerSettingsEventWatcher interface. +type MockRateLimitServerSettingsEventWatcher struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerSettingsEventWatcherMockRecorder +} + +// MockRateLimitServerSettingsEventWatcherMockRecorder is the mock recorder for MockRateLimitServerSettingsEventWatcher. +type MockRateLimitServerSettingsEventWatcherMockRecorder struct { + mock *MockRateLimitServerSettingsEventWatcher +} + +// NewMockRateLimitServerSettingsEventWatcher creates a new mock instance. +func NewMockRateLimitServerSettingsEventWatcher(ctrl *gomock.Controller) *MockRateLimitServerSettingsEventWatcher { + mock := &MockRateLimitServerSettingsEventWatcher{ctrl: ctrl} + mock.recorder = &MockRateLimitServerSettingsEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerSettingsEventWatcher) EXPECT() *MockRateLimitServerSettingsEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockRateLimitServerSettingsEventWatcher) AddEventHandler(ctx context.Context, h controller.RateLimitServerSettingsEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockRateLimitServerSettingsEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockRateLimitServerSettingsEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockRateLimitServerConfigEventHandler is a mock of RateLimitServerConfigEventHandler interface. +type MockRateLimitServerConfigEventHandler struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerConfigEventHandlerMockRecorder +} + +// MockRateLimitServerConfigEventHandlerMockRecorder is the mock recorder for MockRateLimitServerConfigEventHandler. +type MockRateLimitServerConfigEventHandlerMockRecorder struct { + mock *MockRateLimitServerConfigEventHandler +} + +// NewMockRateLimitServerConfigEventHandler creates a new mock instance. +func NewMockRateLimitServerConfigEventHandler(ctrl *gomock.Controller) *MockRateLimitServerConfigEventHandler { + mock := &MockRateLimitServerConfigEventHandler{ctrl: ctrl} + mock.recorder = &MockRateLimitServerConfigEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerConfigEventHandler) EXPECT() *MockRateLimitServerConfigEventHandlerMockRecorder { + return m.recorder +} + +// CreateRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigEventHandler) CreateRateLimitServerConfig(obj *v2.RateLimitServerConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateRateLimitServerConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRateLimitServerConfig indicates an expected call of CreateRateLimitServerConfig. +func (mr *MockRateLimitServerConfigEventHandlerMockRecorder) CreateRateLimitServerConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigEventHandler)(nil).CreateRateLimitServerConfig), obj) +} + +// DeleteRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigEventHandler) DeleteRateLimitServerConfig(obj *v2.RateLimitServerConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteRateLimitServerConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRateLimitServerConfig indicates an expected call of DeleteRateLimitServerConfig. +func (mr *MockRateLimitServerConfigEventHandlerMockRecorder) DeleteRateLimitServerConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigEventHandler)(nil).DeleteRateLimitServerConfig), obj) +} + +// GenericRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigEventHandler) GenericRateLimitServerConfig(obj *v2.RateLimitServerConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericRateLimitServerConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericRateLimitServerConfig indicates an expected call of GenericRateLimitServerConfig. +func (mr *MockRateLimitServerConfigEventHandlerMockRecorder) GenericRateLimitServerConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigEventHandler)(nil).GenericRateLimitServerConfig), obj) +} + +// UpdateRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigEventHandler) UpdateRateLimitServerConfig(old, new *v2.RateLimitServerConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateRateLimitServerConfig", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitServerConfig indicates an expected call of UpdateRateLimitServerConfig. +func (mr *MockRateLimitServerConfigEventHandlerMockRecorder) UpdateRateLimitServerConfig(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigEventHandler)(nil).UpdateRateLimitServerConfig), old, new) +} + +// MockRateLimitServerConfigEventWatcher is a mock of RateLimitServerConfigEventWatcher interface. +type MockRateLimitServerConfigEventWatcher struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerConfigEventWatcherMockRecorder +} + +// MockRateLimitServerConfigEventWatcherMockRecorder is the mock recorder for MockRateLimitServerConfigEventWatcher. +type MockRateLimitServerConfigEventWatcherMockRecorder struct { + mock *MockRateLimitServerConfigEventWatcher +} + +// NewMockRateLimitServerConfigEventWatcher creates a new mock instance. +func NewMockRateLimitServerConfigEventWatcher(ctrl *gomock.Controller) *MockRateLimitServerConfigEventWatcher { + mock := &MockRateLimitServerConfigEventWatcher{ctrl: ctrl} + mock.recorder = &MockRateLimitServerConfigEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerConfigEventWatcher) EXPECT() *MockRateLimitServerConfigEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockRateLimitServerConfigEventWatcher) AddEventHandler(ctx context.Context, h controller.RateLimitServerConfigEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockRateLimitServerConfigEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockRateLimitServerConfigEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockDashboardEventHandler is a mock of DashboardEventHandler interface. +type MockDashboardEventHandler struct { + ctrl *gomock.Controller + recorder *MockDashboardEventHandlerMockRecorder +} + +// MockDashboardEventHandlerMockRecorder is the mock recorder for MockDashboardEventHandler. +type MockDashboardEventHandlerMockRecorder struct { + mock *MockDashboardEventHandler +} + +// NewMockDashboardEventHandler creates a new mock instance. +func NewMockDashboardEventHandler(ctrl *gomock.Controller) *MockDashboardEventHandler { + mock := &MockDashboardEventHandler{ctrl: ctrl} + mock.recorder = &MockDashboardEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDashboardEventHandler) EXPECT() *MockDashboardEventHandlerMockRecorder { + return m.recorder +} + +// CreateDashboard mocks base method. +func (m *MockDashboardEventHandler) CreateDashboard(obj *v2.Dashboard) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateDashboard", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateDashboard indicates an expected call of CreateDashboard. +func (mr *MockDashboardEventHandlerMockRecorder) CreateDashboard(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDashboard", reflect.TypeOf((*MockDashboardEventHandler)(nil).CreateDashboard), obj) +} + +// DeleteDashboard mocks base method. +func (m *MockDashboardEventHandler) DeleteDashboard(obj *v2.Dashboard) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteDashboard", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteDashboard indicates an expected call of DeleteDashboard. +func (mr *MockDashboardEventHandlerMockRecorder) DeleteDashboard(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteDashboard", reflect.TypeOf((*MockDashboardEventHandler)(nil).DeleteDashboard), obj) +} + +// GenericDashboard mocks base method. +func (m *MockDashboardEventHandler) GenericDashboard(obj *v2.Dashboard) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericDashboard", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericDashboard indicates an expected call of GenericDashboard. +func (mr *MockDashboardEventHandlerMockRecorder) GenericDashboard(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericDashboard", reflect.TypeOf((*MockDashboardEventHandler)(nil).GenericDashboard), obj) +} + +// UpdateDashboard mocks base method. +func (m *MockDashboardEventHandler) UpdateDashboard(old, new *v2.Dashboard) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateDashboard", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDashboard indicates an expected call of UpdateDashboard. +func (mr *MockDashboardEventHandlerMockRecorder) UpdateDashboard(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDashboard", reflect.TypeOf((*MockDashboardEventHandler)(nil).UpdateDashboard), old, new) +} + +// MockDashboardEventWatcher is a mock of DashboardEventWatcher interface. +type MockDashboardEventWatcher struct { + ctrl *gomock.Controller + recorder *MockDashboardEventWatcherMockRecorder +} + +// MockDashboardEventWatcherMockRecorder is the mock recorder for MockDashboardEventWatcher. +type MockDashboardEventWatcherMockRecorder struct { + mock *MockDashboardEventWatcher +} + +// NewMockDashboardEventWatcher creates a new mock instance. +func NewMockDashboardEventWatcher(ctrl *gomock.Controller) *MockDashboardEventWatcher { + mock := &MockDashboardEventWatcher{ctrl: ctrl} + mock.recorder = &MockDashboardEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDashboardEventWatcher) EXPECT() *MockDashboardEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockDashboardEventWatcher) AddEventHandler(ctx context.Context, h controller.DashboardEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockDashboardEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockDashboardEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockIstioLifecycleManagerEventHandler is a mock of IstioLifecycleManagerEventHandler interface. +type MockIstioLifecycleManagerEventHandler struct { + ctrl *gomock.Controller + recorder *MockIstioLifecycleManagerEventHandlerMockRecorder +} + +// MockIstioLifecycleManagerEventHandlerMockRecorder is the mock recorder for MockIstioLifecycleManagerEventHandler. +type MockIstioLifecycleManagerEventHandlerMockRecorder struct { + mock *MockIstioLifecycleManagerEventHandler +} + +// NewMockIstioLifecycleManagerEventHandler creates a new mock instance. +func NewMockIstioLifecycleManagerEventHandler(ctrl *gomock.Controller) *MockIstioLifecycleManagerEventHandler { + mock := &MockIstioLifecycleManagerEventHandler{ctrl: ctrl} + mock.recorder = &MockIstioLifecycleManagerEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIstioLifecycleManagerEventHandler) EXPECT() *MockIstioLifecycleManagerEventHandlerMockRecorder { + return m.recorder +} + +// CreateIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerEventHandler) CreateIstioLifecycleManager(obj *v2.IstioLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateIstioLifecycleManager", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateIstioLifecycleManager indicates an expected call of CreateIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerEventHandlerMockRecorder) CreateIstioLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerEventHandler)(nil).CreateIstioLifecycleManager), obj) +} + +// DeleteIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerEventHandler) DeleteIstioLifecycleManager(obj *v2.IstioLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteIstioLifecycleManager", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteIstioLifecycleManager indicates an expected call of DeleteIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerEventHandlerMockRecorder) DeleteIstioLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerEventHandler)(nil).DeleteIstioLifecycleManager), obj) +} + +// GenericIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerEventHandler) GenericIstioLifecycleManager(obj *v2.IstioLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericIstioLifecycleManager", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericIstioLifecycleManager indicates an expected call of GenericIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerEventHandlerMockRecorder) GenericIstioLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerEventHandler)(nil).GenericIstioLifecycleManager), obj) +} + +// UpdateIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerEventHandler) UpdateIstioLifecycleManager(old, new *v2.IstioLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateIstioLifecycleManager", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateIstioLifecycleManager indicates an expected call of UpdateIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerEventHandlerMockRecorder) UpdateIstioLifecycleManager(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerEventHandler)(nil).UpdateIstioLifecycleManager), old, new) +} + +// MockIstioLifecycleManagerEventWatcher is a mock of IstioLifecycleManagerEventWatcher interface. +type MockIstioLifecycleManagerEventWatcher struct { + ctrl *gomock.Controller + recorder *MockIstioLifecycleManagerEventWatcherMockRecorder +} + +// MockIstioLifecycleManagerEventWatcherMockRecorder is the mock recorder for MockIstioLifecycleManagerEventWatcher. +type MockIstioLifecycleManagerEventWatcherMockRecorder struct { + mock *MockIstioLifecycleManagerEventWatcher +} + +// NewMockIstioLifecycleManagerEventWatcher creates a new mock instance. +func NewMockIstioLifecycleManagerEventWatcher(ctrl *gomock.Controller) *MockIstioLifecycleManagerEventWatcher { + mock := &MockIstioLifecycleManagerEventWatcher{ctrl: ctrl} + mock.recorder = &MockIstioLifecycleManagerEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIstioLifecycleManagerEventWatcher) EXPECT() *MockIstioLifecycleManagerEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockIstioLifecycleManagerEventWatcher) AddEventHandler(ctx context.Context, h controller.IstioLifecycleManagerEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockIstioLifecycleManagerEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockIstioLifecycleManagerEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockGatewayLifecycleManagerEventHandler is a mock of GatewayLifecycleManagerEventHandler interface. +type MockGatewayLifecycleManagerEventHandler struct { + ctrl *gomock.Controller + recorder *MockGatewayLifecycleManagerEventHandlerMockRecorder +} + +// MockGatewayLifecycleManagerEventHandlerMockRecorder is the mock recorder for MockGatewayLifecycleManagerEventHandler. +type MockGatewayLifecycleManagerEventHandlerMockRecorder struct { + mock *MockGatewayLifecycleManagerEventHandler +} + +// NewMockGatewayLifecycleManagerEventHandler creates a new mock instance. +func NewMockGatewayLifecycleManagerEventHandler(ctrl *gomock.Controller) *MockGatewayLifecycleManagerEventHandler { + mock := &MockGatewayLifecycleManagerEventHandler{ctrl: ctrl} + mock.recorder = &MockGatewayLifecycleManagerEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGatewayLifecycleManagerEventHandler) EXPECT() *MockGatewayLifecycleManagerEventHandlerMockRecorder { + return m.recorder +} + +// CreateGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerEventHandler) CreateGatewayLifecycleManager(obj *v2.GatewayLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateGatewayLifecycleManager", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGatewayLifecycleManager indicates an expected call of CreateGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerEventHandlerMockRecorder) CreateGatewayLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerEventHandler)(nil).CreateGatewayLifecycleManager), obj) +} + +// DeleteGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerEventHandler) DeleteGatewayLifecycleManager(obj *v2.GatewayLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteGatewayLifecycleManager", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGatewayLifecycleManager indicates an expected call of DeleteGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerEventHandlerMockRecorder) DeleteGatewayLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerEventHandler)(nil).DeleteGatewayLifecycleManager), obj) +} + +// GenericGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerEventHandler) GenericGatewayLifecycleManager(obj *v2.GatewayLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericGatewayLifecycleManager", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericGatewayLifecycleManager indicates an expected call of GenericGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerEventHandlerMockRecorder) GenericGatewayLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerEventHandler)(nil).GenericGatewayLifecycleManager), obj) +} + +// UpdateGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerEventHandler) UpdateGatewayLifecycleManager(old, new *v2.GatewayLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateGatewayLifecycleManager", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGatewayLifecycleManager indicates an expected call of UpdateGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerEventHandlerMockRecorder) UpdateGatewayLifecycleManager(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerEventHandler)(nil).UpdateGatewayLifecycleManager), old, new) +} + +// MockGatewayLifecycleManagerEventWatcher is a mock of GatewayLifecycleManagerEventWatcher interface. +type MockGatewayLifecycleManagerEventWatcher struct { + ctrl *gomock.Controller + recorder *MockGatewayLifecycleManagerEventWatcherMockRecorder +} + +// MockGatewayLifecycleManagerEventWatcherMockRecorder is the mock recorder for MockGatewayLifecycleManagerEventWatcher. +type MockGatewayLifecycleManagerEventWatcherMockRecorder struct { + mock *MockGatewayLifecycleManagerEventWatcher +} + +// NewMockGatewayLifecycleManagerEventWatcher creates a new mock instance. +func NewMockGatewayLifecycleManagerEventWatcher(ctrl *gomock.Controller) *MockGatewayLifecycleManagerEventWatcher { + mock := &MockGatewayLifecycleManagerEventWatcher{ctrl: ctrl} + mock.recorder = &MockGatewayLifecycleManagerEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGatewayLifecycleManagerEventWatcher) EXPECT() *MockGatewayLifecycleManagerEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockGatewayLifecycleManagerEventWatcher) AddEventHandler(ctx context.Context, h controller.GatewayLifecycleManagerEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockGatewayLifecycleManagerEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockGatewayLifecycleManagerEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/admin.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go b/client-go/admin.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..6f5d8e424 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,1167 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2/controller" +) + +// MockMulticlusterWorkspaceReconciler is a mock of MulticlusterWorkspaceReconciler interface. +type MockMulticlusterWorkspaceReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWorkspaceReconcilerMockRecorder +} + +// MockMulticlusterWorkspaceReconcilerMockRecorder is the mock recorder for MockMulticlusterWorkspaceReconciler. +type MockMulticlusterWorkspaceReconcilerMockRecorder struct { + mock *MockMulticlusterWorkspaceReconciler +} + +// NewMockMulticlusterWorkspaceReconciler creates a new mock instance. +func NewMockMulticlusterWorkspaceReconciler(ctrl *gomock.Controller) *MockMulticlusterWorkspaceReconciler { + mock := &MockMulticlusterWorkspaceReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterWorkspaceReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWorkspaceReconciler) EXPECT() *MockMulticlusterWorkspaceReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWorkspace mocks base method. +func (m *MockMulticlusterWorkspaceReconciler) ReconcileWorkspace(clusterName string, obj *v2.Workspace) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWorkspace", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWorkspace indicates an expected call of ReconcileWorkspace. +func (mr *MockMulticlusterWorkspaceReconcilerMockRecorder) ReconcileWorkspace(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWorkspace", reflect.TypeOf((*MockMulticlusterWorkspaceReconciler)(nil).ReconcileWorkspace), clusterName, obj) +} + +// MockMulticlusterWorkspaceDeletionReconciler is a mock of MulticlusterWorkspaceDeletionReconciler interface. +type MockMulticlusterWorkspaceDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWorkspaceDeletionReconcilerMockRecorder +} + +// MockMulticlusterWorkspaceDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterWorkspaceDeletionReconciler. +type MockMulticlusterWorkspaceDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterWorkspaceDeletionReconciler +} + +// NewMockMulticlusterWorkspaceDeletionReconciler creates a new mock instance. +func NewMockMulticlusterWorkspaceDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterWorkspaceDeletionReconciler { + mock := &MockMulticlusterWorkspaceDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterWorkspaceDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWorkspaceDeletionReconciler) EXPECT() *MockMulticlusterWorkspaceDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWorkspaceDeletion mocks base method. +func (m *MockMulticlusterWorkspaceDeletionReconciler) ReconcileWorkspaceDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWorkspaceDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileWorkspaceDeletion indicates an expected call of ReconcileWorkspaceDeletion. +func (mr *MockMulticlusterWorkspaceDeletionReconcilerMockRecorder) ReconcileWorkspaceDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWorkspaceDeletion", reflect.TypeOf((*MockMulticlusterWorkspaceDeletionReconciler)(nil).ReconcileWorkspaceDeletion), clusterName, req) +} + +// MockMulticlusterWorkspaceReconcileLoop is a mock of MulticlusterWorkspaceReconcileLoop interface. +type MockMulticlusterWorkspaceReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWorkspaceReconcileLoopMockRecorder +} + +// MockMulticlusterWorkspaceReconcileLoopMockRecorder is the mock recorder for MockMulticlusterWorkspaceReconcileLoop. +type MockMulticlusterWorkspaceReconcileLoopMockRecorder struct { + mock *MockMulticlusterWorkspaceReconcileLoop +} + +// NewMockMulticlusterWorkspaceReconcileLoop creates a new mock instance. +func NewMockMulticlusterWorkspaceReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterWorkspaceReconcileLoop { + mock := &MockMulticlusterWorkspaceReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterWorkspaceReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWorkspaceReconcileLoop) EXPECT() *MockMulticlusterWorkspaceReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterWorkspaceReconciler mocks base method. +func (m *MockMulticlusterWorkspaceReconcileLoop) AddMulticlusterWorkspaceReconciler(ctx context.Context, rec controller.MulticlusterWorkspaceReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterWorkspaceReconciler", varargs...) +} + +// AddMulticlusterWorkspaceReconciler indicates an expected call of AddMulticlusterWorkspaceReconciler. +func (mr *MockMulticlusterWorkspaceReconcileLoopMockRecorder) AddMulticlusterWorkspaceReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterWorkspaceReconciler", reflect.TypeOf((*MockMulticlusterWorkspaceReconcileLoop)(nil).AddMulticlusterWorkspaceReconciler), varargs...) +} + +// MockMulticlusterWorkspaceSettingsReconciler is a mock of MulticlusterWorkspaceSettingsReconciler interface. +type MockMulticlusterWorkspaceSettingsReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWorkspaceSettingsReconcilerMockRecorder +} + +// MockMulticlusterWorkspaceSettingsReconcilerMockRecorder is the mock recorder for MockMulticlusterWorkspaceSettingsReconciler. +type MockMulticlusterWorkspaceSettingsReconcilerMockRecorder struct { + mock *MockMulticlusterWorkspaceSettingsReconciler +} + +// NewMockMulticlusterWorkspaceSettingsReconciler creates a new mock instance. +func NewMockMulticlusterWorkspaceSettingsReconciler(ctrl *gomock.Controller) *MockMulticlusterWorkspaceSettingsReconciler { + mock := &MockMulticlusterWorkspaceSettingsReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterWorkspaceSettingsReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWorkspaceSettingsReconciler) EXPECT() *MockMulticlusterWorkspaceSettingsReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWorkspaceSettings mocks base method. +func (m *MockMulticlusterWorkspaceSettingsReconciler) ReconcileWorkspaceSettings(clusterName string, obj *v2.WorkspaceSettings) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWorkspaceSettings", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWorkspaceSettings indicates an expected call of ReconcileWorkspaceSettings. +func (mr *MockMulticlusterWorkspaceSettingsReconcilerMockRecorder) ReconcileWorkspaceSettings(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWorkspaceSettings", reflect.TypeOf((*MockMulticlusterWorkspaceSettingsReconciler)(nil).ReconcileWorkspaceSettings), clusterName, obj) +} + +// MockMulticlusterWorkspaceSettingsDeletionReconciler is a mock of MulticlusterWorkspaceSettingsDeletionReconciler interface. +type MockMulticlusterWorkspaceSettingsDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWorkspaceSettingsDeletionReconcilerMockRecorder +} + +// MockMulticlusterWorkspaceSettingsDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterWorkspaceSettingsDeletionReconciler. +type MockMulticlusterWorkspaceSettingsDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterWorkspaceSettingsDeletionReconciler +} + +// NewMockMulticlusterWorkspaceSettingsDeletionReconciler creates a new mock instance. +func NewMockMulticlusterWorkspaceSettingsDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterWorkspaceSettingsDeletionReconciler { + mock := &MockMulticlusterWorkspaceSettingsDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterWorkspaceSettingsDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWorkspaceSettingsDeletionReconciler) EXPECT() *MockMulticlusterWorkspaceSettingsDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWorkspaceSettingsDeletion mocks base method. +func (m *MockMulticlusterWorkspaceSettingsDeletionReconciler) ReconcileWorkspaceSettingsDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWorkspaceSettingsDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileWorkspaceSettingsDeletion indicates an expected call of ReconcileWorkspaceSettingsDeletion. +func (mr *MockMulticlusterWorkspaceSettingsDeletionReconcilerMockRecorder) ReconcileWorkspaceSettingsDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWorkspaceSettingsDeletion", reflect.TypeOf((*MockMulticlusterWorkspaceSettingsDeletionReconciler)(nil).ReconcileWorkspaceSettingsDeletion), clusterName, req) +} + +// MockMulticlusterWorkspaceSettingsReconcileLoop is a mock of MulticlusterWorkspaceSettingsReconcileLoop interface. +type MockMulticlusterWorkspaceSettingsReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWorkspaceSettingsReconcileLoopMockRecorder +} + +// MockMulticlusterWorkspaceSettingsReconcileLoopMockRecorder is the mock recorder for MockMulticlusterWorkspaceSettingsReconcileLoop. +type MockMulticlusterWorkspaceSettingsReconcileLoopMockRecorder struct { + mock *MockMulticlusterWorkspaceSettingsReconcileLoop +} + +// NewMockMulticlusterWorkspaceSettingsReconcileLoop creates a new mock instance. +func NewMockMulticlusterWorkspaceSettingsReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterWorkspaceSettingsReconcileLoop { + mock := &MockMulticlusterWorkspaceSettingsReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterWorkspaceSettingsReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWorkspaceSettingsReconcileLoop) EXPECT() *MockMulticlusterWorkspaceSettingsReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterWorkspaceSettingsReconciler mocks base method. +func (m *MockMulticlusterWorkspaceSettingsReconcileLoop) AddMulticlusterWorkspaceSettingsReconciler(ctx context.Context, rec controller.MulticlusterWorkspaceSettingsReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterWorkspaceSettingsReconciler", varargs...) +} + +// AddMulticlusterWorkspaceSettingsReconciler indicates an expected call of AddMulticlusterWorkspaceSettingsReconciler. +func (mr *MockMulticlusterWorkspaceSettingsReconcileLoopMockRecorder) AddMulticlusterWorkspaceSettingsReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterWorkspaceSettingsReconciler", reflect.TypeOf((*MockMulticlusterWorkspaceSettingsReconcileLoop)(nil).AddMulticlusterWorkspaceSettingsReconciler), varargs...) +} + +// MockMulticlusterKubernetesClusterReconciler is a mock of MulticlusterKubernetesClusterReconciler interface. +type MockMulticlusterKubernetesClusterReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterKubernetesClusterReconcilerMockRecorder +} + +// MockMulticlusterKubernetesClusterReconcilerMockRecorder is the mock recorder for MockMulticlusterKubernetesClusterReconciler. +type MockMulticlusterKubernetesClusterReconcilerMockRecorder struct { + mock *MockMulticlusterKubernetesClusterReconciler +} + +// NewMockMulticlusterKubernetesClusterReconciler creates a new mock instance. +func NewMockMulticlusterKubernetesClusterReconciler(ctrl *gomock.Controller) *MockMulticlusterKubernetesClusterReconciler { + mock := &MockMulticlusterKubernetesClusterReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterKubernetesClusterReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterKubernetesClusterReconciler) EXPECT() *MockMulticlusterKubernetesClusterReconcilerMockRecorder { + return m.recorder +} + +// ReconcileKubernetesCluster mocks base method. +func (m *MockMulticlusterKubernetesClusterReconciler) ReconcileKubernetesCluster(clusterName string, obj *v2.KubernetesCluster) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileKubernetesCluster", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileKubernetesCluster indicates an expected call of ReconcileKubernetesCluster. +func (mr *MockMulticlusterKubernetesClusterReconcilerMockRecorder) ReconcileKubernetesCluster(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileKubernetesCluster", reflect.TypeOf((*MockMulticlusterKubernetesClusterReconciler)(nil).ReconcileKubernetesCluster), clusterName, obj) +} + +// MockMulticlusterKubernetesClusterDeletionReconciler is a mock of MulticlusterKubernetesClusterDeletionReconciler interface. +type MockMulticlusterKubernetesClusterDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterKubernetesClusterDeletionReconcilerMockRecorder +} + +// MockMulticlusterKubernetesClusterDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterKubernetesClusterDeletionReconciler. +type MockMulticlusterKubernetesClusterDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterKubernetesClusterDeletionReconciler +} + +// NewMockMulticlusterKubernetesClusterDeletionReconciler creates a new mock instance. +func NewMockMulticlusterKubernetesClusterDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterKubernetesClusterDeletionReconciler { + mock := &MockMulticlusterKubernetesClusterDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterKubernetesClusterDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterKubernetesClusterDeletionReconciler) EXPECT() *MockMulticlusterKubernetesClusterDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileKubernetesClusterDeletion mocks base method. +func (m *MockMulticlusterKubernetesClusterDeletionReconciler) ReconcileKubernetesClusterDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileKubernetesClusterDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileKubernetesClusterDeletion indicates an expected call of ReconcileKubernetesClusterDeletion. +func (mr *MockMulticlusterKubernetesClusterDeletionReconcilerMockRecorder) ReconcileKubernetesClusterDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileKubernetesClusterDeletion", reflect.TypeOf((*MockMulticlusterKubernetesClusterDeletionReconciler)(nil).ReconcileKubernetesClusterDeletion), clusterName, req) +} + +// MockMulticlusterKubernetesClusterReconcileLoop is a mock of MulticlusterKubernetesClusterReconcileLoop interface. +type MockMulticlusterKubernetesClusterReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterKubernetesClusterReconcileLoopMockRecorder +} + +// MockMulticlusterKubernetesClusterReconcileLoopMockRecorder is the mock recorder for MockMulticlusterKubernetesClusterReconcileLoop. +type MockMulticlusterKubernetesClusterReconcileLoopMockRecorder struct { + mock *MockMulticlusterKubernetesClusterReconcileLoop +} + +// NewMockMulticlusterKubernetesClusterReconcileLoop creates a new mock instance. +func NewMockMulticlusterKubernetesClusterReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterKubernetesClusterReconcileLoop { + mock := &MockMulticlusterKubernetesClusterReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterKubernetesClusterReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterKubernetesClusterReconcileLoop) EXPECT() *MockMulticlusterKubernetesClusterReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterKubernetesClusterReconciler mocks base method. +func (m *MockMulticlusterKubernetesClusterReconcileLoop) AddMulticlusterKubernetesClusterReconciler(ctx context.Context, rec controller.MulticlusterKubernetesClusterReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterKubernetesClusterReconciler", varargs...) +} + +// AddMulticlusterKubernetesClusterReconciler indicates an expected call of AddMulticlusterKubernetesClusterReconciler. +func (mr *MockMulticlusterKubernetesClusterReconcileLoopMockRecorder) AddMulticlusterKubernetesClusterReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterKubernetesClusterReconciler", reflect.TypeOf((*MockMulticlusterKubernetesClusterReconcileLoop)(nil).AddMulticlusterKubernetesClusterReconciler), varargs...) +} + +// MockMulticlusterRootTrustPolicyReconciler is a mock of MulticlusterRootTrustPolicyReconciler interface. +type MockMulticlusterRootTrustPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRootTrustPolicyReconcilerMockRecorder +} + +// MockMulticlusterRootTrustPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterRootTrustPolicyReconciler. +type MockMulticlusterRootTrustPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterRootTrustPolicyReconciler +} + +// NewMockMulticlusterRootTrustPolicyReconciler creates a new mock instance. +func NewMockMulticlusterRootTrustPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterRootTrustPolicyReconciler { + mock := &MockMulticlusterRootTrustPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRootTrustPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRootTrustPolicyReconciler) EXPECT() *MockMulticlusterRootTrustPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRootTrustPolicy mocks base method. +func (m *MockMulticlusterRootTrustPolicyReconciler) ReconcileRootTrustPolicy(clusterName string, obj *v2.RootTrustPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRootTrustPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRootTrustPolicy indicates an expected call of ReconcileRootTrustPolicy. +func (mr *MockMulticlusterRootTrustPolicyReconcilerMockRecorder) ReconcileRootTrustPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRootTrustPolicy", reflect.TypeOf((*MockMulticlusterRootTrustPolicyReconciler)(nil).ReconcileRootTrustPolicy), clusterName, obj) +} + +// MockMulticlusterRootTrustPolicyDeletionReconciler is a mock of MulticlusterRootTrustPolicyDeletionReconciler interface. +type MockMulticlusterRootTrustPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRootTrustPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterRootTrustPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterRootTrustPolicyDeletionReconciler. +type MockMulticlusterRootTrustPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterRootTrustPolicyDeletionReconciler +} + +// NewMockMulticlusterRootTrustPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterRootTrustPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterRootTrustPolicyDeletionReconciler { + mock := &MockMulticlusterRootTrustPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRootTrustPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRootTrustPolicyDeletionReconciler) EXPECT() *MockMulticlusterRootTrustPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRootTrustPolicyDeletion mocks base method. +func (m *MockMulticlusterRootTrustPolicyDeletionReconciler) ReconcileRootTrustPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRootTrustPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRootTrustPolicyDeletion indicates an expected call of ReconcileRootTrustPolicyDeletion. +func (mr *MockMulticlusterRootTrustPolicyDeletionReconcilerMockRecorder) ReconcileRootTrustPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRootTrustPolicyDeletion", reflect.TypeOf((*MockMulticlusterRootTrustPolicyDeletionReconciler)(nil).ReconcileRootTrustPolicyDeletion), clusterName, req) +} + +// MockMulticlusterRootTrustPolicyReconcileLoop is a mock of MulticlusterRootTrustPolicyReconcileLoop interface. +type MockMulticlusterRootTrustPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRootTrustPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterRootTrustPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterRootTrustPolicyReconcileLoop. +type MockMulticlusterRootTrustPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterRootTrustPolicyReconcileLoop +} + +// NewMockMulticlusterRootTrustPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterRootTrustPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterRootTrustPolicyReconcileLoop { + mock := &MockMulticlusterRootTrustPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterRootTrustPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRootTrustPolicyReconcileLoop) EXPECT() *MockMulticlusterRootTrustPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterRootTrustPolicyReconciler mocks base method. +func (m *MockMulticlusterRootTrustPolicyReconcileLoop) AddMulticlusterRootTrustPolicyReconciler(ctx context.Context, rec controller.MulticlusterRootTrustPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterRootTrustPolicyReconciler", varargs...) +} + +// AddMulticlusterRootTrustPolicyReconciler indicates an expected call of AddMulticlusterRootTrustPolicyReconciler. +func (mr *MockMulticlusterRootTrustPolicyReconcileLoopMockRecorder) AddMulticlusterRootTrustPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterRootTrustPolicyReconciler", reflect.TypeOf((*MockMulticlusterRootTrustPolicyReconcileLoop)(nil).AddMulticlusterRootTrustPolicyReconciler), varargs...) +} + +// MockMulticlusterExtAuthServerReconciler is a mock of MulticlusterExtAuthServerReconciler interface. +type MockMulticlusterExtAuthServerReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExtAuthServerReconcilerMockRecorder +} + +// MockMulticlusterExtAuthServerReconcilerMockRecorder is the mock recorder for MockMulticlusterExtAuthServerReconciler. +type MockMulticlusterExtAuthServerReconcilerMockRecorder struct { + mock *MockMulticlusterExtAuthServerReconciler +} + +// NewMockMulticlusterExtAuthServerReconciler creates a new mock instance. +func NewMockMulticlusterExtAuthServerReconciler(ctrl *gomock.Controller) *MockMulticlusterExtAuthServerReconciler { + mock := &MockMulticlusterExtAuthServerReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterExtAuthServerReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExtAuthServerReconciler) EXPECT() *MockMulticlusterExtAuthServerReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExtAuthServer mocks base method. +func (m *MockMulticlusterExtAuthServerReconciler) ReconcileExtAuthServer(clusterName string, obj *v2.ExtAuthServer) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExtAuthServer", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExtAuthServer indicates an expected call of ReconcileExtAuthServer. +func (mr *MockMulticlusterExtAuthServerReconcilerMockRecorder) ReconcileExtAuthServer(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExtAuthServer", reflect.TypeOf((*MockMulticlusterExtAuthServerReconciler)(nil).ReconcileExtAuthServer), clusterName, obj) +} + +// MockMulticlusterExtAuthServerDeletionReconciler is a mock of MulticlusterExtAuthServerDeletionReconciler interface. +type MockMulticlusterExtAuthServerDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExtAuthServerDeletionReconcilerMockRecorder +} + +// MockMulticlusterExtAuthServerDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterExtAuthServerDeletionReconciler. +type MockMulticlusterExtAuthServerDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterExtAuthServerDeletionReconciler +} + +// NewMockMulticlusterExtAuthServerDeletionReconciler creates a new mock instance. +func NewMockMulticlusterExtAuthServerDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterExtAuthServerDeletionReconciler { + mock := &MockMulticlusterExtAuthServerDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterExtAuthServerDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExtAuthServerDeletionReconciler) EXPECT() *MockMulticlusterExtAuthServerDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExtAuthServerDeletion mocks base method. +func (m *MockMulticlusterExtAuthServerDeletionReconciler) ReconcileExtAuthServerDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExtAuthServerDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileExtAuthServerDeletion indicates an expected call of ReconcileExtAuthServerDeletion. +func (mr *MockMulticlusterExtAuthServerDeletionReconcilerMockRecorder) ReconcileExtAuthServerDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExtAuthServerDeletion", reflect.TypeOf((*MockMulticlusterExtAuthServerDeletionReconciler)(nil).ReconcileExtAuthServerDeletion), clusterName, req) +} + +// MockMulticlusterExtAuthServerReconcileLoop is a mock of MulticlusterExtAuthServerReconcileLoop interface. +type MockMulticlusterExtAuthServerReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExtAuthServerReconcileLoopMockRecorder +} + +// MockMulticlusterExtAuthServerReconcileLoopMockRecorder is the mock recorder for MockMulticlusterExtAuthServerReconcileLoop. +type MockMulticlusterExtAuthServerReconcileLoopMockRecorder struct { + mock *MockMulticlusterExtAuthServerReconcileLoop +} + +// NewMockMulticlusterExtAuthServerReconcileLoop creates a new mock instance. +func NewMockMulticlusterExtAuthServerReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterExtAuthServerReconcileLoop { + mock := &MockMulticlusterExtAuthServerReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterExtAuthServerReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExtAuthServerReconcileLoop) EXPECT() *MockMulticlusterExtAuthServerReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterExtAuthServerReconciler mocks base method. +func (m *MockMulticlusterExtAuthServerReconcileLoop) AddMulticlusterExtAuthServerReconciler(ctx context.Context, rec controller.MulticlusterExtAuthServerReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterExtAuthServerReconciler", varargs...) +} + +// AddMulticlusterExtAuthServerReconciler indicates an expected call of AddMulticlusterExtAuthServerReconciler. +func (mr *MockMulticlusterExtAuthServerReconcileLoopMockRecorder) AddMulticlusterExtAuthServerReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterExtAuthServerReconciler", reflect.TypeOf((*MockMulticlusterExtAuthServerReconcileLoop)(nil).AddMulticlusterExtAuthServerReconciler), varargs...) +} + +// MockMulticlusterRateLimitServerSettingsReconciler is a mock of MulticlusterRateLimitServerSettingsReconciler interface. +type MockMulticlusterRateLimitServerSettingsReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitServerSettingsReconcilerMockRecorder +} + +// MockMulticlusterRateLimitServerSettingsReconcilerMockRecorder is the mock recorder for MockMulticlusterRateLimitServerSettingsReconciler. +type MockMulticlusterRateLimitServerSettingsReconcilerMockRecorder struct { + mock *MockMulticlusterRateLimitServerSettingsReconciler +} + +// NewMockMulticlusterRateLimitServerSettingsReconciler creates a new mock instance. +func NewMockMulticlusterRateLimitServerSettingsReconciler(ctrl *gomock.Controller) *MockMulticlusterRateLimitServerSettingsReconciler { + mock := &MockMulticlusterRateLimitServerSettingsReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitServerSettingsReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitServerSettingsReconciler) EXPECT() *MockMulticlusterRateLimitServerSettingsReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitServerSettings mocks base method. +func (m *MockMulticlusterRateLimitServerSettingsReconciler) ReconcileRateLimitServerSettings(clusterName string, obj *v2.RateLimitServerSettings) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitServerSettings", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRateLimitServerSettings indicates an expected call of ReconcileRateLimitServerSettings. +func (mr *MockMulticlusterRateLimitServerSettingsReconcilerMockRecorder) ReconcileRateLimitServerSettings(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitServerSettings", reflect.TypeOf((*MockMulticlusterRateLimitServerSettingsReconciler)(nil).ReconcileRateLimitServerSettings), clusterName, obj) +} + +// MockMulticlusterRateLimitServerSettingsDeletionReconciler is a mock of MulticlusterRateLimitServerSettingsDeletionReconciler interface. +type MockMulticlusterRateLimitServerSettingsDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitServerSettingsDeletionReconcilerMockRecorder +} + +// MockMulticlusterRateLimitServerSettingsDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterRateLimitServerSettingsDeletionReconciler. +type MockMulticlusterRateLimitServerSettingsDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterRateLimitServerSettingsDeletionReconciler +} + +// NewMockMulticlusterRateLimitServerSettingsDeletionReconciler creates a new mock instance. +func NewMockMulticlusterRateLimitServerSettingsDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterRateLimitServerSettingsDeletionReconciler { + mock := &MockMulticlusterRateLimitServerSettingsDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitServerSettingsDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitServerSettingsDeletionReconciler) EXPECT() *MockMulticlusterRateLimitServerSettingsDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitServerSettingsDeletion mocks base method. +func (m *MockMulticlusterRateLimitServerSettingsDeletionReconciler) ReconcileRateLimitServerSettingsDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitServerSettingsDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRateLimitServerSettingsDeletion indicates an expected call of ReconcileRateLimitServerSettingsDeletion. +func (mr *MockMulticlusterRateLimitServerSettingsDeletionReconcilerMockRecorder) ReconcileRateLimitServerSettingsDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitServerSettingsDeletion", reflect.TypeOf((*MockMulticlusterRateLimitServerSettingsDeletionReconciler)(nil).ReconcileRateLimitServerSettingsDeletion), clusterName, req) +} + +// MockMulticlusterRateLimitServerSettingsReconcileLoop is a mock of MulticlusterRateLimitServerSettingsReconcileLoop interface. +type MockMulticlusterRateLimitServerSettingsReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitServerSettingsReconcileLoopMockRecorder +} + +// MockMulticlusterRateLimitServerSettingsReconcileLoopMockRecorder is the mock recorder for MockMulticlusterRateLimitServerSettingsReconcileLoop. +type MockMulticlusterRateLimitServerSettingsReconcileLoopMockRecorder struct { + mock *MockMulticlusterRateLimitServerSettingsReconcileLoop +} + +// NewMockMulticlusterRateLimitServerSettingsReconcileLoop creates a new mock instance. +func NewMockMulticlusterRateLimitServerSettingsReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterRateLimitServerSettingsReconcileLoop { + mock := &MockMulticlusterRateLimitServerSettingsReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitServerSettingsReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitServerSettingsReconcileLoop) EXPECT() *MockMulticlusterRateLimitServerSettingsReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterRateLimitServerSettingsReconciler mocks base method. +func (m *MockMulticlusterRateLimitServerSettingsReconcileLoop) AddMulticlusterRateLimitServerSettingsReconciler(ctx context.Context, rec controller.MulticlusterRateLimitServerSettingsReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterRateLimitServerSettingsReconciler", varargs...) +} + +// AddMulticlusterRateLimitServerSettingsReconciler indicates an expected call of AddMulticlusterRateLimitServerSettingsReconciler. +func (mr *MockMulticlusterRateLimitServerSettingsReconcileLoopMockRecorder) AddMulticlusterRateLimitServerSettingsReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterRateLimitServerSettingsReconciler", reflect.TypeOf((*MockMulticlusterRateLimitServerSettingsReconcileLoop)(nil).AddMulticlusterRateLimitServerSettingsReconciler), varargs...) +} + +// MockMulticlusterRateLimitServerConfigReconciler is a mock of MulticlusterRateLimitServerConfigReconciler interface. +type MockMulticlusterRateLimitServerConfigReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitServerConfigReconcilerMockRecorder +} + +// MockMulticlusterRateLimitServerConfigReconcilerMockRecorder is the mock recorder for MockMulticlusterRateLimitServerConfigReconciler. +type MockMulticlusterRateLimitServerConfigReconcilerMockRecorder struct { + mock *MockMulticlusterRateLimitServerConfigReconciler +} + +// NewMockMulticlusterRateLimitServerConfigReconciler creates a new mock instance. +func NewMockMulticlusterRateLimitServerConfigReconciler(ctrl *gomock.Controller) *MockMulticlusterRateLimitServerConfigReconciler { + mock := &MockMulticlusterRateLimitServerConfigReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitServerConfigReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitServerConfigReconciler) EXPECT() *MockMulticlusterRateLimitServerConfigReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitServerConfig mocks base method. +func (m *MockMulticlusterRateLimitServerConfigReconciler) ReconcileRateLimitServerConfig(clusterName string, obj *v2.RateLimitServerConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitServerConfig", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRateLimitServerConfig indicates an expected call of ReconcileRateLimitServerConfig. +func (mr *MockMulticlusterRateLimitServerConfigReconcilerMockRecorder) ReconcileRateLimitServerConfig(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitServerConfig", reflect.TypeOf((*MockMulticlusterRateLimitServerConfigReconciler)(nil).ReconcileRateLimitServerConfig), clusterName, obj) +} + +// MockMulticlusterRateLimitServerConfigDeletionReconciler is a mock of MulticlusterRateLimitServerConfigDeletionReconciler interface. +type MockMulticlusterRateLimitServerConfigDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitServerConfigDeletionReconcilerMockRecorder +} + +// MockMulticlusterRateLimitServerConfigDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterRateLimitServerConfigDeletionReconciler. +type MockMulticlusterRateLimitServerConfigDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterRateLimitServerConfigDeletionReconciler +} + +// NewMockMulticlusterRateLimitServerConfigDeletionReconciler creates a new mock instance. +func NewMockMulticlusterRateLimitServerConfigDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterRateLimitServerConfigDeletionReconciler { + mock := &MockMulticlusterRateLimitServerConfigDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitServerConfigDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitServerConfigDeletionReconciler) EXPECT() *MockMulticlusterRateLimitServerConfigDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitServerConfigDeletion mocks base method. +func (m *MockMulticlusterRateLimitServerConfigDeletionReconciler) ReconcileRateLimitServerConfigDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitServerConfigDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRateLimitServerConfigDeletion indicates an expected call of ReconcileRateLimitServerConfigDeletion. +func (mr *MockMulticlusterRateLimitServerConfigDeletionReconcilerMockRecorder) ReconcileRateLimitServerConfigDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitServerConfigDeletion", reflect.TypeOf((*MockMulticlusterRateLimitServerConfigDeletionReconciler)(nil).ReconcileRateLimitServerConfigDeletion), clusterName, req) +} + +// MockMulticlusterRateLimitServerConfigReconcileLoop is a mock of MulticlusterRateLimitServerConfigReconcileLoop interface. +type MockMulticlusterRateLimitServerConfigReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitServerConfigReconcileLoopMockRecorder +} + +// MockMulticlusterRateLimitServerConfigReconcileLoopMockRecorder is the mock recorder for MockMulticlusterRateLimitServerConfigReconcileLoop. +type MockMulticlusterRateLimitServerConfigReconcileLoopMockRecorder struct { + mock *MockMulticlusterRateLimitServerConfigReconcileLoop +} + +// NewMockMulticlusterRateLimitServerConfigReconcileLoop creates a new mock instance. +func NewMockMulticlusterRateLimitServerConfigReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterRateLimitServerConfigReconcileLoop { + mock := &MockMulticlusterRateLimitServerConfigReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitServerConfigReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitServerConfigReconcileLoop) EXPECT() *MockMulticlusterRateLimitServerConfigReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterRateLimitServerConfigReconciler mocks base method. +func (m *MockMulticlusterRateLimitServerConfigReconcileLoop) AddMulticlusterRateLimitServerConfigReconciler(ctx context.Context, rec controller.MulticlusterRateLimitServerConfigReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterRateLimitServerConfigReconciler", varargs...) +} + +// AddMulticlusterRateLimitServerConfigReconciler indicates an expected call of AddMulticlusterRateLimitServerConfigReconciler. +func (mr *MockMulticlusterRateLimitServerConfigReconcileLoopMockRecorder) AddMulticlusterRateLimitServerConfigReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterRateLimitServerConfigReconciler", reflect.TypeOf((*MockMulticlusterRateLimitServerConfigReconcileLoop)(nil).AddMulticlusterRateLimitServerConfigReconciler), varargs...) +} + +// MockMulticlusterDashboardReconciler is a mock of MulticlusterDashboardReconciler interface. +type MockMulticlusterDashboardReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDashboardReconcilerMockRecorder +} + +// MockMulticlusterDashboardReconcilerMockRecorder is the mock recorder for MockMulticlusterDashboardReconciler. +type MockMulticlusterDashboardReconcilerMockRecorder struct { + mock *MockMulticlusterDashboardReconciler +} + +// NewMockMulticlusterDashboardReconciler creates a new mock instance. +func NewMockMulticlusterDashboardReconciler(ctrl *gomock.Controller) *MockMulticlusterDashboardReconciler { + mock := &MockMulticlusterDashboardReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterDashboardReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDashboardReconciler) EXPECT() *MockMulticlusterDashboardReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDashboard mocks base method. +func (m *MockMulticlusterDashboardReconciler) ReconcileDashboard(clusterName string, obj *v2.Dashboard) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDashboard", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileDashboard indicates an expected call of ReconcileDashboard. +func (mr *MockMulticlusterDashboardReconcilerMockRecorder) ReconcileDashboard(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDashboard", reflect.TypeOf((*MockMulticlusterDashboardReconciler)(nil).ReconcileDashboard), clusterName, obj) +} + +// MockMulticlusterDashboardDeletionReconciler is a mock of MulticlusterDashboardDeletionReconciler interface. +type MockMulticlusterDashboardDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDashboardDeletionReconcilerMockRecorder +} + +// MockMulticlusterDashboardDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterDashboardDeletionReconciler. +type MockMulticlusterDashboardDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterDashboardDeletionReconciler +} + +// NewMockMulticlusterDashboardDeletionReconciler creates a new mock instance. +func NewMockMulticlusterDashboardDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterDashboardDeletionReconciler { + mock := &MockMulticlusterDashboardDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterDashboardDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDashboardDeletionReconciler) EXPECT() *MockMulticlusterDashboardDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDashboardDeletion mocks base method. +func (m *MockMulticlusterDashboardDeletionReconciler) ReconcileDashboardDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDashboardDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileDashboardDeletion indicates an expected call of ReconcileDashboardDeletion. +func (mr *MockMulticlusterDashboardDeletionReconcilerMockRecorder) ReconcileDashboardDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDashboardDeletion", reflect.TypeOf((*MockMulticlusterDashboardDeletionReconciler)(nil).ReconcileDashboardDeletion), clusterName, req) +} + +// MockMulticlusterDashboardReconcileLoop is a mock of MulticlusterDashboardReconcileLoop interface. +type MockMulticlusterDashboardReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDashboardReconcileLoopMockRecorder +} + +// MockMulticlusterDashboardReconcileLoopMockRecorder is the mock recorder for MockMulticlusterDashboardReconcileLoop. +type MockMulticlusterDashboardReconcileLoopMockRecorder struct { + mock *MockMulticlusterDashboardReconcileLoop +} + +// NewMockMulticlusterDashboardReconcileLoop creates a new mock instance. +func NewMockMulticlusterDashboardReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterDashboardReconcileLoop { + mock := &MockMulticlusterDashboardReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterDashboardReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDashboardReconcileLoop) EXPECT() *MockMulticlusterDashboardReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterDashboardReconciler mocks base method. +func (m *MockMulticlusterDashboardReconcileLoop) AddMulticlusterDashboardReconciler(ctx context.Context, rec controller.MulticlusterDashboardReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterDashboardReconciler", varargs...) +} + +// AddMulticlusterDashboardReconciler indicates an expected call of AddMulticlusterDashboardReconciler. +func (mr *MockMulticlusterDashboardReconcileLoopMockRecorder) AddMulticlusterDashboardReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterDashboardReconciler", reflect.TypeOf((*MockMulticlusterDashboardReconcileLoop)(nil).AddMulticlusterDashboardReconciler), varargs...) +} + +// MockMulticlusterIstioLifecycleManagerReconciler is a mock of MulticlusterIstioLifecycleManagerReconciler interface. +type MockMulticlusterIstioLifecycleManagerReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterIstioLifecycleManagerReconcilerMockRecorder +} + +// MockMulticlusterIstioLifecycleManagerReconcilerMockRecorder is the mock recorder for MockMulticlusterIstioLifecycleManagerReconciler. +type MockMulticlusterIstioLifecycleManagerReconcilerMockRecorder struct { + mock *MockMulticlusterIstioLifecycleManagerReconciler +} + +// NewMockMulticlusterIstioLifecycleManagerReconciler creates a new mock instance. +func NewMockMulticlusterIstioLifecycleManagerReconciler(ctrl *gomock.Controller) *MockMulticlusterIstioLifecycleManagerReconciler { + mock := &MockMulticlusterIstioLifecycleManagerReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterIstioLifecycleManagerReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterIstioLifecycleManagerReconciler) EXPECT() *MockMulticlusterIstioLifecycleManagerReconcilerMockRecorder { + return m.recorder +} + +// ReconcileIstioLifecycleManager mocks base method. +func (m *MockMulticlusterIstioLifecycleManagerReconciler) ReconcileIstioLifecycleManager(clusterName string, obj *v2.IstioLifecycleManager) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileIstioLifecycleManager", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileIstioLifecycleManager indicates an expected call of ReconcileIstioLifecycleManager. +func (mr *MockMulticlusterIstioLifecycleManagerReconcilerMockRecorder) ReconcileIstioLifecycleManager(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileIstioLifecycleManager", reflect.TypeOf((*MockMulticlusterIstioLifecycleManagerReconciler)(nil).ReconcileIstioLifecycleManager), clusterName, obj) +} + +// MockMulticlusterIstioLifecycleManagerDeletionReconciler is a mock of MulticlusterIstioLifecycleManagerDeletionReconciler interface. +type MockMulticlusterIstioLifecycleManagerDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterIstioLifecycleManagerDeletionReconcilerMockRecorder +} + +// MockMulticlusterIstioLifecycleManagerDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterIstioLifecycleManagerDeletionReconciler. +type MockMulticlusterIstioLifecycleManagerDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterIstioLifecycleManagerDeletionReconciler +} + +// NewMockMulticlusterIstioLifecycleManagerDeletionReconciler creates a new mock instance. +func NewMockMulticlusterIstioLifecycleManagerDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterIstioLifecycleManagerDeletionReconciler { + mock := &MockMulticlusterIstioLifecycleManagerDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterIstioLifecycleManagerDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterIstioLifecycleManagerDeletionReconciler) EXPECT() *MockMulticlusterIstioLifecycleManagerDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileIstioLifecycleManagerDeletion mocks base method. +func (m *MockMulticlusterIstioLifecycleManagerDeletionReconciler) ReconcileIstioLifecycleManagerDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileIstioLifecycleManagerDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileIstioLifecycleManagerDeletion indicates an expected call of ReconcileIstioLifecycleManagerDeletion. +func (mr *MockMulticlusterIstioLifecycleManagerDeletionReconcilerMockRecorder) ReconcileIstioLifecycleManagerDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileIstioLifecycleManagerDeletion", reflect.TypeOf((*MockMulticlusterIstioLifecycleManagerDeletionReconciler)(nil).ReconcileIstioLifecycleManagerDeletion), clusterName, req) +} + +// MockMulticlusterIstioLifecycleManagerReconcileLoop is a mock of MulticlusterIstioLifecycleManagerReconcileLoop interface. +type MockMulticlusterIstioLifecycleManagerReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterIstioLifecycleManagerReconcileLoopMockRecorder +} + +// MockMulticlusterIstioLifecycleManagerReconcileLoopMockRecorder is the mock recorder for MockMulticlusterIstioLifecycleManagerReconcileLoop. +type MockMulticlusterIstioLifecycleManagerReconcileLoopMockRecorder struct { + mock *MockMulticlusterIstioLifecycleManagerReconcileLoop +} + +// NewMockMulticlusterIstioLifecycleManagerReconcileLoop creates a new mock instance. +func NewMockMulticlusterIstioLifecycleManagerReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterIstioLifecycleManagerReconcileLoop { + mock := &MockMulticlusterIstioLifecycleManagerReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterIstioLifecycleManagerReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterIstioLifecycleManagerReconcileLoop) EXPECT() *MockMulticlusterIstioLifecycleManagerReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterIstioLifecycleManagerReconciler mocks base method. +func (m *MockMulticlusterIstioLifecycleManagerReconcileLoop) AddMulticlusterIstioLifecycleManagerReconciler(ctx context.Context, rec controller.MulticlusterIstioLifecycleManagerReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterIstioLifecycleManagerReconciler", varargs...) +} + +// AddMulticlusterIstioLifecycleManagerReconciler indicates an expected call of AddMulticlusterIstioLifecycleManagerReconciler. +func (mr *MockMulticlusterIstioLifecycleManagerReconcileLoopMockRecorder) AddMulticlusterIstioLifecycleManagerReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterIstioLifecycleManagerReconciler", reflect.TypeOf((*MockMulticlusterIstioLifecycleManagerReconcileLoop)(nil).AddMulticlusterIstioLifecycleManagerReconciler), varargs...) +} + +// MockMulticlusterGatewayLifecycleManagerReconciler is a mock of MulticlusterGatewayLifecycleManagerReconciler interface. +type MockMulticlusterGatewayLifecycleManagerReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGatewayLifecycleManagerReconcilerMockRecorder +} + +// MockMulticlusterGatewayLifecycleManagerReconcilerMockRecorder is the mock recorder for MockMulticlusterGatewayLifecycleManagerReconciler. +type MockMulticlusterGatewayLifecycleManagerReconcilerMockRecorder struct { + mock *MockMulticlusterGatewayLifecycleManagerReconciler +} + +// NewMockMulticlusterGatewayLifecycleManagerReconciler creates a new mock instance. +func NewMockMulticlusterGatewayLifecycleManagerReconciler(ctrl *gomock.Controller) *MockMulticlusterGatewayLifecycleManagerReconciler { + mock := &MockMulticlusterGatewayLifecycleManagerReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterGatewayLifecycleManagerReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGatewayLifecycleManagerReconciler) EXPECT() *MockMulticlusterGatewayLifecycleManagerReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGatewayLifecycleManager mocks base method. +func (m *MockMulticlusterGatewayLifecycleManagerReconciler) ReconcileGatewayLifecycleManager(clusterName string, obj *v2.GatewayLifecycleManager) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGatewayLifecycleManager", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGatewayLifecycleManager indicates an expected call of ReconcileGatewayLifecycleManager. +func (mr *MockMulticlusterGatewayLifecycleManagerReconcilerMockRecorder) ReconcileGatewayLifecycleManager(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGatewayLifecycleManager", reflect.TypeOf((*MockMulticlusterGatewayLifecycleManagerReconciler)(nil).ReconcileGatewayLifecycleManager), clusterName, obj) +} + +// MockMulticlusterGatewayLifecycleManagerDeletionReconciler is a mock of MulticlusterGatewayLifecycleManagerDeletionReconciler interface. +type MockMulticlusterGatewayLifecycleManagerDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGatewayLifecycleManagerDeletionReconcilerMockRecorder +} + +// MockMulticlusterGatewayLifecycleManagerDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterGatewayLifecycleManagerDeletionReconciler. +type MockMulticlusterGatewayLifecycleManagerDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterGatewayLifecycleManagerDeletionReconciler +} + +// NewMockMulticlusterGatewayLifecycleManagerDeletionReconciler creates a new mock instance. +func NewMockMulticlusterGatewayLifecycleManagerDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterGatewayLifecycleManagerDeletionReconciler { + mock := &MockMulticlusterGatewayLifecycleManagerDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterGatewayLifecycleManagerDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGatewayLifecycleManagerDeletionReconciler) EXPECT() *MockMulticlusterGatewayLifecycleManagerDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGatewayLifecycleManagerDeletion mocks base method. +func (m *MockMulticlusterGatewayLifecycleManagerDeletionReconciler) ReconcileGatewayLifecycleManagerDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGatewayLifecycleManagerDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileGatewayLifecycleManagerDeletion indicates an expected call of ReconcileGatewayLifecycleManagerDeletion. +func (mr *MockMulticlusterGatewayLifecycleManagerDeletionReconcilerMockRecorder) ReconcileGatewayLifecycleManagerDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGatewayLifecycleManagerDeletion", reflect.TypeOf((*MockMulticlusterGatewayLifecycleManagerDeletionReconciler)(nil).ReconcileGatewayLifecycleManagerDeletion), clusterName, req) +} + +// MockMulticlusterGatewayLifecycleManagerReconcileLoop is a mock of MulticlusterGatewayLifecycleManagerReconcileLoop interface. +type MockMulticlusterGatewayLifecycleManagerReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGatewayLifecycleManagerReconcileLoopMockRecorder +} + +// MockMulticlusterGatewayLifecycleManagerReconcileLoopMockRecorder is the mock recorder for MockMulticlusterGatewayLifecycleManagerReconcileLoop. +type MockMulticlusterGatewayLifecycleManagerReconcileLoopMockRecorder struct { + mock *MockMulticlusterGatewayLifecycleManagerReconcileLoop +} + +// NewMockMulticlusterGatewayLifecycleManagerReconcileLoop creates a new mock instance. +func NewMockMulticlusterGatewayLifecycleManagerReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterGatewayLifecycleManagerReconcileLoop { + mock := &MockMulticlusterGatewayLifecycleManagerReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterGatewayLifecycleManagerReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGatewayLifecycleManagerReconcileLoop) EXPECT() *MockMulticlusterGatewayLifecycleManagerReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterGatewayLifecycleManagerReconciler mocks base method. +func (m *MockMulticlusterGatewayLifecycleManagerReconcileLoop) AddMulticlusterGatewayLifecycleManagerReconciler(ctx context.Context, rec controller.MulticlusterGatewayLifecycleManagerReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterGatewayLifecycleManagerReconciler", varargs...) +} + +// AddMulticlusterGatewayLifecycleManagerReconciler indicates an expected call of AddMulticlusterGatewayLifecycleManagerReconciler. +func (mr *MockMulticlusterGatewayLifecycleManagerReconcileLoopMockRecorder) AddMulticlusterGatewayLifecycleManagerReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterGatewayLifecycleManagerReconciler", reflect.TypeOf((*MockMulticlusterGatewayLifecycleManagerReconcileLoop)(nil).AddMulticlusterGatewayLifecycleManagerReconciler), varargs...) +} diff --git a/client-go/admin.gloo.solo.io/v2/controller/mocks/reconcilers.go b/client-go/admin.gloo.solo.io/v2/controller/mocks/reconcilers.go new file mode 100644 index 000000000..21284ccda --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/controller/mocks/reconcilers.go @@ -0,0 +1,1847 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2/controller" +) + +// MockWorkspaceReconciler is a mock of WorkspaceReconciler interface. +type MockWorkspaceReconciler struct { + ctrl *gomock.Controller + recorder *MockWorkspaceReconcilerMockRecorder +} + +// MockWorkspaceReconcilerMockRecorder is the mock recorder for MockWorkspaceReconciler. +type MockWorkspaceReconcilerMockRecorder struct { + mock *MockWorkspaceReconciler +} + +// NewMockWorkspaceReconciler creates a new mock instance. +func NewMockWorkspaceReconciler(ctrl *gomock.Controller) *MockWorkspaceReconciler { + mock := &MockWorkspaceReconciler{ctrl: ctrl} + mock.recorder = &MockWorkspaceReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceReconciler) EXPECT() *MockWorkspaceReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWorkspace mocks base method. +func (m *MockWorkspaceReconciler) ReconcileWorkspace(obj *v2.Workspace) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWorkspace", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWorkspace indicates an expected call of ReconcileWorkspace. +func (mr *MockWorkspaceReconcilerMockRecorder) ReconcileWorkspace(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWorkspace", reflect.TypeOf((*MockWorkspaceReconciler)(nil).ReconcileWorkspace), obj) +} + +// MockWorkspaceDeletionReconciler is a mock of WorkspaceDeletionReconciler interface. +type MockWorkspaceDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockWorkspaceDeletionReconcilerMockRecorder +} + +// MockWorkspaceDeletionReconcilerMockRecorder is the mock recorder for MockWorkspaceDeletionReconciler. +type MockWorkspaceDeletionReconcilerMockRecorder struct { + mock *MockWorkspaceDeletionReconciler +} + +// NewMockWorkspaceDeletionReconciler creates a new mock instance. +func NewMockWorkspaceDeletionReconciler(ctrl *gomock.Controller) *MockWorkspaceDeletionReconciler { + mock := &MockWorkspaceDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockWorkspaceDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceDeletionReconciler) EXPECT() *MockWorkspaceDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWorkspaceDeletion mocks base method. +func (m *MockWorkspaceDeletionReconciler) ReconcileWorkspaceDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWorkspaceDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileWorkspaceDeletion indicates an expected call of ReconcileWorkspaceDeletion. +func (mr *MockWorkspaceDeletionReconcilerMockRecorder) ReconcileWorkspaceDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWorkspaceDeletion", reflect.TypeOf((*MockWorkspaceDeletionReconciler)(nil).ReconcileWorkspaceDeletion), req) +} + +// MockWorkspaceFinalizer is a mock of WorkspaceFinalizer interface. +type MockWorkspaceFinalizer struct { + ctrl *gomock.Controller + recorder *MockWorkspaceFinalizerMockRecorder +} + +// MockWorkspaceFinalizerMockRecorder is the mock recorder for MockWorkspaceFinalizer. +type MockWorkspaceFinalizerMockRecorder struct { + mock *MockWorkspaceFinalizer +} + +// NewMockWorkspaceFinalizer creates a new mock instance. +func NewMockWorkspaceFinalizer(ctrl *gomock.Controller) *MockWorkspaceFinalizer { + mock := &MockWorkspaceFinalizer{ctrl: ctrl} + mock.recorder = &MockWorkspaceFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceFinalizer) EXPECT() *MockWorkspaceFinalizerMockRecorder { + return m.recorder +} + +// FinalizeWorkspace mocks base method. +func (m *MockWorkspaceFinalizer) FinalizeWorkspace(obj *v2.Workspace) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeWorkspace", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeWorkspace indicates an expected call of FinalizeWorkspace. +func (mr *MockWorkspaceFinalizerMockRecorder) FinalizeWorkspace(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeWorkspace", reflect.TypeOf((*MockWorkspaceFinalizer)(nil).FinalizeWorkspace), obj) +} + +// ReconcileWorkspace mocks base method. +func (m *MockWorkspaceFinalizer) ReconcileWorkspace(obj *v2.Workspace) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWorkspace", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWorkspace indicates an expected call of ReconcileWorkspace. +func (mr *MockWorkspaceFinalizerMockRecorder) ReconcileWorkspace(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWorkspace", reflect.TypeOf((*MockWorkspaceFinalizer)(nil).ReconcileWorkspace), obj) +} + +// WorkspaceFinalizerName mocks base method. +func (m *MockWorkspaceFinalizer) WorkspaceFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "WorkspaceFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// WorkspaceFinalizerName indicates an expected call of WorkspaceFinalizerName. +func (mr *MockWorkspaceFinalizerMockRecorder) WorkspaceFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkspaceFinalizerName", reflect.TypeOf((*MockWorkspaceFinalizer)(nil).WorkspaceFinalizerName)) +} + +// MockWorkspaceReconcileLoop is a mock of WorkspaceReconcileLoop interface. +type MockWorkspaceReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockWorkspaceReconcileLoopMockRecorder +} + +// MockWorkspaceReconcileLoopMockRecorder is the mock recorder for MockWorkspaceReconcileLoop. +type MockWorkspaceReconcileLoopMockRecorder struct { + mock *MockWorkspaceReconcileLoop +} + +// NewMockWorkspaceReconcileLoop creates a new mock instance. +func NewMockWorkspaceReconcileLoop(ctrl *gomock.Controller) *MockWorkspaceReconcileLoop { + mock := &MockWorkspaceReconcileLoop{ctrl: ctrl} + mock.recorder = &MockWorkspaceReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceReconcileLoop) EXPECT() *MockWorkspaceReconcileLoopMockRecorder { + return m.recorder +} + +// RunWorkspaceReconciler mocks base method. +func (m *MockWorkspaceReconcileLoop) RunWorkspaceReconciler(ctx context.Context, rec controller.WorkspaceReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunWorkspaceReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunWorkspaceReconciler indicates an expected call of RunWorkspaceReconciler. +func (mr *MockWorkspaceReconcileLoopMockRecorder) RunWorkspaceReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunWorkspaceReconciler", reflect.TypeOf((*MockWorkspaceReconcileLoop)(nil).RunWorkspaceReconciler), varargs...) +} + +// MockWorkspaceSettingsReconciler is a mock of WorkspaceSettingsReconciler interface. +type MockWorkspaceSettingsReconciler struct { + ctrl *gomock.Controller + recorder *MockWorkspaceSettingsReconcilerMockRecorder +} + +// MockWorkspaceSettingsReconcilerMockRecorder is the mock recorder for MockWorkspaceSettingsReconciler. +type MockWorkspaceSettingsReconcilerMockRecorder struct { + mock *MockWorkspaceSettingsReconciler +} + +// NewMockWorkspaceSettingsReconciler creates a new mock instance. +func NewMockWorkspaceSettingsReconciler(ctrl *gomock.Controller) *MockWorkspaceSettingsReconciler { + mock := &MockWorkspaceSettingsReconciler{ctrl: ctrl} + mock.recorder = &MockWorkspaceSettingsReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceSettingsReconciler) EXPECT() *MockWorkspaceSettingsReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsReconciler) ReconcileWorkspaceSettings(obj *v2.WorkspaceSettings) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWorkspaceSettings", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWorkspaceSettings indicates an expected call of ReconcileWorkspaceSettings. +func (mr *MockWorkspaceSettingsReconcilerMockRecorder) ReconcileWorkspaceSettings(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsReconciler)(nil).ReconcileWorkspaceSettings), obj) +} + +// MockWorkspaceSettingsDeletionReconciler is a mock of WorkspaceSettingsDeletionReconciler interface. +type MockWorkspaceSettingsDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockWorkspaceSettingsDeletionReconcilerMockRecorder +} + +// MockWorkspaceSettingsDeletionReconcilerMockRecorder is the mock recorder for MockWorkspaceSettingsDeletionReconciler. +type MockWorkspaceSettingsDeletionReconcilerMockRecorder struct { + mock *MockWorkspaceSettingsDeletionReconciler +} + +// NewMockWorkspaceSettingsDeletionReconciler creates a new mock instance. +func NewMockWorkspaceSettingsDeletionReconciler(ctrl *gomock.Controller) *MockWorkspaceSettingsDeletionReconciler { + mock := &MockWorkspaceSettingsDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockWorkspaceSettingsDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceSettingsDeletionReconciler) EXPECT() *MockWorkspaceSettingsDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWorkspaceSettingsDeletion mocks base method. +func (m *MockWorkspaceSettingsDeletionReconciler) ReconcileWorkspaceSettingsDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWorkspaceSettingsDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileWorkspaceSettingsDeletion indicates an expected call of ReconcileWorkspaceSettingsDeletion. +func (mr *MockWorkspaceSettingsDeletionReconcilerMockRecorder) ReconcileWorkspaceSettingsDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWorkspaceSettingsDeletion", reflect.TypeOf((*MockWorkspaceSettingsDeletionReconciler)(nil).ReconcileWorkspaceSettingsDeletion), req) +} + +// MockWorkspaceSettingsFinalizer is a mock of WorkspaceSettingsFinalizer interface. +type MockWorkspaceSettingsFinalizer struct { + ctrl *gomock.Controller + recorder *MockWorkspaceSettingsFinalizerMockRecorder +} + +// MockWorkspaceSettingsFinalizerMockRecorder is the mock recorder for MockWorkspaceSettingsFinalizer. +type MockWorkspaceSettingsFinalizerMockRecorder struct { + mock *MockWorkspaceSettingsFinalizer +} + +// NewMockWorkspaceSettingsFinalizer creates a new mock instance. +func NewMockWorkspaceSettingsFinalizer(ctrl *gomock.Controller) *MockWorkspaceSettingsFinalizer { + mock := &MockWorkspaceSettingsFinalizer{ctrl: ctrl} + mock.recorder = &MockWorkspaceSettingsFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceSettingsFinalizer) EXPECT() *MockWorkspaceSettingsFinalizerMockRecorder { + return m.recorder +} + +// FinalizeWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsFinalizer) FinalizeWorkspaceSettings(obj *v2.WorkspaceSettings) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeWorkspaceSettings", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeWorkspaceSettings indicates an expected call of FinalizeWorkspaceSettings. +func (mr *MockWorkspaceSettingsFinalizerMockRecorder) FinalizeWorkspaceSettings(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsFinalizer)(nil).FinalizeWorkspaceSettings), obj) +} + +// ReconcileWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsFinalizer) ReconcileWorkspaceSettings(obj *v2.WorkspaceSettings) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWorkspaceSettings", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWorkspaceSettings indicates an expected call of ReconcileWorkspaceSettings. +func (mr *MockWorkspaceSettingsFinalizerMockRecorder) ReconcileWorkspaceSettings(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsFinalizer)(nil).ReconcileWorkspaceSettings), obj) +} + +// WorkspaceSettingsFinalizerName mocks base method. +func (m *MockWorkspaceSettingsFinalizer) WorkspaceSettingsFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "WorkspaceSettingsFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// WorkspaceSettingsFinalizerName indicates an expected call of WorkspaceSettingsFinalizerName. +func (mr *MockWorkspaceSettingsFinalizerMockRecorder) WorkspaceSettingsFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkspaceSettingsFinalizerName", reflect.TypeOf((*MockWorkspaceSettingsFinalizer)(nil).WorkspaceSettingsFinalizerName)) +} + +// MockWorkspaceSettingsReconcileLoop is a mock of WorkspaceSettingsReconcileLoop interface. +type MockWorkspaceSettingsReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockWorkspaceSettingsReconcileLoopMockRecorder +} + +// MockWorkspaceSettingsReconcileLoopMockRecorder is the mock recorder for MockWorkspaceSettingsReconcileLoop. +type MockWorkspaceSettingsReconcileLoopMockRecorder struct { + mock *MockWorkspaceSettingsReconcileLoop +} + +// NewMockWorkspaceSettingsReconcileLoop creates a new mock instance. +func NewMockWorkspaceSettingsReconcileLoop(ctrl *gomock.Controller) *MockWorkspaceSettingsReconcileLoop { + mock := &MockWorkspaceSettingsReconcileLoop{ctrl: ctrl} + mock.recorder = &MockWorkspaceSettingsReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceSettingsReconcileLoop) EXPECT() *MockWorkspaceSettingsReconcileLoopMockRecorder { + return m.recorder +} + +// RunWorkspaceSettingsReconciler mocks base method. +func (m *MockWorkspaceSettingsReconcileLoop) RunWorkspaceSettingsReconciler(ctx context.Context, rec controller.WorkspaceSettingsReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunWorkspaceSettingsReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunWorkspaceSettingsReconciler indicates an expected call of RunWorkspaceSettingsReconciler. +func (mr *MockWorkspaceSettingsReconcileLoopMockRecorder) RunWorkspaceSettingsReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunWorkspaceSettingsReconciler", reflect.TypeOf((*MockWorkspaceSettingsReconcileLoop)(nil).RunWorkspaceSettingsReconciler), varargs...) +} + +// MockKubernetesClusterReconciler is a mock of KubernetesClusterReconciler interface. +type MockKubernetesClusterReconciler struct { + ctrl *gomock.Controller + recorder *MockKubernetesClusterReconcilerMockRecorder +} + +// MockKubernetesClusterReconcilerMockRecorder is the mock recorder for MockKubernetesClusterReconciler. +type MockKubernetesClusterReconcilerMockRecorder struct { + mock *MockKubernetesClusterReconciler +} + +// NewMockKubernetesClusterReconciler creates a new mock instance. +func NewMockKubernetesClusterReconciler(ctrl *gomock.Controller) *MockKubernetesClusterReconciler { + mock := &MockKubernetesClusterReconciler{ctrl: ctrl} + mock.recorder = &MockKubernetesClusterReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockKubernetesClusterReconciler) EXPECT() *MockKubernetesClusterReconcilerMockRecorder { + return m.recorder +} + +// ReconcileKubernetesCluster mocks base method. +func (m *MockKubernetesClusterReconciler) ReconcileKubernetesCluster(obj *v2.KubernetesCluster) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileKubernetesCluster", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileKubernetesCluster indicates an expected call of ReconcileKubernetesCluster. +func (mr *MockKubernetesClusterReconcilerMockRecorder) ReconcileKubernetesCluster(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterReconciler)(nil).ReconcileKubernetesCluster), obj) +} + +// MockKubernetesClusterDeletionReconciler is a mock of KubernetesClusterDeletionReconciler interface. +type MockKubernetesClusterDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockKubernetesClusterDeletionReconcilerMockRecorder +} + +// MockKubernetesClusterDeletionReconcilerMockRecorder is the mock recorder for MockKubernetesClusterDeletionReconciler. +type MockKubernetesClusterDeletionReconcilerMockRecorder struct { + mock *MockKubernetesClusterDeletionReconciler +} + +// NewMockKubernetesClusterDeletionReconciler creates a new mock instance. +func NewMockKubernetesClusterDeletionReconciler(ctrl *gomock.Controller) *MockKubernetesClusterDeletionReconciler { + mock := &MockKubernetesClusterDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockKubernetesClusterDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockKubernetesClusterDeletionReconciler) EXPECT() *MockKubernetesClusterDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileKubernetesClusterDeletion mocks base method. +func (m *MockKubernetesClusterDeletionReconciler) ReconcileKubernetesClusterDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileKubernetesClusterDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileKubernetesClusterDeletion indicates an expected call of ReconcileKubernetesClusterDeletion. +func (mr *MockKubernetesClusterDeletionReconcilerMockRecorder) ReconcileKubernetesClusterDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileKubernetesClusterDeletion", reflect.TypeOf((*MockKubernetesClusterDeletionReconciler)(nil).ReconcileKubernetesClusterDeletion), req) +} + +// MockKubernetesClusterFinalizer is a mock of KubernetesClusterFinalizer interface. +type MockKubernetesClusterFinalizer struct { + ctrl *gomock.Controller + recorder *MockKubernetesClusterFinalizerMockRecorder +} + +// MockKubernetesClusterFinalizerMockRecorder is the mock recorder for MockKubernetesClusterFinalizer. +type MockKubernetesClusterFinalizerMockRecorder struct { + mock *MockKubernetesClusterFinalizer +} + +// NewMockKubernetesClusterFinalizer creates a new mock instance. +func NewMockKubernetesClusterFinalizer(ctrl *gomock.Controller) *MockKubernetesClusterFinalizer { + mock := &MockKubernetesClusterFinalizer{ctrl: ctrl} + mock.recorder = &MockKubernetesClusterFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockKubernetesClusterFinalizer) EXPECT() *MockKubernetesClusterFinalizerMockRecorder { + return m.recorder +} + +// FinalizeKubernetesCluster mocks base method. +func (m *MockKubernetesClusterFinalizer) FinalizeKubernetesCluster(obj *v2.KubernetesCluster) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeKubernetesCluster", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeKubernetesCluster indicates an expected call of FinalizeKubernetesCluster. +func (mr *MockKubernetesClusterFinalizerMockRecorder) FinalizeKubernetesCluster(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterFinalizer)(nil).FinalizeKubernetesCluster), obj) +} + +// KubernetesClusterFinalizerName mocks base method. +func (m *MockKubernetesClusterFinalizer) KubernetesClusterFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "KubernetesClusterFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// KubernetesClusterFinalizerName indicates an expected call of KubernetesClusterFinalizerName. +func (mr *MockKubernetesClusterFinalizerMockRecorder) KubernetesClusterFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "KubernetesClusterFinalizerName", reflect.TypeOf((*MockKubernetesClusterFinalizer)(nil).KubernetesClusterFinalizerName)) +} + +// ReconcileKubernetesCluster mocks base method. +func (m *MockKubernetesClusterFinalizer) ReconcileKubernetesCluster(obj *v2.KubernetesCluster) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileKubernetesCluster", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileKubernetesCluster indicates an expected call of ReconcileKubernetesCluster. +func (mr *MockKubernetesClusterFinalizerMockRecorder) ReconcileKubernetesCluster(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterFinalizer)(nil).ReconcileKubernetesCluster), obj) +} + +// MockKubernetesClusterReconcileLoop is a mock of KubernetesClusterReconcileLoop interface. +type MockKubernetesClusterReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockKubernetesClusterReconcileLoopMockRecorder +} + +// MockKubernetesClusterReconcileLoopMockRecorder is the mock recorder for MockKubernetesClusterReconcileLoop. +type MockKubernetesClusterReconcileLoopMockRecorder struct { + mock *MockKubernetesClusterReconcileLoop +} + +// NewMockKubernetesClusterReconcileLoop creates a new mock instance. +func NewMockKubernetesClusterReconcileLoop(ctrl *gomock.Controller) *MockKubernetesClusterReconcileLoop { + mock := &MockKubernetesClusterReconcileLoop{ctrl: ctrl} + mock.recorder = &MockKubernetesClusterReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockKubernetesClusterReconcileLoop) EXPECT() *MockKubernetesClusterReconcileLoopMockRecorder { + return m.recorder +} + +// RunKubernetesClusterReconciler mocks base method. +func (m *MockKubernetesClusterReconcileLoop) RunKubernetesClusterReconciler(ctx context.Context, rec controller.KubernetesClusterReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunKubernetesClusterReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunKubernetesClusterReconciler indicates an expected call of RunKubernetesClusterReconciler. +func (mr *MockKubernetesClusterReconcileLoopMockRecorder) RunKubernetesClusterReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunKubernetesClusterReconciler", reflect.TypeOf((*MockKubernetesClusterReconcileLoop)(nil).RunKubernetesClusterReconciler), varargs...) +} + +// MockRootTrustPolicyReconciler is a mock of RootTrustPolicyReconciler interface. +type MockRootTrustPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockRootTrustPolicyReconcilerMockRecorder +} + +// MockRootTrustPolicyReconcilerMockRecorder is the mock recorder for MockRootTrustPolicyReconciler. +type MockRootTrustPolicyReconcilerMockRecorder struct { + mock *MockRootTrustPolicyReconciler +} + +// NewMockRootTrustPolicyReconciler creates a new mock instance. +func NewMockRootTrustPolicyReconciler(ctrl *gomock.Controller) *MockRootTrustPolicyReconciler { + mock := &MockRootTrustPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockRootTrustPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRootTrustPolicyReconciler) EXPECT() *MockRootTrustPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyReconciler) ReconcileRootTrustPolicy(obj *v2.RootTrustPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRootTrustPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRootTrustPolicy indicates an expected call of ReconcileRootTrustPolicy. +func (mr *MockRootTrustPolicyReconcilerMockRecorder) ReconcileRootTrustPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyReconciler)(nil).ReconcileRootTrustPolicy), obj) +} + +// MockRootTrustPolicyDeletionReconciler is a mock of RootTrustPolicyDeletionReconciler interface. +type MockRootTrustPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockRootTrustPolicyDeletionReconcilerMockRecorder +} + +// MockRootTrustPolicyDeletionReconcilerMockRecorder is the mock recorder for MockRootTrustPolicyDeletionReconciler. +type MockRootTrustPolicyDeletionReconcilerMockRecorder struct { + mock *MockRootTrustPolicyDeletionReconciler +} + +// NewMockRootTrustPolicyDeletionReconciler creates a new mock instance. +func NewMockRootTrustPolicyDeletionReconciler(ctrl *gomock.Controller) *MockRootTrustPolicyDeletionReconciler { + mock := &MockRootTrustPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockRootTrustPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRootTrustPolicyDeletionReconciler) EXPECT() *MockRootTrustPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRootTrustPolicyDeletion mocks base method. +func (m *MockRootTrustPolicyDeletionReconciler) ReconcileRootTrustPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRootTrustPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRootTrustPolicyDeletion indicates an expected call of ReconcileRootTrustPolicyDeletion. +func (mr *MockRootTrustPolicyDeletionReconcilerMockRecorder) ReconcileRootTrustPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRootTrustPolicyDeletion", reflect.TypeOf((*MockRootTrustPolicyDeletionReconciler)(nil).ReconcileRootTrustPolicyDeletion), req) +} + +// MockRootTrustPolicyFinalizer is a mock of RootTrustPolicyFinalizer interface. +type MockRootTrustPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockRootTrustPolicyFinalizerMockRecorder +} + +// MockRootTrustPolicyFinalizerMockRecorder is the mock recorder for MockRootTrustPolicyFinalizer. +type MockRootTrustPolicyFinalizerMockRecorder struct { + mock *MockRootTrustPolicyFinalizer +} + +// NewMockRootTrustPolicyFinalizer creates a new mock instance. +func NewMockRootTrustPolicyFinalizer(ctrl *gomock.Controller) *MockRootTrustPolicyFinalizer { + mock := &MockRootTrustPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockRootTrustPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRootTrustPolicyFinalizer) EXPECT() *MockRootTrustPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyFinalizer) FinalizeRootTrustPolicy(obj *v2.RootTrustPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeRootTrustPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeRootTrustPolicy indicates an expected call of FinalizeRootTrustPolicy. +func (mr *MockRootTrustPolicyFinalizerMockRecorder) FinalizeRootTrustPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyFinalizer)(nil).FinalizeRootTrustPolicy), obj) +} + +// ReconcileRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyFinalizer) ReconcileRootTrustPolicy(obj *v2.RootTrustPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRootTrustPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRootTrustPolicy indicates an expected call of ReconcileRootTrustPolicy. +func (mr *MockRootTrustPolicyFinalizerMockRecorder) ReconcileRootTrustPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyFinalizer)(nil).ReconcileRootTrustPolicy), obj) +} + +// RootTrustPolicyFinalizerName mocks base method. +func (m *MockRootTrustPolicyFinalizer) RootTrustPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RootTrustPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// RootTrustPolicyFinalizerName indicates an expected call of RootTrustPolicyFinalizerName. +func (mr *MockRootTrustPolicyFinalizerMockRecorder) RootTrustPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RootTrustPolicyFinalizerName", reflect.TypeOf((*MockRootTrustPolicyFinalizer)(nil).RootTrustPolicyFinalizerName)) +} + +// MockRootTrustPolicyReconcileLoop is a mock of RootTrustPolicyReconcileLoop interface. +type MockRootTrustPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockRootTrustPolicyReconcileLoopMockRecorder +} + +// MockRootTrustPolicyReconcileLoopMockRecorder is the mock recorder for MockRootTrustPolicyReconcileLoop. +type MockRootTrustPolicyReconcileLoopMockRecorder struct { + mock *MockRootTrustPolicyReconcileLoop +} + +// NewMockRootTrustPolicyReconcileLoop creates a new mock instance. +func NewMockRootTrustPolicyReconcileLoop(ctrl *gomock.Controller) *MockRootTrustPolicyReconcileLoop { + mock := &MockRootTrustPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockRootTrustPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRootTrustPolicyReconcileLoop) EXPECT() *MockRootTrustPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunRootTrustPolicyReconciler mocks base method. +func (m *MockRootTrustPolicyReconcileLoop) RunRootTrustPolicyReconciler(ctx context.Context, rec controller.RootTrustPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunRootTrustPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunRootTrustPolicyReconciler indicates an expected call of RunRootTrustPolicyReconciler. +func (mr *MockRootTrustPolicyReconcileLoopMockRecorder) RunRootTrustPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunRootTrustPolicyReconciler", reflect.TypeOf((*MockRootTrustPolicyReconcileLoop)(nil).RunRootTrustPolicyReconciler), varargs...) +} + +// MockExtAuthServerReconciler is a mock of ExtAuthServerReconciler interface. +type MockExtAuthServerReconciler struct { + ctrl *gomock.Controller + recorder *MockExtAuthServerReconcilerMockRecorder +} + +// MockExtAuthServerReconcilerMockRecorder is the mock recorder for MockExtAuthServerReconciler. +type MockExtAuthServerReconcilerMockRecorder struct { + mock *MockExtAuthServerReconciler +} + +// NewMockExtAuthServerReconciler creates a new mock instance. +func NewMockExtAuthServerReconciler(ctrl *gomock.Controller) *MockExtAuthServerReconciler { + mock := &MockExtAuthServerReconciler{ctrl: ctrl} + mock.recorder = &MockExtAuthServerReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthServerReconciler) EXPECT() *MockExtAuthServerReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExtAuthServer mocks base method. +func (m *MockExtAuthServerReconciler) ReconcileExtAuthServer(obj *v2.ExtAuthServer) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExtAuthServer", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExtAuthServer indicates an expected call of ReconcileExtAuthServer. +func (mr *MockExtAuthServerReconcilerMockRecorder) ReconcileExtAuthServer(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExtAuthServer", reflect.TypeOf((*MockExtAuthServerReconciler)(nil).ReconcileExtAuthServer), obj) +} + +// MockExtAuthServerDeletionReconciler is a mock of ExtAuthServerDeletionReconciler interface. +type MockExtAuthServerDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockExtAuthServerDeletionReconcilerMockRecorder +} + +// MockExtAuthServerDeletionReconcilerMockRecorder is the mock recorder for MockExtAuthServerDeletionReconciler. +type MockExtAuthServerDeletionReconcilerMockRecorder struct { + mock *MockExtAuthServerDeletionReconciler +} + +// NewMockExtAuthServerDeletionReconciler creates a new mock instance. +func NewMockExtAuthServerDeletionReconciler(ctrl *gomock.Controller) *MockExtAuthServerDeletionReconciler { + mock := &MockExtAuthServerDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockExtAuthServerDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthServerDeletionReconciler) EXPECT() *MockExtAuthServerDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExtAuthServerDeletion mocks base method. +func (m *MockExtAuthServerDeletionReconciler) ReconcileExtAuthServerDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExtAuthServerDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileExtAuthServerDeletion indicates an expected call of ReconcileExtAuthServerDeletion. +func (mr *MockExtAuthServerDeletionReconcilerMockRecorder) ReconcileExtAuthServerDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExtAuthServerDeletion", reflect.TypeOf((*MockExtAuthServerDeletionReconciler)(nil).ReconcileExtAuthServerDeletion), req) +} + +// MockExtAuthServerFinalizer is a mock of ExtAuthServerFinalizer interface. +type MockExtAuthServerFinalizer struct { + ctrl *gomock.Controller + recorder *MockExtAuthServerFinalizerMockRecorder +} + +// MockExtAuthServerFinalizerMockRecorder is the mock recorder for MockExtAuthServerFinalizer. +type MockExtAuthServerFinalizerMockRecorder struct { + mock *MockExtAuthServerFinalizer +} + +// NewMockExtAuthServerFinalizer creates a new mock instance. +func NewMockExtAuthServerFinalizer(ctrl *gomock.Controller) *MockExtAuthServerFinalizer { + mock := &MockExtAuthServerFinalizer{ctrl: ctrl} + mock.recorder = &MockExtAuthServerFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthServerFinalizer) EXPECT() *MockExtAuthServerFinalizerMockRecorder { + return m.recorder +} + +// ExtAuthServerFinalizerName mocks base method. +func (m *MockExtAuthServerFinalizer) ExtAuthServerFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExtAuthServerFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ExtAuthServerFinalizerName indicates an expected call of ExtAuthServerFinalizerName. +func (mr *MockExtAuthServerFinalizerMockRecorder) ExtAuthServerFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExtAuthServerFinalizerName", reflect.TypeOf((*MockExtAuthServerFinalizer)(nil).ExtAuthServerFinalizerName)) +} + +// FinalizeExtAuthServer mocks base method. +func (m *MockExtAuthServerFinalizer) FinalizeExtAuthServer(obj *v2.ExtAuthServer) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeExtAuthServer", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeExtAuthServer indicates an expected call of FinalizeExtAuthServer. +func (mr *MockExtAuthServerFinalizerMockRecorder) FinalizeExtAuthServer(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeExtAuthServer", reflect.TypeOf((*MockExtAuthServerFinalizer)(nil).FinalizeExtAuthServer), obj) +} + +// ReconcileExtAuthServer mocks base method. +func (m *MockExtAuthServerFinalizer) ReconcileExtAuthServer(obj *v2.ExtAuthServer) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExtAuthServer", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExtAuthServer indicates an expected call of ReconcileExtAuthServer. +func (mr *MockExtAuthServerFinalizerMockRecorder) ReconcileExtAuthServer(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExtAuthServer", reflect.TypeOf((*MockExtAuthServerFinalizer)(nil).ReconcileExtAuthServer), obj) +} + +// MockExtAuthServerReconcileLoop is a mock of ExtAuthServerReconcileLoop interface. +type MockExtAuthServerReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockExtAuthServerReconcileLoopMockRecorder +} + +// MockExtAuthServerReconcileLoopMockRecorder is the mock recorder for MockExtAuthServerReconcileLoop. +type MockExtAuthServerReconcileLoopMockRecorder struct { + mock *MockExtAuthServerReconcileLoop +} + +// NewMockExtAuthServerReconcileLoop creates a new mock instance. +func NewMockExtAuthServerReconcileLoop(ctrl *gomock.Controller) *MockExtAuthServerReconcileLoop { + mock := &MockExtAuthServerReconcileLoop{ctrl: ctrl} + mock.recorder = &MockExtAuthServerReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthServerReconcileLoop) EXPECT() *MockExtAuthServerReconcileLoopMockRecorder { + return m.recorder +} + +// RunExtAuthServerReconciler mocks base method. +func (m *MockExtAuthServerReconcileLoop) RunExtAuthServerReconciler(ctx context.Context, rec controller.ExtAuthServerReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunExtAuthServerReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunExtAuthServerReconciler indicates an expected call of RunExtAuthServerReconciler. +func (mr *MockExtAuthServerReconcileLoopMockRecorder) RunExtAuthServerReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunExtAuthServerReconciler", reflect.TypeOf((*MockExtAuthServerReconcileLoop)(nil).RunExtAuthServerReconciler), varargs...) +} + +// MockRateLimitServerSettingsReconciler is a mock of RateLimitServerSettingsReconciler interface. +type MockRateLimitServerSettingsReconciler struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerSettingsReconcilerMockRecorder +} + +// MockRateLimitServerSettingsReconcilerMockRecorder is the mock recorder for MockRateLimitServerSettingsReconciler. +type MockRateLimitServerSettingsReconcilerMockRecorder struct { + mock *MockRateLimitServerSettingsReconciler +} + +// NewMockRateLimitServerSettingsReconciler creates a new mock instance. +func NewMockRateLimitServerSettingsReconciler(ctrl *gomock.Controller) *MockRateLimitServerSettingsReconciler { + mock := &MockRateLimitServerSettingsReconciler{ctrl: ctrl} + mock.recorder = &MockRateLimitServerSettingsReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerSettingsReconciler) EXPECT() *MockRateLimitServerSettingsReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsReconciler) ReconcileRateLimitServerSettings(obj *v2.RateLimitServerSettings) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitServerSettings", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRateLimitServerSettings indicates an expected call of ReconcileRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsReconcilerMockRecorder) ReconcileRateLimitServerSettings(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsReconciler)(nil).ReconcileRateLimitServerSettings), obj) +} + +// MockRateLimitServerSettingsDeletionReconciler is a mock of RateLimitServerSettingsDeletionReconciler interface. +type MockRateLimitServerSettingsDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerSettingsDeletionReconcilerMockRecorder +} + +// MockRateLimitServerSettingsDeletionReconcilerMockRecorder is the mock recorder for MockRateLimitServerSettingsDeletionReconciler. +type MockRateLimitServerSettingsDeletionReconcilerMockRecorder struct { + mock *MockRateLimitServerSettingsDeletionReconciler +} + +// NewMockRateLimitServerSettingsDeletionReconciler creates a new mock instance. +func NewMockRateLimitServerSettingsDeletionReconciler(ctrl *gomock.Controller) *MockRateLimitServerSettingsDeletionReconciler { + mock := &MockRateLimitServerSettingsDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockRateLimitServerSettingsDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerSettingsDeletionReconciler) EXPECT() *MockRateLimitServerSettingsDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitServerSettingsDeletion mocks base method. +func (m *MockRateLimitServerSettingsDeletionReconciler) ReconcileRateLimitServerSettingsDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitServerSettingsDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRateLimitServerSettingsDeletion indicates an expected call of ReconcileRateLimitServerSettingsDeletion. +func (mr *MockRateLimitServerSettingsDeletionReconcilerMockRecorder) ReconcileRateLimitServerSettingsDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitServerSettingsDeletion", reflect.TypeOf((*MockRateLimitServerSettingsDeletionReconciler)(nil).ReconcileRateLimitServerSettingsDeletion), req) +} + +// MockRateLimitServerSettingsFinalizer is a mock of RateLimitServerSettingsFinalizer interface. +type MockRateLimitServerSettingsFinalizer struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerSettingsFinalizerMockRecorder +} + +// MockRateLimitServerSettingsFinalizerMockRecorder is the mock recorder for MockRateLimitServerSettingsFinalizer. +type MockRateLimitServerSettingsFinalizerMockRecorder struct { + mock *MockRateLimitServerSettingsFinalizer +} + +// NewMockRateLimitServerSettingsFinalizer creates a new mock instance. +func NewMockRateLimitServerSettingsFinalizer(ctrl *gomock.Controller) *MockRateLimitServerSettingsFinalizer { + mock := &MockRateLimitServerSettingsFinalizer{ctrl: ctrl} + mock.recorder = &MockRateLimitServerSettingsFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerSettingsFinalizer) EXPECT() *MockRateLimitServerSettingsFinalizerMockRecorder { + return m.recorder +} + +// FinalizeRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsFinalizer) FinalizeRateLimitServerSettings(obj *v2.RateLimitServerSettings) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeRateLimitServerSettings", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeRateLimitServerSettings indicates an expected call of FinalizeRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsFinalizerMockRecorder) FinalizeRateLimitServerSettings(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsFinalizer)(nil).FinalizeRateLimitServerSettings), obj) +} + +// RateLimitServerSettingsFinalizerName mocks base method. +func (m *MockRateLimitServerSettingsFinalizer) RateLimitServerSettingsFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RateLimitServerSettingsFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// RateLimitServerSettingsFinalizerName indicates an expected call of RateLimitServerSettingsFinalizerName. +func (mr *MockRateLimitServerSettingsFinalizerMockRecorder) RateLimitServerSettingsFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RateLimitServerSettingsFinalizerName", reflect.TypeOf((*MockRateLimitServerSettingsFinalizer)(nil).RateLimitServerSettingsFinalizerName)) +} + +// ReconcileRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsFinalizer) ReconcileRateLimitServerSettings(obj *v2.RateLimitServerSettings) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitServerSettings", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRateLimitServerSettings indicates an expected call of ReconcileRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsFinalizerMockRecorder) ReconcileRateLimitServerSettings(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsFinalizer)(nil).ReconcileRateLimitServerSettings), obj) +} + +// MockRateLimitServerSettingsReconcileLoop is a mock of RateLimitServerSettingsReconcileLoop interface. +type MockRateLimitServerSettingsReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerSettingsReconcileLoopMockRecorder +} + +// MockRateLimitServerSettingsReconcileLoopMockRecorder is the mock recorder for MockRateLimitServerSettingsReconcileLoop. +type MockRateLimitServerSettingsReconcileLoopMockRecorder struct { + mock *MockRateLimitServerSettingsReconcileLoop +} + +// NewMockRateLimitServerSettingsReconcileLoop creates a new mock instance. +func NewMockRateLimitServerSettingsReconcileLoop(ctrl *gomock.Controller) *MockRateLimitServerSettingsReconcileLoop { + mock := &MockRateLimitServerSettingsReconcileLoop{ctrl: ctrl} + mock.recorder = &MockRateLimitServerSettingsReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerSettingsReconcileLoop) EXPECT() *MockRateLimitServerSettingsReconcileLoopMockRecorder { + return m.recorder +} + +// RunRateLimitServerSettingsReconciler mocks base method. +func (m *MockRateLimitServerSettingsReconcileLoop) RunRateLimitServerSettingsReconciler(ctx context.Context, rec controller.RateLimitServerSettingsReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunRateLimitServerSettingsReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunRateLimitServerSettingsReconciler indicates an expected call of RunRateLimitServerSettingsReconciler. +func (mr *MockRateLimitServerSettingsReconcileLoopMockRecorder) RunRateLimitServerSettingsReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunRateLimitServerSettingsReconciler", reflect.TypeOf((*MockRateLimitServerSettingsReconcileLoop)(nil).RunRateLimitServerSettingsReconciler), varargs...) +} + +// MockRateLimitServerConfigReconciler is a mock of RateLimitServerConfigReconciler interface. +type MockRateLimitServerConfigReconciler struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerConfigReconcilerMockRecorder +} + +// MockRateLimitServerConfigReconcilerMockRecorder is the mock recorder for MockRateLimitServerConfigReconciler. +type MockRateLimitServerConfigReconcilerMockRecorder struct { + mock *MockRateLimitServerConfigReconciler +} + +// NewMockRateLimitServerConfigReconciler creates a new mock instance. +func NewMockRateLimitServerConfigReconciler(ctrl *gomock.Controller) *MockRateLimitServerConfigReconciler { + mock := &MockRateLimitServerConfigReconciler{ctrl: ctrl} + mock.recorder = &MockRateLimitServerConfigReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerConfigReconciler) EXPECT() *MockRateLimitServerConfigReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigReconciler) ReconcileRateLimitServerConfig(obj *v2.RateLimitServerConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitServerConfig", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRateLimitServerConfig indicates an expected call of ReconcileRateLimitServerConfig. +func (mr *MockRateLimitServerConfigReconcilerMockRecorder) ReconcileRateLimitServerConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigReconciler)(nil).ReconcileRateLimitServerConfig), obj) +} + +// MockRateLimitServerConfigDeletionReconciler is a mock of RateLimitServerConfigDeletionReconciler interface. +type MockRateLimitServerConfigDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerConfigDeletionReconcilerMockRecorder +} + +// MockRateLimitServerConfigDeletionReconcilerMockRecorder is the mock recorder for MockRateLimitServerConfigDeletionReconciler. +type MockRateLimitServerConfigDeletionReconcilerMockRecorder struct { + mock *MockRateLimitServerConfigDeletionReconciler +} + +// NewMockRateLimitServerConfigDeletionReconciler creates a new mock instance. +func NewMockRateLimitServerConfigDeletionReconciler(ctrl *gomock.Controller) *MockRateLimitServerConfigDeletionReconciler { + mock := &MockRateLimitServerConfigDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockRateLimitServerConfigDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerConfigDeletionReconciler) EXPECT() *MockRateLimitServerConfigDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitServerConfigDeletion mocks base method. +func (m *MockRateLimitServerConfigDeletionReconciler) ReconcileRateLimitServerConfigDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitServerConfigDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRateLimitServerConfigDeletion indicates an expected call of ReconcileRateLimitServerConfigDeletion. +func (mr *MockRateLimitServerConfigDeletionReconcilerMockRecorder) ReconcileRateLimitServerConfigDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitServerConfigDeletion", reflect.TypeOf((*MockRateLimitServerConfigDeletionReconciler)(nil).ReconcileRateLimitServerConfigDeletion), req) +} + +// MockRateLimitServerConfigFinalizer is a mock of RateLimitServerConfigFinalizer interface. +type MockRateLimitServerConfigFinalizer struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerConfigFinalizerMockRecorder +} + +// MockRateLimitServerConfigFinalizerMockRecorder is the mock recorder for MockRateLimitServerConfigFinalizer. +type MockRateLimitServerConfigFinalizerMockRecorder struct { + mock *MockRateLimitServerConfigFinalizer +} + +// NewMockRateLimitServerConfigFinalizer creates a new mock instance. +func NewMockRateLimitServerConfigFinalizer(ctrl *gomock.Controller) *MockRateLimitServerConfigFinalizer { + mock := &MockRateLimitServerConfigFinalizer{ctrl: ctrl} + mock.recorder = &MockRateLimitServerConfigFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerConfigFinalizer) EXPECT() *MockRateLimitServerConfigFinalizerMockRecorder { + return m.recorder +} + +// FinalizeRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigFinalizer) FinalizeRateLimitServerConfig(obj *v2.RateLimitServerConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeRateLimitServerConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeRateLimitServerConfig indicates an expected call of FinalizeRateLimitServerConfig. +func (mr *MockRateLimitServerConfigFinalizerMockRecorder) FinalizeRateLimitServerConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigFinalizer)(nil).FinalizeRateLimitServerConfig), obj) +} + +// RateLimitServerConfigFinalizerName mocks base method. +func (m *MockRateLimitServerConfigFinalizer) RateLimitServerConfigFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RateLimitServerConfigFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// RateLimitServerConfigFinalizerName indicates an expected call of RateLimitServerConfigFinalizerName. +func (mr *MockRateLimitServerConfigFinalizerMockRecorder) RateLimitServerConfigFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RateLimitServerConfigFinalizerName", reflect.TypeOf((*MockRateLimitServerConfigFinalizer)(nil).RateLimitServerConfigFinalizerName)) +} + +// ReconcileRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigFinalizer) ReconcileRateLimitServerConfig(obj *v2.RateLimitServerConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitServerConfig", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRateLimitServerConfig indicates an expected call of ReconcileRateLimitServerConfig. +func (mr *MockRateLimitServerConfigFinalizerMockRecorder) ReconcileRateLimitServerConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigFinalizer)(nil).ReconcileRateLimitServerConfig), obj) +} + +// MockRateLimitServerConfigReconcileLoop is a mock of RateLimitServerConfigReconcileLoop interface. +type MockRateLimitServerConfigReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerConfigReconcileLoopMockRecorder +} + +// MockRateLimitServerConfigReconcileLoopMockRecorder is the mock recorder for MockRateLimitServerConfigReconcileLoop. +type MockRateLimitServerConfigReconcileLoopMockRecorder struct { + mock *MockRateLimitServerConfigReconcileLoop +} + +// NewMockRateLimitServerConfigReconcileLoop creates a new mock instance. +func NewMockRateLimitServerConfigReconcileLoop(ctrl *gomock.Controller) *MockRateLimitServerConfigReconcileLoop { + mock := &MockRateLimitServerConfigReconcileLoop{ctrl: ctrl} + mock.recorder = &MockRateLimitServerConfigReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerConfigReconcileLoop) EXPECT() *MockRateLimitServerConfigReconcileLoopMockRecorder { + return m.recorder +} + +// RunRateLimitServerConfigReconciler mocks base method. +func (m *MockRateLimitServerConfigReconcileLoop) RunRateLimitServerConfigReconciler(ctx context.Context, rec controller.RateLimitServerConfigReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunRateLimitServerConfigReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunRateLimitServerConfigReconciler indicates an expected call of RunRateLimitServerConfigReconciler. +func (mr *MockRateLimitServerConfigReconcileLoopMockRecorder) RunRateLimitServerConfigReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunRateLimitServerConfigReconciler", reflect.TypeOf((*MockRateLimitServerConfigReconcileLoop)(nil).RunRateLimitServerConfigReconciler), varargs...) +} + +// MockDashboardReconciler is a mock of DashboardReconciler interface. +type MockDashboardReconciler struct { + ctrl *gomock.Controller + recorder *MockDashboardReconcilerMockRecorder +} + +// MockDashboardReconcilerMockRecorder is the mock recorder for MockDashboardReconciler. +type MockDashboardReconcilerMockRecorder struct { + mock *MockDashboardReconciler +} + +// NewMockDashboardReconciler creates a new mock instance. +func NewMockDashboardReconciler(ctrl *gomock.Controller) *MockDashboardReconciler { + mock := &MockDashboardReconciler{ctrl: ctrl} + mock.recorder = &MockDashboardReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDashboardReconciler) EXPECT() *MockDashboardReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDashboard mocks base method. +func (m *MockDashboardReconciler) ReconcileDashboard(obj *v2.Dashboard) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDashboard", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileDashboard indicates an expected call of ReconcileDashboard. +func (mr *MockDashboardReconcilerMockRecorder) ReconcileDashboard(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDashboard", reflect.TypeOf((*MockDashboardReconciler)(nil).ReconcileDashboard), obj) +} + +// MockDashboardDeletionReconciler is a mock of DashboardDeletionReconciler interface. +type MockDashboardDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockDashboardDeletionReconcilerMockRecorder +} + +// MockDashboardDeletionReconcilerMockRecorder is the mock recorder for MockDashboardDeletionReconciler. +type MockDashboardDeletionReconcilerMockRecorder struct { + mock *MockDashboardDeletionReconciler +} + +// NewMockDashboardDeletionReconciler creates a new mock instance. +func NewMockDashboardDeletionReconciler(ctrl *gomock.Controller) *MockDashboardDeletionReconciler { + mock := &MockDashboardDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockDashboardDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDashboardDeletionReconciler) EXPECT() *MockDashboardDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDashboardDeletion mocks base method. +func (m *MockDashboardDeletionReconciler) ReconcileDashboardDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDashboardDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileDashboardDeletion indicates an expected call of ReconcileDashboardDeletion. +func (mr *MockDashboardDeletionReconcilerMockRecorder) ReconcileDashboardDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDashboardDeletion", reflect.TypeOf((*MockDashboardDeletionReconciler)(nil).ReconcileDashboardDeletion), req) +} + +// MockDashboardFinalizer is a mock of DashboardFinalizer interface. +type MockDashboardFinalizer struct { + ctrl *gomock.Controller + recorder *MockDashboardFinalizerMockRecorder +} + +// MockDashboardFinalizerMockRecorder is the mock recorder for MockDashboardFinalizer. +type MockDashboardFinalizerMockRecorder struct { + mock *MockDashboardFinalizer +} + +// NewMockDashboardFinalizer creates a new mock instance. +func NewMockDashboardFinalizer(ctrl *gomock.Controller) *MockDashboardFinalizer { + mock := &MockDashboardFinalizer{ctrl: ctrl} + mock.recorder = &MockDashboardFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDashboardFinalizer) EXPECT() *MockDashboardFinalizerMockRecorder { + return m.recorder +} + +// DashboardFinalizerName mocks base method. +func (m *MockDashboardFinalizer) DashboardFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DashboardFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// DashboardFinalizerName indicates an expected call of DashboardFinalizerName. +func (mr *MockDashboardFinalizerMockRecorder) DashboardFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DashboardFinalizerName", reflect.TypeOf((*MockDashboardFinalizer)(nil).DashboardFinalizerName)) +} + +// FinalizeDashboard mocks base method. +func (m *MockDashboardFinalizer) FinalizeDashboard(obj *v2.Dashboard) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeDashboard", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeDashboard indicates an expected call of FinalizeDashboard. +func (mr *MockDashboardFinalizerMockRecorder) FinalizeDashboard(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeDashboard", reflect.TypeOf((*MockDashboardFinalizer)(nil).FinalizeDashboard), obj) +} + +// ReconcileDashboard mocks base method. +func (m *MockDashboardFinalizer) ReconcileDashboard(obj *v2.Dashboard) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDashboard", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileDashboard indicates an expected call of ReconcileDashboard. +func (mr *MockDashboardFinalizerMockRecorder) ReconcileDashboard(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDashboard", reflect.TypeOf((*MockDashboardFinalizer)(nil).ReconcileDashboard), obj) +} + +// MockDashboardReconcileLoop is a mock of DashboardReconcileLoop interface. +type MockDashboardReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockDashboardReconcileLoopMockRecorder +} + +// MockDashboardReconcileLoopMockRecorder is the mock recorder for MockDashboardReconcileLoop. +type MockDashboardReconcileLoopMockRecorder struct { + mock *MockDashboardReconcileLoop +} + +// NewMockDashboardReconcileLoop creates a new mock instance. +func NewMockDashboardReconcileLoop(ctrl *gomock.Controller) *MockDashboardReconcileLoop { + mock := &MockDashboardReconcileLoop{ctrl: ctrl} + mock.recorder = &MockDashboardReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDashboardReconcileLoop) EXPECT() *MockDashboardReconcileLoopMockRecorder { + return m.recorder +} + +// RunDashboardReconciler mocks base method. +func (m *MockDashboardReconcileLoop) RunDashboardReconciler(ctx context.Context, rec controller.DashboardReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunDashboardReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunDashboardReconciler indicates an expected call of RunDashboardReconciler. +func (mr *MockDashboardReconcileLoopMockRecorder) RunDashboardReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunDashboardReconciler", reflect.TypeOf((*MockDashboardReconcileLoop)(nil).RunDashboardReconciler), varargs...) +} + +// MockIstioLifecycleManagerReconciler is a mock of IstioLifecycleManagerReconciler interface. +type MockIstioLifecycleManagerReconciler struct { + ctrl *gomock.Controller + recorder *MockIstioLifecycleManagerReconcilerMockRecorder +} + +// MockIstioLifecycleManagerReconcilerMockRecorder is the mock recorder for MockIstioLifecycleManagerReconciler. +type MockIstioLifecycleManagerReconcilerMockRecorder struct { + mock *MockIstioLifecycleManagerReconciler +} + +// NewMockIstioLifecycleManagerReconciler creates a new mock instance. +func NewMockIstioLifecycleManagerReconciler(ctrl *gomock.Controller) *MockIstioLifecycleManagerReconciler { + mock := &MockIstioLifecycleManagerReconciler{ctrl: ctrl} + mock.recorder = &MockIstioLifecycleManagerReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIstioLifecycleManagerReconciler) EXPECT() *MockIstioLifecycleManagerReconcilerMockRecorder { + return m.recorder +} + +// ReconcileIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerReconciler) ReconcileIstioLifecycleManager(obj *v2.IstioLifecycleManager) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileIstioLifecycleManager", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileIstioLifecycleManager indicates an expected call of ReconcileIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerReconcilerMockRecorder) ReconcileIstioLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerReconciler)(nil).ReconcileIstioLifecycleManager), obj) +} + +// MockIstioLifecycleManagerDeletionReconciler is a mock of IstioLifecycleManagerDeletionReconciler interface. +type MockIstioLifecycleManagerDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockIstioLifecycleManagerDeletionReconcilerMockRecorder +} + +// MockIstioLifecycleManagerDeletionReconcilerMockRecorder is the mock recorder for MockIstioLifecycleManagerDeletionReconciler. +type MockIstioLifecycleManagerDeletionReconcilerMockRecorder struct { + mock *MockIstioLifecycleManagerDeletionReconciler +} + +// NewMockIstioLifecycleManagerDeletionReconciler creates a new mock instance. +func NewMockIstioLifecycleManagerDeletionReconciler(ctrl *gomock.Controller) *MockIstioLifecycleManagerDeletionReconciler { + mock := &MockIstioLifecycleManagerDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockIstioLifecycleManagerDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIstioLifecycleManagerDeletionReconciler) EXPECT() *MockIstioLifecycleManagerDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileIstioLifecycleManagerDeletion mocks base method. +func (m *MockIstioLifecycleManagerDeletionReconciler) ReconcileIstioLifecycleManagerDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileIstioLifecycleManagerDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileIstioLifecycleManagerDeletion indicates an expected call of ReconcileIstioLifecycleManagerDeletion. +func (mr *MockIstioLifecycleManagerDeletionReconcilerMockRecorder) ReconcileIstioLifecycleManagerDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileIstioLifecycleManagerDeletion", reflect.TypeOf((*MockIstioLifecycleManagerDeletionReconciler)(nil).ReconcileIstioLifecycleManagerDeletion), req) +} + +// MockIstioLifecycleManagerFinalizer is a mock of IstioLifecycleManagerFinalizer interface. +type MockIstioLifecycleManagerFinalizer struct { + ctrl *gomock.Controller + recorder *MockIstioLifecycleManagerFinalizerMockRecorder +} + +// MockIstioLifecycleManagerFinalizerMockRecorder is the mock recorder for MockIstioLifecycleManagerFinalizer. +type MockIstioLifecycleManagerFinalizerMockRecorder struct { + mock *MockIstioLifecycleManagerFinalizer +} + +// NewMockIstioLifecycleManagerFinalizer creates a new mock instance. +func NewMockIstioLifecycleManagerFinalizer(ctrl *gomock.Controller) *MockIstioLifecycleManagerFinalizer { + mock := &MockIstioLifecycleManagerFinalizer{ctrl: ctrl} + mock.recorder = &MockIstioLifecycleManagerFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIstioLifecycleManagerFinalizer) EXPECT() *MockIstioLifecycleManagerFinalizerMockRecorder { + return m.recorder +} + +// FinalizeIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerFinalizer) FinalizeIstioLifecycleManager(obj *v2.IstioLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeIstioLifecycleManager", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeIstioLifecycleManager indicates an expected call of FinalizeIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerFinalizerMockRecorder) FinalizeIstioLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerFinalizer)(nil).FinalizeIstioLifecycleManager), obj) +} + +// IstioLifecycleManagerFinalizerName mocks base method. +func (m *MockIstioLifecycleManagerFinalizer) IstioLifecycleManagerFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "IstioLifecycleManagerFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// IstioLifecycleManagerFinalizerName indicates an expected call of IstioLifecycleManagerFinalizerName. +func (mr *MockIstioLifecycleManagerFinalizerMockRecorder) IstioLifecycleManagerFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IstioLifecycleManagerFinalizerName", reflect.TypeOf((*MockIstioLifecycleManagerFinalizer)(nil).IstioLifecycleManagerFinalizerName)) +} + +// ReconcileIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerFinalizer) ReconcileIstioLifecycleManager(obj *v2.IstioLifecycleManager) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileIstioLifecycleManager", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileIstioLifecycleManager indicates an expected call of ReconcileIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerFinalizerMockRecorder) ReconcileIstioLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerFinalizer)(nil).ReconcileIstioLifecycleManager), obj) +} + +// MockIstioLifecycleManagerReconcileLoop is a mock of IstioLifecycleManagerReconcileLoop interface. +type MockIstioLifecycleManagerReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockIstioLifecycleManagerReconcileLoopMockRecorder +} + +// MockIstioLifecycleManagerReconcileLoopMockRecorder is the mock recorder for MockIstioLifecycleManagerReconcileLoop. +type MockIstioLifecycleManagerReconcileLoopMockRecorder struct { + mock *MockIstioLifecycleManagerReconcileLoop +} + +// NewMockIstioLifecycleManagerReconcileLoop creates a new mock instance. +func NewMockIstioLifecycleManagerReconcileLoop(ctrl *gomock.Controller) *MockIstioLifecycleManagerReconcileLoop { + mock := &MockIstioLifecycleManagerReconcileLoop{ctrl: ctrl} + mock.recorder = &MockIstioLifecycleManagerReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIstioLifecycleManagerReconcileLoop) EXPECT() *MockIstioLifecycleManagerReconcileLoopMockRecorder { + return m.recorder +} + +// RunIstioLifecycleManagerReconciler mocks base method. +func (m *MockIstioLifecycleManagerReconcileLoop) RunIstioLifecycleManagerReconciler(ctx context.Context, rec controller.IstioLifecycleManagerReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunIstioLifecycleManagerReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunIstioLifecycleManagerReconciler indicates an expected call of RunIstioLifecycleManagerReconciler. +func (mr *MockIstioLifecycleManagerReconcileLoopMockRecorder) RunIstioLifecycleManagerReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunIstioLifecycleManagerReconciler", reflect.TypeOf((*MockIstioLifecycleManagerReconcileLoop)(nil).RunIstioLifecycleManagerReconciler), varargs...) +} + +// MockGatewayLifecycleManagerReconciler is a mock of GatewayLifecycleManagerReconciler interface. +type MockGatewayLifecycleManagerReconciler struct { + ctrl *gomock.Controller + recorder *MockGatewayLifecycleManagerReconcilerMockRecorder +} + +// MockGatewayLifecycleManagerReconcilerMockRecorder is the mock recorder for MockGatewayLifecycleManagerReconciler. +type MockGatewayLifecycleManagerReconcilerMockRecorder struct { + mock *MockGatewayLifecycleManagerReconciler +} + +// NewMockGatewayLifecycleManagerReconciler creates a new mock instance. +func NewMockGatewayLifecycleManagerReconciler(ctrl *gomock.Controller) *MockGatewayLifecycleManagerReconciler { + mock := &MockGatewayLifecycleManagerReconciler{ctrl: ctrl} + mock.recorder = &MockGatewayLifecycleManagerReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGatewayLifecycleManagerReconciler) EXPECT() *MockGatewayLifecycleManagerReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerReconciler) ReconcileGatewayLifecycleManager(obj *v2.GatewayLifecycleManager) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGatewayLifecycleManager", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGatewayLifecycleManager indicates an expected call of ReconcileGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerReconcilerMockRecorder) ReconcileGatewayLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerReconciler)(nil).ReconcileGatewayLifecycleManager), obj) +} + +// MockGatewayLifecycleManagerDeletionReconciler is a mock of GatewayLifecycleManagerDeletionReconciler interface. +type MockGatewayLifecycleManagerDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockGatewayLifecycleManagerDeletionReconcilerMockRecorder +} + +// MockGatewayLifecycleManagerDeletionReconcilerMockRecorder is the mock recorder for MockGatewayLifecycleManagerDeletionReconciler. +type MockGatewayLifecycleManagerDeletionReconcilerMockRecorder struct { + mock *MockGatewayLifecycleManagerDeletionReconciler +} + +// NewMockGatewayLifecycleManagerDeletionReconciler creates a new mock instance. +func NewMockGatewayLifecycleManagerDeletionReconciler(ctrl *gomock.Controller) *MockGatewayLifecycleManagerDeletionReconciler { + mock := &MockGatewayLifecycleManagerDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockGatewayLifecycleManagerDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGatewayLifecycleManagerDeletionReconciler) EXPECT() *MockGatewayLifecycleManagerDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGatewayLifecycleManagerDeletion mocks base method. +func (m *MockGatewayLifecycleManagerDeletionReconciler) ReconcileGatewayLifecycleManagerDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGatewayLifecycleManagerDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileGatewayLifecycleManagerDeletion indicates an expected call of ReconcileGatewayLifecycleManagerDeletion. +func (mr *MockGatewayLifecycleManagerDeletionReconcilerMockRecorder) ReconcileGatewayLifecycleManagerDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGatewayLifecycleManagerDeletion", reflect.TypeOf((*MockGatewayLifecycleManagerDeletionReconciler)(nil).ReconcileGatewayLifecycleManagerDeletion), req) +} + +// MockGatewayLifecycleManagerFinalizer is a mock of GatewayLifecycleManagerFinalizer interface. +type MockGatewayLifecycleManagerFinalizer struct { + ctrl *gomock.Controller + recorder *MockGatewayLifecycleManagerFinalizerMockRecorder +} + +// MockGatewayLifecycleManagerFinalizerMockRecorder is the mock recorder for MockGatewayLifecycleManagerFinalizer. +type MockGatewayLifecycleManagerFinalizerMockRecorder struct { + mock *MockGatewayLifecycleManagerFinalizer +} + +// NewMockGatewayLifecycleManagerFinalizer creates a new mock instance. +func NewMockGatewayLifecycleManagerFinalizer(ctrl *gomock.Controller) *MockGatewayLifecycleManagerFinalizer { + mock := &MockGatewayLifecycleManagerFinalizer{ctrl: ctrl} + mock.recorder = &MockGatewayLifecycleManagerFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGatewayLifecycleManagerFinalizer) EXPECT() *MockGatewayLifecycleManagerFinalizerMockRecorder { + return m.recorder +} + +// FinalizeGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerFinalizer) FinalizeGatewayLifecycleManager(obj *v2.GatewayLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeGatewayLifecycleManager", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeGatewayLifecycleManager indicates an expected call of FinalizeGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerFinalizerMockRecorder) FinalizeGatewayLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerFinalizer)(nil).FinalizeGatewayLifecycleManager), obj) +} + +// GatewayLifecycleManagerFinalizerName mocks base method. +func (m *MockGatewayLifecycleManagerFinalizer) GatewayLifecycleManagerFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GatewayLifecycleManagerFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// GatewayLifecycleManagerFinalizerName indicates an expected call of GatewayLifecycleManagerFinalizerName. +func (mr *MockGatewayLifecycleManagerFinalizerMockRecorder) GatewayLifecycleManagerFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GatewayLifecycleManagerFinalizerName", reflect.TypeOf((*MockGatewayLifecycleManagerFinalizer)(nil).GatewayLifecycleManagerFinalizerName)) +} + +// ReconcileGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerFinalizer) ReconcileGatewayLifecycleManager(obj *v2.GatewayLifecycleManager) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGatewayLifecycleManager", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGatewayLifecycleManager indicates an expected call of ReconcileGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerFinalizerMockRecorder) ReconcileGatewayLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerFinalizer)(nil).ReconcileGatewayLifecycleManager), obj) +} + +// MockGatewayLifecycleManagerReconcileLoop is a mock of GatewayLifecycleManagerReconcileLoop interface. +type MockGatewayLifecycleManagerReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockGatewayLifecycleManagerReconcileLoopMockRecorder +} + +// MockGatewayLifecycleManagerReconcileLoopMockRecorder is the mock recorder for MockGatewayLifecycleManagerReconcileLoop. +type MockGatewayLifecycleManagerReconcileLoopMockRecorder struct { + mock *MockGatewayLifecycleManagerReconcileLoop +} + +// NewMockGatewayLifecycleManagerReconcileLoop creates a new mock instance. +func NewMockGatewayLifecycleManagerReconcileLoop(ctrl *gomock.Controller) *MockGatewayLifecycleManagerReconcileLoop { + mock := &MockGatewayLifecycleManagerReconcileLoop{ctrl: ctrl} + mock.recorder = &MockGatewayLifecycleManagerReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGatewayLifecycleManagerReconcileLoop) EXPECT() *MockGatewayLifecycleManagerReconcileLoopMockRecorder { + return m.recorder +} + +// RunGatewayLifecycleManagerReconciler mocks base method. +func (m *MockGatewayLifecycleManagerReconcileLoop) RunGatewayLifecycleManagerReconciler(ctx context.Context, rec controller.GatewayLifecycleManagerReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunGatewayLifecycleManagerReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunGatewayLifecycleManagerReconciler indicates an expected call of RunGatewayLifecycleManagerReconciler. +func (mr *MockGatewayLifecycleManagerReconcileLoopMockRecorder) RunGatewayLifecycleManagerReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunGatewayLifecycleManagerReconciler", reflect.TypeOf((*MockGatewayLifecycleManagerReconcileLoop)(nil).RunGatewayLifecycleManagerReconciler), varargs...) +} diff --git a/client-go/admin.gloo.solo.io/v2/controller/multicluster_reconcilers.go b/client-go/admin.gloo.solo.io/v2/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..c83eb34f0 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/controller/multicluster_reconcilers.go @@ -0,0 +1,729 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + admin_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the Workspace Resource across clusters. +// implemented by the user +type MulticlusterWorkspaceReconciler interface { + ReconcileWorkspace(clusterName string, obj *admin_gloo_solo_io_v2.Workspace) (reconcile.Result, error) +} + +// Reconcile deletion events for the Workspace Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterWorkspaceDeletionReconciler interface { + ReconcileWorkspaceDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterWorkspaceReconcilerFuncs struct { + OnReconcileWorkspace func(clusterName string, obj *admin_gloo_solo_io_v2.Workspace) (reconcile.Result, error) + OnReconcileWorkspaceDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterWorkspaceReconcilerFuncs) ReconcileWorkspace(clusterName string, obj *admin_gloo_solo_io_v2.Workspace) (reconcile.Result, error) { + if f.OnReconcileWorkspace == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileWorkspace(clusterName, obj) +} + +func (f *MulticlusterWorkspaceReconcilerFuncs) ReconcileWorkspaceDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileWorkspaceDeletion == nil { + return nil + } + return f.OnReconcileWorkspaceDeletion(clusterName, req) +} + +type MulticlusterWorkspaceReconcileLoop interface { + // AddMulticlusterWorkspaceReconciler adds a MulticlusterWorkspaceReconciler to the MulticlusterWorkspaceReconcileLoop. + AddMulticlusterWorkspaceReconciler(ctx context.Context, rec MulticlusterWorkspaceReconciler, predicates ...predicate.Predicate) +} + +type multiclusterWorkspaceReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterWorkspaceReconcileLoop) AddMulticlusterWorkspaceReconciler(ctx context.Context, rec MulticlusterWorkspaceReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericWorkspaceMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterWorkspaceReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterWorkspaceReconcileLoop { + return &multiclusterWorkspaceReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &admin_gloo_solo_io_v2.Workspace{}, options)} +} + +type genericWorkspaceMulticlusterReconciler struct { + reconciler MulticlusterWorkspaceReconciler +} + +func (g genericWorkspaceMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterWorkspaceDeletionReconciler); ok { + return deletionReconciler.ReconcileWorkspaceDeletion(cluster, req) + } + return nil +} + +func (g genericWorkspaceMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.Workspace) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: Workspace handler received event for %T", object) + } + return g.reconciler.ReconcileWorkspace(cluster, obj) +} + +// Reconcile Upsert events for the WorkspaceSettings Resource across clusters. +// implemented by the user +type MulticlusterWorkspaceSettingsReconciler interface { + ReconcileWorkspaceSettings(clusterName string, obj *admin_gloo_solo_io_v2.WorkspaceSettings) (reconcile.Result, error) +} + +// Reconcile deletion events for the WorkspaceSettings Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterWorkspaceSettingsDeletionReconciler interface { + ReconcileWorkspaceSettingsDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterWorkspaceSettingsReconcilerFuncs struct { + OnReconcileWorkspaceSettings func(clusterName string, obj *admin_gloo_solo_io_v2.WorkspaceSettings) (reconcile.Result, error) + OnReconcileWorkspaceSettingsDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterWorkspaceSettingsReconcilerFuncs) ReconcileWorkspaceSettings(clusterName string, obj *admin_gloo_solo_io_v2.WorkspaceSettings) (reconcile.Result, error) { + if f.OnReconcileWorkspaceSettings == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileWorkspaceSettings(clusterName, obj) +} + +func (f *MulticlusterWorkspaceSettingsReconcilerFuncs) ReconcileWorkspaceSettingsDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileWorkspaceSettingsDeletion == nil { + return nil + } + return f.OnReconcileWorkspaceSettingsDeletion(clusterName, req) +} + +type MulticlusterWorkspaceSettingsReconcileLoop interface { + // AddMulticlusterWorkspaceSettingsReconciler adds a MulticlusterWorkspaceSettingsReconciler to the MulticlusterWorkspaceSettingsReconcileLoop. + AddMulticlusterWorkspaceSettingsReconciler(ctx context.Context, rec MulticlusterWorkspaceSettingsReconciler, predicates ...predicate.Predicate) +} + +type multiclusterWorkspaceSettingsReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterWorkspaceSettingsReconcileLoop) AddMulticlusterWorkspaceSettingsReconciler(ctx context.Context, rec MulticlusterWorkspaceSettingsReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericWorkspaceSettingsMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterWorkspaceSettingsReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterWorkspaceSettingsReconcileLoop { + return &multiclusterWorkspaceSettingsReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &admin_gloo_solo_io_v2.WorkspaceSettings{}, options)} +} + +type genericWorkspaceSettingsMulticlusterReconciler struct { + reconciler MulticlusterWorkspaceSettingsReconciler +} + +func (g genericWorkspaceSettingsMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterWorkspaceSettingsDeletionReconciler); ok { + return deletionReconciler.ReconcileWorkspaceSettingsDeletion(cluster, req) + } + return nil +} + +func (g genericWorkspaceSettingsMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.WorkspaceSettings) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: WorkspaceSettings handler received event for %T", object) + } + return g.reconciler.ReconcileWorkspaceSettings(cluster, obj) +} + +// Reconcile Upsert events for the KubernetesCluster Resource across clusters. +// implemented by the user +type MulticlusterKubernetesClusterReconciler interface { + ReconcileKubernetesCluster(clusterName string, obj *admin_gloo_solo_io_v2.KubernetesCluster) (reconcile.Result, error) +} + +// Reconcile deletion events for the KubernetesCluster Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterKubernetesClusterDeletionReconciler interface { + ReconcileKubernetesClusterDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterKubernetesClusterReconcilerFuncs struct { + OnReconcileKubernetesCluster func(clusterName string, obj *admin_gloo_solo_io_v2.KubernetesCluster) (reconcile.Result, error) + OnReconcileKubernetesClusterDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterKubernetesClusterReconcilerFuncs) ReconcileKubernetesCluster(clusterName string, obj *admin_gloo_solo_io_v2.KubernetesCluster) (reconcile.Result, error) { + if f.OnReconcileKubernetesCluster == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileKubernetesCluster(clusterName, obj) +} + +func (f *MulticlusterKubernetesClusterReconcilerFuncs) ReconcileKubernetesClusterDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileKubernetesClusterDeletion == nil { + return nil + } + return f.OnReconcileKubernetesClusterDeletion(clusterName, req) +} + +type MulticlusterKubernetesClusterReconcileLoop interface { + // AddMulticlusterKubernetesClusterReconciler adds a MulticlusterKubernetesClusterReconciler to the MulticlusterKubernetesClusterReconcileLoop. + AddMulticlusterKubernetesClusterReconciler(ctx context.Context, rec MulticlusterKubernetesClusterReconciler, predicates ...predicate.Predicate) +} + +type multiclusterKubernetesClusterReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterKubernetesClusterReconcileLoop) AddMulticlusterKubernetesClusterReconciler(ctx context.Context, rec MulticlusterKubernetesClusterReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericKubernetesClusterMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterKubernetesClusterReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterKubernetesClusterReconcileLoop { + return &multiclusterKubernetesClusterReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &admin_gloo_solo_io_v2.KubernetesCluster{}, options)} +} + +type genericKubernetesClusterMulticlusterReconciler struct { + reconciler MulticlusterKubernetesClusterReconciler +} + +func (g genericKubernetesClusterMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterKubernetesClusterDeletionReconciler); ok { + return deletionReconciler.ReconcileKubernetesClusterDeletion(cluster, req) + } + return nil +} + +func (g genericKubernetesClusterMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.KubernetesCluster) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: KubernetesCluster handler received event for %T", object) + } + return g.reconciler.ReconcileKubernetesCluster(cluster, obj) +} + +// Reconcile Upsert events for the RootTrustPolicy Resource across clusters. +// implemented by the user +type MulticlusterRootTrustPolicyReconciler interface { + ReconcileRootTrustPolicy(clusterName string, obj *admin_gloo_solo_io_v2.RootTrustPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the RootTrustPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterRootTrustPolicyDeletionReconciler interface { + ReconcileRootTrustPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterRootTrustPolicyReconcilerFuncs struct { + OnReconcileRootTrustPolicy func(clusterName string, obj *admin_gloo_solo_io_v2.RootTrustPolicy) (reconcile.Result, error) + OnReconcileRootTrustPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterRootTrustPolicyReconcilerFuncs) ReconcileRootTrustPolicy(clusterName string, obj *admin_gloo_solo_io_v2.RootTrustPolicy) (reconcile.Result, error) { + if f.OnReconcileRootTrustPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRootTrustPolicy(clusterName, obj) +} + +func (f *MulticlusterRootTrustPolicyReconcilerFuncs) ReconcileRootTrustPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileRootTrustPolicyDeletion == nil { + return nil + } + return f.OnReconcileRootTrustPolicyDeletion(clusterName, req) +} + +type MulticlusterRootTrustPolicyReconcileLoop interface { + // AddMulticlusterRootTrustPolicyReconciler adds a MulticlusterRootTrustPolicyReconciler to the MulticlusterRootTrustPolicyReconcileLoop. + AddMulticlusterRootTrustPolicyReconciler(ctx context.Context, rec MulticlusterRootTrustPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterRootTrustPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterRootTrustPolicyReconcileLoop) AddMulticlusterRootTrustPolicyReconciler(ctx context.Context, rec MulticlusterRootTrustPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericRootTrustPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterRootTrustPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterRootTrustPolicyReconcileLoop { + return &multiclusterRootTrustPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &admin_gloo_solo_io_v2.RootTrustPolicy{}, options)} +} + +type genericRootTrustPolicyMulticlusterReconciler struct { + reconciler MulticlusterRootTrustPolicyReconciler +} + +func (g genericRootTrustPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterRootTrustPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileRootTrustPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericRootTrustPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.RootTrustPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RootTrustPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileRootTrustPolicy(cluster, obj) +} + +// Reconcile Upsert events for the ExtAuthServer Resource across clusters. +// implemented by the user +type MulticlusterExtAuthServerReconciler interface { + ReconcileExtAuthServer(clusterName string, obj *admin_gloo_solo_io_v2.ExtAuthServer) (reconcile.Result, error) +} + +// Reconcile deletion events for the ExtAuthServer Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterExtAuthServerDeletionReconciler interface { + ReconcileExtAuthServerDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterExtAuthServerReconcilerFuncs struct { + OnReconcileExtAuthServer func(clusterName string, obj *admin_gloo_solo_io_v2.ExtAuthServer) (reconcile.Result, error) + OnReconcileExtAuthServerDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterExtAuthServerReconcilerFuncs) ReconcileExtAuthServer(clusterName string, obj *admin_gloo_solo_io_v2.ExtAuthServer) (reconcile.Result, error) { + if f.OnReconcileExtAuthServer == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileExtAuthServer(clusterName, obj) +} + +func (f *MulticlusterExtAuthServerReconcilerFuncs) ReconcileExtAuthServerDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileExtAuthServerDeletion == nil { + return nil + } + return f.OnReconcileExtAuthServerDeletion(clusterName, req) +} + +type MulticlusterExtAuthServerReconcileLoop interface { + // AddMulticlusterExtAuthServerReconciler adds a MulticlusterExtAuthServerReconciler to the MulticlusterExtAuthServerReconcileLoop. + AddMulticlusterExtAuthServerReconciler(ctx context.Context, rec MulticlusterExtAuthServerReconciler, predicates ...predicate.Predicate) +} + +type multiclusterExtAuthServerReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterExtAuthServerReconcileLoop) AddMulticlusterExtAuthServerReconciler(ctx context.Context, rec MulticlusterExtAuthServerReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericExtAuthServerMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterExtAuthServerReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterExtAuthServerReconcileLoop { + return &multiclusterExtAuthServerReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &admin_gloo_solo_io_v2.ExtAuthServer{}, options)} +} + +type genericExtAuthServerMulticlusterReconciler struct { + reconciler MulticlusterExtAuthServerReconciler +} + +func (g genericExtAuthServerMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterExtAuthServerDeletionReconciler); ok { + return deletionReconciler.ReconcileExtAuthServerDeletion(cluster, req) + } + return nil +} + +func (g genericExtAuthServerMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.ExtAuthServer) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ExtAuthServer handler received event for %T", object) + } + return g.reconciler.ReconcileExtAuthServer(cluster, obj) +} + +// Reconcile Upsert events for the RateLimitServerSettings Resource across clusters. +// implemented by the user +type MulticlusterRateLimitServerSettingsReconciler interface { + ReconcileRateLimitServerSettings(clusterName string, obj *admin_gloo_solo_io_v2.RateLimitServerSettings) (reconcile.Result, error) +} + +// Reconcile deletion events for the RateLimitServerSettings Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterRateLimitServerSettingsDeletionReconciler interface { + ReconcileRateLimitServerSettingsDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterRateLimitServerSettingsReconcilerFuncs struct { + OnReconcileRateLimitServerSettings func(clusterName string, obj *admin_gloo_solo_io_v2.RateLimitServerSettings) (reconcile.Result, error) + OnReconcileRateLimitServerSettingsDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterRateLimitServerSettingsReconcilerFuncs) ReconcileRateLimitServerSettings(clusterName string, obj *admin_gloo_solo_io_v2.RateLimitServerSettings) (reconcile.Result, error) { + if f.OnReconcileRateLimitServerSettings == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRateLimitServerSettings(clusterName, obj) +} + +func (f *MulticlusterRateLimitServerSettingsReconcilerFuncs) ReconcileRateLimitServerSettingsDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileRateLimitServerSettingsDeletion == nil { + return nil + } + return f.OnReconcileRateLimitServerSettingsDeletion(clusterName, req) +} + +type MulticlusterRateLimitServerSettingsReconcileLoop interface { + // AddMulticlusterRateLimitServerSettingsReconciler adds a MulticlusterRateLimitServerSettingsReconciler to the MulticlusterRateLimitServerSettingsReconcileLoop. + AddMulticlusterRateLimitServerSettingsReconciler(ctx context.Context, rec MulticlusterRateLimitServerSettingsReconciler, predicates ...predicate.Predicate) +} + +type multiclusterRateLimitServerSettingsReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterRateLimitServerSettingsReconcileLoop) AddMulticlusterRateLimitServerSettingsReconciler(ctx context.Context, rec MulticlusterRateLimitServerSettingsReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericRateLimitServerSettingsMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterRateLimitServerSettingsReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterRateLimitServerSettingsReconcileLoop { + return &multiclusterRateLimitServerSettingsReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &admin_gloo_solo_io_v2.RateLimitServerSettings{}, options)} +} + +type genericRateLimitServerSettingsMulticlusterReconciler struct { + reconciler MulticlusterRateLimitServerSettingsReconciler +} + +func (g genericRateLimitServerSettingsMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterRateLimitServerSettingsDeletionReconciler); ok { + return deletionReconciler.ReconcileRateLimitServerSettingsDeletion(cluster, req) + } + return nil +} + +func (g genericRateLimitServerSettingsMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.RateLimitServerSettings) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RateLimitServerSettings handler received event for %T", object) + } + return g.reconciler.ReconcileRateLimitServerSettings(cluster, obj) +} + +// Reconcile Upsert events for the RateLimitServerConfig Resource across clusters. +// implemented by the user +type MulticlusterRateLimitServerConfigReconciler interface { + ReconcileRateLimitServerConfig(clusterName string, obj *admin_gloo_solo_io_v2.RateLimitServerConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the RateLimitServerConfig Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterRateLimitServerConfigDeletionReconciler interface { + ReconcileRateLimitServerConfigDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterRateLimitServerConfigReconcilerFuncs struct { + OnReconcileRateLimitServerConfig func(clusterName string, obj *admin_gloo_solo_io_v2.RateLimitServerConfig) (reconcile.Result, error) + OnReconcileRateLimitServerConfigDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterRateLimitServerConfigReconcilerFuncs) ReconcileRateLimitServerConfig(clusterName string, obj *admin_gloo_solo_io_v2.RateLimitServerConfig) (reconcile.Result, error) { + if f.OnReconcileRateLimitServerConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRateLimitServerConfig(clusterName, obj) +} + +func (f *MulticlusterRateLimitServerConfigReconcilerFuncs) ReconcileRateLimitServerConfigDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileRateLimitServerConfigDeletion == nil { + return nil + } + return f.OnReconcileRateLimitServerConfigDeletion(clusterName, req) +} + +type MulticlusterRateLimitServerConfigReconcileLoop interface { + // AddMulticlusterRateLimitServerConfigReconciler adds a MulticlusterRateLimitServerConfigReconciler to the MulticlusterRateLimitServerConfigReconcileLoop. + AddMulticlusterRateLimitServerConfigReconciler(ctx context.Context, rec MulticlusterRateLimitServerConfigReconciler, predicates ...predicate.Predicate) +} + +type multiclusterRateLimitServerConfigReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterRateLimitServerConfigReconcileLoop) AddMulticlusterRateLimitServerConfigReconciler(ctx context.Context, rec MulticlusterRateLimitServerConfigReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericRateLimitServerConfigMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterRateLimitServerConfigReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterRateLimitServerConfigReconcileLoop { + return &multiclusterRateLimitServerConfigReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &admin_gloo_solo_io_v2.RateLimitServerConfig{}, options)} +} + +type genericRateLimitServerConfigMulticlusterReconciler struct { + reconciler MulticlusterRateLimitServerConfigReconciler +} + +func (g genericRateLimitServerConfigMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterRateLimitServerConfigDeletionReconciler); ok { + return deletionReconciler.ReconcileRateLimitServerConfigDeletion(cluster, req) + } + return nil +} + +func (g genericRateLimitServerConfigMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.RateLimitServerConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RateLimitServerConfig handler received event for %T", object) + } + return g.reconciler.ReconcileRateLimitServerConfig(cluster, obj) +} + +// Reconcile Upsert events for the Dashboard Resource across clusters. +// implemented by the user +type MulticlusterDashboardReconciler interface { + ReconcileDashboard(clusterName string, obj *admin_gloo_solo_io_v2.Dashboard) (reconcile.Result, error) +} + +// Reconcile deletion events for the Dashboard Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterDashboardDeletionReconciler interface { + ReconcileDashboardDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterDashboardReconcilerFuncs struct { + OnReconcileDashboard func(clusterName string, obj *admin_gloo_solo_io_v2.Dashboard) (reconcile.Result, error) + OnReconcileDashboardDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterDashboardReconcilerFuncs) ReconcileDashboard(clusterName string, obj *admin_gloo_solo_io_v2.Dashboard) (reconcile.Result, error) { + if f.OnReconcileDashboard == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileDashboard(clusterName, obj) +} + +func (f *MulticlusterDashboardReconcilerFuncs) ReconcileDashboardDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileDashboardDeletion == nil { + return nil + } + return f.OnReconcileDashboardDeletion(clusterName, req) +} + +type MulticlusterDashboardReconcileLoop interface { + // AddMulticlusterDashboardReconciler adds a MulticlusterDashboardReconciler to the MulticlusterDashboardReconcileLoop. + AddMulticlusterDashboardReconciler(ctx context.Context, rec MulticlusterDashboardReconciler, predicates ...predicate.Predicate) +} + +type multiclusterDashboardReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterDashboardReconcileLoop) AddMulticlusterDashboardReconciler(ctx context.Context, rec MulticlusterDashboardReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericDashboardMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterDashboardReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterDashboardReconcileLoop { + return &multiclusterDashboardReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &admin_gloo_solo_io_v2.Dashboard{}, options)} +} + +type genericDashboardMulticlusterReconciler struct { + reconciler MulticlusterDashboardReconciler +} + +func (g genericDashboardMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterDashboardDeletionReconciler); ok { + return deletionReconciler.ReconcileDashboardDeletion(cluster, req) + } + return nil +} + +func (g genericDashboardMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.Dashboard) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: Dashboard handler received event for %T", object) + } + return g.reconciler.ReconcileDashboard(cluster, obj) +} + +// Reconcile Upsert events for the IstioLifecycleManager Resource across clusters. +// implemented by the user +type MulticlusterIstioLifecycleManagerReconciler interface { + ReconcileIstioLifecycleManager(clusterName string, obj *admin_gloo_solo_io_v2.IstioLifecycleManager) (reconcile.Result, error) +} + +// Reconcile deletion events for the IstioLifecycleManager Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterIstioLifecycleManagerDeletionReconciler interface { + ReconcileIstioLifecycleManagerDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterIstioLifecycleManagerReconcilerFuncs struct { + OnReconcileIstioLifecycleManager func(clusterName string, obj *admin_gloo_solo_io_v2.IstioLifecycleManager) (reconcile.Result, error) + OnReconcileIstioLifecycleManagerDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterIstioLifecycleManagerReconcilerFuncs) ReconcileIstioLifecycleManager(clusterName string, obj *admin_gloo_solo_io_v2.IstioLifecycleManager) (reconcile.Result, error) { + if f.OnReconcileIstioLifecycleManager == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileIstioLifecycleManager(clusterName, obj) +} + +func (f *MulticlusterIstioLifecycleManagerReconcilerFuncs) ReconcileIstioLifecycleManagerDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileIstioLifecycleManagerDeletion == nil { + return nil + } + return f.OnReconcileIstioLifecycleManagerDeletion(clusterName, req) +} + +type MulticlusterIstioLifecycleManagerReconcileLoop interface { + // AddMulticlusterIstioLifecycleManagerReconciler adds a MulticlusterIstioLifecycleManagerReconciler to the MulticlusterIstioLifecycleManagerReconcileLoop. + AddMulticlusterIstioLifecycleManagerReconciler(ctx context.Context, rec MulticlusterIstioLifecycleManagerReconciler, predicates ...predicate.Predicate) +} + +type multiclusterIstioLifecycleManagerReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterIstioLifecycleManagerReconcileLoop) AddMulticlusterIstioLifecycleManagerReconciler(ctx context.Context, rec MulticlusterIstioLifecycleManagerReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericIstioLifecycleManagerMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterIstioLifecycleManagerReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterIstioLifecycleManagerReconcileLoop { + return &multiclusterIstioLifecycleManagerReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &admin_gloo_solo_io_v2.IstioLifecycleManager{}, options)} +} + +type genericIstioLifecycleManagerMulticlusterReconciler struct { + reconciler MulticlusterIstioLifecycleManagerReconciler +} + +func (g genericIstioLifecycleManagerMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterIstioLifecycleManagerDeletionReconciler); ok { + return deletionReconciler.ReconcileIstioLifecycleManagerDeletion(cluster, req) + } + return nil +} + +func (g genericIstioLifecycleManagerMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.IstioLifecycleManager) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: IstioLifecycleManager handler received event for %T", object) + } + return g.reconciler.ReconcileIstioLifecycleManager(cluster, obj) +} + +// Reconcile Upsert events for the GatewayLifecycleManager Resource across clusters. +// implemented by the user +type MulticlusterGatewayLifecycleManagerReconciler interface { + ReconcileGatewayLifecycleManager(clusterName string, obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) (reconcile.Result, error) +} + +// Reconcile deletion events for the GatewayLifecycleManager Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterGatewayLifecycleManagerDeletionReconciler interface { + ReconcileGatewayLifecycleManagerDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterGatewayLifecycleManagerReconcilerFuncs struct { + OnReconcileGatewayLifecycleManager func(clusterName string, obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) (reconcile.Result, error) + OnReconcileGatewayLifecycleManagerDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterGatewayLifecycleManagerReconcilerFuncs) ReconcileGatewayLifecycleManager(clusterName string, obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) (reconcile.Result, error) { + if f.OnReconcileGatewayLifecycleManager == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileGatewayLifecycleManager(clusterName, obj) +} + +func (f *MulticlusterGatewayLifecycleManagerReconcilerFuncs) ReconcileGatewayLifecycleManagerDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileGatewayLifecycleManagerDeletion == nil { + return nil + } + return f.OnReconcileGatewayLifecycleManagerDeletion(clusterName, req) +} + +type MulticlusterGatewayLifecycleManagerReconcileLoop interface { + // AddMulticlusterGatewayLifecycleManagerReconciler adds a MulticlusterGatewayLifecycleManagerReconciler to the MulticlusterGatewayLifecycleManagerReconcileLoop. + AddMulticlusterGatewayLifecycleManagerReconciler(ctx context.Context, rec MulticlusterGatewayLifecycleManagerReconciler, predicates ...predicate.Predicate) +} + +type multiclusterGatewayLifecycleManagerReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterGatewayLifecycleManagerReconcileLoop) AddMulticlusterGatewayLifecycleManagerReconciler(ctx context.Context, rec MulticlusterGatewayLifecycleManagerReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericGatewayLifecycleManagerMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterGatewayLifecycleManagerReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterGatewayLifecycleManagerReconcileLoop { + return &multiclusterGatewayLifecycleManagerReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &admin_gloo_solo_io_v2.GatewayLifecycleManager{}, options)} +} + +type genericGatewayLifecycleManagerMulticlusterReconciler struct { + reconciler MulticlusterGatewayLifecycleManagerReconciler +} + +func (g genericGatewayLifecycleManagerMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterGatewayLifecycleManagerDeletionReconciler); ok { + return deletionReconciler.ReconcileGatewayLifecycleManagerDeletion(cluster, req) + } + return nil +} + +func (g genericGatewayLifecycleManagerMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.GatewayLifecycleManager) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: GatewayLifecycleManager handler received event for %T", object) + } + return g.reconciler.ReconcileGatewayLifecycleManager(cluster, obj) +} diff --git a/client-go/admin.gloo.solo.io/v2/controller/reconcilers.go b/client-go/admin.gloo.solo.io/v2/controller/reconcilers.go new file mode 100644 index 000000000..091f1ca0c --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/controller/reconcilers.go @@ -0,0 +1,1188 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + admin_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the Workspace Resource. +// implemented by the user +type WorkspaceReconciler interface { + ReconcileWorkspace(obj *admin_gloo_solo_io_v2.Workspace) (reconcile.Result, error) +} + +// Reconcile deletion events for the Workspace Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type WorkspaceDeletionReconciler interface { + ReconcileWorkspaceDeletion(req reconcile.Request) error +} + +type WorkspaceReconcilerFuncs struct { + OnReconcileWorkspace func(obj *admin_gloo_solo_io_v2.Workspace) (reconcile.Result, error) + OnReconcileWorkspaceDeletion func(req reconcile.Request) error +} + +func (f *WorkspaceReconcilerFuncs) ReconcileWorkspace(obj *admin_gloo_solo_io_v2.Workspace) (reconcile.Result, error) { + if f.OnReconcileWorkspace == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileWorkspace(obj) +} + +func (f *WorkspaceReconcilerFuncs) ReconcileWorkspaceDeletion(req reconcile.Request) error { + if f.OnReconcileWorkspaceDeletion == nil { + return nil + } + return f.OnReconcileWorkspaceDeletion(req) +} + +// Reconcile and finalize the Workspace Resource +// implemented by the user +type WorkspaceFinalizer interface { + WorkspaceReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + WorkspaceFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeWorkspace(obj *admin_gloo_solo_io_v2.Workspace) error +} + +type WorkspaceReconcileLoop interface { + RunWorkspaceReconciler(ctx context.Context, rec WorkspaceReconciler, predicates ...predicate.Predicate) error +} + +type workspaceReconcileLoop struct { + loop reconcile.Loop +} + +func NewWorkspaceReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) WorkspaceReconcileLoop { + return &workspaceReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &admin_gloo_solo_io_v2.Workspace{}, options), + } +} + +func (c *workspaceReconcileLoop) RunWorkspaceReconciler(ctx context.Context, reconciler WorkspaceReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericWorkspaceReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(WorkspaceFinalizer); ok { + reconcilerWrapper = genericWorkspaceFinalizer{ + genericWorkspaceReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericWorkspaceHandler implements a generic reconcile.Reconciler +type genericWorkspaceReconciler struct { + reconciler WorkspaceReconciler +} + +func (r genericWorkspaceReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.Workspace) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: Workspace handler received event for %T", object) + } + return r.reconciler.ReconcileWorkspace(obj) +} + +func (r genericWorkspaceReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(WorkspaceDeletionReconciler); ok { + return deletionReconciler.ReconcileWorkspaceDeletion(request) + } + return nil +} + +// genericWorkspaceFinalizer implements a generic reconcile.FinalizingReconciler +type genericWorkspaceFinalizer struct { + genericWorkspaceReconciler + finalizingReconciler WorkspaceFinalizer +} + +func (r genericWorkspaceFinalizer) FinalizerName() string { + return r.finalizingReconciler.WorkspaceFinalizerName() +} + +func (r genericWorkspaceFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.Workspace) + if !ok { + return errors.Errorf("internal error: Workspace handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeWorkspace(obj) +} + +// Reconcile Upsert events for the WorkspaceSettings Resource. +// implemented by the user +type WorkspaceSettingsReconciler interface { + ReconcileWorkspaceSettings(obj *admin_gloo_solo_io_v2.WorkspaceSettings) (reconcile.Result, error) +} + +// Reconcile deletion events for the WorkspaceSettings Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type WorkspaceSettingsDeletionReconciler interface { + ReconcileWorkspaceSettingsDeletion(req reconcile.Request) error +} + +type WorkspaceSettingsReconcilerFuncs struct { + OnReconcileWorkspaceSettings func(obj *admin_gloo_solo_io_v2.WorkspaceSettings) (reconcile.Result, error) + OnReconcileWorkspaceSettingsDeletion func(req reconcile.Request) error +} + +func (f *WorkspaceSettingsReconcilerFuncs) ReconcileWorkspaceSettings(obj *admin_gloo_solo_io_v2.WorkspaceSettings) (reconcile.Result, error) { + if f.OnReconcileWorkspaceSettings == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileWorkspaceSettings(obj) +} + +func (f *WorkspaceSettingsReconcilerFuncs) ReconcileWorkspaceSettingsDeletion(req reconcile.Request) error { + if f.OnReconcileWorkspaceSettingsDeletion == nil { + return nil + } + return f.OnReconcileWorkspaceSettingsDeletion(req) +} + +// Reconcile and finalize the WorkspaceSettings Resource +// implemented by the user +type WorkspaceSettingsFinalizer interface { + WorkspaceSettingsReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + WorkspaceSettingsFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeWorkspaceSettings(obj *admin_gloo_solo_io_v2.WorkspaceSettings) error +} + +type WorkspaceSettingsReconcileLoop interface { + RunWorkspaceSettingsReconciler(ctx context.Context, rec WorkspaceSettingsReconciler, predicates ...predicate.Predicate) error +} + +type workspaceSettingsReconcileLoop struct { + loop reconcile.Loop +} + +func NewWorkspaceSettingsReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) WorkspaceSettingsReconcileLoop { + return &workspaceSettingsReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &admin_gloo_solo_io_v2.WorkspaceSettings{}, options), + } +} + +func (c *workspaceSettingsReconcileLoop) RunWorkspaceSettingsReconciler(ctx context.Context, reconciler WorkspaceSettingsReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericWorkspaceSettingsReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(WorkspaceSettingsFinalizer); ok { + reconcilerWrapper = genericWorkspaceSettingsFinalizer{ + genericWorkspaceSettingsReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericWorkspaceSettingsHandler implements a generic reconcile.Reconciler +type genericWorkspaceSettingsReconciler struct { + reconciler WorkspaceSettingsReconciler +} + +func (r genericWorkspaceSettingsReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.WorkspaceSettings) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: WorkspaceSettings handler received event for %T", object) + } + return r.reconciler.ReconcileWorkspaceSettings(obj) +} + +func (r genericWorkspaceSettingsReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(WorkspaceSettingsDeletionReconciler); ok { + return deletionReconciler.ReconcileWorkspaceSettingsDeletion(request) + } + return nil +} + +// genericWorkspaceSettingsFinalizer implements a generic reconcile.FinalizingReconciler +type genericWorkspaceSettingsFinalizer struct { + genericWorkspaceSettingsReconciler + finalizingReconciler WorkspaceSettingsFinalizer +} + +func (r genericWorkspaceSettingsFinalizer) FinalizerName() string { + return r.finalizingReconciler.WorkspaceSettingsFinalizerName() +} + +func (r genericWorkspaceSettingsFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.WorkspaceSettings) + if !ok { + return errors.Errorf("internal error: WorkspaceSettings handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeWorkspaceSettings(obj) +} + +// Reconcile Upsert events for the KubernetesCluster Resource. +// implemented by the user +type KubernetesClusterReconciler interface { + ReconcileKubernetesCluster(obj *admin_gloo_solo_io_v2.KubernetesCluster) (reconcile.Result, error) +} + +// Reconcile deletion events for the KubernetesCluster Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type KubernetesClusterDeletionReconciler interface { + ReconcileKubernetesClusterDeletion(req reconcile.Request) error +} + +type KubernetesClusterReconcilerFuncs struct { + OnReconcileKubernetesCluster func(obj *admin_gloo_solo_io_v2.KubernetesCluster) (reconcile.Result, error) + OnReconcileKubernetesClusterDeletion func(req reconcile.Request) error +} + +func (f *KubernetesClusterReconcilerFuncs) ReconcileKubernetesCluster(obj *admin_gloo_solo_io_v2.KubernetesCluster) (reconcile.Result, error) { + if f.OnReconcileKubernetesCluster == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileKubernetesCluster(obj) +} + +func (f *KubernetesClusterReconcilerFuncs) ReconcileKubernetesClusterDeletion(req reconcile.Request) error { + if f.OnReconcileKubernetesClusterDeletion == nil { + return nil + } + return f.OnReconcileKubernetesClusterDeletion(req) +} + +// Reconcile and finalize the KubernetesCluster Resource +// implemented by the user +type KubernetesClusterFinalizer interface { + KubernetesClusterReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + KubernetesClusterFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeKubernetesCluster(obj *admin_gloo_solo_io_v2.KubernetesCluster) error +} + +type KubernetesClusterReconcileLoop interface { + RunKubernetesClusterReconciler(ctx context.Context, rec KubernetesClusterReconciler, predicates ...predicate.Predicate) error +} + +type kubernetesClusterReconcileLoop struct { + loop reconcile.Loop +} + +func NewKubernetesClusterReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) KubernetesClusterReconcileLoop { + return &kubernetesClusterReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &admin_gloo_solo_io_v2.KubernetesCluster{}, options), + } +} + +func (c *kubernetesClusterReconcileLoop) RunKubernetesClusterReconciler(ctx context.Context, reconciler KubernetesClusterReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericKubernetesClusterReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(KubernetesClusterFinalizer); ok { + reconcilerWrapper = genericKubernetesClusterFinalizer{ + genericKubernetesClusterReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericKubernetesClusterHandler implements a generic reconcile.Reconciler +type genericKubernetesClusterReconciler struct { + reconciler KubernetesClusterReconciler +} + +func (r genericKubernetesClusterReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.KubernetesCluster) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: KubernetesCluster handler received event for %T", object) + } + return r.reconciler.ReconcileKubernetesCluster(obj) +} + +func (r genericKubernetesClusterReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(KubernetesClusterDeletionReconciler); ok { + return deletionReconciler.ReconcileKubernetesClusterDeletion(request) + } + return nil +} + +// genericKubernetesClusterFinalizer implements a generic reconcile.FinalizingReconciler +type genericKubernetesClusterFinalizer struct { + genericKubernetesClusterReconciler + finalizingReconciler KubernetesClusterFinalizer +} + +func (r genericKubernetesClusterFinalizer) FinalizerName() string { + return r.finalizingReconciler.KubernetesClusterFinalizerName() +} + +func (r genericKubernetesClusterFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.KubernetesCluster) + if !ok { + return errors.Errorf("internal error: KubernetesCluster handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeKubernetesCluster(obj) +} + +// Reconcile Upsert events for the RootTrustPolicy Resource. +// implemented by the user +type RootTrustPolicyReconciler interface { + ReconcileRootTrustPolicy(obj *admin_gloo_solo_io_v2.RootTrustPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the RootTrustPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type RootTrustPolicyDeletionReconciler interface { + ReconcileRootTrustPolicyDeletion(req reconcile.Request) error +} + +type RootTrustPolicyReconcilerFuncs struct { + OnReconcileRootTrustPolicy func(obj *admin_gloo_solo_io_v2.RootTrustPolicy) (reconcile.Result, error) + OnReconcileRootTrustPolicyDeletion func(req reconcile.Request) error +} + +func (f *RootTrustPolicyReconcilerFuncs) ReconcileRootTrustPolicy(obj *admin_gloo_solo_io_v2.RootTrustPolicy) (reconcile.Result, error) { + if f.OnReconcileRootTrustPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRootTrustPolicy(obj) +} + +func (f *RootTrustPolicyReconcilerFuncs) ReconcileRootTrustPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileRootTrustPolicyDeletion == nil { + return nil + } + return f.OnReconcileRootTrustPolicyDeletion(req) +} + +// Reconcile and finalize the RootTrustPolicy Resource +// implemented by the user +type RootTrustPolicyFinalizer interface { + RootTrustPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + RootTrustPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeRootTrustPolicy(obj *admin_gloo_solo_io_v2.RootTrustPolicy) error +} + +type RootTrustPolicyReconcileLoop interface { + RunRootTrustPolicyReconciler(ctx context.Context, rec RootTrustPolicyReconciler, predicates ...predicate.Predicate) error +} + +type rootTrustPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewRootTrustPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) RootTrustPolicyReconcileLoop { + return &rootTrustPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &admin_gloo_solo_io_v2.RootTrustPolicy{}, options), + } +} + +func (c *rootTrustPolicyReconcileLoop) RunRootTrustPolicyReconciler(ctx context.Context, reconciler RootTrustPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericRootTrustPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(RootTrustPolicyFinalizer); ok { + reconcilerWrapper = genericRootTrustPolicyFinalizer{ + genericRootTrustPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericRootTrustPolicyHandler implements a generic reconcile.Reconciler +type genericRootTrustPolicyReconciler struct { + reconciler RootTrustPolicyReconciler +} + +func (r genericRootTrustPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.RootTrustPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RootTrustPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileRootTrustPolicy(obj) +} + +func (r genericRootTrustPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(RootTrustPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileRootTrustPolicyDeletion(request) + } + return nil +} + +// genericRootTrustPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericRootTrustPolicyFinalizer struct { + genericRootTrustPolicyReconciler + finalizingReconciler RootTrustPolicyFinalizer +} + +func (r genericRootTrustPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.RootTrustPolicyFinalizerName() +} + +func (r genericRootTrustPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.RootTrustPolicy) + if !ok { + return errors.Errorf("internal error: RootTrustPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeRootTrustPolicy(obj) +} + +// Reconcile Upsert events for the ExtAuthServer Resource. +// implemented by the user +type ExtAuthServerReconciler interface { + ReconcileExtAuthServer(obj *admin_gloo_solo_io_v2.ExtAuthServer) (reconcile.Result, error) +} + +// Reconcile deletion events for the ExtAuthServer Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ExtAuthServerDeletionReconciler interface { + ReconcileExtAuthServerDeletion(req reconcile.Request) error +} + +type ExtAuthServerReconcilerFuncs struct { + OnReconcileExtAuthServer func(obj *admin_gloo_solo_io_v2.ExtAuthServer) (reconcile.Result, error) + OnReconcileExtAuthServerDeletion func(req reconcile.Request) error +} + +func (f *ExtAuthServerReconcilerFuncs) ReconcileExtAuthServer(obj *admin_gloo_solo_io_v2.ExtAuthServer) (reconcile.Result, error) { + if f.OnReconcileExtAuthServer == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileExtAuthServer(obj) +} + +func (f *ExtAuthServerReconcilerFuncs) ReconcileExtAuthServerDeletion(req reconcile.Request) error { + if f.OnReconcileExtAuthServerDeletion == nil { + return nil + } + return f.OnReconcileExtAuthServerDeletion(req) +} + +// Reconcile and finalize the ExtAuthServer Resource +// implemented by the user +type ExtAuthServerFinalizer interface { + ExtAuthServerReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ExtAuthServerFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeExtAuthServer(obj *admin_gloo_solo_io_v2.ExtAuthServer) error +} + +type ExtAuthServerReconcileLoop interface { + RunExtAuthServerReconciler(ctx context.Context, rec ExtAuthServerReconciler, predicates ...predicate.Predicate) error +} + +type extAuthServerReconcileLoop struct { + loop reconcile.Loop +} + +func NewExtAuthServerReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ExtAuthServerReconcileLoop { + return &extAuthServerReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &admin_gloo_solo_io_v2.ExtAuthServer{}, options), + } +} + +func (c *extAuthServerReconcileLoop) RunExtAuthServerReconciler(ctx context.Context, reconciler ExtAuthServerReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericExtAuthServerReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ExtAuthServerFinalizer); ok { + reconcilerWrapper = genericExtAuthServerFinalizer{ + genericExtAuthServerReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericExtAuthServerHandler implements a generic reconcile.Reconciler +type genericExtAuthServerReconciler struct { + reconciler ExtAuthServerReconciler +} + +func (r genericExtAuthServerReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.ExtAuthServer) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ExtAuthServer handler received event for %T", object) + } + return r.reconciler.ReconcileExtAuthServer(obj) +} + +func (r genericExtAuthServerReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ExtAuthServerDeletionReconciler); ok { + return deletionReconciler.ReconcileExtAuthServerDeletion(request) + } + return nil +} + +// genericExtAuthServerFinalizer implements a generic reconcile.FinalizingReconciler +type genericExtAuthServerFinalizer struct { + genericExtAuthServerReconciler + finalizingReconciler ExtAuthServerFinalizer +} + +func (r genericExtAuthServerFinalizer) FinalizerName() string { + return r.finalizingReconciler.ExtAuthServerFinalizerName() +} + +func (r genericExtAuthServerFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.ExtAuthServer) + if !ok { + return errors.Errorf("internal error: ExtAuthServer handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeExtAuthServer(obj) +} + +// Reconcile Upsert events for the RateLimitServerSettings Resource. +// implemented by the user +type RateLimitServerSettingsReconciler interface { + ReconcileRateLimitServerSettings(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) (reconcile.Result, error) +} + +// Reconcile deletion events for the RateLimitServerSettings Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type RateLimitServerSettingsDeletionReconciler interface { + ReconcileRateLimitServerSettingsDeletion(req reconcile.Request) error +} + +type RateLimitServerSettingsReconcilerFuncs struct { + OnReconcileRateLimitServerSettings func(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) (reconcile.Result, error) + OnReconcileRateLimitServerSettingsDeletion func(req reconcile.Request) error +} + +func (f *RateLimitServerSettingsReconcilerFuncs) ReconcileRateLimitServerSettings(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) (reconcile.Result, error) { + if f.OnReconcileRateLimitServerSettings == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRateLimitServerSettings(obj) +} + +func (f *RateLimitServerSettingsReconcilerFuncs) ReconcileRateLimitServerSettingsDeletion(req reconcile.Request) error { + if f.OnReconcileRateLimitServerSettingsDeletion == nil { + return nil + } + return f.OnReconcileRateLimitServerSettingsDeletion(req) +} + +// Reconcile and finalize the RateLimitServerSettings Resource +// implemented by the user +type RateLimitServerSettingsFinalizer interface { + RateLimitServerSettingsReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + RateLimitServerSettingsFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeRateLimitServerSettings(obj *admin_gloo_solo_io_v2.RateLimitServerSettings) error +} + +type RateLimitServerSettingsReconcileLoop interface { + RunRateLimitServerSettingsReconciler(ctx context.Context, rec RateLimitServerSettingsReconciler, predicates ...predicate.Predicate) error +} + +type rateLimitServerSettingsReconcileLoop struct { + loop reconcile.Loop +} + +func NewRateLimitServerSettingsReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) RateLimitServerSettingsReconcileLoop { + return &rateLimitServerSettingsReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &admin_gloo_solo_io_v2.RateLimitServerSettings{}, options), + } +} + +func (c *rateLimitServerSettingsReconcileLoop) RunRateLimitServerSettingsReconciler(ctx context.Context, reconciler RateLimitServerSettingsReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericRateLimitServerSettingsReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(RateLimitServerSettingsFinalizer); ok { + reconcilerWrapper = genericRateLimitServerSettingsFinalizer{ + genericRateLimitServerSettingsReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericRateLimitServerSettingsHandler implements a generic reconcile.Reconciler +type genericRateLimitServerSettingsReconciler struct { + reconciler RateLimitServerSettingsReconciler +} + +func (r genericRateLimitServerSettingsReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.RateLimitServerSettings) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RateLimitServerSettings handler received event for %T", object) + } + return r.reconciler.ReconcileRateLimitServerSettings(obj) +} + +func (r genericRateLimitServerSettingsReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(RateLimitServerSettingsDeletionReconciler); ok { + return deletionReconciler.ReconcileRateLimitServerSettingsDeletion(request) + } + return nil +} + +// genericRateLimitServerSettingsFinalizer implements a generic reconcile.FinalizingReconciler +type genericRateLimitServerSettingsFinalizer struct { + genericRateLimitServerSettingsReconciler + finalizingReconciler RateLimitServerSettingsFinalizer +} + +func (r genericRateLimitServerSettingsFinalizer) FinalizerName() string { + return r.finalizingReconciler.RateLimitServerSettingsFinalizerName() +} + +func (r genericRateLimitServerSettingsFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.RateLimitServerSettings) + if !ok { + return errors.Errorf("internal error: RateLimitServerSettings handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeRateLimitServerSettings(obj) +} + +// Reconcile Upsert events for the RateLimitServerConfig Resource. +// implemented by the user +type RateLimitServerConfigReconciler interface { + ReconcileRateLimitServerConfig(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the RateLimitServerConfig Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type RateLimitServerConfigDeletionReconciler interface { + ReconcileRateLimitServerConfigDeletion(req reconcile.Request) error +} + +type RateLimitServerConfigReconcilerFuncs struct { + OnReconcileRateLimitServerConfig func(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) (reconcile.Result, error) + OnReconcileRateLimitServerConfigDeletion func(req reconcile.Request) error +} + +func (f *RateLimitServerConfigReconcilerFuncs) ReconcileRateLimitServerConfig(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) (reconcile.Result, error) { + if f.OnReconcileRateLimitServerConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRateLimitServerConfig(obj) +} + +func (f *RateLimitServerConfigReconcilerFuncs) ReconcileRateLimitServerConfigDeletion(req reconcile.Request) error { + if f.OnReconcileRateLimitServerConfigDeletion == nil { + return nil + } + return f.OnReconcileRateLimitServerConfigDeletion(req) +} + +// Reconcile and finalize the RateLimitServerConfig Resource +// implemented by the user +type RateLimitServerConfigFinalizer interface { + RateLimitServerConfigReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + RateLimitServerConfigFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeRateLimitServerConfig(obj *admin_gloo_solo_io_v2.RateLimitServerConfig) error +} + +type RateLimitServerConfigReconcileLoop interface { + RunRateLimitServerConfigReconciler(ctx context.Context, rec RateLimitServerConfigReconciler, predicates ...predicate.Predicate) error +} + +type rateLimitServerConfigReconcileLoop struct { + loop reconcile.Loop +} + +func NewRateLimitServerConfigReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) RateLimitServerConfigReconcileLoop { + return &rateLimitServerConfigReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &admin_gloo_solo_io_v2.RateLimitServerConfig{}, options), + } +} + +func (c *rateLimitServerConfigReconcileLoop) RunRateLimitServerConfigReconciler(ctx context.Context, reconciler RateLimitServerConfigReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericRateLimitServerConfigReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(RateLimitServerConfigFinalizer); ok { + reconcilerWrapper = genericRateLimitServerConfigFinalizer{ + genericRateLimitServerConfigReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericRateLimitServerConfigHandler implements a generic reconcile.Reconciler +type genericRateLimitServerConfigReconciler struct { + reconciler RateLimitServerConfigReconciler +} + +func (r genericRateLimitServerConfigReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.RateLimitServerConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RateLimitServerConfig handler received event for %T", object) + } + return r.reconciler.ReconcileRateLimitServerConfig(obj) +} + +func (r genericRateLimitServerConfigReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(RateLimitServerConfigDeletionReconciler); ok { + return deletionReconciler.ReconcileRateLimitServerConfigDeletion(request) + } + return nil +} + +// genericRateLimitServerConfigFinalizer implements a generic reconcile.FinalizingReconciler +type genericRateLimitServerConfigFinalizer struct { + genericRateLimitServerConfigReconciler + finalizingReconciler RateLimitServerConfigFinalizer +} + +func (r genericRateLimitServerConfigFinalizer) FinalizerName() string { + return r.finalizingReconciler.RateLimitServerConfigFinalizerName() +} + +func (r genericRateLimitServerConfigFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.RateLimitServerConfig) + if !ok { + return errors.Errorf("internal error: RateLimitServerConfig handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeRateLimitServerConfig(obj) +} + +// Reconcile Upsert events for the Dashboard Resource. +// implemented by the user +type DashboardReconciler interface { + ReconcileDashboard(obj *admin_gloo_solo_io_v2.Dashboard) (reconcile.Result, error) +} + +// Reconcile deletion events for the Dashboard Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type DashboardDeletionReconciler interface { + ReconcileDashboardDeletion(req reconcile.Request) error +} + +type DashboardReconcilerFuncs struct { + OnReconcileDashboard func(obj *admin_gloo_solo_io_v2.Dashboard) (reconcile.Result, error) + OnReconcileDashboardDeletion func(req reconcile.Request) error +} + +func (f *DashboardReconcilerFuncs) ReconcileDashboard(obj *admin_gloo_solo_io_v2.Dashboard) (reconcile.Result, error) { + if f.OnReconcileDashboard == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileDashboard(obj) +} + +func (f *DashboardReconcilerFuncs) ReconcileDashboardDeletion(req reconcile.Request) error { + if f.OnReconcileDashboardDeletion == nil { + return nil + } + return f.OnReconcileDashboardDeletion(req) +} + +// Reconcile and finalize the Dashboard Resource +// implemented by the user +type DashboardFinalizer interface { + DashboardReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + DashboardFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeDashboard(obj *admin_gloo_solo_io_v2.Dashboard) error +} + +type DashboardReconcileLoop interface { + RunDashboardReconciler(ctx context.Context, rec DashboardReconciler, predicates ...predicate.Predicate) error +} + +type dashboardReconcileLoop struct { + loop reconcile.Loop +} + +func NewDashboardReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) DashboardReconcileLoop { + return &dashboardReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &admin_gloo_solo_io_v2.Dashboard{}, options), + } +} + +func (c *dashboardReconcileLoop) RunDashboardReconciler(ctx context.Context, reconciler DashboardReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericDashboardReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(DashboardFinalizer); ok { + reconcilerWrapper = genericDashboardFinalizer{ + genericDashboardReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericDashboardHandler implements a generic reconcile.Reconciler +type genericDashboardReconciler struct { + reconciler DashboardReconciler +} + +func (r genericDashboardReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.Dashboard) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: Dashboard handler received event for %T", object) + } + return r.reconciler.ReconcileDashboard(obj) +} + +func (r genericDashboardReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(DashboardDeletionReconciler); ok { + return deletionReconciler.ReconcileDashboardDeletion(request) + } + return nil +} + +// genericDashboardFinalizer implements a generic reconcile.FinalizingReconciler +type genericDashboardFinalizer struct { + genericDashboardReconciler + finalizingReconciler DashboardFinalizer +} + +func (r genericDashboardFinalizer) FinalizerName() string { + return r.finalizingReconciler.DashboardFinalizerName() +} + +func (r genericDashboardFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.Dashboard) + if !ok { + return errors.Errorf("internal error: Dashboard handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeDashboard(obj) +} + +// Reconcile Upsert events for the IstioLifecycleManager Resource. +// implemented by the user +type IstioLifecycleManagerReconciler interface { + ReconcileIstioLifecycleManager(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) (reconcile.Result, error) +} + +// Reconcile deletion events for the IstioLifecycleManager Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type IstioLifecycleManagerDeletionReconciler interface { + ReconcileIstioLifecycleManagerDeletion(req reconcile.Request) error +} + +type IstioLifecycleManagerReconcilerFuncs struct { + OnReconcileIstioLifecycleManager func(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) (reconcile.Result, error) + OnReconcileIstioLifecycleManagerDeletion func(req reconcile.Request) error +} + +func (f *IstioLifecycleManagerReconcilerFuncs) ReconcileIstioLifecycleManager(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) (reconcile.Result, error) { + if f.OnReconcileIstioLifecycleManager == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileIstioLifecycleManager(obj) +} + +func (f *IstioLifecycleManagerReconcilerFuncs) ReconcileIstioLifecycleManagerDeletion(req reconcile.Request) error { + if f.OnReconcileIstioLifecycleManagerDeletion == nil { + return nil + } + return f.OnReconcileIstioLifecycleManagerDeletion(req) +} + +// Reconcile and finalize the IstioLifecycleManager Resource +// implemented by the user +type IstioLifecycleManagerFinalizer interface { + IstioLifecycleManagerReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + IstioLifecycleManagerFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeIstioLifecycleManager(obj *admin_gloo_solo_io_v2.IstioLifecycleManager) error +} + +type IstioLifecycleManagerReconcileLoop interface { + RunIstioLifecycleManagerReconciler(ctx context.Context, rec IstioLifecycleManagerReconciler, predicates ...predicate.Predicate) error +} + +type istioLifecycleManagerReconcileLoop struct { + loop reconcile.Loop +} + +func NewIstioLifecycleManagerReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) IstioLifecycleManagerReconcileLoop { + return &istioLifecycleManagerReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &admin_gloo_solo_io_v2.IstioLifecycleManager{}, options), + } +} + +func (c *istioLifecycleManagerReconcileLoop) RunIstioLifecycleManagerReconciler(ctx context.Context, reconciler IstioLifecycleManagerReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericIstioLifecycleManagerReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(IstioLifecycleManagerFinalizer); ok { + reconcilerWrapper = genericIstioLifecycleManagerFinalizer{ + genericIstioLifecycleManagerReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericIstioLifecycleManagerHandler implements a generic reconcile.Reconciler +type genericIstioLifecycleManagerReconciler struct { + reconciler IstioLifecycleManagerReconciler +} + +func (r genericIstioLifecycleManagerReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.IstioLifecycleManager) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: IstioLifecycleManager handler received event for %T", object) + } + return r.reconciler.ReconcileIstioLifecycleManager(obj) +} + +func (r genericIstioLifecycleManagerReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(IstioLifecycleManagerDeletionReconciler); ok { + return deletionReconciler.ReconcileIstioLifecycleManagerDeletion(request) + } + return nil +} + +// genericIstioLifecycleManagerFinalizer implements a generic reconcile.FinalizingReconciler +type genericIstioLifecycleManagerFinalizer struct { + genericIstioLifecycleManagerReconciler + finalizingReconciler IstioLifecycleManagerFinalizer +} + +func (r genericIstioLifecycleManagerFinalizer) FinalizerName() string { + return r.finalizingReconciler.IstioLifecycleManagerFinalizerName() +} + +func (r genericIstioLifecycleManagerFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.IstioLifecycleManager) + if !ok { + return errors.Errorf("internal error: IstioLifecycleManager handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeIstioLifecycleManager(obj) +} + +// Reconcile Upsert events for the GatewayLifecycleManager Resource. +// implemented by the user +type GatewayLifecycleManagerReconciler interface { + ReconcileGatewayLifecycleManager(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) (reconcile.Result, error) +} + +// Reconcile deletion events for the GatewayLifecycleManager Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type GatewayLifecycleManagerDeletionReconciler interface { + ReconcileGatewayLifecycleManagerDeletion(req reconcile.Request) error +} + +type GatewayLifecycleManagerReconcilerFuncs struct { + OnReconcileGatewayLifecycleManager func(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) (reconcile.Result, error) + OnReconcileGatewayLifecycleManagerDeletion func(req reconcile.Request) error +} + +func (f *GatewayLifecycleManagerReconcilerFuncs) ReconcileGatewayLifecycleManager(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) (reconcile.Result, error) { + if f.OnReconcileGatewayLifecycleManager == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileGatewayLifecycleManager(obj) +} + +func (f *GatewayLifecycleManagerReconcilerFuncs) ReconcileGatewayLifecycleManagerDeletion(req reconcile.Request) error { + if f.OnReconcileGatewayLifecycleManagerDeletion == nil { + return nil + } + return f.OnReconcileGatewayLifecycleManagerDeletion(req) +} + +// Reconcile and finalize the GatewayLifecycleManager Resource +// implemented by the user +type GatewayLifecycleManagerFinalizer interface { + GatewayLifecycleManagerReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + GatewayLifecycleManagerFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeGatewayLifecycleManager(obj *admin_gloo_solo_io_v2.GatewayLifecycleManager) error +} + +type GatewayLifecycleManagerReconcileLoop interface { + RunGatewayLifecycleManagerReconciler(ctx context.Context, rec GatewayLifecycleManagerReconciler, predicates ...predicate.Predicate) error +} + +type gatewayLifecycleManagerReconcileLoop struct { + loop reconcile.Loop +} + +func NewGatewayLifecycleManagerReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) GatewayLifecycleManagerReconcileLoop { + return &gatewayLifecycleManagerReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &admin_gloo_solo_io_v2.GatewayLifecycleManager{}, options), + } +} + +func (c *gatewayLifecycleManagerReconcileLoop) RunGatewayLifecycleManagerReconciler(ctx context.Context, reconciler GatewayLifecycleManagerReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericGatewayLifecycleManagerReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(GatewayLifecycleManagerFinalizer); ok { + reconcilerWrapper = genericGatewayLifecycleManagerFinalizer{ + genericGatewayLifecycleManagerReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericGatewayLifecycleManagerHandler implements a generic reconcile.Reconciler +type genericGatewayLifecycleManagerReconciler struct { + reconciler GatewayLifecycleManagerReconciler +} + +func (r genericGatewayLifecycleManagerReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2.GatewayLifecycleManager) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: GatewayLifecycleManager handler received event for %T", object) + } + return r.reconciler.ReconcileGatewayLifecycleManager(obj) +} + +func (r genericGatewayLifecycleManagerReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(GatewayLifecycleManagerDeletionReconciler); ok { + return deletionReconciler.ReconcileGatewayLifecycleManagerDeletion(request) + } + return nil +} + +// genericGatewayLifecycleManagerFinalizer implements a generic reconcile.FinalizingReconciler +type genericGatewayLifecycleManagerFinalizer struct { + genericGatewayLifecycleManagerReconciler + finalizingReconciler GatewayLifecycleManagerFinalizer +} + +func (r genericGatewayLifecycleManagerFinalizer) FinalizerName() string { + return r.finalizingReconciler.GatewayLifecycleManagerFinalizerName() +} + +func (r genericGatewayLifecycleManagerFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2.GatewayLifecycleManager) + if !ok { + return errors.Errorf("internal error: GatewayLifecycleManager handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeGatewayLifecycleManager(obj) +} diff --git a/client-go/admin.gloo.solo.io/v2/dashboard.pb.clone.go b/client-go/admin.gloo.solo.io/v2/dashboard.pb.clone.go new file mode 100644 index 000000000..bdaf61f07 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/dashboard.pb.clone.go @@ -0,0 +1,471 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/dashboard.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_golang_protobuf_ptypes_empty "github.com/golang/protobuf/ptypes/empty" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *DashboardSpec) Clone() proto.Message { + var target *DashboardSpec + if m == nil { + return target + } + target = &DashboardSpec{} + + if h, ok := interface{}(m.GetAuthn()).(clone.Cloner); ok { + target.Authn = h.Clone().(*DashboardSpec_AuthnConfig) + } else { + target.Authn = proto.Clone(m.GetAuthn()).(*DashboardSpec_AuthnConfig) + } + + if h, ok := interface{}(m.GetAuthz()).(clone.Cloner); ok { + target.Authz = h.Clone().(*DashboardSpec_AuthzConfig) + } else { + target.Authz = proto.Clone(m.GetAuthz()).(*DashboardSpec_AuthzConfig) + } + + return target +} + +// Clone function +func (m *MultiClusterRbac) Clone() proto.Message { + var target *MultiClusterRbac + if m == nil { + return target + } + target = &MultiClusterRbac{} + + return target +} + +// Clone function +func (m *SessionConfig) Clone() proto.Message { + var target *SessionConfig + if m == nil { + return target + } + target = &SessionConfig{} + + if h, ok := interface{}(m.GetCookieOptions()).(clone.Cloner); ok { + target.CookieOptions = h.Clone().(*SessionConfig_CookieOptions) + } else { + target.CookieOptions = proto.Clone(m.GetCookieOptions()).(*SessionConfig_CookieOptions) + } + + switch m.Backend.(type) { + + case *SessionConfig_Cookie: + + if h, ok := interface{}(m.GetCookie()).(clone.Cloner); ok { + target.Backend = &SessionConfig_Cookie{ + Cookie: h.Clone().(*SessionConfig_CookieSession), + } + } else { + target.Backend = &SessionConfig_Cookie{ + Cookie: proto.Clone(m.GetCookie()).(*SessionConfig_CookieSession), + } + } + + case *SessionConfig_Redis: + + if h, ok := interface{}(m.GetRedis()).(clone.Cloner); ok { + target.Backend = &SessionConfig_Redis{ + Redis: h.Clone().(*SessionConfig_RedisSession), + } + } else { + target.Backend = &SessionConfig_Redis{ + Redis: proto.Clone(m.GetRedis()).(*SessionConfig_RedisSession), + } + } + + } + + return target +} + +// Clone function +func (m *OidcConfig) Clone() proto.Message { + var target *OidcConfig + if m == nil { + return target + } + target = &OidcConfig{} + + target.ClientId = m.GetClientId() + + target.ClientSecretName = m.GetClientSecretName() + + target.IssuerUrl = m.GetIssuerUrl() + + if m.GetAuthEndpointQueryParams() != nil { + target.AuthEndpointQueryParams = make(map[string]string, len(m.GetAuthEndpointQueryParams())) + for k, v := range m.GetAuthEndpointQueryParams() { + + target.AuthEndpointQueryParams[k] = v + + } + } + + if m.GetTokenEndpointQueryParams() != nil { + target.TokenEndpointQueryParams = make(map[string]string, len(m.GetTokenEndpointQueryParams())) + for k, v := range m.GetTokenEndpointQueryParams() { + + target.TokenEndpointQueryParams[k] = v + + } + } + + target.AppUrl = m.GetAppUrl() + + target.CallbackPath = m.GetCallbackPath() + + target.LogoutPath = m.GetLogoutPath() + + if m.GetScopes() != nil { + target.Scopes = make([]string, len(m.GetScopes())) + for idx, v := range m.GetScopes() { + + target.Scopes[idx] = v + + } + } + + if h, ok := interface{}(m.GetSession()).(clone.Cloner); ok { + target.Session = h.Clone().(*SessionConfig) + } else { + target.Session = proto.Clone(m.GetSession()).(*SessionConfig) + } + + if h, ok := interface{}(m.GetDiscoveryOverride()).(clone.Cloner); ok { + target.DiscoveryOverride = h.Clone().(*OidcConfig_DiscoveryOverride) + } else { + target.DiscoveryOverride = proto.Clone(m.GetDiscoveryOverride()).(*OidcConfig_DiscoveryOverride) + } + + if h, ok := interface{}(m.GetDiscoveryPollInterval()).(clone.Cloner); ok { + target.DiscoveryPollInterval = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.DiscoveryPollInterval = proto.Clone(m.GetDiscoveryPollInterval()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if h, ok := interface{}(m.GetJwksCacheRefreshPolicy()).(clone.Cloner); ok { + target.JwksCacheRefreshPolicy = h.Clone().(*JwksOnDemandCacheRefreshPolicy) + } else { + target.JwksCacheRefreshPolicy = proto.Clone(m.GetJwksCacheRefreshPolicy()).(*JwksOnDemandCacheRefreshPolicy) + } + + if h, ok := interface{}(m.GetUserMapping()).(clone.Cloner); ok { + target.UserMapping = h.Clone().(*UserMapping) + } else { + target.UserMapping = proto.Clone(m.GetUserMapping()).(*UserMapping) + } + + target.CaCertConfigmapName = m.GetCaCertConfigmapName() + + return target +} + +// Clone function +func (m *JwksOnDemandCacheRefreshPolicy) Clone() proto.Message { + var target *JwksOnDemandCacheRefreshPolicy + if m == nil { + return target + } + target = &JwksOnDemandCacheRefreshPolicy{} + + switch m.Policy.(type) { + + case *JwksOnDemandCacheRefreshPolicy_Never: + + if h, ok := interface{}(m.GetNever()).(clone.Cloner); ok { + target.Policy = &JwksOnDemandCacheRefreshPolicy_Never{ + Never: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.Policy = &JwksOnDemandCacheRefreshPolicy_Never{ + Never: proto.Clone(m.GetNever()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + case *JwksOnDemandCacheRefreshPolicy_Always: + + if h, ok := interface{}(m.GetAlways()).(clone.Cloner); ok { + target.Policy = &JwksOnDemandCacheRefreshPolicy_Always{ + Always: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.Policy = &JwksOnDemandCacheRefreshPolicy_Always{ + Always: proto.Clone(m.GetAlways()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + case *JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval: + + target.Policy = &JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval{ + MaxIdpReqPerPollingInterval: m.GetMaxIdpReqPerPollingInterval(), + } + + } + + return target +} + +// Clone function +func (m *UserMapping) Clone() proto.Message { + var target *UserMapping + if m == nil { + return target + } + target = &UserMapping{} + + target.UsernameClaim = m.GetUsernameClaim() + + target.UsernamePrefix = m.GetUsernamePrefix() + + target.GroupsClaim = m.GetGroupsClaim() + + target.GroupsPrefix = m.GetGroupsPrefix() + + return target +} + +// Clone function +func (m *DashboardStatus) Clone() proto.Message { + var target *DashboardStatus + if m == nil { + return target + } + target = &DashboardStatus{} + + target.ObservedGeneration = m.GetObservedGeneration() + + target.State = m.GetState() + + if m.GetErrors() != nil { + target.Errors = make([]string, len(m.GetErrors())) + for idx, v := range m.GetErrors() { + + target.Errors[idx] = v + + } + } + + return target +} + +// Clone function +func (m *DashboardSpec_AuthnConfig) Clone() proto.Message { + var target *DashboardSpec_AuthnConfig + if m == nil { + return target + } + target = &DashboardSpec_AuthnConfig{} + + switch m.Backend.(type) { + + case *DashboardSpec_AuthnConfig_Oidc: + + if h, ok := interface{}(m.GetOidc()).(clone.Cloner); ok { + target.Backend = &DashboardSpec_AuthnConfig_Oidc{ + Oidc: h.Clone().(*OidcConfig), + } + } else { + target.Backend = &DashboardSpec_AuthnConfig_Oidc{ + Oidc: proto.Clone(m.GetOidc()).(*OidcConfig), + } + } + + } + + return target +} + +// Clone function +func (m *DashboardSpec_AuthzConfig) Clone() proto.Message { + var target *DashboardSpec_AuthzConfig + if m == nil { + return target + } + target = &DashboardSpec_AuthzConfig{} + + switch m.Backend.(type) { + + case *DashboardSpec_AuthzConfig_MultiClusterRbac: + + if h, ok := interface{}(m.GetMultiClusterRbac()).(clone.Cloner); ok { + target.Backend = &DashboardSpec_AuthzConfig_MultiClusterRbac{ + MultiClusterRbac: h.Clone().(*MultiClusterRbac), + } + } else { + target.Backend = &DashboardSpec_AuthzConfig_MultiClusterRbac{ + MultiClusterRbac: proto.Clone(m.GetMultiClusterRbac()).(*MultiClusterRbac), + } + } + + } + + return target +} + +// Clone function +func (m *SessionConfig_CookieSession) Clone() proto.Message { + var target *SessionConfig_CookieSession + if m == nil { + return target + } + target = &SessionConfig_CookieSession{} + + return target +} + +// Clone function +func (m *SessionConfig_RedisSession) Clone() proto.Message { + var target *SessionConfig_RedisSession + if m == nil { + return target + } + target = &SessionConfig_RedisSession{} + + target.Host = m.GetHost() + + target.Db = m.GetDb() + + target.PoolSize = m.GetPoolSize() + + target.KeyPrefix = m.GetKeyPrefix() + + target.CookieName = m.GetCookieName() + + if h, ok := interface{}(m.GetAllowRefreshing()).(clone.Cloner); ok { + target.AllowRefreshing = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.AllowRefreshing = proto.Clone(m.GetAllowRefreshing()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + return target +} + +// Clone function +func (m *SessionConfig_CookieOptions) Clone() proto.Message { + var target *SessionConfig_CookieOptions + if m == nil { + return target + } + target = &SessionConfig_CookieOptions{} + + if h, ok := interface{}(m.GetMaxAge()).(clone.Cloner); ok { + target.MaxAge = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.MaxAge = proto.Clone(m.GetMaxAge()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + target.NotSecure = m.GetNotSecure() + + if h, ok := interface{}(m.GetPath()).(clone.Cloner); ok { + target.Path = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.Path = proto.Clone(m.GetPath()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + target.Domain = m.GetDomain() + + return target +} + +// Clone function +func (m *OidcConfig_DiscoveryOverride) Clone() proto.Message { + var target *OidcConfig_DiscoveryOverride + if m == nil { + return target + } + target = &OidcConfig_DiscoveryOverride{} + + target.AuthEndpoint = m.GetAuthEndpoint() + + target.TokenEndpoint = m.GetTokenEndpoint() + + target.JwksUri = m.GetJwksUri() + + if m.GetScopes() != nil { + target.Scopes = make([]string, len(m.GetScopes())) + for idx, v := range m.GetScopes() { + + target.Scopes[idx] = v + + } + } + + if m.GetResponseTypes() != nil { + target.ResponseTypes = make([]string, len(m.GetResponseTypes())) + for idx, v := range m.GetResponseTypes() { + + target.ResponseTypes[idx] = v + + } + } + + if m.GetSubjects() != nil { + target.Subjects = make([]string, len(m.GetSubjects())) + for idx, v := range m.GetSubjects() { + + target.Subjects[idx] = v + + } + } + + if m.GetIdTokenAlgs() != nil { + target.IdTokenAlgs = make([]string, len(m.GetIdTokenAlgs())) + for idx, v := range m.GetIdTokenAlgs() { + + target.IdTokenAlgs[idx] = v + + } + } + + if m.GetAuthMethods() != nil { + target.AuthMethods = make([]string, len(m.GetAuthMethods())) + for idx, v := range m.GetAuthMethods() { + + target.AuthMethods[idx] = v + + } + } + + if m.GetClaims() != nil { + target.Claims = make([]string, len(m.GetClaims())) + for idx, v := range m.GetClaims() { + + target.Claims[idx] = v + + } + } + + return target +} diff --git a/client-go/admin.gloo.solo.io/v2/dashboard.pb.equal.go b/client-go/admin.gloo.solo.io/v2/dashboard.pb.equal.go new file mode 100644 index 000000000..39e99b595 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/dashboard.pb.equal.go @@ -0,0 +1,785 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/dashboard.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *DashboardSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DashboardSpec) + if !ok { + that2, ok := that.(DashboardSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetAuthn()).(equality.Equalizer); ok { + if !h.Equal(target.GetAuthn()) { + return false + } + } else { + if !proto.Equal(m.GetAuthn(), target.GetAuthn()) { + return false + } + } + + if h, ok := interface{}(m.GetAuthz()).(equality.Equalizer); ok { + if !h.Equal(target.GetAuthz()) { + return false + } + } else { + if !proto.Equal(m.GetAuthz(), target.GetAuthz()) { + return false + } + } + + return true +} + +// Equal function +func (m *MultiClusterRbac) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MultiClusterRbac) + if !ok { + that2, ok := that.(MultiClusterRbac) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *SessionConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SessionConfig) + if !ok { + that2, ok := that.(SessionConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCookieOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetCookieOptions()) { + return false + } + } else { + if !proto.Equal(m.GetCookieOptions(), target.GetCookieOptions()) { + return false + } + } + + switch m.Backend.(type) { + + case *SessionConfig_Cookie: + if _, ok := target.Backend.(*SessionConfig_Cookie); !ok { + return false + } + + if h, ok := interface{}(m.GetCookie()).(equality.Equalizer); ok { + if !h.Equal(target.GetCookie()) { + return false + } + } else { + if !proto.Equal(m.GetCookie(), target.GetCookie()) { + return false + } + } + + case *SessionConfig_Redis: + if _, ok := target.Backend.(*SessionConfig_Redis); !ok { + return false + } + + if h, ok := interface{}(m.GetRedis()).(equality.Equalizer); ok { + if !h.Equal(target.GetRedis()) { + return false + } + } else { + if !proto.Equal(m.GetRedis(), target.GetRedis()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Backend != target.Backend { + return false + } + } + + return true +} + +// Equal function +func (m *OidcConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OidcConfig) + if !ok { + that2, ok := that.(OidcConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClientId(), target.GetClientId()) != 0 { + return false + } + + if strings.Compare(m.GetClientSecretName(), target.GetClientSecretName()) != 0 { + return false + } + + if strings.Compare(m.GetIssuerUrl(), target.GetIssuerUrl()) != 0 { + return false + } + + if len(m.GetAuthEndpointQueryParams()) != len(target.GetAuthEndpointQueryParams()) { + return false + } + for k, v := range m.GetAuthEndpointQueryParams() { + + if strings.Compare(v, target.GetAuthEndpointQueryParams()[k]) != 0 { + return false + } + + } + + if len(m.GetTokenEndpointQueryParams()) != len(target.GetTokenEndpointQueryParams()) { + return false + } + for k, v := range m.GetTokenEndpointQueryParams() { + + if strings.Compare(v, target.GetTokenEndpointQueryParams()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetAppUrl(), target.GetAppUrl()) != 0 { + return false + } + + if strings.Compare(m.GetCallbackPath(), target.GetCallbackPath()) != 0 { + return false + } + + if strings.Compare(m.GetLogoutPath(), target.GetLogoutPath()) != 0 { + return false + } + + if len(m.GetScopes()) != len(target.GetScopes()) { + return false + } + for idx, v := range m.GetScopes() { + + if strings.Compare(v, target.GetScopes()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetSession()).(equality.Equalizer); ok { + if !h.Equal(target.GetSession()) { + return false + } + } else { + if !proto.Equal(m.GetSession(), target.GetSession()) { + return false + } + } + + if h, ok := interface{}(m.GetDiscoveryOverride()).(equality.Equalizer); ok { + if !h.Equal(target.GetDiscoveryOverride()) { + return false + } + } else { + if !proto.Equal(m.GetDiscoveryOverride(), target.GetDiscoveryOverride()) { + return false + } + } + + if h, ok := interface{}(m.GetDiscoveryPollInterval()).(equality.Equalizer); ok { + if !h.Equal(target.GetDiscoveryPollInterval()) { + return false + } + } else { + if !proto.Equal(m.GetDiscoveryPollInterval(), target.GetDiscoveryPollInterval()) { + return false + } + } + + if h, ok := interface{}(m.GetJwksCacheRefreshPolicy()).(equality.Equalizer); ok { + if !h.Equal(target.GetJwksCacheRefreshPolicy()) { + return false + } + } else { + if !proto.Equal(m.GetJwksCacheRefreshPolicy(), target.GetJwksCacheRefreshPolicy()) { + return false + } + } + + if h, ok := interface{}(m.GetUserMapping()).(equality.Equalizer); ok { + if !h.Equal(target.GetUserMapping()) { + return false + } + } else { + if !proto.Equal(m.GetUserMapping(), target.GetUserMapping()) { + return false + } + } + + if strings.Compare(m.GetCaCertConfigmapName(), target.GetCaCertConfigmapName()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *JwksOnDemandCacheRefreshPolicy) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JwksOnDemandCacheRefreshPolicy) + if !ok { + that2, ok := that.(JwksOnDemandCacheRefreshPolicy) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Policy.(type) { + + case *JwksOnDemandCacheRefreshPolicy_Never: + if _, ok := target.Policy.(*JwksOnDemandCacheRefreshPolicy_Never); !ok { + return false + } + + if h, ok := interface{}(m.GetNever()).(equality.Equalizer); ok { + if !h.Equal(target.GetNever()) { + return false + } + } else { + if !proto.Equal(m.GetNever(), target.GetNever()) { + return false + } + } + + case *JwksOnDemandCacheRefreshPolicy_Always: + if _, ok := target.Policy.(*JwksOnDemandCacheRefreshPolicy_Always); !ok { + return false + } + + if h, ok := interface{}(m.GetAlways()).(equality.Equalizer); ok { + if !h.Equal(target.GetAlways()) { + return false + } + } else { + if !proto.Equal(m.GetAlways(), target.GetAlways()) { + return false + } + } + + case *JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval: + if _, ok := target.Policy.(*JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval); !ok { + return false + } + + if m.GetMaxIdpReqPerPollingInterval() != target.GetMaxIdpReqPerPollingInterval() { + return false + } + + default: + // m is nil but target is not nil + if m.Policy != target.Policy { + return false + } + } + + return true +} + +// Equal function +func (m *UserMapping) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*UserMapping) + if !ok { + that2, ok := that.(UserMapping) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetUsernameClaim(), target.GetUsernameClaim()) != 0 { + return false + } + + if strings.Compare(m.GetUsernamePrefix(), target.GetUsernamePrefix()) != 0 { + return false + } + + if strings.Compare(m.GetGroupsClaim(), target.GetGroupsClaim()) != 0 { + return false + } + + if strings.Compare(m.GetGroupsPrefix(), target.GetGroupsPrefix()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *DashboardStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DashboardStatus) + if !ok { + that2, ok := that.(DashboardStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetObservedGeneration() != target.GetObservedGeneration() { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + if len(m.GetErrors()) != len(target.GetErrors()) { + return false + } + for idx, v := range m.GetErrors() { + + if strings.Compare(v, target.GetErrors()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *DashboardSpec_AuthnConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DashboardSpec_AuthnConfig) + if !ok { + that2, ok := that.(DashboardSpec_AuthnConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Backend.(type) { + + case *DashboardSpec_AuthnConfig_Oidc: + if _, ok := target.Backend.(*DashboardSpec_AuthnConfig_Oidc); !ok { + return false + } + + if h, ok := interface{}(m.GetOidc()).(equality.Equalizer); ok { + if !h.Equal(target.GetOidc()) { + return false + } + } else { + if !proto.Equal(m.GetOidc(), target.GetOidc()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Backend != target.Backend { + return false + } + } + + return true +} + +// Equal function +func (m *DashboardSpec_AuthzConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DashboardSpec_AuthzConfig) + if !ok { + that2, ok := that.(DashboardSpec_AuthzConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Backend.(type) { + + case *DashboardSpec_AuthzConfig_MultiClusterRbac: + if _, ok := target.Backend.(*DashboardSpec_AuthzConfig_MultiClusterRbac); !ok { + return false + } + + if h, ok := interface{}(m.GetMultiClusterRbac()).(equality.Equalizer); ok { + if !h.Equal(target.GetMultiClusterRbac()) { + return false + } + } else { + if !proto.Equal(m.GetMultiClusterRbac(), target.GetMultiClusterRbac()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Backend != target.Backend { + return false + } + } + + return true +} + +// Equal function +func (m *SessionConfig_CookieSession) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SessionConfig_CookieSession) + if !ok { + that2, ok := that.(SessionConfig_CookieSession) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *SessionConfig_RedisSession) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SessionConfig_RedisSession) + if !ok { + that2, ok := that.(SessionConfig_RedisSession) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetHost(), target.GetHost()) != 0 { + return false + } + + if m.GetDb() != target.GetDb() { + return false + } + + if m.GetPoolSize() != target.GetPoolSize() { + return false + } + + if strings.Compare(m.GetKeyPrefix(), target.GetKeyPrefix()) != 0 { + return false + } + + if strings.Compare(m.GetCookieName(), target.GetCookieName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetAllowRefreshing()).(equality.Equalizer); ok { + if !h.Equal(target.GetAllowRefreshing()) { + return false + } + } else { + if !proto.Equal(m.GetAllowRefreshing(), target.GetAllowRefreshing()) { + return false + } + } + + return true +} + +// Equal function +func (m *SessionConfig_CookieOptions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SessionConfig_CookieOptions) + if !ok { + that2, ok := that.(SessionConfig_CookieOptions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetMaxAge()).(equality.Equalizer); ok { + if !h.Equal(target.GetMaxAge()) { + return false + } + } else { + if !proto.Equal(m.GetMaxAge(), target.GetMaxAge()) { + return false + } + } + + if m.GetNotSecure() != target.GetNotSecure() { + return false + } + + if h, ok := interface{}(m.GetPath()).(equality.Equalizer); ok { + if !h.Equal(target.GetPath()) { + return false + } + } else { + if !proto.Equal(m.GetPath(), target.GetPath()) { + return false + } + } + + if strings.Compare(m.GetDomain(), target.GetDomain()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *OidcConfig_DiscoveryOverride) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OidcConfig_DiscoveryOverride) + if !ok { + that2, ok := that.(OidcConfig_DiscoveryOverride) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetAuthEndpoint(), target.GetAuthEndpoint()) != 0 { + return false + } + + if strings.Compare(m.GetTokenEndpoint(), target.GetTokenEndpoint()) != 0 { + return false + } + + if strings.Compare(m.GetJwksUri(), target.GetJwksUri()) != 0 { + return false + } + + if len(m.GetScopes()) != len(target.GetScopes()) { + return false + } + for idx, v := range m.GetScopes() { + + if strings.Compare(v, target.GetScopes()[idx]) != 0 { + return false + } + + } + + if len(m.GetResponseTypes()) != len(target.GetResponseTypes()) { + return false + } + for idx, v := range m.GetResponseTypes() { + + if strings.Compare(v, target.GetResponseTypes()[idx]) != 0 { + return false + } + + } + + if len(m.GetSubjects()) != len(target.GetSubjects()) { + return false + } + for idx, v := range m.GetSubjects() { + + if strings.Compare(v, target.GetSubjects()[idx]) != 0 { + return false + } + + } + + if len(m.GetIdTokenAlgs()) != len(target.GetIdTokenAlgs()) { + return false + } + for idx, v := range m.GetIdTokenAlgs() { + + if strings.Compare(v, target.GetIdTokenAlgs()[idx]) != 0 { + return false + } + + } + + if len(m.GetAuthMethods()) != len(target.GetAuthMethods()) { + return false + } + for idx, v := range m.GetAuthMethods() { + + if strings.Compare(v, target.GetAuthMethods()[idx]) != 0 { + return false + } + + } + + if len(m.GetClaims()) != len(target.GetClaims()) { + return false + } + for idx, v := range m.GetClaims() { + + if strings.Compare(v, target.GetClaims()[idx]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/admin.gloo.solo.io/v2/dashboard.pb.go b/client-go/admin.gloo.solo.io/v2/dashboard.pb.go new file mode 100644 index 000000000..04356e738 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/dashboard.pb.go @@ -0,0 +1,1661 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/dashboard.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + empty "github.com/golang/protobuf/ptypes/empty" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// `Dashboard` describes the settings for the Gloo Mesh Enterprise dashboard. +// Currently, this resource is only used to secure the Gloo Mesh Enterprise Dashboard by +// requiring authentication with an OpenID Connect identity provider. +// Users accessing the dashboard will be required to authenticate with the OIDC provider +// and all requests to retrieve data from the API will also be authenticated. +// +// The following example sets up OIDC authentication: +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Dashboard +// metadata: +// +// name: settings +// namespace: gloo-mesh +// +// spec: +// +// authn: +// oidc: +// appUrl: https://localhost:8080 +// clientId: $CLIENT_ID +// clientSecretName: dashboard +// issuerUrl: https://accounts.google.com +// ``` +type DashboardSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Configuration used to authenticate incoming requests. + Authn *DashboardSpec_AuthnConfig `protobuf:"bytes,1,opt,name=authn,proto3" json:"authn,omitempty"` + // Configuration used to authorize incoming requests. + Authz *DashboardSpec_AuthzConfig `protobuf:"bytes,2,opt,name=authz,proto3" json:"authz,omitempty"` +} + +func (x *DashboardSpec) Reset() { + *x = DashboardSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DashboardSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DashboardSpec) ProtoMessage() {} + +func (x *DashboardSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DashboardSpec.ProtoReflect.Descriptor instead. +func (*DashboardSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{0} +} + +func (x *DashboardSpec) GetAuthn() *DashboardSpec_AuthnConfig { + if x != nil { + return x.Authn + } + return nil +} + +func (x *DashboardSpec) GetAuthz() *DashboardSpec_AuthzConfig { + if x != nil { + return x.Authz + } + return nil +} + +type MultiClusterRbac struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MultiClusterRbac) Reset() { + *x = MultiClusterRbac{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MultiClusterRbac) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultiClusterRbac) ProtoMessage() {} + +func (x *MultiClusterRbac) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MultiClusterRbac.ProtoReflect.Descriptor instead. +func (*MultiClusterRbac) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{1} +} + +type SessionConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Set-Cookie options + CookieOptions *SessionConfig_CookieOptions `protobuf:"bytes,1,opt,name=cookie_options,json=cookieOptions,proto3" json:"cookie_options,omitempty"` + // Types that are assignable to Backend: + // + // *SessionConfig_Cookie + // *SessionConfig_Redis + Backend isSessionConfig_Backend `protobuf_oneof:"backend"` +} + +func (x *SessionConfig) Reset() { + *x = SessionConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SessionConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionConfig) ProtoMessage() {} + +func (x *SessionConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionConfig.ProtoReflect.Descriptor instead. +func (*SessionConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{2} +} + +func (x *SessionConfig) GetCookieOptions() *SessionConfig_CookieOptions { + if x != nil { + return x.CookieOptions + } + return nil +} + +func (m *SessionConfig) GetBackend() isSessionConfig_Backend { + if m != nil { + return m.Backend + } + return nil +} + +func (x *SessionConfig) GetCookie() *SessionConfig_CookieSession { + if x, ok := x.GetBackend().(*SessionConfig_Cookie); ok { + return x.Cookie + } + return nil +} + +func (x *SessionConfig) GetRedis() *SessionConfig_RedisSession { + if x, ok := x.GetBackend().(*SessionConfig_Redis); ok { + return x.Redis + } + return nil +} + +type isSessionConfig_Backend interface { + isSessionConfig_Backend() +} + +type SessionConfig_Cookie struct { + // Store all session data in the cookie itself + Cookie *SessionConfig_CookieSession `protobuf:"bytes,2,opt,name=cookie,proto3,oneof"` +} + +type SessionConfig_Redis struct { + // Store the session data in a Redis instance. + Redis *SessionConfig_RedisSession `protobuf:"bytes,3,opt,name=redis,proto3,oneof"` +} + +func (*SessionConfig_Cookie) isSessionConfig_Backend() {} + +func (*SessionConfig_Redis) isSessionConfig_Backend() {} + +type OidcConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The client ID from the issuer + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // The client secret from the issuer + ClientSecretName string `protobuf:"bytes,2,opt,name=client_secret_name,json=clientSecretName,proto3" json:"client_secret_name,omitempty"` + // The url of the issuer. We will look for OIDC information in: + // + // {{ issuerURL }}/.well-known/openid-configuration + IssuerUrl string `protobuf:"bytes,3,opt,name=issuer_url,json=issuerUrl,proto3" json:"issuer_url,omitempty"` + // Extra query parameters to apply to the authorization request to the + // identity provider. For example, using the [PKCE flow](https://www.oauth.com/oauth2-servers/pkce/authorization-request/) by + // setting `code_challenge` and `code_challenge_method`. + AuthEndpointQueryParams map[string]string `protobuf:"bytes,4,rep,name=auth_endpoint_query_params,json=authEndpointQueryParams,proto3" json:"auth_endpoint_query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Extra query parameters to apply to the token request to the identity + // provider. For example, using the [PKCE flow](https://www.oauth.com/oauth2-servers/pkce/authorization-request/) by + // setting `code_challenge` and `code_challenge_method`. + TokenEndpointQueryParams map[string]string `protobuf:"bytes,5,rep,name=token_endpoint_query_params,json=tokenEndpointQueryParams,proto3" json:"token_endpoint_query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // URL to redirect to after successful auth. + AppUrl string `protobuf:"bytes,6,opt,name=app_url,json=appUrl,proto3" json:"app_url,omitempty"` + // Path to handle the OIDC callback. + CallbackPath string `protobuf:"bytes,7,opt,name=callback_path,json=callbackPath,proto3" json:"callback_path,omitempty"` + // Path used to logout. If not provided, logout will be disabled. + LogoutPath string `protobuf:"bytes,8,opt,name=logout_path,json=logoutPath,proto3" json:"logout_path,omitempty"` + // Scopes to request in addition to 'openid'. + Scopes []string `protobuf:"bytes,9,rep,name=scopes,proto3" json:"scopes,omitempty"` + // Configuration for session storage. + Session *SessionConfig `protobuf:"bytes,10,opt,name=session,proto3" json:"session,omitempty"` + // Ensure that certain values are set regardless of what the OIDC + // provider returns. + DiscoveryOverride *OidcConfig_DiscoveryOverride `protobuf:"bytes,11,opt,name=discovery_override,json=discoveryOverride,proto3" json:"discovery_override,omitempty"` + // How often to poll the OIDC issuer for new configuration. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + DiscoveryPollInterval *duration.Duration `protobuf:"bytes,12,opt,name=discovery_poll_interval,json=discoveryPollInterval,proto3" json:"discovery_poll_interval,omitempty"` + // If a user executes a request with a key that is not found in the + // JWKS, it could be that the keys have rotated on the remote source, + // and not yet in the local cache. This policy lets you define the + // behavior for how to refresh the local cache during a request where an + // invalid key is provided + JwksCacheRefreshPolicy *JwksOnDemandCacheRefreshPolicy `protobuf:"bytes,13,opt,name=jwks_cache_refresh_policy,json=jwksCacheRefreshPolicy,proto3" json:"jwks_cache_refresh_policy,omitempty"` + // If set, the ID token will used to infer user identity, that can be used to make + // authorization decisions. + // If empty, no authorization will be made. + UserMapping *UserMapping `protobuf:"bytes,14,opt,name=user_mapping,json=userMapping,proto3" json:"user_mapping,omitempty"` + // A name of a config map containing root cert to use when talking with + // the OIDC provider. The config map must contain the a key named "ca.crt" with PEM encoded + // CA. + CaCertConfigmapName string `protobuf:"bytes,15,opt,name=ca_cert_configmap_name,json=caCertConfigmapName,proto3" json:"ca_cert_configmap_name,omitempty"` +} + +func (x *OidcConfig) Reset() { + *x = OidcConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OidcConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OidcConfig) ProtoMessage() {} + +func (x *OidcConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OidcConfig.ProtoReflect.Descriptor instead. +func (*OidcConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{3} +} + +func (x *OidcConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *OidcConfig) GetClientSecretName() string { + if x != nil { + return x.ClientSecretName + } + return "" +} + +func (x *OidcConfig) GetIssuerUrl() string { + if x != nil { + return x.IssuerUrl + } + return "" +} + +func (x *OidcConfig) GetAuthEndpointQueryParams() map[string]string { + if x != nil { + return x.AuthEndpointQueryParams + } + return nil +} + +func (x *OidcConfig) GetTokenEndpointQueryParams() map[string]string { + if x != nil { + return x.TokenEndpointQueryParams + } + return nil +} + +func (x *OidcConfig) GetAppUrl() string { + if x != nil { + return x.AppUrl + } + return "" +} + +func (x *OidcConfig) GetCallbackPath() string { + if x != nil { + return x.CallbackPath + } + return "" +} + +func (x *OidcConfig) GetLogoutPath() string { + if x != nil { + return x.LogoutPath + } + return "" +} + +func (x *OidcConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *OidcConfig) GetSession() *SessionConfig { + if x != nil { + return x.Session + } + return nil +} + +func (x *OidcConfig) GetDiscoveryOverride() *OidcConfig_DiscoveryOverride { + if x != nil { + return x.DiscoveryOverride + } + return nil +} + +func (x *OidcConfig) GetDiscoveryPollInterval() *duration.Duration { + if x != nil { + return x.DiscoveryPollInterval + } + return nil +} + +func (x *OidcConfig) GetJwksCacheRefreshPolicy() *JwksOnDemandCacheRefreshPolicy { + if x != nil { + return x.JwksCacheRefreshPolicy + } + return nil +} + +func (x *OidcConfig) GetUserMapping() *UserMapping { + if x != nil { + return x.UserMapping + } + return nil +} + +func (x *OidcConfig) GetCaCertConfigmapName() string { + if x != nil { + return x.CaCertConfigmapName + } + return "" +} + +// The [json web key set (JWKS)](https://tools.ietf.org/html/rfc7517) is +// discovered at an interval from a remote source. When keys rotate in +// the remote source, there may be a delay in the local source picking +// up those new keys. Therefore, a user could execute a request with a +// token that has been signed by a key in the remote JWKS, but the local +// cache doesn't have the key yet. The request would fail because the +// key isn't contained in the local set. Since most IdPs publish key +// keys in their remote JWKS before they are used, this is not an issue +// most of the time. This policy lets you define the behavior for when a +// user has a token with a key not yet in the local cache. +type JwksOnDemandCacheRefreshPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Policy: + // + // *JwksOnDemandCacheRefreshPolicy_Never + // *JwksOnDemandCacheRefreshPolicy_Always + // *JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval + Policy isJwksOnDemandCacheRefreshPolicy_Policy `protobuf_oneof:"policy"` +} + +func (x *JwksOnDemandCacheRefreshPolicy) Reset() { + *x = JwksOnDemandCacheRefreshPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JwksOnDemandCacheRefreshPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JwksOnDemandCacheRefreshPolicy) ProtoMessage() {} + +func (x *JwksOnDemandCacheRefreshPolicy) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JwksOnDemandCacheRefreshPolicy.ProtoReflect.Descriptor instead. +func (*JwksOnDemandCacheRefreshPolicy) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{4} +} + +func (m *JwksOnDemandCacheRefreshPolicy) GetPolicy() isJwksOnDemandCacheRefreshPolicy_Policy { + if m != nil { + return m.Policy + } + return nil +} + +func (x *JwksOnDemandCacheRefreshPolicy) GetNever() *empty.Empty { + if x, ok := x.GetPolicy().(*JwksOnDemandCacheRefreshPolicy_Never); ok { + return x.Never + } + return nil +} + +func (x *JwksOnDemandCacheRefreshPolicy) GetAlways() *empty.Empty { + if x, ok := x.GetPolicy().(*JwksOnDemandCacheRefreshPolicy_Always); ok { + return x.Always + } + return nil +} + +func (x *JwksOnDemandCacheRefreshPolicy) GetMaxIdpReqPerPollingInterval() uint32 { + if x, ok := x.GetPolicy().(*JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval); ok { + return x.MaxIdpReqPerPollingInterval + } + return 0 +} + +type isJwksOnDemandCacheRefreshPolicy_Policy interface { + isJwksOnDemandCacheRefreshPolicy_Policy() +} + +type JwksOnDemandCacheRefreshPolicy_Never struct { + // Never refresh the local JWKS cache on demand. If a key is not + // in the cache, it is assumed to be malicious. This is the + // default policy since we assume that IdPs publish keys before + // they rotate them, and frequent polling finds the newest keys. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + Never *empty.Empty `protobuf:"bytes,1,opt,name=never,proto3,oneof"` +} + +type JwksOnDemandCacheRefreshPolicy_Always struct { + // If a key is not in the cache, fetch the most recent keys from + // the IdP and update the cache. NOTE: This should only be done + // in trusted environments, since missing keys will each trigger + // a request to the IdP. Using this in an environment exposed to + // the internet will allow malicious agents to execute a DDoS + // attack by spamming protected endpoints with tokens signed by + // invalid keys. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + Always *empty.Empty `protobuf:"bytes,2,opt,name=always,proto3,oneof"` +} + +type JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval struct { + // If a key is not in the cache, fetch the most recent keys from + // the IdP and update the cache. This value sets the number of + // requests to the IdP per polling interval. If that limit is + // exceeded, we will stop fetching from the IdP for the + // remainder of the polling interval. + MaxIdpReqPerPollingInterval uint32 `protobuf:"varint,3,opt,name=max_idp_req_per_polling_interval,json=maxIdpReqPerPollingInterval,proto3,oneof"` +} + +func (*JwksOnDemandCacheRefreshPolicy_Never) isJwksOnDemandCacheRefreshPolicy_Policy() {} + +func (*JwksOnDemandCacheRefreshPolicy_Always) isJwksOnDemandCacheRefreshPolicy_Policy() {} + +func (*JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval) isJwksOnDemandCacheRefreshPolicy_Policy() { +} + +// Settings to make sure the identity derivied from the ID token matches +// the kubernetes identity. +type UserMapping struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The JWT field to use as the user's username. + UsernameClaim string `protobuf:"bytes,1,opt,name=username_claim,json=usernameClaim,proto3" json:"username_claim,omitempty"` + // If specified, causes claims mapping to username to be prefix with + // the provided value. A value "oidc:" would result in usernames like "oidc:john". + UsernamePrefix string `protobuf:"bytes,2,opt,name=username_prefix,json=usernamePrefix,proto3" json:"username_prefix,omitempty"` + // If specified, causes the OIDCAuthenticator to try to populate the user's + // groups with an ID Token field. If the GroupsClaim field is present in an ID Token the value + // must be a string or list of strings. + GroupsClaim string `protobuf:"bytes,3,opt,name=groups_claim,json=groupsClaim,proto3" json:"groups_claim,omitempty"` + // If specified, causes claims mapping to group names to be prefixed with the + // value. A value "oidc:" would result in groups like "oidc:engineering" and "oidc:marketing". + GroupsPrefix string `protobuf:"bytes,4,opt,name=groups_prefix,json=groupsPrefix,proto3" json:"groups_prefix,omitempty"` +} + +func (x *UserMapping) Reset() { + *x = UserMapping{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserMapping) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserMapping) ProtoMessage() {} + +func (x *UserMapping) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserMapping.ProtoReflect.Descriptor instead. +func (*UserMapping) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{5} +} + +func (x *UserMapping) GetUsernameClaim() string { + if x != nil { + return x.UsernameClaim + } + return "" +} + +func (x *UserMapping) GetUsernamePrefix() string { + if x != nil { + return x.UsernamePrefix + } + return "" +} + +func (x *UserMapping) GetGroupsClaim() string { + if x != nil { + return x.GroupsClaim + } + return "" +} + +func (x *UserMapping) GetGroupsPrefix() string { + if x != nil { + return x.GroupsPrefix + } + return "" +} + +type DashboardStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The most recent generation observed in the Dashboard metadata. + // If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most + // recent version of this resource. + ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` + // The state of the overall resource. + // It will only show accepted if no processing errors encountered. + State v2.ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=common.gloo.solo.io.ApprovalState" json:"state,omitempty"` + // Any errors encountered while processing Settings object. + Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *DashboardStatus) Reset() { + *x = DashboardStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DashboardStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DashboardStatus) ProtoMessage() {} + +func (x *DashboardStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DashboardStatus.ProtoReflect.Descriptor instead. +func (*DashboardStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{6} +} + +func (x *DashboardStatus) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +func (x *DashboardStatus) GetState() v2.ApprovalState { + if x != nil { + return x.State + } + return v2.ApprovalState_PENDING +} + +func (x *DashboardStatus) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +type DashboardSpec_AuthnConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Backend: + // + // *DashboardSpec_AuthnConfig_Oidc + Backend isDashboardSpec_AuthnConfig_Backend `protobuf_oneof:"backend"` +} + +func (x *DashboardSpec_AuthnConfig) Reset() { + *x = DashboardSpec_AuthnConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DashboardSpec_AuthnConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DashboardSpec_AuthnConfig) ProtoMessage() {} + +func (x *DashboardSpec_AuthnConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DashboardSpec_AuthnConfig.ProtoReflect.Descriptor instead. +func (*DashboardSpec_AuthnConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{0, 0} +} + +func (m *DashboardSpec_AuthnConfig) GetBackend() isDashboardSpec_AuthnConfig_Backend { + if m != nil { + return m.Backend + } + return nil +} + +func (x *DashboardSpec_AuthnConfig) GetOidc() *OidcConfig { + if x, ok := x.GetBackend().(*DashboardSpec_AuthnConfig_Oidc); ok { + return x.Oidc + } + return nil +} + +type isDashboardSpec_AuthnConfig_Backend interface { + isDashboardSpec_AuthnConfig_Backend() +} + +type DashboardSpec_AuthnConfig_Oidc struct { + Oidc *OidcConfig `protobuf:"bytes,1,opt,name=oidc,proto3,oneof"` +} + +func (*DashboardSpec_AuthnConfig_Oidc) isDashboardSpec_AuthnConfig_Backend() {} + +type DashboardSpec_AuthzConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Backend: + // + // *DashboardSpec_AuthzConfig_MultiClusterRbac + Backend isDashboardSpec_AuthzConfig_Backend `protobuf_oneof:"backend"` +} + +func (x *DashboardSpec_AuthzConfig) Reset() { + *x = DashboardSpec_AuthzConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DashboardSpec_AuthzConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DashboardSpec_AuthzConfig) ProtoMessage() {} + +func (x *DashboardSpec_AuthzConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DashboardSpec_AuthzConfig.ProtoReflect.Descriptor instead. +func (*DashboardSpec_AuthzConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{0, 1} +} + +func (m *DashboardSpec_AuthzConfig) GetBackend() isDashboardSpec_AuthzConfig_Backend { + if m != nil { + return m.Backend + } + return nil +} + +func (x *DashboardSpec_AuthzConfig) GetMultiClusterRbac() *MultiClusterRbac { + if x, ok := x.GetBackend().(*DashboardSpec_AuthzConfig_MultiClusterRbac); ok { + return x.MultiClusterRbac + } + return nil +} + +type isDashboardSpec_AuthzConfig_Backend interface { + isDashboardSpec_AuthzConfig_Backend() +} + +type DashboardSpec_AuthzConfig_MultiClusterRbac struct { + // Enable multi cluster RBAC. When this is enabled, Gloo Mesh Enterprise will use RBAC resources + // from managed clusters to determine if users are allowed to see resources in the dashbaord. + // For this to work, the dashboard and the kubernetes clusters need to have the same identity + // source (i.e. OIDC with the same user and group claims). + // When using OIDC, make sure to configure the userMapping field. + MultiClusterRbac *MultiClusterRbac `protobuf:"bytes,1,opt,name=multi_cluster_rbac,json=multiClusterRbac,proto3,oneof"` +} + +func (*DashboardSpec_AuthzConfig_MultiClusterRbac) isDashboardSpec_AuthzConfig_Backend() {} + +type SessionConfig_CookieSession struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SessionConfig_CookieSession) Reset() { + *x = SessionConfig_CookieSession{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SessionConfig_CookieSession) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionConfig_CookieSession) ProtoMessage() {} + +func (x *SessionConfig_CookieSession) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionConfig_CookieSession.ProtoReflect.Descriptor instead. +func (*SessionConfig_CookieSession) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{2, 0} +} + +type SessionConfig_RedisSession struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // address of the redis. can be address:port or unix://path/to/unix.sock + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + // db to use. can leave unset for db 0. + Db int32 `protobuf:"varint,2,opt,name=db,proto3" json:"db,omitempty"` + // size of the connection pool. can leave unset for default. + // defaults to 10 connections per every CPU + PoolSize int32 `protobuf:"varint,3,opt,name=pool_size,json=poolSize,proto3" json:"pool_size,omitempty"` + // Key prefix inside redis + KeyPrefix string `protobuf:"bytes,4,opt,name=key_prefix,json=keyPrefix,proto3" json:"key_prefix,omitempty"` + // Cookie name to set and store the session id. If empty the default "__session" is used. + CookieName string `protobuf:"bytes,5,opt,name=cookie_name,json=cookieName,proto3" json:"cookie_name,omitempty"` + // When set, refresh expired id-tokens using the refresh-token. Defaults to true. + // Explicitly set to false to disable refreshing. + AllowRefreshing *wrappers.BoolValue `protobuf:"bytes,6,opt,name=allow_refreshing,json=allowRefreshing,proto3" json:"allow_refreshing,omitempty"` +} + +func (x *SessionConfig_RedisSession) Reset() { + *x = SessionConfig_RedisSession{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SessionConfig_RedisSession) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionConfig_RedisSession) ProtoMessage() {} + +func (x *SessionConfig_RedisSession) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionConfig_RedisSession.ProtoReflect.Descriptor instead. +func (*SessionConfig_RedisSession) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *SessionConfig_RedisSession) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +func (x *SessionConfig_RedisSession) GetDb() int32 { + if x != nil { + return x.Db + } + return 0 +} + +func (x *SessionConfig_RedisSession) GetPoolSize() int32 { + if x != nil { + return x.PoolSize + } + return 0 +} + +func (x *SessionConfig_RedisSession) GetKeyPrefix() string { + if x != nil { + return x.KeyPrefix + } + return "" +} + +func (x *SessionConfig_RedisSession) GetCookieName() string { + if x != nil { + return x.CookieName + } + return "" +} + +func (x *SessionConfig_RedisSession) GetAllowRefreshing() *wrappers.BoolValue { + if x != nil { + return x.AllowRefreshing + } + return nil +} + +type SessionConfig_CookieOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Max age of the cookie. If unset, the default of 30 days will be + // used. To disable expiration, set explicitly to 0. + MaxAge *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` + // Use an insecure cookie. + // Should only be used for testing and in trusted environments. + NotSecure bool `protobuf:"varint,2,opt,name=not_secure,json=notSecure,proto3" json:"not_secure,omitempty"` + // Path of the cookie. Defaults to "/", set to "" to disable the + // option. + Path *wrappers.StringValue `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` + // Domain of the cookie. + Domain string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"` +} + +func (x *SessionConfig_CookieOptions) Reset() { + *x = SessionConfig_CookieOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SessionConfig_CookieOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionConfig_CookieOptions) ProtoMessage() {} + +func (x *SessionConfig_CookieOptions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionConfig_CookieOptions.ProtoReflect.Descriptor instead. +func (*SessionConfig_CookieOptions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{2, 2} +} + +func (x *SessionConfig_CookieOptions) GetMaxAge() *wrappers.UInt32Value { + if x != nil { + return x.MaxAge + } + return nil +} + +func (x *SessionConfig_CookieOptions) GetNotSecure() bool { + if x != nil { + return x.NotSecure + } + return false +} + +func (x *SessionConfig_CookieOptions) GetPath() *wrappers.StringValue { + if x != nil { + return x.Path + } + return nil +} + +func (x *SessionConfig_CookieOptions) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +// OIDC configuration is discovered at +// /.well-known/openid-configuration The discovery override +// defines any properties that should override +// [this discovery configuration](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). +type OidcConfig_DiscoveryOverride struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // URL of the provider authorization endpoint. + AuthEndpoint string `protobuf:"bytes,1,opt,name=auth_endpoint,json=authEndpoint,proto3" json:"auth_endpoint,omitempty"` + // URL of the provider token endpoint. + TokenEndpoint string `protobuf:"bytes,2,opt,name=token_endpoint,json=tokenEndpoint,proto3" json:"token_endpoint,omitempty"` + // URL of the provider JSON web key set. + JwksUri string `protobuf:"bytes,3,opt,name=jwks_uri,json=jwksUri,proto3" json:"jwks_uri,omitempty"` + // List of scope values that the provider supports. + Scopes []string `protobuf:"bytes,4,rep,name=scopes,proto3" json:"scopes,omitempty"` + // List of response types that the provider supports. + ResponseTypes []string `protobuf:"bytes,5,rep,name=response_types,json=responseTypes,proto3" json:"response_types,omitempty"` + // List of subject identifier types that the provider supports. + Subjects []string `protobuf:"bytes,6,rep,name=subjects,proto3" json:"subjects,omitempty"` + // List of json web signature signing algorithms that the provider + // supports for encoding claims in a JWT. + IdTokenAlgs []string `protobuf:"bytes,7,rep,name=id_token_algs,json=idTokenAlgs,proto3" json:"id_token_algs,omitempty"` + // List of client authentication methods supported by the provider + // token endpoint. + AuthMethods []string `protobuf:"bytes,8,rep,name=auth_methods,json=authMethods,proto3" json:"auth_methods,omitempty"` + // List of claim types that the provider supports. + Claims []string `protobuf:"bytes,9,rep,name=claims,proto3" json:"claims,omitempty"` +} + +func (x *OidcConfig_DiscoveryOverride) Reset() { + *x = OidcConfig_DiscoveryOverride{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OidcConfig_DiscoveryOverride) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OidcConfig_DiscoveryOverride) ProtoMessage() {} + +func (x *OidcConfig_DiscoveryOverride) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OidcConfig_DiscoveryOverride.ProtoReflect.Descriptor instead. +func (*OidcConfig_DiscoveryOverride) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP(), []int{3, 2} +} + +func (x *OidcConfig_DiscoveryOverride) GetAuthEndpoint() string { + if x != nil { + return x.AuthEndpoint + } + return "" +} + +func (x *OidcConfig_DiscoveryOverride) GetTokenEndpoint() string { + if x != nil { + return x.TokenEndpoint + } + return "" +} + +func (x *OidcConfig_DiscoveryOverride) GetJwksUri() string { + if x != nil { + return x.JwksUri + } + return "" +} + +func (x *OidcConfig_DiscoveryOverride) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *OidcConfig_DiscoveryOverride) GetResponseTypes() []string { + if x != nil { + return x.ResponseTypes + } + return nil +} + +func (x *OidcConfig_DiscoveryOverride) GetSubjects() []string { + if x != nil { + return x.Subjects + } + return nil +} + +func (x *OidcConfig_DiscoveryOverride) GetIdTokenAlgs() []string { + if x != nil { + return x.IdTokenAlgs + } + return nil +} + +func (x *OidcConfig_DiscoveryOverride) GetAuthMethods() []string { + if x != nil { + return x.AuthMethods + } + return nil +} + +func (x *OidcConfig_DiscoveryOverride) GetClaims() []string { + if x != nil { + return x.Claims + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDesc = []byte{ + 0x0a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xd9, 0x02, 0x0a, 0x0d, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x43, 0x0a, 0x05, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x05, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x12, 0x43, 0x0a, 0x05, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x61, 0x73, + 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x7a, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x1a, 0x4e, 0x0a, + 0x0b, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x04, + 0x6f, 0x69, 0x64, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4f, 0x69, 0x64, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x69, + 0x64, 0x63, 0x42, 0x09, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x1a, 0x6e, 0x0a, + 0x0b, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x12, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x62, + 0x61, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x62, 0x61, 0x63, 0x48, 0x00, + 0x52, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x62, + 0x61, 0x63, 0x42, 0x09, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x22, 0x12, 0x0a, + 0x10, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x62, 0x61, + 0x63, 0x22, 0xa1, 0x05, 0x0a, 0x0d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x0e, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, + 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x63, 0x6f, + 0x6f, 0x6b, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x06, 0x63, + 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, + 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, + 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x46, 0x0a, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x1a, 0x0f, + 0x0a, 0x0d, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, + 0xd6, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x68, 0x6f, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x64, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x64, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x45, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, + 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x1a, 0xaf, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6f, + 0x6b, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x6d, 0x61, + 0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, + 0x12, 0x30, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x70, 0x61, + 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x22, 0x8d, 0x0b, 0x0a, 0x0a, 0x4f, 0x69, 0x64, 0x63, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x78, + 0x0a, 0x1a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x17, 0x61, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x7b, 0x0a, 0x1b, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x23, + 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x07, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x12, 0x64, 0x69, 0x73, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x11, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x51, 0x0a, 0x17, 0x64, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x79, 0x50, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x6d, 0x0a, + 0x19, 0x6a, 0x77, 0x6b, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4a, 0x77, 0x6b, 0x73, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, + 0x6e, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x16, 0x6a, 0x77, 0x6b, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, 0x0c, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, + 0x12, 0x33, 0x0a, 0x16, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x13, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x6d, 0x61, + 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x4a, 0x0a, 0x1c, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x4b, 0x0a, 0x1d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xb4, + 0x02, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, + 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x77, 0x6b, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6a, 0x77, 0x6b, 0x73, 0x55, 0x72, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, + 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x6c, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, + 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x63, + 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x22, 0xd5, 0x01, 0x0a, 0x1e, 0x4a, 0x77, 0x6b, 0x73, 0x4f, 0x6e, + 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x6e, 0x65, 0x76, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, + 0x00, 0x52, 0x05, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x06, 0x61, 0x6c, 0x77, 0x61, + 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x48, 0x00, 0x52, 0x06, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x6d, 0x61, + 0x78, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x6f, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x1b, 0x6d, 0x61, 0x78, 0x49, 0x64, 0x70, 0x52, 0x65, + 0x71, 0x50, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xa5, 0x01, + 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, + 0x0e, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x43, + 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, + 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x0a, + 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x43, 0x6c, 0x61, 0x69, 0x6d, + 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x94, 0x01, 0x0a, 0x0f, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x42, 0x53, 0x5a, 0x45, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xb8, 0xf5, 0x04, 0x01, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, + 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_goTypes = []interface{}{ + (*DashboardSpec)(nil), // 0: admin.gloo.solo.io.DashboardSpec + (*MultiClusterRbac)(nil), // 1: admin.gloo.solo.io.MultiClusterRbac + (*SessionConfig)(nil), // 2: admin.gloo.solo.io.SessionConfig + (*OidcConfig)(nil), // 3: admin.gloo.solo.io.OidcConfig + (*JwksOnDemandCacheRefreshPolicy)(nil), // 4: admin.gloo.solo.io.JwksOnDemandCacheRefreshPolicy + (*UserMapping)(nil), // 5: admin.gloo.solo.io.UserMapping + (*DashboardStatus)(nil), // 6: admin.gloo.solo.io.DashboardStatus + (*DashboardSpec_AuthnConfig)(nil), // 7: admin.gloo.solo.io.DashboardSpec.AuthnConfig + (*DashboardSpec_AuthzConfig)(nil), // 8: admin.gloo.solo.io.DashboardSpec.AuthzConfig + (*SessionConfig_CookieSession)(nil), // 9: admin.gloo.solo.io.SessionConfig.CookieSession + (*SessionConfig_RedisSession)(nil), // 10: admin.gloo.solo.io.SessionConfig.RedisSession + (*SessionConfig_CookieOptions)(nil), // 11: admin.gloo.solo.io.SessionConfig.CookieOptions + nil, // 12: admin.gloo.solo.io.OidcConfig.AuthEndpointQueryParamsEntry + nil, // 13: admin.gloo.solo.io.OidcConfig.TokenEndpointQueryParamsEntry + (*OidcConfig_DiscoveryOverride)(nil), // 14: admin.gloo.solo.io.OidcConfig.DiscoveryOverride + (*duration.Duration)(nil), // 15: google.protobuf.Duration + (*empty.Empty)(nil), // 16: google.protobuf.Empty + (v2.ApprovalState)(0), // 17: common.gloo.solo.io.ApprovalState + (*wrappers.BoolValue)(nil), // 18: google.protobuf.BoolValue + (*wrappers.UInt32Value)(nil), // 19: google.protobuf.UInt32Value + (*wrappers.StringValue)(nil), // 20: google.protobuf.StringValue +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_depIdxs = []int32{ + 7, // 0: admin.gloo.solo.io.DashboardSpec.authn:type_name -> admin.gloo.solo.io.DashboardSpec.AuthnConfig + 8, // 1: admin.gloo.solo.io.DashboardSpec.authz:type_name -> admin.gloo.solo.io.DashboardSpec.AuthzConfig + 11, // 2: admin.gloo.solo.io.SessionConfig.cookie_options:type_name -> admin.gloo.solo.io.SessionConfig.CookieOptions + 9, // 3: admin.gloo.solo.io.SessionConfig.cookie:type_name -> admin.gloo.solo.io.SessionConfig.CookieSession + 10, // 4: admin.gloo.solo.io.SessionConfig.redis:type_name -> admin.gloo.solo.io.SessionConfig.RedisSession + 12, // 5: admin.gloo.solo.io.OidcConfig.auth_endpoint_query_params:type_name -> admin.gloo.solo.io.OidcConfig.AuthEndpointQueryParamsEntry + 13, // 6: admin.gloo.solo.io.OidcConfig.token_endpoint_query_params:type_name -> admin.gloo.solo.io.OidcConfig.TokenEndpointQueryParamsEntry + 2, // 7: admin.gloo.solo.io.OidcConfig.session:type_name -> admin.gloo.solo.io.SessionConfig + 14, // 8: admin.gloo.solo.io.OidcConfig.discovery_override:type_name -> admin.gloo.solo.io.OidcConfig.DiscoveryOverride + 15, // 9: admin.gloo.solo.io.OidcConfig.discovery_poll_interval:type_name -> google.protobuf.Duration + 4, // 10: admin.gloo.solo.io.OidcConfig.jwks_cache_refresh_policy:type_name -> admin.gloo.solo.io.JwksOnDemandCacheRefreshPolicy + 5, // 11: admin.gloo.solo.io.OidcConfig.user_mapping:type_name -> admin.gloo.solo.io.UserMapping + 16, // 12: admin.gloo.solo.io.JwksOnDemandCacheRefreshPolicy.never:type_name -> google.protobuf.Empty + 16, // 13: admin.gloo.solo.io.JwksOnDemandCacheRefreshPolicy.always:type_name -> google.protobuf.Empty + 17, // 14: admin.gloo.solo.io.DashboardStatus.state:type_name -> common.gloo.solo.io.ApprovalState + 3, // 15: admin.gloo.solo.io.DashboardSpec.AuthnConfig.oidc:type_name -> admin.gloo.solo.io.OidcConfig + 1, // 16: admin.gloo.solo.io.DashboardSpec.AuthzConfig.multi_cluster_rbac:type_name -> admin.gloo.solo.io.MultiClusterRbac + 18, // 17: admin.gloo.solo.io.SessionConfig.RedisSession.allow_refreshing:type_name -> google.protobuf.BoolValue + 19, // 18: admin.gloo.solo.io.SessionConfig.CookieOptions.max_age:type_name -> google.protobuf.UInt32Value + 20, // 19: admin.gloo.solo.io.SessionConfig.CookieOptions.path:type_name -> google.protobuf.StringValue + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DashboardSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultiClusterRbac); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SessionConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OidcConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JwksOnDemandCacheRefreshPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserMapping); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DashboardStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DashboardSpec_AuthnConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DashboardSpec_AuthzConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SessionConfig_CookieSession); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SessionConfig_RedisSession); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SessionConfig_CookieOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OidcConfig_DiscoveryOverride); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*SessionConfig_Cookie)(nil), + (*SessionConfig_Redis)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*JwksOnDemandCacheRefreshPolicy_Never)(nil), + (*JwksOnDemandCacheRefreshPolicy_Always)(nil), + (*JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*DashboardSpec_AuthnConfig_Oidc)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*DashboardSpec_AuthzConfig_MultiClusterRbac)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDesc, + NumEnums: 0, + NumMessages: 15, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_dashboard_proto_depIdxs = nil +} diff --git a/client-go/admin.gloo.solo.io/v2/dashboard.pb.hash.go b/client-go/admin.gloo.solo.io/v2/dashboard.pb.hash.go new file mode 100644 index 000000000..f153dab35 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/dashboard.pb.hash.go @@ -0,0 +1,816 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/dashboard.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *DashboardSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.DashboardSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetAuthn()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Authn")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAuthn(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Authn")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetAuthz()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Authz")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAuthz(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Authz")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MultiClusterRbac) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.MultiClusterRbac")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SessionConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.SessionConfig")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCookieOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CookieOptions")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCookieOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CookieOptions")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.Backend.(type) { + + case *SessionConfig_Cookie: + + if h, ok := interface{}(m.GetCookie()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Cookie")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCookie(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Cookie")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *SessionConfig_Redis: + + if h, ok := interface{}(m.GetRedis()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Redis")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRedis(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Redis")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OidcConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.OidcConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientSecretName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetIssuerUrl())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAuthEndpointQueryParams() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetTokenEndpointQueryParams() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetAppUrl())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCallbackPath())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetLogoutPath())); err != nil { + return 0, err + } + + for _, v := range m.GetScopes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetSession()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Session")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSession(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Session")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetDiscoveryOverride()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DiscoveryOverride")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDiscoveryOverride(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DiscoveryOverride")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetDiscoveryPollInterval()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DiscoveryPollInterval")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDiscoveryPollInterval(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DiscoveryPollInterval")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetJwksCacheRefreshPolicy()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("JwksCacheRefreshPolicy")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetJwksCacheRefreshPolicy(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("JwksCacheRefreshPolicy")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetUserMapping()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("UserMapping")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetUserMapping(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("UserMapping")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetCaCertConfigmapName())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JwksOnDemandCacheRefreshPolicy) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.JwksOnDemandCacheRefreshPolicy")); err != nil { + return 0, err + } + + switch m.Policy.(type) { + + case *JwksOnDemandCacheRefreshPolicy_Never: + + if h, ok := interface{}(m.GetNever()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Never")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetNever(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Never")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *JwksOnDemandCacheRefreshPolicy_Always: + + if h, ok := interface{}(m.GetAlways()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Always")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAlways(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Always")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval: + + err = binary.Write(hasher, binary.LittleEndian, m.GetMaxIdpReqPerPollingInterval()) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *UserMapping) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.UserMapping")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUsernameClaim())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUsernamePrefix())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetGroupsClaim())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetGroupsPrefix())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DashboardStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.DashboardStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetObservedGeneration()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + for _, v := range m.GetErrors() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DashboardSpec_AuthnConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.DashboardSpec_AuthnConfig")); err != nil { + return 0, err + } + + switch m.Backend.(type) { + + case *DashboardSpec_AuthnConfig_Oidc: + + if h, ok := interface{}(m.GetOidc()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Oidc")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOidc(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Oidc")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DashboardSpec_AuthzConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.DashboardSpec_AuthzConfig")); err != nil { + return 0, err + } + + switch m.Backend.(type) { + + case *DashboardSpec_AuthzConfig_MultiClusterRbac: + + if h, ok := interface{}(m.GetMultiClusterRbac()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MultiClusterRbac")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMultiClusterRbac(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MultiClusterRbac")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SessionConfig_CookieSession) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.SessionConfig_CookieSession")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SessionConfig_RedisSession) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.SessionConfig_RedisSession")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHost())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetDb()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPoolSize()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKeyPrefix())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCookieName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetAllowRefreshing()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AllowRefreshing")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAllowRefreshing(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AllowRefreshing")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SessionConfig_CookieOptions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.SessionConfig_CookieOptions")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMaxAge()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MaxAge")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMaxAge(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MaxAge")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNotSecure()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPath()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Path")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPath(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Path")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetDomain())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OidcConfig_DiscoveryOverride) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.OidcConfig_DiscoveryOverride")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAuthEndpoint())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTokenEndpoint())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetJwksUri())); err != nil { + return 0, err + } + + for _, v := range m.GetScopes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetResponseTypes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetSubjects() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetIdTokenAlgs() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetAuthMethods() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetClaims() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/admin.gloo.solo.io/v2/doc.go b/client-go/admin.gloo.solo.io/v2/doc.go new file mode 100644 index 000000000..f4af27a0e --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2 contains API Schema definitions for the admin.gloo.solo.io v2 API group +// +k8s:deepcopy-gen=package,register +// +groupName=admin.gloo.solo.io +package v2 diff --git a/client-go/admin.gloo.solo.io/v2/ext_auth_server.pb.clone.go b/client-go/admin.gloo.solo.io/v2/ext_auth_server.pb.clone.go new file mode 100644 index 000000000..d8697dff8 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/ext_auth_server.pb.clone.go @@ -0,0 +1,190 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/ext_auth_server.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ExtAuthServerSpec) Clone() proto.Message { + var target *ExtAuthServerSpec + if m == nil { + return target + } + target = &ExtAuthServerSpec{} + + if h, ok := interface{}(m.GetDestinationServer()).(clone.Cloner); ok { + target.DestinationServer = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.DestinationServer = proto.Clone(m.GetDestinationServer()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + if h, ok := interface{}(m.GetHttpService()).(clone.Cloner); ok { + target.HttpService = h.Clone().(*ExtAuthServerSpec_HttpService) + } else { + target.HttpService = proto.Clone(m.GetHttpService()).(*ExtAuthServerSpec_HttpService) + } + + if h, ok := interface{}(m.GetRequestTimeout()).(clone.Cloner); ok { + target.RequestTimeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.RequestTimeout = proto.Clone(m.GetRequestTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + target.FailureModeAllow = m.GetFailureModeAllow() + + if h, ok := interface{}(m.GetRequestBody()).(clone.Cloner); ok { + target.RequestBody = h.Clone().(*ExtAuthServerSpec_BufferSettings) + } else { + target.RequestBody = proto.Clone(m.GetRequestBody()).(*ExtAuthServerSpec_BufferSettings) + } + + target.ClearRouteCache = m.GetClearRouteCache() + + target.StatusOnError = m.GetStatusOnError() + + target.TransportApiVersion = m.GetTransportApiVersion() + + target.StatPrefix = m.GetStatPrefix() + + return target +} + +// Clone function +func (m *ExtAuthServerStatus) Clone() proto.Message { + var target *ExtAuthServerStatus + if m == nil { + return target + } + target = &ExtAuthServerStatus{} + + target.ObservedGeneration = m.GetObservedGeneration() + + target.State = m.GetState() + + return target +} + +// Clone function +func (m *ExtAuthServerSpec_HttpService) Clone() proto.Message { + var target *ExtAuthServerSpec_HttpService + if m == nil { + return target + } + target = &ExtAuthServerSpec_HttpService{} + + target.PathPrefix = m.GetPathPrefix() + + if h, ok := interface{}(m.GetRequest()).(clone.Cloner); ok { + target.Request = h.Clone().(*ExtAuthServerSpec_HttpService_Request) + } else { + target.Request = proto.Clone(m.GetRequest()).(*ExtAuthServerSpec_HttpService_Request) + } + + if h, ok := interface{}(m.GetResponse()).(clone.Cloner); ok { + target.Response = h.Clone().(*ExtAuthServerSpec_HttpService_Response) + } else { + target.Response = proto.Clone(m.GetResponse()).(*ExtAuthServerSpec_HttpService_Response) + } + + return target +} + +// Clone function +func (m *ExtAuthServerSpec_BufferSettings) Clone() proto.Message { + var target *ExtAuthServerSpec_BufferSettings + if m == nil { + return target + } + target = &ExtAuthServerSpec_BufferSettings{} + + target.MaxRequestBytes = m.GetMaxRequestBytes() + + target.AllowPartialMessage = m.GetAllowPartialMessage() + + target.PackAsBytes = m.GetPackAsBytes() + + return target +} + +// Clone function +func (m *ExtAuthServerSpec_HttpService_Request) Clone() proto.Message { + var target *ExtAuthServerSpec_HttpService_Request + if m == nil { + return target + } + target = &ExtAuthServerSpec_HttpService_Request{} + + if m.GetAllowedHeaders() != nil { + target.AllowedHeaders = make([]string, len(m.GetAllowedHeaders())) + for idx, v := range m.GetAllowedHeaders() { + + target.AllowedHeaders[idx] = v + + } + } + + if m.GetHeadersToAdd() != nil { + target.HeadersToAdd = make(map[string]string, len(m.GetHeadersToAdd())) + for k, v := range m.GetHeadersToAdd() { + + target.HeadersToAdd[k] = v + + } + } + + return target +} + +// Clone function +func (m *ExtAuthServerSpec_HttpService_Response) Clone() proto.Message { + var target *ExtAuthServerSpec_HttpService_Response + if m == nil { + return target + } + target = &ExtAuthServerSpec_HttpService_Response{} + + if m.GetAllowedUpstreamHeaders() != nil { + target.AllowedUpstreamHeaders = make([]string, len(m.GetAllowedUpstreamHeaders())) + for idx, v := range m.GetAllowedUpstreamHeaders() { + + target.AllowedUpstreamHeaders[idx] = v + + } + } + + if m.GetAllowedClientHeaders() != nil { + target.AllowedClientHeaders = make([]string, len(m.GetAllowedClientHeaders())) + for idx, v := range m.GetAllowedClientHeaders() { + + target.AllowedClientHeaders[idx] = v + + } + } + + return target +} diff --git a/client-go/admin.gloo.solo.io/v2/ext_auth_server.pb.equal.go b/client-go/admin.gloo.solo.io/v2/ext_auth_server.pb.equal.go new file mode 100644 index 000000000..9b641e6c3 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/ext_auth_server.pb.equal.go @@ -0,0 +1,318 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/ext_auth_server.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ExtAuthServerSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthServerSpec) + if !ok { + that2, ok := that.(ExtAuthServerSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetDestinationServer()).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinationServer()) { + return false + } + } else { + if !proto.Equal(m.GetDestinationServer(), target.GetDestinationServer()) { + return false + } + } + + if h, ok := interface{}(m.GetHttpService()).(equality.Equalizer); ok { + if !h.Equal(target.GetHttpService()) { + return false + } + } else { + if !proto.Equal(m.GetHttpService(), target.GetHttpService()) { + return false + } + } + + if h, ok := interface{}(m.GetRequestTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequestTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetRequestTimeout(), target.GetRequestTimeout()) { + return false + } + } + + if m.GetFailureModeAllow() != target.GetFailureModeAllow() { + return false + } + + if h, ok := interface{}(m.GetRequestBody()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequestBody()) { + return false + } + } else { + if !proto.Equal(m.GetRequestBody(), target.GetRequestBody()) { + return false + } + } + + if m.GetClearRouteCache() != target.GetClearRouteCache() { + return false + } + + if m.GetStatusOnError() != target.GetStatusOnError() { + return false + } + + if m.GetTransportApiVersion() != target.GetTransportApiVersion() { + return false + } + + if strings.Compare(m.GetStatPrefix(), target.GetStatPrefix()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthServerStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthServerStatus) + if !ok { + that2, ok := that.(ExtAuthServerStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetObservedGeneration() != target.GetObservedGeneration() { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthServerSpec_HttpService) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthServerSpec_HttpService) + if !ok { + that2, ok := that.(ExtAuthServerSpec_HttpService) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetPathPrefix(), target.GetPathPrefix()) != 0 { + return false + } + + if h, ok := interface{}(m.GetRequest()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequest()) { + return false + } + } else { + if !proto.Equal(m.GetRequest(), target.GetRequest()) { + return false + } + } + + if h, ok := interface{}(m.GetResponse()).(equality.Equalizer); ok { + if !h.Equal(target.GetResponse()) { + return false + } + } else { + if !proto.Equal(m.GetResponse(), target.GetResponse()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthServerSpec_BufferSettings) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthServerSpec_BufferSettings) + if !ok { + that2, ok := that.(ExtAuthServerSpec_BufferSettings) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetMaxRequestBytes() != target.GetMaxRequestBytes() { + return false + } + + if m.GetAllowPartialMessage() != target.GetAllowPartialMessage() { + return false + } + + if m.GetPackAsBytes() != target.GetPackAsBytes() { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthServerSpec_HttpService_Request) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthServerSpec_HttpService_Request) + if !ok { + that2, ok := that.(ExtAuthServerSpec_HttpService_Request) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetAllowedHeaders()) != len(target.GetAllowedHeaders()) { + return false + } + for idx, v := range m.GetAllowedHeaders() { + + if strings.Compare(v, target.GetAllowedHeaders()[idx]) != 0 { + return false + } + + } + + if len(m.GetHeadersToAdd()) != len(target.GetHeadersToAdd()) { + return false + } + for k, v := range m.GetHeadersToAdd() { + + if strings.Compare(v, target.GetHeadersToAdd()[k]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ExtAuthServerSpec_HttpService_Response) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthServerSpec_HttpService_Response) + if !ok { + that2, ok := that.(ExtAuthServerSpec_HttpService_Response) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetAllowedUpstreamHeaders()) != len(target.GetAllowedUpstreamHeaders()) { + return false + } + for idx, v := range m.GetAllowedUpstreamHeaders() { + + if strings.Compare(v, target.GetAllowedUpstreamHeaders()[idx]) != 0 { + return false + } + + } + + if len(m.GetAllowedClientHeaders()) != len(target.GetAllowedClientHeaders()) { + return false + } + for idx, v := range m.GetAllowedClientHeaders() { + + if strings.Compare(v, target.GetAllowedClientHeaders()[idx]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/admin.gloo.solo.io/v2/ext_auth_server.pb.go b/client-go/admin.gloo.solo.io/v2/ext_auth_server.pb.go new file mode 100644 index 000000000..ae37495da --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/ext_auth_server.pb.go @@ -0,0 +1,829 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/ext_auth_server.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes the transport protocol version to use when envoy connects to the ext auth server. +type ExtAuthServerSpec_ApiVersion int32 + +const ( + // Use transport version that matches the version the default enterprise ext-auth-service uses. + ExtAuthServerSpec_GLOO_MESH_AUTO ExtAuthServerSpec_ApiVersion = 0 + // Use envoy's auto transport version. This will change as envoy cycles through transport api versions. + ExtAuthServerSpec_ENVOY_AUTO ExtAuthServerSpec_ApiVersion = 1 + // Use v3 API. + ExtAuthServerSpec_V3 ExtAuthServerSpec_ApiVersion = 2 +) + +// Enum value maps for ExtAuthServerSpec_ApiVersion. +var ( + ExtAuthServerSpec_ApiVersion_name = map[int32]string{ + 0: "GLOO_MESH_AUTO", + 1: "ENVOY_AUTO", + 2: "V3", + } + ExtAuthServerSpec_ApiVersion_value = map[string]int32{ + "GLOO_MESH_AUTO": 0, + "ENVOY_AUTO": 1, + "V3": 2, + } +) + +func (x ExtAuthServerSpec_ApiVersion) Enum() *ExtAuthServerSpec_ApiVersion { + p := new(ExtAuthServerSpec_ApiVersion) + *p = x + return p +} + +func (x ExtAuthServerSpec_ApiVersion) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExtAuthServerSpec_ApiVersion) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_enumTypes[0].Descriptor() +} + +func (ExtAuthServerSpec_ApiVersion) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_enumTypes[0] +} + +func (x ExtAuthServerSpec_ApiVersion) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExtAuthServerSpec_ApiVersion.Descriptor instead. +func (ExtAuthServerSpec_ApiVersion) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescGZIP(), []int{0, 0} +} + +// ExtAuthServer is used configure the backend server used to enforce ExtAuthPolicies. +// All ExtAuthPolicies in a workspace require an ExtAuthServer to in order to function. +// If no ExtAuthServer is provided, a default configuration will be used. +// Currently Gloo Mesh only supports a single ExtAuthServer per workspace. +type ExtAuthServerSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the destination that Gloo uses to externally authenticate traffic. + // The destination can be a Kubernetes service, such as the Gloo external auth service or your own external auth service, or a VirtualDestination. + // The destination cannot be an ExternalService. + //
  • Kubernetes service: Make sure to select the correct cluster and namespace of the external auth destination. + // For example, although you create this ExtAuthServer resource in the management cluster in most cases, remember that the Gloo external auth service runs in each workload cluster.
  • + //
  • Virtual destination: Group up to one external auth service for each registered cluster. + // The external auth service names and namespaces must match on all clusters. Also, the namespaces must be enabled for Istio-injection + // so that the external auth pods have sidecars.
+ // If omitted, Gloo looks for a service with the name `extauth` in the agent namespace in each cluster where the external auth service is deployed. + DestinationServer *v2.DestinationReference `protobuf:"bytes,1,opt,name=destination_server,json=destinationServer,proto3" json:"destination_server,omitempty"` + // If this is set, communication to the upstream will be via HTTP and not GRPC. + HttpService *ExtAuthServerSpec_HttpService `protobuf:"bytes,2,opt,name=http_service,json=httpService,proto3" json:"http_service,omitempty"` + // Timeout for the ext auth service to respond. Defaults to 2s. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + RequestTimeout *duration.Duration `protobuf:"bytes,3,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"` + // In case of a failure or timeout querying the auth server, normally a request is denied. + // if this is set to true, the request will be allowed. + FailureModeAllow bool `protobuf:"varint,4,opt,name=failure_mode_allow,json=failureModeAllow,proto3" json:"failure_mode_allow,omitempty"` + // Set this if you also want to send the body of the request, and not just the headers. + RequestBody *ExtAuthServerSpec_BufferSettings `protobuf:"bytes,5,opt,name=request_body,json=requestBody,proto3" json:"request_body,omitempty"` + // Clear the route cache to force the external auth service to recalculate the routing decision. + // All cached routes are cleared if one of the following conditions is met. + // + // 1. The field is set to *true*. + // + // 2. The external auth service returns a HTTP 200 or gRPC 0 response code. + // + // 3. At least one *authorization response header* is added to the client request, or is used to + // alter another client request header. + // + // The default value is **false**. + ClearRouteCache bool `protobuf:"varint,6,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"` + // Sets the HTTP status that is returned to the client when there is a network error between the + // filter and the authorization server. The default status is HTTP 403 Forbidden. + // If set, this must be one of the following: + // - 100 + // - 200 201 202 203 204 205 206 207 208 226 + // - 300 301 302 303 304 305 307 308 + // - 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 421 422 423 424 426 428 429 431 + // - 500 501 502 503 504 505 506 507 508 510 511 + StatusOnError uint32 `protobuf:"varint,7,opt,name=status_on_error,json=statusOnError,proto3" json:"status_on_error,omitempty"` + // Determines the API version for the `ext_authz` transport protocol that will be used by Envoy + // to communicate with the auth server. Defaults to `V3`. For more info, see the `transport_api_version` field + // [here](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/ext_authz/v3/ext_authz.proto#extensions-filters-http-ext-authz-v3-extauthz). + TransportApiVersion ExtAuthServerSpec_ApiVersion `protobuf:"varint,8,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=admin.gloo.solo.io.ExtAuthServerSpec_ApiVersion" json:"transport_api_version,omitempty"` + // Optional additional prefix to use when emitting statistics. + // This allows to distinguish emitted statistics between configured ext_authz filters in an HTTP filter chain. + StatPrefix string `protobuf:"bytes,9,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` +} + +func (x *ExtAuthServerSpec) Reset() { + *x = ExtAuthServerSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthServerSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthServerSpec) ProtoMessage() {} + +func (x *ExtAuthServerSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthServerSpec.ProtoReflect.Descriptor instead. +func (*ExtAuthServerSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescGZIP(), []int{0} +} + +func (x *ExtAuthServerSpec) GetDestinationServer() *v2.DestinationReference { + if x != nil { + return x.DestinationServer + } + return nil +} + +func (x *ExtAuthServerSpec) GetHttpService() *ExtAuthServerSpec_HttpService { + if x != nil { + return x.HttpService + } + return nil +} + +func (x *ExtAuthServerSpec) GetRequestTimeout() *duration.Duration { + if x != nil { + return x.RequestTimeout + } + return nil +} + +func (x *ExtAuthServerSpec) GetFailureModeAllow() bool { + if x != nil { + return x.FailureModeAllow + } + return false +} + +func (x *ExtAuthServerSpec) GetRequestBody() *ExtAuthServerSpec_BufferSettings { + if x != nil { + return x.RequestBody + } + return nil +} + +func (x *ExtAuthServerSpec) GetClearRouteCache() bool { + if x != nil { + return x.ClearRouteCache + } + return false +} + +func (x *ExtAuthServerSpec) GetStatusOnError() uint32 { + if x != nil { + return x.StatusOnError + } + return 0 +} + +func (x *ExtAuthServerSpec) GetTransportApiVersion() ExtAuthServerSpec_ApiVersion { + if x != nil { + return x.TransportApiVersion + } + return ExtAuthServerSpec_GLOO_MESH_AUTO +} + +func (x *ExtAuthServerSpec) GetStatPrefix() string { + if x != nil { + return x.StatPrefix + } + return "" +} + +// +// The status of the resource after it is applied to your Gloo environment. +type ExtAuthServerStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The most recent generation observed in the object's metadata. + // If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most + // recent version of this object. + ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` + // Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. + State v2.ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=common.gloo.solo.io.ApprovalState" json:"state,omitempty"` +} + +func (x *ExtAuthServerStatus) Reset() { + *x = ExtAuthServerStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthServerStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthServerStatus) ProtoMessage() {} + +func (x *ExtAuthServerStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthServerStatus.ProtoReflect.Descriptor instead. +func (*ExtAuthServerStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescGZIP(), []int{1} +} + +func (x *ExtAuthServerStatus) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +func (x *ExtAuthServerStatus) GetState() v2.ApprovalState { + if x != nil { + return x.State + } + return v2.ApprovalState_PENDING +} + +type ExtAuthServerSpec_HttpService struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Sets a prefix to the value of authorization request header *Path*. + PathPrefix string `protobuf:"bytes,1,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"` + Request *ExtAuthServerSpec_HttpService_Request `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` + Response *ExtAuthServerSpec_HttpService_Response `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"` +} + +func (x *ExtAuthServerSpec_HttpService) Reset() { + *x = ExtAuthServerSpec_HttpService{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthServerSpec_HttpService) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthServerSpec_HttpService) ProtoMessage() {} + +func (x *ExtAuthServerSpec_HttpService) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthServerSpec_HttpService.ProtoReflect.Descriptor instead. +func (*ExtAuthServerSpec_HttpService) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ExtAuthServerSpec_HttpService) GetPathPrefix() string { + if x != nil { + return x.PathPrefix + } + return "" +} + +func (x *ExtAuthServerSpec_HttpService) GetRequest() *ExtAuthServerSpec_HttpService_Request { + if x != nil { + return x.Request + } + return nil +} + +func (x *ExtAuthServerSpec_HttpService) GetResponse() *ExtAuthServerSpec_HttpService_Response { + if x != nil { + return x.Response + } + return nil +} + +// Configuration for buffering the request data. +type ExtAuthServerSpec_BufferSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Sets the maximum size of a message body that the filter will hold in memory. Envoy will return + // *HTTP 413* and will *not* initiate the authorization process when buffer reaches the number + // set in this field. Note that this setting will have precedence over failure_mode_allow. + // Defaults to 4KB. + MaxRequestBytes uint32 `protobuf:"varint,1,opt,name=max_request_bytes,json=maxRequestBytes,proto3" json:"max_request_bytes,omitempty"` + // When this field is true, Envoy will buffer the message until *max_request_bytes* is reached. + // The authorization request will be dispatched and no 413 HTTP error will be returned by the + // filter. + AllowPartialMessage bool `protobuf:"varint,2,opt,name=allow_partial_message,json=allowPartialMessage,proto3" json:"allow_partial_message,omitempty"` + // When this field is true, Envoy will send the body sent to the external authorization service with raw bytes. + PackAsBytes bool `protobuf:"varint,3,opt,name=pack_as_bytes,json=packAsBytes,proto3" json:"pack_as_bytes,omitempty"` +} + +func (x *ExtAuthServerSpec_BufferSettings) Reset() { + *x = ExtAuthServerSpec_BufferSettings{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthServerSpec_BufferSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthServerSpec_BufferSettings) ProtoMessage() {} + +func (x *ExtAuthServerSpec_BufferSettings) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthServerSpec_BufferSettings.ProtoReflect.Descriptor instead. +func (*ExtAuthServerSpec_BufferSettings) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *ExtAuthServerSpec_BufferSettings) GetMaxRequestBytes() uint32 { + if x != nil { + return x.MaxRequestBytes + } + return 0 +} + +func (x *ExtAuthServerSpec_BufferSettings) GetAllowPartialMessage() bool { + if x != nil { + return x.AllowPartialMessage + } + return false +} + +func (x *ExtAuthServerSpec_BufferSettings) GetPackAsBytes() bool { + if x != nil { + return x.PackAsBytes + } + return false +} + +type ExtAuthServerSpec_HttpService_Request struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // These headers will be copied from the incoming request to the request going + // to the auth server. Note that in addition to the user's supplied matchers: + // + // 1. *Host*, *Method*, *Path* and *Content-Length* are automatically included to the list. + // + // 2. *Content-Length* will be set to 0 and the request to the authorization service will not have + // a message body. + AllowedHeaders []string `protobuf:"bytes,1,rep,name=allowed_headers,json=allowedHeaders,proto3" json:"allowed_headers,omitempty"` + // These headers that will be included to the request to authorization service. Note that + // client request of the same key will be overridden. + HeadersToAdd map[string]string `protobuf:"bytes,2,rep,name=headers_to_add,json=headersToAdd,proto3" json:"headers_to_add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ExtAuthServerSpec_HttpService_Request) Reset() { + *x = ExtAuthServerSpec_HttpService_Request{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthServerSpec_HttpService_Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthServerSpec_HttpService_Request) ProtoMessage() {} + +func (x *ExtAuthServerSpec_HttpService_Request) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthServerSpec_HttpService_Request.ProtoReflect.Descriptor instead. +func (*ExtAuthServerSpec_HttpService_Request) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *ExtAuthServerSpec_HttpService_Request) GetAllowedHeaders() []string { + if x != nil { + return x.AllowedHeaders + } + return nil +} + +func (x *ExtAuthServerSpec_HttpService_Request) GetHeadersToAdd() map[string]string { + if x != nil { + return x.HeadersToAdd + } + return nil +} + +type ExtAuthServerSpec_HttpService_Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // When this is set, authorization response headers that have a will be added to the original client request and sent to the upstream. + // Note that coexistent headers will be overridden. + AllowedUpstreamHeaders []string `protobuf:"bytes,1,rep,name=allowed_upstream_headers,json=allowedUpstreamHeaders,proto3" json:"allowed_upstream_headers,omitempty"` + // When this. is set, authorization response headers that will be added to the client's response when auth request is denied. + // Note that when this list is *not* set, all the authorization response headers, except *Authority + // (Host)* will be in the response to the client. When a header is included in this list, *Path*, + // *Status*, *Content-Length*, *WWW-Authenticate* and *Location* are automatically added. + AllowedClientHeaders []string `protobuf:"bytes,2,rep,name=allowed_client_headers,json=allowedClientHeaders,proto3" json:"allowed_client_headers,omitempty"` +} + +func (x *ExtAuthServerSpec_HttpService_Response) Reset() { + *x = ExtAuthServerSpec_HttpService_Response{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthServerSpec_HttpService_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthServerSpec_HttpService_Response) ProtoMessage() {} + +func (x *ExtAuthServerSpec_HttpService_Response) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthServerSpec_HttpService_Response.ProtoReflect.Descriptor instead. +func (*ExtAuthServerSpec_HttpService_Response) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescGZIP(), []int{0, 0, 1} +} + +func (x *ExtAuthServerSpec_HttpService_Response) GetAllowedUpstreamHeaders() []string { + if x != nil { + return x.AllowedUpstreamHeaders + } + return nil +} + +func (x *ExtAuthServerSpec_HttpService_Response) GetAllowedClientHeaders() []string { + if x != nil { + return x.AllowedClientHeaders + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDesc = []byte{ + 0x0a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, + 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0xfd, 0x0a, 0x0a, 0x11, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x58, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, + 0x54, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, + 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x48, 0x74, 0x74, + 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x69, + 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x57, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, + 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, + 0x61, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x26, 0x0a, 0x0f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x6e, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x12, 0x64, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, + 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, + 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0xc0, 0x04, 0x0a, 0x0b, + 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, + 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x53, 0x0a, 0x07, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x56, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0xe6, 0x01, 0x0a, 0x07, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x71, + 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, + 0x75, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x48, 0x74, + 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, + 0x64, 0x1a, 0x3f, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, + 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x7a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, + 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x94, + 0x01, 0x0a, 0x0e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, + 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, + 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x41, 0x73, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x4c, 0x4f, 0x4f, 0x5f, 0x4d, 0x45, 0x53, 0x48, + 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x4e, 0x56, 0x4f, 0x59, + 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x33, 0x10, 0x02, 0x22, + 0x80, 0x01, 0x0a, 0x13, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x42, 0x53, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, + 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_goTypes = []interface{}{ + (ExtAuthServerSpec_ApiVersion)(0), // 0: admin.gloo.solo.io.ExtAuthServerSpec.ApiVersion + (*ExtAuthServerSpec)(nil), // 1: admin.gloo.solo.io.ExtAuthServerSpec + (*ExtAuthServerStatus)(nil), // 2: admin.gloo.solo.io.ExtAuthServerStatus + (*ExtAuthServerSpec_HttpService)(nil), // 3: admin.gloo.solo.io.ExtAuthServerSpec.HttpService + (*ExtAuthServerSpec_BufferSettings)(nil), // 4: admin.gloo.solo.io.ExtAuthServerSpec.BufferSettings + (*ExtAuthServerSpec_HttpService_Request)(nil), // 5: admin.gloo.solo.io.ExtAuthServerSpec.HttpService.Request + (*ExtAuthServerSpec_HttpService_Response)(nil), // 6: admin.gloo.solo.io.ExtAuthServerSpec.HttpService.Response + nil, // 7: admin.gloo.solo.io.ExtAuthServerSpec.HttpService.Request.HeadersToAddEntry + (*v2.DestinationReference)(nil), // 8: common.gloo.solo.io.DestinationReference + (*duration.Duration)(nil), // 9: google.protobuf.Duration + (v2.ApprovalState)(0), // 10: common.gloo.solo.io.ApprovalState +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_depIdxs = []int32{ + 8, // 0: admin.gloo.solo.io.ExtAuthServerSpec.destination_server:type_name -> common.gloo.solo.io.DestinationReference + 3, // 1: admin.gloo.solo.io.ExtAuthServerSpec.http_service:type_name -> admin.gloo.solo.io.ExtAuthServerSpec.HttpService + 9, // 2: admin.gloo.solo.io.ExtAuthServerSpec.request_timeout:type_name -> google.protobuf.Duration + 4, // 3: admin.gloo.solo.io.ExtAuthServerSpec.request_body:type_name -> admin.gloo.solo.io.ExtAuthServerSpec.BufferSettings + 0, // 4: admin.gloo.solo.io.ExtAuthServerSpec.transport_api_version:type_name -> admin.gloo.solo.io.ExtAuthServerSpec.ApiVersion + 10, // 5: admin.gloo.solo.io.ExtAuthServerStatus.state:type_name -> common.gloo.solo.io.ApprovalState + 5, // 6: admin.gloo.solo.io.ExtAuthServerSpec.HttpService.request:type_name -> admin.gloo.solo.io.ExtAuthServerSpec.HttpService.Request + 6, // 7: admin.gloo.solo.io.ExtAuthServerSpec.HttpService.response:type_name -> admin.gloo.solo.io.ExtAuthServerSpec.HttpService.Response + 7, // 8: admin.gloo.solo.io.ExtAuthServerSpec.HttpService.Request.headers_to_add:type_name -> admin.gloo.solo.io.ExtAuthServerSpec.HttpService.Request.HeadersToAddEntry + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthServerSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthServerStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthServerSpec_HttpService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthServerSpec_BufferSettings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthServerSpec_HttpService_Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthServerSpec_HttpService_Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDesc, + NumEnums: 1, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ext_auth_server_proto_depIdxs = nil +} diff --git a/client-go/admin.gloo.solo.io/v2/ext_auth_server.pb.hash.go b/client-go/admin.gloo.solo.io/v2/ext_auth_server.pb.hash.go new file mode 100644 index 000000000..202f0a950 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/ext_auth_server.pb.hash.go @@ -0,0 +1,342 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/ext_auth_server.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ExtAuthServerSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.ExtAuthServerSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetDestinationServer()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DestinationServer")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDestinationServer(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DestinationServer")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetHttpService()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HttpService")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHttpService(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HttpService")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetRequestTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RequestTimeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequestTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RequestTimeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetFailureModeAllow()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRequestBody()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RequestBody")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequestBody(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RequestBody")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetClearRouteCache()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetStatusOnError()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetTransportApiVersion()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetStatPrefix())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthServerStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.ExtAuthServerStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetObservedGeneration()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthServerSpec_HttpService) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.ExtAuthServerSpec_HttpService")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPathPrefix())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRequest()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequest(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetResponse()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Response")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResponse(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Response")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthServerSpec_BufferSettings) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.ExtAuthServerSpec_BufferSettings")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMaxRequestBytes()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAllowPartialMessage()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPackAsBytes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthServerSpec_HttpService_Request) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.ExtAuthServerSpec_HttpService_Request")); err != nil { + return 0, err + } + + for _, v := range m.GetAllowedHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetHeadersToAdd() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthServerSpec_HttpService_Response) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.ExtAuthServerSpec_HttpService_Response")); err != nil { + return 0, err + } + + for _, v := range m.GetAllowedUpstreamHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetAllowedClientHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/admin.gloo.solo.io/v2/gateway_lifecycle_manager.pb.clone.go b/client-go/admin.gloo.solo.io/v2/gateway_lifecycle_manager.pb.clone.go new file mode 100644 index 000000000..d71329e31 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/gateway_lifecycle_manager.pb.clone.go @@ -0,0 +1,198 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/gateway_lifecycle_manager.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *GatewayLifecycleManagerSpec) Clone() proto.Message { + var target *GatewayLifecycleManagerSpec + if m == nil { + return target + } + target = &GatewayLifecycleManagerSpec{} + + if m.GetInstallations() != nil { + target.Installations = make([]*GatewayInstallation, len(m.GetInstallations())) + for idx, v := range m.GetInstallations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Installations[idx] = h.Clone().(*GatewayInstallation) + } else { + target.Installations[idx] = proto.Clone(v).(*GatewayInstallation) + } + + } + } + + return target +} + +// Clone function +func (m *GatewayClusterSelector) Clone() proto.Message { + var target *GatewayClusterSelector + if m == nil { + return target + } + target = &GatewayClusterSelector{} + + target.Name = m.GetName() + + target.ActiveGateway = m.GetActiveGateway() + + target.TrustDomain = m.GetTrustDomain() + + return target +} + +// Clone function +func (m *GatewayInstallation) Clone() proto.Message { + var target *GatewayInstallation + if m == nil { + return target + } + target = &GatewayInstallation{} + + target.ControlPlaneRevision = m.GetControlPlaneRevision() + + target.GatewayRevision = m.GetGatewayRevision() + + if m.GetClusters() != nil { + target.Clusters = make([]*GatewayClusterSelector, len(m.GetClusters())) + for idx, v := range m.GetClusters() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Clusters[idx] = h.Clone().(*GatewayClusterSelector) + } else { + target.Clusters[idx] = proto.Clone(v).(*GatewayClusterSelector) + } + + } + } + + if h, ok := interface{}(m.GetIstioOperatorSpec()).(clone.Cloner); ok { + target.IstioOperatorSpec = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IstioOperatorSpec) + } else { + target.IstioOperatorSpec = proto.Clone(m.GetIstioOperatorSpec()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IstioOperatorSpec) + } + + target.SkipUpgradeValidation = m.GetSkipUpgradeValidation() + + return target +} + +// Clone function +func (m *GatewayLifecycleManagerStatus) Clone() proto.Message { + var target *GatewayLifecycleManagerStatus + if m == nil { + return target + } + target = &GatewayLifecycleManagerStatus{} + + if m.GetClusters() != nil { + target.Clusters = make(map[string]*GatewayLifecycleManagerStatus_ClusterStatuses, len(m.GetClusters())) + for k, v := range m.GetClusters() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Clusters[k] = h.Clone().(*GatewayLifecycleManagerStatus_ClusterStatuses) + } else { + target.Clusters[k] = proto.Clone(v).(*GatewayLifecycleManagerStatus_ClusterStatuses) + } + + } + } + + return target +} + +// Clone function +func (m *GatewayLifecycleManagerNewStatus) Clone() proto.Message { + var target *GatewayLifecycleManagerNewStatus + if m == nil { + return target + } + target = &GatewayLifecycleManagerNewStatus{} + + return target +} + +// Clone function +func (m *GatewayLifecycleManagerReport) Clone() proto.Message { + var target *GatewayLifecycleManagerReport + if m == nil { + return target + } + target = &GatewayLifecycleManagerReport{} + + return target +} + +// Clone function +func (m *GatewayLifecycleManagerStatus_ClusterStatuses) Clone() proto.Message { + var target *GatewayLifecycleManagerStatus_ClusterStatuses + if m == nil { + return target + } + target = &GatewayLifecycleManagerStatus_ClusterStatuses{} + + if m.GetInstallations() != nil { + target.Installations = make(map[string]*GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus, len(m.GetInstallations())) + for k, v := range m.GetInstallations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Installations[k] = h.Clone().(*GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) + } else { + target.Installations[k] = proto.Clone(v).(*GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) + } + + } + } + + return target +} + +// Clone function +func (m *GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) Clone() proto.Message { + var target *GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus + if m == nil { + return target + } + target = &GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus{} + + target.State = m.GetState() + + target.Message = m.GetMessage() + + target.ObservedRevision = m.GetObservedRevision() + + if h, ok := interface{}(m.GetObservedOperator()).(clone.Cloner); ok { + target.ObservedOperator = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IstioOperatorSpec) + } else { + target.ObservedOperator = proto.Clone(m.GetObservedOperator()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IstioOperatorSpec) + } + + return target +} diff --git a/client-go/admin.gloo.solo.io/v2/gateway_lifecycle_manager.pb.equal.go b/client-go/admin.gloo.solo.io/v2/gateway_lifecycle_manager.pb.equal.go new file mode 100644 index 000000000..9ab30c9b2 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/gateway_lifecycle_manager.pb.equal.go @@ -0,0 +1,342 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/gateway_lifecycle_manager.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *GatewayLifecycleManagerSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GatewayLifecycleManagerSpec) + if !ok { + that2, ok := that.(GatewayLifecycleManagerSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetInstallations()) != len(target.GetInstallations()) { + return false + } + for idx, v := range m.GetInstallations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetInstallations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetInstallations()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *GatewayClusterSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GatewayClusterSelector) + if !ok { + that2, ok := that.(GatewayClusterSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if m.GetActiveGateway() != target.GetActiveGateway() { + return false + } + + if strings.Compare(m.GetTrustDomain(), target.GetTrustDomain()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *GatewayInstallation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GatewayInstallation) + if !ok { + that2, ok := that.(GatewayInstallation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetControlPlaneRevision(), target.GetControlPlaneRevision()) != 0 { + return false + } + + if strings.Compare(m.GetGatewayRevision(), target.GetGatewayRevision()) != 0 { + return false + } + + if len(m.GetClusters()) != len(target.GetClusters()) { + return false + } + for idx, v := range m.GetClusters() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetClusters()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetClusters()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetIstioOperatorSpec()).(equality.Equalizer); ok { + if !h.Equal(target.GetIstioOperatorSpec()) { + return false + } + } else { + if !proto.Equal(m.GetIstioOperatorSpec(), target.GetIstioOperatorSpec()) { + return false + } + } + + if m.GetSkipUpgradeValidation() != target.GetSkipUpgradeValidation() { + return false + } + + return true +} + +// Equal function +func (m *GatewayLifecycleManagerStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GatewayLifecycleManagerStatus) + if !ok { + that2, ok := that.(GatewayLifecycleManagerStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetClusters()) != len(target.GetClusters()) { + return false + } + for k, v := range m.GetClusters() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetClusters()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetClusters()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *GatewayLifecycleManagerNewStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GatewayLifecycleManagerNewStatus) + if !ok { + that2, ok := that.(GatewayLifecycleManagerNewStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *GatewayLifecycleManagerReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GatewayLifecycleManagerReport) + if !ok { + that2, ok := that.(GatewayLifecycleManagerReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *GatewayLifecycleManagerStatus_ClusterStatuses) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GatewayLifecycleManagerStatus_ClusterStatuses) + if !ok { + that2, ok := that.(GatewayLifecycleManagerStatus_ClusterStatuses) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetInstallations()) != len(target.GetInstallations()) { + return false + } + for k, v := range m.GetInstallations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetInstallations()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetInstallations()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) + if !ok { + that2, ok := that.(GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + if strings.Compare(m.GetMessage(), target.GetMessage()) != 0 { + return false + } + + if strings.Compare(m.GetObservedRevision(), target.GetObservedRevision()) != 0 { + return false + } + + if h, ok := interface{}(m.GetObservedOperator()).(equality.Equalizer); ok { + if !h.Equal(target.GetObservedOperator()) { + return false + } + } else { + if !proto.Equal(m.GetObservedOperator(), target.GetObservedOperator()) { + return false + } + } + + return true +} diff --git a/client-go/admin.gloo.solo.io/v2/gateway_lifecycle_manager.pb.go b/client-go/admin.gloo.solo.io/v2/gateway_lifecycle_manager.pb.go new file mode 100644 index 000000000..0cdea5247 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/gateway_lifecycle_manager.pb.go @@ -0,0 +1,1141 @@ +// Use Gloo Platform to install Istio ingress, egress, and east-west gateways in your workload clusters, +// as part of the Istio lifecycle management. +// In your `GatewayLifecycleManager` resource, you provide gateway settings in an `IstioOperator` configuration. +// When you create the `GatewayLifecycleManager` in your management cluster, Gloo translates the configuration +// into gateways in your registered workload clusters for you. +// +// For more information, see the [Install Istio by using the Istio Lifecycle Manager]({{% versioned_link_path fromRoot="/setup/install/gloo_mesh_managed/" %}}) guide. +// +// **Examples**: +// +// **East-west** (Gloo Mesh license): This example creates an east-west gateway named `istio-eastwestgateway` in the `gloo-mesh-gateways` +// namespace of two workload clusters (`$REMOTE_CLUSTER1` and `$REMOTE_CLUSTER2`). You supply the Solo Istio revision (`$REVISION`), +// image tag (`$ISTIO_IMAGE`), and repo key (`$REPO`). +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: GatewayLifecycleManager +// metadata: +// name: istio-eastwestgateway +// namespace: gloo-mesh +// spec: +// installations: +// # The revision for this installation +// - gatewayRevision: $REVISION +// # List all workload clusters to install Istio into +// clusters: +// - name: $REMOTE_CLUSTER1 +// # If set to true, the spec for this revision is applied in the cluster +// activeGateway: true +// - name: $REMOTE_CLUSTER2 +// activeGateway: true +// istioOperatorSpec: +// # No control plane components are installed +// profile: empty +// # Solo.io Istio distribution repository; required for Solo Istio. +// # You get the repo key from your Solo Account Representative. +// hub: $REPO +// # The Solo.io Gloo Istio version +// tag: $ISTIO_IMAGE +// components: +// ingressGateways: +// # Enable the default east-west gateway +// - name: istio-eastwestgateway +// # Deployed to gloo-mesh-gateways by default +// namespace: gloo-mesh-gateways +// enabled: true +// label: +// # Set a unique label for the gateway. This is required to +// # ensure Gateways can select this workload. +// istio: eastwestgateway +// app: istio-eastwestgateway +// k8s: +// env: +// # 'sni-dnat' enables AUTO_PASSTHROUGH mode for east-west communication through the gateway. +// # The default value ('standard') does not set up a passthrough cluster. +// # Required for multi-cluster communication and to preserve SNI. +// - name: ISTIO_META_ROUTER_MODE +// value: "sni-dnat" +// service: +// type: LoadBalancer +// selector: +// istio: eastwestgateway +// # Default ports +// ports: +// # Port for health checks on path /healthz/ready. +// # For AWS ELBs, this port must be listed first. +// - name: status-port +// port: 15021 +// targetPort: 15021 +// # Port for multicluster mTLS passthrough +// # Gloo looks for this default name 'tls' on a gateway +// # Required for Gloo east/west routing +// - name: tls +// port: 15443 +// targetPort: 15443 +// +// ``` +// +// **Ingress** (Gloo Gateway license): This example creates an ingress gateway named `istio-ingressgateway` in the `gloo-mesh-gateways` +// namespace of two workload clusters (`$REMOTE_CLUSTER1` and `$REMOTE_CLUSTER2`). You supply the Solo Istio revision (`$REVISION`), +// image tag (`$ISTIO_IMAGE`), and repo key (`$REPO`). +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: GatewayLifecycleManager +// metadata: +// name: istio-ingressgateway +// namespace: gloo-mesh +// spec: +// installations: +// # The revision for this installation +// - gatewayRevision: $REVISION +// # List all workload clusters to install Istio into +// clusters: +// - name: $REMOTE_CLUSTER1 +// # If set to true, the spec for this revision is applied in the cluster +// activeGateway: true +// - name: $REMOTE_CLUSTER2 +// activeGateway: true +// istioOperatorSpec: +// # No control plane components are installed +// profile: empty +// # Solo.io Istio distribution repository; required for Solo Istio. +// # You get the repo key from your Solo Account Representative. +// hub: $REPO +// # The Solo.io Istio version tag +// tag: $ISTIO_IMAGE +// components: +// ingressGateways: +// # Enable the default ingress gateway +// - name: istio-ingressgateway +// # Deployed to gloo-mesh-gateways by default +// namespace: gloo-mesh-gateways +// enabled: true +// label: +// # Set a unique label for the gateway. This is required to +// # ensure Gateways can select this workload +// istio: ingressgateway +// app: istio-ingressgateway +// k8s: +// service: +// type: LoadBalancer +// selector: +// istio: ingressgateway +// # Default ports +// ports: +// # Port for health checks on path /healthz/ready. +// # For AWS ELBs, this port must be listed first. +// - name: status-port +// port: 15021 +// targetPort: 15021 +// # Main HTTP ingress port +// - name: http2 +// port: 80 +// targetPort: 8080 +// # Main HTTPS ingress port +// - name: https +// port: 443 +// targetPort: 8443 +// - name: tls +// port: 15443 +// targetPort: 15443 +// ``` +// +// **Egress**: This example creates an egress gateway named `istio-egressgateway` in the `gloo-mesh-gateways` namespace of two workload clusters, +// (`$REMOTE_CLUSTER1` and `$REMOTE_CLUSTER2`). You supply the Solo Istio revision (`$REVISION`), image tag (`$ISTIO_IMAGE`), and repo key (`$REPO`). +// For more information, see the +// [Block egress traffic with an egress gateway]({{% versioned_link_path fromRoot="/routing/forward-requests/external-service/egress-gateway/" %}}) guide. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: GatewayLifecycleManager +// metadata: +// name: istio-egressgateway +// namespace: gloo-mesh +// spec: +// installations: +// # The revision for this installation +// - gatewayRevision: $REVISION +// # List all workload clusters to install Istio into +// clusters: +// - name: $REMOTE_CLUSTER1 +// # If set to true, the spec for this revision is applied in the cluster +// activeGateway: true +// - name: $REMOTE_CLUSTER2 +// activeGateway: true +// istioOperatorSpec: +// # No control plane components are installed +// profile: minimal +// # Solo.io Istio distribution repository; required for Gloo Istio. +// # You get the repo key from your Solo Account Representative. +// hub: $REPO +// # The Solo.io Gloo Istio version +// tag: $ISTIO_IMAGE +// meshConfig: +// outboundTrafficPolicy: +// mode: REGISTRY_ONLY +// # Enable access logs +// accessLogFile: /dev/stdout +// defaultConfig: +// proxyMetadata: +// # For known hosts, enable the Istio agent to handle DNS requests +// # for any custom ServiceEntry, such as non-Kubernetes services. +// # Unknown hosts are automatically resolved using upstream DNS +// # servers in resolv.conf (for proxy-dns) +// ISTIO_META_DNS_CAPTURE: "true" +// components: +// egressGateways: +// # Enable the egress gateway +// - name: istio-egressgateway +// # Deployed to gloo-mesh-gateways by default +// namespace: gloo-mesh-gateways +// enabled: true +// label: +// # Set a unique label for the gateway. This is required to +// # ensure Gateways can select this workload. +// istio: egressgateway +// app: istio-egressgateway +// traffic: egress +// k8s: +// affinity: +// nodeAffinity: +// requiredDuringSchedulingIgnoredDuringExecution: +// nodeSelectorTerms: +// - matchExpressions: +// - key: kubernetes.io/arch +// operator: In +// values: +// - arm64 +// - amd64 +// env: +// # 'sni-dnat' enables AUTO_PASSTHROUGH mode for east-west communication through the gateway. +// # The default value ('standard') does not set up a passthrough cluster. +// # Required for multi-cluster communication and to preserve SNI. +// - name: ISTIO_META_ROUTER_MODE +// value: "sni-dnat" +// - name: AUTO_RELOAD_PLUGIN_CERTS +// value: "true" +// podAnnotations: +// proxy.istio.io/config: | +// proxyStatsMatcher: +// inclusionRegexps: +// - .*ext_authz.* +// service: +// type: LoadBalancer +// selector: +// istio: egressgateway +// # Default ports +// ports: +// # Port for health checks on path /healthz/ready. +// # For AWS ELBs, this port must be listed first. +// - port: 15021 +// targetPort: 15021 +// name: status-port +// # Port for multicluster mTLS passthrough +// # Required for Gloo egress routing +// - port: 15443 +// targetPort: 15443 +// # Gloo looks for this default name 'tls' on a gateway +// name: tls +// # Required for Istio mutual TLS +// - port: 443 +// targetPort: 8443 +// name: https +// ``` + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/gateway_lifecycle_manager.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The current state of the gateway installation. +type GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State int32 + +const ( + // Waiting for resources to be installed or updated. + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_PENDING GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 0 + // The Gloo management server encountered a problem while attempting + // to install the gateway. + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_FAILED GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 1 + // Could not select a istiod control plane. + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_NO_CONTROL_PLANE_AVAILABLE GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 2 + // The gateway is currently being installed. + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_INSTALLING_GATEWAY GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 3 + // All Istio components for the gateway are successfully installed and healthy. + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_HEALTHY GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 4 + // The gateway installation is no longer healthy. + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_UNHEALTHY GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 5 + // The gateway IstioOperator resource is in an 'ACTION_REQUIRED' state. Check the logs of the IstioOperator deployment for more info. + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_ACTION_REQUIRED GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 6 + // The gateway IstioOperator resource is in an 'UPDATING' state. + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_UPDATING_GATEWAY GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 7 + // The gateway IstioOperator resource is in a 'RECONCILING' state. + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_RECONCILING_GATEWAY GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 8 + // The gateway installation state could not be determined. + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_UNKNOWN GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 9 + // The gateway is currently being uninstalled. + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_UNINSTALLING_GATEWAY GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 10 + // The gateway is uninstalled. + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_UNINSTALLED_GATEWAY GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 11 +) + +// Enum value maps for GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State. +var ( + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State_name = map[int32]string{ + 0: "PENDING", + 1: "FAILED", + 2: "NO_CONTROL_PLANE_AVAILABLE", + 3: "INSTALLING_GATEWAY", + 4: "HEALTHY", + 5: "UNHEALTHY", + 6: "ACTION_REQUIRED", + 7: "UPDATING_GATEWAY", + 8: "RECONCILING_GATEWAY", + 9: "UNKNOWN", + 10: "UNINSTALLING_GATEWAY", + 11: "UNINSTALLED_GATEWAY", + } + GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State_value = map[string]int32{ + "PENDING": 0, + "FAILED": 1, + "NO_CONTROL_PLANE_AVAILABLE": 2, + "INSTALLING_GATEWAY": 3, + "HEALTHY": 4, + "UNHEALTHY": 5, + "ACTION_REQUIRED": 6, + "UPDATING_GATEWAY": 7, + "RECONCILING_GATEWAY": 8, + "UNKNOWN": 9, + "UNINSTALLING_GATEWAY": 10, + "UNINSTALLED_GATEWAY": 11, + } +) + +func (x GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) Enum() *GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State { + p := new(GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) + *p = x + return p +} + +func (x GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_enumTypes[0].Descriptor() +} + +func (GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_enumTypes[0] +} + +func (x GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State.Descriptor instead. +func (GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescGZIP(), []int{3, 1, 1, 0} +} + +// Specifications for the `GatewayLifecycleManager` resource. +type GatewayLifecycleManagerSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of Istio gateway installations. + Installations []*GatewayInstallation `protobuf:"bytes,1,rep,name=installations,proto3" json:"installations,omitempty"` +} + +func (x *GatewayLifecycleManagerSpec) Reset() { + *x = GatewayLifecycleManagerSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GatewayLifecycleManagerSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GatewayLifecycleManagerSpec) ProtoMessage() {} + +func (x *GatewayLifecycleManagerSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GatewayLifecycleManagerSpec.ProtoReflect.Descriptor instead. +func (*GatewayLifecycleManagerSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescGZIP(), []int{0} +} + +func (x *GatewayLifecycleManagerSpec) GetInstallations() []*GatewayInstallation { + if x != nil { + return x.Installations + } + return nil +} + +// Clusters to install the Istio gateways in. +type GatewayClusterSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the cluster to install the gateway into. + // Must match the name of the cluster that you used when you registered the cluster with Gloo. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional: Defaults to false. + // When set to true, the gateway installation for this revision is applied as the active gateway through which primary service traffic is routed in the cluster. + // If the `istioOperatorSpec` defines a service, this field switches the service selectors to the revision specified in the `gatewayRevsion`. + // You might change this setting for gateway installations during a canary upgrade. + // For more info, see the [upgrade docs](https://docs.solo.io/gloo-mesh-enterprise/main/setup/upgrade/gloo_mesh_managed_upgrade/). + ActiveGateway bool `protobuf:"varint,2,opt,name=active_gateway,json=activeGateway,proto3" json:"active_gateway,omitempty"` + // Optional: By default, the `trustDomain` value in the `meshConfig` section of the operator spec is automatically set by the Gloo to the name of each workload cluster. + // To override the `trustDomain` for each cluster, you can instead specify the override value by using this `trustDomain` field, + // and include the value in the list of cluster names. For example, if you specify `meshConfig.trustDomain: cluster1-trust-override` in your operator spec, + // you then specify both the cluster name (`name: cluster1`) and the trust domain (`trustDomain: cluster1-trust-override`) in this `installations.clusters` section. + // Additionally, because Gloo requires multiple trust domains for east-west routing, the `PILOT_SKIP_VALIDATE_TRUST_DOMAIN` field is set to `"true"` by default. + // For more info, see the [Istio documentation](https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1). + TrustDomain string `protobuf:"bytes,5,opt,name=trust_domain,json=trustDomain,proto3" json:"trust_domain,omitempty"` +} + +func (x *GatewayClusterSelector) Reset() { + *x = GatewayClusterSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GatewayClusterSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GatewayClusterSelector) ProtoMessage() {} + +func (x *GatewayClusterSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GatewayClusterSelector.ProtoReflect.Descriptor instead. +func (*GatewayClusterSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescGZIP(), []int{1} +} + +func (x *GatewayClusterSelector) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GatewayClusterSelector) GetActiveGateway() bool { + if x != nil { + return x.ActiveGateway + } + return false +} + +func (x *GatewayClusterSelector) GetTrustDomain() string { + if x != nil { + return x.TrustDomain + } + return "" +} + +// List of Istio gateway installations. +// Any components that are not related to the gateway are ignored. +// You can provide only one type of gateway installation per revision in a cluster. +// For example, in a workload cluster `cluster2`, you can install only one east-west +// gateway that runs revision `1-19-5`. +type GatewayInstallation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: The revision of an Istio control plane in the cluster that this gateway should also use. + // If a control plane installation of this revision is not found, no gateway is created. + ControlPlaneRevision string `protobuf:"bytes,1,opt,name=control_plane_revision,json=controlPlaneRevision,proto3" json:"control_plane_revision,omitempty"` + // Istio revision for this gateway installation. + // When set to `auto`, Gloo installs the gateway with the default supported version of Solo Istio. + GatewayRevision string `protobuf:"bytes,2,opt,name=gateway_revision,json=gatewayRevision,proto3" json:"gateway_revision,omitempty"` + // Clusters to install the Istio gateways in. + Clusters []*GatewayClusterSelector `protobuf:"bytes,3,rep,name=clusters,proto3" json:"clusters,omitempty"` + // IstioOperator specification for the gateway. + // For more info, see the [Istio documentation](https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1/). + IstioOperatorSpec *v2.IstioOperatorSpec `protobuf:"bytes,4,opt,name=istio_operator_spec,json=istioOperatorSpec,proto3" json:"istio_operator_spec,omitempty"` + // When set to true, the lifecycle manager allows you to perform + // in-place upgrades by skipping checks that are required for canary upgrades. + // In production environments, canary upgrades are recommended for + // updating the minor version. To update the patch version or make + // configuration changes within the same version, you can use in-place upgrades. + // Be sure to test in-place upgrades in development or staging environments first. + SkipUpgradeValidation bool `protobuf:"varint,5,opt,name=skip_upgrade_validation,json=skipUpgradeValidation,proto3" json:"skip_upgrade_validation,omitempty"` +} + +func (x *GatewayInstallation) Reset() { + *x = GatewayInstallation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GatewayInstallation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GatewayInstallation) ProtoMessage() {} + +func (x *GatewayInstallation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GatewayInstallation.ProtoReflect.Descriptor instead. +func (*GatewayInstallation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescGZIP(), []int{2} +} + +func (x *GatewayInstallation) GetControlPlaneRevision() string { + if x != nil { + return x.ControlPlaneRevision + } + return "" +} + +func (x *GatewayInstallation) GetGatewayRevision() string { + if x != nil { + return x.GatewayRevision + } + return "" +} + +func (x *GatewayInstallation) GetClusters() []*GatewayClusterSelector { + if x != nil { + return x.Clusters + } + return nil +} + +func (x *GatewayInstallation) GetIstioOperatorSpec() *v2.IstioOperatorSpec { + if x != nil { + return x.IstioOperatorSpec + } + return nil +} + +func (x *GatewayInstallation) GetSkipUpgradeValidation() bool { + if x != nil { + return x.SkipUpgradeValidation + } + return false +} + +// The status of the `GatewayLifecycleManager` resource after you apply it to your Gloo environment. +type GatewayLifecycleManagerStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of clusters where Gloo manages Istio gateway installations. + Clusters map[string]*GatewayLifecycleManagerStatus_ClusterStatuses `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *GatewayLifecycleManagerStatus) Reset() { + *x = GatewayLifecycleManagerStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GatewayLifecycleManagerStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GatewayLifecycleManagerStatus) ProtoMessage() {} + +func (x *GatewayLifecycleManagerStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GatewayLifecycleManagerStatus.ProtoReflect.Descriptor instead. +func (*GatewayLifecycleManagerStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescGZIP(), []int{3} +} + +func (x *GatewayLifecycleManagerStatus) GetClusters() map[string]*GatewayLifecycleManagerStatus_ClusterStatuses { + if x != nil { + return x.Clusters + } + return nil +} + +// $hide_from_docs +type GatewayLifecycleManagerNewStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GatewayLifecycleManagerNewStatus) Reset() { + *x = GatewayLifecycleManagerNewStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GatewayLifecycleManagerNewStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GatewayLifecycleManagerNewStatus) ProtoMessage() {} + +func (x *GatewayLifecycleManagerNewStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GatewayLifecycleManagerNewStatus.ProtoReflect.Descriptor instead. +func (*GatewayLifecycleManagerNewStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescGZIP(), []int{4} +} + +// $hide_from_docs +type GatewayLifecycleManagerReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GatewayLifecycleManagerReport) Reset() { + *x = GatewayLifecycleManagerReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GatewayLifecycleManagerReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GatewayLifecycleManagerReport) ProtoMessage() {} + +func (x *GatewayLifecycleManagerReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GatewayLifecycleManagerReport.ProtoReflect.Descriptor instead. +func (*GatewayLifecycleManagerReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescGZIP(), []int{5} +} + +// The list of clusters where Gloo manages Istio gateway installations. +type GatewayLifecycleManagerStatus_ClusterStatuses struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Istio gateway installations in the cluster, listed by revision. + Installations map[string]*GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus `protobuf:"bytes,1,rep,name=installations,proto3" json:"installations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *GatewayLifecycleManagerStatus_ClusterStatuses) Reset() { + *x = GatewayLifecycleManagerStatus_ClusterStatuses{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GatewayLifecycleManagerStatus_ClusterStatuses) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GatewayLifecycleManagerStatus_ClusterStatuses) ProtoMessage() {} + +func (x *GatewayLifecycleManagerStatus_ClusterStatuses) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GatewayLifecycleManagerStatus_ClusterStatuses.ProtoReflect.Descriptor instead. +func (*GatewayLifecycleManagerStatus_ClusterStatuses) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescGZIP(), []int{3, 1} +} + +func (x *GatewayLifecycleManagerStatus_ClusterStatuses) GetInstallations() map[string]*GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus { + if x != nil { + return x.Installations + } + return nil +} + +// The status of the gateway installation. +type GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The current state of the gateway installation. + State GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=admin.gloo.solo.io.GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State" json:"state,omitempty"` + // A human-readable message about the current state of the installation. + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + // The observed revision of the gateway installation. + ObservedRevision string `protobuf:"bytes,5,opt,name=observed_revision,json=observedRevision,proto3" json:"observed_revision,omitempty"` + // The IstioOperator spec that is currently deployed for this revision. + ObservedOperator *v2.IstioOperatorSpec `protobuf:"bytes,4,opt,name=observed_operator,json=observedOperator,proto3" json:"observed_operator,omitempty"` +} + +func (x *GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) Reset() { + *x = GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) ProtoMessage() {} + +func (x *GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus.ProtoReflect.Descriptor instead. +func (*GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescGZIP(), []int{3, 1, 1} +} + +func (x *GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) GetState() GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State { + if x != nil { + return x.State + } + return GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_PENDING +} + +func (x *GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) GetObservedRevision() string { + if x != nil { + return x.ObservedRevision + } + return "" +} + +func (x *GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) GetObservedOperator() *v2.IstioOperatorSpec { + if x != nil { + return x.ObservedOperator + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDesc = []byte{ + 0x0a, 0x61, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x6c, 0x69, 0x66, 0x65, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, + 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, + 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x1b, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x4d, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x22, 0x76, 0x0a, 0x16, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x74, 0x72, 0x75, 0x73, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0xce, 0x02, 0x0a, 0x13, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, + 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x67, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x56, 0x0a, 0x13, + 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, + 0x63, 0x52, 0x11, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x75, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x6b, 0x69, 0x70, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc5, 0x08, 0x0a, + 0x1d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5b, + 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3f, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x66, + 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x7e, 0x0a, 0x0d, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x57, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xc6, 0x06, 0x0a, 0x0f, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, + 0x7a, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x96, 0x01, 0x0a, 0x12, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x6a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x9d, 0x04, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x70, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5a, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x11, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, + 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x10, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xf8, 0x01, 0x0a, 0x05, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, + 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, + 0x4e, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x45, + 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, + 0x41, 0x59, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, + 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x05, + 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, + 0x52, 0x45, 0x44, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, + 0x47, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x52, + 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, + 0x41, 0x59, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, + 0x09, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x49, 0x4e, + 0x47, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, 0x10, 0x0a, 0x12, 0x17, 0x0a, 0x13, 0x55, + 0x4e, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, + 0x41, 0x59, 0x10, 0x0b, 0x22, 0x22, 0x0a, 0x20, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, + 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, + 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x53, 0x5a, 0x45, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_goTypes = []interface{}{ + (GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State)(0), // 0: admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClusterStatuses.InstallationStatus.State + (*GatewayLifecycleManagerSpec)(nil), // 1: admin.gloo.solo.io.GatewayLifecycleManagerSpec + (*GatewayClusterSelector)(nil), // 2: admin.gloo.solo.io.GatewayClusterSelector + (*GatewayInstallation)(nil), // 3: admin.gloo.solo.io.GatewayInstallation + (*GatewayLifecycleManagerStatus)(nil), // 4: admin.gloo.solo.io.GatewayLifecycleManagerStatus + (*GatewayLifecycleManagerNewStatus)(nil), // 5: admin.gloo.solo.io.GatewayLifecycleManagerNewStatus + (*GatewayLifecycleManagerReport)(nil), // 6: admin.gloo.solo.io.GatewayLifecycleManagerReport + nil, // 7: admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClustersEntry + (*GatewayLifecycleManagerStatus_ClusterStatuses)(nil), // 8: admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClusterStatuses + nil, // 9: admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClusterStatuses.InstallationsEntry + (*GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus)(nil), // 10: admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClusterStatuses.InstallationStatus + (*v2.IstioOperatorSpec)(nil), // 11: common.gloo.solo.io.IstioOperatorSpec +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_depIdxs = []int32{ + 3, // 0: admin.gloo.solo.io.GatewayLifecycleManagerSpec.installations:type_name -> admin.gloo.solo.io.GatewayInstallation + 2, // 1: admin.gloo.solo.io.GatewayInstallation.clusters:type_name -> admin.gloo.solo.io.GatewayClusterSelector + 11, // 2: admin.gloo.solo.io.GatewayInstallation.istio_operator_spec:type_name -> common.gloo.solo.io.IstioOperatorSpec + 7, // 3: admin.gloo.solo.io.GatewayLifecycleManagerStatus.clusters:type_name -> admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClustersEntry + 8, // 4: admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClustersEntry.value:type_name -> admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClusterStatuses + 9, // 5: admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClusterStatuses.installations:type_name -> admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClusterStatuses.InstallationsEntry + 10, // 6: admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClusterStatuses.InstallationsEntry.value:type_name -> admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClusterStatuses.InstallationStatus + 0, // 7: admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClusterStatuses.InstallationStatus.state:type_name -> admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClusterStatuses.InstallationStatus.State + 11, // 8: admin.gloo.solo.io.GatewayLifecycleManagerStatus.ClusterStatuses.InstallationStatus.observed_operator:type_name -> common.gloo.solo.io.IstioOperatorSpec + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GatewayLifecycleManagerSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GatewayClusterSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GatewayInstallation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GatewayLifecycleManagerStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GatewayLifecycleManagerNewStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GatewayLifecycleManagerReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GatewayLifecycleManagerStatus_ClusterStatuses); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDesc, + NumEnums: 1, + NumMessages: 10, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_gateway_lifecycle_manager_proto_depIdxs = nil +} diff --git a/client-go/admin.gloo.solo.io/v2/gateway_lifecycle_manager.pb.hash.go b/client-go/admin.gloo.solo.io/v2/gateway_lifecycle_manager.pb.hash.go new file mode 100644 index 000000000..e74de8b52 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/gateway_lifecycle_manager.pb.hash.go @@ -0,0 +1,359 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/gateway_lifecycle_manager.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *GatewayLifecycleManagerSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.GatewayLifecycleManagerSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetInstallations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GatewayClusterSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.GatewayClusterSelector")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetActiveGateway()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTrustDomain())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GatewayInstallation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.GatewayInstallation")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetControlPlaneRevision())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetGatewayRevision())); err != nil { + return 0, err + } + + for _, v := range m.GetClusters() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetIstioOperatorSpec()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("IstioOperatorSpec")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIstioOperatorSpec(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("IstioOperatorSpec")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSkipUpgradeValidation()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GatewayLifecycleManagerStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.GatewayLifecycleManagerStatus")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetClusters() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GatewayLifecycleManagerNewStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.GatewayLifecycleManagerNewStatus")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GatewayLifecycleManagerReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.GatewayLifecycleManagerReport")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GatewayLifecycleManagerStatus_ClusterStatuses) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.GatewayLifecycleManagerStatus_ClusterStatuses")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetInstallations() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.GatewayLifecycleManagerStatus_ClusterStatuses_InstallationStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMessage())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetObservedRevision())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetObservedOperator()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ObservedOperator")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetObservedOperator(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ObservedOperator")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/admin.gloo.solo.io/v2/istio_lifecycle_manager.pb.clone.go b/client-go/admin.gloo.solo.io/v2/istio_lifecycle_manager.pb.clone.go new file mode 100644 index 000000000..e0873c603 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/istio_lifecycle_manager.pb.clone.go @@ -0,0 +1,261 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/istio_lifecycle_manager.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + + k8s_io_api_core_v1 "k8s.io/api/core/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *IstioLifecycleManagerSpec) Clone() proto.Message { + var target *IstioLifecycleManagerSpec + if m == nil { + return target + } + target = &IstioLifecycleManagerSpec{} + + if m.GetInstallations() != nil { + target.Installations = make([]*IstioInstallation, len(m.GetInstallations())) + for idx, v := range m.GetInstallations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Installations[idx] = h.Clone().(*IstioInstallation) + } else { + target.Installations[idx] = proto.Clone(v).(*IstioInstallation) + } + + } + } + + return target +} + +// Clone function +func (m *IstioClusterSelector) Clone() proto.Message { + var target *IstioClusterSelector + if m == nil { + return target + } + target = &IstioClusterSelector{} + + target.Name = m.GetName() + + target.DefaultRevision = m.GetDefaultRevision() + + target.TrustDomain = m.GetTrustDomain() + + return target +} + +// Clone function +func (m *IstioController) Clone() proto.Message { + var target *IstioController + if m == nil { + return target + } + target = &IstioController{} + + target.WaitForResourcesTimeout = m.GetWaitForResourcesTimeout() + + if m.GetImagePullSecrets() != nil { + target.ImagePullSecrets = make([]*k8s_io_api_core_v1.LocalObjectReference, len(m.GetImagePullSecrets())) + for idx, v := range m.GetImagePullSecrets() { + + target.ImagePullSecrets[idx] = v.DeepCopy() + + } + } + + if h, ok := interface{}(m.GetResources()).(clone.Cloner); ok { + target.Resources = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Resources) + } else { + target.Resources = proto.Clone(m.GetResources()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Resources) + } + + target.SecurityContext = m.GetSecurityContext().DeepCopy() + + if m.GetLabels() != nil { + target.Labels = make(map[string]string, len(m.GetLabels())) + for k, v := range m.GetLabels() { + + target.Labels[k] = v + + } + } + + if m.GetAnnotations() != nil { + target.Annotations = make(map[string]string, len(m.GetAnnotations())) + for k, v := range m.GetAnnotations() { + + target.Annotations[k] = v + + } + } + + if m.GetEnvVars() != nil { + target.EnvVars = make([]*k8s_io_api_core_v1.EnvVar, len(m.GetEnvVars())) + for idx, v := range m.GetEnvVars() { + + target.EnvVars[idx] = v.DeepCopy() + + } + } + + return target +} + +// Clone function +func (m *IstioInstallation) Clone() proto.Message { + var target *IstioInstallation + if m == nil { + return target + } + target = &IstioInstallation{} + + target.Revision = m.GetRevision() + + if m.GetClusters() != nil { + target.Clusters = make([]*IstioClusterSelector, len(m.GetClusters())) + for idx, v := range m.GetClusters() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Clusters[idx] = h.Clone().(*IstioClusterSelector) + } else { + target.Clusters[idx] = proto.Clone(v).(*IstioClusterSelector) + } + + } + } + + if h, ok := interface{}(m.GetIstioOperatorSpec()).(clone.Cloner); ok { + target.IstioOperatorSpec = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IstioOperatorSpec) + } else { + target.IstioOperatorSpec = proto.Clone(m.GetIstioOperatorSpec()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IstioOperatorSpec) + } + + if h, ok := interface{}(m.GetIstioController()).(clone.Cloner); ok { + target.IstioController = h.Clone().(*IstioController) + } else { + target.IstioController = proto.Clone(m.GetIstioController()).(*IstioController) + } + + target.SkipUpgradeValidation = m.GetSkipUpgradeValidation() + + return target +} + +// Clone function +func (m *IstioLifecycleManagerStatus) Clone() proto.Message { + var target *IstioLifecycleManagerStatus + if m == nil { + return target + } + target = &IstioLifecycleManagerStatus{} + + if m.GetClusters() != nil { + target.Clusters = make(map[string]*IstioLifecycleManagerStatus_ClusterStatuses, len(m.GetClusters())) + for k, v := range m.GetClusters() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Clusters[k] = h.Clone().(*IstioLifecycleManagerStatus_ClusterStatuses) + } else { + target.Clusters[k] = proto.Clone(v).(*IstioLifecycleManagerStatus_ClusterStatuses) + } + + } + } + + return target +} + +// Clone function +func (m *IstioLifecycleManagerNewStatus) Clone() proto.Message { + var target *IstioLifecycleManagerNewStatus + if m == nil { + return target + } + target = &IstioLifecycleManagerNewStatus{} + + return target +} + +// Clone function +func (m *IstioLifecycleManagerReport) Clone() proto.Message { + var target *IstioLifecycleManagerReport + if m == nil { + return target + } + target = &IstioLifecycleManagerReport{} + + return target +} + +// Clone function +func (m *IstioLifecycleManagerStatus_ClusterStatuses) Clone() proto.Message { + var target *IstioLifecycleManagerStatus_ClusterStatuses + if m == nil { + return target + } + target = &IstioLifecycleManagerStatus_ClusterStatuses{} + + if m.GetInstallations() != nil { + target.Installations = make(map[string]*IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus, len(m.GetInstallations())) + for k, v := range m.GetInstallations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Installations[k] = h.Clone().(*IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) + } else { + target.Installations[k] = proto.Clone(v).(*IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) + } + + } + } + + return target +} + +// Clone function +func (m *IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) Clone() proto.Message { + var target *IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus + if m == nil { + return target + } + target = &IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus{} + + target.State = m.GetState() + + target.Message = m.GetMessage() + + target.ObservedRevision = m.GetObservedRevision() + + if h, ok := interface{}(m.GetObservedOperator()).(clone.Cloner); ok { + target.ObservedOperator = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IstioOperatorSpec) + } else { + target.ObservedOperator = proto.Clone(m.GetObservedOperator()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IstioOperatorSpec) + } + + return target +} diff --git a/client-go/admin.gloo.solo.io/v2/istio_lifecycle_manager.pb.equal.go b/client-go/admin.gloo.solo.io/v2/istio_lifecycle_manager.pb.equal.go new file mode 100644 index 000000000..4dee4b2ea --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/istio_lifecycle_manager.pb.equal.go @@ -0,0 +1,452 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/istio_lifecycle_manager.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *IstioLifecycleManagerSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IstioLifecycleManagerSpec) + if !ok { + that2, ok := that.(IstioLifecycleManagerSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetInstallations()) != len(target.GetInstallations()) { + return false + } + for idx, v := range m.GetInstallations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetInstallations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetInstallations()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *IstioClusterSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IstioClusterSelector) + if !ok { + that2, ok := that.(IstioClusterSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if m.GetDefaultRevision() != target.GetDefaultRevision() { + return false + } + + if strings.Compare(m.GetTrustDomain(), target.GetTrustDomain()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *IstioController) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IstioController) + if !ok { + that2, ok := that.(IstioController) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetWaitForResourcesTimeout(), target.GetWaitForResourcesTimeout()) != 0 { + return false + } + + if len(m.GetImagePullSecrets()) != len(target.GetImagePullSecrets()) { + return false + } + for idx, v := range m.GetImagePullSecrets() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetImagePullSecrets()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetImagePullSecrets()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetResources()).(equality.Equalizer); ok { + if !h.Equal(target.GetResources()) { + return false + } + } else { + if !proto.Equal(m.GetResources(), target.GetResources()) { + return false + } + } + + if h, ok := interface{}(m.GetSecurityContext()).(equality.Equalizer); ok { + if !h.Equal(target.GetSecurityContext()) { + return false + } + } else { + if !proto.Equal(m.GetSecurityContext(), target.GetSecurityContext()) { + return false + } + } + + if len(m.GetLabels()) != len(target.GetLabels()) { + return false + } + for k, v := range m.GetLabels() { + + if strings.Compare(v, target.GetLabels()[k]) != 0 { + return false + } + + } + + if len(m.GetAnnotations()) != len(target.GetAnnotations()) { + return false + } + for k, v := range m.GetAnnotations() { + + if strings.Compare(v, target.GetAnnotations()[k]) != 0 { + return false + } + + } + + if len(m.GetEnvVars()) != len(target.GetEnvVars()) { + return false + } + for idx, v := range m.GetEnvVars() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetEnvVars()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetEnvVars()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *IstioInstallation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IstioInstallation) + if !ok { + that2, ok := that.(IstioInstallation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetRevision(), target.GetRevision()) != 0 { + return false + } + + if len(m.GetClusters()) != len(target.GetClusters()) { + return false + } + for idx, v := range m.GetClusters() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetClusters()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetClusters()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetIstioOperatorSpec()).(equality.Equalizer); ok { + if !h.Equal(target.GetIstioOperatorSpec()) { + return false + } + } else { + if !proto.Equal(m.GetIstioOperatorSpec(), target.GetIstioOperatorSpec()) { + return false + } + } + + if h, ok := interface{}(m.GetIstioController()).(equality.Equalizer); ok { + if !h.Equal(target.GetIstioController()) { + return false + } + } else { + if !proto.Equal(m.GetIstioController(), target.GetIstioController()) { + return false + } + } + + if m.GetSkipUpgradeValidation() != target.GetSkipUpgradeValidation() { + return false + } + + return true +} + +// Equal function +func (m *IstioLifecycleManagerStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IstioLifecycleManagerStatus) + if !ok { + that2, ok := that.(IstioLifecycleManagerStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetClusters()) != len(target.GetClusters()) { + return false + } + for k, v := range m.GetClusters() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetClusters()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetClusters()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *IstioLifecycleManagerNewStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IstioLifecycleManagerNewStatus) + if !ok { + that2, ok := that.(IstioLifecycleManagerNewStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *IstioLifecycleManagerReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IstioLifecycleManagerReport) + if !ok { + that2, ok := that.(IstioLifecycleManagerReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *IstioLifecycleManagerStatus_ClusterStatuses) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IstioLifecycleManagerStatus_ClusterStatuses) + if !ok { + that2, ok := that.(IstioLifecycleManagerStatus_ClusterStatuses) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetInstallations()) != len(target.GetInstallations()) { + return false + } + for k, v := range m.GetInstallations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetInstallations()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetInstallations()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) + if !ok { + that2, ok := that.(IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + if strings.Compare(m.GetMessage(), target.GetMessage()) != 0 { + return false + } + + if strings.Compare(m.GetObservedRevision(), target.GetObservedRevision()) != 0 { + return false + } + + if h, ok := interface{}(m.GetObservedOperator()).(equality.Equalizer); ok { + if !h.Equal(target.GetObservedOperator()) { + return false + } + } else { + if !proto.Equal(m.GetObservedOperator(), target.GetObservedOperator()) { + return false + } + } + + return true +} diff --git a/client-go/admin.gloo.solo.io/v2/istio_lifecycle_manager.pb.go b/client-go/admin.gloo.solo.io/v2/istio_lifecycle_manager.pb.go new file mode 100644 index 000000000..e11e2dbd7 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/istio_lifecycle_manager.pb.go @@ -0,0 +1,1170 @@ +// Use Gloo Platform to install Istio control planes in your workload clusters, +// as part of the Istio lifecycle management. +// In your `IstioLifecycleManager` resource, you provide `istiod` settings in an `IstioOperator` configuration. +// When you create the `IstioLifecycleManager` in your management cluster, Gloo translates the configuration +// into `istiod` control planes in your registered workload clusters for you. +// +// For more information, see the [Install Istio by using the Istio Lifecycle Manager]({{% versioned_link_path fromRoot="/setup/install/gloo_mesh_managed/" %}}) guide. +// +// **Example**: This example creates an `istiod` control plane in the `istio-system` namespace of two workload clusters +// (`$REMOTE_CLUSTER1` and `$REMOTE_CLUSTER2`). You supply the Solo Istio revision (`$REVISION`), image tag (`$ISTIO_IMAGE`), +// and repo key (`$REPO`). +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: IstioLifecycleManager +// metadata: +// name: istiod-control-plane +// namespace: gloo-mesh +// spec: +// installations: +// # The revision for this installation +// - revision: $REVISION +// # List all workload clusters to install Istio into +// clusters: +// - name: $REMOTE_CLUSTER1 +// # If set to true, the spec for this revision is applied in the cluster +// defaultRevision: true +// - name: $REMOTE_CLUSTER2 +// defaultRevision: true +// istioOperatorSpec: +// # Only the control plane components are installed +// # (https://istio.io/latest/docs/setup/additional-setup/config-profiles/) +// profile: minimal +// # Solo.io Istio distribution repository; required for Solo Istio. +// # You get the repo key from your Solo Account Representative. +// hub: $REPO +// # Any Solo Istio tag +// tag: $ISTIO_IMAGE +// namespace: istio-system +// # Mesh configuration +// meshConfig: +// # Enable access logging only if using. +// accessLogFile: /dev/stdout +// # Encoding for the proxy access log (TEXT or JSON). Default value is TEXT. +// accessLogEncoding: JSON +// # Enable span tracing only if using. +// enableTracing: true +// defaultConfig: +// # Wait for the istio-proxy to start before starting application pods +// holdApplicationUntilProxyStarts: true +// proxyMetadata: +// # For known hosts, enable the Istio agent to handle DNS requests for any custom ServiceEntry, such as non-Kubernetes services. +// # Unknown hosts are automatically resolved using upstream DNS servers in resolv.conf (for proxy-dns) +// ISTIO_META_DNS_CAPTURE: "true" +// # Set the default behavior of the sidecar for handling outbound traffic +// # from the application +// outboundTrafficPolicy: +// mode: ALLOW_ANY +// # The administrative root namespace for Istio configuration +// rootNamespace: istio-system +// # Set to the cluster name by default. +// trustDomain: ${CLUSTER_NAME} +// # Traffic management +// components: +// pilot: +// k8s: +// env: +// # Disable selecting workload entries for local service routing, so that Kubernetes +// # will not automatically match services to workload entries with matching selector labels. +// # Required for Gloo Mesh VirtualDestination functionality. +// # For more info, see https://istio.io/latest/docs/reference/commands/pilot-discovery/ +// - name: PILOT_ENABLE_K8S_SELECT_WORKLOAD_ENTRIES +// value: "false" +// # Skip the validation step for mTLS within the cluster. +// # This approach is not recommended if you integrated Istio with your own CA, +// # but is useful for PoCs or demos in which you use self-signed certificates. +// - name: PILOT_SKIP_VALIDATE_TRUST_DOMAIN +// value: "true" +// # Helm values overrides +// values: +// global: +// multiCluster: +// # Set to the cluster name by default. +// clusterName: $CLUSTER_NAME +// ``` + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/istio_lifecycle_manager.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + v1 "k8s.io/api/core/v1" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The current state of the Istio installation. +type IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State int32 + +const ( + // Waiting for resources to be installed or updated. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_PENDING IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 0 + // The Gloo management server encountered a problem while attempting + // to install Istio. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_FAILED IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 1 + // The controller is currently being installed. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_INSTALLING_CONTROLLER IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 2 + // The controller failed to install. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_CONTROLLER_INSTALL_FAILED IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 3 + // The Istio control plane is currently being installed. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_INSTALLING_CONTROL_PLANE IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 4 + // The Istio control plane failed to install. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_CONTROL_PLANE_INSTALL_FAILED IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 5 + // All Istio components are successfully installed and healthy. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_HEALTHY IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 6 + // The Istio installation is no longer healthy. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_UNHEALTHY IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 7 + // The control plane IstioOperator resource is in an 'ACTION_REQUIRED' state. Check the logs of the IstioOperator deployment for more info. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_ACTION_REQUIRED IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 8 + // The control plane IstioOperator resource is in an 'UPDATING' state. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_UPDATING_CONTROL_PLANE IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 9 + // The control plane IstioOperator resource is in a 'RECONCILING' state. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_RECONCILING_CONTROL_PLANE IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 10 + // The control plane installation state could not be determined. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_UNKNOWN IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 11 + // The Istio control plane is currently being uninstalled. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_UNINSTALLING_CONTROL_PLANE IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 12 + // The Istio control plane is uninstalled. + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_UNINSTALLED_CONTROL_PLANE IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State = 13 +) + +// Enum value maps for IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State. +var ( + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State_name = map[int32]string{ + 0: "PENDING", + 1: "FAILED", + 2: "INSTALLING_CONTROLLER", + 3: "CONTROLLER_INSTALL_FAILED", + 4: "INSTALLING_CONTROL_PLANE", + 5: "CONTROL_PLANE_INSTALL_FAILED", + 6: "HEALTHY", + 7: "UNHEALTHY", + 8: "ACTION_REQUIRED", + 9: "UPDATING_CONTROL_PLANE", + 10: "RECONCILING_CONTROL_PLANE", + 11: "UNKNOWN", + 12: "UNINSTALLING_CONTROL_PLANE", + 13: "UNINSTALLED_CONTROL_PLANE", + } + IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State_value = map[string]int32{ + "PENDING": 0, + "FAILED": 1, + "INSTALLING_CONTROLLER": 2, + "CONTROLLER_INSTALL_FAILED": 3, + "INSTALLING_CONTROL_PLANE": 4, + "CONTROL_PLANE_INSTALL_FAILED": 5, + "HEALTHY": 6, + "UNHEALTHY": 7, + "ACTION_REQUIRED": 8, + "UPDATING_CONTROL_PLANE": 9, + "RECONCILING_CONTROL_PLANE": 10, + "UNKNOWN": 11, + "UNINSTALLING_CONTROL_PLANE": 12, + "UNINSTALLED_CONTROL_PLANE": 13, + } +) + +func (x IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) Enum() *IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State { + p := new(IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) + *p = x + return p +} + +func (x IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_enumTypes[0].Descriptor() +} + +func (IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_enumTypes[0] +} + +func (x IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State.Descriptor instead. +func (IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescGZIP(), []int{4, 1, 1, 0} +} + +// Specifications for the `IstioLifecycleManager` resource. +type IstioLifecycleManagerSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of Istio control plane installations. + Installations []*IstioInstallation `protobuf:"bytes,1,rep,name=installations,proto3" json:"installations,omitempty"` +} + +func (x *IstioLifecycleManagerSpec) Reset() { + *x = IstioLifecycleManagerSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IstioLifecycleManagerSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IstioLifecycleManagerSpec) ProtoMessage() {} + +func (x *IstioLifecycleManagerSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IstioLifecycleManagerSpec.ProtoReflect.Descriptor instead. +func (*IstioLifecycleManagerSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescGZIP(), []int{0} +} + +func (x *IstioLifecycleManagerSpec) GetInstallations() []*IstioInstallation { + if x != nil { + return x.Installations + } + return nil +} + +// Clusters to install the Istio control planes in. +type IstioClusterSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the cluster to install Istio into. + // Must match the name of the cluster that you used when you registered the cluster with Gloo. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional: Defaults to false. + // When set to true, the installation for this revision is applied as the active Istio installation in the cluster. + // Resources with the `istio-injection=true` label entry use this revision. You might change this setting for Istio installations + // during a canary upgrade. For more info, see the [upgrade docs](https://docs.solo.io/gloo-mesh-enterprise/main/setup/upgrade/gloo_mesh_managed_upgrade/). + DefaultRevision bool `protobuf:"varint,2,opt,name=default_revision,json=defaultRevision,proto3" json:"default_revision,omitempty"` + // Optional: By default, the `trustDomain` value in the `meshConfig` section of the operator spec is automatically set by the Gloo to the name of each workload cluster. + // To override the `trustDomain` for each cluster, you can instead specify the override value by using this `trustDomain` field, + // and include the value in the list of cluster names. For example, if you specify `meshConfig.trustDomain: cluster1-trust-override` in your operator spec, + // you then specify both the cluster name (`name: cluster1`) and the trust domain (`trustDomain: cluster1-trust-override`) in this `installations.clusters` section. + // Additionally, because Gloo requires multiple trust domains for east-west routing, the `PILOT_SKIP_VALIDATE_TRUST_DOMAIN` field is set to `"true"` by default. + // For more info, see the [Istio documentation](https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1). + TrustDomain string `protobuf:"bytes,5,opt,name=trust_domain,json=trustDomain,proto3" json:"trust_domain,omitempty"` +} + +func (x *IstioClusterSelector) Reset() { + *x = IstioClusterSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IstioClusterSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IstioClusterSelector) ProtoMessage() {} + +func (x *IstioClusterSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IstioClusterSelector.ProtoReflect.Descriptor instead. +func (*IstioClusterSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescGZIP(), []int{1} +} + +func (x *IstioClusterSelector) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *IstioClusterSelector) GetDefaultRevision() bool { + if x != nil { + return x.DefaultRevision + } + return false +} + +func (x *IstioClusterSelector) GetTrustDomain() string { + if x != nil { + return x.TrustDomain + } + return "" +} + +type IstioController struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The amount of time to wait for resources in a component to become ready before giving up. Configured using a duration string. + // A duration string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, + // such as "300ms" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". + WaitForResourcesTimeout string `protobuf:"bytes,1,opt,name=wait_for_resources_timeout,json=waitForResourcesTimeout,proto3" json:"wait_for_resources_timeout,omitempty"` + // Names of image pull secrets to use to deploy the Istio controller. + // For more info, see the [Kubernetes docs](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-pod-that-uses-your-secret). + ImagePullSecrets []*v1.LocalObjectReference `protobuf:"bytes,2,rep,name=image_pull_secrets,json=imagePullSecrets,proto3" json:"image_pull_secrets,omitempty"` + // Override for resources allocated to the Istio controller deployment. + // For more info, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#example-1). + Resources *v2.Resources `protobuf:"bytes,3,opt,name=resources,proto3" json:"resources,omitempty"` + // Override for the pod's security context. For more info, see the + // [Kubernetes documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core). + SecurityContext *v1.SecurityContext `protobuf:"bytes,4,opt,name=security_context,json=securityContext,proto3" json:"security_context,omitempty"` + // Kubernetes pod/deployment/service labels. + Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Kubernetes pod/deployment/service annotations. + Annotations map[string]string `protobuf:"bytes,6,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Deployment environment variables. For more info, see the + // [Kubernetes docs](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/). + EnvVars []*v1.EnvVar `protobuf:"bytes,7,rep,name=env_vars,json=envVars,proto3" json:"env_vars,omitempty"` +} + +func (x *IstioController) Reset() { + *x = IstioController{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IstioController) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IstioController) ProtoMessage() {} + +func (x *IstioController) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IstioController.ProtoReflect.Descriptor instead. +func (*IstioController) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescGZIP(), []int{2} +} + +func (x *IstioController) GetWaitForResourcesTimeout() string { + if x != nil { + return x.WaitForResourcesTimeout + } + return "" +} + +func (x *IstioController) GetImagePullSecrets() []*v1.LocalObjectReference { + if x != nil { + return x.ImagePullSecrets + } + return nil +} + +func (x *IstioController) GetResources() *v2.Resources { + if x != nil { + return x.Resources + } + return nil +} + +func (x *IstioController) GetSecurityContext() *v1.SecurityContext { + if x != nil { + return x.SecurityContext + } + return nil +} + +func (x *IstioController) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *IstioController) GetAnnotations() map[string]string { + if x != nil { + return x.Annotations + } + return nil +} + +func (x *IstioController) GetEnvVars() []*v1.EnvVar { + if x != nil { + return x.EnvVars + } + return nil +} + +// List of Istio control plane installations. +// Any components that are NOT related to the control plane are ignored. +type IstioInstallation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Istio revision for this installation. + // Label workload resources with 'istio.io/rev=$REVISION' to use this installation. + // When set to `auto`, Gloo installs the control plane with the default supported version of Solo Istio. + Revision string `protobuf:"bytes,1,opt,name=revision,proto3" json:"revision,omitempty"` + // Clusters to install the Istio control planes in. + Clusters []*IstioClusterSelector `protobuf:"bytes,2,rep,name=clusters,proto3" json:"clusters,omitempty"` + // IstioOperator specification for the control plane. + // For more info, see the [Istio documentation](https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1/). + IstioOperatorSpec *v2.IstioOperatorSpec `protobuf:"bytes,3,opt,name=istio_operator_spec,json=istioOperatorSpec,proto3" json:"istio_operator_spec,omitempty"` + // Optional configuration to tune the deployment of the IstioOperator controller deployed to each workload cluster. + IstioController *IstioController `protobuf:"bytes,4,opt,name=istio_controller,json=istioController,proto3" json:"istio_controller,omitempty"` + // When set to true, the lifecycle manager allows you to perform + // in-place upgrades by skipping checks that are required for canary upgrades. + // In production environments, canary upgrades are recommended for + // updating the minor version. To update the patch version or make + // configuration changes within the same version, you can use in-place upgrades. + // Be sure to test in-place upgrades in development or staging environments first. + SkipUpgradeValidation bool `protobuf:"varint,5,opt,name=skip_upgrade_validation,json=skipUpgradeValidation,proto3" json:"skip_upgrade_validation,omitempty"` +} + +func (x *IstioInstallation) Reset() { + *x = IstioInstallation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IstioInstallation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IstioInstallation) ProtoMessage() {} + +func (x *IstioInstallation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IstioInstallation.ProtoReflect.Descriptor instead. +func (*IstioInstallation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescGZIP(), []int{3} +} + +func (x *IstioInstallation) GetRevision() string { + if x != nil { + return x.Revision + } + return "" +} + +func (x *IstioInstallation) GetClusters() []*IstioClusterSelector { + if x != nil { + return x.Clusters + } + return nil +} + +func (x *IstioInstallation) GetIstioOperatorSpec() *v2.IstioOperatorSpec { + if x != nil { + return x.IstioOperatorSpec + } + return nil +} + +func (x *IstioInstallation) GetIstioController() *IstioController { + if x != nil { + return x.IstioController + } + return nil +} + +func (x *IstioInstallation) GetSkipUpgradeValidation() bool { + if x != nil { + return x.SkipUpgradeValidation + } + return false +} + +// The status of the `IstioLifecycleManager` resource after you apply it to your Gloo environment. +type IstioLifecycleManagerStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of clusters where Gloo manages Istio installations. + Clusters map[string]*IstioLifecycleManagerStatus_ClusterStatuses `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *IstioLifecycleManagerStatus) Reset() { + *x = IstioLifecycleManagerStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IstioLifecycleManagerStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IstioLifecycleManagerStatus) ProtoMessage() {} + +func (x *IstioLifecycleManagerStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IstioLifecycleManagerStatus.ProtoReflect.Descriptor instead. +func (*IstioLifecycleManagerStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescGZIP(), []int{4} +} + +func (x *IstioLifecycleManagerStatus) GetClusters() map[string]*IstioLifecycleManagerStatus_ClusterStatuses { + if x != nil { + return x.Clusters + } + return nil +} + +// $hide_from_docs +type IstioLifecycleManagerNewStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *IstioLifecycleManagerNewStatus) Reset() { + *x = IstioLifecycleManagerNewStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IstioLifecycleManagerNewStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IstioLifecycleManagerNewStatus) ProtoMessage() {} + +func (x *IstioLifecycleManagerNewStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IstioLifecycleManagerNewStatus.ProtoReflect.Descriptor instead. +func (*IstioLifecycleManagerNewStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescGZIP(), []int{5} +} + +// $hide_from_docs +type IstioLifecycleManagerReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *IstioLifecycleManagerReport) Reset() { + *x = IstioLifecycleManagerReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IstioLifecycleManagerReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IstioLifecycleManagerReport) ProtoMessage() {} + +func (x *IstioLifecycleManagerReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IstioLifecycleManagerReport.ProtoReflect.Descriptor instead. +func (*IstioLifecycleManagerReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescGZIP(), []int{6} +} + +// The list of clusters where Gloo manages Istio installations. +type IstioLifecycleManagerStatus_ClusterStatuses struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Istio installations in the cluster, listed by revision. + Installations map[string]*IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus `protobuf:"bytes,1,rep,name=installations,proto3" json:"installations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *IstioLifecycleManagerStatus_ClusterStatuses) Reset() { + *x = IstioLifecycleManagerStatus_ClusterStatuses{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IstioLifecycleManagerStatus_ClusterStatuses) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IstioLifecycleManagerStatus_ClusterStatuses) ProtoMessage() {} + +func (x *IstioLifecycleManagerStatus_ClusterStatuses) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IstioLifecycleManagerStatus_ClusterStatuses.ProtoReflect.Descriptor instead. +func (*IstioLifecycleManagerStatus_ClusterStatuses) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescGZIP(), []int{4, 1} +} + +func (x *IstioLifecycleManagerStatus_ClusterStatuses) GetInstallations() map[string]*IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus { + if x != nil { + return x.Installations + } + return nil +} + +// The status of the installation. +type IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The current state of the Istio installation. + State IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=admin.gloo.solo.io.IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State" json:"state,omitempty"` + // A human readable message about the current state of the installation. + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + // The observed revision of the Istio installation. + ObservedRevision string `protobuf:"bytes,5,opt,name=observed_revision,json=observedRevision,proto3" json:"observed_revision,omitempty"` + // The IstioOperator spec that is currently deployed for this revision. + ObservedOperator *v2.IstioOperatorSpec `protobuf:"bytes,4,opt,name=observed_operator,json=observedOperator,proto3" json:"observed_operator,omitempty"` +} + +func (x *IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) Reset() { + *x = IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) ProtoMessage() {} + +func (x *IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus.ProtoReflect.Descriptor instead. +func (*IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescGZIP(), []int{4, 1, 1} +} + +func (x *IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) GetState() IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State { + if x != nil { + return x.State + } + return IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_PENDING +} + +func (x *IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) GetObservedRevision() string { + if x != nil { + return x.ObservedRevision + } + return "" +} + +func (x *IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) GetObservedOperator() *v2.IstioOperatorSpec { + if x != nil { + return x.ObservedOperator + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDesc = []byte{ + 0x0a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x12, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x6b, 0x38, 0x73, 0x2e, + 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x76, 0x32, 0x2f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x19, 0x49, 0x73, 0x74, 0x69, 0x6f, + 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x4b, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x78, 0x0a, 0x14, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, + 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x74, 0x72, 0x75, 0x73, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x87, 0x05, 0x0a, 0x0f, + 0x49, 0x73, 0x74, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, + 0x3b, 0x0a, 0x1a, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x17, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x56, 0x0a, 0x12, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, + 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x10, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6b, + 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x56, 0x0a, 0x0b, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x34, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x56, 0x61, + 0x72, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd5, 0x02, 0x0a, 0x11, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, + 0x73, 0x74, 0x69, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x56, 0x0a, + 0x13, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x11, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4e, 0x0a, 0x10, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x0f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x75, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x6b, 0x69, 0x70, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x09, + 0x0a, 0x1b, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x59, 0x0a, + 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x7c, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x55, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x9a, 0x07, 0x0a, 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x78, 0x0a, 0x0d, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x52, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4c, 0x69, 0x66, 0x65, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x94, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x68, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xf5, 0x04, 0x0a, 0x12, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x6e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x58, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4c, 0x69, 0x66, 0x65, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, + 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x11, 0x6f, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x10, 0x6f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xd2, + 0x02, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, + 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, + 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, + 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, + 0x4c, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, + 0x4c, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, + 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, + 0x4c, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x48, + 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, + 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, + 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, + 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x09, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x43, 0x4f, + 0x4e, 0x43, 0x49, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, + 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, + 0x57, 0x4e, 0x10, 0x0b, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, + 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4c, 0x41, + 0x4e, 0x45, 0x10, 0x0c, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, + 0x4c, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4c, 0x41, 0x4e, + 0x45, 0x10, 0x0d, 0x22, 0x20, 0x0a, 0x1e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4c, 0x69, 0x66, 0x65, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, 0x65, 0x77, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4c, 0x69, + 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x42, 0x53, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, + 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_goTypes = []interface{}{ + (IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus_State)(0), // 0: admin.gloo.solo.io.IstioLifecycleManagerStatus.ClusterStatuses.InstallationStatus.State + (*IstioLifecycleManagerSpec)(nil), // 1: admin.gloo.solo.io.IstioLifecycleManagerSpec + (*IstioClusterSelector)(nil), // 2: admin.gloo.solo.io.IstioClusterSelector + (*IstioController)(nil), // 3: admin.gloo.solo.io.IstioController + (*IstioInstallation)(nil), // 4: admin.gloo.solo.io.IstioInstallation + (*IstioLifecycleManagerStatus)(nil), // 5: admin.gloo.solo.io.IstioLifecycleManagerStatus + (*IstioLifecycleManagerNewStatus)(nil), // 6: admin.gloo.solo.io.IstioLifecycleManagerNewStatus + (*IstioLifecycleManagerReport)(nil), // 7: admin.gloo.solo.io.IstioLifecycleManagerReport + nil, // 8: admin.gloo.solo.io.IstioController.LabelsEntry + nil, // 9: admin.gloo.solo.io.IstioController.AnnotationsEntry + nil, // 10: admin.gloo.solo.io.IstioLifecycleManagerStatus.ClustersEntry + (*IstioLifecycleManagerStatus_ClusterStatuses)(nil), // 11: admin.gloo.solo.io.IstioLifecycleManagerStatus.ClusterStatuses + nil, // 12: admin.gloo.solo.io.IstioLifecycleManagerStatus.ClusterStatuses.InstallationsEntry + (*IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus)(nil), // 13: admin.gloo.solo.io.IstioLifecycleManagerStatus.ClusterStatuses.InstallationStatus + (*v1.LocalObjectReference)(nil), // 14: k8s.io.api.core.v1.LocalObjectReference + (*v2.Resources)(nil), // 15: common.gloo.solo.io.Resources + (*v1.SecurityContext)(nil), // 16: k8s.io.api.core.v1.SecurityContext + (*v1.EnvVar)(nil), // 17: k8s.io.api.core.v1.EnvVar + (*v2.IstioOperatorSpec)(nil), // 18: common.gloo.solo.io.IstioOperatorSpec +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_depIdxs = []int32{ + 4, // 0: admin.gloo.solo.io.IstioLifecycleManagerSpec.installations:type_name -> admin.gloo.solo.io.IstioInstallation + 14, // 1: admin.gloo.solo.io.IstioController.image_pull_secrets:type_name -> k8s.io.api.core.v1.LocalObjectReference + 15, // 2: admin.gloo.solo.io.IstioController.resources:type_name -> common.gloo.solo.io.Resources + 16, // 3: admin.gloo.solo.io.IstioController.security_context:type_name -> k8s.io.api.core.v1.SecurityContext + 8, // 4: admin.gloo.solo.io.IstioController.labels:type_name -> admin.gloo.solo.io.IstioController.LabelsEntry + 9, // 5: admin.gloo.solo.io.IstioController.annotations:type_name -> admin.gloo.solo.io.IstioController.AnnotationsEntry + 17, // 6: admin.gloo.solo.io.IstioController.env_vars:type_name -> k8s.io.api.core.v1.EnvVar + 2, // 7: admin.gloo.solo.io.IstioInstallation.clusters:type_name -> admin.gloo.solo.io.IstioClusterSelector + 18, // 8: admin.gloo.solo.io.IstioInstallation.istio_operator_spec:type_name -> common.gloo.solo.io.IstioOperatorSpec + 3, // 9: admin.gloo.solo.io.IstioInstallation.istio_controller:type_name -> admin.gloo.solo.io.IstioController + 10, // 10: admin.gloo.solo.io.IstioLifecycleManagerStatus.clusters:type_name -> admin.gloo.solo.io.IstioLifecycleManagerStatus.ClustersEntry + 11, // 11: admin.gloo.solo.io.IstioLifecycleManagerStatus.ClustersEntry.value:type_name -> admin.gloo.solo.io.IstioLifecycleManagerStatus.ClusterStatuses + 12, // 12: admin.gloo.solo.io.IstioLifecycleManagerStatus.ClusterStatuses.installations:type_name -> admin.gloo.solo.io.IstioLifecycleManagerStatus.ClusterStatuses.InstallationsEntry + 13, // 13: admin.gloo.solo.io.IstioLifecycleManagerStatus.ClusterStatuses.InstallationsEntry.value:type_name -> admin.gloo.solo.io.IstioLifecycleManagerStatus.ClusterStatuses.InstallationStatus + 0, // 14: admin.gloo.solo.io.IstioLifecycleManagerStatus.ClusterStatuses.InstallationStatus.state:type_name -> admin.gloo.solo.io.IstioLifecycleManagerStatus.ClusterStatuses.InstallationStatus.State + 18, // 15: admin.gloo.solo.io.IstioLifecycleManagerStatus.ClusterStatuses.InstallationStatus.observed_operator:type_name -> common.gloo.solo.io.IstioOperatorSpec + 16, // [16:16] is the sub-list for method output_type + 16, // [16:16] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IstioLifecycleManagerSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IstioClusterSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IstioController); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IstioInstallation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IstioLifecycleManagerStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IstioLifecycleManagerNewStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IstioLifecycleManagerReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IstioLifecycleManagerStatus_ClusterStatuses); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDesc, + NumEnums: 1, + NumMessages: 13, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_istio_lifecycle_manager_proto_depIdxs = nil +} diff --git a/client-go/admin.gloo.solo.io/v2/istio_lifecycle_manager.pb.hash.go b/client-go/admin.gloo.solo.io/v2/istio_lifecycle_manager.pb.hash.go new file mode 100644 index 000000000..caaa30afd --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/istio_lifecycle_manager.pb.hash.go @@ -0,0 +1,529 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/istio_lifecycle_manager.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *IstioLifecycleManagerSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.IstioLifecycleManagerSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetInstallations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IstioClusterSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.IstioClusterSelector")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetDefaultRevision()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTrustDomain())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IstioController) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.IstioController")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetWaitForResourcesTimeout())); err != nil { + return 0, err + } + + for _, v := range m.GetImagePullSecrets() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetResources()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Resources")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResources(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Resources")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetSecurityContext()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SecurityContext")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSecurityContext(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SecurityContext")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLabels() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAnnotations() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetEnvVars() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IstioInstallation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.IstioInstallation")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRevision())); err != nil { + return 0, err + } + + for _, v := range m.GetClusters() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetIstioOperatorSpec()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("IstioOperatorSpec")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIstioOperatorSpec(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("IstioOperatorSpec")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetIstioController()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("IstioController")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIstioController(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("IstioController")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSkipUpgradeValidation()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IstioLifecycleManagerStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.IstioLifecycleManagerStatus")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetClusters() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IstioLifecycleManagerNewStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.IstioLifecycleManagerNewStatus")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IstioLifecycleManagerReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.IstioLifecycleManagerReport")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IstioLifecycleManagerStatus_ClusterStatuses) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.IstioLifecycleManagerStatus_ClusterStatuses")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetInstallations() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.IstioLifecycleManagerStatus_ClusterStatuses_InstallationStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMessage())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetObservedRevision())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetObservedOperator()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ObservedOperator")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetObservedOperator(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ObservedOperator")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/admin.gloo.solo.io/v2/json.gen.go b/client-go/admin.gloo.solo.io/v2/json.gen.go new file mode 100644 index 000000000..7005707d3 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/json.gen.go @@ -0,0 +1,248 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for WorkspaceSpec +func (this *WorkspaceSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for WorkspaceSpec +func (this *WorkspaceSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for WorkspaceStatus +func (this *WorkspaceStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for WorkspaceStatus +func (this *WorkspaceStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for WorkspaceSettingsSpec +func (this *WorkspaceSettingsSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for WorkspaceSettingsSpec +func (this *WorkspaceSettingsSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for WorkspaceSettingsStatus +func (this *WorkspaceSettingsStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for WorkspaceSettingsStatus +func (this *WorkspaceSettingsStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for KubernetesClusterSpec +func (this *KubernetesClusterSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for KubernetesClusterSpec +func (this *KubernetesClusterSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for KubernetesClusterStatus +func (this *KubernetesClusterStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for KubernetesClusterStatus +func (this *KubernetesClusterStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RootTrustPolicySpec +func (this *RootTrustPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RootTrustPolicySpec +func (this *RootTrustPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RootTrustPolicyStatus +func (this *RootTrustPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RootTrustPolicyStatus +func (this *RootTrustPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ExtAuthServerSpec +func (this *ExtAuthServerSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ExtAuthServerSpec +func (this *ExtAuthServerSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ExtAuthServerStatus +func (this *ExtAuthServerStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ExtAuthServerStatus +func (this *ExtAuthServerStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RateLimitServerSettingsSpec +func (this *RateLimitServerSettingsSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RateLimitServerSettingsSpec +func (this *RateLimitServerSettingsSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RateLimitServerSettingsStatus +func (this *RateLimitServerSettingsStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RateLimitServerSettingsStatus +func (this *RateLimitServerSettingsStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RateLimitServerConfigSpec +func (this *RateLimitServerConfigSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RateLimitServerConfigSpec +func (this *RateLimitServerConfigSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RateLimitServerConfigStatus +func (this *RateLimitServerConfigStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RateLimitServerConfigStatus +func (this *RateLimitServerConfigStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for DashboardSpec +func (this *DashboardSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for DashboardSpec +func (this *DashboardSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for DashboardStatus +func (this *DashboardStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for DashboardStatus +func (this *DashboardStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for IstioLifecycleManagerSpec +func (this *IstioLifecycleManagerSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for IstioLifecycleManagerSpec +func (this *IstioLifecycleManagerSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for IstioLifecycleManagerStatus +func (this *IstioLifecycleManagerStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for IstioLifecycleManagerStatus +func (this *IstioLifecycleManagerStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for GatewayLifecycleManagerSpec +func (this *GatewayLifecycleManagerSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GatewayLifecycleManagerSpec +func (this *GatewayLifecycleManagerSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for GatewayLifecycleManagerStatus +func (this *GatewayLifecycleManagerStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GatewayLifecycleManagerStatus +func (this *GatewayLifecycleManagerStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/admin.gloo.solo.io/v2/kubernetes_cluster.pb.clone.go b/client-go/admin.gloo.solo.io/v2/kubernetes_cluster.pb.clone.go new file mode 100644 index 000000000..57c8520e2 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/kubernetes_cluster.pb.clone.go @@ -0,0 +1,75 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/kubernetes_cluster.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *KubernetesClusterSpec) Clone() proto.Message { + var target *KubernetesClusterSpec + if m == nil { + return target + } + target = &KubernetesClusterSpec{} + + target.ClusterDomain = m.GetClusterDomain() + + return target +} + +// Clone function +func (m *KubernetesClusterStatus) Clone() proto.Message { + var target *KubernetesClusterStatus + if m == nil { + return target + } + target = &KubernetesClusterStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + return target +} + +// Clone function +func (m *KubernetesClusterReport) Clone() proto.Message { + var target *KubernetesClusterReport + if m == nil { + return target + } + target = &KubernetesClusterReport{} + + if h, ok := interface{}(m.GetState()).(clone.Cloner); ok { + target.State = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.State) + } else { + target.State = proto.Clone(m.GetState()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.State) + } + + return target +} diff --git a/client-go/admin.gloo.solo.io/v2/kubernetes_cluster.pb.equal.go b/client-go/admin.gloo.solo.io/v2/kubernetes_cluster.pb.equal.go new file mode 100644 index 000000000..9a087f8fb --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/kubernetes_cluster.pb.equal.go @@ -0,0 +1,122 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/kubernetes_cluster.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *KubernetesClusterSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*KubernetesClusterSpec) + if !ok { + that2, ok := that.(KubernetesClusterSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClusterDomain(), target.GetClusterDomain()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *KubernetesClusterStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*KubernetesClusterStatus) + if !ok { + that2, ok := that.(KubernetesClusterStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + return true +} + +// Equal function +func (m *KubernetesClusterReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*KubernetesClusterReport) + if !ok { + that2, ok := that.(KubernetesClusterReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetState()).(equality.Equalizer); ok { + if !h.Equal(target.GetState()) { + return false + } + } else { + if !proto.Equal(m.GetState(), target.GetState()) { + return false + } + } + + return true +} diff --git a/client-go/admin.gloo.solo.io/v2/kubernetes_cluster.pb.go b/client-go/admin.gloo.solo.io/v2/kubernetes_cluster.pb.go new file mode 100644 index 000000000..de9521e0d --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/kubernetes_cluster.pb.go @@ -0,0 +1,350 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/kubernetes_cluster.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// `KubernetesCluster` defines a Kubernetes cluster that has been registered with Gloo Mesh for management. +// A KubernetesCluster must be created in order to connect the Gloo Mesh Agent +// with the Gloo Mesh Server. +// KubernetesCluster must be deployed to the management cluster in the `gloo-mesh` namespace. +// The name of the KubernetesCluster has to be unique among all managed workload clusters for a +// given Gloo Mesh management plane. +// The name or/and labels of a KubernetesCluster resource can be used in a Workspace resource to determine +// the workload clusters for a given workspace. +// +// The following example show a simple KubernetesCluster resource named `cluster1` with `cluster.local` +// as its cluster domain: +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: KubernetesCluster +// metadata: +// +// name: cluster1 +// namespace: gloo-mesh +// +// spec: +// +// clusterDomain: cluster.local +// +// ``` +// +// The following example adds the region label to the KubernetesCluster resource: +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: KubernetesCluster +// metadata: +// +// name: cluster1 +// namespace: gloo-mesh +// labels: +// region: us-east +// +// spec: +// +// clusterDomain: cluster.local +// +// ``` +type KubernetesClusterSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: The cluster domain suffix this Cluster is configured with. Defaults to 'cluster.local'. + ClusterDomain string `protobuf:"bytes,1,opt,name=cluster_domain,json=clusterDomain,proto3" json:"cluster_domain,omitempty"` +} + +func (x *KubernetesClusterSpec) Reset() { + *x = KubernetesClusterSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KubernetesClusterSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KubernetesClusterSpec) ProtoMessage() {} + +func (x *KubernetesClusterSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KubernetesClusterSpec.ProtoReflect.Descriptor instead. +func (*KubernetesClusterSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDescGZIP(), []int{0} +} + +func (x *KubernetesClusterSpec) GetClusterDomain() string { + if x != nil { + return x.ClusterDomain + } + return "" +} + +// // The status of the KubernetesCluster after it is applied to your Gloo environment. +type KubernetesClusterStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Indicates the state of the Gloo agent that is connected to the Gloo management server. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` +} + +func (x *KubernetesClusterStatus) Reset() { + *x = KubernetesClusterStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KubernetesClusterStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KubernetesClusterStatus) ProtoMessage() {} + +func (x *KubernetesClusterStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KubernetesClusterStatus.ProtoReflect.Descriptor instead. +func (*KubernetesClusterStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDescGZIP(), []int{1} +} + +func (x *KubernetesClusterStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +// The resources that the applied resource selects. +type KubernetesClusterReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State *v2.State `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` +} + +func (x *KubernetesClusterReport) Reset() { + *x = KubernetesClusterReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KubernetesClusterReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KubernetesClusterReport) ProtoMessage() {} + +func (x *KubernetesClusterReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KubernetesClusterReport.ProtoReflect.Descriptor instead. +func (*KubernetesClusterReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDescGZIP(), []int{2} +} + +func (x *KubernetesClusterReport) GetState() *v2.State { + if x != nil { + return x.State + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDesc = []byte{ + 0x0a, 0x5a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, + 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, + 0x0a, 0x15, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x4e, + 0x0a, 0x17, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x4b, + 0x0a, 0x17, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x53, 0x5a, 0x45, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_goTypes = []interface{}{ + (*KubernetesClusterSpec)(nil), // 0: admin.gloo.solo.io.KubernetesClusterSpec + (*KubernetesClusterStatus)(nil), // 1: admin.gloo.solo.io.KubernetesClusterStatus + (*KubernetesClusterReport)(nil), // 2: admin.gloo.solo.io.KubernetesClusterReport + (*v2.Status)(nil), // 3: common.gloo.solo.io.Status + (*v2.State)(nil), // 4: common.gloo.solo.io.State +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_depIdxs = []int32{ + 3, // 0: admin.gloo.solo.io.KubernetesClusterStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 1: admin.gloo.solo.io.KubernetesClusterReport.state:type_name -> common.gloo.solo.io.State + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KubernetesClusterSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KubernetesClusterStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KubernetesClusterReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_kubernetes_cluster_proto_depIdxs = nil +} diff --git a/client-go/admin.gloo.solo.io/v2/kubernetes_cluster.pb.hash.go b/client-go/admin.gloo.solo.io/v2/kubernetes_cluster.pb.hash.go new file mode 100644 index 000000000..e55773bf2 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/kubernetes_cluster.pb.hash.go @@ -0,0 +1,118 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/kubernetes_cluster.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *KubernetesClusterSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.KubernetesClusterSpec")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClusterDomain())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *KubernetesClusterStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.KubernetesClusterStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *KubernetesClusterReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.KubernetesClusterReport")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetState()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("State")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetState(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("State")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/admin.gloo.solo.io/v2/mocks/clients.go b/client-go/admin.gloo.solo.io/v2/mocks/clients.go new file mode 100644 index 000000000..0fe1b26ae --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/mocks/clients.go @@ -0,0 +1,5256 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2 is a generated GoMock package. +package mock_v2 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// Dashboards mocks base method. +func (m *MockClientset) Dashboards() v2.DashboardClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Dashboards") + ret0, _ := ret[0].(v2.DashboardClient) + return ret0 +} + +// Dashboards indicates an expected call of Dashboards. +func (mr *MockClientsetMockRecorder) Dashboards() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Dashboards", reflect.TypeOf((*MockClientset)(nil).Dashboards)) +} + +// ExtAuthServers mocks base method. +func (m *MockClientset) ExtAuthServers() v2.ExtAuthServerClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExtAuthServers") + ret0, _ := ret[0].(v2.ExtAuthServerClient) + return ret0 +} + +// ExtAuthServers indicates an expected call of ExtAuthServers. +func (mr *MockClientsetMockRecorder) ExtAuthServers() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExtAuthServers", reflect.TypeOf((*MockClientset)(nil).ExtAuthServers)) +} + +// GatewayLifecycleManagers mocks base method. +func (m *MockClientset) GatewayLifecycleManagers() v2.GatewayLifecycleManagerClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GatewayLifecycleManagers") + ret0, _ := ret[0].(v2.GatewayLifecycleManagerClient) + return ret0 +} + +// GatewayLifecycleManagers indicates an expected call of GatewayLifecycleManagers. +func (mr *MockClientsetMockRecorder) GatewayLifecycleManagers() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GatewayLifecycleManagers", reflect.TypeOf((*MockClientset)(nil).GatewayLifecycleManagers)) +} + +// IstioLifecycleManagers mocks base method. +func (m *MockClientset) IstioLifecycleManagers() v2.IstioLifecycleManagerClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "IstioLifecycleManagers") + ret0, _ := ret[0].(v2.IstioLifecycleManagerClient) + return ret0 +} + +// IstioLifecycleManagers indicates an expected call of IstioLifecycleManagers. +func (mr *MockClientsetMockRecorder) IstioLifecycleManagers() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IstioLifecycleManagers", reflect.TypeOf((*MockClientset)(nil).IstioLifecycleManagers)) +} + +// KubernetesClusters mocks base method. +func (m *MockClientset) KubernetesClusters() v2.KubernetesClusterClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "KubernetesClusters") + ret0, _ := ret[0].(v2.KubernetesClusterClient) + return ret0 +} + +// KubernetesClusters indicates an expected call of KubernetesClusters. +func (mr *MockClientsetMockRecorder) KubernetesClusters() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "KubernetesClusters", reflect.TypeOf((*MockClientset)(nil).KubernetesClusters)) +} + +// RateLimitServerConfigs mocks base method. +func (m *MockClientset) RateLimitServerConfigs() v2.RateLimitServerConfigClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RateLimitServerConfigs") + ret0, _ := ret[0].(v2.RateLimitServerConfigClient) + return ret0 +} + +// RateLimitServerConfigs indicates an expected call of RateLimitServerConfigs. +func (mr *MockClientsetMockRecorder) RateLimitServerConfigs() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RateLimitServerConfigs", reflect.TypeOf((*MockClientset)(nil).RateLimitServerConfigs)) +} + +// RateLimitServerSettings mocks base method. +func (m *MockClientset) RateLimitServerSettings() v2.RateLimitServerSettingsClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RateLimitServerSettings") + ret0, _ := ret[0].(v2.RateLimitServerSettingsClient) + return ret0 +} + +// RateLimitServerSettings indicates an expected call of RateLimitServerSettings. +func (mr *MockClientsetMockRecorder) RateLimitServerSettings() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RateLimitServerSettings", reflect.TypeOf((*MockClientset)(nil).RateLimitServerSettings)) +} + +// RootTrustPolicies mocks base method. +func (m *MockClientset) RootTrustPolicies() v2.RootTrustPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RootTrustPolicies") + ret0, _ := ret[0].(v2.RootTrustPolicyClient) + return ret0 +} + +// RootTrustPolicies indicates an expected call of RootTrustPolicies. +func (mr *MockClientsetMockRecorder) RootTrustPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RootTrustPolicies", reflect.TypeOf((*MockClientset)(nil).RootTrustPolicies)) +} + +// WorkspaceSettings mocks base method. +func (m *MockClientset) WorkspaceSettings() v2.WorkspaceSettingsClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "WorkspaceSettings") + ret0, _ := ret[0].(v2.WorkspaceSettingsClient) + return ret0 +} + +// WorkspaceSettings indicates an expected call of WorkspaceSettings. +func (mr *MockClientsetMockRecorder) WorkspaceSettings() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkspaceSettings", reflect.TypeOf((*MockClientset)(nil).WorkspaceSettings)) +} + +// Workspaces mocks base method. +func (m *MockClientset) Workspaces() v2.WorkspaceClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Workspaces") + ret0, _ := ret[0].(v2.WorkspaceClient) + return ret0 +} + +// Workspaces indicates an expected call of Workspaces. +func (mr *MockClientsetMockRecorder) Workspaces() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Workspaces", reflect.TypeOf((*MockClientset)(nil).Workspaces)) +} + +// MockWorkspaceReader is a mock of WorkspaceReader interface. +type MockWorkspaceReader struct { + ctrl *gomock.Controller + recorder *MockWorkspaceReaderMockRecorder +} + +// MockWorkspaceReaderMockRecorder is the mock recorder for MockWorkspaceReader. +type MockWorkspaceReaderMockRecorder struct { + mock *MockWorkspaceReader +} + +// NewMockWorkspaceReader creates a new mock instance. +func NewMockWorkspaceReader(ctrl *gomock.Controller) *MockWorkspaceReader { + mock := &MockWorkspaceReader{ctrl: ctrl} + mock.recorder = &MockWorkspaceReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceReader) EXPECT() *MockWorkspaceReaderMockRecorder { + return m.recorder +} + +// GetWorkspace mocks base method. +func (m *MockWorkspaceReader) GetWorkspace(ctx context.Context, key client.ObjectKey) (*v2.Workspace, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWorkspace", ctx, key) + ret0, _ := ret[0].(*v2.Workspace) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkspace indicates an expected call of GetWorkspace. +func (mr *MockWorkspaceReaderMockRecorder) GetWorkspace(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkspace", reflect.TypeOf((*MockWorkspaceReader)(nil).GetWorkspace), ctx, key) +} + +// ListWorkspace mocks base method. +func (m *MockWorkspaceReader) ListWorkspace(ctx context.Context, opts ...client.ListOption) (*v2.WorkspaceList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWorkspace", varargs...) + ret0, _ := ret[0].(*v2.WorkspaceList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWorkspace indicates an expected call of ListWorkspace. +func (mr *MockWorkspaceReaderMockRecorder) ListWorkspace(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWorkspace", reflect.TypeOf((*MockWorkspaceReader)(nil).ListWorkspace), varargs...) +} + +// MockWorkspaceWriter is a mock of WorkspaceWriter interface. +type MockWorkspaceWriter struct { + ctrl *gomock.Controller + recorder *MockWorkspaceWriterMockRecorder +} + +// MockWorkspaceWriterMockRecorder is the mock recorder for MockWorkspaceWriter. +type MockWorkspaceWriterMockRecorder struct { + mock *MockWorkspaceWriter +} + +// NewMockWorkspaceWriter creates a new mock instance. +func NewMockWorkspaceWriter(ctrl *gomock.Controller) *MockWorkspaceWriter { + mock := &MockWorkspaceWriter{ctrl: ctrl} + mock.recorder = &MockWorkspaceWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceWriter) EXPECT() *MockWorkspaceWriterMockRecorder { + return m.recorder +} + +// CreateWorkspace mocks base method. +func (m *MockWorkspaceWriter) CreateWorkspace(ctx context.Context, obj *v2.Workspace, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWorkspace", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWorkspace indicates an expected call of CreateWorkspace. +func (mr *MockWorkspaceWriterMockRecorder) CreateWorkspace(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWorkspace", reflect.TypeOf((*MockWorkspaceWriter)(nil).CreateWorkspace), varargs...) +} + +// DeleteAllOfWorkspace mocks base method. +func (m *MockWorkspaceWriter) DeleteAllOfWorkspace(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfWorkspace", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfWorkspace indicates an expected call of DeleteAllOfWorkspace. +func (mr *MockWorkspaceWriterMockRecorder) DeleteAllOfWorkspace(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfWorkspace", reflect.TypeOf((*MockWorkspaceWriter)(nil).DeleteAllOfWorkspace), varargs...) +} + +// DeleteWorkspace mocks base method. +func (m *MockWorkspaceWriter) DeleteWorkspace(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWorkspace", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWorkspace indicates an expected call of DeleteWorkspace. +func (mr *MockWorkspaceWriterMockRecorder) DeleteWorkspace(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkspace", reflect.TypeOf((*MockWorkspaceWriter)(nil).DeleteWorkspace), varargs...) +} + +// PatchWorkspace mocks base method. +func (m *MockWorkspaceWriter) PatchWorkspace(ctx context.Context, obj *v2.Workspace, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWorkspace", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWorkspace indicates an expected call of PatchWorkspace. +func (mr *MockWorkspaceWriterMockRecorder) PatchWorkspace(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWorkspace", reflect.TypeOf((*MockWorkspaceWriter)(nil).PatchWorkspace), varargs...) +} + +// UpdateWorkspace mocks base method. +func (m *MockWorkspaceWriter) UpdateWorkspace(ctx context.Context, obj *v2.Workspace, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkspace", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWorkspace indicates an expected call of UpdateWorkspace. +func (mr *MockWorkspaceWriterMockRecorder) UpdateWorkspace(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkspace", reflect.TypeOf((*MockWorkspaceWriter)(nil).UpdateWorkspace), varargs...) +} + +// UpsertWorkspace mocks base method. +func (m *MockWorkspaceWriter) UpsertWorkspace(ctx context.Context, obj *v2.Workspace, transitionFuncs ...v2.WorkspaceTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertWorkspace", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertWorkspace indicates an expected call of UpsertWorkspace. +func (mr *MockWorkspaceWriterMockRecorder) UpsertWorkspace(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertWorkspace", reflect.TypeOf((*MockWorkspaceWriter)(nil).UpsertWorkspace), varargs...) +} + +// MockWorkspaceStatusWriter is a mock of WorkspaceStatusWriter interface. +type MockWorkspaceStatusWriter struct { + ctrl *gomock.Controller + recorder *MockWorkspaceStatusWriterMockRecorder +} + +// MockWorkspaceStatusWriterMockRecorder is the mock recorder for MockWorkspaceStatusWriter. +type MockWorkspaceStatusWriterMockRecorder struct { + mock *MockWorkspaceStatusWriter +} + +// NewMockWorkspaceStatusWriter creates a new mock instance. +func NewMockWorkspaceStatusWriter(ctrl *gomock.Controller) *MockWorkspaceStatusWriter { + mock := &MockWorkspaceStatusWriter{ctrl: ctrl} + mock.recorder = &MockWorkspaceStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceStatusWriter) EXPECT() *MockWorkspaceStatusWriterMockRecorder { + return m.recorder +} + +// PatchWorkspaceStatus mocks base method. +func (m *MockWorkspaceStatusWriter) PatchWorkspaceStatus(ctx context.Context, obj *v2.Workspace, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWorkspaceStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWorkspaceStatus indicates an expected call of PatchWorkspaceStatus. +func (mr *MockWorkspaceStatusWriterMockRecorder) PatchWorkspaceStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWorkspaceStatus", reflect.TypeOf((*MockWorkspaceStatusWriter)(nil).PatchWorkspaceStatus), varargs...) +} + +// UpdateWorkspaceStatus mocks base method. +func (m *MockWorkspaceStatusWriter) UpdateWorkspaceStatus(ctx context.Context, obj *v2.Workspace, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkspaceStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWorkspaceStatus indicates an expected call of UpdateWorkspaceStatus. +func (mr *MockWorkspaceStatusWriterMockRecorder) UpdateWorkspaceStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkspaceStatus", reflect.TypeOf((*MockWorkspaceStatusWriter)(nil).UpdateWorkspaceStatus), varargs...) +} + +// MockWorkspaceClient is a mock of WorkspaceClient interface. +type MockWorkspaceClient struct { + ctrl *gomock.Controller + recorder *MockWorkspaceClientMockRecorder +} + +// MockWorkspaceClientMockRecorder is the mock recorder for MockWorkspaceClient. +type MockWorkspaceClientMockRecorder struct { + mock *MockWorkspaceClient +} + +// NewMockWorkspaceClient creates a new mock instance. +func NewMockWorkspaceClient(ctrl *gomock.Controller) *MockWorkspaceClient { + mock := &MockWorkspaceClient{ctrl: ctrl} + mock.recorder = &MockWorkspaceClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceClient) EXPECT() *MockWorkspaceClientMockRecorder { + return m.recorder +} + +// CreateWorkspace mocks base method. +func (m *MockWorkspaceClient) CreateWorkspace(ctx context.Context, obj *v2.Workspace, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWorkspace", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWorkspace indicates an expected call of CreateWorkspace. +func (mr *MockWorkspaceClientMockRecorder) CreateWorkspace(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWorkspace", reflect.TypeOf((*MockWorkspaceClient)(nil).CreateWorkspace), varargs...) +} + +// DeleteAllOfWorkspace mocks base method. +func (m *MockWorkspaceClient) DeleteAllOfWorkspace(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfWorkspace", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfWorkspace indicates an expected call of DeleteAllOfWorkspace. +func (mr *MockWorkspaceClientMockRecorder) DeleteAllOfWorkspace(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfWorkspace", reflect.TypeOf((*MockWorkspaceClient)(nil).DeleteAllOfWorkspace), varargs...) +} + +// DeleteWorkspace mocks base method. +func (m *MockWorkspaceClient) DeleteWorkspace(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWorkspace", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWorkspace indicates an expected call of DeleteWorkspace. +func (mr *MockWorkspaceClientMockRecorder) DeleteWorkspace(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkspace", reflect.TypeOf((*MockWorkspaceClient)(nil).DeleteWorkspace), varargs...) +} + +// GetWorkspace mocks base method. +func (m *MockWorkspaceClient) GetWorkspace(ctx context.Context, key client.ObjectKey) (*v2.Workspace, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWorkspace", ctx, key) + ret0, _ := ret[0].(*v2.Workspace) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkspace indicates an expected call of GetWorkspace. +func (mr *MockWorkspaceClientMockRecorder) GetWorkspace(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkspace", reflect.TypeOf((*MockWorkspaceClient)(nil).GetWorkspace), ctx, key) +} + +// ListWorkspace mocks base method. +func (m *MockWorkspaceClient) ListWorkspace(ctx context.Context, opts ...client.ListOption) (*v2.WorkspaceList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWorkspace", varargs...) + ret0, _ := ret[0].(*v2.WorkspaceList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWorkspace indicates an expected call of ListWorkspace. +func (mr *MockWorkspaceClientMockRecorder) ListWorkspace(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWorkspace", reflect.TypeOf((*MockWorkspaceClient)(nil).ListWorkspace), varargs...) +} + +// PatchWorkspace mocks base method. +func (m *MockWorkspaceClient) PatchWorkspace(ctx context.Context, obj *v2.Workspace, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWorkspace", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWorkspace indicates an expected call of PatchWorkspace. +func (mr *MockWorkspaceClientMockRecorder) PatchWorkspace(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWorkspace", reflect.TypeOf((*MockWorkspaceClient)(nil).PatchWorkspace), varargs...) +} + +// PatchWorkspaceStatus mocks base method. +func (m *MockWorkspaceClient) PatchWorkspaceStatus(ctx context.Context, obj *v2.Workspace, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWorkspaceStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWorkspaceStatus indicates an expected call of PatchWorkspaceStatus. +func (mr *MockWorkspaceClientMockRecorder) PatchWorkspaceStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWorkspaceStatus", reflect.TypeOf((*MockWorkspaceClient)(nil).PatchWorkspaceStatus), varargs...) +} + +// UpdateWorkspace mocks base method. +func (m *MockWorkspaceClient) UpdateWorkspace(ctx context.Context, obj *v2.Workspace, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkspace", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWorkspace indicates an expected call of UpdateWorkspace. +func (mr *MockWorkspaceClientMockRecorder) UpdateWorkspace(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkspace", reflect.TypeOf((*MockWorkspaceClient)(nil).UpdateWorkspace), varargs...) +} + +// UpdateWorkspaceStatus mocks base method. +func (m *MockWorkspaceClient) UpdateWorkspaceStatus(ctx context.Context, obj *v2.Workspace, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkspaceStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWorkspaceStatus indicates an expected call of UpdateWorkspaceStatus. +func (mr *MockWorkspaceClientMockRecorder) UpdateWorkspaceStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkspaceStatus", reflect.TypeOf((*MockWorkspaceClient)(nil).UpdateWorkspaceStatus), varargs...) +} + +// UpsertWorkspace mocks base method. +func (m *MockWorkspaceClient) UpsertWorkspace(ctx context.Context, obj *v2.Workspace, transitionFuncs ...v2.WorkspaceTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertWorkspace", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertWorkspace indicates an expected call of UpsertWorkspace. +func (mr *MockWorkspaceClientMockRecorder) UpsertWorkspace(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertWorkspace", reflect.TypeOf((*MockWorkspaceClient)(nil).UpsertWorkspace), varargs...) +} + +// MockMulticlusterWorkspaceClient is a mock of MulticlusterWorkspaceClient interface. +type MockMulticlusterWorkspaceClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWorkspaceClientMockRecorder +} + +// MockMulticlusterWorkspaceClientMockRecorder is the mock recorder for MockMulticlusterWorkspaceClient. +type MockMulticlusterWorkspaceClientMockRecorder struct { + mock *MockMulticlusterWorkspaceClient +} + +// NewMockMulticlusterWorkspaceClient creates a new mock instance. +func NewMockMulticlusterWorkspaceClient(ctrl *gomock.Controller) *MockMulticlusterWorkspaceClient { + mock := &MockMulticlusterWorkspaceClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterWorkspaceClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWorkspaceClient) EXPECT() *MockMulticlusterWorkspaceClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterWorkspaceClient) Cluster(cluster string) (v2.WorkspaceClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.WorkspaceClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterWorkspaceClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterWorkspaceClient)(nil).Cluster), cluster) +} + +// MockWorkspaceSettingsReader is a mock of WorkspaceSettingsReader interface. +type MockWorkspaceSettingsReader struct { + ctrl *gomock.Controller + recorder *MockWorkspaceSettingsReaderMockRecorder +} + +// MockWorkspaceSettingsReaderMockRecorder is the mock recorder for MockWorkspaceSettingsReader. +type MockWorkspaceSettingsReaderMockRecorder struct { + mock *MockWorkspaceSettingsReader +} + +// NewMockWorkspaceSettingsReader creates a new mock instance. +func NewMockWorkspaceSettingsReader(ctrl *gomock.Controller) *MockWorkspaceSettingsReader { + mock := &MockWorkspaceSettingsReader{ctrl: ctrl} + mock.recorder = &MockWorkspaceSettingsReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceSettingsReader) EXPECT() *MockWorkspaceSettingsReaderMockRecorder { + return m.recorder +} + +// GetWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsReader) GetWorkspaceSettings(ctx context.Context, key client.ObjectKey) (*v2.WorkspaceSettings, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWorkspaceSettings", ctx, key) + ret0, _ := ret[0].(*v2.WorkspaceSettings) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkspaceSettings indicates an expected call of GetWorkspaceSettings. +func (mr *MockWorkspaceSettingsReaderMockRecorder) GetWorkspaceSettings(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsReader)(nil).GetWorkspaceSettings), ctx, key) +} + +// ListWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsReader) ListWorkspaceSettings(ctx context.Context, opts ...client.ListOption) (*v2.WorkspaceSettingsList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWorkspaceSettings", varargs...) + ret0, _ := ret[0].(*v2.WorkspaceSettingsList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWorkspaceSettings indicates an expected call of ListWorkspaceSettings. +func (mr *MockWorkspaceSettingsReaderMockRecorder) ListWorkspaceSettings(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsReader)(nil).ListWorkspaceSettings), varargs...) +} + +// MockWorkspaceSettingsWriter is a mock of WorkspaceSettingsWriter interface. +type MockWorkspaceSettingsWriter struct { + ctrl *gomock.Controller + recorder *MockWorkspaceSettingsWriterMockRecorder +} + +// MockWorkspaceSettingsWriterMockRecorder is the mock recorder for MockWorkspaceSettingsWriter. +type MockWorkspaceSettingsWriterMockRecorder struct { + mock *MockWorkspaceSettingsWriter +} + +// NewMockWorkspaceSettingsWriter creates a new mock instance. +func NewMockWorkspaceSettingsWriter(ctrl *gomock.Controller) *MockWorkspaceSettingsWriter { + mock := &MockWorkspaceSettingsWriter{ctrl: ctrl} + mock.recorder = &MockWorkspaceSettingsWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceSettingsWriter) EXPECT() *MockWorkspaceSettingsWriterMockRecorder { + return m.recorder +} + +// CreateWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsWriter) CreateWorkspaceSettings(ctx context.Context, obj *v2.WorkspaceSettings, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWorkspaceSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWorkspaceSettings indicates an expected call of CreateWorkspaceSettings. +func (mr *MockWorkspaceSettingsWriterMockRecorder) CreateWorkspaceSettings(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsWriter)(nil).CreateWorkspaceSettings), varargs...) +} + +// DeleteAllOfWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsWriter) DeleteAllOfWorkspaceSettings(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfWorkspaceSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfWorkspaceSettings indicates an expected call of DeleteAllOfWorkspaceSettings. +func (mr *MockWorkspaceSettingsWriterMockRecorder) DeleteAllOfWorkspaceSettings(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsWriter)(nil).DeleteAllOfWorkspaceSettings), varargs...) +} + +// DeleteWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsWriter) DeleteWorkspaceSettings(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWorkspaceSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWorkspaceSettings indicates an expected call of DeleteWorkspaceSettings. +func (mr *MockWorkspaceSettingsWriterMockRecorder) DeleteWorkspaceSettings(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsWriter)(nil).DeleteWorkspaceSettings), varargs...) +} + +// PatchWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsWriter) PatchWorkspaceSettings(ctx context.Context, obj *v2.WorkspaceSettings, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWorkspaceSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWorkspaceSettings indicates an expected call of PatchWorkspaceSettings. +func (mr *MockWorkspaceSettingsWriterMockRecorder) PatchWorkspaceSettings(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsWriter)(nil).PatchWorkspaceSettings), varargs...) +} + +// UpdateWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsWriter) UpdateWorkspaceSettings(ctx context.Context, obj *v2.WorkspaceSettings, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkspaceSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWorkspaceSettings indicates an expected call of UpdateWorkspaceSettings. +func (mr *MockWorkspaceSettingsWriterMockRecorder) UpdateWorkspaceSettings(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsWriter)(nil).UpdateWorkspaceSettings), varargs...) +} + +// UpsertWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsWriter) UpsertWorkspaceSettings(ctx context.Context, obj *v2.WorkspaceSettings, transitionFuncs ...v2.WorkspaceSettingsTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertWorkspaceSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertWorkspaceSettings indicates an expected call of UpsertWorkspaceSettings. +func (mr *MockWorkspaceSettingsWriterMockRecorder) UpsertWorkspaceSettings(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsWriter)(nil).UpsertWorkspaceSettings), varargs...) +} + +// MockWorkspaceSettingsStatusWriter is a mock of WorkspaceSettingsStatusWriter interface. +type MockWorkspaceSettingsStatusWriter struct { + ctrl *gomock.Controller + recorder *MockWorkspaceSettingsStatusWriterMockRecorder +} + +// MockWorkspaceSettingsStatusWriterMockRecorder is the mock recorder for MockWorkspaceSettingsStatusWriter. +type MockWorkspaceSettingsStatusWriterMockRecorder struct { + mock *MockWorkspaceSettingsStatusWriter +} + +// NewMockWorkspaceSettingsStatusWriter creates a new mock instance. +func NewMockWorkspaceSettingsStatusWriter(ctrl *gomock.Controller) *MockWorkspaceSettingsStatusWriter { + mock := &MockWorkspaceSettingsStatusWriter{ctrl: ctrl} + mock.recorder = &MockWorkspaceSettingsStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceSettingsStatusWriter) EXPECT() *MockWorkspaceSettingsStatusWriterMockRecorder { + return m.recorder +} + +// PatchWorkspaceSettingsStatus mocks base method. +func (m *MockWorkspaceSettingsStatusWriter) PatchWorkspaceSettingsStatus(ctx context.Context, obj *v2.WorkspaceSettings, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWorkspaceSettingsStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWorkspaceSettingsStatus indicates an expected call of PatchWorkspaceSettingsStatus. +func (mr *MockWorkspaceSettingsStatusWriterMockRecorder) PatchWorkspaceSettingsStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWorkspaceSettingsStatus", reflect.TypeOf((*MockWorkspaceSettingsStatusWriter)(nil).PatchWorkspaceSettingsStatus), varargs...) +} + +// UpdateWorkspaceSettingsStatus mocks base method. +func (m *MockWorkspaceSettingsStatusWriter) UpdateWorkspaceSettingsStatus(ctx context.Context, obj *v2.WorkspaceSettings, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkspaceSettingsStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWorkspaceSettingsStatus indicates an expected call of UpdateWorkspaceSettingsStatus. +func (mr *MockWorkspaceSettingsStatusWriterMockRecorder) UpdateWorkspaceSettingsStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkspaceSettingsStatus", reflect.TypeOf((*MockWorkspaceSettingsStatusWriter)(nil).UpdateWorkspaceSettingsStatus), varargs...) +} + +// MockWorkspaceSettingsClient is a mock of WorkspaceSettingsClient interface. +type MockWorkspaceSettingsClient struct { + ctrl *gomock.Controller + recorder *MockWorkspaceSettingsClientMockRecorder +} + +// MockWorkspaceSettingsClientMockRecorder is the mock recorder for MockWorkspaceSettingsClient. +type MockWorkspaceSettingsClientMockRecorder struct { + mock *MockWorkspaceSettingsClient +} + +// NewMockWorkspaceSettingsClient creates a new mock instance. +func NewMockWorkspaceSettingsClient(ctrl *gomock.Controller) *MockWorkspaceSettingsClient { + mock := &MockWorkspaceSettingsClient{ctrl: ctrl} + mock.recorder = &MockWorkspaceSettingsClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceSettingsClient) EXPECT() *MockWorkspaceSettingsClientMockRecorder { + return m.recorder +} + +// CreateWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsClient) CreateWorkspaceSettings(ctx context.Context, obj *v2.WorkspaceSettings, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWorkspaceSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWorkspaceSettings indicates an expected call of CreateWorkspaceSettings. +func (mr *MockWorkspaceSettingsClientMockRecorder) CreateWorkspaceSettings(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsClient)(nil).CreateWorkspaceSettings), varargs...) +} + +// DeleteAllOfWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsClient) DeleteAllOfWorkspaceSettings(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfWorkspaceSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfWorkspaceSettings indicates an expected call of DeleteAllOfWorkspaceSettings. +func (mr *MockWorkspaceSettingsClientMockRecorder) DeleteAllOfWorkspaceSettings(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsClient)(nil).DeleteAllOfWorkspaceSettings), varargs...) +} + +// DeleteWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsClient) DeleteWorkspaceSettings(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWorkspaceSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWorkspaceSettings indicates an expected call of DeleteWorkspaceSettings. +func (mr *MockWorkspaceSettingsClientMockRecorder) DeleteWorkspaceSettings(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsClient)(nil).DeleteWorkspaceSettings), varargs...) +} + +// GetWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsClient) GetWorkspaceSettings(ctx context.Context, key client.ObjectKey) (*v2.WorkspaceSettings, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWorkspaceSettings", ctx, key) + ret0, _ := ret[0].(*v2.WorkspaceSettings) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkspaceSettings indicates an expected call of GetWorkspaceSettings. +func (mr *MockWorkspaceSettingsClientMockRecorder) GetWorkspaceSettings(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsClient)(nil).GetWorkspaceSettings), ctx, key) +} + +// ListWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsClient) ListWorkspaceSettings(ctx context.Context, opts ...client.ListOption) (*v2.WorkspaceSettingsList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWorkspaceSettings", varargs...) + ret0, _ := ret[0].(*v2.WorkspaceSettingsList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWorkspaceSettings indicates an expected call of ListWorkspaceSettings. +func (mr *MockWorkspaceSettingsClientMockRecorder) ListWorkspaceSettings(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsClient)(nil).ListWorkspaceSettings), varargs...) +} + +// PatchWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsClient) PatchWorkspaceSettings(ctx context.Context, obj *v2.WorkspaceSettings, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWorkspaceSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWorkspaceSettings indicates an expected call of PatchWorkspaceSettings. +func (mr *MockWorkspaceSettingsClientMockRecorder) PatchWorkspaceSettings(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsClient)(nil).PatchWorkspaceSettings), varargs...) +} + +// PatchWorkspaceSettingsStatus mocks base method. +func (m *MockWorkspaceSettingsClient) PatchWorkspaceSettingsStatus(ctx context.Context, obj *v2.WorkspaceSettings, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWorkspaceSettingsStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWorkspaceSettingsStatus indicates an expected call of PatchWorkspaceSettingsStatus. +func (mr *MockWorkspaceSettingsClientMockRecorder) PatchWorkspaceSettingsStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWorkspaceSettingsStatus", reflect.TypeOf((*MockWorkspaceSettingsClient)(nil).PatchWorkspaceSettingsStatus), varargs...) +} + +// UpdateWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsClient) UpdateWorkspaceSettings(ctx context.Context, obj *v2.WorkspaceSettings, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkspaceSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWorkspaceSettings indicates an expected call of UpdateWorkspaceSettings. +func (mr *MockWorkspaceSettingsClientMockRecorder) UpdateWorkspaceSettings(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsClient)(nil).UpdateWorkspaceSettings), varargs...) +} + +// UpdateWorkspaceSettingsStatus mocks base method. +func (m *MockWorkspaceSettingsClient) UpdateWorkspaceSettingsStatus(ctx context.Context, obj *v2.WorkspaceSettings, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkspaceSettingsStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWorkspaceSettingsStatus indicates an expected call of UpdateWorkspaceSettingsStatus. +func (mr *MockWorkspaceSettingsClientMockRecorder) UpdateWorkspaceSettingsStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkspaceSettingsStatus", reflect.TypeOf((*MockWorkspaceSettingsClient)(nil).UpdateWorkspaceSettingsStatus), varargs...) +} + +// UpsertWorkspaceSettings mocks base method. +func (m *MockWorkspaceSettingsClient) UpsertWorkspaceSettings(ctx context.Context, obj *v2.WorkspaceSettings, transitionFuncs ...v2.WorkspaceSettingsTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertWorkspaceSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertWorkspaceSettings indicates an expected call of UpsertWorkspaceSettings. +func (mr *MockWorkspaceSettingsClientMockRecorder) UpsertWorkspaceSettings(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertWorkspaceSettings", reflect.TypeOf((*MockWorkspaceSettingsClient)(nil).UpsertWorkspaceSettings), varargs...) +} + +// MockMulticlusterWorkspaceSettingsClient is a mock of MulticlusterWorkspaceSettingsClient interface. +type MockMulticlusterWorkspaceSettingsClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWorkspaceSettingsClientMockRecorder +} + +// MockMulticlusterWorkspaceSettingsClientMockRecorder is the mock recorder for MockMulticlusterWorkspaceSettingsClient. +type MockMulticlusterWorkspaceSettingsClientMockRecorder struct { + mock *MockMulticlusterWorkspaceSettingsClient +} + +// NewMockMulticlusterWorkspaceSettingsClient creates a new mock instance. +func NewMockMulticlusterWorkspaceSettingsClient(ctrl *gomock.Controller) *MockMulticlusterWorkspaceSettingsClient { + mock := &MockMulticlusterWorkspaceSettingsClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterWorkspaceSettingsClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWorkspaceSettingsClient) EXPECT() *MockMulticlusterWorkspaceSettingsClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterWorkspaceSettingsClient) Cluster(cluster string) (v2.WorkspaceSettingsClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.WorkspaceSettingsClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterWorkspaceSettingsClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterWorkspaceSettingsClient)(nil).Cluster), cluster) +} + +// MockKubernetesClusterReader is a mock of KubernetesClusterReader interface. +type MockKubernetesClusterReader struct { + ctrl *gomock.Controller + recorder *MockKubernetesClusterReaderMockRecorder +} + +// MockKubernetesClusterReaderMockRecorder is the mock recorder for MockKubernetesClusterReader. +type MockKubernetesClusterReaderMockRecorder struct { + mock *MockKubernetesClusterReader +} + +// NewMockKubernetesClusterReader creates a new mock instance. +func NewMockKubernetesClusterReader(ctrl *gomock.Controller) *MockKubernetesClusterReader { + mock := &MockKubernetesClusterReader{ctrl: ctrl} + mock.recorder = &MockKubernetesClusterReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockKubernetesClusterReader) EXPECT() *MockKubernetesClusterReaderMockRecorder { + return m.recorder +} + +// GetKubernetesCluster mocks base method. +func (m *MockKubernetesClusterReader) GetKubernetesCluster(ctx context.Context, key client.ObjectKey) (*v2.KubernetesCluster, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetKubernetesCluster", ctx, key) + ret0, _ := ret[0].(*v2.KubernetesCluster) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetKubernetesCluster indicates an expected call of GetKubernetesCluster. +func (mr *MockKubernetesClusterReaderMockRecorder) GetKubernetesCluster(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterReader)(nil).GetKubernetesCluster), ctx, key) +} + +// ListKubernetesCluster mocks base method. +func (m *MockKubernetesClusterReader) ListKubernetesCluster(ctx context.Context, opts ...client.ListOption) (*v2.KubernetesClusterList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListKubernetesCluster", varargs...) + ret0, _ := ret[0].(*v2.KubernetesClusterList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListKubernetesCluster indicates an expected call of ListKubernetesCluster. +func (mr *MockKubernetesClusterReaderMockRecorder) ListKubernetesCluster(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterReader)(nil).ListKubernetesCluster), varargs...) +} + +// MockKubernetesClusterWriter is a mock of KubernetesClusterWriter interface. +type MockKubernetesClusterWriter struct { + ctrl *gomock.Controller + recorder *MockKubernetesClusterWriterMockRecorder +} + +// MockKubernetesClusterWriterMockRecorder is the mock recorder for MockKubernetesClusterWriter. +type MockKubernetesClusterWriterMockRecorder struct { + mock *MockKubernetesClusterWriter +} + +// NewMockKubernetesClusterWriter creates a new mock instance. +func NewMockKubernetesClusterWriter(ctrl *gomock.Controller) *MockKubernetesClusterWriter { + mock := &MockKubernetesClusterWriter{ctrl: ctrl} + mock.recorder = &MockKubernetesClusterWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockKubernetesClusterWriter) EXPECT() *MockKubernetesClusterWriterMockRecorder { + return m.recorder +} + +// CreateKubernetesCluster mocks base method. +func (m *MockKubernetesClusterWriter) CreateKubernetesCluster(ctx context.Context, obj *v2.KubernetesCluster, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateKubernetesCluster", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateKubernetesCluster indicates an expected call of CreateKubernetesCluster. +func (mr *MockKubernetesClusterWriterMockRecorder) CreateKubernetesCluster(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterWriter)(nil).CreateKubernetesCluster), varargs...) +} + +// DeleteAllOfKubernetesCluster mocks base method. +func (m *MockKubernetesClusterWriter) DeleteAllOfKubernetesCluster(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfKubernetesCluster", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfKubernetesCluster indicates an expected call of DeleteAllOfKubernetesCluster. +func (mr *MockKubernetesClusterWriterMockRecorder) DeleteAllOfKubernetesCluster(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterWriter)(nil).DeleteAllOfKubernetesCluster), varargs...) +} + +// DeleteKubernetesCluster mocks base method. +func (m *MockKubernetesClusterWriter) DeleteKubernetesCluster(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteKubernetesCluster", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteKubernetesCluster indicates an expected call of DeleteKubernetesCluster. +func (mr *MockKubernetesClusterWriterMockRecorder) DeleteKubernetesCluster(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterWriter)(nil).DeleteKubernetesCluster), varargs...) +} + +// PatchKubernetesCluster mocks base method. +func (m *MockKubernetesClusterWriter) PatchKubernetesCluster(ctx context.Context, obj *v2.KubernetesCluster, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchKubernetesCluster", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchKubernetesCluster indicates an expected call of PatchKubernetesCluster. +func (mr *MockKubernetesClusterWriterMockRecorder) PatchKubernetesCluster(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterWriter)(nil).PatchKubernetesCluster), varargs...) +} + +// UpdateKubernetesCluster mocks base method. +func (m *MockKubernetesClusterWriter) UpdateKubernetesCluster(ctx context.Context, obj *v2.KubernetesCluster, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateKubernetesCluster", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateKubernetesCluster indicates an expected call of UpdateKubernetesCluster. +func (mr *MockKubernetesClusterWriterMockRecorder) UpdateKubernetesCluster(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterWriter)(nil).UpdateKubernetesCluster), varargs...) +} + +// UpsertKubernetesCluster mocks base method. +func (m *MockKubernetesClusterWriter) UpsertKubernetesCluster(ctx context.Context, obj *v2.KubernetesCluster, transitionFuncs ...v2.KubernetesClusterTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertKubernetesCluster", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertKubernetesCluster indicates an expected call of UpsertKubernetesCluster. +func (mr *MockKubernetesClusterWriterMockRecorder) UpsertKubernetesCluster(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterWriter)(nil).UpsertKubernetesCluster), varargs...) +} + +// MockKubernetesClusterStatusWriter is a mock of KubernetesClusterStatusWriter interface. +type MockKubernetesClusterStatusWriter struct { + ctrl *gomock.Controller + recorder *MockKubernetesClusterStatusWriterMockRecorder +} + +// MockKubernetesClusterStatusWriterMockRecorder is the mock recorder for MockKubernetesClusterStatusWriter. +type MockKubernetesClusterStatusWriterMockRecorder struct { + mock *MockKubernetesClusterStatusWriter +} + +// NewMockKubernetesClusterStatusWriter creates a new mock instance. +func NewMockKubernetesClusterStatusWriter(ctrl *gomock.Controller) *MockKubernetesClusterStatusWriter { + mock := &MockKubernetesClusterStatusWriter{ctrl: ctrl} + mock.recorder = &MockKubernetesClusterStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockKubernetesClusterStatusWriter) EXPECT() *MockKubernetesClusterStatusWriterMockRecorder { + return m.recorder +} + +// PatchKubernetesClusterStatus mocks base method. +func (m *MockKubernetesClusterStatusWriter) PatchKubernetesClusterStatus(ctx context.Context, obj *v2.KubernetesCluster, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchKubernetesClusterStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchKubernetesClusterStatus indicates an expected call of PatchKubernetesClusterStatus. +func (mr *MockKubernetesClusterStatusWriterMockRecorder) PatchKubernetesClusterStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchKubernetesClusterStatus", reflect.TypeOf((*MockKubernetesClusterStatusWriter)(nil).PatchKubernetesClusterStatus), varargs...) +} + +// UpdateKubernetesClusterStatus mocks base method. +func (m *MockKubernetesClusterStatusWriter) UpdateKubernetesClusterStatus(ctx context.Context, obj *v2.KubernetesCluster, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateKubernetesClusterStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateKubernetesClusterStatus indicates an expected call of UpdateKubernetesClusterStatus. +func (mr *MockKubernetesClusterStatusWriterMockRecorder) UpdateKubernetesClusterStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateKubernetesClusterStatus", reflect.TypeOf((*MockKubernetesClusterStatusWriter)(nil).UpdateKubernetesClusterStatus), varargs...) +} + +// MockKubernetesClusterClient is a mock of KubernetesClusterClient interface. +type MockKubernetesClusterClient struct { + ctrl *gomock.Controller + recorder *MockKubernetesClusterClientMockRecorder +} + +// MockKubernetesClusterClientMockRecorder is the mock recorder for MockKubernetesClusterClient. +type MockKubernetesClusterClientMockRecorder struct { + mock *MockKubernetesClusterClient +} + +// NewMockKubernetesClusterClient creates a new mock instance. +func NewMockKubernetesClusterClient(ctrl *gomock.Controller) *MockKubernetesClusterClient { + mock := &MockKubernetesClusterClient{ctrl: ctrl} + mock.recorder = &MockKubernetesClusterClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockKubernetesClusterClient) EXPECT() *MockKubernetesClusterClientMockRecorder { + return m.recorder +} + +// CreateKubernetesCluster mocks base method. +func (m *MockKubernetesClusterClient) CreateKubernetesCluster(ctx context.Context, obj *v2.KubernetesCluster, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateKubernetesCluster", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateKubernetesCluster indicates an expected call of CreateKubernetesCluster. +func (mr *MockKubernetesClusterClientMockRecorder) CreateKubernetesCluster(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterClient)(nil).CreateKubernetesCluster), varargs...) +} + +// DeleteAllOfKubernetesCluster mocks base method. +func (m *MockKubernetesClusterClient) DeleteAllOfKubernetesCluster(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfKubernetesCluster", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfKubernetesCluster indicates an expected call of DeleteAllOfKubernetesCluster. +func (mr *MockKubernetesClusterClientMockRecorder) DeleteAllOfKubernetesCluster(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterClient)(nil).DeleteAllOfKubernetesCluster), varargs...) +} + +// DeleteKubernetesCluster mocks base method. +func (m *MockKubernetesClusterClient) DeleteKubernetesCluster(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteKubernetesCluster", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteKubernetesCluster indicates an expected call of DeleteKubernetesCluster. +func (mr *MockKubernetesClusterClientMockRecorder) DeleteKubernetesCluster(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterClient)(nil).DeleteKubernetesCluster), varargs...) +} + +// GetKubernetesCluster mocks base method. +func (m *MockKubernetesClusterClient) GetKubernetesCluster(ctx context.Context, key client.ObjectKey) (*v2.KubernetesCluster, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetKubernetesCluster", ctx, key) + ret0, _ := ret[0].(*v2.KubernetesCluster) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetKubernetesCluster indicates an expected call of GetKubernetesCluster. +func (mr *MockKubernetesClusterClientMockRecorder) GetKubernetesCluster(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterClient)(nil).GetKubernetesCluster), ctx, key) +} + +// ListKubernetesCluster mocks base method. +func (m *MockKubernetesClusterClient) ListKubernetesCluster(ctx context.Context, opts ...client.ListOption) (*v2.KubernetesClusterList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListKubernetesCluster", varargs...) + ret0, _ := ret[0].(*v2.KubernetesClusterList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListKubernetesCluster indicates an expected call of ListKubernetesCluster. +func (mr *MockKubernetesClusterClientMockRecorder) ListKubernetesCluster(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterClient)(nil).ListKubernetesCluster), varargs...) +} + +// PatchKubernetesCluster mocks base method. +func (m *MockKubernetesClusterClient) PatchKubernetesCluster(ctx context.Context, obj *v2.KubernetesCluster, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchKubernetesCluster", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchKubernetesCluster indicates an expected call of PatchKubernetesCluster. +func (mr *MockKubernetesClusterClientMockRecorder) PatchKubernetesCluster(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterClient)(nil).PatchKubernetesCluster), varargs...) +} + +// PatchKubernetesClusterStatus mocks base method. +func (m *MockKubernetesClusterClient) PatchKubernetesClusterStatus(ctx context.Context, obj *v2.KubernetesCluster, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchKubernetesClusterStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchKubernetesClusterStatus indicates an expected call of PatchKubernetesClusterStatus. +func (mr *MockKubernetesClusterClientMockRecorder) PatchKubernetesClusterStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchKubernetesClusterStatus", reflect.TypeOf((*MockKubernetesClusterClient)(nil).PatchKubernetesClusterStatus), varargs...) +} + +// UpdateKubernetesCluster mocks base method. +func (m *MockKubernetesClusterClient) UpdateKubernetesCluster(ctx context.Context, obj *v2.KubernetesCluster, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateKubernetesCluster", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateKubernetesCluster indicates an expected call of UpdateKubernetesCluster. +func (mr *MockKubernetesClusterClientMockRecorder) UpdateKubernetesCluster(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterClient)(nil).UpdateKubernetesCluster), varargs...) +} + +// UpdateKubernetesClusterStatus mocks base method. +func (m *MockKubernetesClusterClient) UpdateKubernetesClusterStatus(ctx context.Context, obj *v2.KubernetesCluster, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateKubernetesClusterStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateKubernetesClusterStatus indicates an expected call of UpdateKubernetesClusterStatus. +func (mr *MockKubernetesClusterClientMockRecorder) UpdateKubernetesClusterStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateKubernetesClusterStatus", reflect.TypeOf((*MockKubernetesClusterClient)(nil).UpdateKubernetesClusterStatus), varargs...) +} + +// UpsertKubernetesCluster mocks base method. +func (m *MockKubernetesClusterClient) UpsertKubernetesCluster(ctx context.Context, obj *v2.KubernetesCluster, transitionFuncs ...v2.KubernetesClusterTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertKubernetesCluster", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertKubernetesCluster indicates an expected call of UpsertKubernetesCluster. +func (mr *MockKubernetesClusterClientMockRecorder) UpsertKubernetesCluster(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertKubernetesCluster", reflect.TypeOf((*MockKubernetesClusterClient)(nil).UpsertKubernetesCluster), varargs...) +} + +// MockMulticlusterKubernetesClusterClient is a mock of MulticlusterKubernetesClusterClient interface. +type MockMulticlusterKubernetesClusterClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterKubernetesClusterClientMockRecorder +} + +// MockMulticlusterKubernetesClusterClientMockRecorder is the mock recorder for MockMulticlusterKubernetesClusterClient. +type MockMulticlusterKubernetesClusterClientMockRecorder struct { + mock *MockMulticlusterKubernetesClusterClient +} + +// NewMockMulticlusterKubernetesClusterClient creates a new mock instance. +func NewMockMulticlusterKubernetesClusterClient(ctrl *gomock.Controller) *MockMulticlusterKubernetesClusterClient { + mock := &MockMulticlusterKubernetesClusterClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterKubernetesClusterClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterKubernetesClusterClient) EXPECT() *MockMulticlusterKubernetesClusterClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterKubernetesClusterClient) Cluster(cluster string) (v2.KubernetesClusterClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.KubernetesClusterClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterKubernetesClusterClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterKubernetesClusterClient)(nil).Cluster), cluster) +} + +// MockRootTrustPolicyReader is a mock of RootTrustPolicyReader interface. +type MockRootTrustPolicyReader struct { + ctrl *gomock.Controller + recorder *MockRootTrustPolicyReaderMockRecorder +} + +// MockRootTrustPolicyReaderMockRecorder is the mock recorder for MockRootTrustPolicyReader. +type MockRootTrustPolicyReaderMockRecorder struct { + mock *MockRootTrustPolicyReader +} + +// NewMockRootTrustPolicyReader creates a new mock instance. +func NewMockRootTrustPolicyReader(ctrl *gomock.Controller) *MockRootTrustPolicyReader { + mock := &MockRootTrustPolicyReader{ctrl: ctrl} + mock.recorder = &MockRootTrustPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRootTrustPolicyReader) EXPECT() *MockRootTrustPolicyReaderMockRecorder { + return m.recorder +} + +// GetRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyReader) GetRootTrustPolicy(ctx context.Context, key client.ObjectKey) (*v2.RootTrustPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRootTrustPolicy", ctx, key) + ret0, _ := ret[0].(*v2.RootTrustPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRootTrustPolicy indicates an expected call of GetRootTrustPolicy. +func (mr *MockRootTrustPolicyReaderMockRecorder) GetRootTrustPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyReader)(nil).GetRootTrustPolicy), ctx, key) +} + +// ListRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyReader) ListRootTrustPolicy(ctx context.Context, opts ...client.ListOption) (*v2.RootTrustPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRootTrustPolicy", varargs...) + ret0, _ := ret[0].(*v2.RootTrustPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRootTrustPolicy indicates an expected call of ListRootTrustPolicy. +func (mr *MockRootTrustPolicyReaderMockRecorder) ListRootTrustPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyReader)(nil).ListRootTrustPolicy), varargs...) +} + +// MockRootTrustPolicyWriter is a mock of RootTrustPolicyWriter interface. +type MockRootTrustPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockRootTrustPolicyWriterMockRecorder +} + +// MockRootTrustPolicyWriterMockRecorder is the mock recorder for MockRootTrustPolicyWriter. +type MockRootTrustPolicyWriterMockRecorder struct { + mock *MockRootTrustPolicyWriter +} + +// NewMockRootTrustPolicyWriter creates a new mock instance. +func NewMockRootTrustPolicyWriter(ctrl *gomock.Controller) *MockRootTrustPolicyWriter { + mock := &MockRootTrustPolicyWriter{ctrl: ctrl} + mock.recorder = &MockRootTrustPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRootTrustPolicyWriter) EXPECT() *MockRootTrustPolicyWriterMockRecorder { + return m.recorder +} + +// CreateRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyWriter) CreateRootTrustPolicy(ctx context.Context, obj *v2.RootTrustPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRootTrustPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRootTrustPolicy indicates an expected call of CreateRootTrustPolicy. +func (mr *MockRootTrustPolicyWriterMockRecorder) CreateRootTrustPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyWriter)(nil).CreateRootTrustPolicy), varargs...) +} + +// DeleteAllOfRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyWriter) DeleteAllOfRootTrustPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRootTrustPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRootTrustPolicy indicates an expected call of DeleteAllOfRootTrustPolicy. +func (mr *MockRootTrustPolicyWriterMockRecorder) DeleteAllOfRootTrustPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyWriter)(nil).DeleteAllOfRootTrustPolicy), varargs...) +} + +// DeleteRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyWriter) DeleteRootTrustPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRootTrustPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRootTrustPolicy indicates an expected call of DeleteRootTrustPolicy. +func (mr *MockRootTrustPolicyWriterMockRecorder) DeleteRootTrustPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyWriter)(nil).DeleteRootTrustPolicy), varargs...) +} + +// PatchRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyWriter) PatchRootTrustPolicy(ctx context.Context, obj *v2.RootTrustPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRootTrustPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRootTrustPolicy indicates an expected call of PatchRootTrustPolicy. +func (mr *MockRootTrustPolicyWriterMockRecorder) PatchRootTrustPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyWriter)(nil).PatchRootTrustPolicy), varargs...) +} + +// UpdateRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyWriter) UpdateRootTrustPolicy(ctx context.Context, obj *v2.RootTrustPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRootTrustPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRootTrustPolicy indicates an expected call of UpdateRootTrustPolicy. +func (mr *MockRootTrustPolicyWriterMockRecorder) UpdateRootTrustPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyWriter)(nil).UpdateRootTrustPolicy), varargs...) +} + +// UpsertRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyWriter) UpsertRootTrustPolicy(ctx context.Context, obj *v2.RootTrustPolicy, transitionFuncs ...v2.RootTrustPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRootTrustPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRootTrustPolicy indicates an expected call of UpsertRootTrustPolicy. +func (mr *MockRootTrustPolicyWriterMockRecorder) UpsertRootTrustPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyWriter)(nil).UpsertRootTrustPolicy), varargs...) +} + +// MockRootTrustPolicyStatusWriter is a mock of RootTrustPolicyStatusWriter interface. +type MockRootTrustPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockRootTrustPolicyStatusWriterMockRecorder +} + +// MockRootTrustPolicyStatusWriterMockRecorder is the mock recorder for MockRootTrustPolicyStatusWriter. +type MockRootTrustPolicyStatusWriterMockRecorder struct { + mock *MockRootTrustPolicyStatusWriter +} + +// NewMockRootTrustPolicyStatusWriter creates a new mock instance. +func NewMockRootTrustPolicyStatusWriter(ctrl *gomock.Controller) *MockRootTrustPolicyStatusWriter { + mock := &MockRootTrustPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockRootTrustPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRootTrustPolicyStatusWriter) EXPECT() *MockRootTrustPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchRootTrustPolicyStatus mocks base method. +func (m *MockRootTrustPolicyStatusWriter) PatchRootTrustPolicyStatus(ctx context.Context, obj *v2.RootTrustPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRootTrustPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRootTrustPolicyStatus indicates an expected call of PatchRootTrustPolicyStatus. +func (mr *MockRootTrustPolicyStatusWriterMockRecorder) PatchRootTrustPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRootTrustPolicyStatus", reflect.TypeOf((*MockRootTrustPolicyStatusWriter)(nil).PatchRootTrustPolicyStatus), varargs...) +} + +// UpdateRootTrustPolicyStatus mocks base method. +func (m *MockRootTrustPolicyStatusWriter) UpdateRootTrustPolicyStatus(ctx context.Context, obj *v2.RootTrustPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRootTrustPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRootTrustPolicyStatus indicates an expected call of UpdateRootTrustPolicyStatus. +func (mr *MockRootTrustPolicyStatusWriterMockRecorder) UpdateRootTrustPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRootTrustPolicyStatus", reflect.TypeOf((*MockRootTrustPolicyStatusWriter)(nil).UpdateRootTrustPolicyStatus), varargs...) +} + +// MockRootTrustPolicyClient is a mock of RootTrustPolicyClient interface. +type MockRootTrustPolicyClient struct { + ctrl *gomock.Controller + recorder *MockRootTrustPolicyClientMockRecorder +} + +// MockRootTrustPolicyClientMockRecorder is the mock recorder for MockRootTrustPolicyClient. +type MockRootTrustPolicyClientMockRecorder struct { + mock *MockRootTrustPolicyClient +} + +// NewMockRootTrustPolicyClient creates a new mock instance. +func NewMockRootTrustPolicyClient(ctrl *gomock.Controller) *MockRootTrustPolicyClient { + mock := &MockRootTrustPolicyClient{ctrl: ctrl} + mock.recorder = &MockRootTrustPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRootTrustPolicyClient) EXPECT() *MockRootTrustPolicyClientMockRecorder { + return m.recorder +} + +// CreateRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyClient) CreateRootTrustPolicy(ctx context.Context, obj *v2.RootTrustPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRootTrustPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRootTrustPolicy indicates an expected call of CreateRootTrustPolicy. +func (mr *MockRootTrustPolicyClientMockRecorder) CreateRootTrustPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyClient)(nil).CreateRootTrustPolicy), varargs...) +} + +// DeleteAllOfRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyClient) DeleteAllOfRootTrustPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRootTrustPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRootTrustPolicy indicates an expected call of DeleteAllOfRootTrustPolicy. +func (mr *MockRootTrustPolicyClientMockRecorder) DeleteAllOfRootTrustPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyClient)(nil).DeleteAllOfRootTrustPolicy), varargs...) +} + +// DeleteRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyClient) DeleteRootTrustPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRootTrustPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRootTrustPolicy indicates an expected call of DeleteRootTrustPolicy. +func (mr *MockRootTrustPolicyClientMockRecorder) DeleteRootTrustPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyClient)(nil).DeleteRootTrustPolicy), varargs...) +} + +// GetRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyClient) GetRootTrustPolicy(ctx context.Context, key client.ObjectKey) (*v2.RootTrustPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRootTrustPolicy", ctx, key) + ret0, _ := ret[0].(*v2.RootTrustPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRootTrustPolicy indicates an expected call of GetRootTrustPolicy. +func (mr *MockRootTrustPolicyClientMockRecorder) GetRootTrustPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyClient)(nil).GetRootTrustPolicy), ctx, key) +} + +// ListRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyClient) ListRootTrustPolicy(ctx context.Context, opts ...client.ListOption) (*v2.RootTrustPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRootTrustPolicy", varargs...) + ret0, _ := ret[0].(*v2.RootTrustPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRootTrustPolicy indicates an expected call of ListRootTrustPolicy. +func (mr *MockRootTrustPolicyClientMockRecorder) ListRootTrustPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyClient)(nil).ListRootTrustPolicy), varargs...) +} + +// PatchRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyClient) PatchRootTrustPolicy(ctx context.Context, obj *v2.RootTrustPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRootTrustPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRootTrustPolicy indicates an expected call of PatchRootTrustPolicy. +func (mr *MockRootTrustPolicyClientMockRecorder) PatchRootTrustPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyClient)(nil).PatchRootTrustPolicy), varargs...) +} + +// PatchRootTrustPolicyStatus mocks base method. +func (m *MockRootTrustPolicyClient) PatchRootTrustPolicyStatus(ctx context.Context, obj *v2.RootTrustPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRootTrustPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRootTrustPolicyStatus indicates an expected call of PatchRootTrustPolicyStatus. +func (mr *MockRootTrustPolicyClientMockRecorder) PatchRootTrustPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRootTrustPolicyStatus", reflect.TypeOf((*MockRootTrustPolicyClient)(nil).PatchRootTrustPolicyStatus), varargs...) +} + +// UpdateRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyClient) UpdateRootTrustPolicy(ctx context.Context, obj *v2.RootTrustPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRootTrustPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRootTrustPolicy indicates an expected call of UpdateRootTrustPolicy. +func (mr *MockRootTrustPolicyClientMockRecorder) UpdateRootTrustPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyClient)(nil).UpdateRootTrustPolicy), varargs...) +} + +// UpdateRootTrustPolicyStatus mocks base method. +func (m *MockRootTrustPolicyClient) UpdateRootTrustPolicyStatus(ctx context.Context, obj *v2.RootTrustPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRootTrustPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRootTrustPolicyStatus indicates an expected call of UpdateRootTrustPolicyStatus. +func (mr *MockRootTrustPolicyClientMockRecorder) UpdateRootTrustPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRootTrustPolicyStatus", reflect.TypeOf((*MockRootTrustPolicyClient)(nil).UpdateRootTrustPolicyStatus), varargs...) +} + +// UpsertRootTrustPolicy mocks base method. +func (m *MockRootTrustPolicyClient) UpsertRootTrustPolicy(ctx context.Context, obj *v2.RootTrustPolicy, transitionFuncs ...v2.RootTrustPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRootTrustPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRootTrustPolicy indicates an expected call of UpsertRootTrustPolicy. +func (mr *MockRootTrustPolicyClientMockRecorder) UpsertRootTrustPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRootTrustPolicy", reflect.TypeOf((*MockRootTrustPolicyClient)(nil).UpsertRootTrustPolicy), varargs...) +} + +// MockMulticlusterRootTrustPolicyClient is a mock of MulticlusterRootTrustPolicyClient interface. +type MockMulticlusterRootTrustPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRootTrustPolicyClientMockRecorder +} + +// MockMulticlusterRootTrustPolicyClientMockRecorder is the mock recorder for MockMulticlusterRootTrustPolicyClient. +type MockMulticlusterRootTrustPolicyClientMockRecorder struct { + mock *MockMulticlusterRootTrustPolicyClient +} + +// NewMockMulticlusterRootTrustPolicyClient creates a new mock instance. +func NewMockMulticlusterRootTrustPolicyClient(ctrl *gomock.Controller) *MockMulticlusterRootTrustPolicyClient { + mock := &MockMulticlusterRootTrustPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterRootTrustPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRootTrustPolicyClient) EXPECT() *MockMulticlusterRootTrustPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterRootTrustPolicyClient) Cluster(cluster string) (v2.RootTrustPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.RootTrustPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterRootTrustPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterRootTrustPolicyClient)(nil).Cluster), cluster) +} + +// MockExtAuthServerReader is a mock of ExtAuthServerReader interface. +type MockExtAuthServerReader struct { + ctrl *gomock.Controller + recorder *MockExtAuthServerReaderMockRecorder +} + +// MockExtAuthServerReaderMockRecorder is the mock recorder for MockExtAuthServerReader. +type MockExtAuthServerReaderMockRecorder struct { + mock *MockExtAuthServerReader +} + +// NewMockExtAuthServerReader creates a new mock instance. +func NewMockExtAuthServerReader(ctrl *gomock.Controller) *MockExtAuthServerReader { + mock := &MockExtAuthServerReader{ctrl: ctrl} + mock.recorder = &MockExtAuthServerReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthServerReader) EXPECT() *MockExtAuthServerReaderMockRecorder { + return m.recorder +} + +// GetExtAuthServer mocks base method. +func (m *MockExtAuthServerReader) GetExtAuthServer(ctx context.Context, key client.ObjectKey) (*v2.ExtAuthServer, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetExtAuthServer", ctx, key) + ret0, _ := ret[0].(*v2.ExtAuthServer) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetExtAuthServer indicates an expected call of GetExtAuthServer. +func (mr *MockExtAuthServerReaderMockRecorder) GetExtAuthServer(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetExtAuthServer", reflect.TypeOf((*MockExtAuthServerReader)(nil).GetExtAuthServer), ctx, key) +} + +// ListExtAuthServer mocks base method. +func (m *MockExtAuthServerReader) ListExtAuthServer(ctx context.Context, opts ...client.ListOption) (*v2.ExtAuthServerList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListExtAuthServer", varargs...) + ret0, _ := ret[0].(*v2.ExtAuthServerList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListExtAuthServer indicates an expected call of ListExtAuthServer. +func (mr *MockExtAuthServerReaderMockRecorder) ListExtAuthServer(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListExtAuthServer", reflect.TypeOf((*MockExtAuthServerReader)(nil).ListExtAuthServer), varargs...) +} + +// MockExtAuthServerWriter is a mock of ExtAuthServerWriter interface. +type MockExtAuthServerWriter struct { + ctrl *gomock.Controller + recorder *MockExtAuthServerWriterMockRecorder +} + +// MockExtAuthServerWriterMockRecorder is the mock recorder for MockExtAuthServerWriter. +type MockExtAuthServerWriterMockRecorder struct { + mock *MockExtAuthServerWriter +} + +// NewMockExtAuthServerWriter creates a new mock instance. +func NewMockExtAuthServerWriter(ctrl *gomock.Controller) *MockExtAuthServerWriter { + mock := &MockExtAuthServerWriter{ctrl: ctrl} + mock.recorder = &MockExtAuthServerWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthServerWriter) EXPECT() *MockExtAuthServerWriterMockRecorder { + return m.recorder +} + +// CreateExtAuthServer mocks base method. +func (m *MockExtAuthServerWriter) CreateExtAuthServer(ctx context.Context, obj *v2.ExtAuthServer, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateExtAuthServer", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExtAuthServer indicates an expected call of CreateExtAuthServer. +func (mr *MockExtAuthServerWriterMockRecorder) CreateExtAuthServer(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExtAuthServer", reflect.TypeOf((*MockExtAuthServerWriter)(nil).CreateExtAuthServer), varargs...) +} + +// DeleteAllOfExtAuthServer mocks base method. +func (m *MockExtAuthServerWriter) DeleteAllOfExtAuthServer(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfExtAuthServer", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfExtAuthServer indicates an expected call of DeleteAllOfExtAuthServer. +func (mr *MockExtAuthServerWriterMockRecorder) DeleteAllOfExtAuthServer(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfExtAuthServer", reflect.TypeOf((*MockExtAuthServerWriter)(nil).DeleteAllOfExtAuthServer), varargs...) +} + +// DeleteExtAuthServer mocks base method. +func (m *MockExtAuthServerWriter) DeleteExtAuthServer(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteExtAuthServer", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExtAuthServer indicates an expected call of DeleteExtAuthServer. +func (mr *MockExtAuthServerWriterMockRecorder) DeleteExtAuthServer(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExtAuthServer", reflect.TypeOf((*MockExtAuthServerWriter)(nil).DeleteExtAuthServer), varargs...) +} + +// PatchExtAuthServer mocks base method. +func (m *MockExtAuthServerWriter) PatchExtAuthServer(ctx context.Context, obj *v2.ExtAuthServer, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExtAuthServer", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExtAuthServer indicates an expected call of PatchExtAuthServer. +func (mr *MockExtAuthServerWriterMockRecorder) PatchExtAuthServer(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExtAuthServer", reflect.TypeOf((*MockExtAuthServerWriter)(nil).PatchExtAuthServer), varargs...) +} + +// UpdateExtAuthServer mocks base method. +func (m *MockExtAuthServerWriter) UpdateExtAuthServer(ctx context.Context, obj *v2.ExtAuthServer, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExtAuthServer", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExtAuthServer indicates an expected call of UpdateExtAuthServer. +func (mr *MockExtAuthServerWriterMockRecorder) UpdateExtAuthServer(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExtAuthServer", reflect.TypeOf((*MockExtAuthServerWriter)(nil).UpdateExtAuthServer), varargs...) +} + +// UpsertExtAuthServer mocks base method. +func (m *MockExtAuthServerWriter) UpsertExtAuthServer(ctx context.Context, obj *v2.ExtAuthServer, transitionFuncs ...v2.ExtAuthServerTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertExtAuthServer", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertExtAuthServer indicates an expected call of UpsertExtAuthServer. +func (mr *MockExtAuthServerWriterMockRecorder) UpsertExtAuthServer(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertExtAuthServer", reflect.TypeOf((*MockExtAuthServerWriter)(nil).UpsertExtAuthServer), varargs...) +} + +// MockExtAuthServerStatusWriter is a mock of ExtAuthServerStatusWriter interface. +type MockExtAuthServerStatusWriter struct { + ctrl *gomock.Controller + recorder *MockExtAuthServerStatusWriterMockRecorder +} + +// MockExtAuthServerStatusWriterMockRecorder is the mock recorder for MockExtAuthServerStatusWriter. +type MockExtAuthServerStatusWriterMockRecorder struct { + mock *MockExtAuthServerStatusWriter +} + +// NewMockExtAuthServerStatusWriter creates a new mock instance. +func NewMockExtAuthServerStatusWriter(ctrl *gomock.Controller) *MockExtAuthServerStatusWriter { + mock := &MockExtAuthServerStatusWriter{ctrl: ctrl} + mock.recorder = &MockExtAuthServerStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthServerStatusWriter) EXPECT() *MockExtAuthServerStatusWriterMockRecorder { + return m.recorder +} + +// PatchExtAuthServerStatus mocks base method. +func (m *MockExtAuthServerStatusWriter) PatchExtAuthServerStatus(ctx context.Context, obj *v2.ExtAuthServer, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExtAuthServerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExtAuthServerStatus indicates an expected call of PatchExtAuthServerStatus. +func (mr *MockExtAuthServerStatusWriterMockRecorder) PatchExtAuthServerStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExtAuthServerStatus", reflect.TypeOf((*MockExtAuthServerStatusWriter)(nil).PatchExtAuthServerStatus), varargs...) +} + +// UpdateExtAuthServerStatus mocks base method. +func (m *MockExtAuthServerStatusWriter) UpdateExtAuthServerStatus(ctx context.Context, obj *v2.ExtAuthServer, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExtAuthServerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExtAuthServerStatus indicates an expected call of UpdateExtAuthServerStatus. +func (mr *MockExtAuthServerStatusWriterMockRecorder) UpdateExtAuthServerStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExtAuthServerStatus", reflect.TypeOf((*MockExtAuthServerStatusWriter)(nil).UpdateExtAuthServerStatus), varargs...) +} + +// MockExtAuthServerClient is a mock of ExtAuthServerClient interface. +type MockExtAuthServerClient struct { + ctrl *gomock.Controller + recorder *MockExtAuthServerClientMockRecorder +} + +// MockExtAuthServerClientMockRecorder is the mock recorder for MockExtAuthServerClient. +type MockExtAuthServerClientMockRecorder struct { + mock *MockExtAuthServerClient +} + +// NewMockExtAuthServerClient creates a new mock instance. +func NewMockExtAuthServerClient(ctrl *gomock.Controller) *MockExtAuthServerClient { + mock := &MockExtAuthServerClient{ctrl: ctrl} + mock.recorder = &MockExtAuthServerClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthServerClient) EXPECT() *MockExtAuthServerClientMockRecorder { + return m.recorder +} + +// CreateExtAuthServer mocks base method. +func (m *MockExtAuthServerClient) CreateExtAuthServer(ctx context.Context, obj *v2.ExtAuthServer, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateExtAuthServer", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExtAuthServer indicates an expected call of CreateExtAuthServer. +func (mr *MockExtAuthServerClientMockRecorder) CreateExtAuthServer(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExtAuthServer", reflect.TypeOf((*MockExtAuthServerClient)(nil).CreateExtAuthServer), varargs...) +} + +// DeleteAllOfExtAuthServer mocks base method. +func (m *MockExtAuthServerClient) DeleteAllOfExtAuthServer(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfExtAuthServer", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfExtAuthServer indicates an expected call of DeleteAllOfExtAuthServer. +func (mr *MockExtAuthServerClientMockRecorder) DeleteAllOfExtAuthServer(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfExtAuthServer", reflect.TypeOf((*MockExtAuthServerClient)(nil).DeleteAllOfExtAuthServer), varargs...) +} + +// DeleteExtAuthServer mocks base method. +func (m *MockExtAuthServerClient) DeleteExtAuthServer(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteExtAuthServer", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExtAuthServer indicates an expected call of DeleteExtAuthServer. +func (mr *MockExtAuthServerClientMockRecorder) DeleteExtAuthServer(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExtAuthServer", reflect.TypeOf((*MockExtAuthServerClient)(nil).DeleteExtAuthServer), varargs...) +} + +// GetExtAuthServer mocks base method. +func (m *MockExtAuthServerClient) GetExtAuthServer(ctx context.Context, key client.ObjectKey) (*v2.ExtAuthServer, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetExtAuthServer", ctx, key) + ret0, _ := ret[0].(*v2.ExtAuthServer) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetExtAuthServer indicates an expected call of GetExtAuthServer. +func (mr *MockExtAuthServerClientMockRecorder) GetExtAuthServer(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetExtAuthServer", reflect.TypeOf((*MockExtAuthServerClient)(nil).GetExtAuthServer), ctx, key) +} + +// ListExtAuthServer mocks base method. +func (m *MockExtAuthServerClient) ListExtAuthServer(ctx context.Context, opts ...client.ListOption) (*v2.ExtAuthServerList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListExtAuthServer", varargs...) + ret0, _ := ret[0].(*v2.ExtAuthServerList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListExtAuthServer indicates an expected call of ListExtAuthServer. +func (mr *MockExtAuthServerClientMockRecorder) ListExtAuthServer(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListExtAuthServer", reflect.TypeOf((*MockExtAuthServerClient)(nil).ListExtAuthServer), varargs...) +} + +// PatchExtAuthServer mocks base method. +func (m *MockExtAuthServerClient) PatchExtAuthServer(ctx context.Context, obj *v2.ExtAuthServer, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExtAuthServer", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExtAuthServer indicates an expected call of PatchExtAuthServer. +func (mr *MockExtAuthServerClientMockRecorder) PatchExtAuthServer(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExtAuthServer", reflect.TypeOf((*MockExtAuthServerClient)(nil).PatchExtAuthServer), varargs...) +} + +// PatchExtAuthServerStatus mocks base method. +func (m *MockExtAuthServerClient) PatchExtAuthServerStatus(ctx context.Context, obj *v2.ExtAuthServer, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExtAuthServerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExtAuthServerStatus indicates an expected call of PatchExtAuthServerStatus. +func (mr *MockExtAuthServerClientMockRecorder) PatchExtAuthServerStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExtAuthServerStatus", reflect.TypeOf((*MockExtAuthServerClient)(nil).PatchExtAuthServerStatus), varargs...) +} + +// UpdateExtAuthServer mocks base method. +func (m *MockExtAuthServerClient) UpdateExtAuthServer(ctx context.Context, obj *v2.ExtAuthServer, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExtAuthServer", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExtAuthServer indicates an expected call of UpdateExtAuthServer. +func (mr *MockExtAuthServerClientMockRecorder) UpdateExtAuthServer(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExtAuthServer", reflect.TypeOf((*MockExtAuthServerClient)(nil).UpdateExtAuthServer), varargs...) +} + +// UpdateExtAuthServerStatus mocks base method. +func (m *MockExtAuthServerClient) UpdateExtAuthServerStatus(ctx context.Context, obj *v2.ExtAuthServer, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExtAuthServerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExtAuthServerStatus indicates an expected call of UpdateExtAuthServerStatus. +func (mr *MockExtAuthServerClientMockRecorder) UpdateExtAuthServerStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExtAuthServerStatus", reflect.TypeOf((*MockExtAuthServerClient)(nil).UpdateExtAuthServerStatus), varargs...) +} + +// UpsertExtAuthServer mocks base method. +func (m *MockExtAuthServerClient) UpsertExtAuthServer(ctx context.Context, obj *v2.ExtAuthServer, transitionFuncs ...v2.ExtAuthServerTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertExtAuthServer", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertExtAuthServer indicates an expected call of UpsertExtAuthServer. +func (mr *MockExtAuthServerClientMockRecorder) UpsertExtAuthServer(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertExtAuthServer", reflect.TypeOf((*MockExtAuthServerClient)(nil).UpsertExtAuthServer), varargs...) +} + +// MockMulticlusterExtAuthServerClient is a mock of MulticlusterExtAuthServerClient interface. +type MockMulticlusterExtAuthServerClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExtAuthServerClientMockRecorder +} + +// MockMulticlusterExtAuthServerClientMockRecorder is the mock recorder for MockMulticlusterExtAuthServerClient. +type MockMulticlusterExtAuthServerClientMockRecorder struct { + mock *MockMulticlusterExtAuthServerClient +} + +// NewMockMulticlusterExtAuthServerClient creates a new mock instance. +func NewMockMulticlusterExtAuthServerClient(ctrl *gomock.Controller) *MockMulticlusterExtAuthServerClient { + mock := &MockMulticlusterExtAuthServerClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterExtAuthServerClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExtAuthServerClient) EXPECT() *MockMulticlusterExtAuthServerClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterExtAuthServerClient) Cluster(cluster string) (v2.ExtAuthServerClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.ExtAuthServerClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterExtAuthServerClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterExtAuthServerClient)(nil).Cluster), cluster) +} + +// MockRateLimitServerSettingsReader is a mock of RateLimitServerSettingsReader interface. +type MockRateLimitServerSettingsReader struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerSettingsReaderMockRecorder +} + +// MockRateLimitServerSettingsReaderMockRecorder is the mock recorder for MockRateLimitServerSettingsReader. +type MockRateLimitServerSettingsReaderMockRecorder struct { + mock *MockRateLimitServerSettingsReader +} + +// NewMockRateLimitServerSettingsReader creates a new mock instance. +func NewMockRateLimitServerSettingsReader(ctrl *gomock.Controller) *MockRateLimitServerSettingsReader { + mock := &MockRateLimitServerSettingsReader{ctrl: ctrl} + mock.recorder = &MockRateLimitServerSettingsReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerSettingsReader) EXPECT() *MockRateLimitServerSettingsReaderMockRecorder { + return m.recorder +} + +// GetRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsReader) GetRateLimitServerSettings(ctx context.Context, key client.ObjectKey) (*v2.RateLimitServerSettings, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRateLimitServerSettings", ctx, key) + ret0, _ := ret[0].(*v2.RateLimitServerSettings) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRateLimitServerSettings indicates an expected call of GetRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsReaderMockRecorder) GetRateLimitServerSettings(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsReader)(nil).GetRateLimitServerSettings), ctx, key) +} + +// ListRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsReader) ListRateLimitServerSettings(ctx context.Context, opts ...client.ListOption) (*v2.RateLimitServerSettingsList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(*v2.RateLimitServerSettingsList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRateLimitServerSettings indicates an expected call of ListRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsReaderMockRecorder) ListRateLimitServerSettings(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsReader)(nil).ListRateLimitServerSettings), varargs...) +} + +// MockRateLimitServerSettingsWriter is a mock of RateLimitServerSettingsWriter interface. +type MockRateLimitServerSettingsWriter struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerSettingsWriterMockRecorder +} + +// MockRateLimitServerSettingsWriterMockRecorder is the mock recorder for MockRateLimitServerSettingsWriter. +type MockRateLimitServerSettingsWriterMockRecorder struct { + mock *MockRateLimitServerSettingsWriter +} + +// NewMockRateLimitServerSettingsWriter creates a new mock instance. +func NewMockRateLimitServerSettingsWriter(ctrl *gomock.Controller) *MockRateLimitServerSettingsWriter { + mock := &MockRateLimitServerSettingsWriter{ctrl: ctrl} + mock.recorder = &MockRateLimitServerSettingsWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerSettingsWriter) EXPECT() *MockRateLimitServerSettingsWriterMockRecorder { + return m.recorder +} + +// CreateRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsWriter) CreateRateLimitServerSettings(ctx context.Context, obj *v2.RateLimitServerSettings, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRateLimitServerSettings indicates an expected call of CreateRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsWriterMockRecorder) CreateRateLimitServerSettings(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsWriter)(nil).CreateRateLimitServerSettings), varargs...) +} + +// DeleteAllOfRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsWriter) DeleteAllOfRateLimitServerSettings(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRateLimitServerSettings indicates an expected call of DeleteAllOfRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsWriterMockRecorder) DeleteAllOfRateLimitServerSettings(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsWriter)(nil).DeleteAllOfRateLimitServerSettings), varargs...) +} + +// DeleteRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsWriter) DeleteRateLimitServerSettings(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRateLimitServerSettings indicates an expected call of DeleteRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsWriterMockRecorder) DeleteRateLimitServerSettings(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsWriter)(nil).DeleteRateLimitServerSettings), varargs...) +} + +// PatchRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsWriter) PatchRateLimitServerSettings(ctx context.Context, obj *v2.RateLimitServerSettings, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitServerSettings indicates an expected call of PatchRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsWriterMockRecorder) PatchRateLimitServerSettings(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsWriter)(nil).PatchRateLimitServerSettings), varargs...) +} + +// UpdateRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsWriter) UpdateRateLimitServerSettings(ctx context.Context, obj *v2.RateLimitServerSettings, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitServerSettings indicates an expected call of UpdateRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsWriterMockRecorder) UpdateRateLimitServerSettings(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsWriter)(nil).UpdateRateLimitServerSettings), varargs...) +} + +// UpsertRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsWriter) UpsertRateLimitServerSettings(ctx context.Context, obj *v2.RateLimitServerSettings, transitionFuncs ...v2.RateLimitServerSettingsTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRateLimitServerSettings indicates an expected call of UpsertRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsWriterMockRecorder) UpsertRateLimitServerSettings(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsWriter)(nil).UpsertRateLimitServerSettings), varargs...) +} + +// MockRateLimitServerSettingsStatusWriter is a mock of RateLimitServerSettingsStatusWriter interface. +type MockRateLimitServerSettingsStatusWriter struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerSettingsStatusWriterMockRecorder +} + +// MockRateLimitServerSettingsStatusWriterMockRecorder is the mock recorder for MockRateLimitServerSettingsStatusWriter. +type MockRateLimitServerSettingsStatusWriterMockRecorder struct { + mock *MockRateLimitServerSettingsStatusWriter +} + +// NewMockRateLimitServerSettingsStatusWriter creates a new mock instance. +func NewMockRateLimitServerSettingsStatusWriter(ctrl *gomock.Controller) *MockRateLimitServerSettingsStatusWriter { + mock := &MockRateLimitServerSettingsStatusWriter{ctrl: ctrl} + mock.recorder = &MockRateLimitServerSettingsStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerSettingsStatusWriter) EXPECT() *MockRateLimitServerSettingsStatusWriterMockRecorder { + return m.recorder +} + +// PatchRateLimitServerSettingsStatus mocks base method. +func (m *MockRateLimitServerSettingsStatusWriter) PatchRateLimitServerSettingsStatus(ctx context.Context, obj *v2.RateLimitServerSettings, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitServerSettingsStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitServerSettingsStatus indicates an expected call of PatchRateLimitServerSettingsStatus. +func (mr *MockRateLimitServerSettingsStatusWriterMockRecorder) PatchRateLimitServerSettingsStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitServerSettingsStatus", reflect.TypeOf((*MockRateLimitServerSettingsStatusWriter)(nil).PatchRateLimitServerSettingsStatus), varargs...) +} + +// UpdateRateLimitServerSettingsStatus mocks base method. +func (m *MockRateLimitServerSettingsStatusWriter) UpdateRateLimitServerSettingsStatus(ctx context.Context, obj *v2.RateLimitServerSettings, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitServerSettingsStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitServerSettingsStatus indicates an expected call of UpdateRateLimitServerSettingsStatus. +func (mr *MockRateLimitServerSettingsStatusWriterMockRecorder) UpdateRateLimitServerSettingsStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitServerSettingsStatus", reflect.TypeOf((*MockRateLimitServerSettingsStatusWriter)(nil).UpdateRateLimitServerSettingsStatus), varargs...) +} + +// MockRateLimitServerSettingsClient is a mock of RateLimitServerSettingsClient interface. +type MockRateLimitServerSettingsClient struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerSettingsClientMockRecorder +} + +// MockRateLimitServerSettingsClientMockRecorder is the mock recorder for MockRateLimitServerSettingsClient. +type MockRateLimitServerSettingsClientMockRecorder struct { + mock *MockRateLimitServerSettingsClient +} + +// NewMockRateLimitServerSettingsClient creates a new mock instance. +func NewMockRateLimitServerSettingsClient(ctrl *gomock.Controller) *MockRateLimitServerSettingsClient { + mock := &MockRateLimitServerSettingsClient{ctrl: ctrl} + mock.recorder = &MockRateLimitServerSettingsClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerSettingsClient) EXPECT() *MockRateLimitServerSettingsClientMockRecorder { + return m.recorder +} + +// CreateRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsClient) CreateRateLimitServerSettings(ctx context.Context, obj *v2.RateLimitServerSettings, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRateLimitServerSettings indicates an expected call of CreateRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsClientMockRecorder) CreateRateLimitServerSettings(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsClient)(nil).CreateRateLimitServerSettings), varargs...) +} + +// DeleteAllOfRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsClient) DeleteAllOfRateLimitServerSettings(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRateLimitServerSettings indicates an expected call of DeleteAllOfRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsClientMockRecorder) DeleteAllOfRateLimitServerSettings(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsClient)(nil).DeleteAllOfRateLimitServerSettings), varargs...) +} + +// DeleteRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsClient) DeleteRateLimitServerSettings(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRateLimitServerSettings indicates an expected call of DeleteRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsClientMockRecorder) DeleteRateLimitServerSettings(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsClient)(nil).DeleteRateLimitServerSettings), varargs...) +} + +// GetRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsClient) GetRateLimitServerSettings(ctx context.Context, key client.ObjectKey) (*v2.RateLimitServerSettings, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRateLimitServerSettings", ctx, key) + ret0, _ := ret[0].(*v2.RateLimitServerSettings) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRateLimitServerSettings indicates an expected call of GetRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsClientMockRecorder) GetRateLimitServerSettings(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsClient)(nil).GetRateLimitServerSettings), ctx, key) +} + +// ListRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsClient) ListRateLimitServerSettings(ctx context.Context, opts ...client.ListOption) (*v2.RateLimitServerSettingsList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(*v2.RateLimitServerSettingsList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRateLimitServerSettings indicates an expected call of ListRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsClientMockRecorder) ListRateLimitServerSettings(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsClient)(nil).ListRateLimitServerSettings), varargs...) +} + +// PatchRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsClient) PatchRateLimitServerSettings(ctx context.Context, obj *v2.RateLimitServerSettings, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitServerSettings indicates an expected call of PatchRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsClientMockRecorder) PatchRateLimitServerSettings(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsClient)(nil).PatchRateLimitServerSettings), varargs...) +} + +// PatchRateLimitServerSettingsStatus mocks base method. +func (m *MockRateLimitServerSettingsClient) PatchRateLimitServerSettingsStatus(ctx context.Context, obj *v2.RateLimitServerSettings, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitServerSettingsStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitServerSettingsStatus indicates an expected call of PatchRateLimitServerSettingsStatus. +func (mr *MockRateLimitServerSettingsClientMockRecorder) PatchRateLimitServerSettingsStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitServerSettingsStatus", reflect.TypeOf((*MockRateLimitServerSettingsClient)(nil).PatchRateLimitServerSettingsStatus), varargs...) +} + +// UpdateRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsClient) UpdateRateLimitServerSettings(ctx context.Context, obj *v2.RateLimitServerSettings, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitServerSettings indicates an expected call of UpdateRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsClientMockRecorder) UpdateRateLimitServerSettings(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsClient)(nil).UpdateRateLimitServerSettings), varargs...) +} + +// UpdateRateLimitServerSettingsStatus mocks base method. +func (m *MockRateLimitServerSettingsClient) UpdateRateLimitServerSettingsStatus(ctx context.Context, obj *v2.RateLimitServerSettings, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitServerSettingsStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitServerSettingsStatus indicates an expected call of UpdateRateLimitServerSettingsStatus. +func (mr *MockRateLimitServerSettingsClientMockRecorder) UpdateRateLimitServerSettingsStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitServerSettingsStatus", reflect.TypeOf((*MockRateLimitServerSettingsClient)(nil).UpdateRateLimitServerSettingsStatus), varargs...) +} + +// UpsertRateLimitServerSettings mocks base method. +func (m *MockRateLimitServerSettingsClient) UpsertRateLimitServerSettings(ctx context.Context, obj *v2.RateLimitServerSettings, transitionFuncs ...v2.RateLimitServerSettingsTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRateLimitServerSettings", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRateLimitServerSettings indicates an expected call of UpsertRateLimitServerSettings. +func (mr *MockRateLimitServerSettingsClientMockRecorder) UpsertRateLimitServerSettings(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRateLimitServerSettings", reflect.TypeOf((*MockRateLimitServerSettingsClient)(nil).UpsertRateLimitServerSettings), varargs...) +} + +// MockMulticlusterRateLimitServerSettingsClient is a mock of MulticlusterRateLimitServerSettingsClient interface. +type MockMulticlusterRateLimitServerSettingsClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitServerSettingsClientMockRecorder +} + +// MockMulticlusterRateLimitServerSettingsClientMockRecorder is the mock recorder for MockMulticlusterRateLimitServerSettingsClient. +type MockMulticlusterRateLimitServerSettingsClientMockRecorder struct { + mock *MockMulticlusterRateLimitServerSettingsClient +} + +// NewMockMulticlusterRateLimitServerSettingsClient creates a new mock instance. +func NewMockMulticlusterRateLimitServerSettingsClient(ctrl *gomock.Controller) *MockMulticlusterRateLimitServerSettingsClient { + mock := &MockMulticlusterRateLimitServerSettingsClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitServerSettingsClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitServerSettingsClient) EXPECT() *MockMulticlusterRateLimitServerSettingsClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterRateLimitServerSettingsClient) Cluster(cluster string) (v2.RateLimitServerSettingsClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.RateLimitServerSettingsClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterRateLimitServerSettingsClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterRateLimitServerSettingsClient)(nil).Cluster), cluster) +} + +// MockRateLimitServerConfigReader is a mock of RateLimitServerConfigReader interface. +type MockRateLimitServerConfigReader struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerConfigReaderMockRecorder +} + +// MockRateLimitServerConfigReaderMockRecorder is the mock recorder for MockRateLimitServerConfigReader. +type MockRateLimitServerConfigReaderMockRecorder struct { + mock *MockRateLimitServerConfigReader +} + +// NewMockRateLimitServerConfigReader creates a new mock instance. +func NewMockRateLimitServerConfigReader(ctrl *gomock.Controller) *MockRateLimitServerConfigReader { + mock := &MockRateLimitServerConfigReader{ctrl: ctrl} + mock.recorder = &MockRateLimitServerConfigReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerConfigReader) EXPECT() *MockRateLimitServerConfigReaderMockRecorder { + return m.recorder +} + +// GetRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigReader) GetRateLimitServerConfig(ctx context.Context, key client.ObjectKey) (*v2.RateLimitServerConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRateLimitServerConfig", ctx, key) + ret0, _ := ret[0].(*v2.RateLimitServerConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRateLimitServerConfig indicates an expected call of GetRateLimitServerConfig. +func (mr *MockRateLimitServerConfigReaderMockRecorder) GetRateLimitServerConfig(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigReader)(nil).GetRateLimitServerConfig), ctx, key) +} + +// ListRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigReader) ListRateLimitServerConfig(ctx context.Context, opts ...client.ListOption) (*v2.RateLimitServerConfigList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(*v2.RateLimitServerConfigList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRateLimitServerConfig indicates an expected call of ListRateLimitServerConfig. +func (mr *MockRateLimitServerConfigReaderMockRecorder) ListRateLimitServerConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigReader)(nil).ListRateLimitServerConfig), varargs...) +} + +// MockRateLimitServerConfigWriter is a mock of RateLimitServerConfigWriter interface. +type MockRateLimitServerConfigWriter struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerConfigWriterMockRecorder +} + +// MockRateLimitServerConfigWriterMockRecorder is the mock recorder for MockRateLimitServerConfigWriter. +type MockRateLimitServerConfigWriterMockRecorder struct { + mock *MockRateLimitServerConfigWriter +} + +// NewMockRateLimitServerConfigWriter creates a new mock instance. +func NewMockRateLimitServerConfigWriter(ctrl *gomock.Controller) *MockRateLimitServerConfigWriter { + mock := &MockRateLimitServerConfigWriter{ctrl: ctrl} + mock.recorder = &MockRateLimitServerConfigWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerConfigWriter) EXPECT() *MockRateLimitServerConfigWriterMockRecorder { + return m.recorder +} + +// CreateRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigWriter) CreateRateLimitServerConfig(ctx context.Context, obj *v2.RateLimitServerConfig, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRateLimitServerConfig indicates an expected call of CreateRateLimitServerConfig. +func (mr *MockRateLimitServerConfigWriterMockRecorder) CreateRateLimitServerConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigWriter)(nil).CreateRateLimitServerConfig), varargs...) +} + +// DeleteAllOfRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigWriter) DeleteAllOfRateLimitServerConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRateLimitServerConfig indicates an expected call of DeleteAllOfRateLimitServerConfig. +func (mr *MockRateLimitServerConfigWriterMockRecorder) DeleteAllOfRateLimitServerConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigWriter)(nil).DeleteAllOfRateLimitServerConfig), varargs...) +} + +// DeleteRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigWriter) DeleteRateLimitServerConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRateLimitServerConfig indicates an expected call of DeleteRateLimitServerConfig. +func (mr *MockRateLimitServerConfigWriterMockRecorder) DeleteRateLimitServerConfig(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigWriter)(nil).DeleteRateLimitServerConfig), varargs...) +} + +// PatchRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigWriter) PatchRateLimitServerConfig(ctx context.Context, obj *v2.RateLimitServerConfig, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitServerConfig indicates an expected call of PatchRateLimitServerConfig. +func (mr *MockRateLimitServerConfigWriterMockRecorder) PatchRateLimitServerConfig(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigWriter)(nil).PatchRateLimitServerConfig), varargs...) +} + +// UpdateRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigWriter) UpdateRateLimitServerConfig(ctx context.Context, obj *v2.RateLimitServerConfig, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitServerConfig indicates an expected call of UpdateRateLimitServerConfig. +func (mr *MockRateLimitServerConfigWriterMockRecorder) UpdateRateLimitServerConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigWriter)(nil).UpdateRateLimitServerConfig), varargs...) +} + +// UpsertRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigWriter) UpsertRateLimitServerConfig(ctx context.Context, obj *v2.RateLimitServerConfig, transitionFuncs ...v2.RateLimitServerConfigTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRateLimitServerConfig indicates an expected call of UpsertRateLimitServerConfig. +func (mr *MockRateLimitServerConfigWriterMockRecorder) UpsertRateLimitServerConfig(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigWriter)(nil).UpsertRateLimitServerConfig), varargs...) +} + +// MockRateLimitServerConfigStatusWriter is a mock of RateLimitServerConfigStatusWriter interface. +type MockRateLimitServerConfigStatusWriter struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerConfigStatusWriterMockRecorder +} + +// MockRateLimitServerConfigStatusWriterMockRecorder is the mock recorder for MockRateLimitServerConfigStatusWriter. +type MockRateLimitServerConfigStatusWriterMockRecorder struct { + mock *MockRateLimitServerConfigStatusWriter +} + +// NewMockRateLimitServerConfigStatusWriter creates a new mock instance. +func NewMockRateLimitServerConfigStatusWriter(ctrl *gomock.Controller) *MockRateLimitServerConfigStatusWriter { + mock := &MockRateLimitServerConfigStatusWriter{ctrl: ctrl} + mock.recorder = &MockRateLimitServerConfigStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerConfigStatusWriter) EXPECT() *MockRateLimitServerConfigStatusWriterMockRecorder { + return m.recorder +} + +// PatchRateLimitServerConfigStatus mocks base method. +func (m *MockRateLimitServerConfigStatusWriter) PatchRateLimitServerConfigStatus(ctx context.Context, obj *v2.RateLimitServerConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitServerConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitServerConfigStatus indicates an expected call of PatchRateLimitServerConfigStatus. +func (mr *MockRateLimitServerConfigStatusWriterMockRecorder) PatchRateLimitServerConfigStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitServerConfigStatus", reflect.TypeOf((*MockRateLimitServerConfigStatusWriter)(nil).PatchRateLimitServerConfigStatus), varargs...) +} + +// UpdateRateLimitServerConfigStatus mocks base method. +func (m *MockRateLimitServerConfigStatusWriter) UpdateRateLimitServerConfigStatus(ctx context.Context, obj *v2.RateLimitServerConfig, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitServerConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitServerConfigStatus indicates an expected call of UpdateRateLimitServerConfigStatus. +func (mr *MockRateLimitServerConfigStatusWriterMockRecorder) UpdateRateLimitServerConfigStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitServerConfigStatus", reflect.TypeOf((*MockRateLimitServerConfigStatusWriter)(nil).UpdateRateLimitServerConfigStatus), varargs...) +} + +// MockRateLimitServerConfigClient is a mock of RateLimitServerConfigClient interface. +type MockRateLimitServerConfigClient struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerConfigClientMockRecorder +} + +// MockRateLimitServerConfigClientMockRecorder is the mock recorder for MockRateLimitServerConfigClient. +type MockRateLimitServerConfigClientMockRecorder struct { + mock *MockRateLimitServerConfigClient +} + +// NewMockRateLimitServerConfigClient creates a new mock instance. +func NewMockRateLimitServerConfigClient(ctrl *gomock.Controller) *MockRateLimitServerConfigClient { + mock := &MockRateLimitServerConfigClient{ctrl: ctrl} + mock.recorder = &MockRateLimitServerConfigClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerConfigClient) EXPECT() *MockRateLimitServerConfigClientMockRecorder { + return m.recorder +} + +// CreateRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigClient) CreateRateLimitServerConfig(ctx context.Context, obj *v2.RateLimitServerConfig, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRateLimitServerConfig indicates an expected call of CreateRateLimitServerConfig. +func (mr *MockRateLimitServerConfigClientMockRecorder) CreateRateLimitServerConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigClient)(nil).CreateRateLimitServerConfig), varargs...) +} + +// DeleteAllOfRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigClient) DeleteAllOfRateLimitServerConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRateLimitServerConfig indicates an expected call of DeleteAllOfRateLimitServerConfig. +func (mr *MockRateLimitServerConfigClientMockRecorder) DeleteAllOfRateLimitServerConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigClient)(nil).DeleteAllOfRateLimitServerConfig), varargs...) +} + +// DeleteRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigClient) DeleteRateLimitServerConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRateLimitServerConfig indicates an expected call of DeleteRateLimitServerConfig. +func (mr *MockRateLimitServerConfigClientMockRecorder) DeleteRateLimitServerConfig(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigClient)(nil).DeleteRateLimitServerConfig), varargs...) +} + +// GetRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigClient) GetRateLimitServerConfig(ctx context.Context, key client.ObjectKey) (*v2.RateLimitServerConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRateLimitServerConfig", ctx, key) + ret0, _ := ret[0].(*v2.RateLimitServerConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRateLimitServerConfig indicates an expected call of GetRateLimitServerConfig. +func (mr *MockRateLimitServerConfigClientMockRecorder) GetRateLimitServerConfig(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigClient)(nil).GetRateLimitServerConfig), ctx, key) +} + +// ListRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigClient) ListRateLimitServerConfig(ctx context.Context, opts ...client.ListOption) (*v2.RateLimitServerConfigList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(*v2.RateLimitServerConfigList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRateLimitServerConfig indicates an expected call of ListRateLimitServerConfig. +func (mr *MockRateLimitServerConfigClientMockRecorder) ListRateLimitServerConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigClient)(nil).ListRateLimitServerConfig), varargs...) +} + +// PatchRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigClient) PatchRateLimitServerConfig(ctx context.Context, obj *v2.RateLimitServerConfig, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitServerConfig indicates an expected call of PatchRateLimitServerConfig. +func (mr *MockRateLimitServerConfigClientMockRecorder) PatchRateLimitServerConfig(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigClient)(nil).PatchRateLimitServerConfig), varargs...) +} + +// PatchRateLimitServerConfigStatus mocks base method. +func (m *MockRateLimitServerConfigClient) PatchRateLimitServerConfigStatus(ctx context.Context, obj *v2.RateLimitServerConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitServerConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitServerConfigStatus indicates an expected call of PatchRateLimitServerConfigStatus. +func (mr *MockRateLimitServerConfigClientMockRecorder) PatchRateLimitServerConfigStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitServerConfigStatus", reflect.TypeOf((*MockRateLimitServerConfigClient)(nil).PatchRateLimitServerConfigStatus), varargs...) +} + +// UpdateRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigClient) UpdateRateLimitServerConfig(ctx context.Context, obj *v2.RateLimitServerConfig, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitServerConfig indicates an expected call of UpdateRateLimitServerConfig. +func (mr *MockRateLimitServerConfigClientMockRecorder) UpdateRateLimitServerConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigClient)(nil).UpdateRateLimitServerConfig), varargs...) +} + +// UpdateRateLimitServerConfigStatus mocks base method. +func (m *MockRateLimitServerConfigClient) UpdateRateLimitServerConfigStatus(ctx context.Context, obj *v2.RateLimitServerConfig, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitServerConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitServerConfigStatus indicates an expected call of UpdateRateLimitServerConfigStatus. +func (mr *MockRateLimitServerConfigClientMockRecorder) UpdateRateLimitServerConfigStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitServerConfigStatus", reflect.TypeOf((*MockRateLimitServerConfigClient)(nil).UpdateRateLimitServerConfigStatus), varargs...) +} + +// UpsertRateLimitServerConfig mocks base method. +func (m *MockRateLimitServerConfigClient) UpsertRateLimitServerConfig(ctx context.Context, obj *v2.RateLimitServerConfig, transitionFuncs ...v2.RateLimitServerConfigTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRateLimitServerConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRateLimitServerConfig indicates an expected call of UpsertRateLimitServerConfig. +func (mr *MockRateLimitServerConfigClientMockRecorder) UpsertRateLimitServerConfig(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRateLimitServerConfig", reflect.TypeOf((*MockRateLimitServerConfigClient)(nil).UpsertRateLimitServerConfig), varargs...) +} + +// MockMulticlusterRateLimitServerConfigClient is a mock of MulticlusterRateLimitServerConfigClient interface. +type MockMulticlusterRateLimitServerConfigClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitServerConfigClientMockRecorder +} + +// MockMulticlusterRateLimitServerConfigClientMockRecorder is the mock recorder for MockMulticlusterRateLimitServerConfigClient. +type MockMulticlusterRateLimitServerConfigClientMockRecorder struct { + mock *MockMulticlusterRateLimitServerConfigClient +} + +// NewMockMulticlusterRateLimitServerConfigClient creates a new mock instance. +func NewMockMulticlusterRateLimitServerConfigClient(ctrl *gomock.Controller) *MockMulticlusterRateLimitServerConfigClient { + mock := &MockMulticlusterRateLimitServerConfigClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitServerConfigClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitServerConfigClient) EXPECT() *MockMulticlusterRateLimitServerConfigClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterRateLimitServerConfigClient) Cluster(cluster string) (v2.RateLimitServerConfigClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.RateLimitServerConfigClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterRateLimitServerConfigClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterRateLimitServerConfigClient)(nil).Cluster), cluster) +} + +// MockDashboardReader is a mock of DashboardReader interface. +type MockDashboardReader struct { + ctrl *gomock.Controller + recorder *MockDashboardReaderMockRecorder +} + +// MockDashboardReaderMockRecorder is the mock recorder for MockDashboardReader. +type MockDashboardReaderMockRecorder struct { + mock *MockDashboardReader +} + +// NewMockDashboardReader creates a new mock instance. +func NewMockDashboardReader(ctrl *gomock.Controller) *MockDashboardReader { + mock := &MockDashboardReader{ctrl: ctrl} + mock.recorder = &MockDashboardReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDashboardReader) EXPECT() *MockDashboardReaderMockRecorder { + return m.recorder +} + +// GetDashboard mocks base method. +func (m *MockDashboardReader) GetDashboard(ctx context.Context, key client.ObjectKey) (*v2.Dashboard, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetDashboard", ctx, key) + ret0, _ := ret[0].(*v2.Dashboard) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetDashboard indicates an expected call of GetDashboard. +func (mr *MockDashboardReaderMockRecorder) GetDashboard(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDashboard", reflect.TypeOf((*MockDashboardReader)(nil).GetDashboard), ctx, key) +} + +// ListDashboard mocks base method. +func (m *MockDashboardReader) ListDashboard(ctx context.Context, opts ...client.ListOption) (*v2.DashboardList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListDashboard", varargs...) + ret0, _ := ret[0].(*v2.DashboardList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListDashboard indicates an expected call of ListDashboard. +func (mr *MockDashboardReaderMockRecorder) ListDashboard(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListDashboard", reflect.TypeOf((*MockDashboardReader)(nil).ListDashboard), varargs...) +} + +// MockDashboardWriter is a mock of DashboardWriter interface. +type MockDashboardWriter struct { + ctrl *gomock.Controller + recorder *MockDashboardWriterMockRecorder +} + +// MockDashboardWriterMockRecorder is the mock recorder for MockDashboardWriter. +type MockDashboardWriterMockRecorder struct { + mock *MockDashboardWriter +} + +// NewMockDashboardWriter creates a new mock instance. +func NewMockDashboardWriter(ctrl *gomock.Controller) *MockDashboardWriter { + mock := &MockDashboardWriter{ctrl: ctrl} + mock.recorder = &MockDashboardWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDashboardWriter) EXPECT() *MockDashboardWriterMockRecorder { + return m.recorder +} + +// CreateDashboard mocks base method. +func (m *MockDashboardWriter) CreateDashboard(ctx context.Context, obj *v2.Dashboard, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateDashboard", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateDashboard indicates an expected call of CreateDashboard. +func (mr *MockDashboardWriterMockRecorder) CreateDashboard(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDashboard", reflect.TypeOf((*MockDashboardWriter)(nil).CreateDashboard), varargs...) +} + +// DeleteAllOfDashboard mocks base method. +func (m *MockDashboardWriter) DeleteAllOfDashboard(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfDashboard", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfDashboard indicates an expected call of DeleteAllOfDashboard. +func (mr *MockDashboardWriterMockRecorder) DeleteAllOfDashboard(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfDashboard", reflect.TypeOf((*MockDashboardWriter)(nil).DeleteAllOfDashboard), varargs...) +} + +// DeleteDashboard mocks base method. +func (m *MockDashboardWriter) DeleteDashboard(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteDashboard", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteDashboard indicates an expected call of DeleteDashboard. +func (mr *MockDashboardWriterMockRecorder) DeleteDashboard(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteDashboard", reflect.TypeOf((*MockDashboardWriter)(nil).DeleteDashboard), varargs...) +} + +// PatchDashboard mocks base method. +func (m *MockDashboardWriter) PatchDashboard(ctx context.Context, obj *v2.Dashboard, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDashboard", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDashboard indicates an expected call of PatchDashboard. +func (mr *MockDashboardWriterMockRecorder) PatchDashboard(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDashboard", reflect.TypeOf((*MockDashboardWriter)(nil).PatchDashboard), varargs...) +} + +// UpdateDashboard mocks base method. +func (m *MockDashboardWriter) UpdateDashboard(ctx context.Context, obj *v2.Dashboard, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDashboard", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDashboard indicates an expected call of UpdateDashboard. +func (mr *MockDashboardWriterMockRecorder) UpdateDashboard(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDashboard", reflect.TypeOf((*MockDashboardWriter)(nil).UpdateDashboard), varargs...) +} + +// UpsertDashboard mocks base method. +func (m *MockDashboardWriter) UpsertDashboard(ctx context.Context, obj *v2.Dashboard, transitionFuncs ...v2.DashboardTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertDashboard", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertDashboard indicates an expected call of UpsertDashboard. +func (mr *MockDashboardWriterMockRecorder) UpsertDashboard(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertDashboard", reflect.TypeOf((*MockDashboardWriter)(nil).UpsertDashboard), varargs...) +} + +// MockDashboardStatusWriter is a mock of DashboardStatusWriter interface. +type MockDashboardStatusWriter struct { + ctrl *gomock.Controller + recorder *MockDashboardStatusWriterMockRecorder +} + +// MockDashboardStatusWriterMockRecorder is the mock recorder for MockDashboardStatusWriter. +type MockDashboardStatusWriterMockRecorder struct { + mock *MockDashboardStatusWriter +} + +// NewMockDashboardStatusWriter creates a new mock instance. +func NewMockDashboardStatusWriter(ctrl *gomock.Controller) *MockDashboardStatusWriter { + mock := &MockDashboardStatusWriter{ctrl: ctrl} + mock.recorder = &MockDashboardStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDashboardStatusWriter) EXPECT() *MockDashboardStatusWriterMockRecorder { + return m.recorder +} + +// PatchDashboardStatus mocks base method. +func (m *MockDashboardStatusWriter) PatchDashboardStatus(ctx context.Context, obj *v2.Dashboard, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDashboardStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDashboardStatus indicates an expected call of PatchDashboardStatus. +func (mr *MockDashboardStatusWriterMockRecorder) PatchDashboardStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDashboardStatus", reflect.TypeOf((*MockDashboardStatusWriter)(nil).PatchDashboardStatus), varargs...) +} + +// UpdateDashboardStatus mocks base method. +func (m *MockDashboardStatusWriter) UpdateDashboardStatus(ctx context.Context, obj *v2.Dashboard, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDashboardStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDashboardStatus indicates an expected call of UpdateDashboardStatus. +func (mr *MockDashboardStatusWriterMockRecorder) UpdateDashboardStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDashboardStatus", reflect.TypeOf((*MockDashboardStatusWriter)(nil).UpdateDashboardStatus), varargs...) +} + +// MockDashboardClient is a mock of DashboardClient interface. +type MockDashboardClient struct { + ctrl *gomock.Controller + recorder *MockDashboardClientMockRecorder +} + +// MockDashboardClientMockRecorder is the mock recorder for MockDashboardClient. +type MockDashboardClientMockRecorder struct { + mock *MockDashboardClient +} + +// NewMockDashboardClient creates a new mock instance. +func NewMockDashboardClient(ctrl *gomock.Controller) *MockDashboardClient { + mock := &MockDashboardClient{ctrl: ctrl} + mock.recorder = &MockDashboardClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDashboardClient) EXPECT() *MockDashboardClientMockRecorder { + return m.recorder +} + +// CreateDashboard mocks base method. +func (m *MockDashboardClient) CreateDashboard(ctx context.Context, obj *v2.Dashboard, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateDashboard", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateDashboard indicates an expected call of CreateDashboard. +func (mr *MockDashboardClientMockRecorder) CreateDashboard(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDashboard", reflect.TypeOf((*MockDashboardClient)(nil).CreateDashboard), varargs...) +} + +// DeleteAllOfDashboard mocks base method. +func (m *MockDashboardClient) DeleteAllOfDashboard(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfDashboard", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfDashboard indicates an expected call of DeleteAllOfDashboard. +func (mr *MockDashboardClientMockRecorder) DeleteAllOfDashboard(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfDashboard", reflect.TypeOf((*MockDashboardClient)(nil).DeleteAllOfDashboard), varargs...) +} + +// DeleteDashboard mocks base method. +func (m *MockDashboardClient) DeleteDashboard(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteDashboard", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteDashboard indicates an expected call of DeleteDashboard. +func (mr *MockDashboardClientMockRecorder) DeleteDashboard(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteDashboard", reflect.TypeOf((*MockDashboardClient)(nil).DeleteDashboard), varargs...) +} + +// GetDashboard mocks base method. +func (m *MockDashboardClient) GetDashboard(ctx context.Context, key client.ObjectKey) (*v2.Dashboard, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetDashboard", ctx, key) + ret0, _ := ret[0].(*v2.Dashboard) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetDashboard indicates an expected call of GetDashboard. +func (mr *MockDashboardClientMockRecorder) GetDashboard(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDashboard", reflect.TypeOf((*MockDashboardClient)(nil).GetDashboard), ctx, key) +} + +// ListDashboard mocks base method. +func (m *MockDashboardClient) ListDashboard(ctx context.Context, opts ...client.ListOption) (*v2.DashboardList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListDashboard", varargs...) + ret0, _ := ret[0].(*v2.DashboardList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListDashboard indicates an expected call of ListDashboard. +func (mr *MockDashboardClientMockRecorder) ListDashboard(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListDashboard", reflect.TypeOf((*MockDashboardClient)(nil).ListDashboard), varargs...) +} + +// PatchDashboard mocks base method. +func (m *MockDashboardClient) PatchDashboard(ctx context.Context, obj *v2.Dashboard, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDashboard", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDashboard indicates an expected call of PatchDashboard. +func (mr *MockDashboardClientMockRecorder) PatchDashboard(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDashboard", reflect.TypeOf((*MockDashboardClient)(nil).PatchDashboard), varargs...) +} + +// PatchDashboardStatus mocks base method. +func (m *MockDashboardClient) PatchDashboardStatus(ctx context.Context, obj *v2.Dashboard, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDashboardStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDashboardStatus indicates an expected call of PatchDashboardStatus. +func (mr *MockDashboardClientMockRecorder) PatchDashboardStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDashboardStatus", reflect.TypeOf((*MockDashboardClient)(nil).PatchDashboardStatus), varargs...) +} + +// UpdateDashboard mocks base method. +func (m *MockDashboardClient) UpdateDashboard(ctx context.Context, obj *v2.Dashboard, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDashboard", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDashboard indicates an expected call of UpdateDashboard. +func (mr *MockDashboardClientMockRecorder) UpdateDashboard(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDashboard", reflect.TypeOf((*MockDashboardClient)(nil).UpdateDashboard), varargs...) +} + +// UpdateDashboardStatus mocks base method. +func (m *MockDashboardClient) UpdateDashboardStatus(ctx context.Context, obj *v2.Dashboard, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDashboardStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDashboardStatus indicates an expected call of UpdateDashboardStatus. +func (mr *MockDashboardClientMockRecorder) UpdateDashboardStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDashboardStatus", reflect.TypeOf((*MockDashboardClient)(nil).UpdateDashboardStatus), varargs...) +} + +// UpsertDashboard mocks base method. +func (m *MockDashboardClient) UpsertDashboard(ctx context.Context, obj *v2.Dashboard, transitionFuncs ...v2.DashboardTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertDashboard", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertDashboard indicates an expected call of UpsertDashboard. +func (mr *MockDashboardClientMockRecorder) UpsertDashboard(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertDashboard", reflect.TypeOf((*MockDashboardClient)(nil).UpsertDashboard), varargs...) +} + +// MockMulticlusterDashboardClient is a mock of MulticlusterDashboardClient interface. +type MockMulticlusterDashboardClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDashboardClientMockRecorder +} + +// MockMulticlusterDashboardClientMockRecorder is the mock recorder for MockMulticlusterDashboardClient. +type MockMulticlusterDashboardClientMockRecorder struct { + mock *MockMulticlusterDashboardClient +} + +// NewMockMulticlusterDashboardClient creates a new mock instance. +func NewMockMulticlusterDashboardClient(ctrl *gomock.Controller) *MockMulticlusterDashboardClient { + mock := &MockMulticlusterDashboardClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterDashboardClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDashboardClient) EXPECT() *MockMulticlusterDashboardClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterDashboardClient) Cluster(cluster string) (v2.DashboardClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.DashboardClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterDashboardClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterDashboardClient)(nil).Cluster), cluster) +} + +// MockIstioLifecycleManagerReader is a mock of IstioLifecycleManagerReader interface. +type MockIstioLifecycleManagerReader struct { + ctrl *gomock.Controller + recorder *MockIstioLifecycleManagerReaderMockRecorder +} + +// MockIstioLifecycleManagerReaderMockRecorder is the mock recorder for MockIstioLifecycleManagerReader. +type MockIstioLifecycleManagerReaderMockRecorder struct { + mock *MockIstioLifecycleManagerReader +} + +// NewMockIstioLifecycleManagerReader creates a new mock instance. +func NewMockIstioLifecycleManagerReader(ctrl *gomock.Controller) *MockIstioLifecycleManagerReader { + mock := &MockIstioLifecycleManagerReader{ctrl: ctrl} + mock.recorder = &MockIstioLifecycleManagerReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIstioLifecycleManagerReader) EXPECT() *MockIstioLifecycleManagerReaderMockRecorder { + return m.recorder +} + +// GetIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerReader) GetIstioLifecycleManager(ctx context.Context, key client.ObjectKey) (*v2.IstioLifecycleManager, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetIstioLifecycleManager", ctx, key) + ret0, _ := ret[0].(*v2.IstioLifecycleManager) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetIstioLifecycleManager indicates an expected call of GetIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerReaderMockRecorder) GetIstioLifecycleManager(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerReader)(nil).GetIstioLifecycleManager), ctx, key) +} + +// ListIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerReader) ListIstioLifecycleManager(ctx context.Context, opts ...client.ListOption) (*v2.IstioLifecycleManagerList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(*v2.IstioLifecycleManagerList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListIstioLifecycleManager indicates an expected call of ListIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerReaderMockRecorder) ListIstioLifecycleManager(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerReader)(nil).ListIstioLifecycleManager), varargs...) +} + +// MockIstioLifecycleManagerWriter is a mock of IstioLifecycleManagerWriter interface. +type MockIstioLifecycleManagerWriter struct { + ctrl *gomock.Controller + recorder *MockIstioLifecycleManagerWriterMockRecorder +} + +// MockIstioLifecycleManagerWriterMockRecorder is the mock recorder for MockIstioLifecycleManagerWriter. +type MockIstioLifecycleManagerWriterMockRecorder struct { + mock *MockIstioLifecycleManagerWriter +} + +// NewMockIstioLifecycleManagerWriter creates a new mock instance. +func NewMockIstioLifecycleManagerWriter(ctrl *gomock.Controller) *MockIstioLifecycleManagerWriter { + mock := &MockIstioLifecycleManagerWriter{ctrl: ctrl} + mock.recorder = &MockIstioLifecycleManagerWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIstioLifecycleManagerWriter) EXPECT() *MockIstioLifecycleManagerWriterMockRecorder { + return m.recorder +} + +// CreateIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerWriter) CreateIstioLifecycleManager(ctx context.Context, obj *v2.IstioLifecycleManager, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateIstioLifecycleManager indicates an expected call of CreateIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerWriterMockRecorder) CreateIstioLifecycleManager(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerWriter)(nil).CreateIstioLifecycleManager), varargs...) +} + +// DeleteAllOfIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerWriter) DeleteAllOfIstioLifecycleManager(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfIstioLifecycleManager indicates an expected call of DeleteAllOfIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerWriterMockRecorder) DeleteAllOfIstioLifecycleManager(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerWriter)(nil).DeleteAllOfIstioLifecycleManager), varargs...) +} + +// DeleteIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerWriter) DeleteIstioLifecycleManager(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteIstioLifecycleManager indicates an expected call of DeleteIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerWriterMockRecorder) DeleteIstioLifecycleManager(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerWriter)(nil).DeleteIstioLifecycleManager), varargs...) +} + +// PatchIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerWriter) PatchIstioLifecycleManager(ctx context.Context, obj *v2.IstioLifecycleManager, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchIstioLifecycleManager indicates an expected call of PatchIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerWriterMockRecorder) PatchIstioLifecycleManager(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerWriter)(nil).PatchIstioLifecycleManager), varargs...) +} + +// UpdateIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerWriter) UpdateIstioLifecycleManager(ctx context.Context, obj *v2.IstioLifecycleManager, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateIstioLifecycleManager indicates an expected call of UpdateIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerWriterMockRecorder) UpdateIstioLifecycleManager(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerWriter)(nil).UpdateIstioLifecycleManager), varargs...) +} + +// UpsertIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerWriter) UpsertIstioLifecycleManager(ctx context.Context, obj *v2.IstioLifecycleManager, transitionFuncs ...v2.IstioLifecycleManagerTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertIstioLifecycleManager indicates an expected call of UpsertIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerWriterMockRecorder) UpsertIstioLifecycleManager(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerWriter)(nil).UpsertIstioLifecycleManager), varargs...) +} + +// MockIstioLifecycleManagerStatusWriter is a mock of IstioLifecycleManagerStatusWriter interface. +type MockIstioLifecycleManagerStatusWriter struct { + ctrl *gomock.Controller + recorder *MockIstioLifecycleManagerStatusWriterMockRecorder +} + +// MockIstioLifecycleManagerStatusWriterMockRecorder is the mock recorder for MockIstioLifecycleManagerStatusWriter. +type MockIstioLifecycleManagerStatusWriterMockRecorder struct { + mock *MockIstioLifecycleManagerStatusWriter +} + +// NewMockIstioLifecycleManagerStatusWriter creates a new mock instance. +func NewMockIstioLifecycleManagerStatusWriter(ctrl *gomock.Controller) *MockIstioLifecycleManagerStatusWriter { + mock := &MockIstioLifecycleManagerStatusWriter{ctrl: ctrl} + mock.recorder = &MockIstioLifecycleManagerStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIstioLifecycleManagerStatusWriter) EXPECT() *MockIstioLifecycleManagerStatusWriterMockRecorder { + return m.recorder +} + +// PatchIstioLifecycleManagerStatus mocks base method. +func (m *MockIstioLifecycleManagerStatusWriter) PatchIstioLifecycleManagerStatus(ctx context.Context, obj *v2.IstioLifecycleManager, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchIstioLifecycleManagerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchIstioLifecycleManagerStatus indicates an expected call of PatchIstioLifecycleManagerStatus. +func (mr *MockIstioLifecycleManagerStatusWriterMockRecorder) PatchIstioLifecycleManagerStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchIstioLifecycleManagerStatus", reflect.TypeOf((*MockIstioLifecycleManagerStatusWriter)(nil).PatchIstioLifecycleManagerStatus), varargs...) +} + +// UpdateIstioLifecycleManagerStatus mocks base method. +func (m *MockIstioLifecycleManagerStatusWriter) UpdateIstioLifecycleManagerStatus(ctx context.Context, obj *v2.IstioLifecycleManager, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateIstioLifecycleManagerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateIstioLifecycleManagerStatus indicates an expected call of UpdateIstioLifecycleManagerStatus. +func (mr *MockIstioLifecycleManagerStatusWriterMockRecorder) UpdateIstioLifecycleManagerStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateIstioLifecycleManagerStatus", reflect.TypeOf((*MockIstioLifecycleManagerStatusWriter)(nil).UpdateIstioLifecycleManagerStatus), varargs...) +} + +// MockIstioLifecycleManagerClient is a mock of IstioLifecycleManagerClient interface. +type MockIstioLifecycleManagerClient struct { + ctrl *gomock.Controller + recorder *MockIstioLifecycleManagerClientMockRecorder +} + +// MockIstioLifecycleManagerClientMockRecorder is the mock recorder for MockIstioLifecycleManagerClient. +type MockIstioLifecycleManagerClientMockRecorder struct { + mock *MockIstioLifecycleManagerClient +} + +// NewMockIstioLifecycleManagerClient creates a new mock instance. +func NewMockIstioLifecycleManagerClient(ctrl *gomock.Controller) *MockIstioLifecycleManagerClient { + mock := &MockIstioLifecycleManagerClient{ctrl: ctrl} + mock.recorder = &MockIstioLifecycleManagerClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIstioLifecycleManagerClient) EXPECT() *MockIstioLifecycleManagerClientMockRecorder { + return m.recorder +} + +// CreateIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerClient) CreateIstioLifecycleManager(ctx context.Context, obj *v2.IstioLifecycleManager, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateIstioLifecycleManager indicates an expected call of CreateIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerClientMockRecorder) CreateIstioLifecycleManager(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerClient)(nil).CreateIstioLifecycleManager), varargs...) +} + +// DeleteAllOfIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerClient) DeleteAllOfIstioLifecycleManager(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfIstioLifecycleManager indicates an expected call of DeleteAllOfIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerClientMockRecorder) DeleteAllOfIstioLifecycleManager(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerClient)(nil).DeleteAllOfIstioLifecycleManager), varargs...) +} + +// DeleteIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerClient) DeleteIstioLifecycleManager(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteIstioLifecycleManager indicates an expected call of DeleteIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerClientMockRecorder) DeleteIstioLifecycleManager(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerClient)(nil).DeleteIstioLifecycleManager), varargs...) +} + +// GetIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerClient) GetIstioLifecycleManager(ctx context.Context, key client.ObjectKey) (*v2.IstioLifecycleManager, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetIstioLifecycleManager", ctx, key) + ret0, _ := ret[0].(*v2.IstioLifecycleManager) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetIstioLifecycleManager indicates an expected call of GetIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerClientMockRecorder) GetIstioLifecycleManager(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerClient)(nil).GetIstioLifecycleManager), ctx, key) +} + +// ListIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerClient) ListIstioLifecycleManager(ctx context.Context, opts ...client.ListOption) (*v2.IstioLifecycleManagerList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(*v2.IstioLifecycleManagerList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListIstioLifecycleManager indicates an expected call of ListIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerClientMockRecorder) ListIstioLifecycleManager(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerClient)(nil).ListIstioLifecycleManager), varargs...) +} + +// PatchIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerClient) PatchIstioLifecycleManager(ctx context.Context, obj *v2.IstioLifecycleManager, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchIstioLifecycleManager indicates an expected call of PatchIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerClientMockRecorder) PatchIstioLifecycleManager(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerClient)(nil).PatchIstioLifecycleManager), varargs...) +} + +// PatchIstioLifecycleManagerStatus mocks base method. +func (m *MockIstioLifecycleManagerClient) PatchIstioLifecycleManagerStatus(ctx context.Context, obj *v2.IstioLifecycleManager, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchIstioLifecycleManagerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchIstioLifecycleManagerStatus indicates an expected call of PatchIstioLifecycleManagerStatus. +func (mr *MockIstioLifecycleManagerClientMockRecorder) PatchIstioLifecycleManagerStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchIstioLifecycleManagerStatus", reflect.TypeOf((*MockIstioLifecycleManagerClient)(nil).PatchIstioLifecycleManagerStatus), varargs...) +} + +// UpdateIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerClient) UpdateIstioLifecycleManager(ctx context.Context, obj *v2.IstioLifecycleManager, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateIstioLifecycleManager indicates an expected call of UpdateIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerClientMockRecorder) UpdateIstioLifecycleManager(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerClient)(nil).UpdateIstioLifecycleManager), varargs...) +} + +// UpdateIstioLifecycleManagerStatus mocks base method. +func (m *MockIstioLifecycleManagerClient) UpdateIstioLifecycleManagerStatus(ctx context.Context, obj *v2.IstioLifecycleManager, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateIstioLifecycleManagerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateIstioLifecycleManagerStatus indicates an expected call of UpdateIstioLifecycleManagerStatus. +func (mr *MockIstioLifecycleManagerClientMockRecorder) UpdateIstioLifecycleManagerStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateIstioLifecycleManagerStatus", reflect.TypeOf((*MockIstioLifecycleManagerClient)(nil).UpdateIstioLifecycleManagerStatus), varargs...) +} + +// UpsertIstioLifecycleManager mocks base method. +func (m *MockIstioLifecycleManagerClient) UpsertIstioLifecycleManager(ctx context.Context, obj *v2.IstioLifecycleManager, transitionFuncs ...v2.IstioLifecycleManagerTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertIstioLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertIstioLifecycleManager indicates an expected call of UpsertIstioLifecycleManager. +func (mr *MockIstioLifecycleManagerClientMockRecorder) UpsertIstioLifecycleManager(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertIstioLifecycleManager", reflect.TypeOf((*MockIstioLifecycleManagerClient)(nil).UpsertIstioLifecycleManager), varargs...) +} + +// MockMulticlusterIstioLifecycleManagerClient is a mock of MulticlusterIstioLifecycleManagerClient interface. +type MockMulticlusterIstioLifecycleManagerClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterIstioLifecycleManagerClientMockRecorder +} + +// MockMulticlusterIstioLifecycleManagerClientMockRecorder is the mock recorder for MockMulticlusterIstioLifecycleManagerClient. +type MockMulticlusterIstioLifecycleManagerClientMockRecorder struct { + mock *MockMulticlusterIstioLifecycleManagerClient +} + +// NewMockMulticlusterIstioLifecycleManagerClient creates a new mock instance. +func NewMockMulticlusterIstioLifecycleManagerClient(ctrl *gomock.Controller) *MockMulticlusterIstioLifecycleManagerClient { + mock := &MockMulticlusterIstioLifecycleManagerClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterIstioLifecycleManagerClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterIstioLifecycleManagerClient) EXPECT() *MockMulticlusterIstioLifecycleManagerClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterIstioLifecycleManagerClient) Cluster(cluster string) (v2.IstioLifecycleManagerClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.IstioLifecycleManagerClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterIstioLifecycleManagerClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterIstioLifecycleManagerClient)(nil).Cluster), cluster) +} + +// MockGatewayLifecycleManagerReader is a mock of GatewayLifecycleManagerReader interface. +type MockGatewayLifecycleManagerReader struct { + ctrl *gomock.Controller + recorder *MockGatewayLifecycleManagerReaderMockRecorder +} + +// MockGatewayLifecycleManagerReaderMockRecorder is the mock recorder for MockGatewayLifecycleManagerReader. +type MockGatewayLifecycleManagerReaderMockRecorder struct { + mock *MockGatewayLifecycleManagerReader +} + +// NewMockGatewayLifecycleManagerReader creates a new mock instance. +func NewMockGatewayLifecycleManagerReader(ctrl *gomock.Controller) *MockGatewayLifecycleManagerReader { + mock := &MockGatewayLifecycleManagerReader{ctrl: ctrl} + mock.recorder = &MockGatewayLifecycleManagerReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGatewayLifecycleManagerReader) EXPECT() *MockGatewayLifecycleManagerReaderMockRecorder { + return m.recorder +} + +// GetGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerReader) GetGatewayLifecycleManager(ctx context.Context, key client.ObjectKey) (*v2.GatewayLifecycleManager, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetGatewayLifecycleManager", ctx, key) + ret0, _ := ret[0].(*v2.GatewayLifecycleManager) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGatewayLifecycleManager indicates an expected call of GetGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerReaderMockRecorder) GetGatewayLifecycleManager(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerReader)(nil).GetGatewayLifecycleManager), ctx, key) +} + +// ListGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerReader) ListGatewayLifecycleManager(ctx context.Context, opts ...client.ListOption) (*v2.GatewayLifecycleManagerList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(*v2.GatewayLifecycleManagerList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListGatewayLifecycleManager indicates an expected call of ListGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerReaderMockRecorder) ListGatewayLifecycleManager(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerReader)(nil).ListGatewayLifecycleManager), varargs...) +} + +// MockGatewayLifecycleManagerWriter is a mock of GatewayLifecycleManagerWriter interface. +type MockGatewayLifecycleManagerWriter struct { + ctrl *gomock.Controller + recorder *MockGatewayLifecycleManagerWriterMockRecorder +} + +// MockGatewayLifecycleManagerWriterMockRecorder is the mock recorder for MockGatewayLifecycleManagerWriter. +type MockGatewayLifecycleManagerWriterMockRecorder struct { + mock *MockGatewayLifecycleManagerWriter +} + +// NewMockGatewayLifecycleManagerWriter creates a new mock instance. +func NewMockGatewayLifecycleManagerWriter(ctrl *gomock.Controller) *MockGatewayLifecycleManagerWriter { + mock := &MockGatewayLifecycleManagerWriter{ctrl: ctrl} + mock.recorder = &MockGatewayLifecycleManagerWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGatewayLifecycleManagerWriter) EXPECT() *MockGatewayLifecycleManagerWriterMockRecorder { + return m.recorder +} + +// CreateGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerWriter) CreateGatewayLifecycleManager(ctx context.Context, obj *v2.GatewayLifecycleManager, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGatewayLifecycleManager indicates an expected call of CreateGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerWriterMockRecorder) CreateGatewayLifecycleManager(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerWriter)(nil).CreateGatewayLifecycleManager), varargs...) +} + +// DeleteAllOfGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerWriter) DeleteAllOfGatewayLifecycleManager(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfGatewayLifecycleManager indicates an expected call of DeleteAllOfGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerWriterMockRecorder) DeleteAllOfGatewayLifecycleManager(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerWriter)(nil).DeleteAllOfGatewayLifecycleManager), varargs...) +} + +// DeleteGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerWriter) DeleteGatewayLifecycleManager(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGatewayLifecycleManager indicates an expected call of DeleteGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerWriterMockRecorder) DeleteGatewayLifecycleManager(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerWriter)(nil).DeleteGatewayLifecycleManager), varargs...) +} + +// PatchGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerWriter) PatchGatewayLifecycleManager(ctx context.Context, obj *v2.GatewayLifecycleManager, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGatewayLifecycleManager indicates an expected call of PatchGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerWriterMockRecorder) PatchGatewayLifecycleManager(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerWriter)(nil).PatchGatewayLifecycleManager), varargs...) +} + +// UpdateGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerWriter) UpdateGatewayLifecycleManager(ctx context.Context, obj *v2.GatewayLifecycleManager, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGatewayLifecycleManager indicates an expected call of UpdateGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerWriterMockRecorder) UpdateGatewayLifecycleManager(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerWriter)(nil).UpdateGatewayLifecycleManager), varargs...) +} + +// UpsertGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerWriter) UpsertGatewayLifecycleManager(ctx context.Context, obj *v2.GatewayLifecycleManager, transitionFuncs ...v2.GatewayLifecycleManagerTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertGatewayLifecycleManager indicates an expected call of UpsertGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerWriterMockRecorder) UpsertGatewayLifecycleManager(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerWriter)(nil).UpsertGatewayLifecycleManager), varargs...) +} + +// MockGatewayLifecycleManagerStatusWriter is a mock of GatewayLifecycleManagerStatusWriter interface. +type MockGatewayLifecycleManagerStatusWriter struct { + ctrl *gomock.Controller + recorder *MockGatewayLifecycleManagerStatusWriterMockRecorder +} + +// MockGatewayLifecycleManagerStatusWriterMockRecorder is the mock recorder for MockGatewayLifecycleManagerStatusWriter. +type MockGatewayLifecycleManagerStatusWriterMockRecorder struct { + mock *MockGatewayLifecycleManagerStatusWriter +} + +// NewMockGatewayLifecycleManagerStatusWriter creates a new mock instance. +func NewMockGatewayLifecycleManagerStatusWriter(ctrl *gomock.Controller) *MockGatewayLifecycleManagerStatusWriter { + mock := &MockGatewayLifecycleManagerStatusWriter{ctrl: ctrl} + mock.recorder = &MockGatewayLifecycleManagerStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGatewayLifecycleManagerStatusWriter) EXPECT() *MockGatewayLifecycleManagerStatusWriterMockRecorder { + return m.recorder +} + +// PatchGatewayLifecycleManagerStatus mocks base method. +func (m *MockGatewayLifecycleManagerStatusWriter) PatchGatewayLifecycleManagerStatus(ctx context.Context, obj *v2.GatewayLifecycleManager, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGatewayLifecycleManagerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGatewayLifecycleManagerStatus indicates an expected call of PatchGatewayLifecycleManagerStatus. +func (mr *MockGatewayLifecycleManagerStatusWriterMockRecorder) PatchGatewayLifecycleManagerStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGatewayLifecycleManagerStatus", reflect.TypeOf((*MockGatewayLifecycleManagerStatusWriter)(nil).PatchGatewayLifecycleManagerStatus), varargs...) +} + +// UpdateGatewayLifecycleManagerStatus mocks base method. +func (m *MockGatewayLifecycleManagerStatusWriter) UpdateGatewayLifecycleManagerStatus(ctx context.Context, obj *v2.GatewayLifecycleManager, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGatewayLifecycleManagerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGatewayLifecycleManagerStatus indicates an expected call of UpdateGatewayLifecycleManagerStatus. +func (mr *MockGatewayLifecycleManagerStatusWriterMockRecorder) UpdateGatewayLifecycleManagerStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGatewayLifecycleManagerStatus", reflect.TypeOf((*MockGatewayLifecycleManagerStatusWriter)(nil).UpdateGatewayLifecycleManagerStatus), varargs...) +} + +// MockGatewayLifecycleManagerClient is a mock of GatewayLifecycleManagerClient interface. +type MockGatewayLifecycleManagerClient struct { + ctrl *gomock.Controller + recorder *MockGatewayLifecycleManagerClientMockRecorder +} + +// MockGatewayLifecycleManagerClientMockRecorder is the mock recorder for MockGatewayLifecycleManagerClient. +type MockGatewayLifecycleManagerClientMockRecorder struct { + mock *MockGatewayLifecycleManagerClient +} + +// NewMockGatewayLifecycleManagerClient creates a new mock instance. +func NewMockGatewayLifecycleManagerClient(ctrl *gomock.Controller) *MockGatewayLifecycleManagerClient { + mock := &MockGatewayLifecycleManagerClient{ctrl: ctrl} + mock.recorder = &MockGatewayLifecycleManagerClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGatewayLifecycleManagerClient) EXPECT() *MockGatewayLifecycleManagerClientMockRecorder { + return m.recorder +} + +// CreateGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerClient) CreateGatewayLifecycleManager(ctx context.Context, obj *v2.GatewayLifecycleManager, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGatewayLifecycleManager indicates an expected call of CreateGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerClientMockRecorder) CreateGatewayLifecycleManager(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerClient)(nil).CreateGatewayLifecycleManager), varargs...) +} + +// DeleteAllOfGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerClient) DeleteAllOfGatewayLifecycleManager(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfGatewayLifecycleManager indicates an expected call of DeleteAllOfGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerClientMockRecorder) DeleteAllOfGatewayLifecycleManager(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerClient)(nil).DeleteAllOfGatewayLifecycleManager), varargs...) +} + +// DeleteGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerClient) DeleteGatewayLifecycleManager(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGatewayLifecycleManager indicates an expected call of DeleteGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerClientMockRecorder) DeleteGatewayLifecycleManager(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerClient)(nil).DeleteGatewayLifecycleManager), varargs...) +} + +// GetGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerClient) GetGatewayLifecycleManager(ctx context.Context, key client.ObjectKey) (*v2.GatewayLifecycleManager, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetGatewayLifecycleManager", ctx, key) + ret0, _ := ret[0].(*v2.GatewayLifecycleManager) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGatewayLifecycleManager indicates an expected call of GetGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerClientMockRecorder) GetGatewayLifecycleManager(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerClient)(nil).GetGatewayLifecycleManager), ctx, key) +} + +// ListGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerClient) ListGatewayLifecycleManager(ctx context.Context, opts ...client.ListOption) (*v2.GatewayLifecycleManagerList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(*v2.GatewayLifecycleManagerList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListGatewayLifecycleManager indicates an expected call of ListGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerClientMockRecorder) ListGatewayLifecycleManager(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerClient)(nil).ListGatewayLifecycleManager), varargs...) +} + +// PatchGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerClient) PatchGatewayLifecycleManager(ctx context.Context, obj *v2.GatewayLifecycleManager, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGatewayLifecycleManager indicates an expected call of PatchGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerClientMockRecorder) PatchGatewayLifecycleManager(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerClient)(nil).PatchGatewayLifecycleManager), varargs...) +} + +// PatchGatewayLifecycleManagerStatus mocks base method. +func (m *MockGatewayLifecycleManagerClient) PatchGatewayLifecycleManagerStatus(ctx context.Context, obj *v2.GatewayLifecycleManager, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGatewayLifecycleManagerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGatewayLifecycleManagerStatus indicates an expected call of PatchGatewayLifecycleManagerStatus. +func (mr *MockGatewayLifecycleManagerClientMockRecorder) PatchGatewayLifecycleManagerStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGatewayLifecycleManagerStatus", reflect.TypeOf((*MockGatewayLifecycleManagerClient)(nil).PatchGatewayLifecycleManagerStatus), varargs...) +} + +// UpdateGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerClient) UpdateGatewayLifecycleManager(ctx context.Context, obj *v2.GatewayLifecycleManager, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGatewayLifecycleManager indicates an expected call of UpdateGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerClientMockRecorder) UpdateGatewayLifecycleManager(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerClient)(nil).UpdateGatewayLifecycleManager), varargs...) +} + +// UpdateGatewayLifecycleManagerStatus mocks base method. +func (m *MockGatewayLifecycleManagerClient) UpdateGatewayLifecycleManagerStatus(ctx context.Context, obj *v2.GatewayLifecycleManager, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGatewayLifecycleManagerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGatewayLifecycleManagerStatus indicates an expected call of UpdateGatewayLifecycleManagerStatus. +func (mr *MockGatewayLifecycleManagerClientMockRecorder) UpdateGatewayLifecycleManagerStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGatewayLifecycleManagerStatus", reflect.TypeOf((*MockGatewayLifecycleManagerClient)(nil).UpdateGatewayLifecycleManagerStatus), varargs...) +} + +// UpsertGatewayLifecycleManager mocks base method. +func (m *MockGatewayLifecycleManagerClient) UpsertGatewayLifecycleManager(ctx context.Context, obj *v2.GatewayLifecycleManager, transitionFuncs ...v2.GatewayLifecycleManagerTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertGatewayLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertGatewayLifecycleManager indicates an expected call of UpsertGatewayLifecycleManager. +func (mr *MockGatewayLifecycleManagerClientMockRecorder) UpsertGatewayLifecycleManager(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertGatewayLifecycleManager", reflect.TypeOf((*MockGatewayLifecycleManagerClient)(nil).UpsertGatewayLifecycleManager), varargs...) +} + +// MockMulticlusterGatewayLifecycleManagerClient is a mock of MulticlusterGatewayLifecycleManagerClient interface. +type MockMulticlusterGatewayLifecycleManagerClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGatewayLifecycleManagerClientMockRecorder +} + +// MockMulticlusterGatewayLifecycleManagerClientMockRecorder is the mock recorder for MockMulticlusterGatewayLifecycleManagerClient. +type MockMulticlusterGatewayLifecycleManagerClientMockRecorder struct { + mock *MockMulticlusterGatewayLifecycleManagerClient +} + +// NewMockMulticlusterGatewayLifecycleManagerClient creates a new mock instance. +func NewMockMulticlusterGatewayLifecycleManagerClient(ctrl *gomock.Controller) *MockMulticlusterGatewayLifecycleManagerClient { + mock := &MockMulticlusterGatewayLifecycleManagerClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterGatewayLifecycleManagerClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGatewayLifecycleManagerClient) EXPECT() *MockMulticlusterGatewayLifecycleManagerClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterGatewayLifecycleManagerClient) Cluster(cluster string) (v2.GatewayLifecycleManagerClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.GatewayLifecycleManagerClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterGatewayLifecycleManagerClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterGatewayLifecycleManagerClient)(nil).Cluster), cluster) +} diff --git a/client-go/admin.gloo.solo.io/v2/proto_deepcopy.go b/client-go/admin.gloo.solo.io/v2/proto_deepcopy.go new file mode 100644 index 000000000..35e200ef9 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/proto_deepcopy.go @@ -0,0 +1,230 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the Workspace.Spec +func (in *WorkspaceSpec) DeepCopyInto(out *WorkspaceSpec) { + var p *WorkspaceSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*WorkspaceSpec) + } else { + p = proto.Clone(in).(*WorkspaceSpec) + } + *out = *p +} + +// DeepCopyInto for the Workspace.Status +func (in *WorkspaceStatus) DeepCopyInto(out *WorkspaceStatus) { + var p *WorkspaceStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*WorkspaceStatus) + } else { + p = proto.Clone(in).(*WorkspaceStatus) + } + *out = *p +} + +// DeepCopyInto for the WorkspaceSettings.Spec +func (in *WorkspaceSettingsSpec) DeepCopyInto(out *WorkspaceSettingsSpec) { + var p *WorkspaceSettingsSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*WorkspaceSettingsSpec) + } else { + p = proto.Clone(in).(*WorkspaceSettingsSpec) + } + *out = *p +} + +// DeepCopyInto for the WorkspaceSettings.Status +func (in *WorkspaceSettingsStatus) DeepCopyInto(out *WorkspaceSettingsStatus) { + var p *WorkspaceSettingsStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*WorkspaceSettingsStatus) + } else { + p = proto.Clone(in).(*WorkspaceSettingsStatus) + } + *out = *p +} + +// DeepCopyInto for the KubernetesCluster.Spec +func (in *KubernetesClusterSpec) DeepCopyInto(out *KubernetesClusterSpec) { + var p *KubernetesClusterSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*KubernetesClusterSpec) + } else { + p = proto.Clone(in).(*KubernetesClusterSpec) + } + *out = *p +} + +// DeepCopyInto for the KubernetesCluster.Status +func (in *KubernetesClusterStatus) DeepCopyInto(out *KubernetesClusterStatus) { + var p *KubernetesClusterStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*KubernetesClusterStatus) + } else { + p = proto.Clone(in).(*KubernetesClusterStatus) + } + *out = *p +} + +// DeepCopyInto for the RootTrustPolicy.Spec +func (in *RootTrustPolicySpec) DeepCopyInto(out *RootTrustPolicySpec) { + var p *RootTrustPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RootTrustPolicySpec) + } else { + p = proto.Clone(in).(*RootTrustPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the RootTrustPolicy.Status +func (in *RootTrustPolicyStatus) DeepCopyInto(out *RootTrustPolicyStatus) { + var p *RootTrustPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RootTrustPolicyStatus) + } else { + p = proto.Clone(in).(*RootTrustPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the ExtAuthServer.Spec +func (in *ExtAuthServerSpec) DeepCopyInto(out *ExtAuthServerSpec) { + var p *ExtAuthServerSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ExtAuthServerSpec) + } else { + p = proto.Clone(in).(*ExtAuthServerSpec) + } + *out = *p +} + +// DeepCopyInto for the ExtAuthServer.Status +func (in *ExtAuthServerStatus) DeepCopyInto(out *ExtAuthServerStatus) { + var p *ExtAuthServerStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ExtAuthServerStatus) + } else { + p = proto.Clone(in).(*ExtAuthServerStatus) + } + *out = *p +} + +// DeepCopyInto for the RateLimitServerSettings.Spec +func (in *RateLimitServerSettingsSpec) DeepCopyInto(out *RateLimitServerSettingsSpec) { + var p *RateLimitServerSettingsSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RateLimitServerSettingsSpec) + } else { + p = proto.Clone(in).(*RateLimitServerSettingsSpec) + } + *out = *p +} + +// DeepCopyInto for the RateLimitServerSettings.Status +func (in *RateLimitServerSettingsStatus) DeepCopyInto(out *RateLimitServerSettingsStatus) { + var p *RateLimitServerSettingsStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RateLimitServerSettingsStatus) + } else { + p = proto.Clone(in).(*RateLimitServerSettingsStatus) + } + *out = *p +} + +// DeepCopyInto for the RateLimitServerConfig.Spec +func (in *RateLimitServerConfigSpec) DeepCopyInto(out *RateLimitServerConfigSpec) { + var p *RateLimitServerConfigSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RateLimitServerConfigSpec) + } else { + p = proto.Clone(in).(*RateLimitServerConfigSpec) + } + *out = *p +} + +// DeepCopyInto for the RateLimitServerConfig.Status +func (in *RateLimitServerConfigStatus) DeepCopyInto(out *RateLimitServerConfigStatus) { + var p *RateLimitServerConfigStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RateLimitServerConfigStatus) + } else { + p = proto.Clone(in).(*RateLimitServerConfigStatus) + } + *out = *p +} + +// DeepCopyInto for the Dashboard.Spec +func (in *DashboardSpec) DeepCopyInto(out *DashboardSpec) { + var p *DashboardSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*DashboardSpec) + } else { + p = proto.Clone(in).(*DashboardSpec) + } + *out = *p +} + +// DeepCopyInto for the Dashboard.Status +func (in *DashboardStatus) DeepCopyInto(out *DashboardStatus) { + var p *DashboardStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*DashboardStatus) + } else { + p = proto.Clone(in).(*DashboardStatus) + } + *out = *p +} + +// DeepCopyInto for the IstioLifecycleManager.Spec +func (in *IstioLifecycleManagerSpec) DeepCopyInto(out *IstioLifecycleManagerSpec) { + var p *IstioLifecycleManagerSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*IstioLifecycleManagerSpec) + } else { + p = proto.Clone(in).(*IstioLifecycleManagerSpec) + } + *out = *p +} + +// DeepCopyInto for the IstioLifecycleManager.Status +func (in *IstioLifecycleManagerStatus) DeepCopyInto(out *IstioLifecycleManagerStatus) { + var p *IstioLifecycleManagerStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*IstioLifecycleManagerStatus) + } else { + p = proto.Clone(in).(*IstioLifecycleManagerStatus) + } + *out = *p +} + +// DeepCopyInto for the GatewayLifecycleManager.Spec +func (in *GatewayLifecycleManagerSpec) DeepCopyInto(out *GatewayLifecycleManagerSpec) { + var p *GatewayLifecycleManagerSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*GatewayLifecycleManagerSpec) + } else { + p = proto.Clone(in).(*GatewayLifecycleManagerSpec) + } + *out = *p +} + +// DeepCopyInto for the GatewayLifecycleManager.Status +func (in *GatewayLifecycleManagerStatus) DeepCopyInto(out *GatewayLifecycleManagerStatus) { + var p *GatewayLifecycleManagerStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*GatewayLifecycleManagerStatus) + } else { + p = proto.Clone(in).(*GatewayLifecycleManagerStatus) + } + *out = *p +} diff --git a/client-go/admin.gloo.solo.io/v2/providers/client_providers.go b/client-go/admin.gloo.solo.io/v2/providers/client_providers.go new file mode 100644 index 000000000..85309c8ae --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/providers/client_providers.go @@ -0,0 +1,298 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2 + +import ( + admin_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for WorkspaceClient from Clientset +func WorkspaceClientFromClientsetProvider(clients admin_gloo_solo_io_v2.Clientset) admin_gloo_solo_io_v2.WorkspaceClient { + return clients.Workspaces() +} + +// Provider for Workspace Client from Client +func WorkspaceClientProvider(client client.Client) admin_gloo_solo_io_v2.WorkspaceClient { + return admin_gloo_solo_io_v2.NewWorkspaceClient(client) +} + +type WorkspaceClientFactory func(client client.Client) admin_gloo_solo_io_v2.WorkspaceClient + +func WorkspaceClientFactoryProvider() WorkspaceClientFactory { + return WorkspaceClientProvider +} + +type WorkspaceClientFromConfigFactory func(cfg *rest.Config) (admin_gloo_solo_io_v2.WorkspaceClient, error) + +func WorkspaceClientFromConfigFactoryProvider() WorkspaceClientFromConfigFactory { + return func(cfg *rest.Config) (admin_gloo_solo_io_v2.WorkspaceClient, error) { + clients, err := admin_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.Workspaces(), nil + } +} + +// Provider for WorkspaceSettingsClient from Clientset +func WorkspaceSettingsClientFromClientsetProvider(clients admin_gloo_solo_io_v2.Clientset) admin_gloo_solo_io_v2.WorkspaceSettingsClient { + return clients.WorkspaceSettings() +} + +// Provider for WorkspaceSettings Client from Client +func WorkspaceSettingsClientProvider(client client.Client) admin_gloo_solo_io_v2.WorkspaceSettingsClient { + return admin_gloo_solo_io_v2.NewWorkspaceSettingsClient(client) +} + +type WorkspaceSettingsClientFactory func(client client.Client) admin_gloo_solo_io_v2.WorkspaceSettingsClient + +func WorkspaceSettingsClientFactoryProvider() WorkspaceSettingsClientFactory { + return WorkspaceSettingsClientProvider +} + +type WorkspaceSettingsClientFromConfigFactory func(cfg *rest.Config) (admin_gloo_solo_io_v2.WorkspaceSettingsClient, error) + +func WorkspaceSettingsClientFromConfigFactoryProvider() WorkspaceSettingsClientFromConfigFactory { + return func(cfg *rest.Config) (admin_gloo_solo_io_v2.WorkspaceSettingsClient, error) { + clients, err := admin_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.WorkspaceSettings(), nil + } +} + +// Provider for KubernetesClusterClient from Clientset +func KubernetesClusterClientFromClientsetProvider(clients admin_gloo_solo_io_v2.Clientset) admin_gloo_solo_io_v2.KubernetesClusterClient { + return clients.KubernetesClusters() +} + +// Provider for KubernetesCluster Client from Client +func KubernetesClusterClientProvider(client client.Client) admin_gloo_solo_io_v2.KubernetesClusterClient { + return admin_gloo_solo_io_v2.NewKubernetesClusterClient(client) +} + +type KubernetesClusterClientFactory func(client client.Client) admin_gloo_solo_io_v2.KubernetesClusterClient + +func KubernetesClusterClientFactoryProvider() KubernetesClusterClientFactory { + return KubernetesClusterClientProvider +} + +type KubernetesClusterClientFromConfigFactory func(cfg *rest.Config) (admin_gloo_solo_io_v2.KubernetesClusterClient, error) + +func KubernetesClusterClientFromConfigFactoryProvider() KubernetesClusterClientFromConfigFactory { + return func(cfg *rest.Config) (admin_gloo_solo_io_v2.KubernetesClusterClient, error) { + clients, err := admin_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.KubernetesClusters(), nil + } +} + +// Provider for RootTrustPolicyClient from Clientset +func RootTrustPolicyClientFromClientsetProvider(clients admin_gloo_solo_io_v2.Clientset) admin_gloo_solo_io_v2.RootTrustPolicyClient { + return clients.RootTrustPolicies() +} + +// Provider for RootTrustPolicy Client from Client +func RootTrustPolicyClientProvider(client client.Client) admin_gloo_solo_io_v2.RootTrustPolicyClient { + return admin_gloo_solo_io_v2.NewRootTrustPolicyClient(client) +} + +type RootTrustPolicyClientFactory func(client client.Client) admin_gloo_solo_io_v2.RootTrustPolicyClient + +func RootTrustPolicyClientFactoryProvider() RootTrustPolicyClientFactory { + return RootTrustPolicyClientProvider +} + +type RootTrustPolicyClientFromConfigFactory func(cfg *rest.Config) (admin_gloo_solo_io_v2.RootTrustPolicyClient, error) + +func RootTrustPolicyClientFromConfigFactoryProvider() RootTrustPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (admin_gloo_solo_io_v2.RootTrustPolicyClient, error) { + clients, err := admin_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.RootTrustPolicies(), nil + } +} + +// Provider for ExtAuthServerClient from Clientset +func ExtAuthServerClientFromClientsetProvider(clients admin_gloo_solo_io_v2.Clientset) admin_gloo_solo_io_v2.ExtAuthServerClient { + return clients.ExtAuthServers() +} + +// Provider for ExtAuthServer Client from Client +func ExtAuthServerClientProvider(client client.Client) admin_gloo_solo_io_v2.ExtAuthServerClient { + return admin_gloo_solo_io_v2.NewExtAuthServerClient(client) +} + +type ExtAuthServerClientFactory func(client client.Client) admin_gloo_solo_io_v2.ExtAuthServerClient + +func ExtAuthServerClientFactoryProvider() ExtAuthServerClientFactory { + return ExtAuthServerClientProvider +} + +type ExtAuthServerClientFromConfigFactory func(cfg *rest.Config) (admin_gloo_solo_io_v2.ExtAuthServerClient, error) + +func ExtAuthServerClientFromConfigFactoryProvider() ExtAuthServerClientFromConfigFactory { + return func(cfg *rest.Config) (admin_gloo_solo_io_v2.ExtAuthServerClient, error) { + clients, err := admin_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ExtAuthServers(), nil + } +} + +// Provider for RateLimitServerSettingsClient from Clientset +func RateLimitServerSettingsClientFromClientsetProvider(clients admin_gloo_solo_io_v2.Clientset) admin_gloo_solo_io_v2.RateLimitServerSettingsClient { + return clients.RateLimitServerSettings() +} + +// Provider for RateLimitServerSettings Client from Client +func RateLimitServerSettingsClientProvider(client client.Client) admin_gloo_solo_io_v2.RateLimitServerSettingsClient { + return admin_gloo_solo_io_v2.NewRateLimitServerSettingsClient(client) +} + +type RateLimitServerSettingsClientFactory func(client client.Client) admin_gloo_solo_io_v2.RateLimitServerSettingsClient + +func RateLimitServerSettingsClientFactoryProvider() RateLimitServerSettingsClientFactory { + return RateLimitServerSettingsClientProvider +} + +type RateLimitServerSettingsClientFromConfigFactory func(cfg *rest.Config) (admin_gloo_solo_io_v2.RateLimitServerSettingsClient, error) + +func RateLimitServerSettingsClientFromConfigFactoryProvider() RateLimitServerSettingsClientFromConfigFactory { + return func(cfg *rest.Config) (admin_gloo_solo_io_v2.RateLimitServerSettingsClient, error) { + clients, err := admin_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.RateLimitServerSettings(), nil + } +} + +// Provider for RateLimitServerConfigClient from Clientset +func RateLimitServerConfigClientFromClientsetProvider(clients admin_gloo_solo_io_v2.Clientset) admin_gloo_solo_io_v2.RateLimitServerConfigClient { + return clients.RateLimitServerConfigs() +} + +// Provider for RateLimitServerConfig Client from Client +func RateLimitServerConfigClientProvider(client client.Client) admin_gloo_solo_io_v2.RateLimitServerConfigClient { + return admin_gloo_solo_io_v2.NewRateLimitServerConfigClient(client) +} + +type RateLimitServerConfigClientFactory func(client client.Client) admin_gloo_solo_io_v2.RateLimitServerConfigClient + +func RateLimitServerConfigClientFactoryProvider() RateLimitServerConfigClientFactory { + return RateLimitServerConfigClientProvider +} + +type RateLimitServerConfigClientFromConfigFactory func(cfg *rest.Config) (admin_gloo_solo_io_v2.RateLimitServerConfigClient, error) + +func RateLimitServerConfigClientFromConfigFactoryProvider() RateLimitServerConfigClientFromConfigFactory { + return func(cfg *rest.Config) (admin_gloo_solo_io_v2.RateLimitServerConfigClient, error) { + clients, err := admin_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.RateLimitServerConfigs(), nil + } +} + +// Provider for DashboardClient from Clientset +func DashboardClientFromClientsetProvider(clients admin_gloo_solo_io_v2.Clientset) admin_gloo_solo_io_v2.DashboardClient { + return clients.Dashboards() +} + +// Provider for Dashboard Client from Client +func DashboardClientProvider(client client.Client) admin_gloo_solo_io_v2.DashboardClient { + return admin_gloo_solo_io_v2.NewDashboardClient(client) +} + +type DashboardClientFactory func(client client.Client) admin_gloo_solo_io_v2.DashboardClient + +func DashboardClientFactoryProvider() DashboardClientFactory { + return DashboardClientProvider +} + +type DashboardClientFromConfigFactory func(cfg *rest.Config) (admin_gloo_solo_io_v2.DashboardClient, error) + +func DashboardClientFromConfigFactoryProvider() DashboardClientFromConfigFactory { + return func(cfg *rest.Config) (admin_gloo_solo_io_v2.DashboardClient, error) { + clients, err := admin_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.Dashboards(), nil + } +} + +// Provider for IstioLifecycleManagerClient from Clientset +func IstioLifecycleManagerClientFromClientsetProvider(clients admin_gloo_solo_io_v2.Clientset) admin_gloo_solo_io_v2.IstioLifecycleManagerClient { + return clients.IstioLifecycleManagers() +} + +// Provider for IstioLifecycleManager Client from Client +func IstioLifecycleManagerClientProvider(client client.Client) admin_gloo_solo_io_v2.IstioLifecycleManagerClient { + return admin_gloo_solo_io_v2.NewIstioLifecycleManagerClient(client) +} + +type IstioLifecycleManagerClientFactory func(client client.Client) admin_gloo_solo_io_v2.IstioLifecycleManagerClient + +func IstioLifecycleManagerClientFactoryProvider() IstioLifecycleManagerClientFactory { + return IstioLifecycleManagerClientProvider +} + +type IstioLifecycleManagerClientFromConfigFactory func(cfg *rest.Config) (admin_gloo_solo_io_v2.IstioLifecycleManagerClient, error) + +func IstioLifecycleManagerClientFromConfigFactoryProvider() IstioLifecycleManagerClientFromConfigFactory { + return func(cfg *rest.Config) (admin_gloo_solo_io_v2.IstioLifecycleManagerClient, error) { + clients, err := admin_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.IstioLifecycleManagers(), nil + } +} + +// Provider for GatewayLifecycleManagerClient from Clientset +func GatewayLifecycleManagerClientFromClientsetProvider(clients admin_gloo_solo_io_v2.Clientset) admin_gloo_solo_io_v2.GatewayLifecycleManagerClient { + return clients.GatewayLifecycleManagers() +} + +// Provider for GatewayLifecycleManager Client from Client +func GatewayLifecycleManagerClientProvider(client client.Client) admin_gloo_solo_io_v2.GatewayLifecycleManagerClient { + return admin_gloo_solo_io_v2.NewGatewayLifecycleManagerClient(client) +} + +type GatewayLifecycleManagerClientFactory func(client client.Client) admin_gloo_solo_io_v2.GatewayLifecycleManagerClient + +func GatewayLifecycleManagerClientFactoryProvider() GatewayLifecycleManagerClientFactory { + return GatewayLifecycleManagerClientProvider +} + +type GatewayLifecycleManagerClientFromConfigFactory func(cfg *rest.Config) (admin_gloo_solo_io_v2.GatewayLifecycleManagerClient, error) + +func GatewayLifecycleManagerClientFromConfigFactoryProvider() GatewayLifecycleManagerClientFromConfigFactory { + return func(cfg *rest.Config) (admin_gloo_solo_io_v2.GatewayLifecycleManagerClient, error) { + clients, err := admin_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.GatewayLifecycleManagers(), nil + } +} diff --git a/client-go/admin.gloo.solo.io/v2/ratelimit_server_config.pb.clone.go b/client-go/admin.gloo.solo.io/v2/ratelimit_server_config.pb.clone.go new file mode 100644 index 000000000..ca2825ede --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/ratelimit_server_config.pb.clone.go @@ -0,0 +1,156 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/ratelimit_server_config.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_ratelimit_solo_io_v1alpha1 "github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *RateLimitServerConfigSpec) Clone() proto.Message { + var target *RateLimitServerConfigSpec + if m == nil { + return target + } + target = &RateLimitServerConfigSpec{} + + if m.GetDestinationServers() != nil { + target.DestinationServers = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetDestinationServers())) + for idx, v := range m.GetDestinationServers() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.DestinationServers[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.DestinationServers[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + switch m.ConfigType.(type) { + + case *RateLimitServerConfigSpec_Raw_: + + if h, ok := interface{}(m.GetRaw()).(clone.Cloner); ok { + target.ConfigType = &RateLimitServerConfigSpec_Raw_{ + Raw: h.Clone().(*RateLimitServerConfigSpec_Raw), + } + } else { + target.ConfigType = &RateLimitServerConfigSpec_Raw_{ + Raw: proto.Clone(m.GetRaw()).(*RateLimitServerConfigSpec_Raw), + } + } + + } + + return target +} + +// Clone function +func (m *RateLimitServerConfigStatus) Clone() proto.Message { + var target *RateLimitServerConfigStatus + if m == nil { + return target + } + target = &RateLimitServerConfigStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedDestinationServers = m.GetNumSelectedDestinationServers() + + return target +} + +// Clone function +func (m *RateLimitServerConfigReport) Clone() proto.Message { + var target *RateLimitServerConfigReport + if m == nil { + return target + } + target = &RateLimitServerConfigReport{} + + if h, ok := interface{}(m.GetReport()).(clone.Cloner); ok { + target.Report = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Report = proto.Clone(m.GetReport()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + if m.GetSelectedDestinationServers() != nil { + target.SelectedDestinationServers = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetSelectedDestinationServers())) + for idx, v := range m.GetSelectedDestinationServers() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedDestinationServers[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.SelectedDestinationServers[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + return target +} + +// Clone function +func (m *RateLimitServerConfigSpec_Raw) Clone() proto.Message { + var target *RateLimitServerConfigSpec_Raw + if m == nil { + return target + } + target = &RateLimitServerConfigSpec_Raw{} + + if m.GetDescriptors() != nil { + target.Descriptors = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_ratelimit_solo_io_v1alpha1.Descriptor, len(m.GetDescriptors())) + for idx, v := range m.GetDescriptors() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Descriptors[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_ratelimit_solo_io_v1alpha1.Descriptor) + } else { + target.Descriptors[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_ratelimit_solo_io_v1alpha1.Descriptor) + } + + } + } + + if m.GetSetDescriptors() != nil { + target.SetDescriptors = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_ratelimit_solo_io_v1alpha1.SetDescriptor, len(m.GetSetDescriptors())) + for idx, v := range m.GetSetDescriptors() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SetDescriptors[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_ratelimit_solo_io_v1alpha1.SetDescriptor) + } else { + target.SetDescriptors[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_ratelimit_solo_io_v1alpha1.SetDescriptor) + } + + } + } + + return target +} diff --git a/client-go/admin.gloo.solo.io/v2/ratelimit_server_config.pb.equal.go b/client-go/admin.gloo.solo.io/v2/ratelimit_server_config.pb.equal.go new file mode 100644 index 000000000..bdecb0368 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/ratelimit_server_config.pb.equal.go @@ -0,0 +1,238 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/ratelimit_server_config.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *RateLimitServerConfigSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitServerConfigSpec) + if !ok { + that2, ok := that.(RateLimitServerConfigSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetDestinationServers()) != len(target.GetDestinationServers()) { + return false + } + for idx, v := range m.GetDestinationServers() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinationServers()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetDestinationServers()[idx]) { + return false + } + } + + } + + switch m.ConfigType.(type) { + + case *RateLimitServerConfigSpec_Raw_: + if _, ok := target.ConfigType.(*RateLimitServerConfigSpec_Raw_); !ok { + return false + } + + if h, ok := interface{}(m.GetRaw()).(equality.Equalizer); ok { + if !h.Equal(target.GetRaw()) { + return false + } + } else { + if !proto.Equal(m.GetRaw(), target.GetRaw()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ConfigType != target.ConfigType { + return false + } + } + + return true +} + +// Equal function +func (m *RateLimitServerConfigStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitServerConfigStatus) + if !ok { + that2, ok := that.(RateLimitServerConfigStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedDestinationServers() != target.GetNumSelectedDestinationServers() { + return false + } + + return true +} + +// Equal function +func (m *RateLimitServerConfigReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitServerConfigReport) + if !ok { + that2, ok := that.(RateLimitServerConfigReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetReport()).(equality.Equalizer); ok { + if !h.Equal(target.GetReport()) { + return false + } + } else { + if !proto.Equal(m.GetReport(), target.GetReport()) { + return false + } + } + + if len(m.GetSelectedDestinationServers()) != len(target.GetSelectedDestinationServers()) { + return false + } + for idx, v := range m.GetSelectedDestinationServers() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedDestinationServers()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedDestinationServers()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *RateLimitServerConfigSpec_Raw) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitServerConfigSpec_Raw) + if !ok { + that2, ok := that.(RateLimitServerConfigSpec_Raw) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetDescriptors()) != len(target.GetDescriptors()) { + return false + } + for idx, v := range m.GetDescriptors() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetDescriptors()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetDescriptors()[idx]) { + return false + } + } + + } + + if len(m.GetSetDescriptors()) != len(target.GetSetDescriptors()) { + return false + } + for idx, v := range m.GetSetDescriptors() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSetDescriptors()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSetDescriptors()[idx]) { + return false + } + } + + } + + return true +} diff --git a/client-go/admin.gloo.solo.io/v2/ratelimit_server_config.pb.go b/client-go/admin.gloo.solo.io/v2/ratelimit_server_config.pb.go new file mode 100644 index 000000000..ec1e041e1 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/ratelimit_server_config.pb.go @@ -0,0 +1,497 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/ratelimit_server_config.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + v1alpha1 "github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// RateLimitServerConfig is used to configure the ratelimit rules enforced by the server. +// All RateLimitPolicy resources in a workspace require a RateLimitServerConfig to in order to configure ratelimit rules. +// If no RateLimitServerConfig is provided, no ratelimit rules will be enforced. +type RateLimitServerConfigSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Each `RateLimitServerConfig` is an instance of one specific configuration type. + // Currently, only raw configuration is supported, but going forward we are planning on adding + // more high-level configuration formats to support specific use cases. + // + // Types that are assignable to ConfigType: + // + // *RateLimitServerConfigSpec_Raw_ + ConfigType isRateLimitServerConfigSpec_ConfigType `protobuf_oneof:"config_type"` + // Required field to specify the ratelimit servers that will enforce the defined descriptors. + DestinationServers []*v2.DestinationReference `protobuf:"bytes,4,rep,name=destination_servers,json=destinationServers,proto3" json:"destination_servers,omitempty"` +} + +func (x *RateLimitServerConfigSpec) Reset() { + *x = RateLimitServerConfigSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitServerConfigSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitServerConfigSpec) ProtoMessage() {} + +func (x *RateLimitServerConfigSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitServerConfigSpec.ProtoReflect.Descriptor instead. +func (*RateLimitServerConfigSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDescGZIP(), []int{0} +} + +func (m *RateLimitServerConfigSpec) GetConfigType() isRateLimitServerConfigSpec_ConfigType { + if m != nil { + return m.ConfigType + } + return nil +} + +func (x *RateLimitServerConfigSpec) GetRaw() *RateLimitServerConfigSpec_Raw { + if x, ok := x.GetConfigType().(*RateLimitServerConfigSpec_Raw_); ok { + return x.Raw + } + return nil +} + +func (x *RateLimitServerConfigSpec) GetDestinationServers() []*v2.DestinationReference { + if x != nil { + return x.DestinationServers + } + return nil +} + +type isRateLimitServerConfigSpec_ConfigType interface { + isRateLimitServerConfigSpec_ConfigType() +} + +type RateLimitServerConfigSpec_Raw_ struct { + // Define a policy using the raw configuration format used by the ratelimit server. + Raw *RateLimitServerConfigSpec_Raw `protobuf:"bytes,1,opt,name=raw,proto3,oneof"` +} + +func (*RateLimitServerConfigSpec_Raw_) isRateLimitServerConfigSpec_ConfigType() {} + +// The current status of the `RateLimitServerConfig`. +type RateLimitServerConfigStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of ratelimit servers for which server config was translated. + NumSelectedDestinationServers uint32 `protobuf:"varint,2,opt,name=num_selected_destination_servers,json=numSelectedDestinationServers,proto3" json:"num_selected_destination_servers,omitempty"` +} + +func (x *RateLimitServerConfigStatus) Reset() { + *x = RateLimitServerConfigStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitServerConfigStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitServerConfigStatus) ProtoMessage() {} + +func (x *RateLimitServerConfigStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitServerConfigStatus.ProtoReflect.Descriptor instead. +func (*RateLimitServerConfigStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDescGZIP(), []int{1} +} + +func (x *RateLimitServerConfigStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *RateLimitServerConfigStatus) GetNumSelectedDestinationServers() uint32 { + if x != nil { + return x.NumSelectedDestinationServers + } + return 0 +} + +type RateLimitServerConfigReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Report *v2.Report `protobuf:"bytes,1,opt,name=report,proto3" json:"report,omitempty"` + // A list of ratelimit servers for which server config was translated. + SelectedDestinationServers []*v2.DestinationReference `protobuf:"bytes,2,rep,name=selected_destination_servers,json=selectedDestinationServers,proto3" json:"selected_destination_servers,omitempty"` +} + +func (x *RateLimitServerConfigReport) Reset() { + *x = RateLimitServerConfigReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitServerConfigReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitServerConfigReport) ProtoMessage() {} + +func (x *RateLimitServerConfigReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitServerConfigReport.ProtoReflect.Descriptor instead. +func (*RateLimitServerConfigReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDescGZIP(), []int{2} +} + +func (x *RateLimitServerConfigReport) GetReport() *v2.Report { + if x != nil { + return x.Report + } + return nil +} + +func (x *RateLimitServerConfigReport) GetSelectedDestinationServers() []*v2.DestinationReference { + if x != nil { + return x.SelectedDestinationServers + } + return nil +} + +// This object used to specify rate limit policies using the raw configuration formats +// enforced by the ratelimit server. When using this configuration type, it is up to +// the user to ensure that server and client configurations match to implement the desired behavior. +type RateLimitServerConfigSpec_Raw struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The descriptors that will be applied to the server. + // {{/* Note: validation of this field disabled because it slows down cue tremendously*/}} + Descriptors []*v1alpha1.Descriptor `protobuf:"bytes,1,rep,name=descriptors,proto3" json:"descriptors,omitempty"` + // The set descriptors that will be applied to the server. + // {{/* Note: validation of this field disabled because it slows down cue tremendously*/}} + SetDescriptors []*v1alpha1.SetDescriptor `protobuf:"bytes,2,rep,name=set_descriptors,json=setDescriptors,proto3" json:"set_descriptors,omitempty"` +} + +func (x *RateLimitServerConfigSpec_Raw) Reset() { + *x = RateLimitServerConfigSpec_Raw{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitServerConfigSpec_Raw) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitServerConfigSpec_Raw) ProtoMessage() {} + +func (x *RateLimitServerConfigSpec_Raw) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitServerConfigSpec_Raw.ProtoReflect.Descriptor instead. +func (*RateLimitServerConfigSpec_Raw) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *RateLimitServerConfigSpec_Raw) GetDescriptors() []*v1alpha1.Descriptor { + if x != nil { + return x.Descriptors + } + return nil +} + +func (x *RateLimitServerConfigSpec_Raw) GetSetDescriptors() []*v1alpha1.SetDescriptor { + if x != nil { + return x.SetDescriptors + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDesc = []byte{ + 0x0a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x12, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x61, 0x74, 0x65, + 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xfc, 0x02, 0x0a, 0x19, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x45, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x61, 0x77, + 0x48, 0x00, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x5f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x1a, 0xa7, 0x01, 0x0a, 0x03, 0x52, 0x61, 0x77, + 0x12, 0x4a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x54, 0x0a, 0x0f, + 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x65, + 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x42, 0x05, 0xea, 0x42, 0x02, + 0x10, 0x01, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, + 0x72, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x1b, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x20, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x1d, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x22, + 0xbf, 0x01, 0x0a, 0x1b, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x33, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6b, 0x0a, 0x1c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x1a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x73, 0x42, 0x53, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, + 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_goTypes = []interface{}{ + (*RateLimitServerConfigSpec)(nil), // 0: admin.gloo.solo.io.RateLimitServerConfigSpec + (*RateLimitServerConfigStatus)(nil), // 1: admin.gloo.solo.io.RateLimitServerConfigStatus + (*RateLimitServerConfigReport)(nil), // 2: admin.gloo.solo.io.RateLimitServerConfigReport + (*RateLimitServerConfigSpec_Raw)(nil), // 3: admin.gloo.solo.io.RateLimitServerConfigSpec.Raw + (*v2.DestinationReference)(nil), // 4: common.gloo.solo.io.DestinationReference + (*v2.Status)(nil), // 5: common.gloo.solo.io.Status + (*v2.Report)(nil), // 6: common.gloo.solo.io.Report + (*v1alpha1.Descriptor)(nil), // 7: ratelimit.api.solo.io.Descriptor + (*v1alpha1.SetDescriptor)(nil), // 8: ratelimit.api.solo.io.SetDescriptor +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_depIdxs = []int32{ + 3, // 0: admin.gloo.solo.io.RateLimitServerConfigSpec.raw:type_name -> admin.gloo.solo.io.RateLimitServerConfigSpec.Raw + 4, // 1: admin.gloo.solo.io.RateLimitServerConfigSpec.destination_servers:type_name -> common.gloo.solo.io.DestinationReference + 5, // 2: admin.gloo.solo.io.RateLimitServerConfigStatus.common:type_name -> common.gloo.solo.io.Status + 6, // 3: admin.gloo.solo.io.RateLimitServerConfigReport.report:type_name -> common.gloo.solo.io.Report + 4, // 4: admin.gloo.solo.io.RateLimitServerConfigReport.selected_destination_servers:type_name -> common.gloo.solo.io.DestinationReference + 7, // 5: admin.gloo.solo.io.RateLimitServerConfigSpec.Raw.descriptors:type_name -> ratelimit.api.solo.io.Descriptor + 8, // 6: admin.gloo.solo.io.RateLimitServerConfigSpec.Raw.set_descriptors:type_name -> ratelimit.api.solo.io.SetDescriptor + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitServerConfigSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitServerConfigStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitServerConfigReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitServerConfigSpec_Raw); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*RateLimitServerConfigSpec_Raw_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_config_proto_depIdxs = nil +} diff --git a/client-go/admin.gloo.solo.io/v2/ratelimit_server_config.pb.hash.go b/client-go/admin.gloo.solo.io/v2/ratelimit_server_config.pb.hash.go new file mode 100644 index 000000000..da6a14388 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/ratelimit_server_config.pb.hash.go @@ -0,0 +1,257 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/ratelimit_server_config.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *RateLimitServerConfigSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.RateLimitServerConfigSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetDestinationServers() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.ConfigType.(type) { + + case *RateLimitServerConfigSpec_Raw_: + + if h, ok := interface{}(m.GetRaw()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Raw")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRaw(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Raw")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitServerConfigStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.RateLimitServerConfigStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedDestinationServers()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitServerConfigReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.RateLimitServerConfigReport")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetReport()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Report")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetReport(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Report")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetSelectedDestinationServers() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitServerConfigSpec_Raw) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.RateLimitServerConfigSpec_Raw")); err != nil { + return 0, err + } + + for _, v := range m.GetDescriptors() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetSetDescriptors() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/admin.gloo.solo.io/v2/ratelimit_server_settings.pb.clone.go b/client-go/admin.gloo.solo.io/v2/ratelimit_server_settings.pb.clone.go new file mode 100644 index 000000000..d49df5c83 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/ratelimit_server_settings.pb.clone.go @@ -0,0 +1,70 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/ratelimit_server_settings.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *RateLimitServerSettingsSpec) Clone() proto.Message { + var target *RateLimitServerSettingsSpec + if m == nil { + return target + } + target = &RateLimitServerSettingsSpec{} + + if h, ok := interface{}(m.GetDestinationServer()).(clone.Cloner); ok { + target.DestinationServer = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.DestinationServer = proto.Clone(m.GetDestinationServer()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + if h, ok := interface{}(m.GetRequestTimeout()).(clone.Cloner); ok { + target.RequestTimeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.RequestTimeout = proto.Clone(m.GetRequestTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + target.DenyOnFail = m.GetDenyOnFail() + + return target +} + +// Clone function +func (m *RateLimitServerSettingsStatus) Clone() proto.Message { + var target *RateLimitServerSettingsStatus + if m == nil { + return target + } + target = &RateLimitServerSettingsStatus{} + + target.ObservedGeneration = m.GetObservedGeneration() + + target.State = m.GetState() + + return target +} diff --git a/client-go/admin.gloo.solo.io/v2/ratelimit_server_settings.pb.equal.go b/client-go/admin.gloo.solo.io/v2/ratelimit_server_settings.pb.equal.go new file mode 100644 index 000000000..1ffedc465 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/ratelimit_server_settings.pb.equal.go @@ -0,0 +1,106 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/ratelimit_server_settings.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *RateLimitServerSettingsSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitServerSettingsSpec) + if !ok { + that2, ok := that.(RateLimitServerSettingsSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetDestinationServer()).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinationServer()) { + return false + } + } else { + if !proto.Equal(m.GetDestinationServer(), target.GetDestinationServer()) { + return false + } + } + + if h, ok := interface{}(m.GetRequestTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequestTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetRequestTimeout(), target.GetRequestTimeout()) { + return false + } + } + + if m.GetDenyOnFail() != target.GetDenyOnFail() { + return false + } + + return true +} + +// Equal function +func (m *RateLimitServerSettingsStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitServerSettingsStatus) + if !ok { + that2, ok := that.(RateLimitServerSettingsStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetObservedGeneration() != target.GetObservedGeneration() { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + return true +} diff --git a/client-go/admin.gloo.solo.io/v2/ratelimit_server_settings.pb.go b/client-go/admin.gloo.solo.io/v2/ratelimit_server_settings.pb.go new file mode 100644 index 000000000..cee971db5 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/ratelimit_server_settings.pb.go @@ -0,0 +1,311 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/ratelimit_server_settings.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// RateLimitServerSettings is an optional resource used to configure how a client (i.e. a sidecar or gateway proxy) connects to a rate limit server. +// If no RateLimitServerSetting is selected in a RatelimitPolicy, a default configuration will be used. +type RateLimitServerSettingsSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ratelimit service to ask about ratelimit decisions. + // The provided reference will be used to search for a service of the given name/namespace on the cluster + // the traffic policy is applied on + // + // If omitted, Gloo Mesh will search for a service with the name rate-limiter in the gloo-mesh namespace. + DestinationServer *v2.DestinationReference `protobuf:"bytes,1,opt,name=destination_server,json=destinationServer,proto3" json:"destination_server,omitempty"` + // The timeout in milliseconds for the rate limit service RPC. Defaults to 100ms. + // Behaviour after request timeout is reached is set by `deny_on_fail`. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + RequestTimeout *duration.Duration `protobuf:"bytes,2,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"` + // Behaviour in case the rate limiting service does not respond back. + // When it is set to true, Envoy will not allow traffic in case of communication failure between rate limiting service and the proxy. + // Defaults to false + DenyOnFail bool `protobuf:"varint,3,opt,name=deny_on_fail,json=denyOnFail,proto3" json:"deny_on_fail,omitempty"` +} + +func (x *RateLimitServerSettingsSpec) Reset() { + *x = RateLimitServerSettingsSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitServerSettingsSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitServerSettingsSpec) ProtoMessage() {} + +func (x *RateLimitServerSettingsSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitServerSettingsSpec.ProtoReflect.Descriptor instead. +func (*RateLimitServerSettingsSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDescGZIP(), []int{0} +} + +func (x *RateLimitServerSettingsSpec) GetDestinationServer() *v2.DestinationReference { + if x != nil { + return x.DestinationServer + } + return nil +} + +func (x *RateLimitServerSettingsSpec) GetRequestTimeout() *duration.Duration { + if x != nil { + return x.RequestTimeout + } + return nil +} + +func (x *RateLimitServerSettingsSpec) GetDenyOnFail() bool { + if x != nil { + return x.DenyOnFail + } + return false +} + +// +// The current status of the `RateLimitServerSettings`. +type RateLimitServerSettingsStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The most recent generation observed in the RateLimitServerSettings metadata. + // If the `observedGeneration` does not match `metadata.generation`, + // Gloo Mesh has not processed the most recent version of this resource. + ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` + // Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. + State v2.ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=common.gloo.solo.io.ApprovalState" json:"state,omitempty"` +} + +func (x *RateLimitServerSettingsStatus) Reset() { + *x = RateLimitServerSettingsStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitServerSettingsStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitServerSettingsStatus) ProtoMessage() {} + +func (x *RateLimitServerSettingsStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitServerSettingsStatus.ProtoReflect.Descriptor instead. +func (*RateLimitServerSettingsStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDescGZIP(), []int{1} +} + +func (x *RateLimitServerSettingsStatus) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +func (x *RateLimitServerSettingsStatus) GetState() v2.ApprovalState { + if x != nil { + return x.State + } + return v2.ApprovalState_PENDING +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDesc = []byte{ + 0x0a, 0x61, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, + 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, + 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, + 0x01, 0x0a, 0x1b, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x58, + 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x20, 0x0a, 0x0c, + 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x6e, 0x79, 0x4f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x22, 0x8a, + 0x01, 0x0a, 0x1d, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6f, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x53, 0x5a, 0x45, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_goTypes = []interface{}{ + (*RateLimitServerSettingsSpec)(nil), // 0: admin.gloo.solo.io.RateLimitServerSettingsSpec + (*RateLimitServerSettingsStatus)(nil), // 1: admin.gloo.solo.io.RateLimitServerSettingsStatus + (*v2.DestinationReference)(nil), // 2: common.gloo.solo.io.DestinationReference + (*duration.Duration)(nil), // 3: google.protobuf.Duration + (v2.ApprovalState)(0), // 4: common.gloo.solo.io.ApprovalState +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_depIdxs = []int32{ + 2, // 0: admin.gloo.solo.io.RateLimitServerSettingsSpec.destination_server:type_name -> common.gloo.solo.io.DestinationReference + 3, // 1: admin.gloo.solo.io.RateLimitServerSettingsSpec.request_timeout:type_name -> google.protobuf.Duration + 4, // 2: admin.gloo.solo.io.RateLimitServerSettingsStatus.state:type_name -> common.gloo.solo.io.ApprovalState + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitServerSettingsSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitServerSettingsStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_ratelimit_server_settings_proto_depIdxs = nil +} diff --git a/client-go/admin.gloo.solo.io/v2/ratelimit_server_settings.pb.hash.go b/client-go/admin.gloo.solo.io/v2/ratelimit_server_settings.pb.hash.go new file mode 100644 index 000000000..5df9ad27c --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/ratelimit_server_settings.pb.hash.go @@ -0,0 +1,113 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/ratelimit_server_settings.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *RateLimitServerSettingsSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.RateLimitServerSettingsSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetDestinationServer()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DestinationServer")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDestinationServer(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DestinationServer")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetRequestTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RequestTimeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequestTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RequestTimeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetDenyOnFail()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitServerSettingsStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.RateLimitServerSettingsStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetObservedGeneration()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/admin.gloo.solo.io/v2/register.go b/client-go/admin.gloo.solo.io/v2/register.go new file mode 100644 index 000000000..9e78da77c --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "admin.gloo.solo.io", Version: "v2"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/admin.gloo.solo.io/v2/report_types.go b/client-go/admin.gloo.solo.io/v2/report_types.go new file mode 100644 index 000000000..2113588cc --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/report_types.go @@ -0,0 +1,22 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2 + +// IsReport implements Reportable interface for WorkspaceReport +func (o *WorkspaceReport) IsReport() {} + +// IsReport implements Reportable interface for WorkspaceSettingsReport +func (o *WorkspaceSettingsReport) IsReport() {} + +// IsReport implements Reportable interface for KubernetesClusterReport +func (o *KubernetesClusterReport) IsReport() {} + +// IsReport implements Reportable interface for RateLimitServerConfigReport +func (o *RateLimitServerConfigReport) IsReport() {} + +// IsReport implements Reportable interface for IstioLifecycleManagerReport +func (o *IstioLifecycleManagerReport) IsReport() {} + +// IsReport implements Reportable interface for GatewayLifecycleManagerReport +func (o *GatewayLifecycleManagerReport) IsReport() {} diff --git a/client-go/admin.gloo.solo.io/v2/root_trust_policy.pb.clone.go b/client-go/admin.gloo.solo.io/v2/root_trust_policy.pb.clone.go new file mode 100644 index 000000000..68c1ca6ba --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/root_trust_policy.pb.clone.go @@ -0,0 +1,176 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/root_trust_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_security_policy_gloo_solo_io_v2_tls "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2/tls" + + github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *RootTrustPolicySpec) Clone() proto.Message { + var target *RootTrustPolicySpec + if m == nil { + return target + } + target = &RootTrustPolicySpec{} + + if m.GetApplyToMeshes() != nil { + target.ApplyToMeshes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.MeshSelector, len(m.GetApplyToMeshes())) + for idx, v := range m.GetApplyToMeshes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToMeshes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.MeshSelector) + } else { + target.ApplyToMeshes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.MeshSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*RootTrustPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*RootTrustPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *RootTrustPolicyStatus) Clone() proto.Message { + var target *RootTrustPolicyStatus + if m == nil { + return target + } + target = &RootTrustPolicyStatus{} + + target.ObservedGeneration = m.GetObservedGeneration() + + target.State = m.GetState() + + return target +} + +// Clone function +func (m *RootTrustPolicySpec_Config) Clone() proto.Message { + var target *RootTrustPolicySpec_Config + if m == nil { + return target + } + target = &RootTrustPolicySpec_Config{} + + if h, ok := interface{}(m.GetIntermediateCertOptions()).(clone.Cloner); ok { + target.IntermediateCertOptions = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_security_policy_gloo_solo_io_v2_tls.CommonCertOptions) + } else { + target.IntermediateCertOptions = proto.Clone(m.GetIntermediateCertOptions()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_security_policy_gloo_solo_io_v2_tls.CommonCertOptions) + } + + target.AutoRestartPods = m.GetAutoRestartPods() + + if m.GetPassiveCertificateAuthorities() != nil { + target.PassiveCertificateAuthorities = make([]*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority, len(m.GetPassiveCertificateAuthorities())) + for idx, v := range m.GetPassiveCertificateAuthorities() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.PassiveCertificateAuthorities[idx] = h.Clone().(*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) + } else { + target.PassiveCertificateAuthorities[idx] = proto.Clone(v).(*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) + } + + } + } + + switch m.CertificateAuthorityType.(type) { + + case *RootTrustPolicySpec_Config_MgmtServerCa: + + if h, ok := interface{}(m.GetMgmtServerCa()).(clone.Cloner); ok { + target.CertificateAuthorityType = &RootTrustPolicySpec_Config_MgmtServerCa{ + MgmtServerCa: h.Clone().(*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority), + } + } else { + target.CertificateAuthorityType = &RootTrustPolicySpec_Config_MgmtServerCa{ + MgmtServerCa: proto.Clone(m.GetMgmtServerCa()).(*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority), + } + } + + case *RootTrustPolicySpec_Config_AgentCa: + + if h, ok := interface{}(m.GetAgentCa()).(clone.Cloner); ok { + target.CertificateAuthorityType = &RootTrustPolicySpec_Config_AgentCa{ + AgentCa: h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_security_policy_gloo_solo_io_v2_tls.AgentCertificateAuthority), + } + } else { + target.CertificateAuthorityType = &RootTrustPolicySpec_Config_AgentCa{ + AgentCa: proto.Clone(m.GetAgentCa()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_security_policy_gloo_solo_io_v2_tls.AgentCertificateAuthority), + } + } + + } + + return target +} + +// Clone function +func (m *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) Clone() proto.Message { + var target *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority + if m == nil { + return target + } + target = &RootTrustPolicySpec_Config_MgmtServerCertificateAuthority{} + + switch m.CaSource.(type) { + + case *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_Generated: + + if h, ok := interface{}(m.GetGenerated()).(clone.Cloner); ok { + target.CaSource = &RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_Generated{ + Generated: h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_security_policy_gloo_solo_io_v2_tls.CommonCertOptions), + } + } else { + target.CaSource = &RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_Generated{ + Generated: proto.Clone(m.GetGenerated()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_security_policy_gloo_solo_io_v2_tls.CommonCertOptions), + } + } + + case *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_SecretRef: + + if h, ok := interface{}(m.GetSecretRef()).(clone.Cloner); ok { + target.CaSource = &RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_SecretRef{ + SecretRef: h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef), + } + } else { + target.CaSource = &RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_SecretRef{ + SecretRef: proto.Clone(m.GetSecretRef()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef), + } + } + + } + + return target +} diff --git a/client-go/admin.gloo.solo.io/v2/root_trust_policy.pb.equal.go b/client-go/admin.gloo.solo.io/v2/root_trust_policy.pb.equal.go new file mode 100644 index 000000000..4d8f2938f --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/root_trust_policy.pb.equal.go @@ -0,0 +1,266 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/root_trust_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *RootTrustPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RootTrustPolicySpec) + if !ok { + that2, ok := that.(RootTrustPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToMeshes()) != len(target.GetApplyToMeshes()) { + return false + } + for idx, v := range m.GetApplyToMeshes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToMeshes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToMeshes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *RootTrustPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RootTrustPolicyStatus) + if !ok { + that2, ok := that.(RootTrustPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetObservedGeneration() != target.GetObservedGeneration() { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + return true +} + +// Equal function +func (m *RootTrustPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RootTrustPolicySpec_Config) + if !ok { + that2, ok := that.(RootTrustPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetIntermediateCertOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetIntermediateCertOptions()) { + return false + } + } else { + if !proto.Equal(m.GetIntermediateCertOptions(), target.GetIntermediateCertOptions()) { + return false + } + } + + if m.GetAutoRestartPods() != target.GetAutoRestartPods() { + return false + } + + if len(m.GetPassiveCertificateAuthorities()) != len(target.GetPassiveCertificateAuthorities()) { + return false + } + for idx, v := range m.GetPassiveCertificateAuthorities() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPassiveCertificateAuthorities()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPassiveCertificateAuthorities()[idx]) { + return false + } + } + + } + + switch m.CertificateAuthorityType.(type) { + + case *RootTrustPolicySpec_Config_MgmtServerCa: + if _, ok := target.CertificateAuthorityType.(*RootTrustPolicySpec_Config_MgmtServerCa); !ok { + return false + } + + if h, ok := interface{}(m.GetMgmtServerCa()).(equality.Equalizer); ok { + if !h.Equal(target.GetMgmtServerCa()) { + return false + } + } else { + if !proto.Equal(m.GetMgmtServerCa(), target.GetMgmtServerCa()) { + return false + } + } + + case *RootTrustPolicySpec_Config_AgentCa: + if _, ok := target.CertificateAuthorityType.(*RootTrustPolicySpec_Config_AgentCa); !ok { + return false + } + + if h, ok := interface{}(m.GetAgentCa()).(equality.Equalizer); ok { + if !h.Equal(target.GetAgentCa()) { + return false + } + } else { + if !proto.Equal(m.GetAgentCa(), target.GetAgentCa()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.CertificateAuthorityType != target.CertificateAuthorityType { + return false + } + } + + return true +} + +// Equal function +func (m *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) + if !ok { + that2, ok := that.(RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.CaSource.(type) { + + case *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_Generated: + if _, ok := target.CaSource.(*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_Generated); !ok { + return false + } + + if h, ok := interface{}(m.GetGenerated()).(equality.Equalizer); ok { + if !h.Equal(target.GetGenerated()) { + return false + } + } else { + if !proto.Equal(m.GetGenerated(), target.GetGenerated()) { + return false + } + } + + case *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_SecretRef: + if _, ok := target.CaSource.(*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_SecretRef); !ok { + return false + } + + if h, ok := interface{}(m.GetSecretRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetSecretRef()) { + return false + } + } else { + if !proto.Equal(m.GetSecretRef(), target.GetSecretRef()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.CaSource != target.CaSource { + return false + } + } + + return true +} diff --git a/client-go/admin.gloo.solo.io/v2/root_trust_policy.pb.go b/client-go/admin.gloo.solo.io/v2/root_trust_policy.pb.go new file mode 100644 index 000000000..c66b3492e --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/root_trust_policy.pb.go @@ -0,0 +1,586 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/root_trust_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + tls "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2/tls" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// RootTrustPolicy is used to designate the root of trust, including the trust domain and root certificates used by one or more service meshes. +// A shared RootTrustPolicy is currently required to support communication between workloads and destinations running in different meshes. In the future Gloo Mesh will support cross-mesh connectivity using a Limited Trust model (where participating meshes are permitted to use separate roots of trust). +type RootTrustPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // select the meshes where the root of trust will be applied. + // If empty, will apply to all Meshes in the workspace. + ApplyToMeshes []*v2.MeshSelector `protobuf:"bytes,1,rep,name=apply_to_meshes,json=applyToMeshes,proto3" json:"apply_to_meshes,omitempty"` + // The details of the root of trust to apply to the selected meshes. + Config *RootTrustPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *RootTrustPolicySpec) Reset() { + *x = RootTrustPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RootTrustPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RootTrustPolicySpec) ProtoMessage() {} + +func (x *RootTrustPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RootTrustPolicySpec.ProtoReflect.Descriptor instead. +func (*RootTrustPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *RootTrustPolicySpec) GetApplyToMeshes() []*v2.MeshSelector { + if x != nil { + return x.ApplyToMeshes + } + return nil +} + +func (x *RootTrustPolicySpec) GetConfig() *RootTrustPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// +// The status of the policy after it is applied to your Gloo environment. +type RootTrustPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The most recent generation observed in the object's metadata. + // If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most + // recent version of this object. + ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` + // Whether the resource has been accepted as valid and processed in the Gloo Mesh config translation. + State v2.ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=common.gloo.solo.io.ApprovalState" json:"state,omitempty"` +} + +func (x *RootTrustPolicyStatus) Reset() { + *x = RootTrustPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RootTrustPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RootTrustPolicyStatus) ProtoMessage() {} + +func (x *RootTrustPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RootTrustPolicyStatus.ProtoReflect.Descriptor instead. +func (*RootTrustPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *RootTrustPolicyStatus) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +func (x *RootTrustPolicyStatus) GetState() v2.ApprovalState { + if x != nil { + return x.State + } + return v2.ApprovalState_PENDING +} + +type RootTrustPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // different options for choosing the CA used to provide the root cert + // + // Types that are assignable to CertificateAuthorityType: + // + // *RootTrustPolicySpec_Config_MgmtServerCa + // *RootTrustPolicySpec_Config_AgentCa + CertificateAuthorityType isRootTrustPolicySpec_Config_CertificateAuthorityType `protobuf_oneof:"certificate_authority_type"` + // Configuration options for generated intermediate certs. + IntermediateCertOptions *tls.CommonCertOptions `protobuf:"bytes,3,opt,name=intermediate_cert_options,json=intermediateCertOptions,proto3" json:"intermediate_cert_options,omitempty"` + // This setting specifies whether or not workload pods should be automatically restarted + // upon completion of a successful certificate issuance. + AutoRestartPods bool `protobuf:"varint,4,opt,name=auto_restart_pods,json=autoRestartPods,proto3" json:"auto_restart_pods,omitempty"` + // Configure a Root Certificate Authority which will be used for validating certificates, but not signing them. + // This CA can be used to rotate out expiring root certificates. + PassiveCertificateAuthorities []*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority `protobuf:"bytes,5,rep,name=passive_certificate_authorities,json=passiveCertificateAuthorities,proto3" json:"passive_certificate_authorities,omitempty"` +} + +func (x *RootTrustPolicySpec_Config) Reset() { + *x = RootTrustPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RootTrustPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RootTrustPolicySpec_Config) ProtoMessage() {} + +func (x *RootTrustPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RootTrustPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*RootTrustPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (m *RootTrustPolicySpec_Config) GetCertificateAuthorityType() isRootTrustPolicySpec_Config_CertificateAuthorityType { + if m != nil { + return m.CertificateAuthorityType + } + return nil +} + +func (x *RootTrustPolicySpec_Config) GetMgmtServerCa() *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority { + if x, ok := x.GetCertificateAuthorityType().(*RootTrustPolicySpec_Config_MgmtServerCa); ok { + return x.MgmtServerCa + } + return nil +} + +func (x *RootTrustPolicySpec_Config) GetAgentCa() *tls.AgentCertificateAuthority { + if x, ok := x.GetCertificateAuthorityType().(*RootTrustPolicySpec_Config_AgentCa); ok { + return x.AgentCa + } + return nil +} + +func (x *RootTrustPolicySpec_Config) GetIntermediateCertOptions() *tls.CommonCertOptions { + if x != nil { + return x.IntermediateCertOptions + } + return nil +} + +func (x *RootTrustPolicySpec_Config) GetAutoRestartPods() bool { + if x != nil { + return x.AutoRestartPods + } + return false +} + +func (x *RootTrustPolicySpec_Config) GetPassiveCertificateAuthorities() []*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority { + if x != nil { + return x.PassiveCertificateAuthorities + } + return nil +} + +type isRootTrustPolicySpec_Config_CertificateAuthorityType interface { + isRootTrustPolicySpec_Config_CertificateAuthorityType() +} + +type RootTrustPolicySpec_Config_MgmtServerCa struct { + // Configure a Root Certificate Authority which will be shared by all Meshes associated with this RootTrustPolicy. + // If this is not provided, a self-signed certificate will be generated by Gloo Mesh. + MgmtServerCa *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority `protobuf:"bytes,1,opt,name=mgmt_server_ca,json=mgmtServerCa,proto3,oneof"` +} + +type RootTrustPolicySpec_Config_AgentCa struct { + // Configures an Intermediate Certificate Authority which selected meshes will use to generate intermediate certificates. + // The CA being used must be configured to generate the intermediate certificates. + AgentCa *tls.AgentCertificateAuthority `protobuf:"bytes,2,opt,name=agent_ca,json=agentCa,proto3,oneof"` +} + +func (*RootTrustPolicySpec_Config_MgmtServerCa) isRootTrustPolicySpec_Config_CertificateAuthorityType() { +} + +func (*RootTrustPolicySpec_Config_AgentCa) isRootTrustPolicySpec_Config_CertificateAuthorityType() {} + +// Specify parameters for configuring the root certificate authority for a RootTrustPolicy. +type RootTrustPolicySpec_Config_MgmtServerCertificateAuthority struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specify the source of the Root CA data which Gloo Mesh will use for the RootTrustPolicy. + // + // Types that are assignable to CaSource: + // + // *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_Generated + // *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_SecretRef + CaSource isRootTrustPolicySpec_Config_MgmtServerCertificateAuthority_CaSource `protobuf_oneof:"ca_source"` +} + +func (x *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) Reset() { + *x = RootTrustPolicySpec_Config_MgmtServerCertificateAuthority{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) ProtoMessage() {} + +func (x *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RootTrustPolicySpec_Config_MgmtServerCertificateAuthority.ProtoReflect.Descriptor instead. +func (*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (m *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) GetCaSource() isRootTrustPolicySpec_Config_MgmtServerCertificateAuthority_CaSource { + if m != nil { + return m.CaSource + } + return nil +} + +func (x *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) GetGenerated() *tls.CommonCertOptions { + if x, ok := x.GetCaSource().(*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_Generated); ok { + return x.Generated + } + return nil +} + +func (x *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) GetSecretRef() *v1.ObjectRef { + if x, ok := x.GetCaSource().(*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_SecretRef); ok { + return x.SecretRef + } + return nil +} + +type isRootTrustPolicySpec_Config_MgmtServerCertificateAuthority_CaSource interface { + isRootTrustPolicySpec_Config_MgmtServerCertificateAuthority_CaSource() +} + +type RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_Generated struct { + // Generate a self-signed root certificate with the given options. + Generated *tls.CommonCertOptions `protobuf:"bytes,1,opt,name=generated,proto3,oneof"` +} + +type RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_SecretRef struct { + // Name of a Kubernetes Secret in the same namespace as the RootTrustPolicy containing the root certificate authority. + // Provided certificates must conform to a specified format, [documented here]({{< versioned_link_path fromRoot="/setup/prod/certs/relay/" >}}). + SecretRef *v1.ObjectRef `protobuf:"bytes,2,opt,name=secret_ref,json=secretRef,proto3,oneof"` +} + +func (*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_Generated) isRootTrustPolicySpec_Config_MgmtServerCertificateAuthority_CaSource() { +} + +func (*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_SecretRef) isRootTrustPolicySpec_Config_MgmtServerCertificateAuthority_CaSource() { +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDesc = []byte{ + 0x0a, 0x59, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, + 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x6c, + 0x73, 0x2f, 0x63, 0x61, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x9b, 0x07, 0x0a, 0x13, 0x52, 0x6f, 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x49, 0x0a, 0x0f, 0x61, 0x70, + 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x4d, + 0x65, 0x73, 0x68, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x6f, 0x74, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xf0, 0x05, + 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x0e, 0x6d, 0x67, 0x6d, 0x74, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x4d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x4d, 0x67, 0x6d, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x48, + 0x00, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x12, + 0x58, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3b, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x48, 0x00, + 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x12, 0x6f, 0x0a, 0x19, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x74, + 0x6c, 0x73, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, + 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x75, + 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x70, 0x6f, 0x64, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x1f, 0x70, 0x61, 0x73, 0x73, 0x69, + 0x76, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x4d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x4d, 0x67, 0x6d, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, + 0x1d, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0xc1, + 0x01, 0x0a, 0x1e, 0x4d, 0x67, 0x6d, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x12, 0x53, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x65, + 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x09, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x52, 0x65, 0x66, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x82, 0x01, 0x0a, 0x15, 0x52, 0x6f, 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x53, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, + 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_goTypes = []interface{}{ + (*RootTrustPolicySpec)(nil), // 0: admin.gloo.solo.io.RootTrustPolicySpec + (*RootTrustPolicyStatus)(nil), // 1: admin.gloo.solo.io.RootTrustPolicyStatus + (*RootTrustPolicySpec_Config)(nil), // 2: admin.gloo.solo.io.RootTrustPolicySpec.Config + (*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority)(nil), // 3: admin.gloo.solo.io.RootTrustPolicySpec.Config.MgmtServerCertificateAuthority + (*v2.MeshSelector)(nil), // 4: common.gloo.solo.io.MeshSelector + (v2.ApprovalState)(0), // 5: common.gloo.solo.io.ApprovalState + (*tls.AgentCertificateAuthority)(nil), // 6: tls.security.policy.gloo.solo.io.AgentCertificateAuthority + (*tls.CommonCertOptions)(nil), // 7: tls.security.policy.gloo.solo.io.CommonCertOptions + (*v1.ObjectRef)(nil), // 8: core.skv2.solo.io.ObjectRef +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_depIdxs = []int32{ + 4, // 0: admin.gloo.solo.io.RootTrustPolicySpec.apply_to_meshes:type_name -> common.gloo.solo.io.MeshSelector + 2, // 1: admin.gloo.solo.io.RootTrustPolicySpec.config:type_name -> admin.gloo.solo.io.RootTrustPolicySpec.Config + 5, // 2: admin.gloo.solo.io.RootTrustPolicyStatus.state:type_name -> common.gloo.solo.io.ApprovalState + 3, // 3: admin.gloo.solo.io.RootTrustPolicySpec.Config.mgmt_server_ca:type_name -> admin.gloo.solo.io.RootTrustPolicySpec.Config.MgmtServerCertificateAuthority + 6, // 4: admin.gloo.solo.io.RootTrustPolicySpec.Config.agent_ca:type_name -> tls.security.policy.gloo.solo.io.AgentCertificateAuthority + 7, // 5: admin.gloo.solo.io.RootTrustPolicySpec.Config.intermediate_cert_options:type_name -> tls.security.policy.gloo.solo.io.CommonCertOptions + 3, // 6: admin.gloo.solo.io.RootTrustPolicySpec.Config.passive_certificate_authorities:type_name -> admin.gloo.solo.io.RootTrustPolicySpec.Config.MgmtServerCertificateAuthority + 7, // 7: admin.gloo.solo.io.RootTrustPolicySpec.Config.MgmtServerCertificateAuthority.generated:type_name -> tls.security.policy.gloo.solo.io.CommonCertOptions + 8, // 8: admin.gloo.solo.io.RootTrustPolicySpec.Config.MgmtServerCertificateAuthority.secret_ref:type_name -> core.skv2.solo.io.ObjectRef + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RootTrustPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RootTrustPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RootTrustPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*RootTrustPolicySpec_Config_MgmtServerCa)(nil), + (*RootTrustPolicySpec_Config_AgentCa)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_Generated)(nil), + (*RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_SecretRef)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_root_trust_policy_proto_depIdxs = nil +} diff --git a/client-go/admin.gloo.solo.io/v2/root_trust_policy.pb.hash.go b/client-go/admin.gloo.solo.io/v2/root_trust_policy.pb.hash.go new file mode 100644 index 000000000..3525820af --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/root_trust_policy.pb.hash.go @@ -0,0 +1,289 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/root_trust_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *RootTrustPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.RootTrustPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToMeshes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RootTrustPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.RootTrustPolicyStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetObservedGeneration()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RootTrustPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.RootTrustPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetIntermediateCertOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("IntermediateCertOptions")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIntermediateCertOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("IntermediateCertOptions")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAutoRestartPods()) + if err != nil { + return 0, err + } + + for _, v := range m.GetPassiveCertificateAuthorities() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.CertificateAuthorityType.(type) { + + case *RootTrustPolicySpec_Config_MgmtServerCa: + + if h, ok := interface{}(m.GetMgmtServerCa()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MgmtServerCa")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMgmtServerCa(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MgmtServerCa")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *RootTrustPolicySpec_Config_AgentCa: + + if h, ok := interface{}(m.GetAgentCa()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AgentCa")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAgentCa(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AgentCa")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.RootTrustPolicySpec_Config_MgmtServerCertificateAuthority")); err != nil { + return 0, err + } + + switch m.CaSource.(type) { + + case *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_Generated: + + if h, ok := interface{}(m.GetGenerated()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Generated")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGenerated(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Generated")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *RootTrustPolicySpec_Config_MgmtServerCertificateAuthority_SecretRef: + + if h, ok := interface{}(m.GetSecretRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SecretRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSecretRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SecretRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/admin.gloo.solo.io/v2/sets/mocks/sets.go b/client-go/admin.gloo.solo.io/v2/sets/mocks/sets.go new file mode 100644 index 000000000..5790af395 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/sets/mocks/sets.go @@ -0,0 +1,2577 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2sets is a generated GoMock package. +package mock_v2sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2" + v2sets "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2/sets" +) + +// MockWorkspaceSet is a mock of WorkspaceSet interface. +type MockWorkspaceSet struct { + ctrl *gomock.Controller + recorder *MockWorkspaceSetMockRecorder +} + +// MockWorkspaceSetMockRecorder is the mock recorder for MockWorkspaceSet. +type MockWorkspaceSetMockRecorder struct { + mock *MockWorkspaceSet +} + +// NewMockWorkspaceSet creates a new mock instance. +func NewMockWorkspaceSet(ctrl *gomock.Controller) *MockWorkspaceSet { + mock := &MockWorkspaceSet{ctrl: ctrl} + mock.recorder = &MockWorkspaceSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceSet) EXPECT() *MockWorkspaceSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockWorkspaceSet) Clone() v2sets.WorkspaceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.WorkspaceSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockWorkspaceSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockWorkspaceSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockWorkspaceSet) Delete(workspace ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", workspace) +} + +// Delete indicates an expected call of Delete. +func (mr *MockWorkspaceSetMockRecorder) Delete(workspace interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockWorkspaceSet)(nil).Delete), workspace) +} + +// Delta mocks base method. +func (m *MockWorkspaceSet) Delta(newSet v2sets.WorkspaceSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockWorkspaceSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockWorkspaceSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockWorkspaceSet) Difference(set v2sets.WorkspaceSet) v2sets.WorkspaceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.WorkspaceSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockWorkspaceSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockWorkspaceSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockWorkspaceSet) Equal(workspaceSet v2sets.WorkspaceSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", workspaceSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockWorkspaceSetMockRecorder) Equal(workspaceSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockWorkspaceSet)(nil).Equal), workspaceSet) +} + +// Find mocks base method. +func (m *MockWorkspaceSet) Find(id ezkube.ResourceId) (*v2.Workspace, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.Workspace) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockWorkspaceSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockWorkspaceSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockWorkspaceSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockWorkspaceSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockWorkspaceSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockWorkspaceSet) Has(workspace ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", workspace) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockWorkspaceSetMockRecorder) Has(workspace interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockWorkspaceSet)(nil).Has), workspace) +} + +// Insert mocks base method. +func (m *MockWorkspaceSet) Insert(workspace ...*v2.Workspace) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range workspace { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockWorkspaceSetMockRecorder) Insert(workspace ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockWorkspaceSet)(nil).Insert), workspace...) +} + +// Intersection mocks base method. +func (m *MockWorkspaceSet) Intersection(set v2sets.WorkspaceSet) v2sets.WorkspaceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.WorkspaceSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockWorkspaceSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockWorkspaceSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockWorkspaceSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockWorkspaceSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockWorkspaceSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockWorkspaceSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockWorkspaceSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockWorkspaceSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockWorkspaceSet) List(filterResource ...func(*v2.Workspace) bool) []*v2.Workspace { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.Workspace) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockWorkspaceSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockWorkspaceSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockWorkspaceSet) Map() map[string]*v2.Workspace { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.Workspace) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockWorkspaceSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockWorkspaceSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockWorkspaceSet) Union(set v2sets.WorkspaceSet) v2sets.WorkspaceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.WorkspaceSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockWorkspaceSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockWorkspaceSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockWorkspaceSet) UnsortedList(filterResource ...func(*v2.Workspace) bool) []*v2.Workspace { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.Workspace) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockWorkspaceSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockWorkspaceSet)(nil).UnsortedList), filterResource...) +} + +// MockWorkspaceSettingsSet is a mock of WorkspaceSettingsSet interface. +type MockWorkspaceSettingsSet struct { + ctrl *gomock.Controller + recorder *MockWorkspaceSettingsSetMockRecorder +} + +// MockWorkspaceSettingsSetMockRecorder is the mock recorder for MockWorkspaceSettingsSet. +type MockWorkspaceSettingsSetMockRecorder struct { + mock *MockWorkspaceSettingsSet +} + +// NewMockWorkspaceSettingsSet creates a new mock instance. +func NewMockWorkspaceSettingsSet(ctrl *gomock.Controller) *MockWorkspaceSettingsSet { + mock := &MockWorkspaceSettingsSet{ctrl: ctrl} + mock.recorder = &MockWorkspaceSettingsSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkspaceSettingsSet) EXPECT() *MockWorkspaceSettingsSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockWorkspaceSettingsSet) Clone() v2sets.WorkspaceSettingsSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.WorkspaceSettingsSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockWorkspaceSettingsSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockWorkspaceSettingsSet) Delete(workspaceSettings ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", workspaceSettings) +} + +// Delete indicates an expected call of Delete. +func (mr *MockWorkspaceSettingsSetMockRecorder) Delete(workspaceSettings interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Delete), workspaceSettings) +} + +// Delta mocks base method. +func (m *MockWorkspaceSettingsSet) Delta(newSet v2sets.WorkspaceSettingsSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockWorkspaceSettingsSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockWorkspaceSettingsSet) Difference(set v2sets.WorkspaceSettingsSet) v2sets.WorkspaceSettingsSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.WorkspaceSettingsSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockWorkspaceSettingsSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockWorkspaceSettingsSet) Equal(workspaceSettingsSet v2sets.WorkspaceSettingsSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", workspaceSettingsSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockWorkspaceSettingsSetMockRecorder) Equal(workspaceSettingsSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Equal), workspaceSettingsSet) +} + +// Find mocks base method. +func (m *MockWorkspaceSettingsSet) Find(id ezkube.ResourceId) (*v2.WorkspaceSettings, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.WorkspaceSettings) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockWorkspaceSettingsSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockWorkspaceSettingsSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockWorkspaceSettingsSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockWorkspaceSettingsSet) Has(workspaceSettings ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", workspaceSettings) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockWorkspaceSettingsSetMockRecorder) Has(workspaceSettings interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Has), workspaceSettings) +} + +// Insert mocks base method. +func (m *MockWorkspaceSettingsSet) Insert(workspaceSettings ...*v2.WorkspaceSettings) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range workspaceSettings { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockWorkspaceSettingsSetMockRecorder) Insert(workspaceSettings ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Insert), workspaceSettings...) +} + +// Intersection mocks base method. +func (m *MockWorkspaceSettingsSet) Intersection(set v2sets.WorkspaceSettingsSet) v2sets.WorkspaceSettingsSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.WorkspaceSettingsSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockWorkspaceSettingsSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockWorkspaceSettingsSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockWorkspaceSettingsSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockWorkspaceSettingsSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockWorkspaceSettingsSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockWorkspaceSettingsSet) List(filterResource ...func(*v2.WorkspaceSettings) bool) []*v2.WorkspaceSettings { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.WorkspaceSettings) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockWorkspaceSettingsSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockWorkspaceSettingsSet) Map() map[string]*v2.WorkspaceSettings { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.WorkspaceSettings) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockWorkspaceSettingsSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockWorkspaceSettingsSet) Union(set v2sets.WorkspaceSettingsSet) v2sets.WorkspaceSettingsSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.WorkspaceSettingsSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockWorkspaceSettingsSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockWorkspaceSettingsSet) UnsortedList(filterResource ...func(*v2.WorkspaceSettings) bool) []*v2.WorkspaceSettings { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.WorkspaceSettings) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockWorkspaceSettingsSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockWorkspaceSettingsSet)(nil).UnsortedList), filterResource...) +} + +// MockKubernetesClusterSet is a mock of KubernetesClusterSet interface. +type MockKubernetesClusterSet struct { + ctrl *gomock.Controller + recorder *MockKubernetesClusterSetMockRecorder +} + +// MockKubernetesClusterSetMockRecorder is the mock recorder for MockKubernetesClusterSet. +type MockKubernetesClusterSetMockRecorder struct { + mock *MockKubernetesClusterSet +} + +// NewMockKubernetesClusterSet creates a new mock instance. +func NewMockKubernetesClusterSet(ctrl *gomock.Controller) *MockKubernetesClusterSet { + mock := &MockKubernetesClusterSet{ctrl: ctrl} + mock.recorder = &MockKubernetesClusterSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockKubernetesClusterSet) EXPECT() *MockKubernetesClusterSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockKubernetesClusterSet) Clone() v2sets.KubernetesClusterSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.KubernetesClusterSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockKubernetesClusterSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockKubernetesClusterSet) Delete(kubernetesCluster ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", kubernetesCluster) +} + +// Delete indicates an expected call of Delete. +func (mr *MockKubernetesClusterSetMockRecorder) Delete(kubernetesCluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Delete), kubernetesCluster) +} + +// Delta mocks base method. +func (m *MockKubernetesClusterSet) Delta(newSet v2sets.KubernetesClusterSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockKubernetesClusterSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockKubernetesClusterSet) Difference(set v2sets.KubernetesClusterSet) v2sets.KubernetesClusterSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.KubernetesClusterSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockKubernetesClusterSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockKubernetesClusterSet) Equal(kubernetesClusterSet v2sets.KubernetesClusterSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", kubernetesClusterSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockKubernetesClusterSetMockRecorder) Equal(kubernetesClusterSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Equal), kubernetesClusterSet) +} + +// Find mocks base method. +func (m *MockKubernetesClusterSet) Find(id ezkube.ResourceId) (*v2.KubernetesCluster, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.KubernetesCluster) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockKubernetesClusterSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockKubernetesClusterSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockKubernetesClusterSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockKubernetesClusterSet) Has(kubernetesCluster ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", kubernetesCluster) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockKubernetesClusterSetMockRecorder) Has(kubernetesCluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Has), kubernetesCluster) +} + +// Insert mocks base method. +func (m *MockKubernetesClusterSet) Insert(kubernetesCluster ...*v2.KubernetesCluster) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range kubernetesCluster { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockKubernetesClusterSetMockRecorder) Insert(kubernetesCluster ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Insert), kubernetesCluster...) +} + +// Intersection mocks base method. +func (m *MockKubernetesClusterSet) Intersection(set v2sets.KubernetesClusterSet) v2sets.KubernetesClusterSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.KubernetesClusterSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockKubernetesClusterSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockKubernetesClusterSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockKubernetesClusterSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockKubernetesClusterSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockKubernetesClusterSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockKubernetesClusterSet) List(filterResource ...func(*v2.KubernetesCluster) bool) []*v2.KubernetesCluster { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.KubernetesCluster) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockKubernetesClusterSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockKubernetesClusterSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockKubernetesClusterSet) Map() map[string]*v2.KubernetesCluster { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.KubernetesCluster) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockKubernetesClusterSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockKubernetesClusterSet) Union(set v2sets.KubernetesClusterSet) v2sets.KubernetesClusterSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.KubernetesClusterSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockKubernetesClusterSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockKubernetesClusterSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockKubernetesClusterSet) UnsortedList(filterResource ...func(*v2.KubernetesCluster) bool) []*v2.KubernetesCluster { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.KubernetesCluster) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockKubernetesClusterSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockKubernetesClusterSet)(nil).UnsortedList), filterResource...) +} + +// MockRootTrustPolicySet is a mock of RootTrustPolicySet interface. +type MockRootTrustPolicySet struct { + ctrl *gomock.Controller + recorder *MockRootTrustPolicySetMockRecorder +} + +// MockRootTrustPolicySetMockRecorder is the mock recorder for MockRootTrustPolicySet. +type MockRootTrustPolicySetMockRecorder struct { + mock *MockRootTrustPolicySet +} + +// NewMockRootTrustPolicySet creates a new mock instance. +func NewMockRootTrustPolicySet(ctrl *gomock.Controller) *MockRootTrustPolicySet { + mock := &MockRootTrustPolicySet{ctrl: ctrl} + mock.recorder = &MockRootTrustPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRootTrustPolicySet) EXPECT() *MockRootTrustPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockRootTrustPolicySet) Clone() v2sets.RootTrustPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.RootTrustPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockRootTrustPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockRootTrustPolicySet) Delete(rootTrustPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", rootTrustPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockRootTrustPolicySetMockRecorder) Delete(rootTrustPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Delete), rootTrustPolicy) +} + +// Delta mocks base method. +func (m *MockRootTrustPolicySet) Delta(newSet v2sets.RootTrustPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockRootTrustPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockRootTrustPolicySet) Difference(set v2sets.RootTrustPolicySet) v2sets.RootTrustPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.RootTrustPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockRootTrustPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockRootTrustPolicySet) Equal(rootTrustPolicySet v2sets.RootTrustPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", rootTrustPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockRootTrustPolicySetMockRecorder) Equal(rootTrustPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Equal), rootTrustPolicySet) +} + +// Find mocks base method. +func (m *MockRootTrustPolicySet) Find(id ezkube.ResourceId) (*v2.RootTrustPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.RootTrustPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockRootTrustPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockRootTrustPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockRootTrustPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockRootTrustPolicySet) Has(rootTrustPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", rootTrustPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockRootTrustPolicySetMockRecorder) Has(rootTrustPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Has), rootTrustPolicy) +} + +// Insert mocks base method. +func (m *MockRootTrustPolicySet) Insert(rootTrustPolicy ...*v2.RootTrustPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range rootTrustPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockRootTrustPolicySetMockRecorder) Insert(rootTrustPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Insert), rootTrustPolicy...) +} + +// Intersection mocks base method. +func (m *MockRootTrustPolicySet) Intersection(set v2sets.RootTrustPolicySet) v2sets.RootTrustPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.RootTrustPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockRootTrustPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockRootTrustPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockRootTrustPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockRootTrustPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockRootTrustPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockRootTrustPolicySet) List(filterResource ...func(*v2.RootTrustPolicy) bool) []*v2.RootTrustPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.RootTrustPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockRootTrustPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockRootTrustPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockRootTrustPolicySet) Map() map[string]*v2.RootTrustPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.RootTrustPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockRootTrustPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockRootTrustPolicySet) Union(set v2sets.RootTrustPolicySet) v2sets.RootTrustPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.RootTrustPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockRootTrustPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockRootTrustPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockRootTrustPolicySet) UnsortedList(filterResource ...func(*v2.RootTrustPolicy) bool) []*v2.RootTrustPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.RootTrustPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockRootTrustPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockRootTrustPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockExtAuthServerSet is a mock of ExtAuthServerSet interface. +type MockExtAuthServerSet struct { + ctrl *gomock.Controller + recorder *MockExtAuthServerSetMockRecorder +} + +// MockExtAuthServerSetMockRecorder is the mock recorder for MockExtAuthServerSet. +type MockExtAuthServerSetMockRecorder struct { + mock *MockExtAuthServerSet +} + +// NewMockExtAuthServerSet creates a new mock instance. +func NewMockExtAuthServerSet(ctrl *gomock.Controller) *MockExtAuthServerSet { + mock := &MockExtAuthServerSet{ctrl: ctrl} + mock.recorder = &MockExtAuthServerSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthServerSet) EXPECT() *MockExtAuthServerSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockExtAuthServerSet) Clone() v2sets.ExtAuthServerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.ExtAuthServerSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockExtAuthServerSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockExtAuthServerSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockExtAuthServerSet) Delete(extAuthServer ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", extAuthServer) +} + +// Delete indicates an expected call of Delete. +func (mr *MockExtAuthServerSetMockRecorder) Delete(extAuthServer interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockExtAuthServerSet)(nil).Delete), extAuthServer) +} + +// Delta mocks base method. +func (m *MockExtAuthServerSet) Delta(newSet v2sets.ExtAuthServerSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockExtAuthServerSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockExtAuthServerSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockExtAuthServerSet) Difference(set v2sets.ExtAuthServerSet) v2sets.ExtAuthServerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.ExtAuthServerSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockExtAuthServerSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockExtAuthServerSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockExtAuthServerSet) Equal(extAuthServerSet v2sets.ExtAuthServerSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", extAuthServerSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockExtAuthServerSetMockRecorder) Equal(extAuthServerSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockExtAuthServerSet)(nil).Equal), extAuthServerSet) +} + +// Find mocks base method. +func (m *MockExtAuthServerSet) Find(id ezkube.ResourceId) (*v2.ExtAuthServer, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.ExtAuthServer) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockExtAuthServerSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockExtAuthServerSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockExtAuthServerSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockExtAuthServerSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockExtAuthServerSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockExtAuthServerSet) Has(extAuthServer ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", extAuthServer) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockExtAuthServerSetMockRecorder) Has(extAuthServer interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockExtAuthServerSet)(nil).Has), extAuthServer) +} + +// Insert mocks base method. +func (m *MockExtAuthServerSet) Insert(extAuthServer ...*v2.ExtAuthServer) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range extAuthServer { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockExtAuthServerSetMockRecorder) Insert(extAuthServer ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockExtAuthServerSet)(nil).Insert), extAuthServer...) +} + +// Intersection mocks base method. +func (m *MockExtAuthServerSet) Intersection(set v2sets.ExtAuthServerSet) v2sets.ExtAuthServerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.ExtAuthServerSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockExtAuthServerSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockExtAuthServerSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockExtAuthServerSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockExtAuthServerSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockExtAuthServerSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockExtAuthServerSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockExtAuthServerSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockExtAuthServerSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockExtAuthServerSet) List(filterResource ...func(*v2.ExtAuthServer) bool) []*v2.ExtAuthServer { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.ExtAuthServer) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockExtAuthServerSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockExtAuthServerSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockExtAuthServerSet) Map() map[string]*v2.ExtAuthServer { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.ExtAuthServer) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockExtAuthServerSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockExtAuthServerSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockExtAuthServerSet) Union(set v2sets.ExtAuthServerSet) v2sets.ExtAuthServerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.ExtAuthServerSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockExtAuthServerSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockExtAuthServerSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockExtAuthServerSet) UnsortedList(filterResource ...func(*v2.ExtAuthServer) bool) []*v2.ExtAuthServer { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.ExtAuthServer) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockExtAuthServerSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockExtAuthServerSet)(nil).UnsortedList), filterResource...) +} + +// MockRateLimitServerSettingsSet is a mock of RateLimitServerSettingsSet interface. +type MockRateLimitServerSettingsSet struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerSettingsSetMockRecorder +} + +// MockRateLimitServerSettingsSetMockRecorder is the mock recorder for MockRateLimitServerSettingsSet. +type MockRateLimitServerSettingsSetMockRecorder struct { + mock *MockRateLimitServerSettingsSet +} + +// NewMockRateLimitServerSettingsSet creates a new mock instance. +func NewMockRateLimitServerSettingsSet(ctrl *gomock.Controller) *MockRateLimitServerSettingsSet { + mock := &MockRateLimitServerSettingsSet{ctrl: ctrl} + mock.recorder = &MockRateLimitServerSettingsSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerSettingsSet) EXPECT() *MockRateLimitServerSettingsSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockRateLimitServerSettingsSet) Clone() v2sets.RateLimitServerSettingsSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.RateLimitServerSettingsSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockRateLimitServerSettingsSet) Delete(rateLimitServerSettings ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", rateLimitServerSettings) +} + +// Delete indicates an expected call of Delete. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Delete(rateLimitServerSettings interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Delete), rateLimitServerSettings) +} + +// Delta mocks base method. +func (m *MockRateLimitServerSettingsSet) Delta(newSet v2sets.RateLimitServerSettingsSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockRateLimitServerSettingsSet) Difference(set v2sets.RateLimitServerSettingsSet) v2sets.RateLimitServerSettingsSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.RateLimitServerSettingsSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockRateLimitServerSettingsSet) Equal(rateLimitServerSettingsSet v2sets.RateLimitServerSettingsSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", rateLimitServerSettingsSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Equal(rateLimitServerSettingsSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Equal), rateLimitServerSettingsSet) +} + +// Find mocks base method. +func (m *MockRateLimitServerSettingsSet) Find(id ezkube.ResourceId) (*v2.RateLimitServerSettings, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.RateLimitServerSettings) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockRateLimitServerSettingsSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockRateLimitServerSettingsSet) Has(rateLimitServerSettings ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", rateLimitServerSettings) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Has(rateLimitServerSettings interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Has), rateLimitServerSettings) +} + +// Insert mocks base method. +func (m *MockRateLimitServerSettingsSet) Insert(rateLimitServerSettings ...*v2.RateLimitServerSettings) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range rateLimitServerSettings { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Insert(rateLimitServerSettings ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Insert), rateLimitServerSettings...) +} + +// Intersection mocks base method. +func (m *MockRateLimitServerSettingsSet) Intersection(set v2sets.RateLimitServerSettingsSet) v2sets.RateLimitServerSettingsSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.RateLimitServerSettingsSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockRateLimitServerSettingsSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockRateLimitServerSettingsSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockRateLimitServerSettingsSet) List(filterResource ...func(*v2.RateLimitServerSettings) bool) []*v2.RateLimitServerSettings { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.RateLimitServerSettings) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockRateLimitServerSettingsSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockRateLimitServerSettingsSet) Map() map[string]*v2.RateLimitServerSettings { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.RateLimitServerSettings) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockRateLimitServerSettingsSet) Union(set v2sets.RateLimitServerSettingsSet) v2sets.RateLimitServerSettingsSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.RateLimitServerSettingsSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockRateLimitServerSettingsSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockRateLimitServerSettingsSet) UnsortedList(filterResource ...func(*v2.RateLimitServerSettings) bool) []*v2.RateLimitServerSettings { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.RateLimitServerSettings) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockRateLimitServerSettingsSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockRateLimitServerSettingsSet)(nil).UnsortedList), filterResource...) +} + +// MockRateLimitServerConfigSet is a mock of RateLimitServerConfigSet interface. +type MockRateLimitServerConfigSet struct { + ctrl *gomock.Controller + recorder *MockRateLimitServerConfigSetMockRecorder +} + +// MockRateLimitServerConfigSetMockRecorder is the mock recorder for MockRateLimitServerConfigSet. +type MockRateLimitServerConfigSetMockRecorder struct { + mock *MockRateLimitServerConfigSet +} + +// NewMockRateLimitServerConfigSet creates a new mock instance. +func NewMockRateLimitServerConfigSet(ctrl *gomock.Controller) *MockRateLimitServerConfigSet { + mock := &MockRateLimitServerConfigSet{ctrl: ctrl} + mock.recorder = &MockRateLimitServerConfigSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitServerConfigSet) EXPECT() *MockRateLimitServerConfigSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockRateLimitServerConfigSet) Clone() v2sets.RateLimitServerConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.RateLimitServerConfigSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockRateLimitServerConfigSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockRateLimitServerConfigSet) Delete(rateLimitServerConfig ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", rateLimitServerConfig) +} + +// Delete indicates an expected call of Delete. +func (mr *MockRateLimitServerConfigSetMockRecorder) Delete(rateLimitServerConfig interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Delete), rateLimitServerConfig) +} + +// Delta mocks base method. +func (m *MockRateLimitServerConfigSet) Delta(newSet v2sets.RateLimitServerConfigSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockRateLimitServerConfigSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockRateLimitServerConfigSet) Difference(set v2sets.RateLimitServerConfigSet) v2sets.RateLimitServerConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.RateLimitServerConfigSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockRateLimitServerConfigSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockRateLimitServerConfigSet) Equal(rateLimitServerConfigSet v2sets.RateLimitServerConfigSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", rateLimitServerConfigSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockRateLimitServerConfigSetMockRecorder) Equal(rateLimitServerConfigSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Equal), rateLimitServerConfigSet) +} + +// Find mocks base method. +func (m *MockRateLimitServerConfigSet) Find(id ezkube.ResourceId) (*v2.RateLimitServerConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.RateLimitServerConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockRateLimitServerConfigSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockRateLimitServerConfigSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockRateLimitServerConfigSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockRateLimitServerConfigSet) Has(rateLimitServerConfig ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", rateLimitServerConfig) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockRateLimitServerConfigSetMockRecorder) Has(rateLimitServerConfig interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Has), rateLimitServerConfig) +} + +// Insert mocks base method. +func (m *MockRateLimitServerConfigSet) Insert(rateLimitServerConfig ...*v2.RateLimitServerConfig) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range rateLimitServerConfig { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockRateLimitServerConfigSetMockRecorder) Insert(rateLimitServerConfig ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Insert), rateLimitServerConfig...) +} + +// Intersection mocks base method. +func (m *MockRateLimitServerConfigSet) Intersection(set v2sets.RateLimitServerConfigSet) v2sets.RateLimitServerConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.RateLimitServerConfigSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockRateLimitServerConfigSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockRateLimitServerConfigSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockRateLimitServerConfigSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockRateLimitServerConfigSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockRateLimitServerConfigSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockRateLimitServerConfigSet) List(filterResource ...func(*v2.RateLimitServerConfig) bool) []*v2.RateLimitServerConfig { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.RateLimitServerConfig) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockRateLimitServerConfigSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockRateLimitServerConfigSet) Map() map[string]*v2.RateLimitServerConfig { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.RateLimitServerConfig) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockRateLimitServerConfigSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockRateLimitServerConfigSet) Union(set v2sets.RateLimitServerConfigSet) v2sets.RateLimitServerConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.RateLimitServerConfigSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockRateLimitServerConfigSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockRateLimitServerConfigSet) UnsortedList(filterResource ...func(*v2.RateLimitServerConfig) bool) []*v2.RateLimitServerConfig { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.RateLimitServerConfig) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockRateLimitServerConfigSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockRateLimitServerConfigSet)(nil).UnsortedList), filterResource...) +} + +// MockDashboardSet is a mock of DashboardSet interface. +type MockDashboardSet struct { + ctrl *gomock.Controller + recorder *MockDashboardSetMockRecorder +} + +// MockDashboardSetMockRecorder is the mock recorder for MockDashboardSet. +type MockDashboardSetMockRecorder struct { + mock *MockDashboardSet +} + +// NewMockDashboardSet creates a new mock instance. +func NewMockDashboardSet(ctrl *gomock.Controller) *MockDashboardSet { + mock := &MockDashboardSet{ctrl: ctrl} + mock.recorder = &MockDashboardSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDashboardSet) EXPECT() *MockDashboardSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockDashboardSet) Clone() v2sets.DashboardSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.DashboardSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockDashboardSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockDashboardSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockDashboardSet) Delete(dashboard ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", dashboard) +} + +// Delete indicates an expected call of Delete. +func (mr *MockDashboardSetMockRecorder) Delete(dashboard interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockDashboardSet)(nil).Delete), dashboard) +} + +// Delta mocks base method. +func (m *MockDashboardSet) Delta(newSet v2sets.DashboardSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockDashboardSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockDashboardSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockDashboardSet) Difference(set v2sets.DashboardSet) v2sets.DashboardSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.DashboardSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockDashboardSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockDashboardSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockDashboardSet) Equal(dashboardSet v2sets.DashboardSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", dashboardSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockDashboardSetMockRecorder) Equal(dashboardSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockDashboardSet)(nil).Equal), dashboardSet) +} + +// Find mocks base method. +func (m *MockDashboardSet) Find(id ezkube.ResourceId) (*v2.Dashboard, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.Dashboard) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockDashboardSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockDashboardSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockDashboardSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockDashboardSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockDashboardSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockDashboardSet) Has(dashboard ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", dashboard) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockDashboardSetMockRecorder) Has(dashboard interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockDashboardSet)(nil).Has), dashboard) +} + +// Insert mocks base method. +func (m *MockDashboardSet) Insert(dashboard ...*v2.Dashboard) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range dashboard { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockDashboardSetMockRecorder) Insert(dashboard ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockDashboardSet)(nil).Insert), dashboard...) +} + +// Intersection mocks base method. +func (m *MockDashboardSet) Intersection(set v2sets.DashboardSet) v2sets.DashboardSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.DashboardSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockDashboardSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockDashboardSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockDashboardSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockDashboardSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockDashboardSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockDashboardSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockDashboardSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockDashboardSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockDashboardSet) List(filterResource ...func(*v2.Dashboard) bool) []*v2.Dashboard { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.Dashboard) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockDashboardSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockDashboardSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockDashboardSet) Map() map[string]*v2.Dashboard { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.Dashboard) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockDashboardSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockDashboardSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockDashboardSet) Union(set v2sets.DashboardSet) v2sets.DashboardSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.DashboardSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockDashboardSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockDashboardSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockDashboardSet) UnsortedList(filterResource ...func(*v2.Dashboard) bool) []*v2.Dashboard { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.Dashboard) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockDashboardSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockDashboardSet)(nil).UnsortedList), filterResource...) +} + +// MockIstioLifecycleManagerSet is a mock of IstioLifecycleManagerSet interface. +type MockIstioLifecycleManagerSet struct { + ctrl *gomock.Controller + recorder *MockIstioLifecycleManagerSetMockRecorder +} + +// MockIstioLifecycleManagerSetMockRecorder is the mock recorder for MockIstioLifecycleManagerSet. +type MockIstioLifecycleManagerSetMockRecorder struct { + mock *MockIstioLifecycleManagerSet +} + +// NewMockIstioLifecycleManagerSet creates a new mock instance. +func NewMockIstioLifecycleManagerSet(ctrl *gomock.Controller) *MockIstioLifecycleManagerSet { + mock := &MockIstioLifecycleManagerSet{ctrl: ctrl} + mock.recorder = &MockIstioLifecycleManagerSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIstioLifecycleManagerSet) EXPECT() *MockIstioLifecycleManagerSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockIstioLifecycleManagerSet) Clone() v2sets.IstioLifecycleManagerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.IstioLifecycleManagerSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockIstioLifecycleManagerSet) Delete(istioLifecycleManager ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", istioLifecycleManager) +} + +// Delete indicates an expected call of Delete. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Delete(istioLifecycleManager interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Delete), istioLifecycleManager) +} + +// Delta mocks base method. +func (m *MockIstioLifecycleManagerSet) Delta(newSet v2sets.IstioLifecycleManagerSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockIstioLifecycleManagerSet) Difference(set v2sets.IstioLifecycleManagerSet) v2sets.IstioLifecycleManagerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.IstioLifecycleManagerSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockIstioLifecycleManagerSet) Equal(istioLifecycleManagerSet v2sets.IstioLifecycleManagerSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", istioLifecycleManagerSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Equal(istioLifecycleManagerSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Equal), istioLifecycleManagerSet) +} + +// Find mocks base method. +func (m *MockIstioLifecycleManagerSet) Find(id ezkube.ResourceId) (*v2.IstioLifecycleManager, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.IstioLifecycleManager) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockIstioLifecycleManagerSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockIstioLifecycleManagerSet) Has(istioLifecycleManager ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", istioLifecycleManager) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Has(istioLifecycleManager interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Has), istioLifecycleManager) +} + +// Insert mocks base method. +func (m *MockIstioLifecycleManagerSet) Insert(istioLifecycleManager ...*v2.IstioLifecycleManager) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range istioLifecycleManager { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Insert(istioLifecycleManager ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Insert), istioLifecycleManager...) +} + +// Intersection mocks base method. +func (m *MockIstioLifecycleManagerSet) Intersection(set v2sets.IstioLifecycleManagerSet) v2sets.IstioLifecycleManagerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.IstioLifecycleManagerSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockIstioLifecycleManagerSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockIstioLifecycleManagerSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockIstioLifecycleManagerSet) List(filterResource ...func(*v2.IstioLifecycleManager) bool) []*v2.IstioLifecycleManager { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.IstioLifecycleManager) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockIstioLifecycleManagerSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockIstioLifecycleManagerSet) Map() map[string]*v2.IstioLifecycleManager { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.IstioLifecycleManager) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockIstioLifecycleManagerSet) Union(set v2sets.IstioLifecycleManagerSet) v2sets.IstioLifecycleManagerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.IstioLifecycleManagerSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockIstioLifecycleManagerSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockIstioLifecycleManagerSet) UnsortedList(filterResource ...func(*v2.IstioLifecycleManager) bool) []*v2.IstioLifecycleManager { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.IstioLifecycleManager) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockIstioLifecycleManagerSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockIstioLifecycleManagerSet)(nil).UnsortedList), filterResource...) +} + +// MockGatewayLifecycleManagerSet is a mock of GatewayLifecycleManagerSet interface. +type MockGatewayLifecycleManagerSet struct { + ctrl *gomock.Controller + recorder *MockGatewayLifecycleManagerSetMockRecorder +} + +// MockGatewayLifecycleManagerSetMockRecorder is the mock recorder for MockGatewayLifecycleManagerSet. +type MockGatewayLifecycleManagerSetMockRecorder struct { + mock *MockGatewayLifecycleManagerSet +} + +// NewMockGatewayLifecycleManagerSet creates a new mock instance. +func NewMockGatewayLifecycleManagerSet(ctrl *gomock.Controller) *MockGatewayLifecycleManagerSet { + mock := &MockGatewayLifecycleManagerSet{ctrl: ctrl} + mock.recorder = &MockGatewayLifecycleManagerSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGatewayLifecycleManagerSet) EXPECT() *MockGatewayLifecycleManagerSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockGatewayLifecycleManagerSet) Clone() v2sets.GatewayLifecycleManagerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.GatewayLifecycleManagerSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockGatewayLifecycleManagerSet) Delete(gatewayLifecycleManager ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", gatewayLifecycleManager) +} + +// Delete indicates an expected call of Delete. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Delete(gatewayLifecycleManager interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Delete), gatewayLifecycleManager) +} + +// Delta mocks base method. +func (m *MockGatewayLifecycleManagerSet) Delta(newSet v2sets.GatewayLifecycleManagerSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockGatewayLifecycleManagerSet) Difference(set v2sets.GatewayLifecycleManagerSet) v2sets.GatewayLifecycleManagerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.GatewayLifecycleManagerSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockGatewayLifecycleManagerSet) Equal(gatewayLifecycleManagerSet v2sets.GatewayLifecycleManagerSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", gatewayLifecycleManagerSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Equal(gatewayLifecycleManagerSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Equal), gatewayLifecycleManagerSet) +} + +// Find mocks base method. +func (m *MockGatewayLifecycleManagerSet) Find(id ezkube.ResourceId) (*v2.GatewayLifecycleManager, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.GatewayLifecycleManager) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockGatewayLifecycleManagerSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockGatewayLifecycleManagerSet) Has(gatewayLifecycleManager ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", gatewayLifecycleManager) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Has(gatewayLifecycleManager interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Has), gatewayLifecycleManager) +} + +// Insert mocks base method. +func (m *MockGatewayLifecycleManagerSet) Insert(gatewayLifecycleManager ...*v2.GatewayLifecycleManager) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range gatewayLifecycleManager { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Insert(gatewayLifecycleManager ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Insert), gatewayLifecycleManager...) +} + +// Intersection mocks base method. +func (m *MockGatewayLifecycleManagerSet) Intersection(set v2sets.GatewayLifecycleManagerSet) v2sets.GatewayLifecycleManagerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.GatewayLifecycleManagerSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockGatewayLifecycleManagerSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockGatewayLifecycleManagerSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockGatewayLifecycleManagerSet) List(filterResource ...func(*v2.GatewayLifecycleManager) bool) []*v2.GatewayLifecycleManager { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.GatewayLifecycleManager) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockGatewayLifecycleManagerSet) Map() map[string]*v2.GatewayLifecycleManager { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.GatewayLifecycleManager) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockGatewayLifecycleManagerSet) Union(set v2sets.GatewayLifecycleManagerSet) v2sets.GatewayLifecycleManagerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.GatewayLifecycleManagerSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockGatewayLifecycleManagerSet) UnsortedList(filterResource ...func(*v2.GatewayLifecycleManager) bool) []*v2.GatewayLifecycleManager { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.GatewayLifecycleManager) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockGatewayLifecycleManagerSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockGatewayLifecycleManagerSet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/admin.gloo.solo.io/v2/sets/sets.go b/client-go/admin.gloo.solo.io/v2/sets/sets.go new file mode 100644 index 000000000..699721797 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/sets/sets.go @@ -0,0 +1,2244 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2sets + +import ( + admin_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type WorkspaceSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*admin_gloo_solo_io_v2.Workspace) bool) []*admin_gloo_solo_io_v2.Workspace + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.Workspace) bool) []*admin_gloo_solo_io_v2.Workspace + // Return the Set as a map of key to resource. + Map() map[string]*admin_gloo_solo_io_v2.Workspace + // Insert a resource into the set. + Insert(workspace ...*admin_gloo_solo_io_v2.Workspace) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(workspaceSet WorkspaceSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(workspace ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(workspace ezkube.ResourceId) + // Return the union with the provided set + Union(set WorkspaceSet) WorkspaceSet + // Return the difference with the provided set + Difference(set WorkspaceSet) WorkspaceSet + // Return the intersection with the provided set + Intersection(set WorkspaceSet) WorkspaceSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.Workspace, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another WorkspaceSet + Delta(newSet WorkspaceSet) sksets.ResourceDelta + // Create a deep copy of the current WorkspaceSet + Clone() WorkspaceSet +} + +func makeGenericWorkspaceSet(workspaceList []*admin_gloo_solo_io_v2.Workspace) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range workspaceList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type workspaceSet struct { + set sksets.ResourceSet +} + +func NewWorkspaceSet(workspaceList ...*admin_gloo_solo_io_v2.Workspace) WorkspaceSet { + return &workspaceSet{set: makeGenericWorkspaceSet(workspaceList)} +} + +func NewWorkspaceSetFromList(workspaceList *admin_gloo_solo_io_v2.WorkspaceList) WorkspaceSet { + list := make([]*admin_gloo_solo_io_v2.Workspace, 0, len(workspaceList.Items)) + for idx := range workspaceList.Items { + list = append(list, &workspaceList.Items[idx]) + } + return &workspaceSet{set: makeGenericWorkspaceSet(list)} +} + +func (s *workspaceSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *workspaceSet) List(filterResource ...func(*admin_gloo_solo_io_v2.Workspace) bool) []*admin_gloo_solo_io_v2.Workspace { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.Workspace)) + }) + } + + objs := s.Generic().List(genericFilters...) + workspaceList := make([]*admin_gloo_solo_io_v2.Workspace, 0, len(objs)) + for _, obj := range objs { + workspaceList = append(workspaceList, obj.(*admin_gloo_solo_io_v2.Workspace)) + } + return workspaceList +} + +func (s *workspaceSet) UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.Workspace) bool) []*admin_gloo_solo_io_v2.Workspace { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.Workspace)) + }) + } + + var workspaceList []*admin_gloo_solo_io_v2.Workspace + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + workspaceList = append(workspaceList, obj.(*admin_gloo_solo_io_v2.Workspace)) + } + return workspaceList +} + +func (s *workspaceSet) Map() map[string]*admin_gloo_solo_io_v2.Workspace { + if s == nil { + return nil + } + + newMap := map[string]*admin_gloo_solo_io_v2.Workspace{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*admin_gloo_solo_io_v2.Workspace) + } + return newMap +} + +func (s *workspaceSet) Insert( + workspaceList ...*admin_gloo_solo_io_v2.Workspace, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range workspaceList { + s.Generic().Insert(obj) + } +} + +func (s *workspaceSet) Has(workspace ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(workspace) +} + +func (s *workspaceSet) Equal( + workspaceSet WorkspaceSet, +) bool { + if s == nil { + return workspaceSet == nil + } + return s.Generic().Equal(workspaceSet.Generic()) +} + +func (s *workspaceSet) Delete(Workspace ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(Workspace) +} + +func (s *workspaceSet) Union(set WorkspaceSet) WorkspaceSet { + if s == nil { + return set + } + return NewWorkspaceSet(append(s.List(), set.List()...)...) +} + +func (s *workspaceSet) Difference(set WorkspaceSet) WorkspaceSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &workspaceSet{set: newSet} +} + +func (s *workspaceSet) Intersection(set WorkspaceSet) WorkspaceSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var workspaceList []*admin_gloo_solo_io_v2.Workspace + for _, obj := range newSet.List() { + workspaceList = append(workspaceList, obj.(*admin_gloo_solo_io_v2.Workspace)) + } + return NewWorkspaceSet(workspaceList...) +} + +func (s *workspaceSet) Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.Workspace, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find Workspace %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&admin_gloo_solo_io_v2.Workspace{}, id) + if err != nil { + return nil, err + } + + return obj.(*admin_gloo_solo_io_v2.Workspace), nil +} + +func (s *workspaceSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *workspaceSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *workspaceSet) Delta(newSet WorkspaceSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *workspaceSet) Clone() WorkspaceSet { + if s == nil { + return nil + } + return &workspaceSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type WorkspaceSettingsSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*admin_gloo_solo_io_v2.WorkspaceSettings) bool) []*admin_gloo_solo_io_v2.WorkspaceSettings + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.WorkspaceSettings) bool) []*admin_gloo_solo_io_v2.WorkspaceSettings + // Return the Set as a map of key to resource. + Map() map[string]*admin_gloo_solo_io_v2.WorkspaceSettings + // Insert a resource into the set. + Insert(workspaceSettings ...*admin_gloo_solo_io_v2.WorkspaceSettings) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(workspaceSettingsSet WorkspaceSettingsSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(workspaceSettings ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(workspaceSettings ezkube.ResourceId) + // Return the union with the provided set + Union(set WorkspaceSettingsSet) WorkspaceSettingsSet + // Return the difference with the provided set + Difference(set WorkspaceSettingsSet) WorkspaceSettingsSet + // Return the intersection with the provided set + Intersection(set WorkspaceSettingsSet) WorkspaceSettingsSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.WorkspaceSettings, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another WorkspaceSettingsSet + Delta(newSet WorkspaceSettingsSet) sksets.ResourceDelta + // Create a deep copy of the current WorkspaceSettingsSet + Clone() WorkspaceSettingsSet +} + +func makeGenericWorkspaceSettingsSet(workspaceSettingsList []*admin_gloo_solo_io_v2.WorkspaceSettings) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range workspaceSettingsList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type workspaceSettingsSet struct { + set sksets.ResourceSet +} + +func NewWorkspaceSettingsSet(workspaceSettingsList ...*admin_gloo_solo_io_v2.WorkspaceSettings) WorkspaceSettingsSet { + return &workspaceSettingsSet{set: makeGenericWorkspaceSettingsSet(workspaceSettingsList)} +} + +func NewWorkspaceSettingsSetFromList(workspaceSettingsList *admin_gloo_solo_io_v2.WorkspaceSettingsList) WorkspaceSettingsSet { + list := make([]*admin_gloo_solo_io_v2.WorkspaceSettings, 0, len(workspaceSettingsList.Items)) + for idx := range workspaceSettingsList.Items { + list = append(list, &workspaceSettingsList.Items[idx]) + } + return &workspaceSettingsSet{set: makeGenericWorkspaceSettingsSet(list)} +} + +func (s *workspaceSettingsSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *workspaceSettingsSet) List(filterResource ...func(*admin_gloo_solo_io_v2.WorkspaceSettings) bool) []*admin_gloo_solo_io_v2.WorkspaceSettings { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.WorkspaceSettings)) + }) + } + + objs := s.Generic().List(genericFilters...) + workspaceSettingsList := make([]*admin_gloo_solo_io_v2.WorkspaceSettings, 0, len(objs)) + for _, obj := range objs { + workspaceSettingsList = append(workspaceSettingsList, obj.(*admin_gloo_solo_io_v2.WorkspaceSettings)) + } + return workspaceSettingsList +} + +func (s *workspaceSettingsSet) UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.WorkspaceSettings) bool) []*admin_gloo_solo_io_v2.WorkspaceSettings { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.WorkspaceSettings)) + }) + } + + var workspaceSettingsList []*admin_gloo_solo_io_v2.WorkspaceSettings + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + workspaceSettingsList = append(workspaceSettingsList, obj.(*admin_gloo_solo_io_v2.WorkspaceSettings)) + } + return workspaceSettingsList +} + +func (s *workspaceSettingsSet) Map() map[string]*admin_gloo_solo_io_v2.WorkspaceSettings { + if s == nil { + return nil + } + + newMap := map[string]*admin_gloo_solo_io_v2.WorkspaceSettings{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*admin_gloo_solo_io_v2.WorkspaceSettings) + } + return newMap +} + +func (s *workspaceSettingsSet) Insert( + workspaceSettingsList ...*admin_gloo_solo_io_v2.WorkspaceSettings, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range workspaceSettingsList { + s.Generic().Insert(obj) + } +} + +func (s *workspaceSettingsSet) Has(workspaceSettings ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(workspaceSettings) +} + +func (s *workspaceSettingsSet) Equal( + workspaceSettingsSet WorkspaceSettingsSet, +) bool { + if s == nil { + return workspaceSettingsSet == nil + } + return s.Generic().Equal(workspaceSettingsSet.Generic()) +} + +func (s *workspaceSettingsSet) Delete(WorkspaceSettings ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(WorkspaceSettings) +} + +func (s *workspaceSettingsSet) Union(set WorkspaceSettingsSet) WorkspaceSettingsSet { + if s == nil { + return set + } + return NewWorkspaceSettingsSet(append(s.List(), set.List()...)...) +} + +func (s *workspaceSettingsSet) Difference(set WorkspaceSettingsSet) WorkspaceSettingsSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &workspaceSettingsSet{set: newSet} +} + +func (s *workspaceSettingsSet) Intersection(set WorkspaceSettingsSet) WorkspaceSettingsSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var workspaceSettingsList []*admin_gloo_solo_io_v2.WorkspaceSettings + for _, obj := range newSet.List() { + workspaceSettingsList = append(workspaceSettingsList, obj.(*admin_gloo_solo_io_v2.WorkspaceSettings)) + } + return NewWorkspaceSettingsSet(workspaceSettingsList...) +} + +func (s *workspaceSettingsSet) Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.WorkspaceSettings, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find WorkspaceSettings %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&admin_gloo_solo_io_v2.WorkspaceSettings{}, id) + if err != nil { + return nil, err + } + + return obj.(*admin_gloo_solo_io_v2.WorkspaceSettings), nil +} + +func (s *workspaceSettingsSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *workspaceSettingsSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *workspaceSettingsSet) Delta(newSet WorkspaceSettingsSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *workspaceSettingsSet) Clone() WorkspaceSettingsSet { + if s == nil { + return nil + } + return &workspaceSettingsSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type KubernetesClusterSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*admin_gloo_solo_io_v2.KubernetesCluster) bool) []*admin_gloo_solo_io_v2.KubernetesCluster + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.KubernetesCluster) bool) []*admin_gloo_solo_io_v2.KubernetesCluster + // Return the Set as a map of key to resource. + Map() map[string]*admin_gloo_solo_io_v2.KubernetesCluster + // Insert a resource into the set. + Insert(kubernetesCluster ...*admin_gloo_solo_io_v2.KubernetesCluster) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(kubernetesClusterSet KubernetesClusterSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(kubernetesCluster ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(kubernetesCluster ezkube.ResourceId) + // Return the union with the provided set + Union(set KubernetesClusterSet) KubernetesClusterSet + // Return the difference with the provided set + Difference(set KubernetesClusterSet) KubernetesClusterSet + // Return the intersection with the provided set + Intersection(set KubernetesClusterSet) KubernetesClusterSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.KubernetesCluster, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another KubernetesClusterSet + Delta(newSet KubernetesClusterSet) sksets.ResourceDelta + // Create a deep copy of the current KubernetesClusterSet + Clone() KubernetesClusterSet +} + +func makeGenericKubernetesClusterSet(kubernetesClusterList []*admin_gloo_solo_io_v2.KubernetesCluster) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range kubernetesClusterList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type kubernetesClusterSet struct { + set sksets.ResourceSet +} + +func NewKubernetesClusterSet(kubernetesClusterList ...*admin_gloo_solo_io_v2.KubernetesCluster) KubernetesClusterSet { + return &kubernetesClusterSet{set: makeGenericKubernetesClusterSet(kubernetesClusterList)} +} + +func NewKubernetesClusterSetFromList(kubernetesClusterList *admin_gloo_solo_io_v2.KubernetesClusterList) KubernetesClusterSet { + list := make([]*admin_gloo_solo_io_v2.KubernetesCluster, 0, len(kubernetesClusterList.Items)) + for idx := range kubernetesClusterList.Items { + list = append(list, &kubernetesClusterList.Items[idx]) + } + return &kubernetesClusterSet{set: makeGenericKubernetesClusterSet(list)} +} + +func (s *kubernetesClusterSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *kubernetesClusterSet) List(filterResource ...func(*admin_gloo_solo_io_v2.KubernetesCluster) bool) []*admin_gloo_solo_io_v2.KubernetesCluster { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.KubernetesCluster)) + }) + } + + objs := s.Generic().List(genericFilters...) + kubernetesClusterList := make([]*admin_gloo_solo_io_v2.KubernetesCluster, 0, len(objs)) + for _, obj := range objs { + kubernetesClusterList = append(kubernetesClusterList, obj.(*admin_gloo_solo_io_v2.KubernetesCluster)) + } + return kubernetesClusterList +} + +func (s *kubernetesClusterSet) UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.KubernetesCluster) bool) []*admin_gloo_solo_io_v2.KubernetesCluster { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.KubernetesCluster)) + }) + } + + var kubernetesClusterList []*admin_gloo_solo_io_v2.KubernetesCluster + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + kubernetesClusterList = append(kubernetesClusterList, obj.(*admin_gloo_solo_io_v2.KubernetesCluster)) + } + return kubernetesClusterList +} + +func (s *kubernetesClusterSet) Map() map[string]*admin_gloo_solo_io_v2.KubernetesCluster { + if s == nil { + return nil + } + + newMap := map[string]*admin_gloo_solo_io_v2.KubernetesCluster{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*admin_gloo_solo_io_v2.KubernetesCluster) + } + return newMap +} + +func (s *kubernetesClusterSet) Insert( + kubernetesClusterList ...*admin_gloo_solo_io_v2.KubernetesCluster, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range kubernetesClusterList { + s.Generic().Insert(obj) + } +} + +func (s *kubernetesClusterSet) Has(kubernetesCluster ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(kubernetesCluster) +} + +func (s *kubernetesClusterSet) Equal( + kubernetesClusterSet KubernetesClusterSet, +) bool { + if s == nil { + return kubernetesClusterSet == nil + } + return s.Generic().Equal(kubernetesClusterSet.Generic()) +} + +func (s *kubernetesClusterSet) Delete(KubernetesCluster ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(KubernetesCluster) +} + +func (s *kubernetesClusterSet) Union(set KubernetesClusterSet) KubernetesClusterSet { + if s == nil { + return set + } + return NewKubernetesClusterSet(append(s.List(), set.List()...)...) +} + +func (s *kubernetesClusterSet) Difference(set KubernetesClusterSet) KubernetesClusterSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &kubernetesClusterSet{set: newSet} +} + +func (s *kubernetesClusterSet) Intersection(set KubernetesClusterSet) KubernetesClusterSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var kubernetesClusterList []*admin_gloo_solo_io_v2.KubernetesCluster + for _, obj := range newSet.List() { + kubernetesClusterList = append(kubernetesClusterList, obj.(*admin_gloo_solo_io_v2.KubernetesCluster)) + } + return NewKubernetesClusterSet(kubernetesClusterList...) +} + +func (s *kubernetesClusterSet) Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.KubernetesCluster, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find KubernetesCluster %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&admin_gloo_solo_io_v2.KubernetesCluster{}, id) + if err != nil { + return nil, err + } + + return obj.(*admin_gloo_solo_io_v2.KubernetesCluster), nil +} + +func (s *kubernetesClusterSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *kubernetesClusterSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *kubernetesClusterSet) Delta(newSet KubernetesClusterSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *kubernetesClusterSet) Clone() KubernetesClusterSet { + if s == nil { + return nil + } + return &kubernetesClusterSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type RootTrustPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*admin_gloo_solo_io_v2.RootTrustPolicy) bool) []*admin_gloo_solo_io_v2.RootTrustPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.RootTrustPolicy) bool) []*admin_gloo_solo_io_v2.RootTrustPolicy + // Return the Set as a map of key to resource. + Map() map[string]*admin_gloo_solo_io_v2.RootTrustPolicy + // Insert a resource into the set. + Insert(rootTrustPolicy ...*admin_gloo_solo_io_v2.RootTrustPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(rootTrustPolicySet RootTrustPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(rootTrustPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(rootTrustPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set RootTrustPolicySet) RootTrustPolicySet + // Return the difference with the provided set + Difference(set RootTrustPolicySet) RootTrustPolicySet + // Return the intersection with the provided set + Intersection(set RootTrustPolicySet) RootTrustPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.RootTrustPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another RootTrustPolicySet + Delta(newSet RootTrustPolicySet) sksets.ResourceDelta + // Create a deep copy of the current RootTrustPolicySet + Clone() RootTrustPolicySet +} + +func makeGenericRootTrustPolicySet(rootTrustPolicyList []*admin_gloo_solo_io_v2.RootTrustPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range rootTrustPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type rootTrustPolicySet struct { + set sksets.ResourceSet +} + +func NewRootTrustPolicySet(rootTrustPolicyList ...*admin_gloo_solo_io_v2.RootTrustPolicy) RootTrustPolicySet { + return &rootTrustPolicySet{set: makeGenericRootTrustPolicySet(rootTrustPolicyList)} +} + +func NewRootTrustPolicySetFromList(rootTrustPolicyList *admin_gloo_solo_io_v2.RootTrustPolicyList) RootTrustPolicySet { + list := make([]*admin_gloo_solo_io_v2.RootTrustPolicy, 0, len(rootTrustPolicyList.Items)) + for idx := range rootTrustPolicyList.Items { + list = append(list, &rootTrustPolicyList.Items[idx]) + } + return &rootTrustPolicySet{set: makeGenericRootTrustPolicySet(list)} +} + +func (s *rootTrustPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *rootTrustPolicySet) List(filterResource ...func(*admin_gloo_solo_io_v2.RootTrustPolicy) bool) []*admin_gloo_solo_io_v2.RootTrustPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.RootTrustPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + rootTrustPolicyList := make([]*admin_gloo_solo_io_v2.RootTrustPolicy, 0, len(objs)) + for _, obj := range objs { + rootTrustPolicyList = append(rootTrustPolicyList, obj.(*admin_gloo_solo_io_v2.RootTrustPolicy)) + } + return rootTrustPolicyList +} + +func (s *rootTrustPolicySet) UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.RootTrustPolicy) bool) []*admin_gloo_solo_io_v2.RootTrustPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.RootTrustPolicy)) + }) + } + + var rootTrustPolicyList []*admin_gloo_solo_io_v2.RootTrustPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + rootTrustPolicyList = append(rootTrustPolicyList, obj.(*admin_gloo_solo_io_v2.RootTrustPolicy)) + } + return rootTrustPolicyList +} + +func (s *rootTrustPolicySet) Map() map[string]*admin_gloo_solo_io_v2.RootTrustPolicy { + if s == nil { + return nil + } + + newMap := map[string]*admin_gloo_solo_io_v2.RootTrustPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*admin_gloo_solo_io_v2.RootTrustPolicy) + } + return newMap +} + +func (s *rootTrustPolicySet) Insert( + rootTrustPolicyList ...*admin_gloo_solo_io_v2.RootTrustPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range rootTrustPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *rootTrustPolicySet) Has(rootTrustPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(rootTrustPolicy) +} + +func (s *rootTrustPolicySet) Equal( + rootTrustPolicySet RootTrustPolicySet, +) bool { + if s == nil { + return rootTrustPolicySet == nil + } + return s.Generic().Equal(rootTrustPolicySet.Generic()) +} + +func (s *rootTrustPolicySet) Delete(RootTrustPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(RootTrustPolicy) +} + +func (s *rootTrustPolicySet) Union(set RootTrustPolicySet) RootTrustPolicySet { + if s == nil { + return set + } + return NewRootTrustPolicySet(append(s.List(), set.List()...)...) +} + +func (s *rootTrustPolicySet) Difference(set RootTrustPolicySet) RootTrustPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &rootTrustPolicySet{set: newSet} +} + +func (s *rootTrustPolicySet) Intersection(set RootTrustPolicySet) RootTrustPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var rootTrustPolicyList []*admin_gloo_solo_io_v2.RootTrustPolicy + for _, obj := range newSet.List() { + rootTrustPolicyList = append(rootTrustPolicyList, obj.(*admin_gloo_solo_io_v2.RootTrustPolicy)) + } + return NewRootTrustPolicySet(rootTrustPolicyList...) +} + +func (s *rootTrustPolicySet) Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.RootTrustPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find RootTrustPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&admin_gloo_solo_io_v2.RootTrustPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*admin_gloo_solo_io_v2.RootTrustPolicy), nil +} + +func (s *rootTrustPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *rootTrustPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *rootTrustPolicySet) Delta(newSet RootTrustPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *rootTrustPolicySet) Clone() RootTrustPolicySet { + if s == nil { + return nil + } + return &rootTrustPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type ExtAuthServerSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*admin_gloo_solo_io_v2.ExtAuthServer) bool) []*admin_gloo_solo_io_v2.ExtAuthServer + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.ExtAuthServer) bool) []*admin_gloo_solo_io_v2.ExtAuthServer + // Return the Set as a map of key to resource. + Map() map[string]*admin_gloo_solo_io_v2.ExtAuthServer + // Insert a resource into the set. + Insert(extAuthServer ...*admin_gloo_solo_io_v2.ExtAuthServer) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(extAuthServerSet ExtAuthServerSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(extAuthServer ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(extAuthServer ezkube.ResourceId) + // Return the union with the provided set + Union(set ExtAuthServerSet) ExtAuthServerSet + // Return the difference with the provided set + Difference(set ExtAuthServerSet) ExtAuthServerSet + // Return the intersection with the provided set + Intersection(set ExtAuthServerSet) ExtAuthServerSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.ExtAuthServer, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ExtAuthServerSet + Delta(newSet ExtAuthServerSet) sksets.ResourceDelta + // Create a deep copy of the current ExtAuthServerSet + Clone() ExtAuthServerSet +} + +func makeGenericExtAuthServerSet(extAuthServerList []*admin_gloo_solo_io_v2.ExtAuthServer) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range extAuthServerList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type extAuthServerSet struct { + set sksets.ResourceSet +} + +func NewExtAuthServerSet(extAuthServerList ...*admin_gloo_solo_io_v2.ExtAuthServer) ExtAuthServerSet { + return &extAuthServerSet{set: makeGenericExtAuthServerSet(extAuthServerList)} +} + +func NewExtAuthServerSetFromList(extAuthServerList *admin_gloo_solo_io_v2.ExtAuthServerList) ExtAuthServerSet { + list := make([]*admin_gloo_solo_io_v2.ExtAuthServer, 0, len(extAuthServerList.Items)) + for idx := range extAuthServerList.Items { + list = append(list, &extAuthServerList.Items[idx]) + } + return &extAuthServerSet{set: makeGenericExtAuthServerSet(list)} +} + +func (s *extAuthServerSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *extAuthServerSet) List(filterResource ...func(*admin_gloo_solo_io_v2.ExtAuthServer) bool) []*admin_gloo_solo_io_v2.ExtAuthServer { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.ExtAuthServer)) + }) + } + + objs := s.Generic().List(genericFilters...) + extAuthServerList := make([]*admin_gloo_solo_io_v2.ExtAuthServer, 0, len(objs)) + for _, obj := range objs { + extAuthServerList = append(extAuthServerList, obj.(*admin_gloo_solo_io_v2.ExtAuthServer)) + } + return extAuthServerList +} + +func (s *extAuthServerSet) UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.ExtAuthServer) bool) []*admin_gloo_solo_io_v2.ExtAuthServer { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.ExtAuthServer)) + }) + } + + var extAuthServerList []*admin_gloo_solo_io_v2.ExtAuthServer + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + extAuthServerList = append(extAuthServerList, obj.(*admin_gloo_solo_io_v2.ExtAuthServer)) + } + return extAuthServerList +} + +func (s *extAuthServerSet) Map() map[string]*admin_gloo_solo_io_v2.ExtAuthServer { + if s == nil { + return nil + } + + newMap := map[string]*admin_gloo_solo_io_v2.ExtAuthServer{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*admin_gloo_solo_io_v2.ExtAuthServer) + } + return newMap +} + +func (s *extAuthServerSet) Insert( + extAuthServerList ...*admin_gloo_solo_io_v2.ExtAuthServer, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range extAuthServerList { + s.Generic().Insert(obj) + } +} + +func (s *extAuthServerSet) Has(extAuthServer ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(extAuthServer) +} + +func (s *extAuthServerSet) Equal( + extAuthServerSet ExtAuthServerSet, +) bool { + if s == nil { + return extAuthServerSet == nil + } + return s.Generic().Equal(extAuthServerSet.Generic()) +} + +func (s *extAuthServerSet) Delete(ExtAuthServer ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ExtAuthServer) +} + +func (s *extAuthServerSet) Union(set ExtAuthServerSet) ExtAuthServerSet { + if s == nil { + return set + } + return NewExtAuthServerSet(append(s.List(), set.List()...)...) +} + +func (s *extAuthServerSet) Difference(set ExtAuthServerSet) ExtAuthServerSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &extAuthServerSet{set: newSet} +} + +func (s *extAuthServerSet) Intersection(set ExtAuthServerSet) ExtAuthServerSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var extAuthServerList []*admin_gloo_solo_io_v2.ExtAuthServer + for _, obj := range newSet.List() { + extAuthServerList = append(extAuthServerList, obj.(*admin_gloo_solo_io_v2.ExtAuthServer)) + } + return NewExtAuthServerSet(extAuthServerList...) +} + +func (s *extAuthServerSet) Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.ExtAuthServer, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ExtAuthServer %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&admin_gloo_solo_io_v2.ExtAuthServer{}, id) + if err != nil { + return nil, err + } + + return obj.(*admin_gloo_solo_io_v2.ExtAuthServer), nil +} + +func (s *extAuthServerSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *extAuthServerSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *extAuthServerSet) Delta(newSet ExtAuthServerSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *extAuthServerSet) Clone() ExtAuthServerSet { + if s == nil { + return nil + } + return &extAuthServerSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type RateLimitServerSettingsSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*admin_gloo_solo_io_v2.RateLimitServerSettings) bool) []*admin_gloo_solo_io_v2.RateLimitServerSettings + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.RateLimitServerSettings) bool) []*admin_gloo_solo_io_v2.RateLimitServerSettings + // Return the Set as a map of key to resource. + Map() map[string]*admin_gloo_solo_io_v2.RateLimitServerSettings + // Insert a resource into the set. + Insert(rateLimitServerSettings ...*admin_gloo_solo_io_v2.RateLimitServerSettings) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(rateLimitServerSettingsSet RateLimitServerSettingsSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(rateLimitServerSettings ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(rateLimitServerSettings ezkube.ResourceId) + // Return the union with the provided set + Union(set RateLimitServerSettingsSet) RateLimitServerSettingsSet + // Return the difference with the provided set + Difference(set RateLimitServerSettingsSet) RateLimitServerSettingsSet + // Return the intersection with the provided set + Intersection(set RateLimitServerSettingsSet) RateLimitServerSettingsSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.RateLimitServerSettings, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another RateLimitServerSettingsSet + Delta(newSet RateLimitServerSettingsSet) sksets.ResourceDelta + // Create a deep copy of the current RateLimitServerSettingsSet + Clone() RateLimitServerSettingsSet +} + +func makeGenericRateLimitServerSettingsSet(rateLimitServerSettingsList []*admin_gloo_solo_io_v2.RateLimitServerSettings) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range rateLimitServerSettingsList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type rateLimitServerSettingsSet struct { + set sksets.ResourceSet +} + +func NewRateLimitServerSettingsSet(rateLimitServerSettingsList ...*admin_gloo_solo_io_v2.RateLimitServerSettings) RateLimitServerSettingsSet { + return &rateLimitServerSettingsSet{set: makeGenericRateLimitServerSettingsSet(rateLimitServerSettingsList)} +} + +func NewRateLimitServerSettingsSetFromList(rateLimitServerSettingsList *admin_gloo_solo_io_v2.RateLimitServerSettingsList) RateLimitServerSettingsSet { + list := make([]*admin_gloo_solo_io_v2.RateLimitServerSettings, 0, len(rateLimitServerSettingsList.Items)) + for idx := range rateLimitServerSettingsList.Items { + list = append(list, &rateLimitServerSettingsList.Items[idx]) + } + return &rateLimitServerSettingsSet{set: makeGenericRateLimitServerSettingsSet(list)} +} + +func (s *rateLimitServerSettingsSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *rateLimitServerSettingsSet) List(filterResource ...func(*admin_gloo_solo_io_v2.RateLimitServerSettings) bool) []*admin_gloo_solo_io_v2.RateLimitServerSettings { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.RateLimitServerSettings)) + }) + } + + objs := s.Generic().List(genericFilters...) + rateLimitServerSettingsList := make([]*admin_gloo_solo_io_v2.RateLimitServerSettings, 0, len(objs)) + for _, obj := range objs { + rateLimitServerSettingsList = append(rateLimitServerSettingsList, obj.(*admin_gloo_solo_io_v2.RateLimitServerSettings)) + } + return rateLimitServerSettingsList +} + +func (s *rateLimitServerSettingsSet) UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.RateLimitServerSettings) bool) []*admin_gloo_solo_io_v2.RateLimitServerSettings { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.RateLimitServerSettings)) + }) + } + + var rateLimitServerSettingsList []*admin_gloo_solo_io_v2.RateLimitServerSettings + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + rateLimitServerSettingsList = append(rateLimitServerSettingsList, obj.(*admin_gloo_solo_io_v2.RateLimitServerSettings)) + } + return rateLimitServerSettingsList +} + +func (s *rateLimitServerSettingsSet) Map() map[string]*admin_gloo_solo_io_v2.RateLimitServerSettings { + if s == nil { + return nil + } + + newMap := map[string]*admin_gloo_solo_io_v2.RateLimitServerSettings{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*admin_gloo_solo_io_v2.RateLimitServerSettings) + } + return newMap +} + +func (s *rateLimitServerSettingsSet) Insert( + rateLimitServerSettingsList ...*admin_gloo_solo_io_v2.RateLimitServerSettings, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range rateLimitServerSettingsList { + s.Generic().Insert(obj) + } +} + +func (s *rateLimitServerSettingsSet) Has(rateLimitServerSettings ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(rateLimitServerSettings) +} + +func (s *rateLimitServerSettingsSet) Equal( + rateLimitServerSettingsSet RateLimitServerSettingsSet, +) bool { + if s == nil { + return rateLimitServerSettingsSet == nil + } + return s.Generic().Equal(rateLimitServerSettingsSet.Generic()) +} + +func (s *rateLimitServerSettingsSet) Delete(RateLimitServerSettings ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(RateLimitServerSettings) +} + +func (s *rateLimitServerSettingsSet) Union(set RateLimitServerSettingsSet) RateLimitServerSettingsSet { + if s == nil { + return set + } + return NewRateLimitServerSettingsSet(append(s.List(), set.List()...)...) +} + +func (s *rateLimitServerSettingsSet) Difference(set RateLimitServerSettingsSet) RateLimitServerSettingsSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &rateLimitServerSettingsSet{set: newSet} +} + +func (s *rateLimitServerSettingsSet) Intersection(set RateLimitServerSettingsSet) RateLimitServerSettingsSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var rateLimitServerSettingsList []*admin_gloo_solo_io_v2.RateLimitServerSettings + for _, obj := range newSet.List() { + rateLimitServerSettingsList = append(rateLimitServerSettingsList, obj.(*admin_gloo_solo_io_v2.RateLimitServerSettings)) + } + return NewRateLimitServerSettingsSet(rateLimitServerSettingsList...) +} + +func (s *rateLimitServerSettingsSet) Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.RateLimitServerSettings, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find RateLimitServerSettings %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&admin_gloo_solo_io_v2.RateLimitServerSettings{}, id) + if err != nil { + return nil, err + } + + return obj.(*admin_gloo_solo_io_v2.RateLimitServerSettings), nil +} + +func (s *rateLimitServerSettingsSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *rateLimitServerSettingsSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *rateLimitServerSettingsSet) Delta(newSet RateLimitServerSettingsSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *rateLimitServerSettingsSet) Clone() RateLimitServerSettingsSet { + if s == nil { + return nil + } + return &rateLimitServerSettingsSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type RateLimitServerConfigSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*admin_gloo_solo_io_v2.RateLimitServerConfig) bool) []*admin_gloo_solo_io_v2.RateLimitServerConfig + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.RateLimitServerConfig) bool) []*admin_gloo_solo_io_v2.RateLimitServerConfig + // Return the Set as a map of key to resource. + Map() map[string]*admin_gloo_solo_io_v2.RateLimitServerConfig + // Insert a resource into the set. + Insert(rateLimitServerConfig ...*admin_gloo_solo_io_v2.RateLimitServerConfig) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(rateLimitServerConfigSet RateLimitServerConfigSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(rateLimitServerConfig ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(rateLimitServerConfig ezkube.ResourceId) + // Return the union with the provided set + Union(set RateLimitServerConfigSet) RateLimitServerConfigSet + // Return the difference with the provided set + Difference(set RateLimitServerConfigSet) RateLimitServerConfigSet + // Return the intersection with the provided set + Intersection(set RateLimitServerConfigSet) RateLimitServerConfigSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.RateLimitServerConfig, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another RateLimitServerConfigSet + Delta(newSet RateLimitServerConfigSet) sksets.ResourceDelta + // Create a deep copy of the current RateLimitServerConfigSet + Clone() RateLimitServerConfigSet +} + +func makeGenericRateLimitServerConfigSet(rateLimitServerConfigList []*admin_gloo_solo_io_v2.RateLimitServerConfig) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range rateLimitServerConfigList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type rateLimitServerConfigSet struct { + set sksets.ResourceSet +} + +func NewRateLimitServerConfigSet(rateLimitServerConfigList ...*admin_gloo_solo_io_v2.RateLimitServerConfig) RateLimitServerConfigSet { + return &rateLimitServerConfigSet{set: makeGenericRateLimitServerConfigSet(rateLimitServerConfigList)} +} + +func NewRateLimitServerConfigSetFromList(rateLimitServerConfigList *admin_gloo_solo_io_v2.RateLimitServerConfigList) RateLimitServerConfigSet { + list := make([]*admin_gloo_solo_io_v2.RateLimitServerConfig, 0, len(rateLimitServerConfigList.Items)) + for idx := range rateLimitServerConfigList.Items { + list = append(list, &rateLimitServerConfigList.Items[idx]) + } + return &rateLimitServerConfigSet{set: makeGenericRateLimitServerConfigSet(list)} +} + +func (s *rateLimitServerConfigSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *rateLimitServerConfigSet) List(filterResource ...func(*admin_gloo_solo_io_v2.RateLimitServerConfig) bool) []*admin_gloo_solo_io_v2.RateLimitServerConfig { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.RateLimitServerConfig)) + }) + } + + objs := s.Generic().List(genericFilters...) + rateLimitServerConfigList := make([]*admin_gloo_solo_io_v2.RateLimitServerConfig, 0, len(objs)) + for _, obj := range objs { + rateLimitServerConfigList = append(rateLimitServerConfigList, obj.(*admin_gloo_solo_io_v2.RateLimitServerConfig)) + } + return rateLimitServerConfigList +} + +func (s *rateLimitServerConfigSet) UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.RateLimitServerConfig) bool) []*admin_gloo_solo_io_v2.RateLimitServerConfig { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.RateLimitServerConfig)) + }) + } + + var rateLimitServerConfigList []*admin_gloo_solo_io_v2.RateLimitServerConfig + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + rateLimitServerConfigList = append(rateLimitServerConfigList, obj.(*admin_gloo_solo_io_v2.RateLimitServerConfig)) + } + return rateLimitServerConfigList +} + +func (s *rateLimitServerConfigSet) Map() map[string]*admin_gloo_solo_io_v2.RateLimitServerConfig { + if s == nil { + return nil + } + + newMap := map[string]*admin_gloo_solo_io_v2.RateLimitServerConfig{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*admin_gloo_solo_io_v2.RateLimitServerConfig) + } + return newMap +} + +func (s *rateLimitServerConfigSet) Insert( + rateLimitServerConfigList ...*admin_gloo_solo_io_v2.RateLimitServerConfig, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range rateLimitServerConfigList { + s.Generic().Insert(obj) + } +} + +func (s *rateLimitServerConfigSet) Has(rateLimitServerConfig ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(rateLimitServerConfig) +} + +func (s *rateLimitServerConfigSet) Equal( + rateLimitServerConfigSet RateLimitServerConfigSet, +) bool { + if s == nil { + return rateLimitServerConfigSet == nil + } + return s.Generic().Equal(rateLimitServerConfigSet.Generic()) +} + +func (s *rateLimitServerConfigSet) Delete(RateLimitServerConfig ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(RateLimitServerConfig) +} + +func (s *rateLimitServerConfigSet) Union(set RateLimitServerConfigSet) RateLimitServerConfigSet { + if s == nil { + return set + } + return NewRateLimitServerConfigSet(append(s.List(), set.List()...)...) +} + +func (s *rateLimitServerConfigSet) Difference(set RateLimitServerConfigSet) RateLimitServerConfigSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &rateLimitServerConfigSet{set: newSet} +} + +func (s *rateLimitServerConfigSet) Intersection(set RateLimitServerConfigSet) RateLimitServerConfigSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var rateLimitServerConfigList []*admin_gloo_solo_io_v2.RateLimitServerConfig + for _, obj := range newSet.List() { + rateLimitServerConfigList = append(rateLimitServerConfigList, obj.(*admin_gloo_solo_io_v2.RateLimitServerConfig)) + } + return NewRateLimitServerConfigSet(rateLimitServerConfigList...) +} + +func (s *rateLimitServerConfigSet) Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.RateLimitServerConfig, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find RateLimitServerConfig %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&admin_gloo_solo_io_v2.RateLimitServerConfig{}, id) + if err != nil { + return nil, err + } + + return obj.(*admin_gloo_solo_io_v2.RateLimitServerConfig), nil +} + +func (s *rateLimitServerConfigSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *rateLimitServerConfigSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *rateLimitServerConfigSet) Delta(newSet RateLimitServerConfigSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *rateLimitServerConfigSet) Clone() RateLimitServerConfigSet { + if s == nil { + return nil + } + return &rateLimitServerConfigSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type DashboardSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*admin_gloo_solo_io_v2.Dashboard) bool) []*admin_gloo_solo_io_v2.Dashboard + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.Dashboard) bool) []*admin_gloo_solo_io_v2.Dashboard + // Return the Set as a map of key to resource. + Map() map[string]*admin_gloo_solo_io_v2.Dashboard + // Insert a resource into the set. + Insert(dashboard ...*admin_gloo_solo_io_v2.Dashboard) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(dashboardSet DashboardSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(dashboard ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(dashboard ezkube.ResourceId) + // Return the union with the provided set + Union(set DashboardSet) DashboardSet + // Return the difference with the provided set + Difference(set DashboardSet) DashboardSet + // Return the intersection with the provided set + Intersection(set DashboardSet) DashboardSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.Dashboard, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another DashboardSet + Delta(newSet DashboardSet) sksets.ResourceDelta + // Create a deep copy of the current DashboardSet + Clone() DashboardSet +} + +func makeGenericDashboardSet(dashboardList []*admin_gloo_solo_io_v2.Dashboard) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range dashboardList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type dashboardSet struct { + set sksets.ResourceSet +} + +func NewDashboardSet(dashboardList ...*admin_gloo_solo_io_v2.Dashboard) DashboardSet { + return &dashboardSet{set: makeGenericDashboardSet(dashboardList)} +} + +func NewDashboardSetFromList(dashboardList *admin_gloo_solo_io_v2.DashboardList) DashboardSet { + list := make([]*admin_gloo_solo_io_v2.Dashboard, 0, len(dashboardList.Items)) + for idx := range dashboardList.Items { + list = append(list, &dashboardList.Items[idx]) + } + return &dashboardSet{set: makeGenericDashboardSet(list)} +} + +func (s *dashboardSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *dashboardSet) List(filterResource ...func(*admin_gloo_solo_io_v2.Dashboard) bool) []*admin_gloo_solo_io_v2.Dashboard { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.Dashboard)) + }) + } + + objs := s.Generic().List(genericFilters...) + dashboardList := make([]*admin_gloo_solo_io_v2.Dashboard, 0, len(objs)) + for _, obj := range objs { + dashboardList = append(dashboardList, obj.(*admin_gloo_solo_io_v2.Dashboard)) + } + return dashboardList +} + +func (s *dashboardSet) UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.Dashboard) bool) []*admin_gloo_solo_io_v2.Dashboard { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.Dashboard)) + }) + } + + var dashboardList []*admin_gloo_solo_io_v2.Dashboard + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + dashboardList = append(dashboardList, obj.(*admin_gloo_solo_io_v2.Dashboard)) + } + return dashboardList +} + +func (s *dashboardSet) Map() map[string]*admin_gloo_solo_io_v2.Dashboard { + if s == nil { + return nil + } + + newMap := map[string]*admin_gloo_solo_io_v2.Dashboard{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*admin_gloo_solo_io_v2.Dashboard) + } + return newMap +} + +func (s *dashboardSet) Insert( + dashboardList ...*admin_gloo_solo_io_v2.Dashboard, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range dashboardList { + s.Generic().Insert(obj) + } +} + +func (s *dashboardSet) Has(dashboard ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(dashboard) +} + +func (s *dashboardSet) Equal( + dashboardSet DashboardSet, +) bool { + if s == nil { + return dashboardSet == nil + } + return s.Generic().Equal(dashboardSet.Generic()) +} + +func (s *dashboardSet) Delete(Dashboard ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(Dashboard) +} + +func (s *dashboardSet) Union(set DashboardSet) DashboardSet { + if s == nil { + return set + } + return NewDashboardSet(append(s.List(), set.List()...)...) +} + +func (s *dashboardSet) Difference(set DashboardSet) DashboardSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &dashboardSet{set: newSet} +} + +func (s *dashboardSet) Intersection(set DashboardSet) DashboardSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var dashboardList []*admin_gloo_solo_io_v2.Dashboard + for _, obj := range newSet.List() { + dashboardList = append(dashboardList, obj.(*admin_gloo_solo_io_v2.Dashboard)) + } + return NewDashboardSet(dashboardList...) +} + +func (s *dashboardSet) Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.Dashboard, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find Dashboard %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&admin_gloo_solo_io_v2.Dashboard{}, id) + if err != nil { + return nil, err + } + + return obj.(*admin_gloo_solo_io_v2.Dashboard), nil +} + +func (s *dashboardSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *dashboardSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *dashboardSet) Delta(newSet DashboardSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *dashboardSet) Clone() DashboardSet { + if s == nil { + return nil + } + return &dashboardSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type IstioLifecycleManagerSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*admin_gloo_solo_io_v2.IstioLifecycleManager) bool) []*admin_gloo_solo_io_v2.IstioLifecycleManager + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.IstioLifecycleManager) bool) []*admin_gloo_solo_io_v2.IstioLifecycleManager + // Return the Set as a map of key to resource. + Map() map[string]*admin_gloo_solo_io_v2.IstioLifecycleManager + // Insert a resource into the set. + Insert(istioLifecycleManager ...*admin_gloo_solo_io_v2.IstioLifecycleManager) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(istioLifecycleManagerSet IstioLifecycleManagerSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(istioLifecycleManager ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(istioLifecycleManager ezkube.ResourceId) + // Return the union with the provided set + Union(set IstioLifecycleManagerSet) IstioLifecycleManagerSet + // Return the difference with the provided set + Difference(set IstioLifecycleManagerSet) IstioLifecycleManagerSet + // Return the intersection with the provided set + Intersection(set IstioLifecycleManagerSet) IstioLifecycleManagerSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.IstioLifecycleManager, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another IstioLifecycleManagerSet + Delta(newSet IstioLifecycleManagerSet) sksets.ResourceDelta + // Create a deep copy of the current IstioLifecycleManagerSet + Clone() IstioLifecycleManagerSet +} + +func makeGenericIstioLifecycleManagerSet(istioLifecycleManagerList []*admin_gloo_solo_io_v2.IstioLifecycleManager) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range istioLifecycleManagerList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type istioLifecycleManagerSet struct { + set sksets.ResourceSet +} + +func NewIstioLifecycleManagerSet(istioLifecycleManagerList ...*admin_gloo_solo_io_v2.IstioLifecycleManager) IstioLifecycleManagerSet { + return &istioLifecycleManagerSet{set: makeGenericIstioLifecycleManagerSet(istioLifecycleManagerList)} +} + +func NewIstioLifecycleManagerSetFromList(istioLifecycleManagerList *admin_gloo_solo_io_v2.IstioLifecycleManagerList) IstioLifecycleManagerSet { + list := make([]*admin_gloo_solo_io_v2.IstioLifecycleManager, 0, len(istioLifecycleManagerList.Items)) + for idx := range istioLifecycleManagerList.Items { + list = append(list, &istioLifecycleManagerList.Items[idx]) + } + return &istioLifecycleManagerSet{set: makeGenericIstioLifecycleManagerSet(list)} +} + +func (s *istioLifecycleManagerSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *istioLifecycleManagerSet) List(filterResource ...func(*admin_gloo_solo_io_v2.IstioLifecycleManager) bool) []*admin_gloo_solo_io_v2.IstioLifecycleManager { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.IstioLifecycleManager)) + }) + } + + objs := s.Generic().List(genericFilters...) + istioLifecycleManagerList := make([]*admin_gloo_solo_io_v2.IstioLifecycleManager, 0, len(objs)) + for _, obj := range objs { + istioLifecycleManagerList = append(istioLifecycleManagerList, obj.(*admin_gloo_solo_io_v2.IstioLifecycleManager)) + } + return istioLifecycleManagerList +} + +func (s *istioLifecycleManagerSet) UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.IstioLifecycleManager) bool) []*admin_gloo_solo_io_v2.IstioLifecycleManager { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.IstioLifecycleManager)) + }) + } + + var istioLifecycleManagerList []*admin_gloo_solo_io_v2.IstioLifecycleManager + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + istioLifecycleManagerList = append(istioLifecycleManagerList, obj.(*admin_gloo_solo_io_v2.IstioLifecycleManager)) + } + return istioLifecycleManagerList +} + +func (s *istioLifecycleManagerSet) Map() map[string]*admin_gloo_solo_io_v2.IstioLifecycleManager { + if s == nil { + return nil + } + + newMap := map[string]*admin_gloo_solo_io_v2.IstioLifecycleManager{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*admin_gloo_solo_io_v2.IstioLifecycleManager) + } + return newMap +} + +func (s *istioLifecycleManagerSet) Insert( + istioLifecycleManagerList ...*admin_gloo_solo_io_v2.IstioLifecycleManager, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range istioLifecycleManagerList { + s.Generic().Insert(obj) + } +} + +func (s *istioLifecycleManagerSet) Has(istioLifecycleManager ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(istioLifecycleManager) +} + +func (s *istioLifecycleManagerSet) Equal( + istioLifecycleManagerSet IstioLifecycleManagerSet, +) bool { + if s == nil { + return istioLifecycleManagerSet == nil + } + return s.Generic().Equal(istioLifecycleManagerSet.Generic()) +} + +func (s *istioLifecycleManagerSet) Delete(IstioLifecycleManager ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(IstioLifecycleManager) +} + +func (s *istioLifecycleManagerSet) Union(set IstioLifecycleManagerSet) IstioLifecycleManagerSet { + if s == nil { + return set + } + return NewIstioLifecycleManagerSet(append(s.List(), set.List()...)...) +} + +func (s *istioLifecycleManagerSet) Difference(set IstioLifecycleManagerSet) IstioLifecycleManagerSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &istioLifecycleManagerSet{set: newSet} +} + +func (s *istioLifecycleManagerSet) Intersection(set IstioLifecycleManagerSet) IstioLifecycleManagerSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var istioLifecycleManagerList []*admin_gloo_solo_io_v2.IstioLifecycleManager + for _, obj := range newSet.List() { + istioLifecycleManagerList = append(istioLifecycleManagerList, obj.(*admin_gloo_solo_io_v2.IstioLifecycleManager)) + } + return NewIstioLifecycleManagerSet(istioLifecycleManagerList...) +} + +func (s *istioLifecycleManagerSet) Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.IstioLifecycleManager, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find IstioLifecycleManager %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&admin_gloo_solo_io_v2.IstioLifecycleManager{}, id) + if err != nil { + return nil, err + } + + return obj.(*admin_gloo_solo_io_v2.IstioLifecycleManager), nil +} + +func (s *istioLifecycleManagerSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *istioLifecycleManagerSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *istioLifecycleManagerSet) Delta(newSet IstioLifecycleManagerSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *istioLifecycleManagerSet) Clone() IstioLifecycleManagerSet { + if s == nil { + return nil + } + return &istioLifecycleManagerSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type GatewayLifecycleManagerSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*admin_gloo_solo_io_v2.GatewayLifecycleManager) bool) []*admin_gloo_solo_io_v2.GatewayLifecycleManager + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.GatewayLifecycleManager) bool) []*admin_gloo_solo_io_v2.GatewayLifecycleManager + // Return the Set as a map of key to resource. + Map() map[string]*admin_gloo_solo_io_v2.GatewayLifecycleManager + // Insert a resource into the set. + Insert(gatewayLifecycleManager ...*admin_gloo_solo_io_v2.GatewayLifecycleManager) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(gatewayLifecycleManagerSet GatewayLifecycleManagerSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(gatewayLifecycleManager ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(gatewayLifecycleManager ezkube.ResourceId) + // Return the union with the provided set + Union(set GatewayLifecycleManagerSet) GatewayLifecycleManagerSet + // Return the difference with the provided set + Difference(set GatewayLifecycleManagerSet) GatewayLifecycleManagerSet + // Return the intersection with the provided set + Intersection(set GatewayLifecycleManagerSet) GatewayLifecycleManagerSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.GatewayLifecycleManager, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another GatewayLifecycleManagerSet + Delta(newSet GatewayLifecycleManagerSet) sksets.ResourceDelta + // Create a deep copy of the current GatewayLifecycleManagerSet + Clone() GatewayLifecycleManagerSet +} + +func makeGenericGatewayLifecycleManagerSet(gatewayLifecycleManagerList []*admin_gloo_solo_io_v2.GatewayLifecycleManager) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range gatewayLifecycleManagerList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type gatewayLifecycleManagerSet struct { + set sksets.ResourceSet +} + +func NewGatewayLifecycleManagerSet(gatewayLifecycleManagerList ...*admin_gloo_solo_io_v2.GatewayLifecycleManager) GatewayLifecycleManagerSet { + return &gatewayLifecycleManagerSet{set: makeGenericGatewayLifecycleManagerSet(gatewayLifecycleManagerList)} +} + +func NewGatewayLifecycleManagerSetFromList(gatewayLifecycleManagerList *admin_gloo_solo_io_v2.GatewayLifecycleManagerList) GatewayLifecycleManagerSet { + list := make([]*admin_gloo_solo_io_v2.GatewayLifecycleManager, 0, len(gatewayLifecycleManagerList.Items)) + for idx := range gatewayLifecycleManagerList.Items { + list = append(list, &gatewayLifecycleManagerList.Items[idx]) + } + return &gatewayLifecycleManagerSet{set: makeGenericGatewayLifecycleManagerSet(list)} +} + +func (s *gatewayLifecycleManagerSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *gatewayLifecycleManagerSet) List(filterResource ...func(*admin_gloo_solo_io_v2.GatewayLifecycleManager) bool) []*admin_gloo_solo_io_v2.GatewayLifecycleManager { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.GatewayLifecycleManager)) + }) + } + + objs := s.Generic().List(genericFilters...) + gatewayLifecycleManagerList := make([]*admin_gloo_solo_io_v2.GatewayLifecycleManager, 0, len(objs)) + for _, obj := range objs { + gatewayLifecycleManagerList = append(gatewayLifecycleManagerList, obj.(*admin_gloo_solo_io_v2.GatewayLifecycleManager)) + } + return gatewayLifecycleManagerList +} + +func (s *gatewayLifecycleManagerSet) UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2.GatewayLifecycleManager) bool) []*admin_gloo_solo_io_v2.GatewayLifecycleManager { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2.GatewayLifecycleManager)) + }) + } + + var gatewayLifecycleManagerList []*admin_gloo_solo_io_v2.GatewayLifecycleManager + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + gatewayLifecycleManagerList = append(gatewayLifecycleManagerList, obj.(*admin_gloo_solo_io_v2.GatewayLifecycleManager)) + } + return gatewayLifecycleManagerList +} + +func (s *gatewayLifecycleManagerSet) Map() map[string]*admin_gloo_solo_io_v2.GatewayLifecycleManager { + if s == nil { + return nil + } + + newMap := map[string]*admin_gloo_solo_io_v2.GatewayLifecycleManager{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*admin_gloo_solo_io_v2.GatewayLifecycleManager) + } + return newMap +} + +func (s *gatewayLifecycleManagerSet) Insert( + gatewayLifecycleManagerList ...*admin_gloo_solo_io_v2.GatewayLifecycleManager, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range gatewayLifecycleManagerList { + s.Generic().Insert(obj) + } +} + +func (s *gatewayLifecycleManagerSet) Has(gatewayLifecycleManager ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(gatewayLifecycleManager) +} + +func (s *gatewayLifecycleManagerSet) Equal( + gatewayLifecycleManagerSet GatewayLifecycleManagerSet, +) bool { + if s == nil { + return gatewayLifecycleManagerSet == nil + } + return s.Generic().Equal(gatewayLifecycleManagerSet.Generic()) +} + +func (s *gatewayLifecycleManagerSet) Delete(GatewayLifecycleManager ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(GatewayLifecycleManager) +} + +func (s *gatewayLifecycleManagerSet) Union(set GatewayLifecycleManagerSet) GatewayLifecycleManagerSet { + if s == nil { + return set + } + return NewGatewayLifecycleManagerSet(append(s.List(), set.List()...)...) +} + +func (s *gatewayLifecycleManagerSet) Difference(set GatewayLifecycleManagerSet) GatewayLifecycleManagerSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &gatewayLifecycleManagerSet{set: newSet} +} + +func (s *gatewayLifecycleManagerSet) Intersection(set GatewayLifecycleManagerSet) GatewayLifecycleManagerSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var gatewayLifecycleManagerList []*admin_gloo_solo_io_v2.GatewayLifecycleManager + for _, obj := range newSet.List() { + gatewayLifecycleManagerList = append(gatewayLifecycleManagerList, obj.(*admin_gloo_solo_io_v2.GatewayLifecycleManager)) + } + return NewGatewayLifecycleManagerSet(gatewayLifecycleManagerList...) +} + +func (s *gatewayLifecycleManagerSet) Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2.GatewayLifecycleManager, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find GatewayLifecycleManager %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&admin_gloo_solo_io_v2.GatewayLifecycleManager{}, id) + if err != nil { + return nil, err + } + + return obj.(*admin_gloo_solo_io_v2.GatewayLifecycleManager), nil +} + +func (s *gatewayLifecycleManagerSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *gatewayLifecycleManagerSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *gatewayLifecycleManagerSet) Delta(newSet GatewayLifecycleManagerSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *gatewayLifecycleManagerSet) Clone() GatewayLifecycleManagerSet { + if s == nil { + return nil + } + return &gatewayLifecycleManagerSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/admin.gloo.solo.io/v2/type_helpers.go b/client-go/admin.gloo.solo.io/v2/type_helpers.go new file mode 100644 index 000000000..cbfca5909 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/type_helpers.go @@ -0,0 +1,34 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +// WorkspaceSlice represents a slice of *Workspace +type WorkspaceSlice []*Workspace + +// WorkspaceSettingsSlice represents a slice of *WorkspaceSettings +type WorkspaceSettingsSlice []*WorkspaceSettings + +// KubernetesClusterSlice represents a slice of *KubernetesCluster +type KubernetesClusterSlice []*KubernetesCluster + +// RootTrustPolicySlice represents a slice of *RootTrustPolicy +type RootTrustPolicySlice []*RootTrustPolicy + +// ExtAuthServerSlice represents a slice of *ExtAuthServer +type ExtAuthServerSlice []*ExtAuthServer + +// RateLimitServerSettingsSlice represents a slice of *RateLimitServerSettings +type RateLimitServerSettingsSlice []*RateLimitServerSettings + +// RateLimitServerConfigSlice represents a slice of *RateLimitServerConfig +type RateLimitServerConfigSlice []*RateLimitServerConfig + +// DashboardSlice represents a slice of *Dashboard +type DashboardSlice []*Dashboard + +// IstioLifecycleManagerSlice represents a slice of *IstioLifecycleManager +type IstioLifecycleManagerSlice []*IstioLifecycleManager + +// GatewayLifecycleManagerSlice represents a slice of *GatewayLifecycleManager +type GatewayLifecycleManagerSlice []*GatewayLifecycleManager diff --git a/client-go/admin.gloo.solo.io/v2/types.go b/client-go/admin.gloo.solo.io/v2/types.go new file mode 100644 index 000000000..c0f36e8c2 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/types.go @@ -0,0 +1,372 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for Workspace +var WorkspaceGVK = schema.GroupVersionKind{ + Group: "admin.gloo.solo.io", + Version: "v2", + Kind: "Workspace", +} + +// Workspace is the Schema for the workspace API +type Workspace struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec WorkspaceSpec `json:"spec,omitempty"` + Status WorkspaceStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (Workspace) GVK() schema.GroupVersionKind { + return WorkspaceGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// WorkspaceList contains a list of Workspace +type WorkspaceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Workspace `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for WorkspaceSettings +var WorkspaceSettingsGVK = schema.GroupVersionKind{ + Group: "admin.gloo.solo.io", + Version: "v2", + Kind: "WorkspaceSettings", +} + +// WorkspaceSettings is the Schema for the workspaceSettings API +type WorkspaceSettings struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec WorkspaceSettingsSpec `json:"spec,omitempty"` + Status WorkspaceSettingsStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (WorkspaceSettings) GVK() schema.GroupVersionKind { + return WorkspaceSettingsGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// WorkspaceSettingsList contains a list of WorkspaceSettings +type WorkspaceSettingsList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WorkspaceSettings `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for KubernetesCluster +var KubernetesClusterGVK = schema.GroupVersionKind{ + Group: "admin.gloo.solo.io", + Version: "v2", + Kind: "KubernetesCluster", +} + +// KubernetesCluster is the Schema for the kubernetesCluster API +type KubernetesCluster struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec KubernetesClusterSpec `json:"spec,omitempty"` + Status KubernetesClusterStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (KubernetesCluster) GVK() schema.GroupVersionKind { + return KubernetesClusterGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// KubernetesClusterList contains a list of KubernetesCluster +type KubernetesClusterList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []KubernetesCluster `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for RootTrustPolicy +var RootTrustPolicyGVK = schema.GroupVersionKind{ + Group: "admin.gloo.solo.io", + Version: "v2", + Kind: "RootTrustPolicy", +} + +// RootTrustPolicy is the Schema for the rootTrustPolicy API +type RootTrustPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec RootTrustPolicySpec `json:"spec,omitempty"` + Status RootTrustPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (RootTrustPolicy) GVK() schema.GroupVersionKind { + return RootTrustPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RootTrustPolicyList contains a list of RootTrustPolicy +type RootTrustPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RootTrustPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ExtAuthServer +var ExtAuthServerGVK = schema.GroupVersionKind{ + Group: "admin.gloo.solo.io", + Version: "v2", + Kind: "ExtAuthServer", +} + +// ExtAuthServer is the Schema for the extAuthServer API +type ExtAuthServer struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ExtAuthServerSpec `json:"spec,omitempty"` + Status ExtAuthServerStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ExtAuthServer) GVK() schema.GroupVersionKind { + return ExtAuthServerGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ExtAuthServerList contains a list of ExtAuthServer +type ExtAuthServerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ExtAuthServer `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for RateLimitServerSettings +var RateLimitServerSettingsGVK = schema.GroupVersionKind{ + Group: "admin.gloo.solo.io", + Version: "v2", + Kind: "RateLimitServerSettings", +} + +// RateLimitServerSettings is the Schema for the rateLimitServerSettings API +type RateLimitServerSettings struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec RateLimitServerSettingsSpec `json:"spec,omitempty"` + Status RateLimitServerSettingsStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (RateLimitServerSettings) GVK() schema.GroupVersionKind { + return RateLimitServerSettingsGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RateLimitServerSettingsList contains a list of RateLimitServerSettings +type RateLimitServerSettingsList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RateLimitServerSettings `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for RateLimitServerConfig +var RateLimitServerConfigGVK = schema.GroupVersionKind{ + Group: "admin.gloo.solo.io", + Version: "v2", + Kind: "RateLimitServerConfig", +} + +// RateLimitServerConfig is the Schema for the rateLimitServerConfig API +type RateLimitServerConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec RateLimitServerConfigSpec `json:"spec,omitempty"` + Status RateLimitServerConfigStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (RateLimitServerConfig) GVK() schema.GroupVersionKind { + return RateLimitServerConfigGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RateLimitServerConfigList contains a list of RateLimitServerConfig +type RateLimitServerConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RateLimitServerConfig `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for Dashboard +var DashboardGVK = schema.GroupVersionKind{ + Group: "admin.gloo.solo.io", + Version: "v2", + Kind: "Dashboard", +} + +// Dashboard is the Schema for the dashboard API +type Dashboard struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec DashboardSpec `json:"spec,omitempty"` + Status DashboardStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (Dashboard) GVK() schema.GroupVersionKind { + return DashboardGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DashboardList contains a list of Dashboard +type DashboardList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Dashboard `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for IstioLifecycleManager +var IstioLifecycleManagerGVK = schema.GroupVersionKind{ + Group: "admin.gloo.solo.io", + Version: "v2", + Kind: "IstioLifecycleManager", +} + +// IstioLifecycleManager is the Schema for the istioLifecycleManager API +type IstioLifecycleManager struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec IstioLifecycleManagerSpec `json:"spec,omitempty"` + Status IstioLifecycleManagerStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (IstioLifecycleManager) GVK() schema.GroupVersionKind { + return IstioLifecycleManagerGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// IstioLifecycleManagerList contains a list of IstioLifecycleManager +type IstioLifecycleManagerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []IstioLifecycleManager `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for GatewayLifecycleManager +var GatewayLifecycleManagerGVK = schema.GroupVersionKind{ + Group: "admin.gloo.solo.io", + Version: "v2", + Kind: "GatewayLifecycleManager", +} + +// GatewayLifecycleManager is the Schema for the gatewayLifecycleManager API +type GatewayLifecycleManager struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec GatewayLifecycleManagerSpec `json:"spec,omitempty"` + Status GatewayLifecycleManagerStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (GatewayLifecycleManager) GVK() schema.GroupVersionKind { + return GatewayLifecycleManagerGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GatewayLifecycleManagerList contains a list of GatewayLifecycleManager +type GatewayLifecycleManagerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GatewayLifecycleManager `json:"items"` +} + +func init() { + SchemeBuilder.Register(&Workspace{}, &WorkspaceList{}) + SchemeBuilder.Register(&WorkspaceSettings{}, &WorkspaceSettingsList{}) + SchemeBuilder.Register(&KubernetesCluster{}, &KubernetesClusterList{}) + SchemeBuilder.Register(&RootTrustPolicy{}, &RootTrustPolicyList{}) + SchemeBuilder.Register(&ExtAuthServer{}, &ExtAuthServerList{}) + SchemeBuilder.Register(&RateLimitServerSettings{}, &RateLimitServerSettingsList{}) + SchemeBuilder.Register(&RateLimitServerConfig{}, &RateLimitServerConfigList{}) + SchemeBuilder.Register(&Dashboard{}, &DashboardList{}) + SchemeBuilder.Register(&IstioLifecycleManager{}, &IstioLifecycleManagerList{}) + SchemeBuilder.Register(&GatewayLifecycleManager{}, &GatewayLifecycleManagerList{}) +} diff --git a/client-go/admin.gloo.solo.io/v2/workspace.pb.clone.go b/client-go/admin.gloo.solo.io/v2/workspace.pb.clone.go new file mode 100644 index 000000000..4a9c4dfae --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/workspace.pb.clone.go @@ -0,0 +1,288 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/workspace.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *WorkspaceSpec) Clone() proto.Message { + var target *WorkspaceSpec + if m == nil { + return target + } + target = &WorkspaceSpec{} + + if m.GetWorkloadClusters() != nil { + target.WorkloadClusters = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ClusterSelector, len(m.GetWorkloadClusters())) + for idx, v := range m.GetWorkloadClusters() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.WorkloadClusters[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ClusterSelector) + } else { + target.WorkloadClusters[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ClusterSelector) + } + + } + } + + return target +} + +// Clone function +func (m *WorkspaceStatus) Clone() proto.Message { + var target *WorkspaceStatus + if m == nil { + return target + } + target = &WorkspaceStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + if h, ok := interface{}(m.GetWorkspaceSettings()).(clone.Cloner); ok { + target.WorkspaceSettings = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.WorkspaceSettings = proto.Clone(m.GetWorkspaceSettings()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + target.NumSelectedClusters = m.GetNumSelectedClusters() + + target.NumSelectedNamespaces = m.GetNumSelectedNamespaces() + + if m.GetNumResources() != nil { + target.NumResources = make(map[string]*WorkspaceStatus_SourceType, len(m.GetNumResources())) + for k, v := range m.GetNumResources() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.NumResources[k] = h.Clone().(*WorkspaceStatus_SourceType) + } else { + target.NumResources[k] = proto.Clone(v).(*WorkspaceStatus_SourceType) + } + + } + } + + if m.GetPolicyCounts() != nil { + target.PolicyCounts = make(map[string]uint32, len(m.GetPolicyCounts())) + for k, v := range m.GetPolicyCounts() { + + target.PolicyCounts[k] = v + + } + } + + if m.GetDestinationCounts() != nil { + target.DestinationCounts = make(map[string]uint32, len(m.GetDestinationCounts())) + for k, v := range m.GetDestinationCounts() { + + target.DestinationCounts[k] = v + + } + } + + target.NumImportedWorkspaces = m.GetNumImportedWorkspaces() + + return target +} + +// Clone function +func (m *WorkspaceReport) Clone() proto.Message { + var target *WorkspaceReport + if m == nil { + return target + } + target = &WorkspaceReport{} + + if h, ok := interface{}(m.GetReport()).(clone.Cloner); ok { + target.Report = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Report = proto.Clone(m.GetReport()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + if h, ok := interface{}(m.GetWorkspaceSettings()).(clone.Cloner); ok { + target.WorkspaceSettings = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.WorkspaceSettings = proto.Clone(m.GetWorkspaceSettings()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + if m.GetSelectedClusters() != nil { + target.SelectedClusters = make([]*WorkspaceReport_SelectedCluster, len(m.GetSelectedClusters())) + for idx, v := range m.GetSelectedClusters() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedClusters[idx] = h.Clone().(*WorkspaceReport_SelectedCluster) + } else { + target.SelectedClusters[idx] = proto.Clone(v).(*WorkspaceReport_SelectedCluster) + } + + } + } + + if m.GetResources() != nil { + target.Resources = make(map[string]*WorkspaceReport_SourceType, len(m.GetResources())) + for k, v := range m.GetResources() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Resources[k] = h.Clone().(*WorkspaceReport_SourceType) + } else { + target.Resources[k] = proto.Clone(v).(*WorkspaceReport_SourceType) + } + + } + } + + if m.GetPolicyCounts() != nil { + target.PolicyCounts = make(map[string]*WorkspaceReport_ObjectReferences, len(m.GetPolicyCounts())) + for k, v := range m.GetPolicyCounts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.PolicyCounts[k] = h.Clone().(*WorkspaceReport_ObjectReferences) + } else { + target.PolicyCounts[k] = proto.Clone(v).(*WorkspaceReport_ObjectReferences) + } + + } + } + + if m.GetDestinationCounts() != nil { + target.DestinationCounts = make(map[string]*WorkspaceReport_ObjectReferences, len(m.GetDestinationCounts())) + for k, v := range m.GetDestinationCounts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.DestinationCounts[k] = h.Clone().(*WorkspaceReport_ObjectReferences) + } else { + target.DestinationCounts[k] = proto.Clone(v).(*WorkspaceReport_ObjectReferences) + } + + } + } + + if m.GetImportedWorkspaces() != nil { + target.ImportedWorkspaces = make([]string, len(m.GetImportedWorkspaces())) + for idx, v := range m.GetImportedWorkspaces() { + + target.ImportedWorkspaces[idx] = v + + } + } + + return target +} + +// Clone function +func (m *WorkspaceStatus_SourceType) Clone() proto.Message { + var target *WorkspaceStatus_SourceType + if m == nil { + return target + } + target = &WorkspaceStatus_SourceType{} + + target.Imported = m.GetImported() + + target.Exported = m.GetExported() + + target.Private = m.GetPrivate() + + return target +} + +// Clone function +func (m *WorkspaceReport_SelectedCluster) Clone() proto.Message { + var target *WorkspaceReport_SelectedCluster + if m == nil { + return target + } + target = &WorkspaceReport_SelectedCluster{} + + target.Name = m.GetName() + + if m.GetNamespaces() != nil { + target.Namespaces = make([]string, len(m.GetNamespaces())) + for idx, v := range m.GetNamespaces() { + + target.Namespaces[idx] = v + + } + } + + return target +} + +// Clone function +func (m *WorkspaceReport_SourceType) Clone() proto.Message { + var target *WorkspaceReport_SourceType + if m == nil { + return target + } + target = &WorkspaceReport_SourceType{} + + if h, ok := interface{}(m.GetImported()).(clone.Cloner); ok { + target.Imported = h.Clone().(*WorkspaceReport_ObjectReferences) + } else { + target.Imported = proto.Clone(m.GetImported()).(*WorkspaceReport_ObjectReferences) + } + + if h, ok := interface{}(m.GetExported()).(clone.Cloner); ok { + target.Exported = h.Clone().(*WorkspaceReport_ObjectReferences) + } else { + target.Exported = proto.Clone(m.GetExported()).(*WorkspaceReport_ObjectReferences) + } + + if h, ok := interface{}(m.GetPrivate()).(clone.Cloner); ok { + target.Private = h.Clone().(*WorkspaceReport_ObjectReferences) + } else { + target.Private = proto.Clone(m.GetPrivate()).(*WorkspaceReport_ObjectReferences) + } + + return target +} + +// Clone function +func (m *WorkspaceReport_ObjectReferences) Clone() proto.Message { + var target *WorkspaceReport_ObjectReferences + if m == nil { + return target + } + target = &WorkspaceReport_ObjectReferences{} + + if m.GetObjectReferences() != nil { + target.ObjectReferences = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetObjectReferences())) + for idx, v := range m.GetObjectReferences() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ObjectReferences[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.ObjectReferences[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + return target +} diff --git a/client-go/admin.gloo.solo.io/v2/workspace.pb.equal.go b/client-go/admin.gloo.solo.io/v2/workspace.pb.equal.go new file mode 100644 index 000000000..250a7aea7 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/workspace.pb.equal.go @@ -0,0 +1,455 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/workspace.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *WorkspaceSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceSpec) + if !ok { + that2, ok := that.(WorkspaceSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkloadClusters()) != len(target.GetWorkloadClusters()) { + return false + } + for idx, v := range m.GetWorkloadClusters() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkloadClusters()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkloadClusters()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *WorkspaceStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceStatus) + if !ok { + that2, ok := that.(WorkspaceStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if h, ok := interface{}(m.GetWorkspaceSettings()).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaceSettings()) { + return false + } + } else { + if !proto.Equal(m.GetWorkspaceSettings(), target.GetWorkspaceSettings()) { + return false + } + } + + if m.GetNumSelectedClusters() != target.GetNumSelectedClusters() { + return false + } + + if m.GetNumSelectedNamespaces() != target.GetNumSelectedNamespaces() { + return false + } + + if len(m.GetNumResources()) != len(target.GetNumResources()) { + return false + } + for k, v := range m.GetNumResources() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetNumResources()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetNumResources()[k]) { + return false + } + } + + } + + if len(m.GetPolicyCounts()) != len(target.GetPolicyCounts()) { + return false + } + for k, v := range m.GetPolicyCounts() { + + if v != target.GetPolicyCounts()[k] { + return false + } + + } + + if len(m.GetDestinationCounts()) != len(target.GetDestinationCounts()) { + return false + } + for k, v := range m.GetDestinationCounts() { + + if v != target.GetDestinationCounts()[k] { + return false + } + + } + + if m.GetNumImportedWorkspaces() != target.GetNumImportedWorkspaces() { + return false + } + + return true +} + +// Equal function +func (m *WorkspaceReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceReport) + if !ok { + that2, ok := that.(WorkspaceReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetReport()).(equality.Equalizer); ok { + if !h.Equal(target.GetReport()) { + return false + } + } else { + if !proto.Equal(m.GetReport(), target.GetReport()) { + return false + } + } + + if h, ok := interface{}(m.GetWorkspaceSettings()).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaceSettings()) { + return false + } + } else { + if !proto.Equal(m.GetWorkspaceSettings(), target.GetWorkspaceSettings()) { + return false + } + } + + if len(m.GetSelectedClusters()) != len(target.GetSelectedClusters()) { + return false + } + for idx, v := range m.GetSelectedClusters() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedClusters()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedClusters()[idx]) { + return false + } + } + + } + + if len(m.GetResources()) != len(target.GetResources()) { + return false + } + for k, v := range m.GetResources() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetResources()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetResources()[k]) { + return false + } + } + + } + + if len(m.GetPolicyCounts()) != len(target.GetPolicyCounts()) { + return false + } + for k, v := range m.GetPolicyCounts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPolicyCounts()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetPolicyCounts()[k]) { + return false + } + } + + } + + if len(m.GetDestinationCounts()) != len(target.GetDestinationCounts()) { + return false + } + for k, v := range m.GetDestinationCounts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinationCounts()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetDestinationCounts()[k]) { + return false + } + } + + } + + if len(m.GetImportedWorkspaces()) != len(target.GetImportedWorkspaces()) { + return false + } + for idx, v := range m.GetImportedWorkspaces() { + + if strings.Compare(v, target.GetImportedWorkspaces()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *WorkspaceStatus_SourceType) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceStatus_SourceType) + if !ok { + that2, ok := that.(WorkspaceStatus_SourceType) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetImported() != target.GetImported() { + return false + } + + if m.GetExported() != target.GetExported() { + return false + } + + if m.GetPrivate() != target.GetPrivate() { + return false + } + + return true +} + +// Equal function +func (m *WorkspaceReport_SelectedCluster) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceReport_SelectedCluster) + if !ok { + that2, ok := that.(WorkspaceReport_SelectedCluster) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if len(m.GetNamespaces()) != len(target.GetNamespaces()) { + return false + } + for idx, v := range m.GetNamespaces() { + + if strings.Compare(v, target.GetNamespaces()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *WorkspaceReport_SourceType) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceReport_SourceType) + if !ok { + that2, ok := that.(WorkspaceReport_SourceType) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetImported()).(equality.Equalizer); ok { + if !h.Equal(target.GetImported()) { + return false + } + } else { + if !proto.Equal(m.GetImported(), target.GetImported()) { + return false + } + } + + if h, ok := interface{}(m.GetExported()).(equality.Equalizer); ok { + if !h.Equal(target.GetExported()) { + return false + } + } else { + if !proto.Equal(m.GetExported(), target.GetExported()) { + return false + } + } + + if h, ok := interface{}(m.GetPrivate()).(equality.Equalizer); ok { + if !h.Equal(target.GetPrivate()) { + return false + } + } else { + if !proto.Equal(m.GetPrivate(), target.GetPrivate()) { + return false + } + } + + return true +} + +// Equal function +func (m *WorkspaceReport_ObjectReferences) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceReport_ObjectReferences) + if !ok { + that2, ok := that.(WorkspaceReport_ObjectReferences) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetObjectReferences()) != len(target.GetObjectReferences()) { + return false + } + for idx, v := range m.GetObjectReferences() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetObjectReferences()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetObjectReferences()[idx]) { + return false + } + } + + } + + return true +} diff --git a/client-go/admin.gloo.solo.io/v2/workspace.pb.go b/client-go/admin.gloo.solo.io/v2/workspace.pb.go new file mode 100644 index 000000000..9ef470a45 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/workspace.pb.go @@ -0,0 +1,973 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/workspace.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// `Workspace` describes a logical grouping of Kubernetes namespaces within the clusters that are part of +// a virtual mesh. Workspace can be treated as a boundary for configuration and service discovery. +// The specification describes how to select namespaces or/and clusters for a given workspace. +// +// The workspace-wide settings such as `importFrom`, `exportTo` are configured in the `WorkspaceSettings` +// object. Refer to the `WorkspaceSettings` documentation for details. +// +// The following example creates the `web` workspace that selects all workload clusters and all namespaces +// within those clusters to be part of the workspace. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Workspace +// metadata: +// +// name: web +// namespace: gloo-mesh +// +// spec: +// +// workloadClusters: +// - name: "*" +// namespaces: +// - name: "*" +// +// ``` +// +// The following configuration creates the `web` workspace that selects the `web` namespace from all workload +// clusters that have the label of `region: us-east` to be part of the workspace. Refer to the `KubernetesCluster` +// documentation for examples on how to label your KubernetesCluster resource. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Workspace +// metadata: +// +// name: web +// namespace: gloo-mesh +// +// spec: +// +// workloadClusters: +// - selector: +// region: us-east +// namespaces: +// - name: web +// +// ``` +// +// The following example creates the `policy` namespace that does NOT have any workload clusters. +// This workspace also has the `gloo.solo.io/global` label which other workspaces +// can use to import this workspace by label in their `WorkspaceSettings` resource. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Workspace +// metadata: +// +// name: policy +// namespace: gloo-mesh +// labels: +// gloo.solo.io/global: 'true' +// +// ``` +// +// The example below creates the `backend` workspace that select any namespace that starts with `ns1` in `cluster1` +// and any namespace that starts with `ns2` in `cluster2`. It has the `gloo.solo.io/exportToGateway` label, +// which other workspaces can use to import this workspace by label in their `WorkspaceSettings` resource. +// Refer to the `KubernetesCluster` documentation for examples on how to name your KubernetesCluster resource. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Workspace +// metadata: +// +// name: backend +// namespace: gloo-mesh +// labels: +// gloo.solo.io/exportToGateway: tier1 +// team: backend +// +// spec: +// +// workloadClusters: +// - name: cluster1 +// namespaces: +// - name: ns1* +// - name: cluster2 +// namespaces: +// - name: ns2* +// +// ``` +type WorkspaceSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: Select workload clusters and namespaces for the workload clusters that are part of the workspace. + // When this is not specified, the workspace contains no workload clusters. + WorkloadClusters []*v2.ClusterSelector `protobuf:"bytes,2,rep,name=workload_clusters,json=workloadClusters,proto3" json:"workload_clusters,omitempty"` +} + +func (x *WorkspaceSpec) Reset() { + *x = WorkspaceSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceSpec) ProtoMessage() {} + +func (x *WorkspaceSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceSpec.ProtoReflect.Descriptor instead. +func (*WorkspaceSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkspaceSpec) GetWorkloadClusters() []*v2.ClusterSelector { + if x != nil { + return x.WorkloadClusters + } + return nil +} + +type WorkspaceStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied policy. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The workspacesettings object configuring this workspace. + WorkspaceSettings *v2.ObjectReference `protobuf:"bytes,2,opt,name=workspace_settings,json=workspaceSettings,proto3" json:"workspace_settings,omitempty"` + // The number of selected Kubernetes clusters. + NumSelectedClusters uint32 `protobuf:"varint,3,opt,name=num_selected_clusters,json=numSelectedClusters,proto3" json:"num_selected_clusters,omitempty"` + // The number of selected namespaces. + NumSelectedNamespaces uint32 `protobuf:"varint,4,opt,name=num_selected_namespaces,json=numSelectedNamespaces,proto3" json:"num_selected_namespaces,omitempty"` + // The number of resources that the workspace imports and exports, sorted by type (imported, exported, private). + NumResources map[string]*WorkspaceStatus_SourceType `protobuf:"bytes,5,rep,name=num_resources,json=numResources,proto3" json:"num_resources,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The number of policy resources in this workspace, sorted by type (security, trafficcontrol, resilience, observability). + PolicyCounts map[string]uint32 `protobuf:"bytes,6,rep,name=policy_counts,json=policyCounts,proto3" json:"policy_counts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + // The number of destination resources in this workspace, sorted by type (Kubernetes service, virtual destination, external service). + DestinationCounts map[string]uint32 `protobuf:"bytes,7,rep,name=destination_counts,json=destinationCounts,proto3" json:"destination_counts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + // The number of workspaces imported into this workspace. + NumImportedWorkspaces uint32 `protobuf:"varint,8,opt,name=num_imported_workspaces,json=numImportedWorkspaces,proto3" json:"num_imported_workspaces,omitempty"` +} + +func (x *WorkspaceStatus) Reset() { + *x = WorkspaceStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceStatus) ProtoMessage() {} + +func (x *WorkspaceStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceStatus.ProtoReflect.Descriptor instead. +func (*WorkspaceStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescGZIP(), []int{1} +} + +func (x *WorkspaceStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *WorkspaceStatus) GetWorkspaceSettings() *v2.ObjectReference { + if x != nil { + return x.WorkspaceSettings + } + return nil +} + +func (x *WorkspaceStatus) GetNumSelectedClusters() uint32 { + if x != nil { + return x.NumSelectedClusters + } + return 0 +} + +func (x *WorkspaceStatus) GetNumSelectedNamespaces() uint32 { + if x != nil { + return x.NumSelectedNamespaces + } + return 0 +} + +func (x *WorkspaceStatus) GetNumResources() map[string]*WorkspaceStatus_SourceType { + if x != nil { + return x.NumResources + } + return nil +} + +func (x *WorkspaceStatus) GetPolicyCounts() map[string]uint32 { + if x != nil { + return x.PolicyCounts + } + return nil +} + +func (x *WorkspaceStatus) GetDestinationCounts() map[string]uint32 { + if x != nil { + return x.DestinationCounts + } + return nil +} + +func (x *WorkspaceStatus) GetNumImportedWorkspaces() uint32 { + if x != nil { + return x.NumImportedWorkspaces + } + return 0 +} + +type WorkspaceReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Report *v2.Report `protobuf:"bytes,1,opt,name=report,proto3" json:"report,omitempty"` + // The workspacesettings object configuring this workspace. + WorkspaceSettings *v2.ObjectReference `protobuf:"bytes,2,opt,name=workspace_settings,json=workspaceSettings,proto3" json:"workspace_settings,omitempty"` + // A list of clusters that this workspace selects. These cluster objects contain the namespaces that the workspace owns within them. + SelectedClusters []*WorkspaceReport_SelectedCluster `protobuf:"bytes,3,rep,name=selected_clusters,json=selectedClusters,proto3" json:"selected_clusters,omitempty"` + // A list of resources that the workspace imports and exports, sorted by type (imported, exported, private). + Resources map[string]*WorkspaceReport_SourceType `protobuf:"bytes,4,rep,name=resources,proto3" json:"resources,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A reference of policy resources in this workspace, sorted by type (security, trafficcontrol, resilience, observability). + PolicyCounts map[string]*WorkspaceReport_ObjectReferences `protobuf:"bytes,5,rep,name=policy_counts,json=policyCounts,proto3" json:"policy_counts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A refernce of destination resources in this workspace, sorted by type (Kubernetes service, virtual destination, external service) + DestinationCounts map[string]*WorkspaceReport_ObjectReferences `protobuf:"bytes,6,rep,name=destination_counts,json=destinationCounts,proto3" json:"destination_counts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of workspaces from which resources are imported into this workspace. + ImportedWorkspaces []string `protobuf:"bytes,7,rep,name=imported_workspaces,json=importedWorkspaces,proto3" json:"imported_workspaces,omitempty"` +} + +func (x *WorkspaceReport) Reset() { + *x = WorkspaceReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceReport) ProtoMessage() {} + +func (x *WorkspaceReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceReport.ProtoReflect.Descriptor instead. +func (*WorkspaceReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescGZIP(), []int{2} +} + +func (x *WorkspaceReport) GetReport() *v2.Report { + if x != nil { + return x.Report + } + return nil +} + +func (x *WorkspaceReport) GetWorkspaceSettings() *v2.ObjectReference { + if x != nil { + return x.WorkspaceSettings + } + return nil +} + +func (x *WorkspaceReport) GetSelectedClusters() []*WorkspaceReport_SelectedCluster { + if x != nil { + return x.SelectedClusters + } + return nil +} + +func (x *WorkspaceReport) GetResources() map[string]*WorkspaceReport_SourceType { + if x != nil { + return x.Resources + } + return nil +} + +func (x *WorkspaceReport) GetPolicyCounts() map[string]*WorkspaceReport_ObjectReferences { + if x != nil { + return x.PolicyCounts + } + return nil +} + +func (x *WorkspaceReport) GetDestinationCounts() map[string]*WorkspaceReport_ObjectReferences { + if x != nil { + return x.DestinationCounts + } + return nil +} + +func (x *WorkspaceReport) GetImportedWorkspaces() []string { + if x != nil { + return x.ImportedWorkspaces + } + return nil +} + +// $hide_from_docs +type WorkspaceStatus_SourceType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Imported uint32 `protobuf:"varint,1,opt,name=imported,proto3" json:"imported,omitempty"` + Exported uint32 `protobuf:"varint,2,opt,name=exported,proto3" json:"exported,omitempty"` + Private uint32 `protobuf:"varint,3,opt,name=private,proto3" json:"private,omitempty"` +} + +func (x *WorkspaceStatus_SourceType) Reset() { + *x = WorkspaceStatus_SourceType{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceStatus_SourceType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceStatus_SourceType) ProtoMessage() {} + +func (x *WorkspaceStatus_SourceType) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceStatus_SourceType.ProtoReflect.Descriptor instead. +func (*WorkspaceStatus_SourceType) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescGZIP(), []int{1, 3} +} + +func (x *WorkspaceStatus_SourceType) GetImported() uint32 { + if x != nil { + return x.Imported + } + return 0 +} + +func (x *WorkspaceStatus_SourceType) GetExported() uint32 { + if x != nil { + return x.Exported + } + return 0 +} + +func (x *WorkspaceStatus_SourceType) GetPrivate() uint32 { + if x != nil { + return x.Private + } + return 0 +} + +// Represents a cluster that was successfully associated to a workspace based on the WorkspaceSpec. +type WorkspaceReport_SelectedCluster struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of a cluster that this workspace selects. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Namespaces inside the cluster that this workspace owns. + Namespaces []string `protobuf:"bytes,2,rep,name=namespaces,proto3" json:"namespaces,omitempty"` +} + +func (x *WorkspaceReport_SelectedCluster) Reset() { + *x = WorkspaceReport_SelectedCluster{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceReport_SelectedCluster) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceReport_SelectedCluster) ProtoMessage() {} + +func (x *WorkspaceReport_SelectedCluster) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceReport_SelectedCluster.ProtoReflect.Descriptor instead. +func (*WorkspaceReport_SelectedCluster) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *WorkspaceReport_SelectedCluster) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WorkspaceReport_SelectedCluster) GetNamespaces() []string { + if x != nil { + return x.Namespaces + } + return nil +} + +// Represents whether a resource is imported, exported, or private to a workspace. +type WorkspaceReport_SourceType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Imported *WorkspaceReport_ObjectReferences `protobuf:"bytes,1,opt,name=imported,proto3" json:"imported,omitempty"` + Exported *WorkspaceReport_ObjectReferences `protobuf:"bytes,2,opt,name=exported,proto3" json:"exported,omitempty"` + Private *WorkspaceReport_ObjectReferences `protobuf:"bytes,3,opt,name=private,proto3" json:"private,omitempty"` +} + +func (x *WorkspaceReport_SourceType) Reset() { + *x = WorkspaceReport_SourceType{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceReport_SourceType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceReport_SourceType) ProtoMessage() {} + +func (x *WorkspaceReport_SourceType) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceReport_SourceType.ProtoReflect.Descriptor instead. +func (*WorkspaceReport_SourceType) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescGZIP(), []int{2, 4} +} + +func (x *WorkspaceReport_SourceType) GetImported() *WorkspaceReport_ObjectReferences { + if x != nil { + return x.Imported + } + return nil +} + +func (x *WorkspaceReport_SourceType) GetExported() *WorkspaceReport_ObjectReferences { + if x != nil { + return x.Exported + } + return nil +} + +func (x *WorkspaceReport_SourceType) GetPrivate() *WorkspaceReport_ObjectReferences { + if x != nil { + return x.Private + } + return nil +} + +// Represents a list of object references. +type WorkspaceReport_ObjectReferences struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ObjectReferences []*v2.ObjectReference `protobuf:"bytes,1,rep,name=object_references,json=objectReferences,proto3" json:"object_references,omitempty"` +} + +func (x *WorkspaceReport_ObjectReferences) Reset() { + *x = WorkspaceReport_ObjectReferences{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceReport_ObjectReferences) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceReport_ObjectReferences) ProtoMessage() {} + +func (x *WorkspaceReport_ObjectReferences) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceReport_ObjectReferences.ProtoReflect.Descriptor instead. +func (*WorkspaceReport_ObjectReferences) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescGZIP(), []int{2, 5} +} + +func (x *WorkspaceReport_ObjectReferences) GetObjectReferences() []*v2.ObjectReference { + if x != nil { + return x.ObjectReferences + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDesc = []byte{ + 0x0a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, + 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, + 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x51, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x22, 0xba, 0x07, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x12, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x13, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x0d, + 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x0d, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x12, 0x69, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, + 0x36, 0x0a, 0x17, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x15, 0x6e, 0x75, 0x6d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x1a, 0x6f, 0x0a, 0x11, 0x4e, 0x75, 0x6d, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x5e, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, + 0xd9, 0x0a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x53, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x60, 0x0a, + 0x11, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x10, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, + 0x50, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x12, 0x5a, 0x0a, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x69, 0x0a, + 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x1a, 0x45, 0x0a, 0x0f, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x1a, 0x6c, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x75, + 0x0a, 0x11, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7a, 0x0a, 0x16, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x34, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x80, 0x02, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x50, 0x0a, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x12, 0x50, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x07, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x1a, 0x65, 0x0a, 0x10, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x53, 0x5a, 0x45, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_goTypes = []interface{}{ + (*WorkspaceSpec)(nil), // 0: admin.gloo.solo.io.WorkspaceSpec + (*WorkspaceStatus)(nil), // 1: admin.gloo.solo.io.WorkspaceStatus + (*WorkspaceReport)(nil), // 2: admin.gloo.solo.io.WorkspaceReport + nil, // 3: admin.gloo.solo.io.WorkspaceStatus.NumResourcesEntry + nil, // 4: admin.gloo.solo.io.WorkspaceStatus.PolicyCountsEntry + nil, // 5: admin.gloo.solo.io.WorkspaceStatus.DestinationCountsEntry + (*WorkspaceStatus_SourceType)(nil), // 6: admin.gloo.solo.io.WorkspaceStatus.SourceType + (*WorkspaceReport_SelectedCluster)(nil), // 7: admin.gloo.solo.io.WorkspaceReport.SelectedCluster + nil, // 8: admin.gloo.solo.io.WorkspaceReport.ResourcesEntry + nil, // 9: admin.gloo.solo.io.WorkspaceReport.PolicyCountsEntry + nil, // 10: admin.gloo.solo.io.WorkspaceReport.DestinationCountsEntry + (*WorkspaceReport_SourceType)(nil), // 11: admin.gloo.solo.io.WorkspaceReport.SourceType + (*WorkspaceReport_ObjectReferences)(nil), // 12: admin.gloo.solo.io.WorkspaceReport.ObjectReferences + (*v2.ClusterSelector)(nil), // 13: common.gloo.solo.io.ClusterSelector + (*v2.Status)(nil), // 14: common.gloo.solo.io.Status + (*v2.ObjectReference)(nil), // 15: common.gloo.solo.io.ObjectReference + (*v2.Report)(nil), // 16: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_depIdxs = []int32{ + 13, // 0: admin.gloo.solo.io.WorkspaceSpec.workload_clusters:type_name -> common.gloo.solo.io.ClusterSelector + 14, // 1: admin.gloo.solo.io.WorkspaceStatus.common:type_name -> common.gloo.solo.io.Status + 15, // 2: admin.gloo.solo.io.WorkspaceStatus.workspace_settings:type_name -> common.gloo.solo.io.ObjectReference + 3, // 3: admin.gloo.solo.io.WorkspaceStatus.num_resources:type_name -> admin.gloo.solo.io.WorkspaceStatus.NumResourcesEntry + 4, // 4: admin.gloo.solo.io.WorkspaceStatus.policy_counts:type_name -> admin.gloo.solo.io.WorkspaceStatus.PolicyCountsEntry + 5, // 5: admin.gloo.solo.io.WorkspaceStatus.destination_counts:type_name -> admin.gloo.solo.io.WorkspaceStatus.DestinationCountsEntry + 16, // 6: admin.gloo.solo.io.WorkspaceReport.report:type_name -> common.gloo.solo.io.Report + 15, // 7: admin.gloo.solo.io.WorkspaceReport.workspace_settings:type_name -> common.gloo.solo.io.ObjectReference + 7, // 8: admin.gloo.solo.io.WorkspaceReport.selected_clusters:type_name -> admin.gloo.solo.io.WorkspaceReport.SelectedCluster + 8, // 9: admin.gloo.solo.io.WorkspaceReport.resources:type_name -> admin.gloo.solo.io.WorkspaceReport.ResourcesEntry + 9, // 10: admin.gloo.solo.io.WorkspaceReport.policy_counts:type_name -> admin.gloo.solo.io.WorkspaceReport.PolicyCountsEntry + 10, // 11: admin.gloo.solo.io.WorkspaceReport.destination_counts:type_name -> admin.gloo.solo.io.WorkspaceReport.DestinationCountsEntry + 6, // 12: admin.gloo.solo.io.WorkspaceStatus.NumResourcesEntry.value:type_name -> admin.gloo.solo.io.WorkspaceStatus.SourceType + 11, // 13: admin.gloo.solo.io.WorkspaceReport.ResourcesEntry.value:type_name -> admin.gloo.solo.io.WorkspaceReport.SourceType + 12, // 14: admin.gloo.solo.io.WorkspaceReport.PolicyCountsEntry.value:type_name -> admin.gloo.solo.io.WorkspaceReport.ObjectReferences + 12, // 15: admin.gloo.solo.io.WorkspaceReport.DestinationCountsEntry.value:type_name -> admin.gloo.solo.io.WorkspaceReport.ObjectReferences + 12, // 16: admin.gloo.solo.io.WorkspaceReport.SourceType.imported:type_name -> admin.gloo.solo.io.WorkspaceReport.ObjectReferences + 12, // 17: admin.gloo.solo.io.WorkspaceReport.SourceType.exported:type_name -> admin.gloo.solo.io.WorkspaceReport.ObjectReferences + 12, // 18: admin.gloo.solo.io.WorkspaceReport.SourceType.private:type_name -> admin.gloo.solo.io.WorkspaceReport.ObjectReferences + 15, // 19: admin.gloo.solo.io.WorkspaceReport.ObjectReferences.object_references:type_name -> common.gloo.solo.io.ObjectReference + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceStatus_SourceType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceReport_SelectedCluster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceReport_SourceType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceReport_ObjectReferences); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDesc, + NumEnums: 0, + NumMessages: 13, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_proto_depIdxs = nil +} diff --git a/client-go/admin.gloo.solo.io/v2/workspace.pb.hash.go b/client-go/admin.gloo.solo.io/v2/workspace.pb.hash.go new file mode 100644 index 000000000..3cffb705a --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/workspace.pb.hash.go @@ -0,0 +1,604 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/workspace.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *WorkspaceSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetWorkloadClusters() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetWorkspaceSettings()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("WorkspaceSettings")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetWorkspaceSettings(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("WorkspaceSettings")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedClusters()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedNamespaces()) + if err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetNumResources() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetPolicyCounts() { + innerHash.Reset() + + err = binary.Write(innerHash, binary.LittleEndian, v) + if err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetDestinationCounts() { + innerHash.Reset() + + err = binary.Write(innerHash, binary.LittleEndian, v) + if err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumImportedWorkspaces()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceReport")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetReport()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Report")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetReport(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Report")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetWorkspaceSettings()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("WorkspaceSettings")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetWorkspaceSettings(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("WorkspaceSettings")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetSelectedClusters() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetResources() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetPolicyCounts() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetDestinationCounts() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetImportedWorkspaces() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceStatus_SourceType) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceStatus_SourceType")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetImported()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetExported()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPrivate()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceReport_SelectedCluster) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceReport_SelectedCluster")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + for _, v := range m.GetNamespaces() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceReport_SourceType) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceReport_SourceType")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetImported()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Imported")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetImported(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Imported")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetExported()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Exported")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetExported(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Exported")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPrivate()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Private")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPrivate(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Private")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceReport_ObjectReferences) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceReport_ObjectReferences")); err != nil { + return 0, err + } + + for _, v := range m.GetObjectReferences() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/admin.gloo.solo.io/v2/workspace_settings.pb.clone.go b/client-go/admin.gloo.solo.io/v2/workspace_settings.pb.clone.go new file mode 100644 index 000000000..b9c45b5c1 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/workspace_settings.pb.clone.go @@ -0,0 +1,388 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/workspace_settings.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *WorkspaceSettingsSpec) Clone() proto.Message { + var target *WorkspaceSettingsSpec + if m == nil { + return target + } + target = &WorkspaceSettingsSpec{} + + if m.GetImportFrom() != nil { + target.ImportFrom = make([]*WorkspaceSettingsSpec_WorkspaceObjectSelector, len(m.GetImportFrom())) + for idx, v := range m.GetImportFrom() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ImportFrom[idx] = h.Clone().(*WorkspaceSettingsSpec_WorkspaceObjectSelector) + } else { + target.ImportFrom[idx] = proto.Clone(v).(*WorkspaceSettingsSpec_WorkspaceObjectSelector) + } + + } + } + + if m.GetExportTo() != nil { + target.ExportTo = make([]*WorkspaceSettingsSpec_WorkspaceObjectSelector, len(m.GetExportTo())) + for idx, v := range m.GetExportTo() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ExportTo[idx] = h.Clone().(*WorkspaceSettingsSpec_WorkspaceObjectSelector) + } else { + target.ExportTo[idx] = proto.Clone(v).(*WorkspaceSettingsSpec_WorkspaceObjectSelector) + } + + } + } + + if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { + target.Options = h.Clone().(*WorkspaceSettingsSpec_Options) + } else { + target.Options = proto.Clone(m.GetOptions()).(*WorkspaceSettingsSpec_Options) + } + + return target +} + +// Clone function +func (m *WorkspaceSettingsStatus) Clone() proto.Message { + var target *WorkspaceSettingsStatus + if m == nil { + return target + } + target = &WorkspaceSettingsStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + if h, ok := interface{}(m.GetWorkspace()).(clone.Cloner); ok { + target.Workspace = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.Workspace = proto.Clone(m.GetWorkspace()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + target.NumSelectedEastWestGateways = m.GetNumSelectedEastWestGateways() + + target.NumFederatedServices = m.GetNumFederatedServices() + + return target +} + +// Clone function +func (m *WorkspaceSettingsReport) Clone() proto.Message { + var target *WorkspaceSettingsReport + if m == nil { + return target + } + target = &WorkspaceSettingsReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if h, ok := interface{}(m.GetWorkspace()).(clone.Cloner); ok { + target.Workspace = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.Workspace = proto.Clone(m.GetWorkspace()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + if m.GetSelectedEastWestGateways() != nil { + target.SelectedEastWestGateways = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetSelectedEastWestGateways())) + for idx, v := range m.GetSelectedEastWestGateways() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedEastWestGateways[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.SelectedEastWestGateways[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + if m.GetFederatedServices() != nil { + target.FederatedServices = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetFederatedServices())) + for idx, v := range m.GetFederatedServices() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.FederatedServices[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.FederatedServices[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + return target +} + +// Clone function +func (m *WorkspaceSettingsSpec_WorkspaceObjectSelector) Clone() proto.Message { + var target *WorkspaceSettingsSpec_WorkspaceObjectSelector + if m == nil { + return target + } + target = &WorkspaceSettingsSpec_WorkspaceObjectSelector{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkspaceSelector, len(m.GetWorkspaces())) + for idx, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkspaceSelector) + } else { + target.Workspaces[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkspaceSelector) + } + + } + } + + if m.GetResources() != nil { + target.Resources = make([]*WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector, len(m.GetResources())) + for idx, v := range m.GetResources() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Resources[idx] = h.Clone().(*WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) + } else { + target.Resources[idx] = proto.Clone(v).(*WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) + } + + } + } + + return target +} + +// Clone function +func (m *WorkspaceSettingsSpec_Options) Clone() proto.Message { + var target *WorkspaceSettingsSpec_Options + if m == nil { + return target + } + target = &WorkspaceSettingsSpec_Options{} + + if h, ok := interface{}(m.GetServiceIsolation()).(clone.Cloner); ok { + target.ServiceIsolation = h.Clone().(*WorkspaceSettingsSpec_Options_ServiceIsolation) + } else { + target.ServiceIsolation = proto.Clone(m.GetServiceIsolation()).(*WorkspaceSettingsSpec_Options_ServiceIsolation) + } + + if h, ok := interface{}(m.GetFederation()).(clone.Cloner); ok { + target.Federation = h.Clone().(*WorkspaceSettingsSpec_Options_Federation) + } else { + target.Federation = proto.Clone(m.GetFederation()).(*WorkspaceSettingsSpec_Options_Federation) + } + + if m.GetEastWestGateways() != nil { + target.EastWestGateways = make([]*WorkspaceSettingsSpec_Options_EastWestGatewaySelector, len(m.GetEastWestGateways())) + for idx, v := range m.GetEastWestGateways() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.EastWestGateways[idx] = h.Clone().(*WorkspaceSettingsSpec_Options_EastWestGatewaySelector) + } else { + target.EastWestGateways[idx] = proto.Clone(v).(*WorkspaceSettingsSpec_Options_EastWestGatewaySelector) + } + + } + } + + if h, ok := interface{}(m.GetVirtualDestClientMode()).(clone.Cloner); ok { + target.VirtualDestClientMode = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ClientMode) + } else { + target.VirtualDestClientMode = proto.Clone(m.GetVirtualDestClientMode()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ClientMode) + } + + target.TrimAllProxyConfig = m.GetTrimAllProxyConfig() + + return target +} + +// Clone function +func (m *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) Clone() proto.Message { + var target *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector + if m == nil { + return target + } + target = &WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector{} + + target.Kind = m.GetKind() + + if m.GetLabels() != nil { + target.Labels = make(map[string]string, len(m.GetLabels())) + for k, v := range m.GetLabels() { + + target.Labels[k] = v + + } + } + + target.Name = m.GetName() + + target.Namespace = m.GetNamespace() + + target.Cluster = m.GetCluster() + + return target +} + +// Clone function +func (m *WorkspaceSettingsSpec_Options_ServiceIsolation) Clone() proto.Message { + var target *WorkspaceSettingsSpec_Options_ServiceIsolation + if m == nil { + return target + } + target = &WorkspaceSettingsSpec_Options_ServiceIsolation{} + + target.Enabled = m.GetEnabled() + + if h, ok := interface{}(m.GetTrimProxyConfig()).(clone.Cloner); ok { + target.TrimProxyConfig = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.TrimProxyConfig = proto.Clone(m.GetTrimProxyConfig()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + if h, ok := interface{}(m.GetEnforcementLayers()).(clone.Cloner); ok { + target.EnforcementLayers = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.EnforcementLayers) + } else { + target.EnforcementLayers = proto.Clone(m.GetEnforcementLayers()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.EnforcementLayers) + } + + return target +} + +// Clone function +func (m *WorkspaceSettingsSpec_Options_Federation) Clone() proto.Message { + var target *WorkspaceSettingsSpec_Options_Federation + if m == nil { + return target + } + target = &WorkspaceSettingsSpec_Options_Federation{} + + target.Enabled = m.GetEnabled() + + target.HostSuffix = m.GetHostSuffix() + + if m.GetServiceSelector() != nil { + target.ServiceSelector = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector, len(m.GetServiceSelector())) + for idx, v := range m.GetServiceSelector() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ServiceSelector[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.ServiceSelector[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + } + } + + if m.GetPorts() != nil { + target.Ports = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector, len(m.GetPorts())) + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Ports[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector) + } else { + target.Ports[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector) + } + + } + } + + return target +} + +// Clone function +func (m *WorkspaceSettingsSpec_Options_EastWestGatewaySelector) Clone() proto.Message { + var target *WorkspaceSettingsSpec_Options_EastWestGatewaySelector + if m == nil { + return target + } + target = &WorkspaceSettingsSpec_Options_EastWestGatewaySelector{} + + if h, ok := interface{}(m.GetSelector()).(clone.Cloner); ok { + target.Selector = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.Selector = proto.Clone(m.GetSelector()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + if h, ok := interface{}(m.GetPort()).(clone.Cloner); ok { + target.Port = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector) + } else { + target.Port = proto.Clone(m.GetPort()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector) + } + + if h, ok := interface{}(m.GetTlsTerminationPort()).(clone.Cloner); ok { + target.TlsTerminationPort = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector) + } else { + target.TlsTerminationPort = proto.Clone(m.GetTlsTerminationPort()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector) + } + + if m.GetHostInfoOverrides() != nil { + target.HostInfoOverrides = make([]*WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo, len(m.GetHostInfoOverrides())) + for idx, v := range m.GetHostInfoOverrides() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.HostInfoOverrides[idx] = h.Clone().(*WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) + } else { + target.HostInfoOverrides[idx] = proto.Clone(v).(*WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) + } + + } + } + + return target +} + +// Clone function +func (m *WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) Clone() proto.Message { + var target *WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo + if m == nil { + return target + } + target = &WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo{} + + target.Addr = m.GetAddr() + + target.Port = m.GetPort() + + return target +} diff --git a/client-go/admin.gloo.solo.io/v2/workspace_settings.pb.equal.go b/client-go/admin.gloo.solo.io/v2/workspace_settings.pb.equal.go new file mode 100644 index 000000000..b4cb31df1 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/workspace_settings.pb.equal.go @@ -0,0 +1,632 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/workspace_settings.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *WorkspaceSettingsSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceSettingsSpec) + if !ok { + that2, ok := that.(WorkspaceSettingsSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetImportFrom()) != len(target.GetImportFrom()) { + return false + } + for idx, v := range m.GetImportFrom() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetImportFrom()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetImportFrom()[idx]) { + return false + } + } + + } + + if len(m.GetExportTo()) != len(target.GetExportTo()) { + return false + } + for idx, v := range m.GetExportTo() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetExportTo()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetExportTo()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetOptions()) { + return false + } + } else { + if !proto.Equal(m.GetOptions(), target.GetOptions()) { + return false + } + } + + return true +} + +// Equal function +func (m *WorkspaceSettingsStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceSettingsStatus) + if !ok { + that2, ok := that.(WorkspaceSettingsStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if h, ok := interface{}(m.GetWorkspace()).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspace()) { + return false + } + } else { + if !proto.Equal(m.GetWorkspace(), target.GetWorkspace()) { + return false + } + } + + if m.GetNumSelectedEastWestGateways() != target.GetNumSelectedEastWestGateways() { + return false + } + + if m.GetNumFederatedServices() != target.GetNumFederatedServices() { + return false + } + + return true +} + +// Equal function +func (m *WorkspaceSettingsReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceSettingsReport) + if !ok { + that2, ok := that.(WorkspaceSettingsReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetWorkspace()).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspace()) { + return false + } + } else { + if !proto.Equal(m.GetWorkspace(), target.GetWorkspace()) { + return false + } + } + + if len(m.GetSelectedEastWestGateways()) != len(target.GetSelectedEastWestGateways()) { + return false + } + for idx, v := range m.GetSelectedEastWestGateways() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedEastWestGateways()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedEastWestGateways()[idx]) { + return false + } + } + + } + + if len(m.GetFederatedServices()) != len(target.GetFederatedServices()) { + return false + } + for idx, v := range m.GetFederatedServices() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetFederatedServices()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetFederatedServices()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *WorkspaceSettingsSpec_WorkspaceObjectSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceSettingsSpec_WorkspaceObjectSelector) + if !ok { + that2, ok := that.(WorkspaceSettingsSpec_WorkspaceObjectSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for idx, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[idx]) { + return false + } + } + + } + + if len(m.GetResources()) != len(target.GetResources()) { + return false + } + for idx, v := range m.GetResources() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetResources()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetResources()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *WorkspaceSettingsSpec_Options) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceSettingsSpec_Options) + if !ok { + that2, ok := that.(WorkspaceSettingsSpec_Options) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetServiceIsolation()).(equality.Equalizer); ok { + if !h.Equal(target.GetServiceIsolation()) { + return false + } + } else { + if !proto.Equal(m.GetServiceIsolation(), target.GetServiceIsolation()) { + return false + } + } + + if h, ok := interface{}(m.GetFederation()).(equality.Equalizer); ok { + if !h.Equal(target.GetFederation()) { + return false + } + } else { + if !proto.Equal(m.GetFederation(), target.GetFederation()) { + return false + } + } + + if len(m.GetEastWestGateways()) != len(target.GetEastWestGateways()) { + return false + } + for idx, v := range m.GetEastWestGateways() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetEastWestGateways()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetEastWestGateways()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetVirtualDestClientMode()).(equality.Equalizer); ok { + if !h.Equal(target.GetVirtualDestClientMode()) { + return false + } + } else { + if !proto.Equal(m.GetVirtualDestClientMode(), target.GetVirtualDestClientMode()) { + return false + } + } + + if m.GetTrimAllProxyConfig() != target.GetTrimAllProxyConfig() { + return false + } + + return true +} + +// Equal function +func (m *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) + if !ok { + that2, ok := that.(WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetKind() != target.GetKind() { + return false + } + + if len(m.GetLabels()) != len(target.GetLabels()) { + return false + } + for k, v := range m.GetLabels() { + + if strings.Compare(v, target.GetLabels()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetCluster(), target.GetCluster()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *WorkspaceSettingsSpec_Options_ServiceIsolation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceSettingsSpec_Options_ServiceIsolation) + if !ok { + that2, ok := that.(WorkspaceSettingsSpec_Options_ServiceIsolation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetEnabled() != target.GetEnabled() { + return false + } + + if h, ok := interface{}(m.GetTrimProxyConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetTrimProxyConfig()) { + return false + } + } else { + if !proto.Equal(m.GetTrimProxyConfig(), target.GetTrimProxyConfig()) { + return false + } + } + + if h, ok := interface{}(m.GetEnforcementLayers()).(equality.Equalizer); ok { + if !h.Equal(target.GetEnforcementLayers()) { + return false + } + } else { + if !proto.Equal(m.GetEnforcementLayers(), target.GetEnforcementLayers()) { + return false + } + } + + return true +} + +// Equal function +func (m *WorkspaceSettingsSpec_Options_Federation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceSettingsSpec_Options_Federation) + if !ok { + that2, ok := that.(WorkspaceSettingsSpec_Options_Federation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetEnabled() != target.GetEnabled() { + return false + } + + if strings.Compare(m.GetHostSuffix(), target.GetHostSuffix()) != 0 { + return false + } + + if len(m.GetServiceSelector()) != len(target.GetServiceSelector()) { + return false + } + for idx, v := range m.GetServiceSelector() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetServiceSelector()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetServiceSelector()[idx]) { + return false + } + } + + } + + if len(m.GetPorts()) != len(target.GetPorts()) { + return false + } + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPorts()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *WorkspaceSettingsSpec_Options_EastWestGatewaySelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceSettingsSpec_Options_EastWestGatewaySelector) + if !ok { + that2, ok := that.(WorkspaceSettingsSpec_Options_EastWestGatewaySelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetSelector()) { + return false + } + } else { + if !proto.Equal(m.GetSelector(), target.GetSelector()) { + return false + } + } + + if h, ok := interface{}(m.GetPort()).(equality.Equalizer); ok { + if !h.Equal(target.GetPort()) { + return false + } + } else { + if !proto.Equal(m.GetPort(), target.GetPort()) { + return false + } + } + + if h, ok := interface{}(m.GetTlsTerminationPort()).(equality.Equalizer); ok { + if !h.Equal(target.GetTlsTerminationPort()) { + return false + } + } else { + if !proto.Equal(m.GetTlsTerminationPort(), target.GetTlsTerminationPort()) { + return false + } + } + + if len(m.GetHostInfoOverrides()) != len(target.GetHostInfoOverrides()) { + return false + } + for idx, v := range m.GetHostInfoOverrides() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetHostInfoOverrides()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetHostInfoOverrides()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) + if !ok { + that2, ok := that.(WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetAddr(), target.GetAddr()) != 0 { + return false + } + + if m.GetPort() != target.GetPort() { + return false + } + + return true +} diff --git a/client-go/admin.gloo.solo.io/v2/workspace_settings.pb.go b/client-go/admin.gloo.solo.io/v2/workspace_settings.pb.go new file mode 100644 index 000000000..84413fc1a --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/workspace_settings.pb.go @@ -0,0 +1,1499 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/workspace_settings.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind int32 + +const ( + // Select objects of all types. + WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ALL WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind = 0 + // Select RouteTable objects. + WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ROUTE_TABLE WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind = 1 + // Select Service objects. + WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_SERVICE WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind = 2 + // Select VirtualDestination objects. + WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_VIRTUAL_DESTINATION WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind = 3 + // Select ExternalService objects. + WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_EXTERNAL_SERVICE WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind = 4 + // Select ApiDoc objects. Please note that explicit import/export + // is only necessary for GraphQL ApiDocs that are referenced in + // graphql routes. ApiDocs that are used only in the context of the + // portal features (currently only OpenAPI ones) are implicitly + // imported/exported together with their corresponding destination, + // i.e. if a destination (e.g. a service) is visible to a RouteTable, + // the ApiDoc associated with it will be available when the RouteTable + // is referenced in a Portal. + WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_API_DOC WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind = 5 + // Select GraphQLResolverMap objects. + WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_GRAPHQL_RESOLVER_MAP WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind = 6 + // Select GraphQLSchema objects. + WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_GRAPHQL_SCHEMA WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind = 7 + // Select GraphQLStitchedSchema objects. + WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_GRAPHQL_STITCHED_SCHEMA WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind = 8 + // Select ExternalWorkload objects. + WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_EXTERNAL_WORKLOAD WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind = 9 +) + +// Enum value maps for WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind. +var ( + WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind_name = map[int32]string{ + 0: "ALL", + 1: "ROUTE_TABLE", + 2: "SERVICE", + 3: "VIRTUAL_DESTINATION", + 4: "EXTERNAL_SERVICE", + 5: "API_DOC", + 6: "GRAPHQL_RESOLVER_MAP", + 7: "GRAPHQL_SCHEMA", + 8: "GRAPHQL_STITCHED_SCHEMA", + 9: "EXTERNAL_WORKLOAD", + } + WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind_value = map[string]int32{ + "ALL": 0, + "ROUTE_TABLE": 1, + "SERVICE": 2, + "VIRTUAL_DESTINATION": 3, + "EXTERNAL_SERVICE": 4, + "API_DOC": 5, + "GRAPHQL_RESOLVER_MAP": 6, + "GRAPHQL_SCHEMA": 7, + "GRAPHQL_STITCHED_SCHEMA": 8, + "EXTERNAL_WORKLOAD": 9, + } +) + +func (x WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind) Enum() *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind { + p := new(WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind) + *p = x + return p +} + +func (x WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_enumTypes[0].Descriptor() +} + +func (WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_enumTypes[0] +} + +func (x WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind.Descriptor instead. +func (WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescGZIP(), []int{0, 0, 0, 0} +} + +// `WorkspaceSettings` define a set of workspace-wide parameters such as `importFrom` and `exportTo` for the workspace. +// These settings are commonly defined by the workspace admin. There are 3 key configurations related to `WorkspaceSettings`: +// +// - importFrom: To import resources from another workspace to your workspace, configure the +// `importFrom` field in the `WorkspaceSettings` resource for your workspace. +// +// - exportTo: To export resources in your workspace to other workspaces, configure the `exportTo` +// field in the `WorkspaceSettings` resource for your workspace. +// +// - options: Configure service isolation, federation, proxy trimming and other options for the workspace. +// +// You can specify your workspace's `importFrom` or `exportTo` or other workspace configuration options in your +// `WorkspaceSettings` resource for your workspace. Only one `WorkspaceSettings` resource can be defined for +// each workspace. The resource can be deployed to any of your workspace's namespaces in your workload cluster(s). +// +// Export: +// Only the resources below can be exported to other workspaces: +// - Kubernetes Service +// - VirtualDestination +// - ExternalService +// - RouteTable +// - ApiDoc +// - GraphQLResolverMap +// - GraphQLSchema +// - GraphQLStitchedSchema +// +// You can use the `exportTo` field in the `WorkspaceSettings` resource for the workspace to configure what resources +// are exported to which other workspaces. For example, the `web` application developer can export the RouteTable resource +// from the `web` workspace to an admin-owned gateway workspace. +// +// The following workspace example defines the `backend` workspace. The workspace settings example +// exports the `backend` workspace to any workspaces that matches the label `team: web`. +// In addition, all exported resources from the `backend` workspace are made available +// for any workspace that has the label `team: web` to import. +// +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Workspace +// metadata: +// +// name: backend +// namespace: gloo-mesh +// labels: +// team: backend +// +// spec: +// +// workloadClusters: +// - namespaces: +// - name: backend* +// +// --- +// apiVersion: admin.gloo.solo.io/v2 +// kind: WorkspaceSettings +// metadata: +// +// name: default +// namespace: backend-namespace +// +// spec: +// +// exportTo: +// - workspaces: +// - selector: +// team: web +// +// ``` +// +// Import: +// To import exported resources from other workspaces, configure the `importFrom` field in +// the `WorkspaceSettings` resource for your workspace. +// +// For example, by importing the `web` workspace, the admin-owned gateway workspace can delegate routing for a subset +// of the gateway traffic to a RouteTable resource in the `web` workspace. +// +// The following workspace defines the `web` workspace. The workspace settings example imports +// the exported resources from the `backend` workspace into the `web` workspace. The exported resources from the +// `backend` workspace is available to the `web` workspace for imports because the `web` workspace +// has the `team:web` label. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: Workspace +// metadata: +// +// name: web +// namespace: gloo-mesh +// labels: +// team: web +// +// spec: +// +// workloadClusters: +// - namespaces: +// - name: web* +// +// --- +// apiVersion: admin.gloo.solo.io/v2 +// kind: WorkspaceSettings +// metadata: +// +// name: default +// namespace: web-namespace +// +// spec: +// +// importFrom: +// - workspaces: +// - name: backend +// +// ``` +// +// The following example imports any workspaces that are available for the `web` workspace to import and +// has the `team: backend` label into the `web` workspace. After this is deployed +// in the `web-namepsace` namespace of a given workload cluster that are part of the workspace, +// all exported resources from the `backend` workspaces which has the label `team: backend` +// are imported into the `web` workspace and available for use by anything in the `web` workspace. +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: WorkspaceSettings +// metadata: +// +// name: default +// namespace: web-namepsace +// +// spec: +// +// importFrom: +// - workspaces: +// - selector: +// team: backend +// +// ``` +// +// To create global workspace settings that apply to all namespaces in all clusters, you can create a +// WorkspaceSettings resource named `global` in the admin namespace, which is typically `gloo-mesh`. +// If you have multiple workspaces, you must still create one WorkspaceSettings resource per workspaces. +// However, global workspace settings override settings defined in individual workspaces. +type WorkspaceSettingsSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the workspaces whose objects will be imported into this workspace. + // Objects must both be exported by the workspace that is being imported and imported into this workspace in order to be shared across workspaces. + // Imported objects allow the creation of routes and outbound-communication from one workspace to another. + // Currently the following types of objects can be imported across workspaces: Kubernetes services, virtual destinations, external destinations, route tables, + // API schemas, and GraphQL resolver maps. + // You can select workspace using labels, such as setting `importFrom.workspaces.selector` to `team: backend`. + // Or select workspace name using exact name match, such as setting `importFrom.workspaces.name` to `backend`. + // Or select workspace using labels and name using simple regex, such as setting `importFrom.workspaces.selector` to `team: backend` and `importFrom.workspaces.name` to `backend*`. + ImportFrom []*WorkspaceSettingsSpec_WorkspaceObjectSelector `protobuf:"bytes,1,rep,name=importFrom,proto3" json:"importFrom,omitempty"` + // A workspace can specify resources to export for use by other workspaces. + // Currently the following types of objects can be exported across workspaces: Kubernetes services, virtual destinations, external destinations, route tables, + // API schemas, and GraphQL resolver maps. + // You can select workspace using labels, such as setting `exportTo.workspaces.selector` to `team: backend`. + // Or select workspace name using exact name match, such as setting `exportTo.workspaces.name` to `backend`. + // Or exportTo all other workspaces, such as setting `exportTo.workspaces.name` to `*`. + // Or select workspace using labels and name using simple regex, such as setting `exportTo.workspaces.selector` to `team: backend` and `team: backend*`. + // Or select workspace name using labels or select name using simple regex, such as setting `exportTo.workspaces.selector` to `team: backend` and `exportTo.workspaces.name` to `backend`. + ExportTo []*WorkspaceSettingsSpec_WorkspaceObjectSelector `protobuf:"bytes,2,rep,name=exportTo,proto3" json:"exportTo,omitempty"` + // Options for configuring the workspace as a whole. + Options *WorkspaceSettingsSpec_Options `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"` +} + +func (x *WorkspaceSettingsSpec) Reset() { + *x = WorkspaceSettingsSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceSettingsSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceSettingsSpec) ProtoMessage() {} + +func (x *WorkspaceSettingsSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceSettingsSpec.ProtoReflect.Descriptor instead. +func (*WorkspaceSettingsSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkspaceSettingsSpec) GetImportFrom() []*WorkspaceSettingsSpec_WorkspaceObjectSelector { + if x != nil { + return x.ImportFrom + } + return nil +} + +func (x *WorkspaceSettingsSpec) GetExportTo() []*WorkspaceSettingsSpec_WorkspaceObjectSelector { + if x != nil { + return x.ExportTo + } + return nil +} + +func (x *WorkspaceSettingsSpec) GetOptions() *WorkspaceSettingsSpec_Options { + if x != nil { + return x.Options + } + return nil +} + +type WorkspaceSettingsStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The workspace that this workspacesettings object configures. + Workspace *v2.ObjectReference `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` + // The number of selected east-west gateways determined by the EastWestGatewaySelector. + NumSelectedEastWestGateways uint32 `protobuf:"varint,3,opt,name=num_selected_east_west_gateways,json=numSelectedEastWestGateways,proto3" json:"num_selected_east_west_gateways,omitempty"` + // The number of services federated to this workspace, determined by the workspace settings configuration. + NumFederatedServices uint32 `protobuf:"varint,4,opt,name=num_federated_services,json=numFederatedServices,proto3" json:"num_federated_services,omitempty"` +} + +func (x *WorkspaceSettingsStatus) Reset() { + *x = WorkspaceSettingsStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceSettingsStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceSettingsStatus) ProtoMessage() {} + +func (x *WorkspaceSettingsStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceSettingsStatus.ProtoReflect.Descriptor instead. +func (*WorkspaceSettingsStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescGZIP(), []int{1} +} + +func (x *WorkspaceSettingsStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *WorkspaceSettingsStatus) GetWorkspace() *v2.ObjectReference { + if x != nil { + return x.Workspace + } + return nil +} + +func (x *WorkspaceSettingsStatus) GetNumSelectedEastWestGateways() uint32 { + if x != nil { + return x.NumSelectedEastWestGateways + } + return 0 +} + +func (x *WorkspaceSettingsStatus) GetNumFederatedServices() uint32 { + if x != nil { + return x.NumFederatedServices + } + return 0 +} + +type WorkspaceSettingsReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The workspace that this workspacesettings object configures. + Workspace *v2.ObjectReference `protobuf:"bytes,2,opt,name=workspace,proto3" json:"workspace,omitempty"` + // A list of selected east-west gateways determined by the EastWestGatewaySelector. + // The GVK of selected_east_west_gateways is DiscoveredGateway. + SelectedEastWestGateways []*v2.ObjectReference `protobuf:"bytes,3,rep,name=selected_east_west_gateways,json=selectedEastWestGateways,proto3" json:"selected_east_west_gateways,omitempty"` + // A list of services federated to this workspace, determined by the workspace settings configuration. + // The GVK of federated_services is core/v1/Service. + FederatedServices []*v2.ObjectReference `protobuf:"bytes,4,rep,name=federated_services,json=federatedServices,proto3" json:"federated_services,omitempty"` +} + +func (x *WorkspaceSettingsReport) Reset() { + *x = WorkspaceSettingsReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceSettingsReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceSettingsReport) ProtoMessage() {} + +func (x *WorkspaceSettingsReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceSettingsReport.ProtoReflect.Descriptor instead. +func (*WorkspaceSettingsReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescGZIP(), []int{2} +} + +func (x *WorkspaceSettingsReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *WorkspaceSettingsReport) GetWorkspace() *v2.ObjectReference { + if x != nil { + return x.Workspace + } + return nil +} + +func (x *WorkspaceSettingsReport) GetSelectedEastWestGateways() []*v2.ObjectReference { + if x != nil { + return x.SelectedEastWestGateways + } + return nil +} + +func (x *WorkspaceSettingsReport) GetFederatedServices() []*v2.ObjectReference { + if x != nil { + return x.FederatedServices + } + return nil +} + +// Select a set of resources from a set of workspaces for import or export. +type WorkspaceSettingsSpec_WorkspaceObjectSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // the workspaces with the resources to export to or import. + Workspaces []*v2.WorkspaceSelector `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty"` + // the resources (and types of those resources) which will be imported from or exported to the selected workspaces. + Resources []*WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"` +} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector) Reset() { + *x = WorkspaceSettingsSpec_WorkspaceObjectSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceSettingsSpec_WorkspaceObjectSelector) ProtoMessage() {} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceSettingsSpec_WorkspaceObjectSelector.ProtoReflect.Descriptor instead. +func (*WorkspaceSettingsSpec_WorkspaceObjectSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector) GetWorkspaces() []*v2.WorkspaceSelector { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector) GetResources() []*WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector { + if x != nil { + return x.Resources + } + return nil +} + +type WorkspaceSettingsSpec_Options struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If Enabled, serviceIsolation will automatically block communication from non-importing workspaces into this one, enforced using mTLS. + // Applying AccessPolicies to destinations in this workspace will override the default service isolation behavior. + ServiceIsolation *WorkspaceSettingsSpec_Options_ServiceIsolation `protobuf:"bytes,1,opt,name=service_isolation,json=serviceIsolation,proto3" json:"service_isolation,omitempty"` + // Federation is a feature which allows Kubernetes Services to directly communicate with each other across clusters + // using generated hostnames. When enabled, federation will generate a hostname for each Service selected, which is + // reachable by all network clients in the workspace. + // Federation allows routes to be created in RouteTables which forward traffic across clusters. These routes will otherwise + // be treated by Gloo Mesh as errors. + Federation *WorkspaceSettingsSpec_Options_Federation `protobuf:"bytes,2,opt,name=federation,proto3" json:"federation,omitempty"` + // Selects the eastwest gateways in a workspace. These options are used to select which gateways + // should be used to route East-West traffic. This traffic can be either passthrough TLS or terminated at the + // EastWest Gateway. A different port is expected in each case. The `virtual_dest_client_mode` field provides additional + // information related to this traffic. + // If no gateways are selected, an attempt will be made to match any service with the label `"istio": "eastwestgateway"` + // with ports named either "tls" or "https". The selection will fail with an error if the label exists but neither of the + // ports are defined. + EastWestGateways []*WorkspaceSettingsSpec_Options_EastWestGatewaySelector `protobuf:"bytes,3,rep,name=east_west_gateways,json=eastWestGateways,proto3" json:"east_west_gateways,omitempty"` + // Optional: Virtual destination client mode determines how VirtualDestinations will be translated. + // If nil, the default value of auto mode will be used. Any configuration here can be overriden + // on any individual virtual destination. The settings defined here apply to both user-provided + // VirtualDestinations and those generated internally when federation is enabled. + VirtualDestClientMode *v2.ClientMode `protobuf:"bytes,4,opt,name=virtual_dest_client_mode,json=virtualDestClientMode,proto3" json:"virtual_dest_client_mode,omitempty"` + // When enabled, trim all proxy config in the workspace to eliminate outbound destinations. + // Without the outbound destination config, the Istio sidecar proxies cannot talk to other destinations in the workspace by default. + // You can add back in the proxy config for all destinations within or imported to the workspace by enabling the `serviceIsolation.trimProxyConfig` setting. + // To select specific destinations that you want the sidecar proxies to talk to, add these destinations with a `TrimProxyConfigPolicy`. + // This way, you reduce the size of the proxy config to improve performance and have fine-grained control over the allowed destinations. + TrimAllProxyConfig bool `protobuf:"varint,5,opt,name=trim_all_proxy_config,json=trimAllProxyConfig,proto3" json:"trim_all_proxy_config,omitempty"` +} + +func (x *WorkspaceSettingsSpec_Options) Reset() { + *x = WorkspaceSettingsSpec_Options{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceSettingsSpec_Options) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceSettingsSpec_Options) ProtoMessage() {} + +func (x *WorkspaceSettingsSpec_Options) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceSettingsSpec_Options.ProtoReflect.Descriptor instead. +func (*WorkspaceSettingsSpec_Options) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *WorkspaceSettingsSpec_Options) GetServiceIsolation() *WorkspaceSettingsSpec_Options_ServiceIsolation { + if x != nil { + return x.ServiceIsolation + } + return nil +} + +func (x *WorkspaceSettingsSpec_Options) GetFederation() *WorkspaceSettingsSpec_Options_Federation { + if x != nil { + return x.Federation + } + return nil +} + +func (x *WorkspaceSettingsSpec_Options) GetEastWestGateways() []*WorkspaceSettingsSpec_Options_EastWestGatewaySelector { + if x != nil { + return x.EastWestGateways + } + return nil +} + +func (x *WorkspaceSettingsSpec_Options) GetVirtualDestClientMode() *v2.ClientMode { + if x != nil { + return x.VirtualDestClientMode + } + return nil +} + +func (x *WorkspaceSettingsSpec_Options) GetTrimAllProxyConfig() bool { + if x != nil { + return x.TrimAllProxyConfig + } + return false +} + +// selects objects of various types +type WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of the resource to import or export. + // The type must be a valid importable/exportable Kubernetes or Gloo Mesh resource type. + // Supported types: `RouteTable`, `Service`, `VirtualDestination`, `ExternalService`, `ApiDoc`, `GraphQLResolverMap`, `GraphQLSchema`, `GraphQLStitchedSchema`, `All` (all types). + Kind WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind `protobuf:"varint,1,opt,name=kind,proto3,enum=admin.gloo.solo.io.WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind" json:"kind,omitempty"` + // labels matching those of the object + Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Only select objects exactly matching the name. If omitted, Gloo selects + // matching objects with any name available in the workspace. + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // Only select objects exactly matching the namespace. If omitted, Gloo selects + // matching objects across all namespaces available in the workspace. + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Only select objects in the exactly matching cluster. If omitted, Gloo selects + // matching objects across all clusters available in the workspace. + Cluster string `protobuf:"bytes,5,opt,name=cluster,proto3" json:"cluster,omitempty"` +} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) Reset() { + *x = WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) ProtoMessage() {} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector.ProtoReflect.Descriptor instead. +func (*WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) GetKind() WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind { + if x != nil { + return x.Kind + } + return WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ALL +} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) GetCluster() string { + if x != nil { + return x.Cluster + } + return "" +} + +type WorkspaceSettingsSpec_Options_ServiceIsolation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Automatically enables strict mTLS and blocks any access from non-importing workspaces into any destination in the current workspaces. + // Default value is disabled. + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // When enabled, proxy config will be trimmed to eliminate unnecessary config updates. + // In Istio this will be implemented using the Sidecar resource. + TrimProxyConfig *wrappers.BoolValue `protobuf:"bytes,2,opt,name=trim_proxy_config,json=trimProxyConfig,proto3" json:"trim_proxy_config,omitempty"` + // Optional: When NetworkPolicy translation is enabled, by default, all available layers will be used to enforce Service Isolation. + // You can optionally explicitly define which available layers will enforce Service Isolation. Only the layers set here will be used. + EnforcementLayers *v2.EnforcementLayers `protobuf:"bytes,3,opt,name=enforcement_layers,json=enforcementLayers,proto3" json:"enforcement_layers,omitempty"` +} + +func (x *WorkspaceSettingsSpec_Options_ServiceIsolation) Reset() { + *x = WorkspaceSettingsSpec_Options_ServiceIsolation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceSettingsSpec_Options_ServiceIsolation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceSettingsSpec_Options_ServiceIsolation) ProtoMessage() {} + +func (x *WorkspaceSettingsSpec_Options_ServiceIsolation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceSettingsSpec_Options_ServiceIsolation.ProtoReflect.Descriptor instead. +func (*WorkspaceSettingsSpec_Options_ServiceIsolation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescGZIP(), []int{0, 1, 0} +} + +func (x *WorkspaceSettingsSpec_Options_ServiceIsolation) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *WorkspaceSettingsSpec_Options_ServiceIsolation) GetTrimProxyConfig() *wrappers.BoolValue { + if x != nil { + return x.TrimProxyConfig + } + return nil +} + +func (x *WorkspaceSettingsSpec_Options_ServiceIsolation) GetEnforcementLayers() *v2.EnforcementLayers { + if x != nil { + return x.EnforcementLayers + } + return nil +} + +type WorkspaceSettingsSpec_Options_Federation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Enables the federation feature for selected Kubernetes services in the workspace. + // Default value is disabled. + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // Optional: The suffix used for generated hostnames. Hostnames will be generated for each selected service in the format `{{ service name }}.{{ service namespace }}.{{ service cluster }}.{{ host suffix }}`. + HostSuffix string `protobuf:"bytes,2,opt,name=host_suffix,json=hostSuffix,proto3" json:"host_suffix,omitempty"` + // Selector for the K8s services that will be exposed to cross-cluster traffic within the Workspace. + // Federated hostnames will be generated for selected imported services. + ServiceSelector []*v2.ObjectSelector `protobuf:"bytes,3,rep,name=service_selector,json=serviceSelector,proto3" json:"service_selector,omitempty"` + // if provided, expose only selected ports to cross-cluster traffic. + Ports []*v2.PortSelector `protobuf:"bytes,4,rep,name=ports,proto3" json:"ports,omitempty"` +} + +func (x *WorkspaceSettingsSpec_Options_Federation) Reset() { + *x = WorkspaceSettingsSpec_Options_Federation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceSettingsSpec_Options_Federation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceSettingsSpec_Options_Federation) ProtoMessage() {} + +func (x *WorkspaceSettingsSpec_Options_Federation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceSettingsSpec_Options_Federation.ProtoReflect.Descriptor instead. +func (*WorkspaceSettingsSpec_Options_Federation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescGZIP(), []int{0, 1, 1} +} + +func (x *WorkspaceSettingsSpec_Options_Federation) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *WorkspaceSettingsSpec_Options_Federation) GetHostSuffix() string { + if x != nil { + return x.HostSuffix + } + return "" +} + +func (x *WorkspaceSettingsSpec_Options_Federation) GetServiceSelector() []*v2.ObjectSelector { + if x != nil { + return x.ServiceSelector + } + return nil +} + +func (x *WorkspaceSettingsSpec_Options_Federation) GetPorts() []*v2.PortSelector { + if x != nil { + return x.Ports + } + return nil +} + +type WorkspaceSettingsSpec_Options_EastWestGatewaySelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Evaluated against the discovered Istio gateway services. + // When this field is blank, gateway services will be matched using the default labels described + // on the `east_west_gateways` field. + Selector *v2.ObjectSelector `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"` + // Used to match tls port on gateway service. + // Traffic on this port will be used for passthrough TLS, as described on the `virtual_dest_client_mode` field. + // Default matches ports named "tls". + // Matching is done by both the port name as well as the port number. + // A match is required for either `port` or `tls_termination_port`, otherwise an error will be reported. + Port *v2.PortSelector `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` + // Used to match tls termination port on gateway service. + // Traffic on this port will be used for TLS-terminated traffic, as described on the `virtual_dest_client_mode` field. + // Default matches ports named "https". + // Matching is done by both the port name as well as the port number. + // A match is required for either `port` or `tls_termination_port`, otherwise an error will be reported. + TlsTerminationPort *v2.PortSelector `protobuf:"bytes,4,opt,name=tls_termination_port,json=tlsTerminationPort,proto3" json:"tls_termination_port,omitempty"` + // Host information for an east-west gateway. Can be used to specify a set of routable + // destinations that proxy traffic back to the east-west gateway selected + // by the selector. Useful when a load balancer external to the mesh is being + // used. When using this feature, be careful to ensure that the selectors are + // granular enough to ensure that the correct HostInfo is mapped to the proper gateway. + HostInfoOverrides []*WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo `protobuf:"bytes,3,rep,name=host_info_overrides,json=hostInfoOverrides,proto3" json:"host_info_overrides,omitempty"` +} + +func (x *WorkspaceSettingsSpec_Options_EastWestGatewaySelector) Reset() { + *x = WorkspaceSettingsSpec_Options_EastWestGatewaySelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceSettingsSpec_Options_EastWestGatewaySelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceSettingsSpec_Options_EastWestGatewaySelector) ProtoMessage() {} + +func (x *WorkspaceSettingsSpec_Options_EastWestGatewaySelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceSettingsSpec_Options_EastWestGatewaySelector.ProtoReflect.Descriptor instead. +func (*WorkspaceSettingsSpec_Options_EastWestGatewaySelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescGZIP(), []int{0, 1, 2} +} + +func (x *WorkspaceSettingsSpec_Options_EastWestGatewaySelector) GetSelector() *v2.ObjectSelector { + if x != nil { + return x.Selector + } + return nil +} + +func (x *WorkspaceSettingsSpec_Options_EastWestGatewaySelector) GetPort() *v2.PortSelector { + if x != nil { + return x.Port + } + return nil +} + +func (x *WorkspaceSettingsSpec_Options_EastWestGatewaySelector) GetTlsTerminationPort() *v2.PortSelector { + if x != nil { + return x.TlsTerminationPort + } + return nil +} + +func (x *WorkspaceSettingsSpec_Options_EastWestGatewaySelector) GetHostInfoOverrides() []*WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo { + if x != nil { + return x.HostInfoOverrides + } + return nil +} + +// Specify Host Info to override discovered routing information for an east-west gateway. +type WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Address to be used to direct traffic to instead of the default gateway discovered address. + // Can be an IP address or hostname. + Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` + // Port to be used to direct traffic to instead of the default gateway discovered port. + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) Reset() { + *x = WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) ProtoMessage() {} + +func (x *WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo.ProtoReflect.Descriptor instead. +func (*WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescGZIP(), []int{0, 1, 2, 0} +} + +func (x *WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) GetAddr() string { + if x != nil { + return x.Addr + } + return "" +} + +func (x *WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) GetPort() uint32 { + if x != nil { + return x.Port + } + return 0 +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDesc = []byte{ + 0x0a, 0x5a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x6d, + 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x87, 0x13, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x61, 0x0a, 0x0a, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x5d, 0x0a, 0x08, + 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x6f, 0x12, 0x4b, 0x0a, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xba, 0x06, 0x0a, 0x17, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x73, 0x0a, 0x09, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x55, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x1a, 0xe1, 0x04, 0x0a, 0x13, 0x54, 0x79, 0x70, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x74, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x60, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, + 0x79, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x61, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xd1, 0x01, 0x0a, 0x0a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x69, 0x6e, 0x64, + 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, + 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, + 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x49, 0x52, 0x54, 0x55, + 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, + 0x12, 0x14, 0x0a, 0x10, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, + 0x56, 0x49, 0x43, 0x45, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x50, 0x49, 0x5f, 0x44, 0x4f, + 0x43, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x52, 0x41, 0x50, 0x48, 0x51, 0x4c, 0x5f, 0x52, + 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x06, 0x12, 0x12, 0x0a, + 0x0e, 0x47, 0x52, 0x41, 0x50, 0x48, 0x51, 0x4c, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, + 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x52, 0x41, 0x50, 0x48, 0x51, 0x4c, 0x5f, 0x53, 0x54, 0x49, + 0x54, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x08, 0x12, 0x15, + 0x0a, 0x11, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x4c, + 0x4f, 0x41, 0x44, 0x10, 0x09, 0x1a, 0xa1, 0x0a, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x6f, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x73, 0x6f, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x0a, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x77, 0x0a, 0x12, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x65, 0x73, 0x74, 0x5f, 0x67, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x45, 0x61, 0x73, 0x74, 0x57, 0x65, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x65, 0x61, 0x73, 0x74, 0x57, 0x65, 0x73, + 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x58, 0x0a, 0x18, 0x76, 0x69, 0x72, + 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x15, 0x76, 0x69, + 0x72, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x72, 0x69, 0x6d, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x12, 0x74, 0x72, 0x69, 0x6d, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xcb, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x6d, 0x5f, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x74, 0x72, + 0x69, 0x6d, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, + 0x12, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, + 0x73, 0x52, 0x11, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, + 0x79, 0x65, 0x72, 0x73, 0x1a, 0xd0, 0x01, 0x0a, 0x0a, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x4e, + 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x37, + 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0x9f, 0x03, 0x0a, 0x17, 0x45, 0x61, 0x73, 0x74, + 0x57, 0x65, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x53, 0x0a, 0x14, 0x74, + 0x6c, 0x73, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x12, 0x74, 0x6c, + 0x73, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x82, 0x01, 0x0a, 0x13, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x52, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x45, 0x61, 0x73, 0x74, 0x57, 0x65, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x11, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x73, 0x1a, 0x32, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x17, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x09, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x44, + 0x0a, 0x1f, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x65, + 0x61, 0x73, 0x74, 0x5f, 0x77, 0x65, 0x73, 0x74, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x45, 0x61, 0x73, 0x74, 0x57, 0x65, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x65, 0x64, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6e, 0x75, 0x6d, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0xd0, 0x03, 0x0a, 0x17, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5b, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x63, 0x0a, 0x1b, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x65, 0x73, 0x74, 0x5f, 0x67, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x18, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x61, 0x73, 0x74, + 0x57, 0x65, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x53, 0x0a, 0x12, + 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, + 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x53, 0x5a, + 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, + 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_goTypes = []interface{}{ + (WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector_ObjectKind)(0), // 0: admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector.TypedObjectSelector.ObjectKind + (*WorkspaceSettingsSpec)(nil), // 1: admin.gloo.solo.io.WorkspaceSettingsSpec + (*WorkspaceSettingsStatus)(nil), // 2: admin.gloo.solo.io.WorkspaceSettingsStatus + (*WorkspaceSettingsReport)(nil), // 3: admin.gloo.solo.io.WorkspaceSettingsReport + (*WorkspaceSettingsSpec_WorkspaceObjectSelector)(nil), // 4: admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector + (*WorkspaceSettingsSpec_Options)(nil), // 5: admin.gloo.solo.io.WorkspaceSettingsSpec.Options + (*WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector)(nil), // 6: admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector.TypedObjectSelector + nil, // 7: admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector.TypedObjectSelector.LabelsEntry + (*WorkspaceSettingsSpec_Options_ServiceIsolation)(nil), // 8: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.ServiceIsolation + (*WorkspaceSettingsSpec_Options_Federation)(nil), // 9: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.Federation + (*WorkspaceSettingsSpec_Options_EastWestGatewaySelector)(nil), // 10: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.EastWestGatewaySelector + (*WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo)(nil), // 11: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.EastWestGatewaySelector.HostInfo + nil, // 12: admin.gloo.solo.io.WorkspaceSettingsReport.WorkspacesEntry + (*v2.Status)(nil), // 13: common.gloo.solo.io.Status + (*v2.ObjectReference)(nil), // 14: common.gloo.solo.io.ObjectReference + (*v2.WorkspaceSelector)(nil), // 15: common.gloo.solo.io.WorkspaceSelector + (*v2.ClientMode)(nil), // 16: common.gloo.solo.io.ClientMode + (*wrappers.BoolValue)(nil), // 17: google.protobuf.BoolValue + (*v2.EnforcementLayers)(nil), // 18: common.gloo.solo.io.EnforcementLayers + (*v2.ObjectSelector)(nil), // 19: common.gloo.solo.io.ObjectSelector + (*v2.PortSelector)(nil), // 20: common.gloo.solo.io.PortSelector + (*v2.Report)(nil), // 21: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_depIdxs = []int32{ + 4, // 0: admin.gloo.solo.io.WorkspaceSettingsSpec.importFrom:type_name -> admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector + 4, // 1: admin.gloo.solo.io.WorkspaceSettingsSpec.exportTo:type_name -> admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector + 5, // 2: admin.gloo.solo.io.WorkspaceSettingsSpec.options:type_name -> admin.gloo.solo.io.WorkspaceSettingsSpec.Options + 13, // 3: admin.gloo.solo.io.WorkspaceSettingsStatus.common:type_name -> common.gloo.solo.io.Status + 14, // 4: admin.gloo.solo.io.WorkspaceSettingsStatus.workspace:type_name -> common.gloo.solo.io.ObjectReference + 12, // 5: admin.gloo.solo.io.WorkspaceSettingsReport.workspaces:type_name -> admin.gloo.solo.io.WorkspaceSettingsReport.WorkspacesEntry + 14, // 6: admin.gloo.solo.io.WorkspaceSettingsReport.workspace:type_name -> common.gloo.solo.io.ObjectReference + 14, // 7: admin.gloo.solo.io.WorkspaceSettingsReport.selected_east_west_gateways:type_name -> common.gloo.solo.io.ObjectReference + 14, // 8: admin.gloo.solo.io.WorkspaceSettingsReport.federated_services:type_name -> common.gloo.solo.io.ObjectReference + 15, // 9: admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector.workspaces:type_name -> common.gloo.solo.io.WorkspaceSelector + 6, // 10: admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector.resources:type_name -> admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector.TypedObjectSelector + 8, // 11: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.service_isolation:type_name -> admin.gloo.solo.io.WorkspaceSettingsSpec.Options.ServiceIsolation + 9, // 12: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.federation:type_name -> admin.gloo.solo.io.WorkspaceSettingsSpec.Options.Federation + 10, // 13: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.east_west_gateways:type_name -> admin.gloo.solo.io.WorkspaceSettingsSpec.Options.EastWestGatewaySelector + 16, // 14: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.virtual_dest_client_mode:type_name -> common.gloo.solo.io.ClientMode + 0, // 15: admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector.TypedObjectSelector.kind:type_name -> admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector.TypedObjectSelector.ObjectKind + 7, // 16: admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector.TypedObjectSelector.labels:type_name -> admin.gloo.solo.io.WorkspaceSettingsSpec.WorkspaceObjectSelector.TypedObjectSelector.LabelsEntry + 17, // 17: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.ServiceIsolation.trim_proxy_config:type_name -> google.protobuf.BoolValue + 18, // 18: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.ServiceIsolation.enforcement_layers:type_name -> common.gloo.solo.io.EnforcementLayers + 19, // 19: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.Federation.service_selector:type_name -> common.gloo.solo.io.ObjectSelector + 20, // 20: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.Federation.ports:type_name -> common.gloo.solo.io.PortSelector + 19, // 21: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.EastWestGatewaySelector.selector:type_name -> common.gloo.solo.io.ObjectSelector + 20, // 22: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.EastWestGatewaySelector.port:type_name -> common.gloo.solo.io.PortSelector + 20, // 23: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.EastWestGatewaySelector.tls_termination_port:type_name -> common.gloo.solo.io.PortSelector + 11, // 24: admin.gloo.solo.io.WorkspaceSettingsSpec.Options.EastWestGatewaySelector.host_info_overrides:type_name -> admin.gloo.solo.io.WorkspaceSettingsSpec.Options.EastWestGatewaySelector.HostInfo + 21, // 25: admin.gloo.solo.io.WorkspaceSettingsReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 26, // [26:26] is the sub-list for method output_type + 26, // [26:26] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceSettingsSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceSettingsStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceSettingsReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceSettingsSpec_WorkspaceObjectSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceSettingsSpec_Options); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceSettingsSpec_Options_ServiceIsolation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceSettingsSpec_Options_Federation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceSettingsSpec_Options_EastWestGatewaySelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDesc, + NumEnums: 1, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2_workspace_settings_proto_depIdxs = nil +} diff --git a/client-go/admin.gloo.solo.io/v2/workspace_settings.pb.hash.go b/client-go/admin.gloo.solo.io/v2/workspace_settings.pb.hash.go new file mode 100644 index 000000000..514d10ca6 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/workspace_settings.pb.hash.go @@ -0,0 +1,783 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2/workspace_settings.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *WorkspaceSettingsSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceSettingsSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetImportFrom() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetExportTo() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceSettingsStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceSettingsStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetWorkspace()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Workspace")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetWorkspace(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Workspace")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedEastWestGateways()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumFederatedServices()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceSettingsReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceSettingsReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetWorkspace()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Workspace")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetWorkspace(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Workspace")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetSelectedEastWestGateways() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetFederatedServices() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceSettingsSpec_WorkspaceObjectSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceSettingsSpec_WorkspaceObjectSelector")); err != nil { + return 0, err + } + + for _, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetResources() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceSettingsSpec_Options) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceSettingsSpec_Options")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetServiceIsolation()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ServiceIsolation")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetServiceIsolation(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ServiceIsolation")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetFederation()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Federation")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetFederation(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Federation")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetEastWestGateways() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetVirtualDestClientMode()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("VirtualDestClientMode")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetVirtualDestClientMode(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("VirtualDestClientMode")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetTrimAllProxyConfig()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceSettingsSpec_WorkspaceObjectSelector_TypedObjectSelector")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetKind()) + if err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLabels() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCluster())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceSettingsSpec_Options_ServiceIsolation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceSettingsSpec_Options_ServiceIsolation")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetEnabled()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTrimProxyConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TrimProxyConfig")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTrimProxyConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TrimProxyConfig")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetEnforcementLayers()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("EnforcementLayers")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetEnforcementLayers(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("EnforcementLayers")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceSettingsSpec_Options_Federation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceSettingsSpec_Options_Federation")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetEnabled()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHostSuffix())); err != nil { + return 0, err + } + + for _, v := range m.GetServiceSelector() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceSettingsSpec_Options_EastWestGatewaySelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceSettingsSpec_Options_EastWestGatewaySelector")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTlsTerminationPort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TlsTerminationPort")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTlsTerminationPort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TlsTerminationPort")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetHostInfoOverrides() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2.WorkspaceSettingsSpec_Options_EastWestGatewaySelector_HostInfo")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAddr())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPort()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/admin.gloo.solo.io/v2/zz_generated.deepcopy.go b/client-go/admin.gloo.solo.io/v2/zz_generated.deepcopy.go new file mode 100644 index 000000000..8ee1dbeed --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2/zz_generated.deepcopy.go @@ -0,0 +1,609 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for admin.gloo.solo.io/v2 resources + +package v2 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for Workspace + +func (in *Workspace) DeepCopyInto(out *Workspace) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *Workspace) DeepCopy() *Workspace { + if in == nil { + return nil + } + out := new(Workspace) + in.DeepCopyInto(out) + return out +} + +func (in *Workspace) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *WorkspaceList) DeepCopyInto(out *WorkspaceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Workspace, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *WorkspaceList) DeepCopy() *WorkspaceList { + if in == nil { + return nil + } + out := new(WorkspaceList) + in.DeepCopyInto(out) + return out +} + +func (in *WorkspaceList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for WorkspaceSettings + +func (in *WorkspaceSettings) DeepCopyInto(out *WorkspaceSettings) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *WorkspaceSettings) DeepCopy() *WorkspaceSettings { + if in == nil { + return nil + } + out := new(WorkspaceSettings) + in.DeepCopyInto(out) + return out +} + +func (in *WorkspaceSettings) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *WorkspaceSettingsList) DeepCopyInto(out *WorkspaceSettingsList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WorkspaceSettings, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *WorkspaceSettingsList) DeepCopy() *WorkspaceSettingsList { + if in == nil { + return nil + } + out := new(WorkspaceSettingsList) + in.DeepCopyInto(out) + return out +} + +func (in *WorkspaceSettingsList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for KubernetesCluster + +func (in *KubernetesCluster) DeepCopyInto(out *KubernetesCluster) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *KubernetesCluster) DeepCopy() *KubernetesCluster { + if in == nil { + return nil + } + out := new(KubernetesCluster) + in.DeepCopyInto(out) + return out +} + +func (in *KubernetesCluster) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *KubernetesClusterList) DeepCopyInto(out *KubernetesClusterList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KubernetesCluster, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *KubernetesClusterList) DeepCopy() *KubernetesClusterList { + if in == nil { + return nil + } + out := new(KubernetesClusterList) + in.DeepCopyInto(out) + return out +} + +func (in *KubernetesClusterList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for RootTrustPolicy + +func (in *RootTrustPolicy) DeepCopyInto(out *RootTrustPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *RootTrustPolicy) DeepCopy() *RootTrustPolicy { + if in == nil { + return nil + } + out := new(RootTrustPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *RootTrustPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *RootTrustPolicyList) DeepCopyInto(out *RootTrustPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RootTrustPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *RootTrustPolicyList) DeepCopy() *RootTrustPolicyList { + if in == nil { + return nil + } + out := new(RootTrustPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *RootTrustPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for ExtAuthServer + +func (in *ExtAuthServer) DeepCopyInto(out *ExtAuthServer) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ExtAuthServer) DeepCopy() *ExtAuthServer { + if in == nil { + return nil + } + out := new(ExtAuthServer) + in.DeepCopyInto(out) + return out +} + +func (in *ExtAuthServer) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ExtAuthServerList) DeepCopyInto(out *ExtAuthServerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ExtAuthServer, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ExtAuthServerList) DeepCopy() *ExtAuthServerList { + if in == nil { + return nil + } + out := new(ExtAuthServerList) + in.DeepCopyInto(out) + return out +} + +func (in *ExtAuthServerList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for RateLimitServerSettings + +func (in *RateLimitServerSettings) DeepCopyInto(out *RateLimitServerSettings) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *RateLimitServerSettings) DeepCopy() *RateLimitServerSettings { + if in == nil { + return nil + } + out := new(RateLimitServerSettings) + in.DeepCopyInto(out) + return out +} + +func (in *RateLimitServerSettings) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *RateLimitServerSettingsList) DeepCopyInto(out *RateLimitServerSettingsList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RateLimitServerSettings, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *RateLimitServerSettingsList) DeepCopy() *RateLimitServerSettingsList { + if in == nil { + return nil + } + out := new(RateLimitServerSettingsList) + in.DeepCopyInto(out) + return out +} + +func (in *RateLimitServerSettingsList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for RateLimitServerConfig + +func (in *RateLimitServerConfig) DeepCopyInto(out *RateLimitServerConfig) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *RateLimitServerConfig) DeepCopy() *RateLimitServerConfig { + if in == nil { + return nil + } + out := new(RateLimitServerConfig) + in.DeepCopyInto(out) + return out +} + +func (in *RateLimitServerConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *RateLimitServerConfigList) DeepCopyInto(out *RateLimitServerConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RateLimitServerConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *RateLimitServerConfigList) DeepCopy() *RateLimitServerConfigList { + if in == nil { + return nil + } + out := new(RateLimitServerConfigList) + in.DeepCopyInto(out) + return out +} + +func (in *RateLimitServerConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for Dashboard + +func (in *Dashboard) DeepCopyInto(out *Dashboard) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *Dashboard) DeepCopy() *Dashboard { + if in == nil { + return nil + } + out := new(Dashboard) + in.DeepCopyInto(out) + return out +} + +func (in *Dashboard) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *DashboardList) DeepCopyInto(out *DashboardList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Dashboard, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *DashboardList) DeepCopy() *DashboardList { + if in == nil { + return nil + } + out := new(DashboardList) + in.DeepCopyInto(out) + return out +} + +func (in *DashboardList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for IstioLifecycleManager + +func (in *IstioLifecycleManager) DeepCopyInto(out *IstioLifecycleManager) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *IstioLifecycleManager) DeepCopy() *IstioLifecycleManager { + if in == nil { + return nil + } + out := new(IstioLifecycleManager) + in.DeepCopyInto(out) + return out +} + +func (in *IstioLifecycleManager) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *IstioLifecycleManagerList) DeepCopyInto(out *IstioLifecycleManagerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]IstioLifecycleManager, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *IstioLifecycleManagerList) DeepCopy() *IstioLifecycleManagerList { + if in == nil { + return nil + } + out := new(IstioLifecycleManagerList) + in.DeepCopyInto(out) + return out +} + +func (in *IstioLifecycleManagerList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for GatewayLifecycleManager + +func (in *GatewayLifecycleManager) DeepCopyInto(out *GatewayLifecycleManager) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *GatewayLifecycleManager) DeepCopy() *GatewayLifecycleManager { + if in == nil { + return nil + } + out := new(GatewayLifecycleManager) + in.DeepCopyInto(out) + return out +} + +func (in *GatewayLifecycleManager) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *GatewayLifecycleManagerList) DeepCopyInto(out *GatewayLifecycleManagerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GatewayLifecycleManager, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *GatewayLifecycleManagerList) DeepCopy() *GatewayLifecycleManagerList { + if in == nil { + return nil + } + out := new(GatewayLifecycleManagerList) + in.DeepCopyInto(out) + return out +} + +func (in *GatewayLifecycleManagerList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/clients.go b/client-go/admin.gloo.solo.io/v2alpha1/clients.go new file mode 100644 index 000000000..d46d1e62f --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/clients.go @@ -0,0 +1,362 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2alpha1 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the admin.gloo.solo.io/v2alpha1 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the admin.gloo.solo.io/v2alpha1 APIs +type Clientset interface { + // clienset for the admin.gloo.solo.io/v2alpha1/v2alpha1 APIs + WaypointLifecycleManagers() WaypointLifecycleManagerClient + // clienset for the admin.gloo.solo.io/v2alpha1/v2alpha1 APIs + InsightsConfigs() InsightsConfigClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the admin.gloo.solo.io/v2alpha1/v2alpha1 APIs +func (c *clientSet) WaypointLifecycleManagers() WaypointLifecycleManagerClient { + return NewWaypointLifecycleManagerClient(c.client) +} + +// clienset for the admin.gloo.solo.io/v2alpha1/v2alpha1 APIs +func (c *clientSet) InsightsConfigs() InsightsConfigClient { + return NewInsightsConfigClient(c.client) +} + +// Reader knows how to read and list WaypointLifecycleManagers. +type WaypointLifecycleManagerReader interface { + // Get retrieves a WaypointLifecycleManager for the given object key + GetWaypointLifecycleManager(ctx context.Context, key client.ObjectKey) (*WaypointLifecycleManager, error) + + // List retrieves list of WaypointLifecycleManagers for a given namespace and list options. + ListWaypointLifecycleManager(ctx context.Context, opts ...client.ListOption) (*WaypointLifecycleManagerList, error) +} + +// WaypointLifecycleManagerTransitionFunction instructs the WaypointLifecycleManagerWriter how to transition between an existing +// WaypointLifecycleManager object and a desired on an Upsert +type WaypointLifecycleManagerTransitionFunction func(existing, desired *WaypointLifecycleManager) error + +// Writer knows how to create, delete, and update WaypointLifecycleManagers. +type WaypointLifecycleManagerWriter interface { + // Create saves the WaypointLifecycleManager object. + CreateWaypointLifecycleManager(ctx context.Context, obj *WaypointLifecycleManager, opts ...client.CreateOption) error + + // Delete deletes the WaypointLifecycleManager object. + DeleteWaypointLifecycleManager(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given WaypointLifecycleManager object. + UpdateWaypointLifecycleManager(ctx context.Context, obj *WaypointLifecycleManager, opts ...client.UpdateOption) error + + // Patch patches the given WaypointLifecycleManager object. + PatchWaypointLifecycleManager(ctx context.Context, obj *WaypointLifecycleManager, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all WaypointLifecycleManager objects matching the given options. + DeleteAllOfWaypointLifecycleManager(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the WaypointLifecycleManager object. + UpsertWaypointLifecycleManager(ctx context.Context, obj *WaypointLifecycleManager, transitionFuncs ...WaypointLifecycleManagerTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a WaypointLifecycleManager object. +type WaypointLifecycleManagerStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given WaypointLifecycleManager object. + UpdateWaypointLifecycleManagerStatus(ctx context.Context, obj *WaypointLifecycleManager, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given WaypointLifecycleManager object's subresource. + PatchWaypointLifecycleManagerStatus(ctx context.Context, obj *WaypointLifecycleManager, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on WaypointLifecycleManagers. +type WaypointLifecycleManagerClient interface { + WaypointLifecycleManagerReader + WaypointLifecycleManagerWriter + WaypointLifecycleManagerStatusWriter +} + +type waypointLifecycleManagerClient struct { + client client.Client +} + +func NewWaypointLifecycleManagerClient(client client.Client) *waypointLifecycleManagerClient { + return &waypointLifecycleManagerClient{client: client} +} + +func (c *waypointLifecycleManagerClient) GetWaypointLifecycleManager(ctx context.Context, key client.ObjectKey) (*WaypointLifecycleManager, error) { + obj := &WaypointLifecycleManager{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *waypointLifecycleManagerClient) ListWaypointLifecycleManager(ctx context.Context, opts ...client.ListOption) (*WaypointLifecycleManagerList, error) { + list := &WaypointLifecycleManagerList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *waypointLifecycleManagerClient) CreateWaypointLifecycleManager(ctx context.Context, obj *WaypointLifecycleManager, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *waypointLifecycleManagerClient) DeleteWaypointLifecycleManager(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &WaypointLifecycleManager{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *waypointLifecycleManagerClient) UpdateWaypointLifecycleManager(ctx context.Context, obj *WaypointLifecycleManager, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *waypointLifecycleManagerClient) PatchWaypointLifecycleManager(ctx context.Context, obj *WaypointLifecycleManager, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *waypointLifecycleManagerClient) DeleteAllOfWaypointLifecycleManager(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &WaypointLifecycleManager{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *waypointLifecycleManagerClient) UpsertWaypointLifecycleManager(ctx context.Context, obj *WaypointLifecycleManager, transitionFuncs ...WaypointLifecycleManagerTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*WaypointLifecycleManager), desired.(*WaypointLifecycleManager)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *waypointLifecycleManagerClient) UpdateWaypointLifecycleManagerStatus(ctx context.Context, obj *WaypointLifecycleManager, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *waypointLifecycleManagerClient) PatchWaypointLifecycleManagerStatus(ctx context.Context, obj *WaypointLifecycleManager, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides WaypointLifecycleManagerClients for multiple clusters. +type MulticlusterWaypointLifecycleManagerClient interface { + // Cluster returns a WaypointLifecycleManagerClient for the given cluster + Cluster(cluster string) (WaypointLifecycleManagerClient, error) +} + +type multiclusterWaypointLifecycleManagerClient struct { + client multicluster.Client +} + +func NewMulticlusterWaypointLifecycleManagerClient(client multicluster.Client) MulticlusterWaypointLifecycleManagerClient { + return &multiclusterWaypointLifecycleManagerClient{client: client} +} + +func (m *multiclusterWaypointLifecycleManagerClient) Cluster(cluster string) (WaypointLifecycleManagerClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewWaypointLifecycleManagerClient(client), nil +} + +// Reader knows how to read and list InsightsConfigs. +type InsightsConfigReader interface { + // Get retrieves a InsightsConfig for the given object key + GetInsightsConfig(ctx context.Context, key client.ObjectKey) (*InsightsConfig, error) + + // List retrieves list of InsightsConfigs for a given namespace and list options. + ListInsightsConfig(ctx context.Context, opts ...client.ListOption) (*InsightsConfigList, error) +} + +// InsightsConfigTransitionFunction instructs the InsightsConfigWriter how to transition between an existing +// InsightsConfig object and a desired on an Upsert +type InsightsConfigTransitionFunction func(existing, desired *InsightsConfig) error + +// Writer knows how to create, delete, and update InsightsConfigs. +type InsightsConfigWriter interface { + // Create saves the InsightsConfig object. + CreateInsightsConfig(ctx context.Context, obj *InsightsConfig, opts ...client.CreateOption) error + + // Delete deletes the InsightsConfig object. + DeleteInsightsConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given InsightsConfig object. + UpdateInsightsConfig(ctx context.Context, obj *InsightsConfig, opts ...client.UpdateOption) error + + // Patch patches the given InsightsConfig object. + PatchInsightsConfig(ctx context.Context, obj *InsightsConfig, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all InsightsConfig objects matching the given options. + DeleteAllOfInsightsConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the InsightsConfig object. + UpsertInsightsConfig(ctx context.Context, obj *InsightsConfig, transitionFuncs ...InsightsConfigTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a InsightsConfig object. +type InsightsConfigStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given InsightsConfig object. + UpdateInsightsConfigStatus(ctx context.Context, obj *InsightsConfig, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given InsightsConfig object's subresource. + PatchInsightsConfigStatus(ctx context.Context, obj *InsightsConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on InsightsConfigs. +type InsightsConfigClient interface { + InsightsConfigReader + InsightsConfigWriter + InsightsConfigStatusWriter +} + +type insightsConfigClient struct { + client client.Client +} + +func NewInsightsConfigClient(client client.Client) *insightsConfigClient { + return &insightsConfigClient{client: client} +} + +func (c *insightsConfigClient) GetInsightsConfig(ctx context.Context, key client.ObjectKey) (*InsightsConfig, error) { + obj := &InsightsConfig{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *insightsConfigClient) ListInsightsConfig(ctx context.Context, opts ...client.ListOption) (*InsightsConfigList, error) { + list := &InsightsConfigList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *insightsConfigClient) CreateInsightsConfig(ctx context.Context, obj *InsightsConfig, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *insightsConfigClient) DeleteInsightsConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &InsightsConfig{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *insightsConfigClient) UpdateInsightsConfig(ctx context.Context, obj *InsightsConfig, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *insightsConfigClient) PatchInsightsConfig(ctx context.Context, obj *InsightsConfig, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *insightsConfigClient) DeleteAllOfInsightsConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &InsightsConfig{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *insightsConfigClient) UpsertInsightsConfig(ctx context.Context, obj *InsightsConfig, transitionFuncs ...InsightsConfigTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*InsightsConfig), desired.(*InsightsConfig)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *insightsConfigClient) UpdateInsightsConfigStatus(ctx context.Context, obj *InsightsConfig, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *insightsConfigClient) PatchInsightsConfigStatus(ctx context.Context, obj *InsightsConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides InsightsConfigClients for multiple clusters. +type MulticlusterInsightsConfigClient interface { + // Cluster returns a InsightsConfigClient for the given cluster + Cluster(cluster string) (InsightsConfigClient, error) +} + +type multiclusterInsightsConfigClient struct { + client multicluster.Client +} + +func NewMulticlusterInsightsConfigClient(client multicluster.Client) MulticlusterInsightsConfigClient { + return &multiclusterInsightsConfigClient{client: client} +} + +func (m *multiclusterInsightsConfigClient) Cluster(cluster string) (InsightsConfigClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewInsightsConfigClient(client), nil +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/controller/event_handlers.go b/client-go/admin.gloo.solo.io/v2alpha1/controller/event_handlers.go new file mode 100644 index 000000000..93a7b4d16 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/controller/event_handlers.go @@ -0,0 +1,232 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + admin_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the WaypointLifecycleManager Resource +// DEPRECATED: Prefer reconciler pattern. +type WaypointLifecycleManagerEventHandler interface { + CreateWaypointLifecycleManager(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error + UpdateWaypointLifecycleManager(old, new *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error + DeleteWaypointLifecycleManager(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error + GenericWaypointLifecycleManager(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error +} + +type WaypointLifecycleManagerEventHandlerFuncs struct { + OnCreate func(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error + OnUpdate func(old, new *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error + OnDelete func(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error + OnGeneric func(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error +} + +func (f *WaypointLifecycleManagerEventHandlerFuncs) CreateWaypointLifecycleManager(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *WaypointLifecycleManagerEventHandlerFuncs) DeleteWaypointLifecycleManager(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *WaypointLifecycleManagerEventHandlerFuncs) UpdateWaypointLifecycleManager(objOld, objNew *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *WaypointLifecycleManagerEventHandlerFuncs) GenericWaypointLifecycleManager(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type WaypointLifecycleManagerEventWatcher interface { + AddEventHandler(ctx context.Context, h WaypointLifecycleManagerEventHandler, predicates ...predicate.Predicate) error +} + +type waypointLifecycleManagerEventWatcher struct { + watcher events.EventWatcher +} + +func NewWaypointLifecycleManagerEventWatcher(name string, mgr manager.Manager) WaypointLifecycleManagerEventWatcher { + return &waypointLifecycleManagerEventWatcher{ + watcher: events.NewWatcher(name, mgr, &admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager{}), + } +} + +func (c *waypointLifecycleManagerEventWatcher) AddEventHandler(ctx context.Context, h WaypointLifecycleManagerEventHandler, predicates ...predicate.Predicate) error { + handler := genericWaypointLifecycleManagerHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericWaypointLifecycleManagerHandler implements a generic events.EventHandler +type genericWaypointLifecycleManagerHandler struct { + handler WaypointLifecycleManagerEventHandler +} + +func (h genericWaypointLifecycleManagerHandler) Create(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) + if !ok { + return errors.Errorf("internal error: WaypointLifecycleManager handler received event for %T", object) + } + return h.handler.CreateWaypointLifecycleManager(obj) +} + +func (h genericWaypointLifecycleManagerHandler) Delete(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) + if !ok { + return errors.Errorf("internal error: WaypointLifecycleManager handler received event for %T", object) + } + return h.handler.DeleteWaypointLifecycleManager(obj) +} + +func (h genericWaypointLifecycleManagerHandler) Update(old, new client.Object) error { + objOld, ok := old.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) + if !ok { + return errors.Errorf("internal error: WaypointLifecycleManager handler received event for %T", old) + } + objNew, ok := new.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) + if !ok { + return errors.Errorf("internal error: WaypointLifecycleManager handler received event for %T", new) + } + return h.handler.UpdateWaypointLifecycleManager(objOld, objNew) +} + +func (h genericWaypointLifecycleManagerHandler) Generic(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) + if !ok { + return errors.Errorf("internal error: WaypointLifecycleManager handler received event for %T", object) + } + return h.handler.GenericWaypointLifecycleManager(obj) +} + +// Handle events for the InsightsConfig Resource +// DEPRECATED: Prefer reconciler pattern. +type InsightsConfigEventHandler interface { + CreateInsightsConfig(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) error + UpdateInsightsConfig(old, new *admin_gloo_solo_io_v2alpha1.InsightsConfig) error + DeleteInsightsConfig(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) error + GenericInsightsConfig(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) error +} + +type InsightsConfigEventHandlerFuncs struct { + OnCreate func(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) error + OnUpdate func(old, new *admin_gloo_solo_io_v2alpha1.InsightsConfig) error + OnDelete func(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) error + OnGeneric func(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) error +} + +func (f *InsightsConfigEventHandlerFuncs) CreateInsightsConfig(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *InsightsConfigEventHandlerFuncs) DeleteInsightsConfig(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *InsightsConfigEventHandlerFuncs) UpdateInsightsConfig(objOld, objNew *admin_gloo_solo_io_v2alpha1.InsightsConfig) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *InsightsConfigEventHandlerFuncs) GenericInsightsConfig(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type InsightsConfigEventWatcher interface { + AddEventHandler(ctx context.Context, h InsightsConfigEventHandler, predicates ...predicate.Predicate) error +} + +type insightsConfigEventWatcher struct { + watcher events.EventWatcher +} + +func NewInsightsConfigEventWatcher(name string, mgr manager.Manager) InsightsConfigEventWatcher { + return &insightsConfigEventWatcher{ + watcher: events.NewWatcher(name, mgr, &admin_gloo_solo_io_v2alpha1.InsightsConfig{}), + } +} + +func (c *insightsConfigEventWatcher) AddEventHandler(ctx context.Context, h InsightsConfigEventHandler, predicates ...predicate.Predicate) error { + handler := genericInsightsConfigHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericInsightsConfigHandler implements a generic events.EventHandler +type genericInsightsConfigHandler struct { + handler InsightsConfigEventHandler +} + +func (h genericInsightsConfigHandler) Create(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2alpha1.InsightsConfig) + if !ok { + return errors.Errorf("internal error: InsightsConfig handler received event for %T", object) + } + return h.handler.CreateInsightsConfig(obj) +} + +func (h genericInsightsConfigHandler) Delete(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2alpha1.InsightsConfig) + if !ok { + return errors.Errorf("internal error: InsightsConfig handler received event for %T", object) + } + return h.handler.DeleteInsightsConfig(obj) +} + +func (h genericInsightsConfigHandler) Update(old, new client.Object) error { + objOld, ok := old.(*admin_gloo_solo_io_v2alpha1.InsightsConfig) + if !ok { + return errors.Errorf("internal error: InsightsConfig handler received event for %T", old) + } + objNew, ok := new.(*admin_gloo_solo_io_v2alpha1.InsightsConfig) + if !ok { + return errors.Errorf("internal error: InsightsConfig handler received event for %T", new) + } + return h.handler.UpdateInsightsConfig(objOld, objNew) +} + +func (h genericInsightsConfigHandler) Generic(object client.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2alpha1.InsightsConfig) + if !ok { + return errors.Errorf("internal error: InsightsConfig handler received event for %T", object) + } + return h.handler.GenericInsightsConfig(obj) +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/controller/mocks/event_handlers.go b/client-go/admin.gloo.solo.io/v2alpha1/controller/mocks/event_handlers.go new file mode 100644 index 000000000..18401836e --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/controller/mocks/event_handlers.go @@ -0,0 +1,258 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1" + controller "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1/controller" +) + +// MockWaypointLifecycleManagerEventHandler is a mock of WaypointLifecycleManagerEventHandler interface. +type MockWaypointLifecycleManagerEventHandler struct { + ctrl *gomock.Controller + recorder *MockWaypointLifecycleManagerEventHandlerMockRecorder +} + +// MockWaypointLifecycleManagerEventHandlerMockRecorder is the mock recorder for MockWaypointLifecycleManagerEventHandler. +type MockWaypointLifecycleManagerEventHandlerMockRecorder struct { + mock *MockWaypointLifecycleManagerEventHandler +} + +// NewMockWaypointLifecycleManagerEventHandler creates a new mock instance. +func NewMockWaypointLifecycleManagerEventHandler(ctrl *gomock.Controller) *MockWaypointLifecycleManagerEventHandler { + mock := &MockWaypointLifecycleManagerEventHandler{ctrl: ctrl} + mock.recorder = &MockWaypointLifecycleManagerEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWaypointLifecycleManagerEventHandler) EXPECT() *MockWaypointLifecycleManagerEventHandlerMockRecorder { + return m.recorder +} + +// CreateWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerEventHandler) CreateWaypointLifecycleManager(obj *v2alpha1.WaypointLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateWaypointLifecycleManager", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWaypointLifecycleManager indicates an expected call of CreateWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerEventHandlerMockRecorder) CreateWaypointLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerEventHandler)(nil).CreateWaypointLifecycleManager), obj) +} + +// DeleteWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerEventHandler) DeleteWaypointLifecycleManager(obj *v2alpha1.WaypointLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteWaypointLifecycleManager", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWaypointLifecycleManager indicates an expected call of DeleteWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerEventHandlerMockRecorder) DeleteWaypointLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerEventHandler)(nil).DeleteWaypointLifecycleManager), obj) +} + +// GenericWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerEventHandler) GenericWaypointLifecycleManager(obj *v2alpha1.WaypointLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericWaypointLifecycleManager", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericWaypointLifecycleManager indicates an expected call of GenericWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerEventHandlerMockRecorder) GenericWaypointLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerEventHandler)(nil).GenericWaypointLifecycleManager), obj) +} + +// UpdateWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerEventHandler) UpdateWaypointLifecycleManager(old, new *v2alpha1.WaypointLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateWaypointLifecycleManager", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWaypointLifecycleManager indicates an expected call of UpdateWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerEventHandlerMockRecorder) UpdateWaypointLifecycleManager(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerEventHandler)(nil).UpdateWaypointLifecycleManager), old, new) +} + +// MockWaypointLifecycleManagerEventWatcher is a mock of WaypointLifecycleManagerEventWatcher interface. +type MockWaypointLifecycleManagerEventWatcher struct { + ctrl *gomock.Controller + recorder *MockWaypointLifecycleManagerEventWatcherMockRecorder +} + +// MockWaypointLifecycleManagerEventWatcherMockRecorder is the mock recorder for MockWaypointLifecycleManagerEventWatcher. +type MockWaypointLifecycleManagerEventWatcherMockRecorder struct { + mock *MockWaypointLifecycleManagerEventWatcher +} + +// NewMockWaypointLifecycleManagerEventWatcher creates a new mock instance. +func NewMockWaypointLifecycleManagerEventWatcher(ctrl *gomock.Controller) *MockWaypointLifecycleManagerEventWatcher { + mock := &MockWaypointLifecycleManagerEventWatcher{ctrl: ctrl} + mock.recorder = &MockWaypointLifecycleManagerEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWaypointLifecycleManagerEventWatcher) EXPECT() *MockWaypointLifecycleManagerEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockWaypointLifecycleManagerEventWatcher) AddEventHandler(ctx context.Context, h controller.WaypointLifecycleManagerEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockWaypointLifecycleManagerEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockWaypointLifecycleManagerEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockInsightsConfigEventHandler is a mock of InsightsConfigEventHandler interface. +type MockInsightsConfigEventHandler struct { + ctrl *gomock.Controller + recorder *MockInsightsConfigEventHandlerMockRecorder +} + +// MockInsightsConfigEventHandlerMockRecorder is the mock recorder for MockInsightsConfigEventHandler. +type MockInsightsConfigEventHandlerMockRecorder struct { + mock *MockInsightsConfigEventHandler +} + +// NewMockInsightsConfigEventHandler creates a new mock instance. +func NewMockInsightsConfigEventHandler(ctrl *gomock.Controller) *MockInsightsConfigEventHandler { + mock := &MockInsightsConfigEventHandler{ctrl: ctrl} + mock.recorder = &MockInsightsConfigEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockInsightsConfigEventHandler) EXPECT() *MockInsightsConfigEventHandlerMockRecorder { + return m.recorder +} + +// CreateInsightsConfig mocks base method. +func (m *MockInsightsConfigEventHandler) CreateInsightsConfig(obj *v2alpha1.InsightsConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateInsightsConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateInsightsConfig indicates an expected call of CreateInsightsConfig. +func (mr *MockInsightsConfigEventHandlerMockRecorder) CreateInsightsConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateInsightsConfig", reflect.TypeOf((*MockInsightsConfigEventHandler)(nil).CreateInsightsConfig), obj) +} + +// DeleteInsightsConfig mocks base method. +func (m *MockInsightsConfigEventHandler) DeleteInsightsConfig(obj *v2alpha1.InsightsConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteInsightsConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteInsightsConfig indicates an expected call of DeleteInsightsConfig. +func (mr *MockInsightsConfigEventHandlerMockRecorder) DeleteInsightsConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteInsightsConfig", reflect.TypeOf((*MockInsightsConfigEventHandler)(nil).DeleteInsightsConfig), obj) +} + +// GenericInsightsConfig mocks base method. +func (m *MockInsightsConfigEventHandler) GenericInsightsConfig(obj *v2alpha1.InsightsConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericInsightsConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericInsightsConfig indicates an expected call of GenericInsightsConfig. +func (mr *MockInsightsConfigEventHandlerMockRecorder) GenericInsightsConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericInsightsConfig", reflect.TypeOf((*MockInsightsConfigEventHandler)(nil).GenericInsightsConfig), obj) +} + +// UpdateInsightsConfig mocks base method. +func (m *MockInsightsConfigEventHandler) UpdateInsightsConfig(old, new *v2alpha1.InsightsConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateInsightsConfig", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateInsightsConfig indicates an expected call of UpdateInsightsConfig. +func (mr *MockInsightsConfigEventHandlerMockRecorder) UpdateInsightsConfig(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateInsightsConfig", reflect.TypeOf((*MockInsightsConfigEventHandler)(nil).UpdateInsightsConfig), old, new) +} + +// MockInsightsConfigEventWatcher is a mock of InsightsConfigEventWatcher interface. +type MockInsightsConfigEventWatcher struct { + ctrl *gomock.Controller + recorder *MockInsightsConfigEventWatcherMockRecorder +} + +// MockInsightsConfigEventWatcherMockRecorder is the mock recorder for MockInsightsConfigEventWatcher. +type MockInsightsConfigEventWatcherMockRecorder struct { + mock *MockInsightsConfigEventWatcher +} + +// NewMockInsightsConfigEventWatcher creates a new mock instance. +func NewMockInsightsConfigEventWatcher(ctrl *gomock.Controller) *MockInsightsConfigEventWatcher { + mock := &MockInsightsConfigEventWatcher{ctrl: ctrl} + mock.recorder = &MockInsightsConfigEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockInsightsConfigEventWatcher) EXPECT() *MockInsightsConfigEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockInsightsConfigEventWatcher) AddEventHandler(ctx context.Context, h controller.InsightsConfigEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockInsightsConfigEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockInsightsConfigEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/controller/mocks/multicluster_reconcilers.go b/client-go/admin.gloo.solo.io/v2alpha1/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..b30c17454 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,247 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1" + controller "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1/controller" +) + +// MockMulticlusterWaypointLifecycleManagerReconciler is a mock of MulticlusterWaypointLifecycleManagerReconciler interface. +type MockMulticlusterWaypointLifecycleManagerReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWaypointLifecycleManagerReconcilerMockRecorder +} + +// MockMulticlusterWaypointLifecycleManagerReconcilerMockRecorder is the mock recorder for MockMulticlusterWaypointLifecycleManagerReconciler. +type MockMulticlusterWaypointLifecycleManagerReconcilerMockRecorder struct { + mock *MockMulticlusterWaypointLifecycleManagerReconciler +} + +// NewMockMulticlusterWaypointLifecycleManagerReconciler creates a new mock instance. +func NewMockMulticlusterWaypointLifecycleManagerReconciler(ctrl *gomock.Controller) *MockMulticlusterWaypointLifecycleManagerReconciler { + mock := &MockMulticlusterWaypointLifecycleManagerReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterWaypointLifecycleManagerReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWaypointLifecycleManagerReconciler) EXPECT() *MockMulticlusterWaypointLifecycleManagerReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWaypointLifecycleManager mocks base method. +func (m *MockMulticlusterWaypointLifecycleManagerReconciler) ReconcileWaypointLifecycleManager(clusterName string, obj *v2alpha1.WaypointLifecycleManager) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWaypointLifecycleManager", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWaypointLifecycleManager indicates an expected call of ReconcileWaypointLifecycleManager. +func (mr *MockMulticlusterWaypointLifecycleManagerReconcilerMockRecorder) ReconcileWaypointLifecycleManager(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWaypointLifecycleManager", reflect.TypeOf((*MockMulticlusterWaypointLifecycleManagerReconciler)(nil).ReconcileWaypointLifecycleManager), clusterName, obj) +} + +// MockMulticlusterWaypointLifecycleManagerDeletionReconciler is a mock of MulticlusterWaypointLifecycleManagerDeletionReconciler interface. +type MockMulticlusterWaypointLifecycleManagerDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWaypointLifecycleManagerDeletionReconcilerMockRecorder +} + +// MockMulticlusterWaypointLifecycleManagerDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterWaypointLifecycleManagerDeletionReconciler. +type MockMulticlusterWaypointLifecycleManagerDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterWaypointLifecycleManagerDeletionReconciler +} + +// NewMockMulticlusterWaypointLifecycleManagerDeletionReconciler creates a new mock instance. +func NewMockMulticlusterWaypointLifecycleManagerDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterWaypointLifecycleManagerDeletionReconciler { + mock := &MockMulticlusterWaypointLifecycleManagerDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterWaypointLifecycleManagerDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWaypointLifecycleManagerDeletionReconciler) EXPECT() *MockMulticlusterWaypointLifecycleManagerDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWaypointLifecycleManagerDeletion mocks base method. +func (m *MockMulticlusterWaypointLifecycleManagerDeletionReconciler) ReconcileWaypointLifecycleManagerDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWaypointLifecycleManagerDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileWaypointLifecycleManagerDeletion indicates an expected call of ReconcileWaypointLifecycleManagerDeletion. +func (mr *MockMulticlusterWaypointLifecycleManagerDeletionReconcilerMockRecorder) ReconcileWaypointLifecycleManagerDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWaypointLifecycleManagerDeletion", reflect.TypeOf((*MockMulticlusterWaypointLifecycleManagerDeletionReconciler)(nil).ReconcileWaypointLifecycleManagerDeletion), clusterName, req) +} + +// MockMulticlusterWaypointLifecycleManagerReconcileLoop is a mock of MulticlusterWaypointLifecycleManagerReconcileLoop interface. +type MockMulticlusterWaypointLifecycleManagerReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWaypointLifecycleManagerReconcileLoopMockRecorder +} + +// MockMulticlusterWaypointLifecycleManagerReconcileLoopMockRecorder is the mock recorder for MockMulticlusterWaypointLifecycleManagerReconcileLoop. +type MockMulticlusterWaypointLifecycleManagerReconcileLoopMockRecorder struct { + mock *MockMulticlusterWaypointLifecycleManagerReconcileLoop +} + +// NewMockMulticlusterWaypointLifecycleManagerReconcileLoop creates a new mock instance. +func NewMockMulticlusterWaypointLifecycleManagerReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterWaypointLifecycleManagerReconcileLoop { + mock := &MockMulticlusterWaypointLifecycleManagerReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterWaypointLifecycleManagerReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWaypointLifecycleManagerReconcileLoop) EXPECT() *MockMulticlusterWaypointLifecycleManagerReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterWaypointLifecycleManagerReconciler mocks base method. +func (m *MockMulticlusterWaypointLifecycleManagerReconcileLoop) AddMulticlusterWaypointLifecycleManagerReconciler(ctx context.Context, rec controller.MulticlusterWaypointLifecycleManagerReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterWaypointLifecycleManagerReconciler", varargs...) +} + +// AddMulticlusterWaypointLifecycleManagerReconciler indicates an expected call of AddMulticlusterWaypointLifecycleManagerReconciler. +func (mr *MockMulticlusterWaypointLifecycleManagerReconcileLoopMockRecorder) AddMulticlusterWaypointLifecycleManagerReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterWaypointLifecycleManagerReconciler", reflect.TypeOf((*MockMulticlusterWaypointLifecycleManagerReconcileLoop)(nil).AddMulticlusterWaypointLifecycleManagerReconciler), varargs...) +} + +// MockMulticlusterInsightsConfigReconciler is a mock of MulticlusterInsightsConfigReconciler interface. +type MockMulticlusterInsightsConfigReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterInsightsConfigReconcilerMockRecorder +} + +// MockMulticlusterInsightsConfigReconcilerMockRecorder is the mock recorder for MockMulticlusterInsightsConfigReconciler. +type MockMulticlusterInsightsConfigReconcilerMockRecorder struct { + mock *MockMulticlusterInsightsConfigReconciler +} + +// NewMockMulticlusterInsightsConfigReconciler creates a new mock instance. +func NewMockMulticlusterInsightsConfigReconciler(ctrl *gomock.Controller) *MockMulticlusterInsightsConfigReconciler { + mock := &MockMulticlusterInsightsConfigReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterInsightsConfigReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterInsightsConfigReconciler) EXPECT() *MockMulticlusterInsightsConfigReconcilerMockRecorder { + return m.recorder +} + +// ReconcileInsightsConfig mocks base method. +func (m *MockMulticlusterInsightsConfigReconciler) ReconcileInsightsConfig(clusterName string, obj *v2alpha1.InsightsConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileInsightsConfig", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileInsightsConfig indicates an expected call of ReconcileInsightsConfig. +func (mr *MockMulticlusterInsightsConfigReconcilerMockRecorder) ReconcileInsightsConfig(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileInsightsConfig", reflect.TypeOf((*MockMulticlusterInsightsConfigReconciler)(nil).ReconcileInsightsConfig), clusterName, obj) +} + +// MockMulticlusterInsightsConfigDeletionReconciler is a mock of MulticlusterInsightsConfigDeletionReconciler interface. +type MockMulticlusterInsightsConfigDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterInsightsConfigDeletionReconcilerMockRecorder +} + +// MockMulticlusterInsightsConfigDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterInsightsConfigDeletionReconciler. +type MockMulticlusterInsightsConfigDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterInsightsConfigDeletionReconciler +} + +// NewMockMulticlusterInsightsConfigDeletionReconciler creates a new mock instance. +func NewMockMulticlusterInsightsConfigDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterInsightsConfigDeletionReconciler { + mock := &MockMulticlusterInsightsConfigDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterInsightsConfigDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterInsightsConfigDeletionReconciler) EXPECT() *MockMulticlusterInsightsConfigDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileInsightsConfigDeletion mocks base method. +func (m *MockMulticlusterInsightsConfigDeletionReconciler) ReconcileInsightsConfigDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileInsightsConfigDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileInsightsConfigDeletion indicates an expected call of ReconcileInsightsConfigDeletion. +func (mr *MockMulticlusterInsightsConfigDeletionReconcilerMockRecorder) ReconcileInsightsConfigDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileInsightsConfigDeletion", reflect.TypeOf((*MockMulticlusterInsightsConfigDeletionReconciler)(nil).ReconcileInsightsConfigDeletion), clusterName, req) +} + +// MockMulticlusterInsightsConfigReconcileLoop is a mock of MulticlusterInsightsConfigReconcileLoop interface. +type MockMulticlusterInsightsConfigReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterInsightsConfigReconcileLoopMockRecorder +} + +// MockMulticlusterInsightsConfigReconcileLoopMockRecorder is the mock recorder for MockMulticlusterInsightsConfigReconcileLoop. +type MockMulticlusterInsightsConfigReconcileLoopMockRecorder struct { + mock *MockMulticlusterInsightsConfigReconcileLoop +} + +// NewMockMulticlusterInsightsConfigReconcileLoop creates a new mock instance. +func NewMockMulticlusterInsightsConfigReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterInsightsConfigReconcileLoop { + mock := &MockMulticlusterInsightsConfigReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterInsightsConfigReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterInsightsConfigReconcileLoop) EXPECT() *MockMulticlusterInsightsConfigReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterInsightsConfigReconciler mocks base method. +func (m *MockMulticlusterInsightsConfigReconcileLoop) AddMulticlusterInsightsConfigReconciler(ctx context.Context, rec controller.MulticlusterInsightsConfigReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterInsightsConfigReconciler", varargs...) +} + +// AddMulticlusterInsightsConfigReconciler indicates an expected call of AddMulticlusterInsightsConfigReconciler. +func (mr *MockMulticlusterInsightsConfigReconcileLoopMockRecorder) AddMulticlusterInsightsConfigReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterInsightsConfigReconciler", reflect.TypeOf((*MockMulticlusterInsightsConfigReconcileLoop)(nil).AddMulticlusterInsightsConfigReconciler), varargs...) +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/controller/mocks/reconcilers.go b/client-go/admin.gloo.solo.io/v2alpha1/controller/mocks/reconcilers.go new file mode 100644 index 000000000..f862ae459 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/controller/mocks/reconcilers.go @@ -0,0 +1,383 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1" + controller "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1/controller" +) + +// MockWaypointLifecycleManagerReconciler is a mock of WaypointLifecycleManagerReconciler interface. +type MockWaypointLifecycleManagerReconciler struct { + ctrl *gomock.Controller + recorder *MockWaypointLifecycleManagerReconcilerMockRecorder +} + +// MockWaypointLifecycleManagerReconcilerMockRecorder is the mock recorder for MockWaypointLifecycleManagerReconciler. +type MockWaypointLifecycleManagerReconcilerMockRecorder struct { + mock *MockWaypointLifecycleManagerReconciler +} + +// NewMockWaypointLifecycleManagerReconciler creates a new mock instance. +func NewMockWaypointLifecycleManagerReconciler(ctrl *gomock.Controller) *MockWaypointLifecycleManagerReconciler { + mock := &MockWaypointLifecycleManagerReconciler{ctrl: ctrl} + mock.recorder = &MockWaypointLifecycleManagerReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWaypointLifecycleManagerReconciler) EXPECT() *MockWaypointLifecycleManagerReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerReconciler) ReconcileWaypointLifecycleManager(obj *v2alpha1.WaypointLifecycleManager) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWaypointLifecycleManager", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWaypointLifecycleManager indicates an expected call of ReconcileWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerReconcilerMockRecorder) ReconcileWaypointLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerReconciler)(nil).ReconcileWaypointLifecycleManager), obj) +} + +// MockWaypointLifecycleManagerDeletionReconciler is a mock of WaypointLifecycleManagerDeletionReconciler interface. +type MockWaypointLifecycleManagerDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockWaypointLifecycleManagerDeletionReconcilerMockRecorder +} + +// MockWaypointLifecycleManagerDeletionReconcilerMockRecorder is the mock recorder for MockWaypointLifecycleManagerDeletionReconciler. +type MockWaypointLifecycleManagerDeletionReconcilerMockRecorder struct { + mock *MockWaypointLifecycleManagerDeletionReconciler +} + +// NewMockWaypointLifecycleManagerDeletionReconciler creates a new mock instance. +func NewMockWaypointLifecycleManagerDeletionReconciler(ctrl *gomock.Controller) *MockWaypointLifecycleManagerDeletionReconciler { + mock := &MockWaypointLifecycleManagerDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockWaypointLifecycleManagerDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWaypointLifecycleManagerDeletionReconciler) EXPECT() *MockWaypointLifecycleManagerDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWaypointLifecycleManagerDeletion mocks base method. +func (m *MockWaypointLifecycleManagerDeletionReconciler) ReconcileWaypointLifecycleManagerDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWaypointLifecycleManagerDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileWaypointLifecycleManagerDeletion indicates an expected call of ReconcileWaypointLifecycleManagerDeletion. +func (mr *MockWaypointLifecycleManagerDeletionReconcilerMockRecorder) ReconcileWaypointLifecycleManagerDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWaypointLifecycleManagerDeletion", reflect.TypeOf((*MockWaypointLifecycleManagerDeletionReconciler)(nil).ReconcileWaypointLifecycleManagerDeletion), req) +} + +// MockWaypointLifecycleManagerFinalizer is a mock of WaypointLifecycleManagerFinalizer interface. +type MockWaypointLifecycleManagerFinalizer struct { + ctrl *gomock.Controller + recorder *MockWaypointLifecycleManagerFinalizerMockRecorder +} + +// MockWaypointLifecycleManagerFinalizerMockRecorder is the mock recorder for MockWaypointLifecycleManagerFinalizer. +type MockWaypointLifecycleManagerFinalizerMockRecorder struct { + mock *MockWaypointLifecycleManagerFinalizer +} + +// NewMockWaypointLifecycleManagerFinalizer creates a new mock instance. +func NewMockWaypointLifecycleManagerFinalizer(ctrl *gomock.Controller) *MockWaypointLifecycleManagerFinalizer { + mock := &MockWaypointLifecycleManagerFinalizer{ctrl: ctrl} + mock.recorder = &MockWaypointLifecycleManagerFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWaypointLifecycleManagerFinalizer) EXPECT() *MockWaypointLifecycleManagerFinalizerMockRecorder { + return m.recorder +} + +// FinalizeWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerFinalizer) FinalizeWaypointLifecycleManager(obj *v2alpha1.WaypointLifecycleManager) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeWaypointLifecycleManager", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeWaypointLifecycleManager indicates an expected call of FinalizeWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerFinalizerMockRecorder) FinalizeWaypointLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerFinalizer)(nil).FinalizeWaypointLifecycleManager), obj) +} + +// ReconcileWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerFinalizer) ReconcileWaypointLifecycleManager(obj *v2alpha1.WaypointLifecycleManager) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWaypointLifecycleManager", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWaypointLifecycleManager indicates an expected call of ReconcileWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerFinalizerMockRecorder) ReconcileWaypointLifecycleManager(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerFinalizer)(nil).ReconcileWaypointLifecycleManager), obj) +} + +// WaypointLifecycleManagerFinalizerName mocks base method. +func (m *MockWaypointLifecycleManagerFinalizer) WaypointLifecycleManagerFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "WaypointLifecycleManagerFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// WaypointLifecycleManagerFinalizerName indicates an expected call of WaypointLifecycleManagerFinalizerName. +func (mr *MockWaypointLifecycleManagerFinalizerMockRecorder) WaypointLifecycleManagerFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WaypointLifecycleManagerFinalizerName", reflect.TypeOf((*MockWaypointLifecycleManagerFinalizer)(nil).WaypointLifecycleManagerFinalizerName)) +} + +// MockWaypointLifecycleManagerReconcileLoop is a mock of WaypointLifecycleManagerReconcileLoop interface. +type MockWaypointLifecycleManagerReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockWaypointLifecycleManagerReconcileLoopMockRecorder +} + +// MockWaypointLifecycleManagerReconcileLoopMockRecorder is the mock recorder for MockWaypointLifecycleManagerReconcileLoop. +type MockWaypointLifecycleManagerReconcileLoopMockRecorder struct { + mock *MockWaypointLifecycleManagerReconcileLoop +} + +// NewMockWaypointLifecycleManagerReconcileLoop creates a new mock instance. +func NewMockWaypointLifecycleManagerReconcileLoop(ctrl *gomock.Controller) *MockWaypointLifecycleManagerReconcileLoop { + mock := &MockWaypointLifecycleManagerReconcileLoop{ctrl: ctrl} + mock.recorder = &MockWaypointLifecycleManagerReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWaypointLifecycleManagerReconcileLoop) EXPECT() *MockWaypointLifecycleManagerReconcileLoopMockRecorder { + return m.recorder +} + +// RunWaypointLifecycleManagerReconciler mocks base method. +func (m *MockWaypointLifecycleManagerReconcileLoop) RunWaypointLifecycleManagerReconciler(ctx context.Context, rec controller.WaypointLifecycleManagerReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunWaypointLifecycleManagerReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunWaypointLifecycleManagerReconciler indicates an expected call of RunWaypointLifecycleManagerReconciler. +func (mr *MockWaypointLifecycleManagerReconcileLoopMockRecorder) RunWaypointLifecycleManagerReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunWaypointLifecycleManagerReconciler", reflect.TypeOf((*MockWaypointLifecycleManagerReconcileLoop)(nil).RunWaypointLifecycleManagerReconciler), varargs...) +} + +// MockInsightsConfigReconciler is a mock of InsightsConfigReconciler interface. +type MockInsightsConfigReconciler struct { + ctrl *gomock.Controller + recorder *MockInsightsConfigReconcilerMockRecorder +} + +// MockInsightsConfigReconcilerMockRecorder is the mock recorder for MockInsightsConfigReconciler. +type MockInsightsConfigReconcilerMockRecorder struct { + mock *MockInsightsConfigReconciler +} + +// NewMockInsightsConfigReconciler creates a new mock instance. +func NewMockInsightsConfigReconciler(ctrl *gomock.Controller) *MockInsightsConfigReconciler { + mock := &MockInsightsConfigReconciler{ctrl: ctrl} + mock.recorder = &MockInsightsConfigReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockInsightsConfigReconciler) EXPECT() *MockInsightsConfigReconcilerMockRecorder { + return m.recorder +} + +// ReconcileInsightsConfig mocks base method. +func (m *MockInsightsConfigReconciler) ReconcileInsightsConfig(obj *v2alpha1.InsightsConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileInsightsConfig", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileInsightsConfig indicates an expected call of ReconcileInsightsConfig. +func (mr *MockInsightsConfigReconcilerMockRecorder) ReconcileInsightsConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileInsightsConfig", reflect.TypeOf((*MockInsightsConfigReconciler)(nil).ReconcileInsightsConfig), obj) +} + +// MockInsightsConfigDeletionReconciler is a mock of InsightsConfigDeletionReconciler interface. +type MockInsightsConfigDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockInsightsConfigDeletionReconcilerMockRecorder +} + +// MockInsightsConfigDeletionReconcilerMockRecorder is the mock recorder for MockInsightsConfigDeletionReconciler. +type MockInsightsConfigDeletionReconcilerMockRecorder struct { + mock *MockInsightsConfigDeletionReconciler +} + +// NewMockInsightsConfigDeletionReconciler creates a new mock instance. +func NewMockInsightsConfigDeletionReconciler(ctrl *gomock.Controller) *MockInsightsConfigDeletionReconciler { + mock := &MockInsightsConfigDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockInsightsConfigDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockInsightsConfigDeletionReconciler) EXPECT() *MockInsightsConfigDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileInsightsConfigDeletion mocks base method. +func (m *MockInsightsConfigDeletionReconciler) ReconcileInsightsConfigDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileInsightsConfigDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileInsightsConfigDeletion indicates an expected call of ReconcileInsightsConfigDeletion. +func (mr *MockInsightsConfigDeletionReconcilerMockRecorder) ReconcileInsightsConfigDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileInsightsConfigDeletion", reflect.TypeOf((*MockInsightsConfigDeletionReconciler)(nil).ReconcileInsightsConfigDeletion), req) +} + +// MockInsightsConfigFinalizer is a mock of InsightsConfigFinalizer interface. +type MockInsightsConfigFinalizer struct { + ctrl *gomock.Controller + recorder *MockInsightsConfigFinalizerMockRecorder +} + +// MockInsightsConfigFinalizerMockRecorder is the mock recorder for MockInsightsConfigFinalizer. +type MockInsightsConfigFinalizerMockRecorder struct { + mock *MockInsightsConfigFinalizer +} + +// NewMockInsightsConfigFinalizer creates a new mock instance. +func NewMockInsightsConfigFinalizer(ctrl *gomock.Controller) *MockInsightsConfigFinalizer { + mock := &MockInsightsConfigFinalizer{ctrl: ctrl} + mock.recorder = &MockInsightsConfigFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockInsightsConfigFinalizer) EXPECT() *MockInsightsConfigFinalizerMockRecorder { + return m.recorder +} + +// FinalizeInsightsConfig mocks base method. +func (m *MockInsightsConfigFinalizer) FinalizeInsightsConfig(obj *v2alpha1.InsightsConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeInsightsConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeInsightsConfig indicates an expected call of FinalizeInsightsConfig. +func (mr *MockInsightsConfigFinalizerMockRecorder) FinalizeInsightsConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeInsightsConfig", reflect.TypeOf((*MockInsightsConfigFinalizer)(nil).FinalizeInsightsConfig), obj) +} + +// InsightsConfigFinalizerName mocks base method. +func (m *MockInsightsConfigFinalizer) InsightsConfigFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "InsightsConfigFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// InsightsConfigFinalizerName indicates an expected call of InsightsConfigFinalizerName. +func (mr *MockInsightsConfigFinalizerMockRecorder) InsightsConfigFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InsightsConfigFinalizerName", reflect.TypeOf((*MockInsightsConfigFinalizer)(nil).InsightsConfigFinalizerName)) +} + +// ReconcileInsightsConfig mocks base method. +func (m *MockInsightsConfigFinalizer) ReconcileInsightsConfig(obj *v2alpha1.InsightsConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileInsightsConfig", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileInsightsConfig indicates an expected call of ReconcileInsightsConfig. +func (mr *MockInsightsConfigFinalizerMockRecorder) ReconcileInsightsConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileInsightsConfig", reflect.TypeOf((*MockInsightsConfigFinalizer)(nil).ReconcileInsightsConfig), obj) +} + +// MockInsightsConfigReconcileLoop is a mock of InsightsConfigReconcileLoop interface. +type MockInsightsConfigReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockInsightsConfigReconcileLoopMockRecorder +} + +// MockInsightsConfigReconcileLoopMockRecorder is the mock recorder for MockInsightsConfigReconcileLoop. +type MockInsightsConfigReconcileLoopMockRecorder struct { + mock *MockInsightsConfigReconcileLoop +} + +// NewMockInsightsConfigReconcileLoop creates a new mock instance. +func NewMockInsightsConfigReconcileLoop(ctrl *gomock.Controller) *MockInsightsConfigReconcileLoop { + mock := &MockInsightsConfigReconcileLoop{ctrl: ctrl} + mock.recorder = &MockInsightsConfigReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockInsightsConfigReconcileLoop) EXPECT() *MockInsightsConfigReconcileLoopMockRecorder { + return m.recorder +} + +// RunInsightsConfigReconciler mocks base method. +func (m *MockInsightsConfigReconcileLoop) RunInsightsConfigReconciler(ctx context.Context, rec controller.InsightsConfigReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunInsightsConfigReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunInsightsConfigReconciler indicates an expected call of RunInsightsConfigReconciler. +func (mr *MockInsightsConfigReconcileLoopMockRecorder) RunInsightsConfigReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunInsightsConfigReconciler", reflect.TypeOf((*MockInsightsConfigReconcileLoop)(nil).RunInsightsConfigReconciler), varargs...) +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/controller/multicluster_reconcilers.go b/client-go/admin.gloo.solo.io/v2alpha1/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..05b69715e --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/controller/multicluster_reconcilers.go @@ -0,0 +1,161 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + admin_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the WaypointLifecycleManager Resource across clusters. +// implemented by the user +type MulticlusterWaypointLifecycleManagerReconciler interface { + ReconcileWaypointLifecycleManager(clusterName string, obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) (reconcile.Result, error) +} + +// Reconcile deletion events for the WaypointLifecycleManager Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterWaypointLifecycleManagerDeletionReconciler interface { + ReconcileWaypointLifecycleManagerDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterWaypointLifecycleManagerReconcilerFuncs struct { + OnReconcileWaypointLifecycleManager func(clusterName string, obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) (reconcile.Result, error) + OnReconcileWaypointLifecycleManagerDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterWaypointLifecycleManagerReconcilerFuncs) ReconcileWaypointLifecycleManager(clusterName string, obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) (reconcile.Result, error) { + if f.OnReconcileWaypointLifecycleManager == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileWaypointLifecycleManager(clusterName, obj) +} + +func (f *MulticlusterWaypointLifecycleManagerReconcilerFuncs) ReconcileWaypointLifecycleManagerDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileWaypointLifecycleManagerDeletion == nil { + return nil + } + return f.OnReconcileWaypointLifecycleManagerDeletion(clusterName, req) +} + +type MulticlusterWaypointLifecycleManagerReconcileLoop interface { + // AddMulticlusterWaypointLifecycleManagerReconciler adds a MulticlusterWaypointLifecycleManagerReconciler to the MulticlusterWaypointLifecycleManagerReconcileLoop. + AddMulticlusterWaypointLifecycleManagerReconciler(ctx context.Context, rec MulticlusterWaypointLifecycleManagerReconciler, predicates ...predicate.Predicate) +} + +type multiclusterWaypointLifecycleManagerReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterWaypointLifecycleManagerReconcileLoop) AddMulticlusterWaypointLifecycleManagerReconciler(ctx context.Context, rec MulticlusterWaypointLifecycleManagerReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericWaypointLifecycleManagerMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterWaypointLifecycleManagerReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterWaypointLifecycleManagerReconcileLoop { + return &multiclusterWaypointLifecycleManagerReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager{}, options)} +} + +type genericWaypointLifecycleManagerMulticlusterReconciler struct { + reconciler MulticlusterWaypointLifecycleManagerReconciler +} + +func (g genericWaypointLifecycleManagerMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterWaypointLifecycleManagerDeletionReconciler); ok { + return deletionReconciler.ReconcileWaypointLifecycleManagerDeletion(cluster, req) + } + return nil +} + +func (g genericWaypointLifecycleManagerMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: WaypointLifecycleManager handler received event for %T", object) + } + return g.reconciler.ReconcileWaypointLifecycleManager(cluster, obj) +} + +// Reconcile Upsert events for the InsightsConfig Resource across clusters. +// implemented by the user +type MulticlusterInsightsConfigReconciler interface { + ReconcileInsightsConfig(clusterName string, obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the InsightsConfig Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterInsightsConfigDeletionReconciler interface { + ReconcileInsightsConfigDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterInsightsConfigReconcilerFuncs struct { + OnReconcileInsightsConfig func(clusterName string, obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) (reconcile.Result, error) + OnReconcileInsightsConfigDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterInsightsConfigReconcilerFuncs) ReconcileInsightsConfig(clusterName string, obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) (reconcile.Result, error) { + if f.OnReconcileInsightsConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileInsightsConfig(clusterName, obj) +} + +func (f *MulticlusterInsightsConfigReconcilerFuncs) ReconcileInsightsConfigDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileInsightsConfigDeletion == nil { + return nil + } + return f.OnReconcileInsightsConfigDeletion(clusterName, req) +} + +type MulticlusterInsightsConfigReconcileLoop interface { + // AddMulticlusterInsightsConfigReconciler adds a MulticlusterInsightsConfigReconciler to the MulticlusterInsightsConfigReconcileLoop. + AddMulticlusterInsightsConfigReconciler(ctx context.Context, rec MulticlusterInsightsConfigReconciler, predicates ...predicate.Predicate) +} + +type multiclusterInsightsConfigReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterInsightsConfigReconcileLoop) AddMulticlusterInsightsConfigReconciler(ctx context.Context, rec MulticlusterInsightsConfigReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericInsightsConfigMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterInsightsConfigReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterInsightsConfigReconcileLoop { + return &multiclusterInsightsConfigReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &admin_gloo_solo_io_v2alpha1.InsightsConfig{}, options)} +} + +type genericInsightsConfigMulticlusterReconciler struct { + reconciler MulticlusterInsightsConfigReconciler +} + +func (g genericInsightsConfigMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterInsightsConfigDeletionReconciler); ok { + return deletionReconciler.ReconcileInsightsConfigDeletion(cluster, req) + } + return nil +} + +func (g genericInsightsConfigMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2alpha1.InsightsConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: InsightsConfig handler received event for %T", object) + } + return g.reconciler.ReconcileInsightsConfig(cluster, obj) +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/controller/reconcilers.go b/client-go/admin.gloo.solo.io/v2alpha1/controller/reconcilers.go new file mode 100644 index 000000000..c39d7cc50 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/controller/reconcilers.go @@ -0,0 +1,252 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + admin_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the WaypointLifecycleManager Resource. +// implemented by the user +type WaypointLifecycleManagerReconciler interface { + ReconcileWaypointLifecycleManager(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) (reconcile.Result, error) +} + +// Reconcile deletion events for the WaypointLifecycleManager Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type WaypointLifecycleManagerDeletionReconciler interface { + ReconcileWaypointLifecycleManagerDeletion(req reconcile.Request) error +} + +type WaypointLifecycleManagerReconcilerFuncs struct { + OnReconcileWaypointLifecycleManager func(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) (reconcile.Result, error) + OnReconcileWaypointLifecycleManagerDeletion func(req reconcile.Request) error +} + +func (f *WaypointLifecycleManagerReconcilerFuncs) ReconcileWaypointLifecycleManager(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) (reconcile.Result, error) { + if f.OnReconcileWaypointLifecycleManager == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileWaypointLifecycleManager(obj) +} + +func (f *WaypointLifecycleManagerReconcilerFuncs) ReconcileWaypointLifecycleManagerDeletion(req reconcile.Request) error { + if f.OnReconcileWaypointLifecycleManagerDeletion == nil { + return nil + } + return f.OnReconcileWaypointLifecycleManagerDeletion(req) +} + +// Reconcile and finalize the WaypointLifecycleManager Resource +// implemented by the user +type WaypointLifecycleManagerFinalizer interface { + WaypointLifecycleManagerReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + WaypointLifecycleManagerFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeWaypointLifecycleManager(obj *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) error +} + +type WaypointLifecycleManagerReconcileLoop interface { + RunWaypointLifecycleManagerReconciler(ctx context.Context, rec WaypointLifecycleManagerReconciler, predicates ...predicate.Predicate) error +} + +type waypointLifecycleManagerReconcileLoop struct { + loop reconcile.Loop +} + +func NewWaypointLifecycleManagerReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) WaypointLifecycleManagerReconcileLoop { + return &waypointLifecycleManagerReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager{}, options), + } +} + +func (c *waypointLifecycleManagerReconcileLoop) RunWaypointLifecycleManagerReconciler(ctx context.Context, reconciler WaypointLifecycleManagerReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericWaypointLifecycleManagerReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(WaypointLifecycleManagerFinalizer); ok { + reconcilerWrapper = genericWaypointLifecycleManagerFinalizer{ + genericWaypointLifecycleManagerReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericWaypointLifecycleManagerHandler implements a generic reconcile.Reconciler +type genericWaypointLifecycleManagerReconciler struct { + reconciler WaypointLifecycleManagerReconciler +} + +func (r genericWaypointLifecycleManagerReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: WaypointLifecycleManager handler received event for %T", object) + } + return r.reconciler.ReconcileWaypointLifecycleManager(obj) +} + +func (r genericWaypointLifecycleManagerReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(WaypointLifecycleManagerDeletionReconciler); ok { + return deletionReconciler.ReconcileWaypointLifecycleManagerDeletion(request) + } + return nil +} + +// genericWaypointLifecycleManagerFinalizer implements a generic reconcile.FinalizingReconciler +type genericWaypointLifecycleManagerFinalizer struct { + genericWaypointLifecycleManagerReconciler + finalizingReconciler WaypointLifecycleManagerFinalizer +} + +func (r genericWaypointLifecycleManagerFinalizer) FinalizerName() string { + return r.finalizingReconciler.WaypointLifecycleManagerFinalizerName() +} + +func (r genericWaypointLifecycleManagerFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) + if !ok { + return errors.Errorf("internal error: WaypointLifecycleManager handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeWaypointLifecycleManager(obj) +} + +// Reconcile Upsert events for the InsightsConfig Resource. +// implemented by the user +type InsightsConfigReconciler interface { + ReconcileInsightsConfig(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the InsightsConfig Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type InsightsConfigDeletionReconciler interface { + ReconcileInsightsConfigDeletion(req reconcile.Request) error +} + +type InsightsConfigReconcilerFuncs struct { + OnReconcileInsightsConfig func(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) (reconcile.Result, error) + OnReconcileInsightsConfigDeletion func(req reconcile.Request) error +} + +func (f *InsightsConfigReconcilerFuncs) ReconcileInsightsConfig(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) (reconcile.Result, error) { + if f.OnReconcileInsightsConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileInsightsConfig(obj) +} + +func (f *InsightsConfigReconcilerFuncs) ReconcileInsightsConfigDeletion(req reconcile.Request) error { + if f.OnReconcileInsightsConfigDeletion == nil { + return nil + } + return f.OnReconcileInsightsConfigDeletion(req) +} + +// Reconcile and finalize the InsightsConfig Resource +// implemented by the user +type InsightsConfigFinalizer interface { + InsightsConfigReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + InsightsConfigFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeInsightsConfig(obj *admin_gloo_solo_io_v2alpha1.InsightsConfig) error +} + +type InsightsConfigReconcileLoop interface { + RunInsightsConfigReconciler(ctx context.Context, rec InsightsConfigReconciler, predicates ...predicate.Predicate) error +} + +type insightsConfigReconcileLoop struct { + loop reconcile.Loop +} + +func NewInsightsConfigReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) InsightsConfigReconcileLoop { + return &insightsConfigReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &admin_gloo_solo_io_v2alpha1.InsightsConfig{}, options), + } +} + +func (c *insightsConfigReconcileLoop) RunInsightsConfigReconciler(ctx context.Context, reconciler InsightsConfigReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericInsightsConfigReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(InsightsConfigFinalizer); ok { + reconcilerWrapper = genericInsightsConfigFinalizer{ + genericInsightsConfigReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericInsightsConfigHandler implements a generic reconcile.Reconciler +type genericInsightsConfigReconciler struct { + reconciler InsightsConfigReconciler +} + +func (r genericInsightsConfigReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*admin_gloo_solo_io_v2alpha1.InsightsConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: InsightsConfig handler received event for %T", object) + } + return r.reconciler.ReconcileInsightsConfig(obj) +} + +func (r genericInsightsConfigReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(InsightsConfigDeletionReconciler); ok { + return deletionReconciler.ReconcileInsightsConfigDeletion(request) + } + return nil +} + +// genericInsightsConfigFinalizer implements a generic reconcile.FinalizingReconciler +type genericInsightsConfigFinalizer struct { + genericInsightsConfigReconciler + finalizingReconciler InsightsConfigFinalizer +} + +func (r genericInsightsConfigFinalizer) FinalizerName() string { + return r.finalizingReconciler.InsightsConfigFinalizerName() +} + +func (r genericInsightsConfigFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*admin_gloo_solo_io_v2alpha1.InsightsConfig) + if !ok { + return errors.Errorf("internal error: InsightsConfig handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeInsightsConfig(obj) +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/doc.go b/client-go/admin.gloo.solo.io/v2alpha1/doc.go new file mode 100644 index 000000000..fc3d3511d --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2alpha1 contains API Schema definitions for the admin.gloo.solo.io v2alpha1 API group +// +k8s:deepcopy-gen=package,register +// +groupName=admin.gloo.solo.io +package v2alpha1 diff --git a/client-go/admin.gloo.solo.io/v2alpha1/insights_config.pb.clone.go b/client-go/admin.gloo.solo.io/v2alpha1/insights_config.pb.clone.go new file mode 100644 index 000000000..051442f99 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/insights_config.pb.clone.go @@ -0,0 +1,82 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2alpha1/insights_config.proto + +package v2alpha1 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *InsightsConfigSpec) Clone() proto.Message { + var target *InsightsConfigSpec + if m == nil { + return target + } + target = &InsightsConfigSpec{} + + if m.GetDisabledInsights() != nil { + target.DisabledInsights = make([]string, len(m.GetDisabledInsights())) + for idx, v := range m.GetDisabledInsights() { + + target.DisabledInsights[idx] = v + + } + } + + return target +} + +// Clone function +func (m *InsightsConfigStatus) Clone() proto.Message { + var target *InsightsConfigStatus + if m == nil { + return target + } + target = &InsightsConfigStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + return target +} + +// Clone function +func (m *InsightsConfigReport) Clone() proto.Message { + var target *InsightsConfigReport + if m == nil { + return target + } + target = &InsightsConfigReport{} + + if h, ok := interface{}(m.GetReport()).(clone.Cloner); ok { + target.Report = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Report = proto.Clone(m.GetReport()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + return target +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/insights_config.pb.equal.go b/client-go/admin.gloo.solo.io/v2alpha1/insights_config.pb.equal.go new file mode 100644 index 000000000..262fe63d2 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/insights_config.pb.equal.go @@ -0,0 +1,129 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2alpha1/insights_config.proto + +package v2alpha1 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *InsightsConfigSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*InsightsConfigSpec) + if !ok { + that2, ok := that.(InsightsConfigSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetDisabledInsights()) != len(target.GetDisabledInsights()) { + return false + } + for idx, v := range m.GetDisabledInsights() { + + if strings.Compare(v, target.GetDisabledInsights()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *InsightsConfigStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*InsightsConfigStatus) + if !ok { + that2, ok := that.(InsightsConfigStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + return true +} + +// Equal function +func (m *InsightsConfigReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*InsightsConfigReport) + if !ok { + that2, ok := that.(InsightsConfigReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetReport()).(equality.Equalizer); ok { + if !h.Equal(target.GetReport()) { + return false + } + } else { + if !proto.Equal(m.GetReport(), target.GetReport()) { + return false + } + } + + return true +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/insights_config.pb.go b/client-go/admin.gloo.solo.io/v2alpha1/insights_config.pb.go new file mode 100644 index 000000000..e0f2b7817 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/insights_config.pb.go @@ -0,0 +1,327 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2alpha1/insights_config.proto + +package v2alpha1 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/golang/protobuf/ptypes/duration" + _ "github.com/golang/protobuf/ptypes/empty" + _ "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// `InsightsConfig` describes the configuration for the Gloo Mesh Core Insight Engine. +// Define either an list of enabled insights or a list of disabled insights, +// based on the insight code. +// For example, to disable the insight CFG002: +// ```yaml +// apiVersion: admin.gloo.solo.io/v2alpha1 +// kind: InsightsConfig +// metadata: +// +// name: insights-config +// namespace: gloo-mesh +// +// spec: +// +// disabledInsights: +// - CFG0002 +// ``` +type InsightsConfigSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of insight codes, such as `CFG0002` that disables insights. If included in this list, insights will not show up in the Gloo Core Dashboard insights list. + DisabledInsights []string `protobuf:"bytes,2,rep,name=disabled_insights,json=disabledInsights,proto3" json:"disabled_insights,omitempty"` +} + +func (x *InsightsConfigSpec) Reset() { + *x = InsightsConfigSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InsightsConfigSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InsightsConfigSpec) ProtoMessage() {} + +func (x *InsightsConfigSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InsightsConfigSpec.ProtoReflect.Descriptor instead. +func (*InsightsConfigSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDescGZIP(), []int{0} +} + +func (x *InsightsConfigSpec) GetDisabledInsights() []string { + if x != nil { + return x.DisabledInsights + } + return nil +} + +type InsightsConfigStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` +} + +func (x *InsightsConfigStatus) Reset() { + *x = InsightsConfigStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InsightsConfigStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InsightsConfigStatus) ProtoMessage() {} + +func (x *InsightsConfigStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InsightsConfigStatus.ProtoReflect.Descriptor instead. +func (*InsightsConfigStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDescGZIP(), []int{1} +} + +func (x *InsightsConfigStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +type InsightsConfigReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Report *v2.Report `protobuf:"bytes,1,opt,name=report,proto3" json:"report,omitempty"` +} + +func (x *InsightsConfigReport) Reset() { + *x = InsightsConfigReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InsightsConfigReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InsightsConfigReport) ProtoMessage() {} + +func (x *InsightsConfigReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InsightsConfigReport.ProtoReflect.Descriptor instead. +func (*InsightsConfigReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDescGZIP(), []int{2} +} + +func (x *InsightsConfigReport) GetReport() *v2.Report { + if x != nil { + return x.Report + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDesc = []byte{ + 0x0a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x12, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x2b, 0x0a, 0x11, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x22, 0x4b, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x69, + 0x67, 0x68, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x4b, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x0a, + 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x42, 0x59, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0xb8, 0xf5, 0x04, 0x01, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_goTypes = []interface{}{ + (*InsightsConfigSpec)(nil), // 0: admin.gloo.solo.io.InsightsConfigSpec + (*InsightsConfigStatus)(nil), // 1: admin.gloo.solo.io.InsightsConfigStatus + (*InsightsConfigReport)(nil), // 2: admin.gloo.solo.io.InsightsConfigReport + (*v2.Status)(nil), // 3: common.gloo.solo.io.Status + (*v2.Report)(nil), // 4: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_depIdxs = []int32{ + 3, // 0: admin.gloo.solo.io.InsightsConfigStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 1: admin.gloo.solo.io.InsightsConfigReport.report:type_name -> common.gloo.solo.io.Report + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsightsConfigSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsightsConfigStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsightsConfigReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_insights_config_proto_depIdxs = nil +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/insights_config.pb.hash.go b/client-go/admin.gloo.solo.io/v2alpha1/insights_config.pb.hash.go new file mode 100644 index 000000000..dcd5c7ece --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/insights_config.pb.hash.go @@ -0,0 +1,122 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2alpha1/insights_config.proto + +package v2alpha1 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *InsightsConfigSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1.InsightsConfigSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetDisabledInsights() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *InsightsConfigStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1.InsightsConfigStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *InsightsConfigReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1.InsightsConfigReport")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetReport()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Report")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetReport(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Report")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/json.gen.go b/client-go/admin.gloo.solo.io/v2alpha1/json.gen.go new file mode 100644 index 000000000..159f0a130 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/json.gen.go @@ -0,0 +1,72 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2alpha1 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for WaypointLifecycleManagerSpec +func (this *WaypointLifecycleManagerSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for WaypointLifecycleManagerSpec +func (this *WaypointLifecycleManagerSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for WaypointLifecycleManagerStatus +func (this *WaypointLifecycleManagerStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for WaypointLifecycleManagerStatus +func (this *WaypointLifecycleManagerStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for InsightsConfigSpec +func (this *InsightsConfigSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for InsightsConfigSpec +func (this *InsightsConfigSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for InsightsConfigStatus +func (this *InsightsConfigStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for InsightsConfigStatus +func (this *InsightsConfigStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/mocks/clients.go b/client-go/admin.gloo.solo.io/v2alpha1/mocks/clients.go new file mode 100644 index 000000000..dee197487 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/mocks/clients.go @@ -0,0 +1,1112 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2alpha1 is a generated GoMock package. +package mock_v2alpha1 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2alpha1.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2alpha1.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// InsightsConfigs mocks base method. +func (m *MockClientset) InsightsConfigs() v2alpha1.InsightsConfigClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "InsightsConfigs") + ret0, _ := ret[0].(v2alpha1.InsightsConfigClient) + return ret0 +} + +// InsightsConfigs indicates an expected call of InsightsConfigs. +func (mr *MockClientsetMockRecorder) InsightsConfigs() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InsightsConfigs", reflect.TypeOf((*MockClientset)(nil).InsightsConfigs)) +} + +// WaypointLifecycleManagers mocks base method. +func (m *MockClientset) WaypointLifecycleManagers() v2alpha1.WaypointLifecycleManagerClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "WaypointLifecycleManagers") + ret0, _ := ret[0].(v2alpha1.WaypointLifecycleManagerClient) + return ret0 +} + +// WaypointLifecycleManagers indicates an expected call of WaypointLifecycleManagers. +func (mr *MockClientsetMockRecorder) WaypointLifecycleManagers() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WaypointLifecycleManagers", reflect.TypeOf((*MockClientset)(nil).WaypointLifecycleManagers)) +} + +// MockWaypointLifecycleManagerReader is a mock of WaypointLifecycleManagerReader interface. +type MockWaypointLifecycleManagerReader struct { + ctrl *gomock.Controller + recorder *MockWaypointLifecycleManagerReaderMockRecorder +} + +// MockWaypointLifecycleManagerReaderMockRecorder is the mock recorder for MockWaypointLifecycleManagerReader. +type MockWaypointLifecycleManagerReaderMockRecorder struct { + mock *MockWaypointLifecycleManagerReader +} + +// NewMockWaypointLifecycleManagerReader creates a new mock instance. +func NewMockWaypointLifecycleManagerReader(ctrl *gomock.Controller) *MockWaypointLifecycleManagerReader { + mock := &MockWaypointLifecycleManagerReader{ctrl: ctrl} + mock.recorder = &MockWaypointLifecycleManagerReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWaypointLifecycleManagerReader) EXPECT() *MockWaypointLifecycleManagerReaderMockRecorder { + return m.recorder +} + +// GetWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerReader) GetWaypointLifecycleManager(ctx context.Context, key client.ObjectKey) (*v2alpha1.WaypointLifecycleManager, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWaypointLifecycleManager", ctx, key) + ret0, _ := ret[0].(*v2alpha1.WaypointLifecycleManager) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWaypointLifecycleManager indicates an expected call of GetWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerReaderMockRecorder) GetWaypointLifecycleManager(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerReader)(nil).GetWaypointLifecycleManager), ctx, key) +} + +// ListWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerReader) ListWaypointLifecycleManager(ctx context.Context, opts ...client.ListOption) (*v2alpha1.WaypointLifecycleManagerList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(*v2alpha1.WaypointLifecycleManagerList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWaypointLifecycleManager indicates an expected call of ListWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerReaderMockRecorder) ListWaypointLifecycleManager(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerReader)(nil).ListWaypointLifecycleManager), varargs...) +} + +// MockWaypointLifecycleManagerWriter is a mock of WaypointLifecycleManagerWriter interface. +type MockWaypointLifecycleManagerWriter struct { + ctrl *gomock.Controller + recorder *MockWaypointLifecycleManagerWriterMockRecorder +} + +// MockWaypointLifecycleManagerWriterMockRecorder is the mock recorder for MockWaypointLifecycleManagerWriter. +type MockWaypointLifecycleManagerWriterMockRecorder struct { + mock *MockWaypointLifecycleManagerWriter +} + +// NewMockWaypointLifecycleManagerWriter creates a new mock instance. +func NewMockWaypointLifecycleManagerWriter(ctrl *gomock.Controller) *MockWaypointLifecycleManagerWriter { + mock := &MockWaypointLifecycleManagerWriter{ctrl: ctrl} + mock.recorder = &MockWaypointLifecycleManagerWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWaypointLifecycleManagerWriter) EXPECT() *MockWaypointLifecycleManagerWriterMockRecorder { + return m.recorder +} + +// CreateWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerWriter) CreateWaypointLifecycleManager(ctx context.Context, obj *v2alpha1.WaypointLifecycleManager, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWaypointLifecycleManager indicates an expected call of CreateWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerWriterMockRecorder) CreateWaypointLifecycleManager(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerWriter)(nil).CreateWaypointLifecycleManager), varargs...) +} + +// DeleteAllOfWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerWriter) DeleteAllOfWaypointLifecycleManager(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfWaypointLifecycleManager indicates an expected call of DeleteAllOfWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerWriterMockRecorder) DeleteAllOfWaypointLifecycleManager(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerWriter)(nil).DeleteAllOfWaypointLifecycleManager), varargs...) +} + +// DeleteWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerWriter) DeleteWaypointLifecycleManager(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWaypointLifecycleManager indicates an expected call of DeleteWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerWriterMockRecorder) DeleteWaypointLifecycleManager(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerWriter)(nil).DeleteWaypointLifecycleManager), varargs...) +} + +// PatchWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerWriter) PatchWaypointLifecycleManager(ctx context.Context, obj *v2alpha1.WaypointLifecycleManager, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWaypointLifecycleManager indicates an expected call of PatchWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerWriterMockRecorder) PatchWaypointLifecycleManager(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerWriter)(nil).PatchWaypointLifecycleManager), varargs...) +} + +// UpdateWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerWriter) UpdateWaypointLifecycleManager(ctx context.Context, obj *v2alpha1.WaypointLifecycleManager, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWaypointLifecycleManager indicates an expected call of UpdateWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerWriterMockRecorder) UpdateWaypointLifecycleManager(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerWriter)(nil).UpdateWaypointLifecycleManager), varargs...) +} + +// UpsertWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerWriter) UpsertWaypointLifecycleManager(ctx context.Context, obj *v2alpha1.WaypointLifecycleManager, transitionFuncs ...v2alpha1.WaypointLifecycleManagerTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertWaypointLifecycleManager indicates an expected call of UpsertWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerWriterMockRecorder) UpsertWaypointLifecycleManager(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerWriter)(nil).UpsertWaypointLifecycleManager), varargs...) +} + +// MockWaypointLifecycleManagerStatusWriter is a mock of WaypointLifecycleManagerStatusWriter interface. +type MockWaypointLifecycleManagerStatusWriter struct { + ctrl *gomock.Controller + recorder *MockWaypointLifecycleManagerStatusWriterMockRecorder +} + +// MockWaypointLifecycleManagerStatusWriterMockRecorder is the mock recorder for MockWaypointLifecycleManagerStatusWriter. +type MockWaypointLifecycleManagerStatusWriterMockRecorder struct { + mock *MockWaypointLifecycleManagerStatusWriter +} + +// NewMockWaypointLifecycleManagerStatusWriter creates a new mock instance. +func NewMockWaypointLifecycleManagerStatusWriter(ctrl *gomock.Controller) *MockWaypointLifecycleManagerStatusWriter { + mock := &MockWaypointLifecycleManagerStatusWriter{ctrl: ctrl} + mock.recorder = &MockWaypointLifecycleManagerStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWaypointLifecycleManagerStatusWriter) EXPECT() *MockWaypointLifecycleManagerStatusWriterMockRecorder { + return m.recorder +} + +// PatchWaypointLifecycleManagerStatus mocks base method. +func (m *MockWaypointLifecycleManagerStatusWriter) PatchWaypointLifecycleManagerStatus(ctx context.Context, obj *v2alpha1.WaypointLifecycleManager, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWaypointLifecycleManagerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWaypointLifecycleManagerStatus indicates an expected call of PatchWaypointLifecycleManagerStatus. +func (mr *MockWaypointLifecycleManagerStatusWriterMockRecorder) PatchWaypointLifecycleManagerStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWaypointLifecycleManagerStatus", reflect.TypeOf((*MockWaypointLifecycleManagerStatusWriter)(nil).PatchWaypointLifecycleManagerStatus), varargs...) +} + +// UpdateWaypointLifecycleManagerStatus mocks base method. +func (m *MockWaypointLifecycleManagerStatusWriter) UpdateWaypointLifecycleManagerStatus(ctx context.Context, obj *v2alpha1.WaypointLifecycleManager, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWaypointLifecycleManagerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWaypointLifecycleManagerStatus indicates an expected call of UpdateWaypointLifecycleManagerStatus. +func (mr *MockWaypointLifecycleManagerStatusWriterMockRecorder) UpdateWaypointLifecycleManagerStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWaypointLifecycleManagerStatus", reflect.TypeOf((*MockWaypointLifecycleManagerStatusWriter)(nil).UpdateWaypointLifecycleManagerStatus), varargs...) +} + +// MockWaypointLifecycleManagerClient is a mock of WaypointLifecycleManagerClient interface. +type MockWaypointLifecycleManagerClient struct { + ctrl *gomock.Controller + recorder *MockWaypointLifecycleManagerClientMockRecorder +} + +// MockWaypointLifecycleManagerClientMockRecorder is the mock recorder for MockWaypointLifecycleManagerClient. +type MockWaypointLifecycleManagerClientMockRecorder struct { + mock *MockWaypointLifecycleManagerClient +} + +// NewMockWaypointLifecycleManagerClient creates a new mock instance. +func NewMockWaypointLifecycleManagerClient(ctrl *gomock.Controller) *MockWaypointLifecycleManagerClient { + mock := &MockWaypointLifecycleManagerClient{ctrl: ctrl} + mock.recorder = &MockWaypointLifecycleManagerClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWaypointLifecycleManagerClient) EXPECT() *MockWaypointLifecycleManagerClientMockRecorder { + return m.recorder +} + +// CreateWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerClient) CreateWaypointLifecycleManager(ctx context.Context, obj *v2alpha1.WaypointLifecycleManager, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWaypointLifecycleManager indicates an expected call of CreateWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerClientMockRecorder) CreateWaypointLifecycleManager(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerClient)(nil).CreateWaypointLifecycleManager), varargs...) +} + +// DeleteAllOfWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerClient) DeleteAllOfWaypointLifecycleManager(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfWaypointLifecycleManager indicates an expected call of DeleteAllOfWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerClientMockRecorder) DeleteAllOfWaypointLifecycleManager(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerClient)(nil).DeleteAllOfWaypointLifecycleManager), varargs...) +} + +// DeleteWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerClient) DeleteWaypointLifecycleManager(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWaypointLifecycleManager indicates an expected call of DeleteWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerClientMockRecorder) DeleteWaypointLifecycleManager(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerClient)(nil).DeleteWaypointLifecycleManager), varargs...) +} + +// GetWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerClient) GetWaypointLifecycleManager(ctx context.Context, key client.ObjectKey) (*v2alpha1.WaypointLifecycleManager, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWaypointLifecycleManager", ctx, key) + ret0, _ := ret[0].(*v2alpha1.WaypointLifecycleManager) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWaypointLifecycleManager indicates an expected call of GetWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerClientMockRecorder) GetWaypointLifecycleManager(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerClient)(nil).GetWaypointLifecycleManager), ctx, key) +} + +// ListWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerClient) ListWaypointLifecycleManager(ctx context.Context, opts ...client.ListOption) (*v2alpha1.WaypointLifecycleManagerList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(*v2alpha1.WaypointLifecycleManagerList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWaypointLifecycleManager indicates an expected call of ListWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerClientMockRecorder) ListWaypointLifecycleManager(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerClient)(nil).ListWaypointLifecycleManager), varargs...) +} + +// PatchWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerClient) PatchWaypointLifecycleManager(ctx context.Context, obj *v2alpha1.WaypointLifecycleManager, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWaypointLifecycleManager indicates an expected call of PatchWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerClientMockRecorder) PatchWaypointLifecycleManager(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerClient)(nil).PatchWaypointLifecycleManager), varargs...) +} + +// PatchWaypointLifecycleManagerStatus mocks base method. +func (m *MockWaypointLifecycleManagerClient) PatchWaypointLifecycleManagerStatus(ctx context.Context, obj *v2alpha1.WaypointLifecycleManager, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWaypointLifecycleManagerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWaypointLifecycleManagerStatus indicates an expected call of PatchWaypointLifecycleManagerStatus. +func (mr *MockWaypointLifecycleManagerClientMockRecorder) PatchWaypointLifecycleManagerStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWaypointLifecycleManagerStatus", reflect.TypeOf((*MockWaypointLifecycleManagerClient)(nil).PatchWaypointLifecycleManagerStatus), varargs...) +} + +// UpdateWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerClient) UpdateWaypointLifecycleManager(ctx context.Context, obj *v2alpha1.WaypointLifecycleManager, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWaypointLifecycleManager indicates an expected call of UpdateWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerClientMockRecorder) UpdateWaypointLifecycleManager(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerClient)(nil).UpdateWaypointLifecycleManager), varargs...) +} + +// UpdateWaypointLifecycleManagerStatus mocks base method. +func (m *MockWaypointLifecycleManagerClient) UpdateWaypointLifecycleManagerStatus(ctx context.Context, obj *v2alpha1.WaypointLifecycleManager, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWaypointLifecycleManagerStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWaypointLifecycleManagerStatus indicates an expected call of UpdateWaypointLifecycleManagerStatus. +func (mr *MockWaypointLifecycleManagerClientMockRecorder) UpdateWaypointLifecycleManagerStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWaypointLifecycleManagerStatus", reflect.TypeOf((*MockWaypointLifecycleManagerClient)(nil).UpdateWaypointLifecycleManagerStatus), varargs...) +} + +// UpsertWaypointLifecycleManager mocks base method. +func (m *MockWaypointLifecycleManagerClient) UpsertWaypointLifecycleManager(ctx context.Context, obj *v2alpha1.WaypointLifecycleManager, transitionFuncs ...v2alpha1.WaypointLifecycleManagerTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertWaypointLifecycleManager", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertWaypointLifecycleManager indicates an expected call of UpsertWaypointLifecycleManager. +func (mr *MockWaypointLifecycleManagerClientMockRecorder) UpsertWaypointLifecycleManager(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertWaypointLifecycleManager", reflect.TypeOf((*MockWaypointLifecycleManagerClient)(nil).UpsertWaypointLifecycleManager), varargs...) +} + +// MockMulticlusterWaypointLifecycleManagerClient is a mock of MulticlusterWaypointLifecycleManagerClient interface. +type MockMulticlusterWaypointLifecycleManagerClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWaypointLifecycleManagerClientMockRecorder +} + +// MockMulticlusterWaypointLifecycleManagerClientMockRecorder is the mock recorder for MockMulticlusterWaypointLifecycleManagerClient. +type MockMulticlusterWaypointLifecycleManagerClientMockRecorder struct { + mock *MockMulticlusterWaypointLifecycleManagerClient +} + +// NewMockMulticlusterWaypointLifecycleManagerClient creates a new mock instance. +func NewMockMulticlusterWaypointLifecycleManagerClient(ctrl *gomock.Controller) *MockMulticlusterWaypointLifecycleManagerClient { + mock := &MockMulticlusterWaypointLifecycleManagerClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterWaypointLifecycleManagerClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWaypointLifecycleManagerClient) EXPECT() *MockMulticlusterWaypointLifecycleManagerClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterWaypointLifecycleManagerClient) Cluster(cluster string) (v2alpha1.WaypointLifecycleManagerClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2alpha1.WaypointLifecycleManagerClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterWaypointLifecycleManagerClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterWaypointLifecycleManagerClient)(nil).Cluster), cluster) +} + +// MockInsightsConfigReader is a mock of InsightsConfigReader interface. +type MockInsightsConfigReader struct { + ctrl *gomock.Controller + recorder *MockInsightsConfigReaderMockRecorder +} + +// MockInsightsConfigReaderMockRecorder is the mock recorder for MockInsightsConfigReader. +type MockInsightsConfigReaderMockRecorder struct { + mock *MockInsightsConfigReader +} + +// NewMockInsightsConfigReader creates a new mock instance. +func NewMockInsightsConfigReader(ctrl *gomock.Controller) *MockInsightsConfigReader { + mock := &MockInsightsConfigReader{ctrl: ctrl} + mock.recorder = &MockInsightsConfigReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockInsightsConfigReader) EXPECT() *MockInsightsConfigReaderMockRecorder { + return m.recorder +} + +// GetInsightsConfig mocks base method. +func (m *MockInsightsConfigReader) GetInsightsConfig(ctx context.Context, key client.ObjectKey) (*v2alpha1.InsightsConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetInsightsConfig", ctx, key) + ret0, _ := ret[0].(*v2alpha1.InsightsConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetInsightsConfig indicates an expected call of GetInsightsConfig. +func (mr *MockInsightsConfigReaderMockRecorder) GetInsightsConfig(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetInsightsConfig", reflect.TypeOf((*MockInsightsConfigReader)(nil).GetInsightsConfig), ctx, key) +} + +// ListInsightsConfig mocks base method. +func (m *MockInsightsConfigReader) ListInsightsConfig(ctx context.Context, opts ...client.ListOption) (*v2alpha1.InsightsConfigList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListInsightsConfig", varargs...) + ret0, _ := ret[0].(*v2alpha1.InsightsConfigList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListInsightsConfig indicates an expected call of ListInsightsConfig. +func (mr *MockInsightsConfigReaderMockRecorder) ListInsightsConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListInsightsConfig", reflect.TypeOf((*MockInsightsConfigReader)(nil).ListInsightsConfig), varargs...) +} + +// MockInsightsConfigWriter is a mock of InsightsConfigWriter interface. +type MockInsightsConfigWriter struct { + ctrl *gomock.Controller + recorder *MockInsightsConfigWriterMockRecorder +} + +// MockInsightsConfigWriterMockRecorder is the mock recorder for MockInsightsConfigWriter. +type MockInsightsConfigWriterMockRecorder struct { + mock *MockInsightsConfigWriter +} + +// NewMockInsightsConfigWriter creates a new mock instance. +func NewMockInsightsConfigWriter(ctrl *gomock.Controller) *MockInsightsConfigWriter { + mock := &MockInsightsConfigWriter{ctrl: ctrl} + mock.recorder = &MockInsightsConfigWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockInsightsConfigWriter) EXPECT() *MockInsightsConfigWriterMockRecorder { + return m.recorder +} + +// CreateInsightsConfig mocks base method. +func (m *MockInsightsConfigWriter) CreateInsightsConfig(ctx context.Context, obj *v2alpha1.InsightsConfig, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateInsightsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateInsightsConfig indicates an expected call of CreateInsightsConfig. +func (mr *MockInsightsConfigWriterMockRecorder) CreateInsightsConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateInsightsConfig", reflect.TypeOf((*MockInsightsConfigWriter)(nil).CreateInsightsConfig), varargs...) +} + +// DeleteAllOfInsightsConfig mocks base method. +func (m *MockInsightsConfigWriter) DeleteAllOfInsightsConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfInsightsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfInsightsConfig indicates an expected call of DeleteAllOfInsightsConfig. +func (mr *MockInsightsConfigWriterMockRecorder) DeleteAllOfInsightsConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfInsightsConfig", reflect.TypeOf((*MockInsightsConfigWriter)(nil).DeleteAllOfInsightsConfig), varargs...) +} + +// DeleteInsightsConfig mocks base method. +func (m *MockInsightsConfigWriter) DeleteInsightsConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteInsightsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteInsightsConfig indicates an expected call of DeleteInsightsConfig. +func (mr *MockInsightsConfigWriterMockRecorder) DeleteInsightsConfig(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteInsightsConfig", reflect.TypeOf((*MockInsightsConfigWriter)(nil).DeleteInsightsConfig), varargs...) +} + +// PatchInsightsConfig mocks base method. +func (m *MockInsightsConfigWriter) PatchInsightsConfig(ctx context.Context, obj *v2alpha1.InsightsConfig, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchInsightsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchInsightsConfig indicates an expected call of PatchInsightsConfig. +func (mr *MockInsightsConfigWriterMockRecorder) PatchInsightsConfig(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchInsightsConfig", reflect.TypeOf((*MockInsightsConfigWriter)(nil).PatchInsightsConfig), varargs...) +} + +// UpdateInsightsConfig mocks base method. +func (m *MockInsightsConfigWriter) UpdateInsightsConfig(ctx context.Context, obj *v2alpha1.InsightsConfig, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateInsightsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateInsightsConfig indicates an expected call of UpdateInsightsConfig. +func (mr *MockInsightsConfigWriterMockRecorder) UpdateInsightsConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateInsightsConfig", reflect.TypeOf((*MockInsightsConfigWriter)(nil).UpdateInsightsConfig), varargs...) +} + +// UpsertInsightsConfig mocks base method. +func (m *MockInsightsConfigWriter) UpsertInsightsConfig(ctx context.Context, obj *v2alpha1.InsightsConfig, transitionFuncs ...v2alpha1.InsightsConfigTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertInsightsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertInsightsConfig indicates an expected call of UpsertInsightsConfig. +func (mr *MockInsightsConfigWriterMockRecorder) UpsertInsightsConfig(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertInsightsConfig", reflect.TypeOf((*MockInsightsConfigWriter)(nil).UpsertInsightsConfig), varargs...) +} + +// MockInsightsConfigStatusWriter is a mock of InsightsConfigStatusWriter interface. +type MockInsightsConfigStatusWriter struct { + ctrl *gomock.Controller + recorder *MockInsightsConfigStatusWriterMockRecorder +} + +// MockInsightsConfigStatusWriterMockRecorder is the mock recorder for MockInsightsConfigStatusWriter. +type MockInsightsConfigStatusWriterMockRecorder struct { + mock *MockInsightsConfigStatusWriter +} + +// NewMockInsightsConfigStatusWriter creates a new mock instance. +func NewMockInsightsConfigStatusWriter(ctrl *gomock.Controller) *MockInsightsConfigStatusWriter { + mock := &MockInsightsConfigStatusWriter{ctrl: ctrl} + mock.recorder = &MockInsightsConfigStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockInsightsConfigStatusWriter) EXPECT() *MockInsightsConfigStatusWriterMockRecorder { + return m.recorder +} + +// PatchInsightsConfigStatus mocks base method. +func (m *MockInsightsConfigStatusWriter) PatchInsightsConfigStatus(ctx context.Context, obj *v2alpha1.InsightsConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchInsightsConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchInsightsConfigStatus indicates an expected call of PatchInsightsConfigStatus. +func (mr *MockInsightsConfigStatusWriterMockRecorder) PatchInsightsConfigStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchInsightsConfigStatus", reflect.TypeOf((*MockInsightsConfigStatusWriter)(nil).PatchInsightsConfigStatus), varargs...) +} + +// UpdateInsightsConfigStatus mocks base method. +func (m *MockInsightsConfigStatusWriter) UpdateInsightsConfigStatus(ctx context.Context, obj *v2alpha1.InsightsConfig, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateInsightsConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateInsightsConfigStatus indicates an expected call of UpdateInsightsConfigStatus. +func (mr *MockInsightsConfigStatusWriterMockRecorder) UpdateInsightsConfigStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateInsightsConfigStatus", reflect.TypeOf((*MockInsightsConfigStatusWriter)(nil).UpdateInsightsConfigStatus), varargs...) +} + +// MockInsightsConfigClient is a mock of InsightsConfigClient interface. +type MockInsightsConfigClient struct { + ctrl *gomock.Controller + recorder *MockInsightsConfigClientMockRecorder +} + +// MockInsightsConfigClientMockRecorder is the mock recorder for MockInsightsConfigClient. +type MockInsightsConfigClientMockRecorder struct { + mock *MockInsightsConfigClient +} + +// NewMockInsightsConfigClient creates a new mock instance. +func NewMockInsightsConfigClient(ctrl *gomock.Controller) *MockInsightsConfigClient { + mock := &MockInsightsConfigClient{ctrl: ctrl} + mock.recorder = &MockInsightsConfigClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockInsightsConfigClient) EXPECT() *MockInsightsConfigClientMockRecorder { + return m.recorder +} + +// CreateInsightsConfig mocks base method. +func (m *MockInsightsConfigClient) CreateInsightsConfig(ctx context.Context, obj *v2alpha1.InsightsConfig, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateInsightsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateInsightsConfig indicates an expected call of CreateInsightsConfig. +func (mr *MockInsightsConfigClientMockRecorder) CreateInsightsConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateInsightsConfig", reflect.TypeOf((*MockInsightsConfigClient)(nil).CreateInsightsConfig), varargs...) +} + +// DeleteAllOfInsightsConfig mocks base method. +func (m *MockInsightsConfigClient) DeleteAllOfInsightsConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfInsightsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfInsightsConfig indicates an expected call of DeleteAllOfInsightsConfig. +func (mr *MockInsightsConfigClientMockRecorder) DeleteAllOfInsightsConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfInsightsConfig", reflect.TypeOf((*MockInsightsConfigClient)(nil).DeleteAllOfInsightsConfig), varargs...) +} + +// DeleteInsightsConfig mocks base method. +func (m *MockInsightsConfigClient) DeleteInsightsConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteInsightsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteInsightsConfig indicates an expected call of DeleteInsightsConfig. +func (mr *MockInsightsConfigClientMockRecorder) DeleteInsightsConfig(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteInsightsConfig", reflect.TypeOf((*MockInsightsConfigClient)(nil).DeleteInsightsConfig), varargs...) +} + +// GetInsightsConfig mocks base method. +func (m *MockInsightsConfigClient) GetInsightsConfig(ctx context.Context, key client.ObjectKey) (*v2alpha1.InsightsConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetInsightsConfig", ctx, key) + ret0, _ := ret[0].(*v2alpha1.InsightsConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetInsightsConfig indicates an expected call of GetInsightsConfig. +func (mr *MockInsightsConfigClientMockRecorder) GetInsightsConfig(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetInsightsConfig", reflect.TypeOf((*MockInsightsConfigClient)(nil).GetInsightsConfig), ctx, key) +} + +// ListInsightsConfig mocks base method. +func (m *MockInsightsConfigClient) ListInsightsConfig(ctx context.Context, opts ...client.ListOption) (*v2alpha1.InsightsConfigList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListInsightsConfig", varargs...) + ret0, _ := ret[0].(*v2alpha1.InsightsConfigList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListInsightsConfig indicates an expected call of ListInsightsConfig. +func (mr *MockInsightsConfigClientMockRecorder) ListInsightsConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListInsightsConfig", reflect.TypeOf((*MockInsightsConfigClient)(nil).ListInsightsConfig), varargs...) +} + +// PatchInsightsConfig mocks base method. +func (m *MockInsightsConfigClient) PatchInsightsConfig(ctx context.Context, obj *v2alpha1.InsightsConfig, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchInsightsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchInsightsConfig indicates an expected call of PatchInsightsConfig. +func (mr *MockInsightsConfigClientMockRecorder) PatchInsightsConfig(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchInsightsConfig", reflect.TypeOf((*MockInsightsConfigClient)(nil).PatchInsightsConfig), varargs...) +} + +// PatchInsightsConfigStatus mocks base method. +func (m *MockInsightsConfigClient) PatchInsightsConfigStatus(ctx context.Context, obj *v2alpha1.InsightsConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchInsightsConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchInsightsConfigStatus indicates an expected call of PatchInsightsConfigStatus. +func (mr *MockInsightsConfigClientMockRecorder) PatchInsightsConfigStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchInsightsConfigStatus", reflect.TypeOf((*MockInsightsConfigClient)(nil).PatchInsightsConfigStatus), varargs...) +} + +// UpdateInsightsConfig mocks base method. +func (m *MockInsightsConfigClient) UpdateInsightsConfig(ctx context.Context, obj *v2alpha1.InsightsConfig, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateInsightsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateInsightsConfig indicates an expected call of UpdateInsightsConfig. +func (mr *MockInsightsConfigClientMockRecorder) UpdateInsightsConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateInsightsConfig", reflect.TypeOf((*MockInsightsConfigClient)(nil).UpdateInsightsConfig), varargs...) +} + +// UpdateInsightsConfigStatus mocks base method. +func (m *MockInsightsConfigClient) UpdateInsightsConfigStatus(ctx context.Context, obj *v2alpha1.InsightsConfig, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateInsightsConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateInsightsConfigStatus indicates an expected call of UpdateInsightsConfigStatus. +func (mr *MockInsightsConfigClientMockRecorder) UpdateInsightsConfigStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateInsightsConfigStatus", reflect.TypeOf((*MockInsightsConfigClient)(nil).UpdateInsightsConfigStatus), varargs...) +} + +// UpsertInsightsConfig mocks base method. +func (m *MockInsightsConfigClient) UpsertInsightsConfig(ctx context.Context, obj *v2alpha1.InsightsConfig, transitionFuncs ...v2alpha1.InsightsConfigTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertInsightsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertInsightsConfig indicates an expected call of UpsertInsightsConfig. +func (mr *MockInsightsConfigClientMockRecorder) UpsertInsightsConfig(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertInsightsConfig", reflect.TypeOf((*MockInsightsConfigClient)(nil).UpsertInsightsConfig), varargs...) +} + +// MockMulticlusterInsightsConfigClient is a mock of MulticlusterInsightsConfigClient interface. +type MockMulticlusterInsightsConfigClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterInsightsConfigClientMockRecorder +} + +// MockMulticlusterInsightsConfigClientMockRecorder is the mock recorder for MockMulticlusterInsightsConfigClient. +type MockMulticlusterInsightsConfigClientMockRecorder struct { + mock *MockMulticlusterInsightsConfigClient +} + +// NewMockMulticlusterInsightsConfigClient creates a new mock instance. +func NewMockMulticlusterInsightsConfigClient(ctrl *gomock.Controller) *MockMulticlusterInsightsConfigClient { + mock := &MockMulticlusterInsightsConfigClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterInsightsConfigClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterInsightsConfigClient) EXPECT() *MockMulticlusterInsightsConfigClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterInsightsConfigClient) Cluster(cluster string) (v2alpha1.InsightsConfigClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2alpha1.InsightsConfigClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterInsightsConfigClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterInsightsConfigClient)(nil).Cluster), cluster) +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/proto_deepcopy.go b/client-go/admin.gloo.solo.io/v2alpha1/proto_deepcopy.go new file mode 100644 index 000000000..38e36c54c --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/proto_deepcopy.go @@ -0,0 +1,54 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2alpha1 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the WaypointLifecycleManager.Spec +func (in *WaypointLifecycleManagerSpec) DeepCopyInto(out *WaypointLifecycleManagerSpec) { + var p *WaypointLifecycleManagerSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*WaypointLifecycleManagerSpec) + } else { + p = proto.Clone(in).(*WaypointLifecycleManagerSpec) + } + *out = *p +} + +// DeepCopyInto for the WaypointLifecycleManager.Status +func (in *WaypointLifecycleManagerStatus) DeepCopyInto(out *WaypointLifecycleManagerStatus) { + var p *WaypointLifecycleManagerStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*WaypointLifecycleManagerStatus) + } else { + p = proto.Clone(in).(*WaypointLifecycleManagerStatus) + } + *out = *p +} + +// DeepCopyInto for the InsightsConfig.Spec +func (in *InsightsConfigSpec) DeepCopyInto(out *InsightsConfigSpec) { + var p *InsightsConfigSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*InsightsConfigSpec) + } else { + p = proto.Clone(in).(*InsightsConfigSpec) + } + *out = *p +} + +// DeepCopyInto for the InsightsConfig.Status +func (in *InsightsConfigStatus) DeepCopyInto(out *InsightsConfigStatus) { + var p *InsightsConfigStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*InsightsConfigStatus) + } else { + p = proto.Clone(in).(*InsightsConfigStatus) + } + *out = *p +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/providers/client_providers.go b/client-go/admin.gloo.solo.io/v2alpha1/providers/client_providers.go new file mode 100644 index 000000000..23a9813a1 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/providers/client_providers.go @@ -0,0 +1,74 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2alpha1 + +import ( + admin_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for WaypointLifecycleManagerClient from Clientset +func WaypointLifecycleManagerClientFromClientsetProvider(clients admin_gloo_solo_io_v2alpha1.Clientset) admin_gloo_solo_io_v2alpha1.WaypointLifecycleManagerClient { + return clients.WaypointLifecycleManagers() +} + +// Provider for WaypointLifecycleManager Client from Client +func WaypointLifecycleManagerClientProvider(client client.Client) admin_gloo_solo_io_v2alpha1.WaypointLifecycleManagerClient { + return admin_gloo_solo_io_v2alpha1.NewWaypointLifecycleManagerClient(client) +} + +type WaypointLifecycleManagerClientFactory func(client client.Client) admin_gloo_solo_io_v2alpha1.WaypointLifecycleManagerClient + +func WaypointLifecycleManagerClientFactoryProvider() WaypointLifecycleManagerClientFactory { + return WaypointLifecycleManagerClientProvider +} + +type WaypointLifecycleManagerClientFromConfigFactory func(cfg *rest.Config) (admin_gloo_solo_io_v2alpha1.WaypointLifecycleManagerClient, error) + +func WaypointLifecycleManagerClientFromConfigFactoryProvider() WaypointLifecycleManagerClientFromConfigFactory { + return func(cfg *rest.Config) (admin_gloo_solo_io_v2alpha1.WaypointLifecycleManagerClient, error) { + clients, err := admin_gloo_solo_io_v2alpha1.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.WaypointLifecycleManagers(), nil + } +} + +// Provider for InsightsConfigClient from Clientset +func InsightsConfigClientFromClientsetProvider(clients admin_gloo_solo_io_v2alpha1.Clientset) admin_gloo_solo_io_v2alpha1.InsightsConfigClient { + return clients.InsightsConfigs() +} + +// Provider for InsightsConfig Client from Client +func InsightsConfigClientProvider(client client.Client) admin_gloo_solo_io_v2alpha1.InsightsConfigClient { + return admin_gloo_solo_io_v2alpha1.NewInsightsConfigClient(client) +} + +type InsightsConfigClientFactory func(client client.Client) admin_gloo_solo_io_v2alpha1.InsightsConfigClient + +func InsightsConfigClientFactoryProvider() InsightsConfigClientFactory { + return InsightsConfigClientProvider +} + +type InsightsConfigClientFromConfigFactory func(cfg *rest.Config) (admin_gloo_solo_io_v2alpha1.InsightsConfigClient, error) + +func InsightsConfigClientFromConfigFactoryProvider() InsightsConfigClientFromConfigFactory { + return func(cfg *rest.Config) (admin_gloo_solo_io_v2alpha1.InsightsConfigClient, error) { + clients, err := admin_gloo_solo_io_v2alpha1.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.InsightsConfigs(), nil + } +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/register.go b/client-go/admin.gloo.solo.io/v2alpha1/register.go new file mode 100644 index 000000000..509c96c16 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "admin.gloo.solo.io", Version: "v2alpha1"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/report_types.go b/client-go/admin.gloo.solo.io/v2alpha1/report_types.go new file mode 100644 index 000000000..ff40df0f2 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/report_types.go @@ -0,0 +1,10 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2alpha1 + +// IsReport implements Reportable interface for WaypointLifecycleManagerReport +func (o *WaypointLifecycleManagerReport) IsReport() {} + +// IsReport implements Reportable interface for InsightsConfigReport +func (o *InsightsConfigReport) IsReport() {} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/sets/mocks/sets.go b/client-go/admin.gloo.solo.io/v2alpha1/sets/mocks/sets.go new file mode 100644 index 000000000..be3bf1452 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/sets/mocks/sets.go @@ -0,0 +1,529 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2alpha1sets is a generated GoMock package. +package mock_v2alpha1sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1" + v2alpha1sets "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1/sets" +) + +// MockWaypointLifecycleManagerSet is a mock of WaypointLifecycleManagerSet interface. +type MockWaypointLifecycleManagerSet struct { + ctrl *gomock.Controller + recorder *MockWaypointLifecycleManagerSetMockRecorder +} + +// MockWaypointLifecycleManagerSetMockRecorder is the mock recorder for MockWaypointLifecycleManagerSet. +type MockWaypointLifecycleManagerSetMockRecorder struct { + mock *MockWaypointLifecycleManagerSet +} + +// NewMockWaypointLifecycleManagerSet creates a new mock instance. +func NewMockWaypointLifecycleManagerSet(ctrl *gomock.Controller) *MockWaypointLifecycleManagerSet { + mock := &MockWaypointLifecycleManagerSet{ctrl: ctrl} + mock.recorder = &MockWaypointLifecycleManagerSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWaypointLifecycleManagerSet) EXPECT() *MockWaypointLifecycleManagerSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockWaypointLifecycleManagerSet) Clone() v2alpha1sets.WaypointLifecycleManagerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2alpha1sets.WaypointLifecycleManagerSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockWaypointLifecycleManagerSet) Delete(waypointLifecycleManager ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", waypointLifecycleManager) +} + +// Delete indicates an expected call of Delete. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Delete(waypointLifecycleManager interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Delete), waypointLifecycleManager) +} + +// Delta mocks base method. +func (m *MockWaypointLifecycleManagerSet) Delta(newSet v2alpha1sets.WaypointLifecycleManagerSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockWaypointLifecycleManagerSet) Difference(set v2alpha1sets.WaypointLifecycleManagerSet) v2alpha1sets.WaypointLifecycleManagerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2alpha1sets.WaypointLifecycleManagerSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockWaypointLifecycleManagerSet) Equal(waypointLifecycleManagerSet v2alpha1sets.WaypointLifecycleManagerSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", waypointLifecycleManagerSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Equal(waypointLifecycleManagerSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Equal), waypointLifecycleManagerSet) +} + +// Find mocks base method. +func (m *MockWaypointLifecycleManagerSet) Find(id ezkube.ResourceId) (*v2alpha1.WaypointLifecycleManager, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2alpha1.WaypointLifecycleManager) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockWaypointLifecycleManagerSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockWaypointLifecycleManagerSet) Has(waypointLifecycleManager ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", waypointLifecycleManager) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Has(waypointLifecycleManager interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Has), waypointLifecycleManager) +} + +// Insert mocks base method. +func (m *MockWaypointLifecycleManagerSet) Insert(waypointLifecycleManager ...*v2alpha1.WaypointLifecycleManager) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range waypointLifecycleManager { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Insert(waypointLifecycleManager ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Insert), waypointLifecycleManager...) +} + +// Intersection mocks base method. +func (m *MockWaypointLifecycleManagerSet) Intersection(set v2alpha1sets.WaypointLifecycleManagerSet) v2alpha1sets.WaypointLifecycleManagerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2alpha1sets.WaypointLifecycleManagerSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockWaypointLifecycleManagerSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockWaypointLifecycleManagerSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockWaypointLifecycleManagerSet) List(filterResource ...func(*v2alpha1.WaypointLifecycleManager) bool) []*v2alpha1.WaypointLifecycleManager { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2alpha1.WaypointLifecycleManager) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockWaypointLifecycleManagerSet) Map() map[string]*v2alpha1.WaypointLifecycleManager { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2alpha1.WaypointLifecycleManager) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockWaypointLifecycleManagerSet) Union(set v2alpha1sets.WaypointLifecycleManagerSet) v2alpha1sets.WaypointLifecycleManagerSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2alpha1sets.WaypointLifecycleManagerSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockWaypointLifecycleManagerSet) UnsortedList(filterResource ...func(*v2alpha1.WaypointLifecycleManager) bool) []*v2alpha1.WaypointLifecycleManager { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2alpha1.WaypointLifecycleManager) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockWaypointLifecycleManagerSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockWaypointLifecycleManagerSet)(nil).UnsortedList), filterResource...) +} + +// MockInsightsConfigSet is a mock of InsightsConfigSet interface. +type MockInsightsConfigSet struct { + ctrl *gomock.Controller + recorder *MockInsightsConfigSetMockRecorder +} + +// MockInsightsConfigSetMockRecorder is the mock recorder for MockInsightsConfigSet. +type MockInsightsConfigSetMockRecorder struct { + mock *MockInsightsConfigSet +} + +// NewMockInsightsConfigSet creates a new mock instance. +func NewMockInsightsConfigSet(ctrl *gomock.Controller) *MockInsightsConfigSet { + mock := &MockInsightsConfigSet{ctrl: ctrl} + mock.recorder = &MockInsightsConfigSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockInsightsConfigSet) EXPECT() *MockInsightsConfigSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockInsightsConfigSet) Clone() v2alpha1sets.InsightsConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2alpha1sets.InsightsConfigSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockInsightsConfigSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockInsightsConfigSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockInsightsConfigSet) Delete(insightsConfig ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", insightsConfig) +} + +// Delete indicates an expected call of Delete. +func (mr *MockInsightsConfigSetMockRecorder) Delete(insightsConfig interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockInsightsConfigSet)(nil).Delete), insightsConfig) +} + +// Delta mocks base method. +func (m *MockInsightsConfigSet) Delta(newSet v2alpha1sets.InsightsConfigSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockInsightsConfigSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockInsightsConfigSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockInsightsConfigSet) Difference(set v2alpha1sets.InsightsConfigSet) v2alpha1sets.InsightsConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2alpha1sets.InsightsConfigSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockInsightsConfigSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockInsightsConfigSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockInsightsConfigSet) Equal(insightsConfigSet v2alpha1sets.InsightsConfigSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", insightsConfigSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockInsightsConfigSetMockRecorder) Equal(insightsConfigSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockInsightsConfigSet)(nil).Equal), insightsConfigSet) +} + +// Find mocks base method. +func (m *MockInsightsConfigSet) Find(id ezkube.ResourceId) (*v2alpha1.InsightsConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2alpha1.InsightsConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockInsightsConfigSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockInsightsConfigSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockInsightsConfigSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockInsightsConfigSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockInsightsConfigSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockInsightsConfigSet) Has(insightsConfig ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", insightsConfig) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockInsightsConfigSetMockRecorder) Has(insightsConfig interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockInsightsConfigSet)(nil).Has), insightsConfig) +} + +// Insert mocks base method. +func (m *MockInsightsConfigSet) Insert(insightsConfig ...*v2alpha1.InsightsConfig) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range insightsConfig { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockInsightsConfigSetMockRecorder) Insert(insightsConfig ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockInsightsConfigSet)(nil).Insert), insightsConfig...) +} + +// Intersection mocks base method. +func (m *MockInsightsConfigSet) Intersection(set v2alpha1sets.InsightsConfigSet) v2alpha1sets.InsightsConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2alpha1sets.InsightsConfigSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockInsightsConfigSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockInsightsConfigSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockInsightsConfigSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockInsightsConfigSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockInsightsConfigSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockInsightsConfigSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockInsightsConfigSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockInsightsConfigSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockInsightsConfigSet) List(filterResource ...func(*v2alpha1.InsightsConfig) bool) []*v2alpha1.InsightsConfig { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2alpha1.InsightsConfig) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockInsightsConfigSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockInsightsConfigSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockInsightsConfigSet) Map() map[string]*v2alpha1.InsightsConfig { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2alpha1.InsightsConfig) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockInsightsConfigSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockInsightsConfigSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockInsightsConfigSet) Union(set v2alpha1sets.InsightsConfigSet) v2alpha1sets.InsightsConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2alpha1sets.InsightsConfigSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockInsightsConfigSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockInsightsConfigSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockInsightsConfigSet) UnsortedList(filterResource ...func(*v2alpha1.InsightsConfig) bool) []*v2alpha1.InsightsConfig { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2alpha1.InsightsConfig) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockInsightsConfigSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockInsightsConfigSet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/sets/sets.go b/client-go/admin.gloo.solo.io/v2alpha1/sets/sets.go new file mode 100644 index 000000000..fbb707917 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/sets/sets.go @@ -0,0 +1,460 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2alpha1sets + +import ( + admin_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type WaypointLifecycleManagerSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) bool) []*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) bool) []*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager + // Return the Set as a map of key to resource. + Map() map[string]*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager + // Insert a resource into the set. + Insert(waypointLifecycleManager ...*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(waypointLifecycleManagerSet WaypointLifecycleManagerSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(waypointLifecycleManager ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(waypointLifecycleManager ezkube.ResourceId) + // Return the union with the provided set + Union(set WaypointLifecycleManagerSet) WaypointLifecycleManagerSet + // Return the difference with the provided set + Difference(set WaypointLifecycleManagerSet) WaypointLifecycleManagerSet + // Return the intersection with the provided set + Intersection(set WaypointLifecycleManagerSet) WaypointLifecycleManagerSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another WaypointLifecycleManagerSet + Delta(newSet WaypointLifecycleManagerSet) sksets.ResourceDelta + // Create a deep copy of the current WaypointLifecycleManagerSet + Clone() WaypointLifecycleManagerSet +} + +func makeGenericWaypointLifecycleManagerSet(waypointLifecycleManagerList []*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range waypointLifecycleManagerList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type waypointLifecycleManagerSet struct { + set sksets.ResourceSet +} + +func NewWaypointLifecycleManagerSet(waypointLifecycleManagerList ...*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) WaypointLifecycleManagerSet { + return &waypointLifecycleManagerSet{set: makeGenericWaypointLifecycleManagerSet(waypointLifecycleManagerList)} +} + +func NewWaypointLifecycleManagerSetFromList(waypointLifecycleManagerList *admin_gloo_solo_io_v2alpha1.WaypointLifecycleManagerList) WaypointLifecycleManagerSet { + list := make([]*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager, 0, len(waypointLifecycleManagerList.Items)) + for idx := range waypointLifecycleManagerList.Items { + list = append(list, &waypointLifecycleManagerList.Items[idx]) + } + return &waypointLifecycleManagerSet{set: makeGenericWaypointLifecycleManagerSet(list)} +} + +func (s *waypointLifecycleManagerSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *waypointLifecycleManagerSet) List(filterResource ...func(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) bool) []*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager)) + }) + } + + objs := s.Generic().List(genericFilters...) + waypointLifecycleManagerList := make([]*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager, 0, len(objs)) + for _, obj := range objs { + waypointLifecycleManagerList = append(waypointLifecycleManagerList, obj.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager)) + } + return waypointLifecycleManagerList +} + +func (s *waypointLifecycleManagerSet) UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) bool) []*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager)) + }) + } + + var waypointLifecycleManagerList []*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + waypointLifecycleManagerList = append(waypointLifecycleManagerList, obj.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager)) + } + return waypointLifecycleManagerList +} + +func (s *waypointLifecycleManagerSet) Map() map[string]*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager { + if s == nil { + return nil + } + + newMap := map[string]*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager) + } + return newMap +} + +func (s *waypointLifecycleManagerSet) Insert( + waypointLifecycleManagerList ...*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range waypointLifecycleManagerList { + s.Generic().Insert(obj) + } +} + +func (s *waypointLifecycleManagerSet) Has(waypointLifecycleManager ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(waypointLifecycleManager) +} + +func (s *waypointLifecycleManagerSet) Equal( + waypointLifecycleManagerSet WaypointLifecycleManagerSet, +) bool { + if s == nil { + return waypointLifecycleManagerSet == nil + } + return s.Generic().Equal(waypointLifecycleManagerSet.Generic()) +} + +func (s *waypointLifecycleManagerSet) Delete(WaypointLifecycleManager ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(WaypointLifecycleManager) +} + +func (s *waypointLifecycleManagerSet) Union(set WaypointLifecycleManagerSet) WaypointLifecycleManagerSet { + if s == nil { + return set + } + return NewWaypointLifecycleManagerSet(append(s.List(), set.List()...)...) +} + +func (s *waypointLifecycleManagerSet) Difference(set WaypointLifecycleManagerSet) WaypointLifecycleManagerSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &waypointLifecycleManagerSet{set: newSet} +} + +func (s *waypointLifecycleManagerSet) Intersection(set WaypointLifecycleManagerSet) WaypointLifecycleManagerSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var waypointLifecycleManagerList []*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager + for _, obj := range newSet.List() { + waypointLifecycleManagerList = append(waypointLifecycleManagerList, obj.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager)) + } + return NewWaypointLifecycleManagerSet(waypointLifecycleManagerList...) +} + +func (s *waypointLifecycleManagerSet) Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find WaypointLifecycleManager %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager{}, id) + if err != nil { + return nil, err + } + + return obj.(*admin_gloo_solo_io_v2alpha1.WaypointLifecycleManager), nil +} + +func (s *waypointLifecycleManagerSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *waypointLifecycleManagerSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *waypointLifecycleManagerSet) Delta(newSet WaypointLifecycleManagerSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *waypointLifecycleManagerSet) Clone() WaypointLifecycleManagerSet { + if s == nil { + return nil + } + return &waypointLifecycleManagerSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type InsightsConfigSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*admin_gloo_solo_io_v2alpha1.InsightsConfig) bool) []*admin_gloo_solo_io_v2alpha1.InsightsConfig + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2alpha1.InsightsConfig) bool) []*admin_gloo_solo_io_v2alpha1.InsightsConfig + // Return the Set as a map of key to resource. + Map() map[string]*admin_gloo_solo_io_v2alpha1.InsightsConfig + // Insert a resource into the set. + Insert(insightsConfig ...*admin_gloo_solo_io_v2alpha1.InsightsConfig) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(insightsConfigSet InsightsConfigSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(insightsConfig ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(insightsConfig ezkube.ResourceId) + // Return the union with the provided set + Union(set InsightsConfigSet) InsightsConfigSet + // Return the difference with the provided set + Difference(set InsightsConfigSet) InsightsConfigSet + // Return the intersection with the provided set + Intersection(set InsightsConfigSet) InsightsConfigSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2alpha1.InsightsConfig, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another InsightsConfigSet + Delta(newSet InsightsConfigSet) sksets.ResourceDelta + // Create a deep copy of the current InsightsConfigSet + Clone() InsightsConfigSet +} + +func makeGenericInsightsConfigSet(insightsConfigList []*admin_gloo_solo_io_v2alpha1.InsightsConfig) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range insightsConfigList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type insightsConfigSet struct { + set sksets.ResourceSet +} + +func NewInsightsConfigSet(insightsConfigList ...*admin_gloo_solo_io_v2alpha1.InsightsConfig) InsightsConfigSet { + return &insightsConfigSet{set: makeGenericInsightsConfigSet(insightsConfigList)} +} + +func NewInsightsConfigSetFromList(insightsConfigList *admin_gloo_solo_io_v2alpha1.InsightsConfigList) InsightsConfigSet { + list := make([]*admin_gloo_solo_io_v2alpha1.InsightsConfig, 0, len(insightsConfigList.Items)) + for idx := range insightsConfigList.Items { + list = append(list, &insightsConfigList.Items[idx]) + } + return &insightsConfigSet{set: makeGenericInsightsConfigSet(list)} +} + +func (s *insightsConfigSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *insightsConfigSet) List(filterResource ...func(*admin_gloo_solo_io_v2alpha1.InsightsConfig) bool) []*admin_gloo_solo_io_v2alpha1.InsightsConfig { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2alpha1.InsightsConfig)) + }) + } + + objs := s.Generic().List(genericFilters...) + insightsConfigList := make([]*admin_gloo_solo_io_v2alpha1.InsightsConfig, 0, len(objs)) + for _, obj := range objs { + insightsConfigList = append(insightsConfigList, obj.(*admin_gloo_solo_io_v2alpha1.InsightsConfig)) + } + return insightsConfigList +} + +func (s *insightsConfigSet) UnsortedList(filterResource ...func(*admin_gloo_solo_io_v2alpha1.InsightsConfig) bool) []*admin_gloo_solo_io_v2alpha1.InsightsConfig { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*admin_gloo_solo_io_v2alpha1.InsightsConfig)) + }) + } + + var insightsConfigList []*admin_gloo_solo_io_v2alpha1.InsightsConfig + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + insightsConfigList = append(insightsConfigList, obj.(*admin_gloo_solo_io_v2alpha1.InsightsConfig)) + } + return insightsConfigList +} + +func (s *insightsConfigSet) Map() map[string]*admin_gloo_solo_io_v2alpha1.InsightsConfig { + if s == nil { + return nil + } + + newMap := map[string]*admin_gloo_solo_io_v2alpha1.InsightsConfig{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*admin_gloo_solo_io_v2alpha1.InsightsConfig) + } + return newMap +} + +func (s *insightsConfigSet) Insert( + insightsConfigList ...*admin_gloo_solo_io_v2alpha1.InsightsConfig, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range insightsConfigList { + s.Generic().Insert(obj) + } +} + +func (s *insightsConfigSet) Has(insightsConfig ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(insightsConfig) +} + +func (s *insightsConfigSet) Equal( + insightsConfigSet InsightsConfigSet, +) bool { + if s == nil { + return insightsConfigSet == nil + } + return s.Generic().Equal(insightsConfigSet.Generic()) +} + +func (s *insightsConfigSet) Delete(InsightsConfig ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(InsightsConfig) +} + +func (s *insightsConfigSet) Union(set InsightsConfigSet) InsightsConfigSet { + if s == nil { + return set + } + return NewInsightsConfigSet(append(s.List(), set.List()...)...) +} + +func (s *insightsConfigSet) Difference(set InsightsConfigSet) InsightsConfigSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &insightsConfigSet{set: newSet} +} + +func (s *insightsConfigSet) Intersection(set InsightsConfigSet) InsightsConfigSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var insightsConfigList []*admin_gloo_solo_io_v2alpha1.InsightsConfig + for _, obj := range newSet.List() { + insightsConfigList = append(insightsConfigList, obj.(*admin_gloo_solo_io_v2alpha1.InsightsConfig)) + } + return NewInsightsConfigSet(insightsConfigList...) +} + +func (s *insightsConfigSet) Find(id ezkube.ResourceId) (*admin_gloo_solo_io_v2alpha1.InsightsConfig, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find InsightsConfig %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&admin_gloo_solo_io_v2alpha1.InsightsConfig{}, id) + if err != nil { + return nil, err + } + + return obj.(*admin_gloo_solo_io_v2alpha1.InsightsConfig), nil +} + +func (s *insightsConfigSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *insightsConfigSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *insightsConfigSet) Delta(newSet InsightsConfigSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *insightsConfigSet) Clone() InsightsConfigSet { + if s == nil { + return nil + } + return &insightsConfigSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/type_helpers.go b/client-go/admin.gloo.solo.io/v2alpha1/type_helpers.go new file mode 100644 index 000000000..324c0b2c7 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/type_helpers.go @@ -0,0 +1,10 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2alpha1 + +// WaypointLifecycleManagerSlice represents a slice of *WaypointLifecycleManager +type WaypointLifecycleManagerSlice []*WaypointLifecycleManager + +// InsightsConfigSlice represents a slice of *InsightsConfig +type InsightsConfigSlice []*InsightsConfig diff --git a/client-go/admin.gloo.solo.io/v2alpha1/types.go b/client-go/admin.gloo.solo.io/v2alpha1/types.go new file mode 100644 index 000000000..e69c59953 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/types.go @@ -0,0 +1,84 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for WaypointLifecycleManager +var WaypointLifecycleManagerGVK = schema.GroupVersionKind{ + Group: "admin.gloo.solo.io", + Version: "v2alpha1", + Kind: "WaypointLifecycleManager", +} + +// WaypointLifecycleManager is the Schema for the waypointLifecycleManager API +type WaypointLifecycleManager struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec WaypointLifecycleManagerSpec `json:"spec,omitempty"` + Status WaypointLifecycleManagerStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (WaypointLifecycleManager) GVK() schema.GroupVersionKind { + return WaypointLifecycleManagerGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// WaypointLifecycleManagerList contains a list of WaypointLifecycleManager +type WaypointLifecycleManagerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WaypointLifecycleManager `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for InsightsConfig +var InsightsConfigGVK = schema.GroupVersionKind{ + Group: "admin.gloo.solo.io", + Version: "v2alpha1", + Kind: "InsightsConfig", +} + +// InsightsConfig is the Schema for the insightsConfig API +type InsightsConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec InsightsConfigSpec `json:"spec,omitempty"` + Status InsightsConfigStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (InsightsConfig) GVK() schema.GroupVersionKind { + return InsightsConfigGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// InsightsConfigList contains a list of InsightsConfig +type InsightsConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InsightsConfig `json:"items"` +} + +func init() { + SchemeBuilder.Register(&WaypointLifecycleManager{}, &WaypointLifecycleManagerList{}) + SchemeBuilder.Register(&InsightsConfig{}, &InsightsConfigList{}) +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/waypoint_lifecycle_manager.pb.clone.go b/client-go/admin.gloo.solo.io/v2alpha1/waypoint_lifecycle_manager.pb.clone.go new file mode 100644 index 000000000..5dca1b48b --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/waypoint_lifecycle_manager.pb.clone.go @@ -0,0 +1,101 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2alpha1/waypoint_lifecycle_manager.proto + +package v2alpha1 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_struct "github.com/golang/protobuf/ptypes/struct" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *WaypointLifecycleManagerSpec) Clone() proto.Message { + var target *WaypointLifecycleManagerSpec + if m == nil { + return target + } + target = &WaypointLifecycleManagerSpec{} + + if m.GetApplyToServiceAccount() != nil { + target.ApplyToServiceAccount = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector, len(m.GetApplyToServiceAccount())) + for idx, v := range m.GetApplyToServiceAccount() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToServiceAccount[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.ApplyToServiceAccount[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + } + } + + if h, ok := interface{}(m.GetDeploymentSpec()).(clone.Cloner); ok { + target.DeploymentSpec = h.Clone().(*github_com_golang_protobuf_ptypes_struct.Struct) + } else { + target.DeploymentSpec = proto.Clone(m.GetDeploymentSpec()).(*github_com_golang_protobuf_ptypes_struct.Struct) + } + + return target +} + +// Clone function +func (m *WaypointLifecycleManagerStatus) Clone() proto.Message { + var target *WaypointLifecycleManagerStatus + if m == nil { + return target + } + target = &WaypointLifecycleManagerStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + return target +} + +// Clone function +func (m *WaypointLifecycleManagerReport) Clone() proto.Message { + var target *WaypointLifecycleManagerReport + if m == nil { + return target + } + target = &WaypointLifecycleManagerReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + return target +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/waypoint_lifecycle_manager.pb.equal.go b/client-go/admin.gloo.solo.io/v2alpha1/waypoint_lifecycle_manager.pb.equal.go new file mode 100644 index 000000000..d23caec21 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/waypoint_lifecycle_manager.pb.equal.go @@ -0,0 +1,152 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2alpha1/waypoint_lifecycle_manager.proto + +package v2alpha1 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *WaypointLifecycleManagerSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WaypointLifecycleManagerSpec) + if !ok { + that2, ok := that.(WaypointLifecycleManagerSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToServiceAccount()) != len(target.GetApplyToServiceAccount()) { + return false + } + for idx, v := range m.GetApplyToServiceAccount() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToServiceAccount()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToServiceAccount()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetDeploymentSpec()).(equality.Equalizer); ok { + if !h.Equal(target.GetDeploymentSpec()) { + return false + } + } else { + if !proto.Equal(m.GetDeploymentSpec(), target.GetDeploymentSpec()) { + return false + } + } + + return true +} + +// Equal function +func (m *WaypointLifecycleManagerStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WaypointLifecycleManagerStatus) + if !ok { + that2, ok := that.(WaypointLifecycleManagerStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + return true +} + +// Equal function +func (m *WaypointLifecycleManagerReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WaypointLifecycleManagerReport) + if !ok { + that2, ok := that.(WaypointLifecycleManagerReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + return true +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/waypoint_lifecycle_manager.pb.go b/client-go/admin.gloo.solo.io/v2alpha1/waypoint_lifecycle_manager.pb.go new file mode 100644 index 000000000..cb7ec2def --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/waypoint_lifecycle_manager.pb.go @@ -0,0 +1,354 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2alpha1/waypoint_lifecycle_manager.proto + +package v2alpha1 + +import ( + reflect "reflect" + sync "sync" + + _struct "github.com/golang/protobuf/ptypes/struct" + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Manages the deployment of Ambient L7 policy proxy (waypoint proxy) the selected Kubernetes service accounts. +// A RouteTable in ambient mode creates a server-side proxy to handle L7 routing, and to apply policies. +// Outlier detection and failover policies in an ambient mesh create a client-side L7 proxy. +type WaypointLifecycleManagerSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Kubernetes service account to that you want to apply the override settings to. Selects only the service accounts in the matching clusters. + // If empty, the settings are applied to all service accounts in the workspace. + ApplyToServiceAccount []*v2.ObjectSelector `protobuf:"bytes,1,rep,name=apply_to_service_account,json=applyToServiceAccount,proto3" json:"apply_to_service_account,omitempty"` + // The deployment specification that you want to use to override the default L7 policy proxy deployment values. + // The values that you specify are merged with the default deployment values. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct). + DeploymentSpec *_struct.Struct `protobuf:"bytes,2,opt,name=deployment_spec,json=deploymentSpec,proto3" json:"deployment_spec,omitempty"` +} + +func (x *WaypointLifecycleManagerSpec) Reset() { + *x = WaypointLifecycleManagerSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WaypointLifecycleManagerSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WaypointLifecycleManagerSpec) ProtoMessage() {} + +func (x *WaypointLifecycleManagerSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WaypointLifecycleManagerSpec.ProtoReflect.Descriptor instead. +func (*WaypointLifecycleManagerSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDescGZIP(), []int{0} +} + +func (x *WaypointLifecycleManagerSpec) GetApplyToServiceAccount() []*v2.ObjectSelector { + if x != nil { + return x.ApplyToServiceAccount + } + return nil +} + +func (x *WaypointLifecycleManagerSpec) GetDeploymentSpec() *_struct.Struct { + if x != nil { + return x.DeploymentSpec + } + return nil +} + +// This field represents the status of the WaypointLifecycleManagerSpec. +type WaypointLifecycleManagerStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied policy. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` +} + +func (x *WaypointLifecycleManagerStatus) Reset() { + *x = WaypointLifecycleManagerStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WaypointLifecycleManagerStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WaypointLifecycleManagerStatus) ProtoMessage() {} + +func (x *WaypointLifecycleManagerStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WaypointLifecycleManagerStatus.ProtoReflect.Descriptor instead. +func (*WaypointLifecycleManagerStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDescGZIP(), []int{1} +} + +func (x *WaypointLifecycleManagerStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +type WaypointLifecycleManagerReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *WaypointLifecycleManagerReport) Reset() { + *x = WaypointLifecycleManagerReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WaypointLifecycleManagerReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WaypointLifecycleManagerReport) ProtoMessage() {} + +func (x *WaypointLifecycleManagerReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WaypointLifecycleManagerReport.ProtoReflect.Descriptor instead. +func (*WaypointLifecycleManagerReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDescGZIP(), []int{2} +} + +func (x *WaypointLifecycleManagerReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDesc = []byte{ + 0x0a, 0x68, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x01, 0x0a, 0x1c, 0x57, 0x61, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5c, 0x0a, 0x18, 0x61, 0x70, 0x70, 0x6c, 0x79, + 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x15, + 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0e, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x22, 0x55, + 0x0a, 0x1e, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0xe0, 0x01, 0x0a, 0x1e, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x62, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x59, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, + 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_goTypes = []interface{}{ + (*WaypointLifecycleManagerSpec)(nil), // 0: admin.gloo.solo.io.WaypointLifecycleManagerSpec + (*WaypointLifecycleManagerStatus)(nil), // 1: admin.gloo.solo.io.WaypointLifecycleManagerStatus + (*WaypointLifecycleManagerReport)(nil), // 2: admin.gloo.solo.io.WaypointLifecycleManagerReport + nil, // 3: admin.gloo.solo.io.WaypointLifecycleManagerReport.WorkspacesEntry + (*v2.ObjectSelector)(nil), // 4: common.gloo.solo.io.ObjectSelector + (*_struct.Struct)(nil), // 5: google.protobuf.Struct + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.Report)(nil), // 7: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_depIdxs = []int32{ + 4, // 0: admin.gloo.solo.io.WaypointLifecycleManagerSpec.apply_to_service_account:type_name -> common.gloo.solo.io.ObjectSelector + 5, // 1: admin.gloo.solo.io.WaypointLifecycleManagerSpec.deployment_spec:type_name -> google.protobuf.Struct + 6, // 2: admin.gloo.solo.io.WaypointLifecycleManagerStatus.common:type_name -> common.gloo.solo.io.Status + 3, // 3: admin.gloo.solo.io.WaypointLifecycleManagerReport.workspaces:type_name -> admin.gloo.solo.io.WaypointLifecycleManagerReport.WorkspacesEntry + 7, // 4: admin.gloo.solo.io.WaypointLifecycleManagerReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaypointLifecycleManagerSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaypointLifecycleManagerStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaypointLifecycleManagerReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_admin_v2alpha1_waypoint_lifecycle_manager_proto_depIdxs = nil +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/waypoint_lifecycle_manager.pb.hash.go b/client-go/admin.gloo.solo.io/v2alpha1/waypoint_lifecycle_manager.pb.hash.go new file mode 100644 index 000000000..158185394 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/waypoint_lifecycle_manager.pb.hash.go @@ -0,0 +1,177 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/admin/v2alpha1/waypoint_lifecycle_manager.proto + +package v2alpha1 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *WaypointLifecycleManagerSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1.WaypointLifecycleManagerSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToServiceAccount() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetDeploymentSpec()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DeploymentSpec")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDeploymentSpec(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DeploymentSpec")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WaypointLifecycleManagerStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1.WaypointLifecycleManagerStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WaypointLifecycleManagerReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("admin.gloo.solo.io.github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2alpha1.WaypointLifecycleManagerReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/admin.gloo.solo.io/v2alpha1/zz_generated.deepcopy.go b/client-go/admin.gloo.solo.io/v2alpha1/zz_generated.deepcopy.go new file mode 100644 index 000000000..b9ef53d18 --- /dev/null +++ b/client-go/admin.gloo.solo.io/v2alpha1/zz_generated.deepcopy.go @@ -0,0 +1,129 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for admin.gloo.solo.io/v2alpha1 resources + +package v2alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for WaypointLifecycleManager + +func (in *WaypointLifecycleManager) DeepCopyInto(out *WaypointLifecycleManager) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *WaypointLifecycleManager) DeepCopy() *WaypointLifecycleManager { + if in == nil { + return nil + } + out := new(WaypointLifecycleManager) + in.DeepCopyInto(out) + return out +} + +func (in *WaypointLifecycleManager) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *WaypointLifecycleManagerList) DeepCopyInto(out *WaypointLifecycleManagerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WaypointLifecycleManager, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *WaypointLifecycleManagerList) DeepCopy() *WaypointLifecycleManagerList { + if in == nil { + return nil + } + out := new(WaypointLifecycleManagerList) + in.DeepCopyInto(out) + return out +} + +func (in *WaypointLifecycleManagerList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for InsightsConfig + +func (in *InsightsConfig) DeepCopyInto(out *InsightsConfig) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *InsightsConfig) DeepCopy() *InsightsConfig { + if in == nil { + return nil + } + out := new(InsightsConfig) + in.DeepCopyInto(out) + return out +} + +func (in *InsightsConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *InsightsConfigList) DeepCopyInto(out *InsightsConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InsightsConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *InsightsConfigList) DeepCopy() *InsightsConfigList { + if in == nil { + return nil + } + out := new(InsightsConfigList) + in.DeepCopyInto(out) + return out +} + +func (in *InsightsConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/api_doc.pb.clone.go b/client-go/apimanagement.gloo.solo.io/v2/api_doc.pb.clone.go new file mode 100644 index 000000000..2ebcdef88 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/api_doc.pb.clone.go @@ -0,0 +1,211 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_doc.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ServedBy) Clone() proto.Message { + var target *ServedBy + if m == nil { + return target + } + target = &ServedBy{} + + if h, ok := interface{}(m.GetDestinationSelector()).(clone.Cloner); ok { + target.DestinationSelector = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.DestinationSelector = proto.Clone(m.GetDestinationSelector()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + return target +} + +// Clone function +func (m *ApiDocSpec) Clone() proto.Message { + var target *ApiDocSpec + if m == nil { + return target + } + target = &ApiDocSpec{} + + if m.GetServedBy() != nil { + target.ServedBy = make([]*ServedBy, len(m.GetServedBy())) + for idx, v := range m.GetServedBy() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ServedBy[idx] = h.Clone().(*ServedBy) + } else { + target.ServedBy[idx] = proto.Clone(v).(*ServedBy) + } + + } + } + + switch m.SchemaType.(type) { + + case *ApiDocSpec_Openapi: + + if h, ok := interface{}(m.GetOpenapi()).(clone.Cloner); ok { + target.SchemaType = &ApiDocSpec_Openapi{ + Openapi: h.Clone().(*ApiDocSpec_OpenAPISchema), + } + } else { + target.SchemaType = &ApiDocSpec_Openapi{ + Openapi: proto.Clone(m.GetOpenapi()).(*ApiDocSpec_OpenAPISchema), + } + } + + case *ApiDocSpec_Grpc: + + if h, ok := interface{}(m.GetGrpc()).(clone.Cloner); ok { + target.SchemaType = &ApiDocSpec_Grpc{ + Grpc: h.Clone().(*ApiDocSpec_GrpcSchema), + } + } else { + target.SchemaType = &ApiDocSpec_Grpc{ + Grpc: proto.Clone(m.GetGrpc()).(*ApiDocSpec_GrpcSchema), + } + } + + case *ApiDocSpec_Graphql: + + if h, ok := interface{}(m.GetGraphql()).(clone.Cloner); ok { + target.SchemaType = &ApiDocSpec_Graphql{ + Graphql: h.Clone().(*ApiDocSpec_GraphQLSchema), + } + } else { + target.SchemaType = &ApiDocSpec_Graphql{ + Graphql: proto.Clone(m.GetGraphql()).(*ApiDocSpec_GraphQLSchema), + } + } + + } + + return target +} + +// Clone function +func (m *ApiDocStatus) Clone() proto.Message { + var target *ApiDocStatus + if m == nil { + return target + } + target = &ApiDocStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + target.SelectedServingDestinations = m.GetSelectedServingDestinations() + + return target +} + +// Clone function +func (m *ApiDocReport) Clone() proto.Message { + var target *ApiDocReport + if m == nil { + return target + } + target = &ApiDocReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + if m.GetServingDestinations() != nil { + target.ServingDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetServingDestinations())) + for idx, v := range m.GetServingDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ServingDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.ServingDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + return target +} + +// Clone function +func (m *ApiDocSpec_OpenAPISchema) Clone() proto.Message { + var target *ApiDocSpec_OpenAPISchema + if m == nil { + return target + } + target = &ApiDocSpec_OpenAPISchema{} + + target.InlineString = m.GetInlineString() + + return target +} + +// Clone function +func (m *ApiDocSpec_GrpcSchema) Clone() proto.Message { + var target *ApiDocSpec_GrpcSchema + if m == nil { + return target + } + target = &ApiDocSpec_GrpcSchema{} + + if m.GetDescriptors() != nil { + target.Descriptors = make([]byte, len(m.GetDescriptors())) + copy(target.Descriptors, m.GetDescriptors()) + } + + return target +} + +// Clone function +func (m *ApiDocSpec_GraphQLSchema) Clone() proto.Message { + var target *ApiDocSpec_GraphQLSchema + if m == nil { + return target + } + target = &ApiDocSpec_GraphQLSchema{} + + target.SchemaDefinition = m.GetSchemaDefinition() + + return target +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/api_doc.pb.equal.go b/client-go/apimanagement.gloo.solo.io/v2/api_doc.pb.equal.go new file mode 100644 index 000000000..73eb495f9 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/api_doc.pb.equal.go @@ -0,0 +1,343 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_doc.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ServedBy) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ServedBy) + if !ok { + that2, ok := that.(ServedBy) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetDestinationSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinationSelector()) { + return false + } + } else { + if !proto.Equal(m.GetDestinationSelector(), target.GetDestinationSelector()) { + return false + } + } + + return true +} + +// Equal function +func (m *ApiDocSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiDocSpec) + if !ok { + that2, ok := that.(ApiDocSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetServedBy()) != len(target.GetServedBy()) { + return false + } + for idx, v := range m.GetServedBy() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetServedBy()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetServedBy()[idx]) { + return false + } + } + + } + + switch m.SchemaType.(type) { + + case *ApiDocSpec_Openapi: + if _, ok := target.SchemaType.(*ApiDocSpec_Openapi); !ok { + return false + } + + if h, ok := interface{}(m.GetOpenapi()).(equality.Equalizer); ok { + if !h.Equal(target.GetOpenapi()) { + return false + } + } else { + if !proto.Equal(m.GetOpenapi(), target.GetOpenapi()) { + return false + } + } + + case *ApiDocSpec_Grpc: + if _, ok := target.SchemaType.(*ApiDocSpec_Grpc); !ok { + return false + } + + if h, ok := interface{}(m.GetGrpc()).(equality.Equalizer); ok { + if !h.Equal(target.GetGrpc()) { + return false + } + } else { + if !proto.Equal(m.GetGrpc(), target.GetGrpc()) { + return false + } + } + + case *ApiDocSpec_Graphql: + if _, ok := target.SchemaType.(*ApiDocSpec_Graphql); !ok { + return false + } + + if h, ok := interface{}(m.GetGraphql()).(equality.Equalizer); ok { + if !h.Equal(target.GetGraphql()) { + return false + } + } else { + if !proto.Equal(m.GetGraphql(), target.GetGraphql()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.SchemaType != target.SchemaType { + return false + } + } + + return true +} + +// Equal function +func (m *ApiDocStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiDocStatus) + if !ok { + that2, ok := that.(ApiDocStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + if m.GetSelectedServingDestinations() != target.GetSelectedServingDestinations() { + return false + } + + return true +} + +// Equal function +func (m *ApiDocReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiDocReport) + if !ok { + that2, ok := that.(ApiDocReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + if len(m.GetServingDestinations()) != len(target.GetServingDestinations()) { + return false + } + for idx, v := range m.GetServingDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetServingDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetServingDestinations()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ApiDocSpec_OpenAPISchema) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiDocSpec_OpenAPISchema) + if !ok { + that2, ok := that.(ApiDocSpec_OpenAPISchema) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetInlineString(), target.GetInlineString()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ApiDocSpec_GrpcSchema) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiDocSpec_GrpcSchema) + if !ok { + that2, ok := that.(ApiDocSpec_GrpcSchema) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if bytes.Compare(m.GetDescriptors(), target.GetDescriptors()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ApiDocSpec_GraphQLSchema) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiDocSpec_GraphQLSchema) + if !ok { + that2, ok := that.(ApiDocSpec_GraphQLSchema) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetSchemaDefinition(), target.GetSchemaDefinition()) != 0 { + return false + } + + return true +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/api_doc.pb.go b/client-go/apimanagement.gloo.solo.io/v2/api_doc.pb.go new file mode 100644 index 000000000..65d9a260c --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/api_doc.pb.go @@ -0,0 +1,806 @@ +// The ApiDoc resource represents the schema of an API served by a Destination (Service, ExternalService). +// ApiDocs are typically created by Gloo Platform discovery running on the agent +// in registered workload clusters, but you can also manually create an `ApiDoc` CR. +// The ApiDoc type is used to represent different types of API schema specification languages: +// - OpenAPI +// - gRPC +// - GraphQL + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_doc.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The destinations that serve this API, if any. +type ServedBy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specify the backing destination for your app, by label or by name. + // This destination matches the destinations that you later route to. + // Supported destinations are Kubernetes services, Gloo virtual destinations, and + // Gloo external services. + // This field is required when you manually create an ApiDoc for a service that + // serves an OpenAPI or gRPC schema. + DestinationSelector *v2.DestinationSelector `protobuf:"bytes,1,opt,name=destination_selector,json=destinationSelector,proto3" json:"destination_selector,omitempty"` +} + +func (x *ServedBy) Reset() { + *x = ServedBy{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServedBy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServedBy) ProtoMessage() {} + +func (x *ServedBy) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServedBy.ProtoReflect.Descriptor instead. +func (*ServedBy) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescGZIP(), []int{0} +} + +func (x *ServedBy) GetDestinationSelector() *v2.DestinationSelector { + if x != nil { + return x.DestinationSelector + } + return nil +} + +// Specifications for the ApiDoc. +type ApiDocSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The API schema specification language. + // + // Types that are assignable to SchemaType: + // + // *ApiDocSpec_Openapi + // *ApiDocSpec_Grpc + // *ApiDocSpec_Graphql + SchemaType isApiDocSpec_SchemaType `protobuf_oneof:"schema_type"` + // The destinations that serve this API, if any. + ServedBy []*ServedBy `protobuf:"bytes,4,rep,name=served_by,json=servedBy,proto3" json:"served_by,omitempty"` +} + +func (x *ApiDocSpec) Reset() { + *x = ApiDocSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiDocSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiDocSpec) ProtoMessage() {} + +func (x *ApiDocSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiDocSpec.ProtoReflect.Descriptor instead. +func (*ApiDocSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescGZIP(), []int{1} +} + +func (m *ApiDocSpec) GetSchemaType() isApiDocSpec_SchemaType { + if m != nil { + return m.SchemaType + } + return nil +} + +func (x *ApiDocSpec) GetOpenapi() *ApiDocSpec_OpenAPISchema { + if x, ok := x.GetSchemaType().(*ApiDocSpec_Openapi); ok { + return x.Openapi + } + return nil +} + +func (x *ApiDocSpec) GetGrpc() *ApiDocSpec_GrpcSchema { + if x, ok := x.GetSchemaType().(*ApiDocSpec_Grpc); ok { + return x.Grpc + } + return nil +} + +func (x *ApiDocSpec) GetGraphql() *ApiDocSpec_GraphQLSchema { + if x, ok := x.GetSchemaType().(*ApiDocSpec_Graphql); ok { + return x.Graphql + } + return nil +} + +func (x *ApiDocSpec) GetServedBy() []*ServedBy { + if x != nil { + return x.ServedBy + } + return nil +} + +type isApiDocSpec_SchemaType interface { + isApiDocSpec_SchemaType() +} + +type ApiDocSpec_Openapi struct { + // The OpenAPI schema specification language. Specify only one schema type. + Openapi *ApiDocSpec_OpenAPISchema `protobuf:"bytes,1,opt,name=openapi,proto3,oneof"` +} + +type ApiDocSpec_Grpc struct { + // The gRPC schema specification language. Specify only one schema type. + Grpc *ApiDocSpec_GrpcSchema `protobuf:"bytes,2,opt,name=grpc,proto3,oneof"` +} + +type ApiDocSpec_Graphql struct { + // The graphQL schema specification language. Specify only one schema type. + Graphql *ApiDocSpec_GraphQLSchema `protobuf:"bytes,3,opt,name=graphql,proto3,oneof"` +} + +func (*ApiDocSpec_Openapi) isApiDocSpec_SchemaType() {} + +func (*ApiDocSpec_Grpc) isApiDocSpec_SchemaType() {} + +func (*ApiDocSpec_Graphql) isApiDocSpec_SchemaType() {} + +// The status of the ApiDoc after it is applied to your Gloo environment. +type ApiDocStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The name of workspace that owns the APIDoc. + OwnerWorkspace string `protobuf:"bytes,2,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` + // Count of the destinations serving the API. + SelectedServingDestinations uint32 `protobuf:"varint,3,opt,name=selected_serving_destinations,json=selectedServingDestinations,proto3" json:"selected_serving_destinations,omitempty"` +} + +func (x *ApiDocStatus) Reset() { + *x = ApiDocStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiDocStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiDocStatus) ProtoMessage() {} + +func (x *ApiDocStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiDocStatus.ProtoReflect.Descriptor instead. +func (*ApiDocStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescGZIP(), []int{2} +} + +func (x *ApiDocStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *ApiDocStatus) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +func (x *ApiDocStatus) GetSelectedServingDestinations() uint32 { + if x != nil { + return x.SelectedServingDestinations + } + return 0 +} + +// The report shows the resources that the ApiDoc selects after the it is successfully applied. +type ApiDocReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the ApiDoc can be applied. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The name of the workspace that owns the Graqphql API schema. + OwnerWorkspace string `protobuf:"bytes,2,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` + // A list of destinations serving the API. + ServingDestinations []*v2.DestinationReference `protobuf:"bytes,3,rep,name=serving_destinations,json=servingDestinations,proto3" json:"serving_destinations,omitempty"` +} + +func (x *ApiDocReport) Reset() { + *x = ApiDocReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiDocReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiDocReport) ProtoMessage() {} + +func (x *ApiDocReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiDocReport.ProtoReflect.Descriptor instead. +func (*ApiDocReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescGZIP(), []int{3} +} + +func (x *ApiDocReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *ApiDocReport) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +func (x *ApiDocReport) GetServingDestinations() []*v2.DestinationReference { + if x != nil { + return x.ServingDestinations + } + return nil +} + +// The YAML- or JSON-formatted OpenAPI v2 or v3 schema string to use for your API. +// +// **Example**: For detailed information about the settings in this example, see +// [Create your APIs](https://docs.solo.io/gloo-gateway/latest/portal/apis/apidocs/#apidoc) in the Gloo Portal documentation. +// ```yaml +// apiVersion: apimanagement.gloo.solo.io/v2 +// kind: ApiDoc +// metadata: +// +// annotations: +// cluster.solo.io/cluster: "" +// name: customers-api-schema +// namespace: default +// +// spec: +// +// openapi: +// inlineString: '{ "info": { "title": "Gloo Platform Portal API", "version": "1.0.0", "description": "Review the following reference documentation for the Gloo Platform portal APIs. Use these endpoints to manage user access to both the developer portal and the API resources exposed by the portal." }, "openapi": "3.0.0", "servers": [ { "url": "https://api.gloo-platform-portal.com/v1" } ], "paths": { "/login": { "get": { "description": "Logs user into the developer portal. This is the path that should be used as the callbackPath in the ExtAuthPolicy's OIDC configuration.", "operationId": "login", "security": [ { "identityToken": [ ] } ], "responses": { "200": { "description": "Successfully logged in" } }, "summary": "Logs user into the developer portal", "tags": [ "User" ] } }' +// servedBy: +// - destinationSelector: +// port: +// number: 8080 +// selector: +// cluster: $CLUSTER_NAME +// name: app +// namespace: app +// +// ``` +type ApiDocSpec_OpenAPISchema struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The inline, YAML- or JSON-formatted, OpenAPI v2 or v3 schema. + InlineString string `protobuf:"bytes,1,opt,name=inline_string,json=inlineString,proto3" json:"inline_string,omitempty"` +} + +func (x *ApiDocSpec_OpenAPISchema) Reset() { + *x = ApiDocSpec_OpenAPISchema{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiDocSpec_OpenAPISchema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiDocSpec_OpenAPISchema) ProtoMessage() {} + +func (x *ApiDocSpec_OpenAPISchema) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiDocSpec_OpenAPISchema.ProtoReflect.Descriptor instead. +func (*ApiDocSpec_OpenAPISchema) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *ApiDocSpec_OpenAPISchema) GetInlineString() string { + if x != nil { + return x.InlineString + } + return "" +} + +// A complete gRPC schema describing the API. +// +// **Example**: In this gRPC example for a basic user service app, +// the base64-encoded descriptor includes a set of fields that are defined +// for various queries, such as `UserSearch` and `UserByCountry`. For detailed +// information about the settings in this example, see +// [gRPC schema](https://docs.solo.io/gloo-gateway/latest/graphql/resolvers/resolved/resolver_grpc/) +// in the GraphQL integration documentation. +// ```yaml +// {{% readfile file="/content/gateway/static/content/examples/generated/int/graphql_routes/cluster-1/api-doc_bookinfo_grpc-schema.yaml" %}} +// ``` +type ApiDocSpec_GrpcSchema struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Protobuf descriptors that represent the gRPC services provided by your API, encoded in base64. + // For more information, see the + // [protobuf reference for `FileDescriptorSet`](https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/DescriptorProtos.FileDescriptorSet). + Descriptors []byte `protobuf:"bytes,1,opt,name=descriptors,proto3" json:"descriptors,omitempty"` +} + +func (x *ApiDocSpec_GrpcSchema) Reset() { + *x = ApiDocSpec_GrpcSchema{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiDocSpec_GrpcSchema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiDocSpec_GrpcSchema) ProtoMessage() {} + +func (x *ApiDocSpec_GrpcSchema) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiDocSpec_GrpcSchema.ProtoReflect.Descriptor instead. +func (*ApiDocSpec_GrpcSchema) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *ApiDocSpec_GrpcSchema) GetDescriptors() []byte { + if x != nil { + return x.Descriptors + } + return nil +} + +// Provide a schema definition in GraphQL SDL format. +// The GraphQL schema also has logging options for logging sensitive +// request-related information, and schema extension configuration such as +// custom type definitions. For more information about the different schema features, +// see the [GraphQL documentation](https://graphql.org/learn/schema/). +// +// **Example**: In this GraphQL example for the Bookinfo sample app, a query type and object +// types are defined. For detailed information about the settings in this example, see +// [Example GraphQL ApiDoc](https://docs.solo.io/gloo-gateway/latest/graphql/apidoc/#example-graphql-apidoc) +// in the GraphQL integration documentation. +// ```yaml +// {{% readfile file="/content/gateway/static/content/examples/generated/int/graphql_proxied_introspection/cluster-1/api-doc_bookinfo_music-schema.yaml" %}} +// ``` +type ApiDocSpec_GraphQLSchema struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: The GraphQL schema definition. Root-level query and mutation + // types are supported, and you must define at least a query type. + SchemaDefinition string `protobuf:"bytes,1,opt,name=schema_definition,json=schemaDefinition,proto3" json:"schema_definition,omitempty"` +} + +func (x *ApiDocSpec_GraphQLSchema) Reset() { + *x = ApiDocSpec_GraphQLSchema{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiDocSpec_GraphQLSchema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiDocSpec_GraphQLSchema) ProtoMessage() {} + +func (x *ApiDocSpec_GraphQLSchema) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiDocSpec_GraphQLSchema.ProtoReflect.Descriptor instead. +func (*ApiDocSpec_GraphQLSchema) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescGZIP(), []int{1, 2} +} + +func (x *ApiDocSpec_GraphQLSchema) GetSchemaDefinition() string { + if x != nil { + return x.SchemaDefinition + } + return "" +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDesc = []byte{ + 0x0a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x5f, + 0x64, 0x6f, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, + 0x08, 0x53, 0x65, 0x72, 0x76, 0x65, 0x64, 0x42, 0x79, 0x12, 0x5b, 0x0a, 0x14, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xef, 0x03, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x44, 0x6f, + 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x50, 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x44, 0x6f, 0x63, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4f, + 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x48, 0x00, 0x52, 0x07, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x12, 0x47, 0x0a, 0x04, 0x67, 0x72, 0x70, 0x63, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x44, 0x6f, 0x63, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x47, 0x72, + 0x70, 0x63, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x48, 0x00, 0x52, 0x04, 0x67, 0x72, 0x70, 0x63, + 0x12, 0x50, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x34, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, + 0x70, 0x69, 0x44, 0x6f, 0x63, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, + 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x48, 0x00, 0x52, 0x07, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x71, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x64, 0x42, 0x79, 0x52, 0x08, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x42, 0x79, 0x1a, 0x34, 0x0a, 0x0d, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x1a, 0x2e, 0x0a, 0x0a, 0x47, + 0x72, 0x70, 0x63, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x1a, 0x3c, 0x0a, 0x0d, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2b, 0x0a, 0x11, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, + 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x0c, 0x41, 0x70, 0x69, + 0x44, 0x6f, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x27, + 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x1d, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xcb, 0x02, 0x0a, 0x0c, + 0x41, 0x70, 0x69, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x58, 0x0a, 0x0a, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, + 0x69, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x5c, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, + 0x67, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x5a, 0x0a, + 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5b, 0x5a, 0x4d, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x70, 0x69, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, + 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_goTypes = []interface{}{ + (*ServedBy)(nil), // 0: apimanagement.gloo.solo.io.ServedBy + (*ApiDocSpec)(nil), // 1: apimanagement.gloo.solo.io.ApiDocSpec + (*ApiDocStatus)(nil), // 2: apimanagement.gloo.solo.io.ApiDocStatus + (*ApiDocReport)(nil), // 3: apimanagement.gloo.solo.io.ApiDocReport + (*ApiDocSpec_OpenAPISchema)(nil), // 4: apimanagement.gloo.solo.io.ApiDocSpec.OpenAPISchema + (*ApiDocSpec_GrpcSchema)(nil), // 5: apimanagement.gloo.solo.io.ApiDocSpec.GrpcSchema + (*ApiDocSpec_GraphQLSchema)(nil), // 6: apimanagement.gloo.solo.io.ApiDocSpec.GraphQLSchema + nil, // 7: apimanagement.gloo.solo.io.ApiDocReport.WorkspacesEntry + (*v2.DestinationSelector)(nil), // 8: common.gloo.solo.io.DestinationSelector + (*v2.Status)(nil), // 9: common.gloo.solo.io.Status + (*v2.DestinationReference)(nil), // 10: common.gloo.solo.io.DestinationReference + (*v2.Report)(nil), // 11: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_depIdxs = []int32{ + 8, // 0: apimanagement.gloo.solo.io.ServedBy.destination_selector:type_name -> common.gloo.solo.io.DestinationSelector + 4, // 1: apimanagement.gloo.solo.io.ApiDocSpec.openapi:type_name -> apimanagement.gloo.solo.io.ApiDocSpec.OpenAPISchema + 5, // 2: apimanagement.gloo.solo.io.ApiDocSpec.grpc:type_name -> apimanagement.gloo.solo.io.ApiDocSpec.GrpcSchema + 6, // 3: apimanagement.gloo.solo.io.ApiDocSpec.graphql:type_name -> apimanagement.gloo.solo.io.ApiDocSpec.GraphQLSchema + 0, // 4: apimanagement.gloo.solo.io.ApiDocSpec.served_by:type_name -> apimanagement.gloo.solo.io.ServedBy + 9, // 5: apimanagement.gloo.solo.io.ApiDocStatus.common:type_name -> common.gloo.solo.io.Status + 7, // 6: apimanagement.gloo.solo.io.ApiDocReport.workspaces:type_name -> apimanagement.gloo.solo.io.ApiDocReport.WorkspacesEntry + 10, // 7: apimanagement.gloo.solo.io.ApiDocReport.serving_destinations:type_name -> common.gloo.solo.io.DestinationReference + 11, // 8: apimanagement.gloo.solo.io.ApiDocReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServedBy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiDocSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiDocStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiDocReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiDocSpec_OpenAPISchema); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiDocSpec_GrpcSchema); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiDocSpec_GraphQLSchema); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*ApiDocSpec_Openapi)(nil), + (*ApiDocSpec_Grpc)(nil), + (*ApiDocSpec_Graphql)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_depIdxs = nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/api_doc.pb.hash.go b/client-go/apimanagement.gloo.solo.io/v2/api_doc.pb.hash.go new file mode 100644 index 000000000..8710b326d --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/api_doc.pb.hash.go @@ -0,0 +1,360 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_doc.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ServedBy) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ServedBy")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetDestinationSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DestinationSelector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDestinationSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DestinationSelector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiDocSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiDocSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetServedBy() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.SchemaType.(type) { + + case *ApiDocSpec_Openapi: + + if h, ok := interface{}(m.GetOpenapi()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Openapi")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOpenapi(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Openapi")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ApiDocSpec_Grpc: + + if h, ok := interface{}(m.GetGrpc()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Grpc")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGrpc(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Grpc")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ApiDocSpec_Graphql: + + if h, ok := interface{}(m.GetGraphql()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Graphql")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGraphql(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Graphql")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiDocStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiDocStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSelectedServingDestinations()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiDocReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiDocReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + for _, v := range m.GetServingDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiDocSpec_OpenAPISchema) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiDocSpec_OpenAPISchema")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetInlineString())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiDocSpec_GrpcSchema) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiDocSpec_GrpcSchema")); err != nil { + return 0, err + } + + if _, err = hasher.Write(m.GetDescriptors()); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiDocSpec_GraphQLSchema) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiDocSpec_GraphQLSchema")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSchemaDefinition())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/api_product.pb.clone.go b/client-go/apimanagement.gloo.solo.io/v2/api_product.pb.clone.go new file mode 100644 index 000000000..1396a6b84 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/api_product.pb.clone.go @@ -0,0 +1,96 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_product.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ApiProductSpec) Clone() proto.Message { + var target *ApiProductSpec + if m == nil { + return target + } + target = &ApiProductSpec{} + + if h, ok := interface{}(m.GetTargetRef()).(clone.Cloner); ok { + target.TargetRef = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.TargetRef) + } else { + target.TargetRef = proto.Clone(m.GetTargetRef()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.TargetRef) + } + + if h, ok := interface{}(m.GetPortalMetadata()).(clone.Cloner); ok { + target.PortalMetadata = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortalMetadata) + } else { + target.PortalMetadata = proto.Clone(m.GetPortalMetadata()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortalMetadata) + } + + return target +} + +// Clone function +func (m *ApiProductStatus) Clone() proto.Message { + var target *ApiProductStatus + if m == nil { + return target + } + target = &ApiProductStatus{} + + if h, ok := interface{}(m.GetState()).(clone.Cloner); ok { + target.State = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.State = proto.Clone(m.GetState()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.SelectedRouteCount = m.GetSelectedRouteCount() + + return target +} + +// Clone function +func (m *ApiProductReport) Clone() proto.Message { + var target *ApiProductReport + if m == nil { + return target + } + target = &ApiProductReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + target.OwnedByWorkspace = m.GetOwnedByWorkspace() + + return target +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/api_product.pb.equal.go b/client-go/apimanagement.gloo.solo.io/v2/api_product.pb.equal.go new file mode 100644 index 000000000..12e53ec9f --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/api_product.pb.equal.go @@ -0,0 +1,153 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_product.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ApiProductSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiProductSpec) + if !ok { + that2, ok := that.(ApiProductSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetTargetRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetTargetRef()) { + return false + } + } else { + if !proto.Equal(m.GetTargetRef(), target.GetTargetRef()) { + return false + } + } + + if h, ok := interface{}(m.GetPortalMetadata()).(equality.Equalizer); ok { + if !h.Equal(target.GetPortalMetadata()) { + return false + } + } else { + if !proto.Equal(m.GetPortalMetadata(), target.GetPortalMetadata()) { + return false + } + } + + return true +} + +// Equal function +func (m *ApiProductStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiProductStatus) + if !ok { + that2, ok := that.(ApiProductStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetState()).(equality.Equalizer); ok { + if !h.Equal(target.GetState()) { + return false + } + } else { + if !proto.Equal(m.GetState(), target.GetState()) { + return false + } + } + + if m.GetSelectedRouteCount() != target.GetSelectedRouteCount() { + return false + } + + return true +} + +// Equal function +func (m *ApiProductReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiProductReport) + if !ok { + that2, ok := that.(ApiProductReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if strings.Compare(m.GetOwnedByWorkspace(), target.GetOwnedByWorkspace()) != 0 { + return false + } + + return true +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/api_product.pb.go b/client-go/apimanagement.gloo.solo.io/v2/api_product.pb.go new file mode 100644 index 000000000..d43d49a41 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/api_product.pb.go @@ -0,0 +1,376 @@ +// $hide_from_docs + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_product.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ApiProducts attach Portal Metadata to routes exposed by Gloo in order to make them available for inclusion in GP Portals. +// Later, your developer portal displays this information in the end-user facing API documentation. +// PortalMetadata can be attached to Kubernetes Gateawy API HTTPRoutes. +// $hide_from_docs +type ApiProductSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // select routes using the Kubernetes Gateway API standard targetRef https://gateway-api.sigs.k8s.io/geps/gep-713/?h=targetref#policy-targetref-api. + // This can be used to apply policy to Kubernetes Gateway HTTPRoutes. + // $hide_from_docs + TargetRef *v2.TargetRef `protobuf:"bytes,1,opt,name=target_ref,json=targetRef,proto3" json:"target_ref,omitempty"` + // the metadata to expose in the developer portal + PortalMetadata *v2.PortalMetadata `protobuf:"bytes,2,opt,name=portal_metadata,json=portalMetadata,proto3" json:"portal_metadata,omitempty"` +} + +func (x *ApiProductSpec) Reset() { + *x = ApiProductSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiProductSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiProductSpec) ProtoMessage() {} + +func (x *ApiProductSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiProductSpec.ProtoReflect.Descriptor instead. +func (*ApiProductSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDescGZIP(), []int{0} +} + +func (x *ApiProductSpec) GetTargetRef() *v2.TargetRef { + if x != nil { + return x.TargetRef + } + return nil +} + +func (x *ApiProductSpec) GetPortalMetadata() *v2.PortalMetadata { + if x != nil { + return x.PortalMetadata + } + return nil +} + +// ApiProductStatus communicates the current state of the ApiProduct. +// $hide_from_docs +type ApiProductStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // State of the ApiProduct. + State *v2.Status `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + // the number of routes that have been selected by the selector + SelectedRouteCount uint32 `protobuf:"varint,2,opt,name=selected_route_count,json=selectedRouteCount,proto3" json:"selected_route_count,omitempty"` +} + +func (x *ApiProductStatus) Reset() { + *x = ApiProductStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiProductStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiProductStatus) ProtoMessage() {} + +func (x *ApiProductStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiProductStatus.ProtoReflect.Descriptor instead. +func (*ApiProductStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDescGZIP(), []int{1} +} + +func (x *ApiProductStatus) GetState() *v2.Status { + if x != nil { + return x.State + } + return nil +} + +func (x *ApiProductStatus) GetSelectedRouteCount() uint32 { + if x != nil { + return x.SelectedRouteCount + } + return 0 +} + +type ApiProductReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The name of the workspace that owns the PortalGroup schema. + OwnedByWorkspace string `protobuf:"bytes,2,opt,name=owned_by_workspace,json=ownedByWorkspace,proto3" json:"owned_by_workspace,omitempty"` +} + +func (x *ApiProductReport) Reset() { + *x = ApiProductReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiProductReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiProductReport) ProtoMessage() {} + +func (x *ApiProductReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiProductReport.ProtoReflect.Descriptor instead. +func (*ApiProductReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDescGZIP(), []int{2} +} + +func (x *ApiProductReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *ApiProductReport) GetOwnedByWorkspace() string { + if x != nil { + return x.OwnedByWorkspace + } + return "" +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDesc = []byte{ + 0x0a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x5f, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x61, + 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, + 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01, 0x0a, + 0x0e, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x3d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x52, 0x65, 0x66, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, 0x4c, + 0x0a, 0x0f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, + 0x72, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x70, 0x6f, + 0x72, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x77, 0x0a, 0x10, + 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x12, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xfa, 0x01, 0x0a, 0x10, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5c, 0x0a, 0x0a, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, + 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x77, 0x6e, 0x65, + 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x5b, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_goTypes = []interface{}{ + (*ApiProductSpec)(nil), // 0: apimanagement.gloo.solo.io.ApiProductSpec + (*ApiProductStatus)(nil), // 1: apimanagement.gloo.solo.io.ApiProductStatus + (*ApiProductReport)(nil), // 2: apimanagement.gloo.solo.io.ApiProductReport + nil, // 3: apimanagement.gloo.solo.io.ApiProductReport.WorkspacesEntry + (*v2.TargetRef)(nil), // 4: common.gloo.solo.io.TargetRef + (*v2.PortalMetadata)(nil), // 5: common.gloo.solo.io.PortalMetadata + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.Report)(nil), // 7: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_depIdxs = []int32{ + 4, // 0: apimanagement.gloo.solo.io.ApiProductSpec.target_ref:type_name -> common.gloo.solo.io.TargetRef + 5, // 1: apimanagement.gloo.solo.io.ApiProductSpec.portal_metadata:type_name -> common.gloo.solo.io.PortalMetadata + 6, // 2: apimanagement.gloo.solo.io.ApiProductStatus.state:type_name -> common.gloo.solo.io.Status + 3, // 3: apimanagement.gloo.solo.io.ApiProductReport.workspaces:type_name -> apimanagement.gloo.solo.io.ApiProductReport.WorkspacesEntry + 7, // 4: apimanagement.gloo.solo.io.ApiProductReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiProductSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiProductStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiProductReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_product_proto_depIdxs = nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/api_product.pb.hash.go b/client-go/apimanagement.gloo.solo.io/v2/api_product.pb.hash.go new file mode 100644 index 000000000..b6ce47181 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/api_product.pb.hash.go @@ -0,0 +1,182 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_product.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ApiProductSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiProductSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTargetRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TargetRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTargetRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TargetRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPortalMetadata()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PortalMetadata")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPortalMetadata(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PortalMetadata")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiProductStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiProductStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetState()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("State")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetState(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("State")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSelectedRouteCount()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiProductReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiProductReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnedByWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/api_schema_discovery.pb.clone.go b/client-go/apimanagement.gloo.solo.io/v2/api_schema_discovery.pb.clone.go new file mode 100644 index 000000000..44a0a9b5b --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/api_schema_discovery.pb.clone.go @@ -0,0 +1,142 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_schema_discovery.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ApiSchemaDiscoverySpec) Clone() proto.Message { + var target *ApiSchemaDiscoverySpec + if m == nil { + return target + } + target = &ApiSchemaDiscoverySpec{} + + if m.GetServedBy() != nil { + target.ServedBy = make([]*ServedBy, len(m.GetServedBy())) + for idx, v := range m.GetServedBy() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ServedBy[idx] = h.Clone().(*ServedBy) + } else { + target.ServedBy[idx] = proto.Clone(v).(*ServedBy) + } + + } + } + + switch m.FetchSchemaType.(type) { + + case *ApiSchemaDiscoverySpec_Openapi: + + if h, ok := interface{}(m.GetOpenapi()).(clone.Cloner); ok { + target.FetchSchemaType = &ApiSchemaDiscoverySpec_Openapi{ + Openapi: h.Clone().(*ApiSchemaDiscoverySpec_OpenAPI), + } + } else { + target.FetchSchemaType = &ApiSchemaDiscoverySpec_Openapi{ + Openapi: proto.Clone(m.GetOpenapi()).(*ApiSchemaDiscoverySpec_OpenAPI), + } + } + + } + + return target +} + +// Clone function +func (m *ApiSchemaDiscoveryStatus) Clone() proto.Message { + var target *ApiSchemaDiscoveryStatus + if m == nil { + return target + } + target = &ApiSchemaDiscoveryStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + return target +} + +// Clone function +func (m *ApiSchemaDiscoveryReport) Clone() proto.Message { + var target *ApiSchemaDiscoveryReport + if m == nil { + return target + } + target = &ApiSchemaDiscoveryReport{} + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + return target +} + +// Clone function +func (m *ApiSchemaDiscoverySpec_OpenAPI) Clone() proto.Message { + var target *ApiSchemaDiscoverySpec_OpenAPI + if m == nil { + return target + } + target = &ApiSchemaDiscoverySpec_OpenAPI{} + + if h, ok := interface{}(m.GetFetchEndpoint()).(clone.Cloner); ok { + target.FetchEndpoint = h.Clone().(*ApiSchemaDiscoverySpec_FetchEndpoint) + } else { + target.FetchEndpoint = proto.Clone(m.GetFetchEndpoint()).(*ApiSchemaDiscoverySpec_FetchEndpoint) + } + + return target +} + +// Clone function +func (m *ApiSchemaDiscoverySpec_FetchEndpoint) Clone() proto.Message { + var target *ApiSchemaDiscoverySpec_FetchEndpoint + if m == nil { + return target + } + target = &ApiSchemaDiscoverySpec_FetchEndpoint{} + + target.Url = m.GetUrl() + + if h, ok := interface{}(m.GetRetryDelay()).(clone.Cloner); ok { + target.RetryDelay = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.RetryDelay = proto.Clone(m.GetRetryDelay()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + target.PullAttempts = m.GetPullAttempts() + + target.UseBackoff = m.GetUseBackoff() + + return target +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/api_schema_discovery.pb.equal.go b/client-go/apimanagement.gloo.solo.io/v2/api_schema_discovery.pb.equal.go new file mode 100644 index 000000000..11dece93e --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/api_schema_discovery.pb.equal.go @@ -0,0 +1,237 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_schema_discovery.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ApiSchemaDiscoverySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiSchemaDiscoverySpec) + if !ok { + that2, ok := that.(ApiSchemaDiscoverySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetServedBy()) != len(target.GetServedBy()) { + return false + } + for idx, v := range m.GetServedBy() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetServedBy()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetServedBy()[idx]) { + return false + } + } + + } + + switch m.FetchSchemaType.(type) { + + case *ApiSchemaDiscoverySpec_Openapi: + if _, ok := target.FetchSchemaType.(*ApiSchemaDiscoverySpec_Openapi); !ok { + return false + } + + if h, ok := interface{}(m.GetOpenapi()).(equality.Equalizer); ok { + if !h.Equal(target.GetOpenapi()) { + return false + } + } else { + if !proto.Equal(m.GetOpenapi(), target.GetOpenapi()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.FetchSchemaType != target.FetchSchemaType { + return false + } + } + + return true +} + +// Equal function +func (m *ApiSchemaDiscoveryStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiSchemaDiscoveryStatus) + if !ok { + that2, ok := that.(ApiSchemaDiscoveryStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ApiSchemaDiscoveryReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiSchemaDiscoveryReport) + if !ok { + that2, ok := that.(ApiSchemaDiscoveryReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ApiSchemaDiscoverySpec_OpenAPI) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiSchemaDiscoverySpec_OpenAPI) + if !ok { + that2, ok := that.(ApiSchemaDiscoverySpec_OpenAPI) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetFetchEndpoint()).(equality.Equalizer); ok { + if !h.Equal(target.GetFetchEndpoint()) { + return false + } + } else { + if !proto.Equal(m.GetFetchEndpoint(), target.GetFetchEndpoint()) { + return false + } + } + + return true +} + +// Equal function +func (m *ApiSchemaDiscoverySpec_FetchEndpoint) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiSchemaDiscoverySpec_FetchEndpoint) + if !ok { + that2, ok := that.(ApiSchemaDiscoverySpec_FetchEndpoint) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetUrl(), target.GetUrl()) != 0 { + return false + } + + if h, ok := interface{}(m.GetRetryDelay()).(equality.Equalizer); ok { + if !h.Equal(target.GetRetryDelay()) { + return false + } + } else { + if !proto.Equal(m.GetRetryDelay(), target.GetRetryDelay()) { + return false + } + } + + if m.GetPullAttempts() != target.GetPullAttempts() { + return false + } + + if m.GetUseBackoff() != target.GetUseBackoff() { + return false + } + + return true +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/api_schema_discovery.pb.go b/client-go/apimanagement.gloo.solo.io/v2/api_schema_discovery.pb.go new file mode 100644 index 000000000..fc18255a7 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/api_schema_discovery.pb.go @@ -0,0 +1,595 @@ +// The ApiSchemaDiscovery custom resource discovers an API schema at a URL +// for a target destination, such as a Kubernetes Service or Gloo VirtualDestination, in the same cluster. +// After discovering the API schema, the Gloo agent automatically generates an ApiDoc resource. +// +// The ApiDoc can be part of a stitched schema of your API products that you share with +// end users, such as through the [Gloo Platform developer portal](https://docs.solo.io/gloo-gateway/latest/portal/). +// +// Gloo Platform can discover the following API schemas: +// - OpenAPI + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_schema_discovery.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Example configuration file: +// ```yaml +// +// apiVersion: apimanagement.gloo.solo.io/v2 +// kind: ApiSchemaDiscovery +// metadata: {} +// spec: +// openapi: +// fetchEndpoint: +// url: "https://example.com/tracks-schema.json" +// retryDelay: 10s +// pullAttempts: 10 +// servedBy: +// - destinationSelector: +// kind: SERVICE +// selector: +// cluster: cluster-1 +// name: tracks-rest-api +// namespace: tracks +// +// ``` +type ApiSchemaDiscoverySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The schema type to fetch from the target URL. Currently, only OpenAPI is supported. + // + // Types that are assignable to FetchSchemaType: + // + // *ApiSchemaDiscoverySpec_Openapi + FetchSchemaType isApiSchemaDiscoverySpec_FetchSchemaType `protobuf_oneof:"fetch_schema_type"` + // The destinations that serve the fetched API schema. The destinations must be in the same cluster as the ApiSchemaDiscovery resource. + ServedBy []*ServedBy `protobuf:"bytes,2,rep,name=served_by,json=servedBy,proto3" json:"served_by,omitempty"` +} + +func (x *ApiSchemaDiscoverySpec) Reset() { + *x = ApiSchemaDiscoverySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiSchemaDiscoverySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiSchemaDiscoverySpec) ProtoMessage() {} + +func (x *ApiSchemaDiscoverySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiSchemaDiscoverySpec.ProtoReflect.Descriptor instead. +func (*ApiSchemaDiscoverySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDescGZIP(), []int{0} +} + +func (m *ApiSchemaDiscoverySpec) GetFetchSchemaType() isApiSchemaDiscoverySpec_FetchSchemaType { + if m != nil { + return m.FetchSchemaType + } + return nil +} + +func (x *ApiSchemaDiscoverySpec) GetOpenapi() *ApiSchemaDiscoverySpec_OpenAPI { + if x, ok := x.GetFetchSchemaType().(*ApiSchemaDiscoverySpec_Openapi); ok { + return x.Openapi + } + return nil +} + +func (x *ApiSchemaDiscoverySpec) GetServedBy() []*ServedBy { + if x != nil { + return x.ServedBy + } + return nil +} + +type isApiSchemaDiscoverySpec_FetchSchemaType interface { + isApiSchemaDiscoverySpec_FetchSchemaType() +} + +type ApiSchemaDiscoverySpec_Openapi struct { + // The details for fetching the API schema. + Openapi *ApiSchemaDiscoverySpec_OpenAPI `protobuf:"bytes,1,opt,name=openapi,proto3,oneof"` +} + +func (*ApiSchemaDiscoverySpec_Openapi) isApiSchemaDiscoverySpec_FetchSchemaType() {} + +// ApiSchemaDiscoveryStatus shows the status of the ApiSchemaDiscovery. +// If the Gloo agent was not able to fetch the API schema, the status is reflected in `common`. +type ApiSchemaDiscoveryStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The name of workspace that owns the ApiSchemaDiscovery schema. + OwnerWorkspace string `protobuf:"bytes,2,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` +} + +func (x *ApiSchemaDiscoveryStatus) Reset() { + *x = ApiSchemaDiscoveryStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiSchemaDiscoveryStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiSchemaDiscoveryStatus) ProtoMessage() {} + +func (x *ApiSchemaDiscoveryStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiSchemaDiscoveryStatus.ProtoReflect.Descriptor instead. +func (*ApiSchemaDiscoveryStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDescGZIP(), []int{1} +} + +func (x *ApiSchemaDiscoveryStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *ApiSchemaDiscoveryStatus) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +// The report shows the resources that the ApiSchemaDiscovery selects after it is successfully applied. +type ApiSchemaDiscoveryReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the workspace that owns the ApiSchemaDiscovery schema. + OwnerWorkspace string `protobuf:"bytes,2,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` +} + +func (x *ApiSchemaDiscoveryReport) Reset() { + *x = ApiSchemaDiscoveryReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiSchemaDiscoveryReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiSchemaDiscoveryReport) ProtoMessage() {} + +func (x *ApiSchemaDiscoveryReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiSchemaDiscoveryReport.ProtoReflect.Descriptor instead. +func (*ApiSchemaDiscoveryReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDescGZIP(), []int{2} +} + +func (x *ApiSchemaDiscoveryReport) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +// The details for the OpenAPI endpoint. +type ApiSchemaDiscoverySpec_OpenAPI struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The URL endpoint to fetch the API schema manually. The Gloo agent must be able to reach this endpoint. + FetchEndpoint *ApiSchemaDiscoverySpec_FetchEndpoint `protobuf:"bytes,1,opt,name=fetch_endpoint,json=fetchEndpoint,proto3" json:"fetch_endpoint,omitempty"` +} + +func (x *ApiSchemaDiscoverySpec_OpenAPI) Reset() { + *x = ApiSchemaDiscoverySpec_OpenAPI{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiSchemaDiscoverySpec_OpenAPI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiSchemaDiscoverySpec_OpenAPI) ProtoMessage() {} + +func (x *ApiSchemaDiscoverySpec_OpenAPI) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiSchemaDiscoverySpec_OpenAPI.ProtoReflect.Descriptor instead. +func (*ApiSchemaDiscoverySpec_OpenAPI) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ApiSchemaDiscoverySpec_OpenAPI) GetFetchEndpoint() *ApiSchemaDiscoverySpec_FetchEndpoint { + if x != nil { + return x.FetchEndpoint + } + return nil +} + +// The URL endpoint to fetch the API schema manually. The Gloo agent must be able to reach this endpoint. +type ApiSchemaDiscoverySpec_FetchEndpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: The URL endpoint to fetch the API schema from. Supported API schema paths are JSON or YAML files. For `https`, make sure that the URL is included in the certificate that validates the HTTPS traffic. Formatted as: `://:/` + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + // The retry delay when fetching the schema. If omitted, the default is 5s. + // You can also configure this setting for all resources by configuring the Gloo Platform agent during installation or upgrading with the `--api-discovery-polling-retry-delay` flag. + RetryDelay *duration.Duration `protobuf:"bytes,2,opt,name=retry_delay,json=retryDelay,proto3" json:"retry_delay,omitempty"` + // The number of attempts to fetch the schema. If omitted, the default is 3. + // You can also configure this setting for all resources by configuring the Gloo Platform agent during installation or upgrading with the `--api-discovery-polling-pull-attempts` flag. + PullAttempts uint32 `protobuf:"varint,3,opt,name=pull_attempts,json=pullAttempts,proto3" json:"pull_attempts,omitempty"` + // Whether to use [exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff) when retrying to fetch the schema. If omitted, the default is true. + // You can also configure this setting for all resources by configuring the Gloo Platform agent during installation or upgrading with the `--api-discovery-polling-use-backoff` flag. + UseBackoff bool `protobuf:"varint,4,opt,name=use_backoff,json=useBackoff,proto3" json:"use_backoff,omitempty"` +} + +func (x *ApiSchemaDiscoverySpec_FetchEndpoint) Reset() { + *x = ApiSchemaDiscoverySpec_FetchEndpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiSchemaDiscoverySpec_FetchEndpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiSchemaDiscoverySpec_FetchEndpoint) ProtoMessage() {} + +func (x *ApiSchemaDiscoverySpec_FetchEndpoint) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiSchemaDiscoverySpec_FetchEndpoint.ProtoReflect.Descriptor instead. +func (*ApiSchemaDiscoverySpec_FetchEndpoint) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *ApiSchemaDiscoverySpec_FetchEndpoint) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *ApiSchemaDiscoverySpec_FetchEndpoint) GetRetryDelay() *duration.Duration { + if x != nil { + return x.RetryDelay + } + return nil +} + +func (x *ApiSchemaDiscoverySpec_FetchEndpoint) GetPullAttempts() uint32 { + if x != nil { + return x.PullAttempts + } + return 0 +} + +func (x *ApiSchemaDiscoverySpec_FetchEndpoint) GetUseBackoff() bool { + if x != nil { + return x.UseBackoff + } + return false +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDesc = []byte{ + 0x0a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x5f, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x70, 0x72, + 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x64, 0x6f, 0x63, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x03, 0x0a, 0x16, 0x41, 0x70, 0x69, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x56, + 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x48, 0x00, 0x52, 0x07, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x12, 0x41, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, + 0x5f, 0x62, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x64, 0x42, 0x79, 0x52, + 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x42, 0x79, 0x1a, 0x72, 0x0a, 0x07, 0x4f, 0x70, 0x65, + 0x6e, 0x41, 0x50, 0x49, 0x12, 0x67, 0x0a, 0x0e, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x61, + 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, + 0x66, 0x65, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0xa3, 0x01, + 0x0a, 0x0d, 0x46, 0x65, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x6c, 0x12, 0x3a, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x23, 0x0a, + 0x0d, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x75, 0x6c, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, + 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, + 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x42, 0x61, 0x63, 0x6b, + 0x6f, 0x66, 0x66, 0x42, 0x13, 0x0a, 0x11, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x78, 0x0a, 0x18, 0x41, 0x70, 0x69, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x22, 0x43, 0x0a, 0x18, 0x41, 0x70, 0x69, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x27, + 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x42, 0x5b, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, + 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_goTypes = []interface{}{ + (*ApiSchemaDiscoverySpec)(nil), // 0: apimanagement.gloo.solo.io.ApiSchemaDiscoverySpec + (*ApiSchemaDiscoveryStatus)(nil), // 1: apimanagement.gloo.solo.io.ApiSchemaDiscoveryStatus + (*ApiSchemaDiscoveryReport)(nil), // 2: apimanagement.gloo.solo.io.ApiSchemaDiscoveryReport + (*ApiSchemaDiscoverySpec_OpenAPI)(nil), // 3: apimanagement.gloo.solo.io.ApiSchemaDiscoverySpec.OpenAPI + (*ApiSchemaDiscoverySpec_FetchEndpoint)(nil), // 4: apimanagement.gloo.solo.io.ApiSchemaDiscoverySpec.FetchEndpoint + (*ServedBy)(nil), // 5: apimanagement.gloo.solo.io.ServedBy + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*duration.Duration)(nil), // 7: google.protobuf.Duration +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_depIdxs = []int32{ + 3, // 0: apimanagement.gloo.solo.io.ApiSchemaDiscoverySpec.openapi:type_name -> apimanagement.gloo.solo.io.ApiSchemaDiscoverySpec.OpenAPI + 5, // 1: apimanagement.gloo.solo.io.ApiSchemaDiscoverySpec.served_by:type_name -> apimanagement.gloo.solo.io.ServedBy + 6, // 2: apimanagement.gloo.solo.io.ApiSchemaDiscoveryStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: apimanagement.gloo.solo.io.ApiSchemaDiscoverySpec.OpenAPI.fetch_endpoint:type_name -> apimanagement.gloo.solo.io.ApiSchemaDiscoverySpec.FetchEndpoint + 7, // 4: apimanagement.gloo.solo.io.ApiSchemaDiscoverySpec.FetchEndpoint.retry_delay:type_name -> google.protobuf.Duration + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto != nil { + return + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_doc_proto_init() + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiSchemaDiscoverySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiSchemaDiscoveryStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiSchemaDiscoveryReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiSchemaDiscoverySpec_OpenAPI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiSchemaDiscoverySpec_FetchEndpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*ApiSchemaDiscoverySpec_Openapi)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_api_schema_discovery_proto_depIdxs = nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/api_schema_discovery.pb.hash.go b/client-go/apimanagement.gloo.solo.io/v2/api_schema_discovery.pb.hash.go new file mode 100644 index 000000000..c87d0166e --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/api_schema_discovery.pb.hash.go @@ -0,0 +1,238 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/api_schema_discovery.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ApiSchemaDiscoverySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiSchemaDiscoverySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetServedBy() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.FetchSchemaType.(type) { + + case *ApiSchemaDiscoverySpec_Openapi: + + if h, ok := interface{}(m.GetOpenapi()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Openapi")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOpenapi(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Openapi")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiSchemaDiscoveryStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiSchemaDiscoveryStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiSchemaDiscoveryReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiSchemaDiscoveryReport")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiSchemaDiscoverySpec_OpenAPI) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiSchemaDiscoverySpec_OpenAPI")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetFetchEndpoint()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("FetchEndpoint")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetFetchEndpoint(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("FetchEndpoint")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiSchemaDiscoverySpec_FetchEndpoint) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.ApiSchemaDiscoverySpec_FetchEndpoint")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUrl())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRetryDelay()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RetryDelay")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRetryDelay(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RetryDelay")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPullAttempts()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetUseBackoff()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/clients.go b/client-go/apimanagement.gloo.solo.io/v2/clients.go new file mode 100644 index 000000000..6b81163f7 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/clients.go @@ -0,0 +1,1256 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the apimanagement.gloo.solo.io/v2 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the apimanagement.gloo.solo.io/v2 APIs +type Clientset interface { + // clienset for the apimanagement.gloo.solo.io/v2/v2 APIs + GraphQLStitchedSchemas() GraphQLStitchedSchemaClient + // clienset for the apimanagement.gloo.solo.io/v2/v2 APIs + GraphQLResolverMaps() GraphQLResolverMapClient + // clienset for the apimanagement.gloo.solo.io/v2/v2 APIs + GraphQLSchemas() GraphQLSchemaClient + // clienset for the apimanagement.gloo.solo.io/v2/v2 APIs + ApiDocs() ApiDocClient + // clienset for the apimanagement.gloo.solo.io/v2/v2 APIs + Portals() PortalClient + // clienset for the apimanagement.gloo.solo.io/v2/v2 APIs + PortalGroups() PortalGroupClient + // clienset for the apimanagement.gloo.solo.io/v2/v2 APIs + ApiProducts() ApiProductClient + // clienset for the apimanagement.gloo.solo.io/v2/v2 APIs + ApiSchemaDiscoveries() ApiSchemaDiscoveryClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the apimanagement.gloo.solo.io/v2/v2 APIs +func (c *clientSet) GraphQLStitchedSchemas() GraphQLStitchedSchemaClient { + return NewGraphQLStitchedSchemaClient(c.client) +} + +// clienset for the apimanagement.gloo.solo.io/v2/v2 APIs +func (c *clientSet) GraphQLResolverMaps() GraphQLResolverMapClient { + return NewGraphQLResolverMapClient(c.client) +} + +// clienset for the apimanagement.gloo.solo.io/v2/v2 APIs +func (c *clientSet) GraphQLSchemas() GraphQLSchemaClient { + return NewGraphQLSchemaClient(c.client) +} + +// clienset for the apimanagement.gloo.solo.io/v2/v2 APIs +func (c *clientSet) ApiDocs() ApiDocClient { + return NewApiDocClient(c.client) +} + +// clienset for the apimanagement.gloo.solo.io/v2/v2 APIs +func (c *clientSet) Portals() PortalClient { + return NewPortalClient(c.client) +} + +// clienset for the apimanagement.gloo.solo.io/v2/v2 APIs +func (c *clientSet) PortalGroups() PortalGroupClient { + return NewPortalGroupClient(c.client) +} + +// clienset for the apimanagement.gloo.solo.io/v2/v2 APIs +func (c *clientSet) ApiProducts() ApiProductClient { + return NewApiProductClient(c.client) +} + +// clienset for the apimanagement.gloo.solo.io/v2/v2 APIs +func (c *clientSet) ApiSchemaDiscoveries() ApiSchemaDiscoveryClient { + return NewApiSchemaDiscoveryClient(c.client) +} + +// Reader knows how to read and list GraphQLStitchedSchemas. +type GraphQLStitchedSchemaReader interface { + // Get retrieves a GraphQLStitchedSchema for the given object key + GetGraphQLStitchedSchema(ctx context.Context, key client.ObjectKey) (*GraphQLStitchedSchema, error) + + // List retrieves list of GraphQLStitchedSchemas for a given namespace and list options. + ListGraphQLStitchedSchema(ctx context.Context, opts ...client.ListOption) (*GraphQLStitchedSchemaList, error) +} + +// GraphQLStitchedSchemaTransitionFunction instructs the GraphQLStitchedSchemaWriter how to transition between an existing +// GraphQLStitchedSchema object and a desired on an Upsert +type GraphQLStitchedSchemaTransitionFunction func(existing, desired *GraphQLStitchedSchema) error + +// Writer knows how to create, delete, and update GraphQLStitchedSchemas. +type GraphQLStitchedSchemaWriter interface { + // Create saves the GraphQLStitchedSchema object. + CreateGraphQLStitchedSchema(ctx context.Context, obj *GraphQLStitchedSchema, opts ...client.CreateOption) error + + // Delete deletes the GraphQLStitchedSchema object. + DeleteGraphQLStitchedSchema(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given GraphQLStitchedSchema object. + UpdateGraphQLStitchedSchema(ctx context.Context, obj *GraphQLStitchedSchema, opts ...client.UpdateOption) error + + // Patch patches the given GraphQLStitchedSchema object. + PatchGraphQLStitchedSchema(ctx context.Context, obj *GraphQLStitchedSchema, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all GraphQLStitchedSchema objects matching the given options. + DeleteAllOfGraphQLStitchedSchema(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the GraphQLStitchedSchema object. + UpsertGraphQLStitchedSchema(ctx context.Context, obj *GraphQLStitchedSchema, transitionFuncs ...GraphQLStitchedSchemaTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a GraphQLStitchedSchema object. +type GraphQLStitchedSchemaStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given GraphQLStitchedSchema object. + UpdateGraphQLStitchedSchemaStatus(ctx context.Context, obj *GraphQLStitchedSchema, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given GraphQLStitchedSchema object's subresource. + PatchGraphQLStitchedSchemaStatus(ctx context.Context, obj *GraphQLStitchedSchema, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on GraphQLStitchedSchemas. +type GraphQLStitchedSchemaClient interface { + GraphQLStitchedSchemaReader + GraphQLStitchedSchemaWriter + GraphQLStitchedSchemaStatusWriter +} + +type graphQLStitchedSchemaClient struct { + client client.Client +} + +func NewGraphQLStitchedSchemaClient(client client.Client) *graphQLStitchedSchemaClient { + return &graphQLStitchedSchemaClient{client: client} +} + +func (c *graphQLStitchedSchemaClient) GetGraphQLStitchedSchema(ctx context.Context, key client.ObjectKey) (*GraphQLStitchedSchema, error) { + obj := &GraphQLStitchedSchema{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *graphQLStitchedSchemaClient) ListGraphQLStitchedSchema(ctx context.Context, opts ...client.ListOption) (*GraphQLStitchedSchemaList, error) { + list := &GraphQLStitchedSchemaList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *graphQLStitchedSchemaClient) CreateGraphQLStitchedSchema(ctx context.Context, obj *GraphQLStitchedSchema, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *graphQLStitchedSchemaClient) DeleteGraphQLStitchedSchema(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &GraphQLStitchedSchema{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *graphQLStitchedSchemaClient) UpdateGraphQLStitchedSchema(ctx context.Context, obj *GraphQLStitchedSchema, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *graphQLStitchedSchemaClient) PatchGraphQLStitchedSchema(ctx context.Context, obj *GraphQLStitchedSchema, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *graphQLStitchedSchemaClient) DeleteAllOfGraphQLStitchedSchema(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &GraphQLStitchedSchema{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *graphQLStitchedSchemaClient) UpsertGraphQLStitchedSchema(ctx context.Context, obj *GraphQLStitchedSchema, transitionFuncs ...GraphQLStitchedSchemaTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*GraphQLStitchedSchema), desired.(*GraphQLStitchedSchema)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *graphQLStitchedSchemaClient) UpdateGraphQLStitchedSchemaStatus(ctx context.Context, obj *GraphQLStitchedSchema, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *graphQLStitchedSchemaClient) PatchGraphQLStitchedSchemaStatus(ctx context.Context, obj *GraphQLStitchedSchema, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides GraphQLStitchedSchemaClients for multiple clusters. +type MulticlusterGraphQLStitchedSchemaClient interface { + // Cluster returns a GraphQLStitchedSchemaClient for the given cluster + Cluster(cluster string) (GraphQLStitchedSchemaClient, error) +} + +type multiclusterGraphQLStitchedSchemaClient struct { + client multicluster.Client +} + +func NewMulticlusterGraphQLStitchedSchemaClient(client multicluster.Client) MulticlusterGraphQLStitchedSchemaClient { + return &multiclusterGraphQLStitchedSchemaClient{client: client} +} + +func (m *multiclusterGraphQLStitchedSchemaClient) Cluster(cluster string) (GraphQLStitchedSchemaClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewGraphQLStitchedSchemaClient(client), nil +} + +// Reader knows how to read and list GraphQLResolverMaps. +type GraphQLResolverMapReader interface { + // Get retrieves a GraphQLResolverMap for the given object key + GetGraphQLResolverMap(ctx context.Context, key client.ObjectKey) (*GraphQLResolverMap, error) + + // List retrieves list of GraphQLResolverMaps for a given namespace and list options. + ListGraphQLResolverMap(ctx context.Context, opts ...client.ListOption) (*GraphQLResolverMapList, error) +} + +// GraphQLResolverMapTransitionFunction instructs the GraphQLResolverMapWriter how to transition between an existing +// GraphQLResolverMap object and a desired on an Upsert +type GraphQLResolverMapTransitionFunction func(existing, desired *GraphQLResolverMap) error + +// Writer knows how to create, delete, and update GraphQLResolverMaps. +type GraphQLResolverMapWriter interface { + // Create saves the GraphQLResolverMap object. + CreateGraphQLResolverMap(ctx context.Context, obj *GraphQLResolverMap, opts ...client.CreateOption) error + + // Delete deletes the GraphQLResolverMap object. + DeleteGraphQLResolverMap(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given GraphQLResolverMap object. + UpdateGraphQLResolverMap(ctx context.Context, obj *GraphQLResolverMap, opts ...client.UpdateOption) error + + // Patch patches the given GraphQLResolverMap object. + PatchGraphQLResolverMap(ctx context.Context, obj *GraphQLResolverMap, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all GraphQLResolverMap objects matching the given options. + DeleteAllOfGraphQLResolverMap(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the GraphQLResolverMap object. + UpsertGraphQLResolverMap(ctx context.Context, obj *GraphQLResolverMap, transitionFuncs ...GraphQLResolverMapTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a GraphQLResolverMap object. +type GraphQLResolverMapStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given GraphQLResolverMap object. + UpdateGraphQLResolverMapStatus(ctx context.Context, obj *GraphQLResolverMap, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given GraphQLResolverMap object's subresource. + PatchGraphQLResolverMapStatus(ctx context.Context, obj *GraphQLResolverMap, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on GraphQLResolverMaps. +type GraphQLResolverMapClient interface { + GraphQLResolverMapReader + GraphQLResolverMapWriter + GraphQLResolverMapStatusWriter +} + +type graphQLResolverMapClient struct { + client client.Client +} + +func NewGraphQLResolverMapClient(client client.Client) *graphQLResolverMapClient { + return &graphQLResolverMapClient{client: client} +} + +func (c *graphQLResolverMapClient) GetGraphQLResolverMap(ctx context.Context, key client.ObjectKey) (*GraphQLResolverMap, error) { + obj := &GraphQLResolverMap{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *graphQLResolverMapClient) ListGraphQLResolverMap(ctx context.Context, opts ...client.ListOption) (*GraphQLResolverMapList, error) { + list := &GraphQLResolverMapList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *graphQLResolverMapClient) CreateGraphQLResolverMap(ctx context.Context, obj *GraphQLResolverMap, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *graphQLResolverMapClient) DeleteGraphQLResolverMap(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &GraphQLResolverMap{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *graphQLResolverMapClient) UpdateGraphQLResolverMap(ctx context.Context, obj *GraphQLResolverMap, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *graphQLResolverMapClient) PatchGraphQLResolverMap(ctx context.Context, obj *GraphQLResolverMap, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *graphQLResolverMapClient) DeleteAllOfGraphQLResolverMap(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &GraphQLResolverMap{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *graphQLResolverMapClient) UpsertGraphQLResolverMap(ctx context.Context, obj *GraphQLResolverMap, transitionFuncs ...GraphQLResolverMapTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*GraphQLResolverMap), desired.(*GraphQLResolverMap)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *graphQLResolverMapClient) UpdateGraphQLResolverMapStatus(ctx context.Context, obj *GraphQLResolverMap, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *graphQLResolverMapClient) PatchGraphQLResolverMapStatus(ctx context.Context, obj *GraphQLResolverMap, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides GraphQLResolverMapClients for multiple clusters. +type MulticlusterGraphQLResolverMapClient interface { + // Cluster returns a GraphQLResolverMapClient for the given cluster + Cluster(cluster string) (GraphQLResolverMapClient, error) +} + +type multiclusterGraphQLResolverMapClient struct { + client multicluster.Client +} + +func NewMulticlusterGraphQLResolverMapClient(client multicluster.Client) MulticlusterGraphQLResolverMapClient { + return &multiclusterGraphQLResolverMapClient{client: client} +} + +func (m *multiclusterGraphQLResolverMapClient) Cluster(cluster string) (GraphQLResolverMapClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewGraphQLResolverMapClient(client), nil +} + +// Reader knows how to read and list GraphQLSchemas. +type GraphQLSchemaReader interface { + // Get retrieves a GraphQLSchema for the given object key + GetGraphQLSchema(ctx context.Context, key client.ObjectKey) (*GraphQLSchema, error) + + // List retrieves list of GraphQLSchemas for a given namespace and list options. + ListGraphQLSchema(ctx context.Context, opts ...client.ListOption) (*GraphQLSchemaList, error) +} + +// GraphQLSchemaTransitionFunction instructs the GraphQLSchemaWriter how to transition between an existing +// GraphQLSchema object and a desired on an Upsert +type GraphQLSchemaTransitionFunction func(existing, desired *GraphQLSchema) error + +// Writer knows how to create, delete, and update GraphQLSchemas. +type GraphQLSchemaWriter interface { + // Create saves the GraphQLSchema object. + CreateGraphQLSchema(ctx context.Context, obj *GraphQLSchema, opts ...client.CreateOption) error + + // Delete deletes the GraphQLSchema object. + DeleteGraphQLSchema(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given GraphQLSchema object. + UpdateGraphQLSchema(ctx context.Context, obj *GraphQLSchema, opts ...client.UpdateOption) error + + // Patch patches the given GraphQLSchema object. + PatchGraphQLSchema(ctx context.Context, obj *GraphQLSchema, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all GraphQLSchema objects matching the given options. + DeleteAllOfGraphQLSchema(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the GraphQLSchema object. + UpsertGraphQLSchema(ctx context.Context, obj *GraphQLSchema, transitionFuncs ...GraphQLSchemaTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a GraphQLSchema object. +type GraphQLSchemaStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given GraphQLSchema object. + UpdateGraphQLSchemaStatus(ctx context.Context, obj *GraphQLSchema, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given GraphQLSchema object's subresource. + PatchGraphQLSchemaStatus(ctx context.Context, obj *GraphQLSchema, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on GraphQLSchemas. +type GraphQLSchemaClient interface { + GraphQLSchemaReader + GraphQLSchemaWriter + GraphQLSchemaStatusWriter +} + +type graphQLSchemaClient struct { + client client.Client +} + +func NewGraphQLSchemaClient(client client.Client) *graphQLSchemaClient { + return &graphQLSchemaClient{client: client} +} + +func (c *graphQLSchemaClient) GetGraphQLSchema(ctx context.Context, key client.ObjectKey) (*GraphQLSchema, error) { + obj := &GraphQLSchema{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *graphQLSchemaClient) ListGraphQLSchema(ctx context.Context, opts ...client.ListOption) (*GraphQLSchemaList, error) { + list := &GraphQLSchemaList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *graphQLSchemaClient) CreateGraphQLSchema(ctx context.Context, obj *GraphQLSchema, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *graphQLSchemaClient) DeleteGraphQLSchema(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &GraphQLSchema{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *graphQLSchemaClient) UpdateGraphQLSchema(ctx context.Context, obj *GraphQLSchema, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *graphQLSchemaClient) PatchGraphQLSchema(ctx context.Context, obj *GraphQLSchema, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *graphQLSchemaClient) DeleteAllOfGraphQLSchema(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &GraphQLSchema{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *graphQLSchemaClient) UpsertGraphQLSchema(ctx context.Context, obj *GraphQLSchema, transitionFuncs ...GraphQLSchemaTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*GraphQLSchema), desired.(*GraphQLSchema)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *graphQLSchemaClient) UpdateGraphQLSchemaStatus(ctx context.Context, obj *GraphQLSchema, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *graphQLSchemaClient) PatchGraphQLSchemaStatus(ctx context.Context, obj *GraphQLSchema, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides GraphQLSchemaClients for multiple clusters. +type MulticlusterGraphQLSchemaClient interface { + // Cluster returns a GraphQLSchemaClient for the given cluster + Cluster(cluster string) (GraphQLSchemaClient, error) +} + +type multiclusterGraphQLSchemaClient struct { + client multicluster.Client +} + +func NewMulticlusterGraphQLSchemaClient(client multicluster.Client) MulticlusterGraphQLSchemaClient { + return &multiclusterGraphQLSchemaClient{client: client} +} + +func (m *multiclusterGraphQLSchemaClient) Cluster(cluster string) (GraphQLSchemaClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewGraphQLSchemaClient(client), nil +} + +// Reader knows how to read and list ApiDocs. +type ApiDocReader interface { + // Get retrieves a ApiDoc for the given object key + GetApiDoc(ctx context.Context, key client.ObjectKey) (*ApiDoc, error) + + // List retrieves list of ApiDocs for a given namespace and list options. + ListApiDoc(ctx context.Context, opts ...client.ListOption) (*ApiDocList, error) +} + +// ApiDocTransitionFunction instructs the ApiDocWriter how to transition between an existing +// ApiDoc object and a desired on an Upsert +type ApiDocTransitionFunction func(existing, desired *ApiDoc) error + +// Writer knows how to create, delete, and update ApiDocs. +type ApiDocWriter interface { + // Create saves the ApiDoc object. + CreateApiDoc(ctx context.Context, obj *ApiDoc, opts ...client.CreateOption) error + + // Delete deletes the ApiDoc object. + DeleteApiDoc(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ApiDoc object. + UpdateApiDoc(ctx context.Context, obj *ApiDoc, opts ...client.UpdateOption) error + + // Patch patches the given ApiDoc object. + PatchApiDoc(ctx context.Context, obj *ApiDoc, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ApiDoc objects matching the given options. + DeleteAllOfApiDoc(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ApiDoc object. + UpsertApiDoc(ctx context.Context, obj *ApiDoc, transitionFuncs ...ApiDocTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ApiDoc object. +type ApiDocStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ApiDoc object. + UpdateApiDocStatus(ctx context.Context, obj *ApiDoc, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ApiDoc object's subresource. + PatchApiDocStatus(ctx context.Context, obj *ApiDoc, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ApiDocs. +type ApiDocClient interface { + ApiDocReader + ApiDocWriter + ApiDocStatusWriter +} + +type apiDocClient struct { + client client.Client +} + +func NewApiDocClient(client client.Client) *apiDocClient { + return &apiDocClient{client: client} +} + +func (c *apiDocClient) GetApiDoc(ctx context.Context, key client.ObjectKey) (*ApiDoc, error) { + obj := &ApiDoc{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *apiDocClient) ListApiDoc(ctx context.Context, opts ...client.ListOption) (*ApiDocList, error) { + list := &ApiDocList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *apiDocClient) CreateApiDoc(ctx context.Context, obj *ApiDoc, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *apiDocClient) DeleteApiDoc(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ApiDoc{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *apiDocClient) UpdateApiDoc(ctx context.Context, obj *ApiDoc, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *apiDocClient) PatchApiDoc(ctx context.Context, obj *ApiDoc, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *apiDocClient) DeleteAllOfApiDoc(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ApiDoc{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *apiDocClient) UpsertApiDoc(ctx context.Context, obj *ApiDoc, transitionFuncs ...ApiDocTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ApiDoc), desired.(*ApiDoc)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *apiDocClient) UpdateApiDocStatus(ctx context.Context, obj *ApiDoc, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *apiDocClient) PatchApiDocStatus(ctx context.Context, obj *ApiDoc, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ApiDocClients for multiple clusters. +type MulticlusterApiDocClient interface { + // Cluster returns a ApiDocClient for the given cluster + Cluster(cluster string) (ApiDocClient, error) +} + +type multiclusterApiDocClient struct { + client multicluster.Client +} + +func NewMulticlusterApiDocClient(client multicluster.Client) MulticlusterApiDocClient { + return &multiclusterApiDocClient{client: client} +} + +func (m *multiclusterApiDocClient) Cluster(cluster string) (ApiDocClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewApiDocClient(client), nil +} + +// Reader knows how to read and list Portals. +type PortalReader interface { + // Get retrieves a Portal for the given object key + GetPortal(ctx context.Context, key client.ObjectKey) (*Portal, error) + + // List retrieves list of Portals for a given namespace and list options. + ListPortal(ctx context.Context, opts ...client.ListOption) (*PortalList, error) +} + +// PortalTransitionFunction instructs the PortalWriter how to transition between an existing +// Portal object and a desired on an Upsert +type PortalTransitionFunction func(existing, desired *Portal) error + +// Writer knows how to create, delete, and update Portals. +type PortalWriter interface { + // Create saves the Portal object. + CreatePortal(ctx context.Context, obj *Portal, opts ...client.CreateOption) error + + // Delete deletes the Portal object. + DeletePortal(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given Portal object. + UpdatePortal(ctx context.Context, obj *Portal, opts ...client.UpdateOption) error + + // Patch patches the given Portal object. + PatchPortal(ctx context.Context, obj *Portal, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all Portal objects matching the given options. + DeleteAllOfPortal(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the Portal object. + UpsertPortal(ctx context.Context, obj *Portal, transitionFuncs ...PortalTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a Portal object. +type PortalStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given Portal object. + UpdatePortalStatus(ctx context.Context, obj *Portal, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given Portal object's subresource. + PatchPortalStatus(ctx context.Context, obj *Portal, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on Portals. +type PortalClient interface { + PortalReader + PortalWriter + PortalStatusWriter +} + +type portalClient struct { + client client.Client +} + +func NewPortalClient(client client.Client) *portalClient { + return &portalClient{client: client} +} + +func (c *portalClient) GetPortal(ctx context.Context, key client.ObjectKey) (*Portal, error) { + obj := &Portal{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *portalClient) ListPortal(ctx context.Context, opts ...client.ListOption) (*PortalList, error) { + list := &PortalList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *portalClient) CreatePortal(ctx context.Context, obj *Portal, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *portalClient) DeletePortal(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &Portal{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *portalClient) UpdatePortal(ctx context.Context, obj *Portal, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *portalClient) PatchPortal(ctx context.Context, obj *Portal, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *portalClient) DeleteAllOfPortal(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &Portal{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *portalClient) UpsertPortal(ctx context.Context, obj *Portal, transitionFuncs ...PortalTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*Portal), desired.(*Portal)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *portalClient) UpdatePortalStatus(ctx context.Context, obj *Portal, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *portalClient) PatchPortalStatus(ctx context.Context, obj *Portal, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides PortalClients for multiple clusters. +type MulticlusterPortalClient interface { + // Cluster returns a PortalClient for the given cluster + Cluster(cluster string) (PortalClient, error) +} + +type multiclusterPortalClient struct { + client multicluster.Client +} + +func NewMulticlusterPortalClient(client multicluster.Client) MulticlusterPortalClient { + return &multiclusterPortalClient{client: client} +} + +func (m *multiclusterPortalClient) Cluster(cluster string) (PortalClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewPortalClient(client), nil +} + +// Reader knows how to read and list PortalGroups. +type PortalGroupReader interface { + // Get retrieves a PortalGroup for the given object key + GetPortalGroup(ctx context.Context, key client.ObjectKey) (*PortalGroup, error) + + // List retrieves list of PortalGroups for a given namespace and list options. + ListPortalGroup(ctx context.Context, opts ...client.ListOption) (*PortalGroupList, error) +} + +// PortalGroupTransitionFunction instructs the PortalGroupWriter how to transition between an existing +// PortalGroup object and a desired on an Upsert +type PortalGroupTransitionFunction func(existing, desired *PortalGroup) error + +// Writer knows how to create, delete, and update PortalGroups. +type PortalGroupWriter interface { + // Create saves the PortalGroup object. + CreatePortalGroup(ctx context.Context, obj *PortalGroup, opts ...client.CreateOption) error + + // Delete deletes the PortalGroup object. + DeletePortalGroup(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given PortalGroup object. + UpdatePortalGroup(ctx context.Context, obj *PortalGroup, opts ...client.UpdateOption) error + + // Patch patches the given PortalGroup object. + PatchPortalGroup(ctx context.Context, obj *PortalGroup, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all PortalGroup objects matching the given options. + DeleteAllOfPortalGroup(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the PortalGroup object. + UpsertPortalGroup(ctx context.Context, obj *PortalGroup, transitionFuncs ...PortalGroupTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a PortalGroup object. +type PortalGroupStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given PortalGroup object. + UpdatePortalGroupStatus(ctx context.Context, obj *PortalGroup, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given PortalGroup object's subresource. + PatchPortalGroupStatus(ctx context.Context, obj *PortalGroup, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on PortalGroups. +type PortalGroupClient interface { + PortalGroupReader + PortalGroupWriter + PortalGroupStatusWriter +} + +type portalGroupClient struct { + client client.Client +} + +func NewPortalGroupClient(client client.Client) *portalGroupClient { + return &portalGroupClient{client: client} +} + +func (c *portalGroupClient) GetPortalGroup(ctx context.Context, key client.ObjectKey) (*PortalGroup, error) { + obj := &PortalGroup{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *portalGroupClient) ListPortalGroup(ctx context.Context, opts ...client.ListOption) (*PortalGroupList, error) { + list := &PortalGroupList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *portalGroupClient) CreatePortalGroup(ctx context.Context, obj *PortalGroup, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *portalGroupClient) DeletePortalGroup(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &PortalGroup{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *portalGroupClient) UpdatePortalGroup(ctx context.Context, obj *PortalGroup, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *portalGroupClient) PatchPortalGroup(ctx context.Context, obj *PortalGroup, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *portalGroupClient) DeleteAllOfPortalGroup(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &PortalGroup{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *portalGroupClient) UpsertPortalGroup(ctx context.Context, obj *PortalGroup, transitionFuncs ...PortalGroupTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*PortalGroup), desired.(*PortalGroup)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *portalGroupClient) UpdatePortalGroupStatus(ctx context.Context, obj *PortalGroup, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *portalGroupClient) PatchPortalGroupStatus(ctx context.Context, obj *PortalGroup, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides PortalGroupClients for multiple clusters. +type MulticlusterPortalGroupClient interface { + // Cluster returns a PortalGroupClient for the given cluster + Cluster(cluster string) (PortalGroupClient, error) +} + +type multiclusterPortalGroupClient struct { + client multicluster.Client +} + +func NewMulticlusterPortalGroupClient(client multicluster.Client) MulticlusterPortalGroupClient { + return &multiclusterPortalGroupClient{client: client} +} + +func (m *multiclusterPortalGroupClient) Cluster(cluster string) (PortalGroupClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewPortalGroupClient(client), nil +} + +// Reader knows how to read and list ApiProducts. +type ApiProductReader interface { + // Get retrieves a ApiProduct for the given object key + GetApiProduct(ctx context.Context, key client.ObjectKey) (*ApiProduct, error) + + // List retrieves list of ApiProducts for a given namespace and list options. + ListApiProduct(ctx context.Context, opts ...client.ListOption) (*ApiProductList, error) +} + +// ApiProductTransitionFunction instructs the ApiProductWriter how to transition between an existing +// ApiProduct object and a desired on an Upsert +type ApiProductTransitionFunction func(existing, desired *ApiProduct) error + +// Writer knows how to create, delete, and update ApiProducts. +type ApiProductWriter interface { + // Create saves the ApiProduct object. + CreateApiProduct(ctx context.Context, obj *ApiProduct, opts ...client.CreateOption) error + + // Delete deletes the ApiProduct object. + DeleteApiProduct(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ApiProduct object. + UpdateApiProduct(ctx context.Context, obj *ApiProduct, opts ...client.UpdateOption) error + + // Patch patches the given ApiProduct object. + PatchApiProduct(ctx context.Context, obj *ApiProduct, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ApiProduct objects matching the given options. + DeleteAllOfApiProduct(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ApiProduct object. + UpsertApiProduct(ctx context.Context, obj *ApiProduct, transitionFuncs ...ApiProductTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ApiProduct object. +type ApiProductStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ApiProduct object. + UpdateApiProductStatus(ctx context.Context, obj *ApiProduct, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ApiProduct object's subresource. + PatchApiProductStatus(ctx context.Context, obj *ApiProduct, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ApiProducts. +type ApiProductClient interface { + ApiProductReader + ApiProductWriter + ApiProductStatusWriter +} + +type apiProductClient struct { + client client.Client +} + +func NewApiProductClient(client client.Client) *apiProductClient { + return &apiProductClient{client: client} +} + +func (c *apiProductClient) GetApiProduct(ctx context.Context, key client.ObjectKey) (*ApiProduct, error) { + obj := &ApiProduct{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *apiProductClient) ListApiProduct(ctx context.Context, opts ...client.ListOption) (*ApiProductList, error) { + list := &ApiProductList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *apiProductClient) CreateApiProduct(ctx context.Context, obj *ApiProduct, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *apiProductClient) DeleteApiProduct(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ApiProduct{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *apiProductClient) UpdateApiProduct(ctx context.Context, obj *ApiProduct, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *apiProductClient) PatchApiProduct(ctx context.Context, obj *ApiProduct, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *apiProductClient) DeleteAllOfApiProduct(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ApiProduct{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *apiProductClient) UpsertApiProduct(ctx context.Context, obj *ApiProduct, transitionFuncs ...ApiProductTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ApiProduct), desired.(*ApiProduct)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *apiProductClient) UpdateApiProductStatus(ctx context.Context, obj *ApiProduct, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *apiProductClient) PatchApiProductStatus(ctx context.Context, obj *ApiProduct, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ApiProductClients for multiple clusters. +type MulticlusterApiProductClient interface { + // Cluster returns a ApiProductClient for the given cluster + Cluster(cluster string) (ApiProductClient, error) +} + +type multiclusterApiProductClient struct { + client multicluster.Client +} + +func NewMulticlusterApiProductClient(client multicluster.Client) MulticlusterApiProductClient { + return &multiclusterApiProductClient{client: client} +} + +func (m *multiclusterApiProductClient) Cluster(cluster string) (ApiProductClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewApiProductClient(client), nil +} + +// Reader knows how to read and list ApiSchemaDiscoverys. +type ApiSchemaDiscoveryReader interface { + // Get retrieves a ApiSchemaDiscovery for the given object key + GetApiSchemaDiscovery(ctx context.Context, key client.ObjectKey) (*ApiSchemaDiscovery, error) + + // List retrieves list of ApiSchemaDiscoverys for a given namespace and list options. + ListApiSchemaDiscovery(ctx context.Context, opts ...client.ListOption) (*ApiSchemaDiscoveryList, error) +} + +// ApiSchemaDiscoveryTransitionFunction instructs the ApiSchemaDiscoveryWriter how to transition between an existing +// ApiSchemaDiscovery object and a desired on an Upsert +type ApiSchemaDiscoveryTransitionFunction func(existing, desired *ApiSchemaDiscovery) error + +// Writer knows how to create, delete, and update ApiSchemaDiscoverys. +type ApiSchemaDiscoveryWriter interface { + // Create saves the ApiSchemaDiscovery object. + CreateApiSchemaDiscovery(ctx context.Context, obj *ApiSchemaDiscovery, opts ...client.CreateOption) error + + // Delete deletes the ApiSchemaDiscovery object. + DeleteApiSchemaDiscovery(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ApiSchemaDiscovery object. + UpdateApiSchemaDiscovery(ctx context.Context, obj *ApiSchemaDiscovery, opts ...client.UpdateOption) error + + // Patch patches the given ApiSchemaDiscovery object. + PatchApiSchemaDiscovery(ctx context.Context, obj *ApiSchemaDiscovery, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ApiSchemaDiscovery objects matching the given options. + DeleteAllOfApiSchemaDiscovery(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ApiSchemaDiscovery object. + UpsertApiSchemaDiscovery(ctx context.Context, obj *ApiSchemaDiscovery, transitionFuncs ...ApiSchemaDiscoveryTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ApiSchemaDiscovery object. +type ApiSchemaDiscoveryStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ApiSchemaDiscovery object. + UpdateApiSchemaDiscoveryStatus(ctx context.Context, obj *ApiSchemaDiscovery, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ApiSchemaDiscovery object's subresource. + PatchApiSchemaDiscoveryStatus(ctx context.Context, obj *ApiSchemaDiscovery, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ApiSchemaDiscoverys. +type ApiSchemaDiscoveryClient interface { + ApiSchemaDiscoveryReader + ApiSchemaDiscoveryWriter + ApiSchemaDiscoveryStatusWriter +} + +type apiSchemaDiscoveryClient struct { + client client.Client +} + +func NewApiSchemaDiscoveryClient(client client.Client) *apiSchemaDiscoveryClient { + return &apiSchemaDiscoveryClient{client: client} +} + +func (c *apiSchemaDiscoveryClient) GetApiSchemaDiscovery(ctx context.Context, key client.ObjectKey) (*ApiSchemaDiscovery, error) { + obj := &ApiSchemaDiscovery{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *apiSchemaDiscoveryClient) ListApiSchemaDiscovery(ctx context.Context, opts ...client.ListOption) (*ApiSchemaDiscoveryList, error) { + list := &ApiSchemaDiscoveryList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *apiSchemaDiscoveryClient) CreateApiSchemaDiscovery(ctx context.Context, obj *ApiSchemaDiscovery, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *apiSchemaDiscoveryClient) DeleteApiSchemaDiscovery(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ApiSchemaDiscovery{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *apiSchemaDiscoveryClient) UpdateApiSchemaDiscovery(ctx context.Context, obj *ApiSchemaDiscovery, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *apiSchemaDiscoveryClient) PatchApiSchemaDiscovery(ctx context.Context, obj *ApiSchemaDiscovery, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *apiSchemaDiscoveryClient) DeleteAllOfApiSchemaDiscovery(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ApiSchemaDiscovery{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *apiSchemaDiscoveryClient) UpsertApiSchemaDiscovery(ctx context.Context, obj *ApiSchemaDiscovery, transitionFuncs ...ApiSchemaDiscoveryTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ApiSchemaDiscovery), desired.(*ApiSchemaDiscovery)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *apiSchemaDiscoveryClient) UpdateApiSchemaDiscoveryStatus(ctx context.Context, obj *ApiSchemaDiscovery, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *apiSchemaDiscoveryClient) PatchApiSchemaDiscoveryStatus(ctx context.Context, obj *ApiSchemaDiscovery, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ApiSchemaDiscoveryClients for multiple clusters. +type MulticlusterApiSchemaDiscoveryClient interface { + // Cluster returns a ApiSchemaDiscoveryClient for the given cluster + Cluster(cluster string) (ApiSchemaDiscoveryClient, error) +} + +type multiclusterApiSchemaDiscoveryClient struct { + client multicluster.Client +} + +func NewMulticlusterApiSchemaDiscoveryClient(client multicluster.Client) MulticlusterApiSchemaDiscoveryClient { + return &multiclusterApiSchemaDiscoveryClient{client: client} +} + +func (m *multiclusterApiSchemaDiscoveryClient) Cluster(cluster string) (ApiSchemaDiscoveryClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewApiSchemaDiscoveryClient(client), nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/config_types.go b/client-go/apimanagement.gloo.solo.io/v2/config_types.go new file mode 100644 index 000000000..b57a5ee3f --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/config_types.go @@ -0,0 +1,28 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2 + +// IsConfigObject implements ConfigObject interface for GraphQLStitchedSchema +func (o *GraphQLStitchedSchema) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for GraphQLResolverMap +func (o *GraphQLResolverMap) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for GraphQLSchema +func (o *GraphQLSchema) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for ApiDoc +func (o *ApiDoc) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for Portal +func (o *Portal) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for PortalGroup +func (o *PortalGroup) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for ApiProduct +func (o *ApiProduct) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for ApiSchemaDiscovery +func (o *ApiSchemaDiscovery) IsConfigObject() {} diff --git a/client-go/apimanagement.gloo.solo.io/v2/controller/event_handlers.go b/client-go/apimanagement.gloo.solo.io/v2/controller/event_handlers.go new file mode 100644 index 000000000..1a7ce532c --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/controller/event_handlers.go @@ -0,0 +1,874 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + apimanagement_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the GraphQLStitchedSchema Resource +// DEPRECATED: Prefer reconciler pattern. +type GraphQLStitchedSchemaEventHandler interface { + CreateGraphQLStitchedSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error + UpdateGraphQLStitchedSchema(old, new *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error + DeleteGraphQLStitchedSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error + GenericGraphQLStitchedSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error +} + +type GraphQLStitchedSchemaEventHandlerFuncs struct { + OnCreate func(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error + OnUpdate func(old, new *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error + OnDelete func(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error + OnGeneric func(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error +} + +func (f *GraphQLStitchedSchemaEventHandlerFuncs) CreateGraphQLStitchedSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *GraphQLStitchedSchemaEventHandlerFuncs) DeleteGraphQLStitchedSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *GraphQLStitchedSchemaEventHandlerFuncs) UpdateGraphQLStitchedSchema(objOld, objNew *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *GraphQLStitchedSchemaEventHandlerFuncs) GenericGraphQLStitchedSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type GraphQLStitchedSchemaEventWatcher interface { + AddEventHandler(ctx context.Context, h GraphQLStitchedSchemaEventHandler, predicates ...predicate.Predicate) error +} + +type graphQLStitchedSchemaEventWatcher struct { + watcher events.EventWatcher +} + +func NewGraphQLStitchedSchemaEventWatcher(name string, mgr manager.Manager) GraphQLStitchedSchemaEventWatcher { + return &graphQLStitchedSchemaEventWatcher{ + watcher: events.NewWatcher(name, mgr, &apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema{}), + } +} + +func (c *graphQLStitchedSchemaEventWatcher) AddEventHandler(ctx context.Context, h GraphQLStitchedSchemaEventHandler, predicates ...predicate.Predicate) error { + handler := genericGraphQLStitchedSchemaHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericGraphQLStitchedSchemaHandler implements a generic events.EventHandler +type genericGraphQLStitchedSchemaHandler struct { + handler GraphQLStitchedSchemaEventHandler +} + +func (h genericGraphQLStitchedSchemaHandler) Create(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) + if !ok { + return errors.Errorf("internal error: GraphQLStitchedSchema handler received event for %T", object) + } + return h.handler.CreateGraphQLStitchedSchema(obj) +} + +func (h genericGraphQLStitchedSchemaHandler) Delete(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) + if !ok { + return errors.Errorf("internal error: GraphQLStitchedSchema handler received event for %T", object) + } + return h.handler.DeleteGraphQLStitchedSchema(obj) +} + +func (h genericGraphQLStitchedSchemaHandler) Update(old, new client.Object) error { + objOld, ok := old.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) + if !ok { + return errors.Errorf("internal error: GraphQLStitchedSchema handler received event for %T", old) + } + objNew, ok := new.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) + if !ok { + return errors.Errorf("internal error: GraphQLStitchedSchema handler received event for %T", new) + } + return h.handler.UpdateGraphQLStitchedSchema(objOld, objNew) +} + +func (h genericGraphQLStitchedSchemaHandler) Generic(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) + if !ok { + return errors.Errorf("internal error: GraphQLStitchedSchema handler received event for %T", object) + } + return h.handler.GenericGraphQLStitchedSchema(obj) +} + +// Handle events for the GraphQLResolverMap Resource +// DEPRECATED: Prefer reconciler pattern. +type GraphQLResolverMapEventHandler interface { + CreateGraphQLResolverMap(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error + UpdateGraphQLResolverMap(old, new *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error + DeleteGraphQLResolverMap(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error + GenericGraphQLResolverMap(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error +} + +type GraphQLResolverMapEventHandlerFuncs struct { + OnCreate func(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error + OnUpdate func(old, new *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error + OnDelete func(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error + OnGeneric func(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error +} + +func (f *GraphQLResolverMapEventHandlerFuncs) CreateGraphQLResolverMap(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *GraphQLResolverMapEventHandlerFuncs) DeleteGraphQLResolverMap(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *GraphQLResolverMapEventHandlerFuncs) UpdateGraphQLResolverMap(objOld, objNew *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *GraphQLResolverMapEventHandlerFuncs) GenericGraphQLResolverMap(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type GraphQLResolverMapEventWatcher interface { + AddEventHandler(ctx context.Context, h GraphQLResolverMapEventHandler, predicates ...predicate.Predicate) error +} + +type graphQLResolverMapEventWatcher struct { + watcher events.EventWatcher +} + +func NewGraphQLResolverMapEventWatcher(name string, mgr manager.Manager) GraphQLResolverMapEventWatcher { + return &graphQLResolverMapEventWatcher{ + watcher: events.NewWatcher(name, mgr, &apimanagement_gloo_solo_io_v2.GraphQLResolverMap{}), + } +} + +func (c *graphQLResolverMapEventWatcher) AddEventHandler(ctx context.Context, h GraphQLResolverMapEventHandler, predicates ...predicate.Predicate) error { + handler := genericGraphQLResolverMapHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericGraphQLResolverMapHandler implements a generic events.EventHandler +type genericGraphQLResolverMapHandler struct { + handler GraphQLResolverMapEventHandler +} + +func (h genericGraphQLResolverMapHandler) Create(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) + if !ok { + return errors.Errorf("internal error: GraphQLResolverMap handler received event for %T", object) + } + return h.handler.CreateGraphQLResolverMap(obj) +} + +func (h genericGraphQLResolverMapHandler) Delete(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) + if !ok { + return errors.Errorf("internal error: GraphQLResolverMap handler received event for %T", object) + } + return h.handler.DeleteGraphQLResolverMap(obj) +} + +func (h genericGraphQLResolverMapHandler) Update(old, new client.Object) error { + objOld, ok := old.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) + if !ok { + return errors.Errorf("internal error: GraphQLResolverMap handler received event for %T", old) + } + objNew, ok := new.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) + if !ok { + return errors.Errorf("internal error: GraphQLResolverMap handler received event for %T", new) + } + return h.handler.UpdateGraphQLResolverMap(objOld, objNew) +} + +func (h genericGraphQLResolverMapHandler) Generic(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) + if !ok { + return errors.Errorf("internal error: GraphQLResolverMap handler received event for %T", object) + } + return h.handler.GenericGraphQLResolverMap(obj) +} + +// Handle events for the GraphQLSchema Resource +// DEPRECATED: Prefer reconciler pattern. +type GraphQLSchemaEventHandler interface { + CreateGraphQLSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) error + UpdateGraphQLSchema(old, new *apimanagement_gloo_solo_io_v2.GraphQLSchema) error + DeleteGraphQLSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) error + GenericGraphQLSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) error +} + +type GraphQLSchemaEventHandlerFuncs struct { + OnCreate func(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) error + OnUpdate func(old, new *apimanagement_gloo_solo_io_v2.GraphQLSchema) error + OnDelete func(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) error + OnGeneric func(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) error +} + +func (f *GraphQLSchemaEventHandlerFuncs) CreateGraphQLSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *GraphQLSchemaEventHandlerFuncs) DeleteGraphQLSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *GraphQLSchemaEventHandlerFuncs) UpdateGraphQLSchema(objOld, objNew *apimanagement_gloo_solo_io_v2.GraphQLSchema) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *GraphQLSchemaEventHandlerFuncs) GenericGraphQLSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type GraphQLSchemaEventWatcher interface { + AddEventHandler(ctx context.Context, h GraphQLSchemaEventHandler, predicates ...predicate.Predicate) error +} + +type graphQLSchemaEventWatcher struct { + watcher events.EventWatcher +} + +func NewGraphQLSchemaEventWatcher(name string, mgr manager.Manager) GraphQLSchemaEventWatcher { + return &graphQLSchemaEventWatcher{ + watcher: events.NewWatcher(name, mgr, &apimanagement_gloo_solo_io_v2.GraphQLSchema{}), + } +} + +func (c *graphQLSchemaEventWatcher) AddEventHandler(ctx context.Context, h GraphQLSchemaEventHandler, predicates ...predicate.Predicate) error { + handler := genericGraphQLSchemaHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericGraphQLSchemaHandler implements a generic events.EventHandler +type genericGraphQLSchemaHandler struct { + handler GraphQLSchemaEventHandler +} + +func (h genericGraphQLSchemaHandler) Create(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLSchema) + if !ok { + return errors.Errorf("internal error: GraphQLSchema handler received event for %T", object) + } + return h.handler.CreateGraphQLSchema(obj) +} + +func (h genericGraphQLSchemaHandler) Delete(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLSchema) + if !ok { + return errors.Errorf("internal error: GraphQLSchema handler received event for %T", object) + } + return h.handler.DeleteGraphQLSchema(obj) +} + +func (h genericGraphQLSchemaHandler) Update(old, new client.Object) error { + objOld, ok := old.(*apimanagement_gloo_solo_io_v2.GraphQLSchema) + if !ok { + return errors.Errorf("internal error: GraphQLSchema handler received event for %T", old) + } + objNew, ok := new.(*apimanagement_gloo_solo_io_v2.GraphQLSchema) + if !ok { + return errors.Errorf("internal error: GraphQLSchema handler received event for %T", new) + } + return h.handler.UpdateGraphQLSchema(objOld, objNew) +} + +func (h genericGraphQLSchemaHandler) Generic(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLSchema) + if !ok { + return errors.Errorf("internal error: GraphQLSchema handler received event for %T", object) + } + return h.handler.GenericGraphQLSchema(obj) +} + +// Handle events for the ApiDoc Resource +// DEPRECATED: Prefer reconciler pattern. +type ApiDocEventHandler interface { + CreateApiDoc(obj *apimanagement_gloo_solo_io_v2.ApiDoc) error + UpdateApiDoc(old, new *apimanagement_gloo_solo_io_v2.ApiDoc) error + DeleteApiDoc(obj *apimanagement_gloo_solo_io_v2.ApiDoc) error + GenericApiDoc(obj *apimanagement_gloo_solo_io_v2.ApiDoc) error +} + +type ApiDocEventHandlerFuncs struct { + OnCreate func(obj *apimanagement_gloo_solo_io_v2.ApiDoc) error + OnUpdate func(old, new *apimanagement_gloo_solo_io_v2.ApiDoc) error + OnDelete func(obj *apimanagement_gloo_solo_io_v2.ApiDoc) error + OnGeneric func(obj *apimanagement_gloo_solo_io_v2.ApiDoc) error +} + +func (f *ApiDocEventHandlerFuncs) CreateApiDoc(obj *apimanagement_gloo_solo_io_v2.ApiDoc) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ApiDocEventHandlerFuncs) DeleteApiDoc(obj *apimanagement_gloo_solo_io_v2.ApiDoc) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ApiDocEventHandlerFuncs) UpdateApiDoc(objOld, objNew *apimanagement_gloo_solo_io_v2.ApiDoc) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ApiDocEventHandlerFuncs) GenericApiDoc(obj *apimanagement_gloo_solo_io_v2.ApiDoc) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ApiDocEventWatcher interface { + AddEventHandler(ctx context.Context, h ApiDocEventHandler, predicates ...predicate.Predicate) error +} + +type apiDocEventWatcher struct { + watcher events.EventWatcher +} + +func NewApiDocEventWatcher(name string, mgr manager.Manager) ApiDocEventWatcher { + return &apiDocEventWatcher{ + watcher: events.NewWatcher(name, mgr, &apimanagement_gloo_solo_io_v2.ApiDoc{}), + } +} + +func (c *apiDocEventWatcher) AddEventHandler(ctx context.Context, h ApiDocEventHandler, predicates ...predicate.Predicate) error { + handler := genericApiDocHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericApiDocHandler implements a generic events.EventHandler +type genericApiDocHandler struct { + handler ApiDocEventHandler +} + +func (h genericApiDocHandler) Create(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiDoc) + if !ok { + return errors.Errorf("internal error: ApiDoc handler received event for %T", object) + } + return h.handler.CreateApiDoc(obj) +} + +func (h genericApiDocHandler) Delete(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiDoc) + if !ok { + return errors.Errorf("internal error: ApiDoc handler received event for %T", object) + } + return h.handler.DeleteApiDoc(obj) +} + +func (h genericApiDocHandler) Update(old, new client.Object) error { + objOld, ok := old.(*apimanagement_gloo_solo_io_v2.ApiDoc) + if !ok { + return errors.Errorf("internal error: ApiDoc handler received event for %T", old) + } + objNew, ok := new.(*apimanagement_gloo_solo_io_v2.ApiDoc) + if !ok { + return errors.Errorf("internal error: ApiDoc handler received event for %T", new) + } + return h.handler.UpdateApiDoc(objOld, objNew) +} + +func (h genericApiDocHandler) Generic(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiDoc) + if !ok { + return errors.Errorf("internal error: ApiDoc handler received event for %T", object) + } + return h.handler.GenericApiDoc(obj) +} + +// Handle events for the Portal Resource +// DEPRECATED: Prefer reconciler pattern. +type PortalEventHandler interface { + CreatePortal(obj *apimanagement_gloo_solo_io_v2.Portal) error + UpdatePortal(old, new *apimanagement_gloo_solo_io_v2.Portal) error + DeletePortal(obj *apimanagement_gloo_solo_io_v2.Portal) error + GenericPortal(obj *apimanagement_gloo_solo_io_v2.Portal) error +} + +type PortalEventHandlerFuncs struct { + OnCreate func(obj *apimanagement_gloo_solo_io_v2.Portal) error + OnUpdate func(old, new *apimanagement_gloo_solo_io_v2.Portal) error + OnDelete func(obj *apimanagement_gloo_solo_io_v2.Portal) error + OnGeneric func(obj *apimanagement_gloo_solo_io_v2.Portal) error +} + +func (f *PortalEventHandlerFuncs) CreatePortal(obj *apimanagement_gloo_solo_io_v2.Portal) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *PortalEventHandlerFuncs) DeletePortal(obj *apimanagement_gloo_solo_io_v2.Portal) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *PortalEventHandlerFuncs) UpdatePortal(objOld, objNew *apimanagement_gloo_solo_io_v2.Portal) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *PortalEventHandlerFuncs) GenericPortal(obj *apimanagement_gloo_solo_io_v2.Portal) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type PortalEventWatcher interface { + AddEventHandler(ctx context.Context, h PortalEventHandler, predicates ...predicate.Predicate) error +} + +type portalEventWatcher struct { + watcher events.EventWatcher +} + +func NewPortalEventWatcher(name string, mgr manager.Manager) PortalEventWatcher { + return &portalEventWatcher{ + watcher: events.NewWatcher(name, mgr, &apimanagement_gloo_solo_io_v2.Portal{}), + } +} + +func (c *portalEventWatcher) AddEventHandler(ctx context.Context, h PortalEventHandler, predicates ...predicate.Predicate) error { + handler := genericPortalHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericPortalHandler implements a generic events.EventHandler +type genericPortalHandler struct { + handler PortalEventHandler +} + +func (h genericPortalHandler) Create(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.Portal) + if !ok { + return errors.Errorf("internal error: Portal handler received event for %T", object) + } + return h.handler.CreatePortal(obj) +} + +func (h genericPortalHandler) Delete(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.Portal) + if !ok { + return errors.Errorf("internal error: Portal handler received event for %T", object) + } + return h.handler.DeletePortal(obj) +} + +func (h genericPortalHandler) Update(old, new client.Object) error { + objOld, ok := old.(*apimanagement_gloo_solo_io_v2.Portal) + if !ok { + return errors.Errorf("internal error: Portal handler received event for %T", old) + } + objNew, ok := new.(*apimanagement_gloo_solo_io_v2.Portal) + if !ok { + return errors.Errorf("internal error: Portal handler received event for %T", new) + } + return h.handler.UpdatePortal(objOld, objNew) +} + +func (h genericPortalHandler) Generic(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.Portal) + if !ok { + return errors.Errorf("internal error: Portal handler received event for %T", object) + } + return h.handler.GenericPortal(obj) +} + +// Handle events for the PortalGroup Resource +// DEPRECATED: Prefer reconciler pattern. +type PortalGroupEventHandler interface { + CreatePortalGroup(obj *apimanagement_gloo_solo_io_v2.PortalGroup) error + UpdatePortalGroup(old, new *apimanagement_gloo_solo_io_v2.PortalGroup) error + DeletePortalGroup(obj *apimanagement_gloo_solo_io_v2.PortalGroup) error + GenericPortalGroup(obj *apimanagement_gloo_solo_io_v2.PortalGroup) error +} + +type PortalGroupEventHandlerFuncs struct { + OnCreate func(obj *apimanagement_gloo_solo_io_v2.PortalGroup) error + OnUpdate func(old, new *apimanagement_gloo_solo_io_v2.PortalGroup) error + OnDelete func(obj *apimanagement_gloo_solo_io_v2.PortalGroup) error + OnGeneric func(obj *apimanagement_gloo_solo_io_v2.PortalGroup) error +} + +func (f *PortalGroupEventHandlerFuncs) CreatePortalGroup(obj *apimanagement_gloo_solo_io_v2.PortalGroup) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *PortalGroupEventHandlerFuncs) DeletePortalGroup(obj *apimanagement_gloo_solo_io_v2.PortalGroup) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *PortalGroupEventHandlerFuncs) UpdatePortalGroup(objOld, objNew *apimanagement_gloo_solo_io_v2.PortalGroup) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *PortalGroupEventHandlerFuncs) GenericPortalGroup(obj *apimanagement_gloo_solo_io_v2.PortalGroup) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type PortalGroupEventWatcher interface { + AddEventHandler(ctx context.Context, h PortalGroupEventHandler, predicates ...predicate.Predicate) error +} + +type portalGroupEventWatcher struct { + watcher events.EventWatcher +} + +func NewPortalGroupEventWatcher(name string, mgr manager.Manager) PortalGroupEventWatcher { + return &portalGroupEventWatcher{ + watcher: events.NewWatcher(name, mgr, &apimanagement_gloo_solo_io_v2.PortalGroup{}), + } +} + +func (c *portalGroupEventWatcher) AddEventHandler(ctx context.Context, h PortalGroupEventHandler, predicates ...predicate.Predicate) error { + handler := genericPortalGroupHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericPortalGroupHandler implements a generic events.EventHandler +type genericPortalGroupHandler struct { + handler PortalGroupEventHandler +} + +func (h genericPortalGroupHandler) Create(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.PortalGroup) + if !ok { + return errors.Errorf("internal error: PortalGroup handler received event for %T", object) + } + return h.handler.CreatePortalGroup(obj) +} + +func (h genericPortalGroupHandler) Delete(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.PortalGroup) + if !ok { + return errors.Errorf("internal error: PortalGroup handler received event for %T", object) + } + return h.handler.DeletePortalGroup(obj) +} + +func (h genericPortalGroupHandler) Update(old, new client.Object) error { + objOld, ok := old.(*apimanagement_gloo_solo_io_v2.PortalGroup) + if !ok { + return errors.Errorf("internal error: PortalGroup handler received event for %T", old) + } + objNew, ok := new.(*apimanagement_gloo_solo_io_v2.PortalGroup) + if !ok { + return errors.Errorf("internal error: PortalGroup handler received event for %T", new) + } + return h.handler.UpdatePortalGroup(objOld, objNew) +} + +func (h genericPortalGroupHandler) Generic(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.PortalGroup) + if !ok { + return errors.Errorf("internal error: PortalGroup handler received event for %T", object) + } + return h.handler.GenericPortalGroup(obj) +} + +// Handle events for the ApiProduct Resource +// DEPRECATED: Prefer reconciler pattern. +type ApiProductEventHandler interface { + CreateApiProduct(obj *apimanagement_gloo_solo_io_v2.ApiProduct) error + UpdateApiProduct(old, new *apimanagement_gloo_solo_io_v2.ApiProduct) error + DeleteApiProduct(obj *apimanagement_gloo_solo_io_v2.ApiProduct) error + GenericApiProduct(obj *apimanagement_gloo_solo_io_v2.ApiProduct) error +} + +type ApiProductEventHandlerFuncs struct { + OnCreate func(obj *apimanagement_gloo_solo_io_v2.ApiProduct) error + OnUpdate func(old, new *apimanagement_gloo_solo_io_v2.ApiProduct) error + OnDelete func(obj *apimanagement_gloo_solo_io_v2.ApiProduct) error + OnGeneric func(obj *apimanagement_gloo_solo_io_v2.ApiProduct) error +} + +func (f *ApiProductEventHandlerFuncs) CreateApiProduct(obj *apimanagement_gloo_solo_io_v2.ApiProduct) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ApiProductEventHandlerFuncs) DeleteApiProduct(obj *apimanagement_gloo_solo_io_v2.ApiProduct) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ApiProductEventHandlerFuncs) UpdateApiProduct(objOld, objNew *apimanagement_gloo_solo_io_v2.ApiProduct) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ApiProductEventHandlerFuncs) GenericApiProduct(obj *apimanagement_gloo_solo_io_v2.ApiProduct) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ApiProductEventWatcher interface { + AddEventHandler(ctx context.Context, h ApiProductEventHandler, predicates ...predicate.Predicate) error +} + +type apiProductEventWatcher struct { + watcher events.EventWatcher +} + +func NewApiProductEventWatcher(name string, mgr manager.Manager) ApiProductEventWatcher { + return &apiProductEventWatcher{ + watcher: events.NewWatcher(name, mgr, &apimanagement_gloo_solo_io_v2.ApiProduct{}), + } +} + +func (c *apiProductEventWatcher) AddEventHandler(ctx context.Context, h ApiProductEventHandler, predicates ...predicate.Predicate) error { + handler := genericApiProductHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericApiProductHandler implements a generic events.EventHandler +type genericApiProductHandler struct { + handler ApiProductEventHandler +} + +func (h genericApiProductHandler) Create(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiProduct) + if !ok { + return errors.Errorf("internal error: ApiProduct handler received event for %T", object) + } + return h.handler.CreateApiProduct(obj) +} + +func (h genericApiProductHandler) Delete(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiProduct) + if !ok { + return errors.Errorf("internal error: ApiProduct handler received event for %T", object) + } + return h.handler.DeleteApiProduct(obj) +} + +func (h genericApiProductHandler) Update(old, new client.Object) error { + objOld, ok := old.(*apimanagement_gloo_solo_io_v2.ApiProduct) + if !ok { + return errors.Errorf("internal error: ApiProduct handler received event for %T", old) + } + objNew, ok := new.(*apimanagement_gloo_solo_io_v2.ApiProduct) + if !ok { + return errors.Errorf("internal error: ApiProduct handler received event for %T", new) + } + return h.handler.UpdateApiProduct(objOld, objNew) +} + +func (h genericApiProductHandler) Generic(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiProduct) + if !ok { + return errors.Errorf("internal error: ApiProduct handler received event for %T", object) + } + return h.handler.GenericApiProduct(obj) +} + +// Handle events for the ApiSchemaDiscovery Resource +// DEPRECATED: Prefer reconciler pattern. +type ApiSchemaDiscoveryEventHandler interface { + CreateApiSchemaDiscovery(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error + UpdateApiSchemaDiscovery(old, new *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error + DeleteApiSchemaDiscovery(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error + GenericApiSchemaDiscovery(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error +} + +type ApiSchemaDiscoveryEventHandlerFuncs struct { + OnCreate func(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error + OnUpdate func(old, new *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error + OnDelete func(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error + OnGeneric func(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error +} + +func (f *ApiSchemaDiscoveryEventHandlerFuncs) CreateApiSchemaDiscovery(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ApiSchemaDiscoveryEventHandlerFuncs) DeleteApiSchemaDiscovery(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ApiSchemaDiscoveryEventHandlerFuncs) UpdateApiSchemaDiscovery(objOld, objNew *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ApiSchemaDiscoveryEventHandlerFuncs) GenericApiSchemaDiscovery(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ApiSchemaDiscoveryEventWatcher interface { + AddEventHandler(ctx context.Context, h ApiSchemaDiscoveryEventHandler, predicates ...predicate.Predicate) error +} + +type apiSchemaDiscoveryEventWatcher struct { + watcher events.EventWatcher +} + +func NewApiSchemaDiscoveryEventWatcher(name string, mgr manager.Manager) ApiSchemaDiscoveryEventWatcher { + return &apiSchemaDiscoveryEventWatcher{ + watcher: events.NewWatcher(name, mgr, &apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery{}), + } +} + +func (c *apiSchemaDiscoveryEventWatcher) AddEventHandler(ctx context.Context, h ApiSchemaDiscoveryEventHandler, predicates ...predicate.Predicate) error { + handler := genericApiSchemaDiscoveryHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericApiSchemaDiscoveryHandler implements a generic events.EventHandler +type genericApiSchemaDiscoveryHandler struct { + handler ApiSchemaDiscoveryEventHandler +} + +func (h genericApiSchemaDiscoveryHandler) Create(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) + if !ok { + return errors.Errorf("internal error: ApiSchemaDiscovery handler received event for %T", object) + } + return h.handler.CreateApiSchemaDiscovery(obj) +} + +func (h genericApiSchemaDiscoveryHandler) Delete(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) + if !ok { + return errors.Errorf("internal error: ApiSchemaDiscovery handler received event for %T", object) + } + return h.handler.DeleteApiSchemaDiscovery(obj) +} + +func (h genericApiSchemaDiscoveryHandler) Update(old, new client.Object) error { + objOld, ok := old.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) + if !ok { + return errors.Errorf("internal error: ApiSchemaDiscovery handler received event for %T", old) + } + objNew, ok := new.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) + if !ok { + return errors.Errorf("internal error: ApiSchemaDiscovery handler received event for %T", new) + } + return h.handler.UpdateApiSchemaDiscovery(objOld, objNew) +} + +func (h genericApiSchemaDiscoveryHandler) Generic(object client.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) + if !ok { + return errors.Errorf("internal error: ApiSchemaDiscovery handler received event for %T", object) + } + return h.handler.GenericApiSchemaDiscovery(obj) +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/controller/mocks/event_handlers.go b/client-go/apimanagement.gloo.solo.io/v2/controller/mocks/event_handlers.go new file mode 100644 index 000000000..5743e80de --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/controller/mocks/event_handlers.go @@ -0,0 +1,984 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2/controller" +) + +// MockGraphQLStitchedSchemaEventHandler is a mock of GraphQLStitchedSchemaEventHandler interface. +type MockGraphQLStitchedSchemaEventHandler struct { + ctrl *gomock.Controller + recorder *MockGraphQLStitchedSchemaEventHandlerMockRecorder +} + +// MockGraphQLStitchedSchemaEventHandlerMockRecorder is the mock recorder for MockGraphQLStitchedSchemaEventHandler. +type MockGraphQLStitchedSchemaEventHandlerMockRecorder struct { + mock *MockGraphQLStitchedSchemaEventHandler +} + +// NewMockGraphQLStitchedSchemaEventHandler creates a new mock instance. +func NewMockGraphQLStitchedSchemaEventHandler(ctrl *gomock.Controller) *MockGraphQLStitchedSchemaEventHandler { + mock := &MockGraphQLStitchedSchemaEventHandler{ctrl: ctrl} + mock.recorder = &MockGraphQLStitchedSchemaEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLStitchedSchemaEventHandler) EXPECT() *MockGraphQLStitchedSchemaEventHandlerMockRecorder { + return m.recorder +} + +// CreateGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaEventHandler) CreateGraphQLStitchedSchema(obj *v2.GraphQLStitchedSchema) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateGraphQLStitchedSchema", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLStitchedSchema indicates an expected call of CreateGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaEventHandlerMockRecorder) CreateGraphQLStitchedSchema(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaEventHandler)(nil).CreateGraphQLStitchedSchema), obj) +} + +// DeleteGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaEventHandler) DeleteGraphQLStitchedSchema(obj *v2.GraphQLStitchedSchema) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteGraphQLStitchedSchema", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLStitchedSchema indicates an expected call of DeleteGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaEventHandlerMockRecorder) DeleteGraphQLStitchedSchema(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaEventHandler)(nil).DeleteGraphQLStitchedSchema), obj) +} + +// GenericGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaEventHandler) GenericGraphQLStitchedSchema(obj *v2.GraphQLStitchedSchema) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericGraphQLStitchedSchema", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericGraphQLStitchedSchema indicates an expected call of GenericGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaEventHandlerMockRecorder) GenericGraphQLStitchedSchema(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaEventHandler)(nil).GenericGraphQLStitchedSchema), obj) +} + +// UpdateGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaEventHandler) UpdateGraphQLStitchedSchema(old, new *v2.GraphQLStitchedSchema) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateGraphQLStitchedSchema", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLStitchedSchema indicates an expected call of UpdateGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaEventHandlerMockRecorder) UpdateGraphQLStitchedSchema(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaEventHandler)(nil).UpdateGraphQLStitchedSchema), old, new) +} + +// MockGraphQLStitchedSchemaEventWatcher is a mock of GraphQLStitchedSchemaEventWatcher interface. +type MockGraphQLStitchedSchemaEventWatcher struct { + ctrl *gomock.Controller + recorder *MockGraphQLStitchedSchemaEventWatcherMockRecorder +} + +// MockGraphQLStitchedSchemaEventWatcherMockRecorder is the mock recorder for MockGraphQLStitchedSchemaEventWatcher. +type MockGraphQLStitchedSchemaEventWatcherMockRecorder struct { + mock *MockGraphQLStitchedSchemaEventWatcher +} + +// NewMockGraphQLStitchedSchemaEventWatcher creates a new mock instance. +func NewMockGraphQLStitchedSchemaEventWatcher(ctrl *gomock.Controller) *MockGraphQLStitchedSchemaEventWatcher { + mock := &MockGraphQLStitchedSchemaEventWatcher{ctrl: ctrl} + mock.recorder = &MockGraphQLStitchedSchemaEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLStitchedSchemaEventWatcher) EXPECT() *MockGraphQLStitchedSchemaEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockGraphQLStitchedSchemaEventWatcher) AddEventHandler(ctx context.Context, h controller.GraphQLStitchedSchemaEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockGraphQLStitchedSchemaEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockGraphQLStitchedSchemaEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockGraphQLResolverMapEventHandler is a mock of GraphQLResolverMapEventHandler interface. +type MockGraphQLResolverMapEventHandler struct { + ctrl *gomock.Controller + recorder *MockGraphQLResolverMapEventHandlerMockRecorder +} + +// MockGraphQLResolverMapEventHandlerMockRecorder is the mock recorder for MockGraphQLResolverMapEventHandler. +type MockGraphQLResolverMapEventHandlerMockRecorder struct { + mock *MockGraphQLResolverMapEventHandler +} + +// NewMockGraphQLResolverMapEventHandler creates a new mock instance. +func NewMockGraphQLResolverMapEventHandler(ctrl *gomock.Controller) *MockGraphQLResolverMapEventHandler { + mock := &MockGraphQLResolverMapEventHandler{ctrl: ctrl} + mock.recorder = &MockGraphQLResolverMapEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLResolverMapEventHandler) EXPECT() *MockGraphQLResolverMapEventHandlerMockRecorder { + return m.recorder +} + +// CreateGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapEventHandler) CreateGraphQLResolverMap(obj *v2.GraphQLResolverMap) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateGraphQLResolverMap", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLResolverMap indicates an expected call of CreateGraphQLResolverMap. +func (mr *MockGraphQLResolverMapEventHandlerMockRecorder) CreateGraphQLResolverMap(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapEventHandler)(nil).CreateGraphQLResolverMap), obj) +} + +// DeleteGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapEventHandler) DeleteGraphQLResolverMap(obj *v2.GraphQLResolverMap) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteGraphQLResolverMap", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLResolverMap indicates an expected call of DeleteGraphQLResolverMap. +func (mr *MockGraphQLResolverMapEventHandlerMockRecorder) DeleteGraphQLResolverMap(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapEventHandler)(nil).DeleteGraphQLResolverMap), obj) +} + +// GenericGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapEventHandler) GenericGraphQLResolverMap(obj *v2.GraphQLResolverMap) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericGraphQLResolverMap", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericGraphQLResolverMap indicates an expected call of GenericGraphQLResolverMap. +func (mr *MockGraphQLResolverMapEventHandlerMockRecorder) GenericGraphQLResolverMap(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapEventHandler)(nil).GenericGraphQLResolverMap), obj) +} + +// UpdateGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapEventHandler) UpdateGraphQLResolverMap(old, new *v2.GraphQLResolverMap) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateGraphQLResolverMap", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLResolverMap indicates an expected call of UpdateGraphQLResolverMap. +func (mr *MockGraphQLResolverMapEventHandlerMockRecorder) UpdateGraphQLResolverMap(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapEventHandler)(nil).UpdateGraphQLResolverMap), old, new) +} + +// MockGraphQLResolverMapEventWatcher is a mock of GraphQLResolverMapEventWatcher interface. +type MockGraphQLResolverMapEventWatcher struct { + ctrl *gomock.Controller + recorder *MockGraphQLResolverMapEventWatcherMockRecorder +} + +// MockGraphQLResolverMapEventWatcherMockRecorder is the mock recorder for MockGraphQLResolverMapEventWatcher. +type MockGraphQLResolverMapEventWatcherMockRecorder struct { + mock *MockGraphQLResolverMapEventWatcher +} + +// NewMockGraphQLResolverMapEventWatcher creates a new mock instance. +func NewMockGraphQLResolverMapEventWatcher(ctrl *gomock.Controller) *MockGraphQLResolverMapEventWatcher { + mock := &MockGraphQLResolverMapEventWatcher{ctrl: ctrl} + mock.recorder = &MockGraphQLResolverMapEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLResolverMapEventWatcher) EXPECT() *MockGraphQLResolverMapEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockGraphQLResolverMapEventWatcher) AddEventHandler(ctx context.Context, h controller.GraphQLResolverMapEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockGraphQLResolverMapEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockGraphQLResolverMapEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockGraphQLSchemaEventHandler is a mock of GraphQLSchemaEventHandler interface. +type MockGraphQLSchemaEventHandler struct { + ctrl *gomock.Controller + recorder *MockGraphQLSchemaEventHandlerMockRecorder +} + +// MockGraphQLSchemaEventHandlerMockRecorder is the mock recorder for MockGraphQLSchemaEventHandler. +type MockGraphQLSchemaEventHandlerMockRecorder struct { + mock *MockGraphQLSchemaEventHandler +} + +// NewMockGraphQLSchemaEventHandler creates a new mock instance. +func NewMockGraphQLSchemaEventHandler(ctrl *gomock.Controller) *MockGraphQLSchemaEventHandler { + mock := &MockGraphQLSchemaEventHandler{ctrl: ctrl} + mock.recorder = &MockGraphQLSchemaEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLSchemaEventHandler) EXPECT() *MockGraphQLSchemaEventHandlerMockRecorder { + return m.recorder +} + +// CreateGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaEventHandler) CreateGraphQLSchema(obj *v2.GraphQLSchema) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateGraphQLSchema", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLSchema indicates an expected call of CreateGraphQLSchema. +func (mr *MockGraphQLSchemaEventHandlerMockRecorder) CreateGraphQLSchema(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaEventHandler)(nil).CreateGraphQLSchema), obj) +} + +// DeleteGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaEventHandler) DeleteGraphQLSchema(obj *v2.GraphQLSchema) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteGraphQLSchema", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLSchema indicates an expected call of DeleteGraphQLSchema. +func (mr *MockGraphQLSchemaEventHandlerMockRecorder) DeleteGraphQLSchema(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaEventHandler)(nil).DeleteGraphQLSchema), obj) +} + +// GenericGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaEventHandler) GenericGraphQLSchema(obj *v2.GraphQLSchema) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericGraphQLSchema", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericGraphQLSchema indicates an expected call of GenericGraphQLSchema. +func (mr *MockGraphQLSchemaEventHandlerMockRecorder) GenericGraphQLSchema(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaEventHandler)(nil).GenericGraphQLSchema), obj) +} + +// UpdateGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaEventHandler) UpdateGraphQLSchema(old, new *v2.GraphQLSchema) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateGraphQLSchema", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLSchema indicates an expected call of UpdateGraphQLSchema. +func (mr *MockGraphQLSchemaEventHandlerMockRecorder) UpdateGraphQLSchema(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaEventHandler)(nil).UpdateGraphQLSchema), old, new) +} + +// MockGraphQLSchemaEventWatcher is a mock of GraphQLSchemaEventWatcher interface. +type MockGraphQLSchemaEventWatcher struct { + ctrl *gomock.Controller + recorder *MockGraphQLSchemaEventWatcherMockRecorder +} + +// MockGraphQLSchemaEventWatcherMockRecorder is the mock recorder for MockGraphQLSchemaEventWatcher. +type MockGraphQLSchemaEventWatcherMockRecorder struct { + mock *MockGraphQLSchemaEventWatcher +} + +// NewMockGraphQLSchemaEventWatcher creates a new mock instance. +func NewMockGraphQLSchemaEventWatcher(ctrl *gomock.Controller) *MockGraphQLSchemaEventWatcher { + mock := &MockGraphQLSchemaEventWatcher{ctrl: ctrl} + mock.recorder = &MockGraphQLSchemaEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLSchemaEventWatcher) EXPECT() *MockGraphQLSchemaEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockGraphQLSchemaEventWatcher) AddEventHandler(ctx context.Context, h controller.GraphQLSchemaEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockGraphQLSchemaEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockGraphQLSchemaEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockApiDocEventHandler is a mock of ApiDocEventHandler interface. +type MockApiDocEventHandler struct { + ctrl *gomock.Controller + recorder *MockApiDocEventHandlerMockRecorder +} + +// MockApiDocEventHandlerMockRecorder is the mock recorder for MockApiDocEventHandler. +type MockApiDocEventHandlerMockRecorder struct { + mock *MockApiDocEventHandler +} + +// NewMockApiDocEventHandler creates a new mock instance. +func NewMockApiDocEventHandler(ctrl *gomock.Controller) *MockApiDocEventHandler { + mock := &MockApiDocEventHandler{ctrl: ctrl} + mock.recorder = &MockApiDocEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiDocEventHandler) EXPECT() *MockApiDocEventHandlerMockRecorder { + return m.recorder +} + +// CreateApiDoc mocks base method. +func (m *MockApiDocEventHandler) CreateApiDoc(obj *v2.ApiDoc) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateApiDoc", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateApiDoc indicates an expected call of CreateApiDoc. +func (mr *MockApiDocEventHandlerMockRecorder) CreateApiDoc(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateApiDoc", reflect.TypeOf((*MockApiDocEventHandler)(nil).CreateApiDoc), obj) +} + +// DeleteApiDoc mocks base method. +func (m *MockApiDocEventHandler) DeleteApiDoc(obj *v2.ApiDoc) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteApiDoc", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteApiDoc indicates an expected call of DeleteApiDoc. +func (mr *MockApiDocEventHandlerMockRecorder) DeleteApiDoc(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteApiDoc", reflect.TypeOf((*MockApiDocEventHandler)(nil).DeleteApiDoc), obj) +} + +// GenericApiDoc mocks base method. +func (m *MockApiDocEventHandler) GenericApiDoc(obj *v2.ApiDoc) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericApiDoc", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericApiDoc indicates an expected call of GenericApiDoc. +func (mr *MockApiDocEventHandlerMockRecorder) GenericApiDoc(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericApiDoc", reflect.TypeOf((*MockApiDocEventHandler)(nil).GenericApiDoc), obj) +} + +// UpdateApiDoc mocks base method. +func (m *MockApiDocEventHandler) UpdateApiDoc(old, new *v2.ApiDoc) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateApiDoc", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiDoc indicates an expected call of UpdateApiDoc. +func (mr *MockApiDocEventHandlerMockRecorder) UpdateApiDoc(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiDoc", reflect.TypeOf((*MockApiDocEventHandler)(nil).UpdateApiDoc), old, new) +} + +// MockApiDocEventWatcher is a mock of ApiDocEventWatcher interface. +type MockApiDocEventWatcher struct { + ctrl *gomock.Controller + recorder *MockApiDocEventWatcherMockRecorder +} + +// MockApiDocEventWatcherMockRecorder is the mock recorder for MockApiDocEventWatcher. +type MockApiDocEventWatcherMockRecorder struct { + mock *MockApiDocEventWatcher +} + +// NewMockApiDocEventWatcher creates a new mock instance. +func NewMockApiDocEventWatcher(ctrl *gomock.Controller) *MockApiDocEventWatcher { + mock := &MockApiDocEventWatcher{ctrl: ctrl} + mock.recorder = &MockApiDocEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiDocEventWatcher) EXPECT() *MockApiDocEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockApiDocEventWatcher) AddEventHandler(ctx context.Context, h controller.ApiDocEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockApiDocEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockApiDocEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockPortalEventHandler is a mock of PortalEventHandler interface. +type MockPortalEventHandler struct { + ctrl *gomock.Controller + recorder *MockPortalEventHandlerMockRecorder +} + +// MockPortalEventHandlerMockRecorder is the mock recorder for MockPortalEventHandler. +type MockPortalEventHandlerMockRecorder struct { + mock *MockPortalEventHandler +} + +// NewMockPortalEventHandler creates a new mock instance. +func NewMockPortalEventHandler(ctrl *gomock.Controller) *MockPortalEventHandler { + mock := &MockPortalEventHandler{ctrl: ctrl} + mock.recorder = &MockPortalEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalEventHandler) EXPECT() *MockPortalEventHandlerMockRecorder { + return m.recorder +} + +// CreatePortal mocks base method. +func (m *MockPortalEventHandler) CreatePortal(obj *v2.Portal) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreatePortal", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreatePortal indicates an expected call of CreatePortal. +func (mr *MockPortalEventHandlerMockRecorder) CreatePortal(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePortal", reflect.TypeOf((*MockPortalEventHandler)(nil).CreatePortal), obj) +} + +// DeletePortal mocks base method. +func (m *MockPortalEventHandler) DeletePortal(obj *v2.Portal) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeletePortal", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeletePortal indicates an expected call of DeletePortal. +func (mr *MockPortalEventHandlerMockRecorder) DeletePortal(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePortal", reflect.TypeOf((*MockPortalEventHandler)(nil).DeletePortal), obj) +} + +// GenericPortal mocks base method. +func (m *MockPortalEventHandler) GenericPortal(obj *v2.Portal) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericPortal", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericPortal indicates an expected call of GenericPortal. +func (mr *MockPortalEventHandlerMockRecorder) GenericPortal(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericPortal", reflect.TypeOf((*MockPortalEventHandler)(nil).GenericPortal), obj) +} + +// UpdatePortal mocks base method. +func (m *MockPortalEventHandler) UpdatePortal(old, new *v2.Portal) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdatePortal", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortal indicates an expected call of UpdatePortal. +func (mr *MockPortalEventHandlerMockRecorder) UpdatePortal(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortal", reflect.TypeOf((*MockPortalEventHandler)(nil).UpdatePortal), old, new) +} + +// MockPortalEventWatcher is a mock of PortalEventWatcher interface. +type MockPortalEventWatcher struct { + ctrl *gomock.Controller + recorder *MockPortalEventWatcherMockRecorder +} + +// MockPortalEventWatcherMockRecorder is the mock recorder for MockPortalEventWatcher. +type MockPortalEventWatcherMockRecorder struct { + mock *MockPortalEventWatcher +} + +// NewMockPortalEventWatcher creates a new mock instance. +func NewMockPortalEventWatcher(ctrl *gomock.Controller) *MockPortalEventWatcher { + mock := &MockPortalEventWatcher{ctrl: ctrl} + mock.recorder = &MockPortalEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalEventWatcher) EXPECT() *MockPortalEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockPortalEventWatcher) AddEventHandler(ctx context.Context, h controller.PortalEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockPortalEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockPortalEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockPortalGroupEventHandler is a mock of PortalGroupEventHandler interface. +type MockPortalGroupEventHandler struct { + ctrl *gomock.Controller + recorder *MockPortalGroupEventHandlerMockRecorder +} + +// MockPortalGroupEventHandlerMockRecorder is the mock recorder for MockPortalGroupEventHandler. +type MockPortalGroupEventHandlerMockRecorder struct { + mock *MockPortalGroupEventHandler +} + +// NewMockPortalGroupEventHandler creates a new mock instance. +func NewMockPortalGroupEventHandler(ctrl *gomock.Controller) *MockPortalGroupEventHandler { + mock := &MockPortalGroupEventHandler{ctrl: ctrl} + mock.recorder = &MockPortalGroupEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalGroupEventHandler) EXPECT() *MockPortalGroupEventHandlerMockRecorder { + return m.recorder +} + +// CreatePortalGroup mocks base method. +func (m *MockPortalGroupEventHandler) CreatePortalGroup(obj *v2.PortalGroup) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreatePortalGroup", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreatePortalGroup indicates an expected call of CreatePortalGroup. +func (mr *MockPortalGroupEventHandlerMockRecorder) CreatePortalGroup(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePortalGroup", reflect.TypeOf((*MockPortalGroupEventHandler)(nil).CreatePortalGroup), obj) +} + +// DeletePortalGroup mocks base method. +func (m *MockPortalGroupEventHandler) DeletePortalGroup(obj *v2.PortalGroup) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeletePortalGroup", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeletePortalGroup indicates an expected call of DeletePortalGroup. +func (mr *MockPortalGroupEventHandlerMockRecorder) DeletePortalGroup(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePortalGroup", reflect.TypeOf((*MockPortalGroupEventHandler)(nil).DeletePortalGroup), obj) +} + +// GenericPortalGroup mocks base method. +func (m *MockPortalGroupEventHandler) GenericPortalGroup(obj *v2.PortalGroup) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericPortalGroup", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericPortalGroup indicates an expected call of GenericPortalGroup. +func (mr *MockPortalGroupEventHandlerMockRecorder) GenericPortalGroup(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericPortalGroup", reflect.TypeOf((*MockPortalGroupEventHandler)(nil).GenericPortalGroup), obj) +} + +// UpdatePortalGroup mocks base method. +func (m *MockPortalGroupEventHandler) UpdatePortalGroup(old, new *v2.PortalGroup) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdatePortalGroup", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortalGroup indicates an expected call of UpdatePortalGroup. +func (mr *MockPortalGroupEventHandlerMockRecorder) UpdatePortalGroup(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortalGroup", reflect.TypeOf((*MockPortalGroupEventHandler)(nil).UpdatePortalGroup), old, new) +} + +// MockPortalGroupEventWatcher is a mock of PortalGroupEventWatcher interface. +type MockPortalGroupEventWatcher struct { + ctrl *gomock.Controller + recorder *MockPortalGroupEventWatcherMockRecorder +} + +// MockPortalGroupEventWatcherMockRecorder is the mock recorder for MockPortalGroupEventWatcher. +type MockPortalGroupEventWatcherMockRecorder struct { + mock *MockPortalGroupEventWatcher +} + +// NewMockPortalGroupEventWatcher creates a new mock instance. +func NewMockPortalGroupEventWatcher(ctrl *gomock.Controller) *MockPortalGroupEventWatcher { + mock := &MockPortalGroupEventWatcher{ctrl: ctrl} + mock.recorder = &MockPortalGroupEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalGroupEventWatcher) EXPECT() *MockPortalGroupEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockPortalGroupEventWatcher) AddEventHandler(ctx context.Context, h controller.PortalGroupEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockPortalGroupEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockPortalGroupEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockApiProductEventHandler is a mock of ApiProductEventHandler interface. +type MockApiProductEventHandler struct { + ctrl *gomock.Controller + recorder *MockApiProductEventHandlerMockRecorder +} + +// MockApiProductEventHandlerMockRecorder is the mock recorder for MockApiProductEventHandler. +type MockApiProductEventHandlerMockRecorder struct { + mock *MockApiProductEventHandler +} + +// NewMockApiProductEventHandler creates a new mock instance. +func NewMockApiProductEventHandler(ctrl *gomock.Controller) *MockApiProductEventHandler { + mock := &MockApiProductEventHandler{ctrl: ctrl} + mock.recorder = &MockApiProductEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiProductEventHandler) EXPECT() *MockApiProductEventHandlerMockRecorder { + return m.recorder +} + +// CreateApiProduct mocks base method. +func (m *MockApiProductEventHandler) CreateApiProduct(obj *v2.ApiProduct) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateApiProduct", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateApiProduct indicates an expected call of CreateApiProduct. +func (mr *MockApiProductEventHandlerMockRecorder) CreateApiProduct(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateApiProduct", reflect.TypeOf((*MockApiProductEventHandler)(nil).CreateApiProduct), obj) +} + +// DeleteApiProduct mocks base method. +func (m *MockApiProductEventHandler) DeleteApiProduct(obj *v2.ApiProduct) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteApiProduct", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteApiProduct indicates an expected call of DeleteApiProduct. +func (mr *MockApiProductEventHandlerMockRecorder) DeleteApiProduct(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteApiProduct", reflect.TypeOf((*MockApiProductEventHandler)(nil).DeleteApiProduct), obj) +} + +// GenericApiProduct mocks base method. +func (m *MockApiProductEventHandler) GenericApiProduct(obj *v2.ApiProduct) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericApiProduct", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericApiProduct indicates an expected call of GenericApiProduct. +func (mr *MockApiProductEventHandlerMockRecorder) GenericApiProduct(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericApiProduct", reflect.TypeOf((*MockApiProductEventHandler)(nil).GenericApiProduct), obj) +} + +// UpdateApiProduct mocks base method. +func (m *MockApiProductEventHandler) UpdateApiProduct(old, new *v2.ApiProduct) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateApiProduct", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiProduct indicates an expected call of UpdateApiProduct. +func (mr *MockApiProductEventHandlerMockRecorder) UpdateApiProduct(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiProduct", reflect.TypeOf((*MockApiProductEventHandler)(nil).UpdateApiProduct), old, new) +} + +// MockApiProductEventWatcher is a mock of ApiProductEventWatcher interface. +type MockApiProductEventWatcher struct { + ctrl *gomock.Controller + recorder *MockApiProductEventWatcherMockRecorder +} + +// MockApiProductEventWatcherMockRecorder is the mock recorder for MockApiProductEventWatcher. +type MockApiProductEventWatcherMockRecorder struct { + mock *MockApiProductEventWatcher +} + +// NewMockApiProductEventWatcher creates a new mock instance. +func NewMockApiProductEventWatcher(ctrl *gomock.Controller) *MockApiProductEventWatcher { + mock := &MockApiProductEventWatcher{ctrl: ctrl} + mock.recorder = &MockApiProductEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiProductEventWatcher) EXPECT() *MockApiProductEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockApiProductEventWatcher) AddEventHandler(ctx context.Context, h controller.ApiProductEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockApiProductEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockApiProductEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockApiSchemaDiscoveryEventHandler is a mock of ApiSchemaDiscoveryEventHandler interface. +type MockApiSchemaDiscoveryEventHandler struct { + ctrl *gomock.Controller + recorder *MockApiSchemaDiscoveryEventHandlerMockRecorder +} + +// MockApiSchemaDiscoveryEventHandlerMockRecorder is the mock recorder for MockApiSchemaDiscoveryEventHandler. +type MockApiSchemaDiscoveryEventHandlerMockRecorder struct { + mock *MockApiSchemaDiscoveryEventHandler +} + +// NewMockApiSchemaDiscoveryEventHandler creates a new mock instance. +func NewMockApiSchemaDiscoveryEventHandler(ctrl *gomock.Controller) *MockApiSchemaDiscoveryEventHandler { + mock := &MockApiSchemaDiscoveryEventHandler{ctrl: ctrl} + mock.recorder = &MockApiSchemaDiscoveryEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiSchemaDiscoveryEventHandler) EXPECT() *MockApiSchemaDiscoveryEventHandlerMockRecorder { + return m.recorder +} + +// CreateApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryEventHandler) CreateApiSchemaDiscovery(obj *v2.ApiSchemaDiscovery) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateApiSchemaDiscovery", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateApiSchemaDiscovery indicates an expected call of CreateApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryEventHandlerMockRecorder) CreateApiSchemaDiscovery(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryEventHandler)(nil).CreateApiSchemaDiscovery), obj) +} + +// DeleteApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryEventHandler) DeleteApiSchemaDiscovery(obj *v2.ApiSchemaDiscovery) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteApiSchemaDiscovery", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteApiSchemaDiscovery indicates an expected call of DeleteApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryEventHandlerMockRecorder) DeleteApiSchemaDiscovery(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryEventHandler)(nil).DeleteApiSchemaDiscovery), obj) +} + +// GenericApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryEventHandler) GenericApiSchemaDiscovery(obj *v2.ApiSchemaDiscovery) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericApiSchemaDiscovery", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericApiSchemaDiscovery indicates an expected call of GenericApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryEventHandlerMockRecorder) GenericApiSchemaDiscovery(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryEventHandler)(nil).GenericApiSchemaDiscovery), obj) +} + +// UpdateApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryEventHandler) UpdateApiSchemaDiscovery(old, new *v2.ApiSchemaDiscovery) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateApiSchemaDiscovery", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiSchemaDiscovery indicates an expected call of UpdateApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryEventHandlerMockRecorder) UpdateApiSchemaDiscovery(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryEventHandler)(nil).UpdateApiSchemaDiscovery), old, new) +} + +// MockApiSchemaDiscoveryEventWatcher is a mock of ApiSchemaDiscoveryEventWatcher interface. +type MockApiSchemaDiscoveryEventWatcher struct { + ctrl *gomock.Controller + recorder *MockApiSchemaDiscoveryEventWatcherMockRecorder +} + +// MockApiSchemaDiscoveryEventWatcherMockRecorder is the mock recorder for MockApiSchemaDiscoveryEventWatcher. +type MockApiSchemaDiscoveryEventWatcherMockRecorder struct { + mock *MockApiSchemaDiscoveryEventWatcher +} + +// NewMockApiSchemaDiscoveryEventWatcher creates a new mock instance. +func NewMockApiSchemaDiscoveryEventWatcher(ctrl *gomock.Controller) *MockApiSchemaDiscoveryEventWatcher { + mock := &MockApiSchemaDiscoveryEventWatcher{ctrl: ctrl} + mock.recorder = &MockApiSchemaDiscoveryEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiSchemaDiscoveryEventWatcher) EXPECT() *MockApiSchemaDiscoveryEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockApiSchemaDiscoveryEventWatcher) AddEventHandler(ctx context.Context, h controller.ApiSchemaDiscoveryEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockApiSchemaDiscoveryEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockApiSchemaDiscoveryEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go b/client-go/apimanagement.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..5e24764ab --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,937 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2/controller" +) + +// MockMulticlusterGraphQLStitchedSchemaReconciler is a mock of MulticlusterGraphQLStitchedSchemaReconciler interface. +type MockMulticlusterGraphQLStitchedSchemaReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLStitchedSchemaReconcilerMockRecorder +} + +// MockMulticlusterGraphQLStitchedSchemaReconcilerMockRecorder is the mock recorder for MockMulticlusterGraphQLStitchedSchemaReconciler. +type MockMulticlusterGraphQLStitchedSchemaReconcilerMockRecorder struct { + mock *MockMulticlusterGraphQLStitchedSchemaReconciler +} + +// NewMockMulticlusterGraphQLStitchedSchemaReconciler creates a new mock instance. +func NewMockMulticlusterGraphQLStitchedSchemaReconciler(ctrl *gomock.Controller) *MockMulticlusterGraphQLStitchedSchemaReconciler { + mock := &MockMulticlusterGraphQLStitchedSchemaReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLStitchedSchemaReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLStitchedSchemaReconciler) EXPECT() *MockMulticlusterGraphQLStitchedSchemaReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLStitchedSchema mocks base method. +func (m *MockMulticlusterGraphQLStitchedSchemaReconciler) ReconcileGraphQLStitchedSchema(clusterName string, obj *v2.GraphQLStitchedSchema) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLStitchedSchema", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLStitchedSchema indicates an expected call of ReconcileGraphQLStitchedSchema. +func (mr *MockMulticlusterGraphQLStitchedSchemaReconcilerMockRecorder) ReconcileGraphQLStitchedSchema(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLStitchedSchema", reflect.TypeOf((*MockMulticlusterGraphQLStitchedSchemaReconciler)(nil).ReconcileGraphQLStitchedSchema), clusterName, obj) +} + +// MockMulticlusterGraphQLStitchedSchemaDeletionReconciler is a mock of MulticlusterGraphQLStitchedSchemaDeletionReconciler interface. +type MockMulticlusterGraphQLStitchedSchemaDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLStitchedSchemaDeletionReconcilerMockRecorder +} + +// MockMulticlusterGraphQLStitchedSchemaDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterGraphQLStitchedSchemaDeletionReconciler. +type MockMulticlusterGraphQLStitchedSchemaDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterGraphQLStitchedSchemaDeletionReconciler +} + +// NewMockMulticlusterGraphQLStitchedSchemaDeletionReconciler creates a new mock instance. +func NewMockMulticlusterGraphQLStitchedSchemaDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterGraphQLStitchedSchemaDeletionReconciler { + mock := &MockMulticlusterGraphQLStitchedSchemaDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLStitchedSchemaDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLStitchedSchemaDeletionReconciler) EXPECT() *MockMulticlusterGraphQLStitchedSchemaDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLStitchedSchemaDeletion mocks base method. +func (m *MockMulticlusterGraphQLStitchedSchemaDeletionReconciler) ReconcileGraphQLStitchedSchemaDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLStitchedSchemaDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileGraphQLStitchedSchemaDeletion indicates an expected call of ReconcileGraphQLStitchedSchemaDeletion. +func (mr *MockMulticlusterGraphQLStitchedSchemaDeletionReconcilerMockRecorder) ReconcileGraphQLStitchedSchemaDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLStitchedSchemaDeletion", reflect.TypeOf((*MockMulticlusterGraphQLStitchedSchemaDeletionReconciler)(nil).ReconcileGraphQLStitchedSchemaDeletion), clusterName, req) +} + +// MockMulticlusterGraphQLStitchedSchemaReconcileLoop is a mock of MulticlusterGraphQLStitchedSchemaReconcileLoop interface. +type MockMulticlusterGraphQLStitchedSchemaReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLStitchedSchemaReconcileLoopMockRecorder +} + +// MockMulticlusterGraphQLStitchedSchemaReconcileLoopMockRecorder is the mock recorder for MockMulticlusterGraphQLStitchedSchemaReconcileLoop. +type MockMulticlusterGraphQLStitchedSchemaReconcileLoopMockRecorder struct { + mock *MockMulticlusterGraphQLStitchedSchemaReconcileLoop +} + +// NewMockMulticlusterGraphQLStitchedSchemaReconcileLoop creates a new mock instance. +func NewMockMulticlusterGraphQLStitchedSchemaReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterGraphQLStitchedSchemaReconcileLoop { + mock := &MockMulticlusterGraphQLStitchedSchemaReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLStitchedSchemaReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLStitchedSchemaReconcileLoop) EXPECT() *MockMulticlusterGraphQLStitchedSchemaReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterGraphQLStitchedSchemaReconciler mocks base method. +func (m *MockMulticlusterGraphQLStitchedSchemaReconcileLoop) AddMulticlusterGraphQLStitchedSchemaReconciler(ctx context.Context, rec controller.MulticlusterGraphQLStitchedSchemaReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterGraphQLStitchedSchemaReconciler", varargs...) +} + +// AddMulticlusterGraphQLStitchedSchemaReconciler indicates an expected call of AddMulticlusterGraphQLStitchedSchemaReconciler. +func (mr *MockMulticlusterGraphQLStitchedSchemaReconcileLoopMockRecorder) AddMulticlusterGraphQLStitchedSchemaReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterGraphQLStitchedSchemaReconciler", reflect.TypeOf((*MockMulticlusterGraphQLStitchedSchemaReconcileLoop)(nil).AddMulticlusterGraphQLStitchedSchemaReconciler), varargs...) +} + +// MockMulticlusterGraphQLResolverMapReconciler is a mock of MulticlusterGraphQLResolverMapReconciler interface. +type MockMulticlusterGraphQLResolverMapReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLResolverMapReconcilerMockRecorder +} + +// MockMulticlusterGraphQLResolverMapReconcilerMockRecorder is the mock recorder for MockMulticlusterGraphQLResolverMapReconciler. +type MockMulticlusterGraphQLResolverMapReconcilerMockRecorder struct { + mock *MockMulticlusterGraphQLResolverMapReconciler +} + +// NewMockMulticlusterGraphQLResolverMapReconciler creates a new mock instance. +func NewMockMulticlusterGraphQLResolverMapReconciler(ctrl *gomock.Controller) *MockMulticlusterGraphQLResolverMapReconciler { + mock := &MockMulticlusterGraphQLResolverMapReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLResolverMapReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLResolverMapReconciler) EXPECT() *MockMulticlusterGraphQLResolverMapReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLResolverMap mocks base method. +func (m *MockMulticlusterGraphQLResolverMapReconciler) ReconcileGraphQLResolverMap(clusterName string, obj *v2.GraphQLResolverMap) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLResolverMap", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLResolverMap indicates an expected call of ReconcileGraphQLResolverMap. +func (mr *MockMulticlusterGraphQLResolverMapReconcilerMockRecorder) ReconcileGraphQLResolverMap(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLResolverMap", reflect.TypeOf((*MockMulticlusterGraphQLResolverMapReconciler)(nil).ReconcileGraphQLResolverMap), clusterName, obj) +} + +// MockMulticlusterGraphQLResolverMapDeletionReconciler is a mock of MulticlusterGraphQLResolverMapDeletionReconciler interface. +type MockMulticlusterGraphQLResolverMapDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLResolverMapDeletionReconcilerMockRecorder +} + +// MockMulticlusterGraphQLResolverMapDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterGraphQLResolverMapDeletionReconciler. +type MockMulticlusterGraphQLResolverMapDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterGraphQLResolverMapDeletionReconciler +} + +// NewMockMulticlusterGraphQLResolverMapDeletionReconciler creates a new mock instance. +func NewMockMulticlusterGraphQLResolverMapDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterGraphQLResolverMapDeletionReconciler { + mock := &MockMulticlusterGraphQLResolverMapDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLResolverMapDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLResolverMapDeletionReconciler) EXPECT() *MockMulticlusterGraphQLResolverMapDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLResolverMapDeletion mocks base method. +func (m *MockMulticlusterGraphQLResolverMapDeletionReconciler) ReconcileGraphQLResolverMapDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLResolverMapDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileGraphQLResolverMapDeletion indicates an expected call of ReconcileGraphQLResolverMapDeletion. +func (mr *MockMulticlusterGraphQLResolverMapDeletionReconcilerMockRecorder) ReconcileGraphQLResolverMapDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLResolverMapDeletion", reflect.TypeOf((*MockMulticlusterGraphQLResolverMapDeletionReconciler)(nil).ReconcileGraphQLResolverMapDeletion), clusterName, req) +} + +// MockMulticlusterGraphQLResolverMapReconcileLoop is a mock of MulticlusterGraphQLResolverMapReconcileLoop interface. +type MockMulticlusterGraphQLResolverMapReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLResolverMapReconcileLoopMockRecorder +} + +// MockMulticlusterGraphQLResolverMapReconcileLoopMockRecorder is the mock recorder for MockMulticlusterGraphQLResolverMapReconcileLoop. +type MockMulticlusterGraphQLResolverMapReconcileLoopMockRecorder struct { + mock *MockMulticlusterGraphQLResolverMapReconcileLoop +} + +// NewMockMulticlusterGraphQLResolverMapReconcileLoop creates a new mock instance. +func NewMockMulticlusterGraphQLResolverMapReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterGraphQLResolverMapReconcileLoop { + mock := &MockMulticlusterGraphQLResolverMapReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLResolverMapReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLResolverMapReconcileLoop) EXPECT() *MockMulticlusterGraphQLResolverMapReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterGraphQLResolverMapReconciler mocks base method. +func (m *MockMulticlusterGraphQLResolverMapReconcileLoop) AddMulticlusterGraphQLResolverMapReconciler(ctx context.Context, rec controller.MulticlusterGraphQLResolverMapReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterGraphQLResolverMapReconciler", varargs...) +} + +// AddMulticlusterGraphQLResolverMapReconciler indicates an expected call of AddMulticlusterGraphQLResolverMapReconciler. +func (mr *MockMulticlusterGraphQLResolverMapReconcileLoopMockRecorder) AddMulticlusterGraphQLResolverMapReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterGraphQLResolverMapReconciler", reflect.TypeOf((*MockMulticlusterGraphQLResolverMapReconcileLoop)(nil).AddMulticlusterGraphQLResolverMapReconciler), varargs...) +} + +// MockMulticlusterGraphQLSchemaReconciler is a mock of MulticlusterGraphQLSchemaReconciler interface. +type MockMulticlusterGraphQLSchemaReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLSchemaReconcilerMockRecorder +} + +// MockMulticlusterGraphQLSchemaReconcilerMockRecorder is the mock recorder for MockMulticlusterGraphQLSchemaReconciler. +type MockMulticlusterGraphQLSchemaReconcilerMockRecorder struct { + mock *MockMulticlusterGraphQLSchemaReconciler +} + +// NewMockMulticlusterGraphQLSchemaReconciler creates a new mock instance. +func NewMockMulticlusterGraphQLSchemaReconciler(ctrl *gomock.Controller) *MockMulticlusterGraphQLSchemaReconciler { + mock := &MockMulticlusterGraphQLSchemaReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLSchemaReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLSchemaReconciler) EXPECT() *MockMulticlusterGraphQLSchemaReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLSchema mocks base method. +func (m *MockMulticlusterGraphQLSchemaReconciler) ReconcileGraphQLSchema(clusterName string, obj *v2.GraphQLSchema) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLSchema", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLSchema indicates an expected call of ReconcileGraphQLSchema. +func (mr *MockMulticlusterGraphQLSchemaReconcilerMockRecorder) ReconcileGraphQLSchema(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLSchema", reflect.TypeOf((*MockMulticlusterGraphQLSchemaReconciler)(nil).ReconcileGraphQLSchema), clusterName, obj) +} + +// MockMulticlusterGraphQLSchemaDeletionReconciler is a mock of MulticlusterGraphQLSchemaDeletionReconciler interface. +type MockMulticlusterGraphQLSchemaDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLSchemaDeletionReconcilerMockRecorder +} + +// MockMulticlusterGraphQLSchemaDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterGraphQLSchemaDeletionReconciler. +type MockMulticlusterGraphQLSchemaDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterGraphQLSchemaDeletionReconciler +} + +// NewMockMulticlusterGraphQLSchemaDeletionReconciler creates a new mock instance. +func NewMockMulticlusterGraphQLSchemaDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterGraphQLSchemaDeletionReconciler { + mock := &MockMulticlusterGraphQLSchemaDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLSchemaDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLSchemaDeletionReconciler) EXPECT() *MockMulticlusterGraphQLSchemaDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLSchemaDeletion mocks base method. +func (m *MockMulticlusterGraphQLSchemaDeletionReconciler) ReconcileGraphQLSchemaDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLSchemaDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileGraphQLSchemaDeletion indicates an expected call of ReconcileGraphQLSchemaDeletion. +func (mr *MockMulticlusterGraphQLSchemaDeletionReconcilerMockRecorder) ReconcileGraphQLSchemaDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLSchemaDeletion", reflect.TypeOf((*MockMulticlusterGraphQLSchemaDeletionReconciler)(nil).ReconcileGraphQLSchemaDeletion), clusterName, req) +} + +// MockMulticlusterGraphQLSchemaReconcileLoop is a mock of MulticlusterGraphQLSchemaReconcileLoop interface. +type MockMulticlusterGraphQLSchemaReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLSchemaReconcileLoopMockRecorder +} + +// MockMulticlusterGraphQLSchemaReconcileLoopMockRecorder is the mock recorder for MockMulticlusterGraphQLSchemaReconcileLoop. +type MockMulticlusterGraphQLSchemaReconcileLoopMockRecorder struct { + mock *MockMulticlusterGraphQLSchemaReconcileLoop +} + +// NewMockMulticlusterGraphQLSchemaReconcileLoop creates a new mock instance. +func NewMockMulticlusterGraphQLSchemaReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterGraphQLSchemaReconcileLoop { + mock := &MockMulticlusterGraphQLSchemaReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLSchemaReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLSchemaReconcileLoop) EXPECT() *MockMulticlusterGraphQLSchemaReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterGraphQLSchemaReconciler mocks base method. +func (m *MockMulticlusterGraphQLSchemaReconcileLoop) AddMulticlusterGraphQLSchemaReconciler(ctx context.Context, rec controller.MulticlusterGraphQLSchemaReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterGraphQLSchemaReconciler", varargs...) +} + +// AddMulticlusterGraphQLSchemaReconciler indicates an expected call of AddMulticlusterGraphQLSchemaReconciler. +func (mr *MockMulticlusterGraphQLSchemaReconcileLoopMockRecorder) AddMulticlusterGraphQLSchemaReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterGraphQLSchemaReconciler", reflect.TypeOf((*MockMulticlusterGraphQLSchemaReconcileLoop)(nil).AddMulticlusterGraphQLSchemaReconciler), varargs...) +} + +// MockMulticlusterApiDocReconciler is a mock of MulticlusterApiDocReconciler interface. +type MockMulticlusterApiDocReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterApiDocReconcilerMockRecorder +} + +// MockMulticlusterApiDocReconcilerMockRecorder is the mock recorder for MockMulticlusterApiDocReconciler. +type MockMulticlusterApiDocReconcilerMockRecorder struct { + mock *MockMulticlusterApiDocReconciler +} + +// NewMockMulticlusterApiDocReconciler creates a new mock instance. +func NewMockMulticlusterApiDocReconciler(ctrl *gomock.Controller) *MockMulticlusterApiDocReconciler { + mock := &MockMulticlusterApiDocReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterApiDocReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterApiDocReconciler) EXPECT() *MockMulticlusterApiDocReconcilerMockRecorder { + return m.recorder +} + +// ReconcileApiDoc mocks base method. +func (m *MockMulticlusterApiDocReconciler) ReconcileApiDoc(clusterName string, obj *v2.ApiDoc) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiDoc", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileApiDoc indicates an expected call of ReconcileApiDoc. +func (mr *MockMulticlusterApiDocReconcilerMockRecorder) ReconcileApiDoc(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiDoc", reflect.TypeOf((*MockMulticlusterApiDocReconciler)(nil).ReconcileApiDoc), clusterName, obj) +} + +// MockMulticlusterApiDocDeletionReconciler is a mock of MulticlusterApiDocDeletionReconciler interface. +type MockMulticlusterApiDocDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterApiDocDeletionReconcilerMockRecorder +} + +// MockMulticlusterApiDocDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterApiDocDeletionReconciler. +type MockMulticlusterApiDocDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterApiDocDeletionReconciler +} + +// NewMockMulticlusterApiDocDeletionReconciler creates a new mock instance. +func NewMockMulticlusterApiDocDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterApiDocDeletionReconciler { + mock := &MockMulticlusterApiDocDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterApiDocDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterApiDocDeletionReconciler) EXPECT() *MockMulticlusterApiDocDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileApiDocDeletion mocks base method. +func (m *MockMulticlusterApiDocDeletionReconciler) ReconcileApiDocDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiDocDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileApiDocDeletion indicates an expected call of ReconcileApiDocDeletion. +func (mr *MockMulticlusterApiDocDeletionReconcilerMockRecorder) ReconcileApiDocDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiDocDeletion", reflect.TypeOf((*MockMulticlusterApiDocDeletionReconciler)(nil).ReconcileApiDocDeletion), clusterName, req) +} + +// MockMulticlusterApiDocReconcileLoop is a mock of MulticlusterApiDocReconcileLoop interface. +type MockMulticlusterApiDocReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterApiDocReconcileLoopMockRecorder +} + +// MockMulticlusterApiDocReconcileLoopMockRecorder is the mock recorder for MockMulticlusterApiDocReconcileLoop. +type MockMulticlusterApiDocReconcileLoopMockRecorder struct { + mock *MockMulticlusterApiDocReconcileLoop +} + +// NewMockMulticlusterApiDocReconcileLoop creates a new mock instance. +func NewMockMulticlusterApiDocReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterApiDocReconcileLoop { + mock := &MockMulticlusterApiDocReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterApiDocReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterApiDocReconcileLoop) EXPECT() *MockMulticlusterApiDocReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterApiDocReconciler mocks base method. +func (m *MockMulticlusterApiDocReconcileLoop) AddMulticlusterApiDocReconciler(ctx context.Context, rec controller.MulticlusterApiDocReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterApiDocReconciler", varargs...) +} + +// AddMulticlusterApiDocReconciler indicates an expected call of AddMulticlusterApiDocReconciler. +func (mr *MockMulticlusterApiDocReconcileLoopMockRecorder) AddMulticlusterApiDocReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterApiDocReconciler", reflect.TypeOf((*MockMulticlusterApiDocReconcileLoop)(nil).AddMulticlusterApiDocReconciler), varargs...) +} + +// MockMulticlusterPortalReconciler is a mock of MulticlusterPortalReconciler interface. +type MockMulticlusterPortalReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPortalReconcilerMockRecorder +} + +// MockMulticlusterPortalReconcilerMockRecorder is the mock recorder for MockMulticlusterPortalReconciler. +type MockMulticlusterPortalReconcilerMockRecorder struct { + mock *MockMulticlusterPortalReconciler +} + +// NewMockMulticlusterPortalReconciler creates a new mock instance. +func NewMockMulticlusterPortalReconciler(ctrl *gomock.Controller) *MockMulticlusterPortalReconciler { + mock := &MockMulticlusterPortalReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterPortalReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPortalReconciler) EXPECT() *MockMulticlusterPortalReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePortal mocks base method. +func (m *MockMulticlusterPortalReconciler) ReconcilePortal(clusterName string, obj *v2.Portal) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortal", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcilePortal indicates an expected call of ReconcilePortal. +func (mr *MockMulticlusterPortalReconcilerMockRecorder) ReconcilePortal(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortal", reflect.TypeOf((*MockMulticlusterPortalReconciler)(nil).ReconcilePortal), clusterName, obj) +} + +// MockMulticlusterPortalDeletionReconciler is a mock of MulticlusterPortalDeletionReconciler interface. +type MockMulticlusterPortalDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPortalDeletionReconcilerMockRecorder +} + +// MockMulticlusterPortalDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterPortalDeletionReconciler. +type MockMulticlusterPortalDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterPortalDeletionReconciler +} + +// NewMockMulticlusterPortalDeletionReconciler creates a new mock instance. +func NewMockMulticlusterPortalDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterPortalDeletionReconciler { + mock := &MockMulticlusterPortalDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterPortalDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPortalDeletionReconciler) EXPECT() *MockMulticlusterPortalDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePortalDeletion mocks base method. +func (m *MockMulticlusterPortalDeletionReconciler) ReconcilePortalDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortalDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcilePortalDeletion indicates an expected call of ReconcilePortalDeletion. +func (mr *MockMulticlusterPortalDeletionReconcilerMockRecorder) ReconcilePortalDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortalDeletion", reflect.TypeOf((*MockMulticlusterPortalDeletionReconciler)(nil).ReconcilePortalDeletion), clusterName, req) +} + +// MockMulticlusterPortalReconcileLoop is a mock of MulticlusterPortalReconcileLoop interface. +type MockMulticlusterPortalReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPortalReconcileLoopMockRecorder +} + +// MockMulticlusterPortalReconcileLoopMockRecorder is the mock recorder for MockMulticlusterPortalReconcileLoop. +type MockMulticlusterPortalReconcileLoopMockRecorder struct { + mock *MockMulticlusterPortalReconcileLoop +} + +// NewMockMulticlusterPortalReconcileLoop creates a new mock instance. +func NewMockMulticlusterPortalReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterPortalReconcileLoop { + mock := &MockMulticlusterPortalReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterPortalReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPortalReconcileLoop) EXPECT() *MockMulticlusterPortalReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterPortalReconciler mocks base method. +func (m *MockMulticlusterPortalReconcileLoop) AddMulticlusterPortalReconciler(ctx context.Context, rec controller.MulticlusterPortalReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterPortalReconciler", varargs...) +} + +// AddMulticlusterPortalReconciler indicates an expected call of AddMulticlusterPortalReconciler. +func (mr *MockMulticlusterPortalReconcileLoopMockRecorder) AddMulticlusterPortalReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterPortalReconciler", reflect.TypeOf((*MockMulticlusterPortalReconcileLoop)(nil).AddMulticlusterPortalReconciler), varargs...) +} + +// MockMulticlusterPortalGroupReconciler is a mock of MulticlusterPortalGroupReconciler interface. +type MockMulticlusterPortalGroupReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPortalGroupReconcilerMockRecorder +} + +// MockMulticlusterPortalGroupReconcilerMockRecorder is the mock recorder for MockMulticlusterPortalGroupReconciler. +type MockMulticlusterPortalGroupReconcilerMockRecorder struct { + mock *MockMulticlusterPortalGroupReconciler +} + +// NewMockMulticlusterPortalGroupReconciler creates a new mock instance. +func NewMockMulticlusterPortalGroupReconciler(ctrl *gomock.Controller) *MockMulticlusterPortalGroupReconciler { + mock := &MockMulticlusterPortalGroupReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterPortalGroupReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPortalGroupReconciler) EXPECT() *MockMulticlusterPortalGroupReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePortalGroup mocks base method. +func (m *MockMulticlusterPortalGroupReconciler) ReconcilePortalGroup(clusterName string, obj *v2.PortalGroup) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortalGroup", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcilePortalGroup indicates an expected call of ReconcilePortalGroup. +func (mr *MockMulticlusterPortalGroupReconcilerMockRecorder) ReconcilePortalGroup(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortalGroup", reflect.TypeOf((*MockMulticlusterPortalGroupReconciler)(nil).ReconcilePortalGroup), clusterName, obj) +} + +// MockMulticlusterPortalGroupDeletionReconciler is a mock of MulticlusterPortalGroupDeletionReconciler interface. +type MockMulticlusterPortalGroupDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPortalGroupDeletionReconcilerMockRecorder +} + +// MockMulticlusterPortalGroupDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterPortalGroupDeletionReconciler. +type MockMulticlusterPortalGroupDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterPortalGroupDeletionReconciler +} + +// NewMockMulticlusterPortalGroupDeletionReconciler creates a new mock instance. +func NewMockMulticlusterPortalGroupDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterPortalGroupDeletionReconciler { + mock := &MockMulticlusterPortalGroupDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterPortalGroupDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPortalGroupDeletionReconciler) EXPECT() *MockMulticlusterPortalGroupDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePortalGroupDeletion mocks base method. +func (m *MockMulticlusterPortalGroupDeletionReconciler) ReconcilePortalGroupDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortalGroupDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcilePortalGroupDeletion indicates an expected call of ReconcilePortalGroupDeletion. +func (mr *MockMulticlusterPortalGroupDeletionReconcilerMockRecorder) ReconcilePortalGroupDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortalGroupDeletion", reflect.TypeOf((*MockMulticlusterPortalGroupDeletionReconciler)(nil).ReconcilePortalGroupDeletion), clusterName, req) +} + +// MockMulticlusterPortalGroupReconcileLoop is a mock of MulticlusterPortalGroupReconcileLoop interface. +type MockMulticlusterPortalGroupReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPortalGroupReconcileLoopMockRecorder +} + +// MockMulticlusterPortalGroupReconcileLoopMockRecorder is the mock recorder for MockMulticlusterPortalGroupReconcileLoop. +type MockMulticlusterPortalGroupReconcileLoopMockRecorder struct { + mock *MockMulticlusterPortalGroupReconcileLoop +} + +// NewMockMulticlusterPortalGroupReconcileLoop creates a new mock instance. +func NewMockMulticlusterPortalGroupReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterPortalGroupReconcileLoop { + mock := &MockMulticlusterPortalGroupReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterPortalGroupReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPortalGroupReconcileLoop) EXPECT() *MockMulticlusterPortalGroupReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterPortalGroupReconciler mocks base method. +func (m *MockMulticlusterPortalGroupReconcileLoop) AddMulticlusterPortalGroupReconciler(ctx context.Context, rec controller.MulticlusterPortalGroupReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterPortalGroupReconciler", varargs...) +} + +// AddMulticlusterPortalGroupReconciler indicates an expected call of AddMulticlusterPortalGroupReconciler. +func (mr *MockMulticlusterPortalGroupReconcileLoopMockRecorder) AddMulticlusterPortalGroupReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterPortalGroupReconciler", reflect.TypeOf((*MockMulticlusterPortalGroupReconcileLoop)(nil).AddMulticlusterPortalGroupReconciler), varargs...) +} + +// MockMulticlusterApiProductReconciler is a mock of MulticlusterApiProductReconciler interface. +type MockMulticlusterApiProductReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterApiProductReconcilerMockRecorder +} + +// MockMulticlusterApiProductReconcilerMockRecorder is the mock recorder for MockMulticlusterApiProductReconciler. +type MockMulticlusterApiProductReconcilerMockRecorder struct { + mock *MockMulticlusterApiProductReconciler +} + +// NewMockMulticlusterApiProductReconciler creates a new mock instance. +func NewMockMulticlusterApiProductReconciler(ctrl *gomock.Controller) *MockMulticlusterApiProductReconciler { + mock := &MockMulticlusterApiProductReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterApiProductReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterApiProductReconciler) EXPECT() *MockMulticlusterApiProductReconcilerMockRecorder { + return m.recorder +} + +// ReconcileApiProduct mocks base method. +func (m *MockMulticlusterApiProductReconciler) ReconcileApiProduct(clusterName string, obj *v2.ApiProduct) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiProduct", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileApiProduct indicates an expected call of ReconcileApiProduct. +func (mr *MockMulticlusterApiProductReconcilerMockRecorder) ReconcileApiProduct(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiProduct", reflect.TypeOf((*MockMulticlusterApiProductReconciler)(nil).ReconcileApiProduct), clusterName, obj) +} + +// MockMulticlusterApiProductDeletionReconciler is a mock of MulticlusterApiProductDeletionReconciler interface. +type MockMulticlusterApiProductDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterApiProductDeletionReconcilerMockRecorder +} + +// MockMulticlusterApiProductDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterApiProductDeletionReconciler. +type MockMulticlusterApiProductDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterApiProductDeletionReconciler +} + +// NewMockMulticlusterApiProductDeletionReconciler creates a new mock instance. +func NewMockMulticlusterApiProductDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterApiProductDeletionReconciler { + mock := &MockMulticlusterApiProductDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterApiProductDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterApiProductDeletionReconciler) EXPECT() *MockMulticlusterApiProductDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileApiProductDeletion mocks base method. +func (m *MockMulticlusterApiProductDeletionReconciler) ReconcileApiProductDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiProductDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileApiProductDeletion indicates an expected call of ReconcileApiProductDeletion. +func (mr *MockMulticlusterApiProductDeletionReconcilerMockRecorder) ReconcileApiProductDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiProductDeletion", reflect.TypeOf((*MockMulticlusterApiProductDeletionReconciler)(nil).ReconcileApiProductDeletion), clusterName, req) +} + +// MockMulticlusterApiProductReconcileLoop is a mock of MulticlusterApiProductReconcileLoop interface. +type MockMulticlusterApiProductReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterApiProductReconcileLoopMockRecorder +} + +// MockMulticlusterApiProductReconcileLoopMockRecorder is the mock recorder for MockMulticlusterApiProductReconcileLoop. +type MockMulticlusterApiProductReconcileLoopMockRecorder struct { + mock *MockMulticlusterApiProductReconcileLoop +} + +// NewMockMulticlusterApiProductReconcileLoop creates a new mock instance. +func NewMockMulticlusterApiProductReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterApiProductReconcileLoop { + mock := &MockMulticlusterApiProductReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterApiProductReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterApiProductReconcileLoop) EXPECT() *MockMulticlusterApiProductReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterApiProductReconciler mocks base method. +func (m *MockMulticlusterApiProductReconcileLoop) AddMulticlusterApiProductReconciler(ctx context.Context, rec controller.MulticlusterApiProductReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterApiProductReconciler", varargs...) +} + +// AddMulticlusterApiProductReconciler indicates an expected call of AddMulticlusterApiProductReconciler. +func (mr *MockMulticlusterApiProductReconcileLoopMockRecorder) AddMulticlusterApiProductReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterApiProductReconciler", reflect.TypeOf((*MockMulticlusterApiProductReconcileLoop)(nil).AddMulticlusterApiProductReconciler), varargs...) +} + +// MockMulticlusterApiSchemaDiscoveryReconciler is a mock of MulticlusterApiSchemaDiscoveryReconciler interface. +type MockMulticlusterApiSchemaDiscoveryReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterApiSchemaDiscoveryReconcilerMockRecorder +} + +// MockMulticlusterApiSchemaDiscoveryReconcilerMockRecorder is the mock recorder for MockMulticlusterApiSchemaDiscoveryReconciler. +type MockMulticlusterApiSchemaDiscoveryReconcilerMockRecorder struct { + mock *MockMulticlusterApiSchemaDiscoveryReconciler +} + +// NewMockMulticlusterApiSchemaDiscoveryReconciler creates a new mock instance. +func NewMockMulticlusterApiSchemaDiscoveryReconciler(ctrl *gomock.Controller) *MockMulticlusterApiSchemaDiscoveryReconciler { + mock := &MockMulticlusterApiSchemaDiscoveryReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterApiSchemaDiscoveryReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterApiSchemaDiscoveryReconciler) EXPECT() *MockMulticlusterApiSchemaDiscoveryReconcilerMockRecorder { + return m.recorder +} + +// ReconcileApiSchemaDiscovery mocks base method. +func (m *MockMulticlusterApiSchemaDiscoveryReconciler) ReconcileApiSchemaDiscovery(clusterName string, obj *v2.ApiSchemaDiscovery) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiSchemaDiscovery", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileApiSchemaDiscovery indicates an expected call of ReconcileApiSchemaDiscovery. +func (mr *MockMulticlusterApiSchemaDiscoveryReconcilerMockRecorder) ReconcileApiSchemaDiscovery(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiSchemaDiscovery", reflect.TypeOf((*MockMulticlusterApiSchemaDiscoveryReconciler)(nil).ReconcileApiSchemaDiscovery), clusterName, obj) +} + +// MockMulticlusterApiSchemaDiscoveryDeletionReconciler is a mock of MulticlusterApiSchemaDiscoveryDeletionReconciler interface. +type MockMulticlusterApiSchemaDiscoveryDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterApiSchemaDiscoveryDeletionReconcilerMockRecorder +} + +// MockMulticlusterApiSchemaDiscoveryDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterApiSchemaDiscoveryDeletionReconciler. +type MockMulticlusterApiSchemaDiscoveryDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterApiSchemaDiscoveryDeletionReconciler +} + +// NewMockMulticlusterApiSchemaDiscoveryDeletionReconciler creates a new mock instance. +func NewMockMulticlusterApiSchemaDiscoveryDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterApiSchemaDiscoveryDeletionReconciler { + mock := &MockMulticlusterApiSchemaDiscoveryDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterApiSchemaDiscoveryDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterApiSchemaDiscoveryDeletionReconciler) EXPECT() *MockMulticlusterApiSchemaDiscoveryDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileApiSchemaDiscoveryDeletion mocks base method. +func (m *MockMulticlusterApiSchemaDiscoveryDeletionReconciler) ReconcileApiSchemaDiscoveryDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiSchemaDiscoveryDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileApiSchemaDiscoveryDeletion indicates an expected call of ReconcileApiSchemaDiscoveryDeletion. +func (mr *MockMulticlusterApiSchemaDiscoveryDeletionReconcilerMockRecorder) ReconcileApiSchemaDiscoveryDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiSchemaDiscoveryDeletion", reflect.TypeOf((*MockMulticlusterApiSchemaDiscoveryDeletionReconciler)(nil).ReconcileApiSchemaDiscoveryDeletion), clusterName, req) +} + +// MockMulticlusterApiSchemaDiscoveryReconcileLoop is a mock of MulticlusterApiSchemaDiscoveryReconcileLoop interface. +type MockMulticlusterApiSchemaDiscoveryReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterApiSchemaDiscoveryReconcileLoopMockRecorder +} + +// MockMulticlusterApiSchemaDiscoveryReconcileLoopMockRecorder is the mock recorder for MockMulticlusterApiSchemaDiscoveryReconcileLoop. +type MockMulticlusterApiSchemaDiscoveryReconcileLoopMockRecorder struct { + mock *MockMulticlusterApiSchemaDiscoveryReconcileLoop +} + +// NewMockMulticlusterApiSchemaDiscoveryReconcileLoop creates a new mock instance. +func NewMockMulticlusterApiSchemaDiscoveryReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterApiSchemaDiscoveryReconcileLoop { + mock := &MockMulticlusterApiSchemaDiscoveryReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterApiSchemaDiscoveryReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterApiSchemaDiscoveryReconcileLoop) EXPECT() *MockMulticlusterApiSchemaDiscoveryReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterApiSchemaDiscoveryReconciler mocks base method. +func (m *MockMulticlusterApiSchemaDiscoveryReconcileLoop) AddMulticlusterApiSchemaDiscoveryReconciler(ctx context.Context, rec controller.MulticlusterApiSchemaDiscoveryReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterApiSchemaDiscoveryReconciler", varargs...) +} + +// AddMulticlusterApiSchemaDiscoveryReconciler indicates an expected call of AddMulticlusterApiSchemaDiscoveryReconciler. +func (mr *MockMulticlusterApiSchemaDiscoveryReconcileLoopMockRecorder) AddMulticlusterApiSchemaDiscoveryReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterApiSchemaDiscoveryReconciler", reflect.TypeOf((*MockMulticlusterApiSchemaDiscoveryReconcileLoop)(nil).AddMulticlusterApiSchemaDiscoveryReconciler), varargs...) +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/controller/mocks/reconcilers.go b/client-go/apimanagement.gloo.solo.io/v2/controller/mocks/reconcilers.go new file mode 100644 index 000000000..723a02b64 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/controller/mocks/reconcilers.go @@ -0,0 +1,1481 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2/controller" +) + +// MockGraphQLStitchedSchemaReconciler is a mock of GraphQLStitchedSchemaReconciler interface. +type MockGraphQLStitchedSchemaReconciler struct { + ctrl *gomock.Controller + recorder *MockGraphQLStitchedSchemaReconcilerMockRecorder +} + +// MockGraphQLStitchedSchemaReconcilerMockRecorder is the mock recorder for MockGraphQLStitchedSchemaReconciler. +type MockGraphQLStitchedSchemaReconcilerMockRecorder struct { + mock *MockGraphQLStitchedSchemaReconciler +} + +// NewMockGraphQLStitchedSchemaReconciler creates a new mock instance. +func NewMockGraphQLStitchedSchemaReconciler(ctrl *gomock.Controller) *MockGraphQLStitchedSchemaReconciler { + mock := &MockGraphQLStitchedSchemaReconciler{ctrl: ctrl} + mock.recorder = &MockGraphQLStitchedSchemaReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLStitchedSchemaReconciler) EXPECT() *MockGraphQLStitchedSchemaReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaReconciler) ReconcileGraphQLStitchedSchema(obj *v2.GraphQLStitchedSchema) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLStitchedSchema", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLStitchedSchema indicates an expected call of ReconcileGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaReconcilerMockRecorder) ReconcileGraphQLStitchedSchema(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaReconciler)(nil).ReconcileGraphQLStitchedSchema), obj) +} + +// MockGraphQLStitchedSchemaDeletionReconciler is a mock of GraphQLStitchedSchemaDeletionReconciler interface. +type MockGraphQLStitchedSchemaDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockGraphQLStitchedSchemaDeletionReconcilerMockRecorder +} + +// MockGraphQLStitchedSchemaDeletionReconcilerMockRecorder is the mock recorder for MockGraphQLStitchedSchemaDeletionReconciler. +type MockGraphQLStitchedSchemaDeletionReconcilerMockRecorder struct { + mock *MockGraphQLStitchedSchemaDeletionReconciler +} + +// NewMockGraphQLStitchedSchemaDeletionReconciler creates a new mock instance. +func NewMockGraphQLStitchedSchemaDeletionReconciler(ctrl *gomock.Controller) *MockGraphQLStitchedSchemaDeletionReconciler { + mock := &MockGraphQLStitchedSchemaDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockGraphQLStitchedSchemaDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLStitchedSchemaDeletionReconciler) EXPECT() *MockGraphQLStitchedSchemaDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLStitchedSchemaDeletion mocks base method. +func (m *MockGraphQLStitchedSchemaDeletionReconciler) ReconcileGraphQLStitchedSchemaDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLStitchedSchemaDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileGraphQLStitchedSchemaDeletion indicates an expected call of ReconcileGraphQLStitchedSchemaDeletion. +func (mr *MockGraphQLStitchedSchemaDeletionReconcilerMockRecorder) ReconcileGraphQLStitchedSchemaDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLStitchedSchemaDeletion", reflect.TypeOf((*MockGraphQLStitchedSchemaDeletionReconciler)(nil).ReconcileGraphQLStitchedSchemaDeletion), req) +} + +// MockGraphQLStitchedSchemaFinalizer is a mock of GraphQLStitchedSchemaFinalizer interface. +type MockGraphQLStitchedSchemaFinalizer struct { + ctrl *gomock.Controller + recorder *MockGraphQLStitchedSchemaFinalizerMockRecorder +} + +// MockGraphQLStitchedSchemaFinalizerMockRecorder is the mock recorder for MockGraphQLStitchedSchemaFinalizer. +type MockGraphQLStitchedSchemaFinalizerMockRecorder struct { + mock *MockGraphQLStitchedSchemaFinalizer +} + +// NewMockGraphQLStitchedSchemaFinalizer creates a new mock instance. +func NewMockGraphQLStitchedSchemaFinalizer(ctrl *gomock.Controller) *MockGraphQLStitchedSchemaFinalizer { + mock := &MockGraphQLStitchedSchemaFinalizer{ctrl: ctrl} + mock.recorder = &MockGraphQLStitchedSchemaFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLStitchedSchemaFinalizer) EXPECT() *MockGraphQLStitchedSchemaFinalizerMockRecorder { + return m.recorder +} + +// FinalizeGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaFinalizer) FinalizeGraphQLStitchedSchema(obj *v2.GraphQLStitchedSchema) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeGraphQLStitchedSchema", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeGraphQLStitchedSchema indicates an expected call of FinalizeGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaFinalizerMockRecorder) FinalizeGraphQLStitchedSchema(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaFinalizer)(nil).FinalizeGraphQLStitchedSchema), obj) +} + +// GraphQLStitchedSchemaFinalizerName mocks base method. +func (m *MockGraphQLStitchedSchemaFinalizer) GraphQLStitchedSchemaFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GraphQLStitchedSchemaFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// GraphQLStitchedSchemaFinalizerName indicates an expected call of GraphQLStitchedSchemaFinalizerName. +func (mr *MockGraphQLStitchedSchemaFinalizerMockRecorder) GraphQLStitchedSchemaFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GraphQLStitchedSchemaFinalizerName", reflect.TypeOf((*MockGraphQLStitchedSchemaFinalizer)(nil).GraphQLStitchedSchemaFinalizerName)) +} + +// ReconcileGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaFinalizer) ReconcileGraphQLStitchedSchema(obj *v2.GraphQLStitchedSchema) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLStitchedSchema", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLStitchedSchema indicates an expected call of ReconcileGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaFinalizerMockRecorder) ReconcileGraphQLStitchedSchema(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaFinalizer)(nil).ReconcileGraphQLStitchedSchema), obj) +} + +// MockGraphQLStitchedSchemaReconcileLoop is a mock of GraphQLStitchedSchemaReconcileLoop interface. +type MockGraphQLStitchedSchemaReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockGraphQLStitchedSchemaReconcileLoopMockRecorder +} + +// MockGraphQLStitchedSchemaReconcileLoopMockRecorder is the mock recorder for MockGraphQLStitchedSchemaReconcileLoop. +type MockGraphQLStitchedSchemaReconcileLoopMockRecorder struct { + mock *MockGraphQLStitchedSchemaReconcileLoop +} + +// NewMockGraphQLStitchedSchemaReconcileLoop creates a new mock instance. +func NewMockGraphQLStitchedSchemaReconcileLoop(ctrl *gomock.Controller) *MockGraphQLStitchedSchemaReconcileLoop { + mock := &MockGraphQLStitchedSchemaReconcileLoop{ctrl: ctrl} + mock.recorder = &MockGraphQLStitchedSchemaReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLStitchedSchemaReconcileLoop) EXPECT() *MockGraphQLStitchedSchemaReconcileLoopMockRecorder { + return m.recorder +} + +// RunGraphQLStitchedSchemaReconciler mocks base method. +func (m *MockGraphQLStitchedSchemaReconcileLoop) RunGraphQLStitchedSchemaReconciler(ctx context.Context, rec controller.GraphQLStitchedSchemaReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunGraphQLStitchedSchemaReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunGraphQLStitchedSchemaReconciler indicates an expected call of RunGraphQLStitchedSchemaReconciler. +func (mr *MockGraphQLStitchedSchemaReconcileLoopMockRecorder) RunGraphQLStitchedSchemaReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunGraphQLStitchedSchemaReconciler", reflect.TypeOf((*MockGraphQLStitchedSchemaReconcileLoop)(nil).RunGraphQLStitchedSchemaReconciler), varargs...) +} + +// MockGraphQLResolverMapReconciler is a mock of GraphQLResolverMapReconciler interface. +type MockGraphQLResolverMapReconciler struct { + ctrl *gomock.Controller + recorder *MockGraphQLResolverMapReconcilerMockRecorder +} + +// MockGraphQLResolverMapReconcilerMockRecorder is the mock recorder for MockGraphQLResolverMapReconciler. +type MockGraphQLResolverMapReconcilerMockRecorder struct { + mock *MockGraphQLResolverMapReconciler +} + +// NewMockGraphQLResolverMapReconciler creates a new mock instance. +func NewMockGraphQLResolverMapReconciler(ctrl *gomock.Controller) *MockGraphQLResolverMapReconciler { + mock := &MockGraphQLResolverMapReconciler{ctrl: ctrl} + mock.recorder = &MockGraphQLResolverMapReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLResolverMapReconciler) EXPECT() *MockGraphQLResolverMapReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapReconciler) ReconcileGraphQLResolverMap(obj *v2.GraphQLResolverMap) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLResolverMap", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLResolverMap indicates an expected call of ReconcileGraphQLResolverMap. +func (mr *MockGraphQLResolverMapReconcilerMockRecorder) ReconcileGraphQLResolverMap(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapReconciler)(nil).ReconcileGraphQLResolverMap), obj) +} + +// MockGraphQLResolverMapDeletionReconciler is a mock of GraphQLResolverMapDeletionReconciler interface. +type MockGraphQLResolverMapDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockGraphQLResolverMapDeletionReconcilerMockRecorder +} + +// MockGraphQLResolverMapDeletionReconcilerMockRecorder is the mock recorder for MockGraphQLResolverMapDeletionReconciler. +type MockGraphQLResolverMapDeletionReconcilerMockRecorder struct { + mock *MockGraphQLResolverMapDeletionReconciler +} + +// NewMockGraphQLResolverMapDeletionReconciler creates a new mock instance. +func NewMockGraphQLResolverMapDeletionReconciler(ctrl *gomock.Controller) *MockGraphQLResolverMapDeletionReconciler { + mock := &MockGraphQLResolverMapDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockGraphQLResolverMapDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLResolverMapDeletionReconciler) EXPECT() *MockGraphQLResolverMapDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLResolverMapDeletion mocks base method. +func (m *MockGraphQLResolverMapDeletionReconciler) ReconcileGraphQLResolverMapDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLResolverMapDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileGraphQLResolverMapDeletion indicates an expected call of ReconcileGraphQLResolverMapDeletion. +func (mr *MockGraphQLResolverMapDeletionReconcilerMockRecorder) ReconcileGraphQLResolverMapDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLResolverMapDeletion", reflect.TypeOf((*MockGraphQLResolverMapDeletionReconciler)(nil).ReconcileGraphQLResolverMapDeletion), req) +} + +// MockGraphQLResolverMapFinalizer is a mock of GraphQLResolverMapFinalizer interface. +type MockGraphQLResolverMapFinalizer struct { + ctrl *gomock.Controller + recorder *MockGraphQLResolverMapFinalizerMockRecorder +} + +// MockGraphQLResolverMapFinalizerMockRecorder is the mock recorder for MockGraphQLResolverMapFinalizer. +type MockGraphQLResolverMapFinalizerMockRecorder struct { + mock *MockGraphQLResolverMapFinalizer +} + +// NewMockGraphQLResolverMapFinalizer creates a new mock instance. +func NewMockGraphQLResolverMapFinalizer(ctrl *gomock.Controller) *MockGraphQLResolverMapFinalizer { + mock := &MockGraphQLResolverMapFinalizer{ctrl: ctrl} + mock.recorder = &MockGraphQLResolverMapFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLResolverMapFinalizer) EXPECT() *MockGraphQLResolverMapFinalizerMockRecorder { + return m.recorder +} + +// FinalizeGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapFinalizer) FinalizeGraphQLResolverMap(obj *v2.GraphQLResolverMap) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeGraphQLResolverMap", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeGraphQLResolverMap indicates an expected call of FinalizeGraphQLResolverMap. +func (mr *MockGraphQLResolverMapFinalizerMockRecorder) FinalizeGraphQLResolverMap(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapFinalizer)(nil).FinalizeGraphQLResolverMap), obj) +} + +// GraphQLResolverMapFinalizerName mocks base method. +func (m *MockGraphQLResolverMapFinalizer) GraphQLResolverMapFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GraphQLResolverMapFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// GraphQLResolverMapFinalizerName indicates an expected call of GraphQLResolverMapFinalizerName. +func (mr *MockGraphQLResolverMapFinalizerMockRecorder) GraphQLResolverMapFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GraphQLResolverMapFinalizerName", reflect.TypeOf((*MockGraphQLResolverMapFinalizer)(nil).GraphQLResolverMapFinalizerName)) +} + +// ReconcileGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapFinalizer) ReconcileGraphQLResolverMap(obj *v2.GraphQLResolverMap) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLResolverMap", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLResolverMap indicates an expected call of ReconcileGraphQLResolverMap. +func (mr *MockGraphQLResolverMapFinalizerMockRecorder) ReconcileGraphQLResolverMap(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapFinalizer)(nil).ReconcileGraphQLResolverMap), obj) +} + +// MockGraphQLResolverMapReconcileLoop is a mock of GraphQLResolverMapReconcileLoop interface. +type MockGraphQLResolverMapReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockGraphQLResolverMapReconcileLoopMockRecorder +} + +// MockGraphQLResolverMapReconcileLoopMockRecorder is the mock recorder for MockGraphQLResolverMapReconcileLoop. +type MockGraphQLResolverMapReconcileLoopMockRecorder struct { + mock *MockGraphQLResolverMapReconcileLoop +} + +// NewMockGraphQLResolverMapReconcileLoop creates a new mock instance. +func NewMockGraphQLResolverMapReconcileLoop(ctrl *gomock.Controller) *MockGraphQLResolverMapReconcileLoop { + mock := &MockGraphQLResolverMapReconcileLoop{ctrl: ctrl} + mock.recorder = &MockGraphQLResolverMapReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLResolverMapReconcileLoop) EXPECT() *MockGraphQLResolverMapReconcileLoopMockRecorder { + return m.recorder +} + +// RunGraphQLResolverMapReconciler mocks base method. +func (m *MockGraphQLResolverMapReconcileLoop) RunGraphQLResolverMapReconciler(ctx context.Context, rec controller.GraphQLResolverMapReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunGraphQLResolverMapReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunGraphQLResolverMapReconciler indicates an expected call of RunGraphQLResolverMapReconciler. +func (mr *MockGraphQLResolverMapReconcileLoopMockRecorder) RunGraphQLResolverMapReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunGraphQLResolverMapReconciler", reflect.TypeOf((*MockGraphQLResolverMapReconcileLoop)(nil).RunGraphQLResolverMapReconciler), varargs...) +} + +// MockGraphQLSchemaReconciler is a mock of GraphQLSchemaReconciler interface. +type MockGraphQLSchemaReconciler struct { + ctrl *gomock.Controller + recorder *MockGraphQLSchemaReconcilerMockRecorder +} + +// MockGraphQLSchemaReconcilerMockRecorder is the mock recorder for MockGraphQLSchemaReconciler. +type MockGraphQLSchemaReconcilerMockRecorder struct { + mock *MockGraphQLSchemaReconciler +} + +// NewMockGraphQLSchemaReconciler creates a new mock instance. +func NewMockGraphQLSchemaReconciler(ctrl *gomock.Controller) *MockGraphQLSchemaReconciler { + mock := &MockGraphQLSchemaReconciler{ctrl: ctrl} + mock.recorder = &MockGraphQLSchemaReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLSchemaReconciler) EXPECT() *MockGraphQLSchemaReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaReconciler) ReconcileGraphQLSchema(obj *v2.GraphQLSchema) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLSchema", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLSchema indicates an expected call of ReconcileGraphQLSchema. +func (mr *MockGraphQLSchemaReconcilerMockRecorder) ReconcileGraphQLSchema(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaReconciler)(nil).ReconcileGraphQLSchema), obj) +} + +// MockGraphQLSchemaDeletionReconciler is a mock of GraphQLSchemaDeletionReconciler interface. +type MockGraphQLSchemaDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockGraphQLSchemaDeletionReconcilerMockRecorder +} + +// MockGraphQLSchemaDeletionReconcilerMockRecorder is the mock recorder for MockGraphQLSchemaDeletionReconciler. +type MockGraphQLSchemaDeletionReconcilerMockRecorder struct { + mock *MockGraphQLSchemaDeletionReconciler +} + +// NewMockGraphQLSchemaDeletionReconciler creates a new mock instance. +func NewMockGraphQLSchemaDeletionReconciler(ctrl *gomock.Controller) *MockGraphQLSchemaDeletionReconciler { + mock := &MockGraphQLSchemaDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockGraphQLSchemaDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLSchemaDeletionReconciler) EXPECT() *MockGraphQLSchemaDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLSchemaDeletion mocks base method. +func (m *MockGraphQLSchemaDeletionReconciler) ReconcileGraphQLSchemaDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLSchemaDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileGraphQLSchemaDeletion indicates an expected call of ReconcileGraphQLSchemaDeletion. +func (mr *MockGraphQLSchemaDeletionReconcilerMockRecorder) ReconcileGraphQLSchemaDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLSchemaDeletion", reflect.TypeOf((*MockGraphQLSchemaDeletionReconciler)(nil).ReconcileGraphQLSchemaDeletion), req) +} + +// MockGraphQLSchemaFinalizer is a mock of GraphQLSchemaFinalizer interface. +type MockGraphQLSchemaFinalizer struct { + ctrl *gomock.Controller + recorder *MockGraphQLSchemaFinalizerMockRecorder +} + +// MockGraphQLSchemaFinalizerMockRecorder is the mock recorder for MockGraphQLSchemaFinalizer. +type MockGraphQLSchemaFinalizerMockRecorder struct { + mock *MockGraphQLSchemaFinalizer +} + +// NewMockGraphQLSchemaFinalizer creates a new mock instance. +func NewMockGraphQLSchemaFinalizer(ctrl *gomock.Controller) *MockGraphQLSchemaFinalizer { + mock := &MockGraphQLSchemaFinalizer{ctrl: ctrl} + mock.recorder = &MockGraphQLSchemaFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLSchemaFinalizer) EXPECT() *MockGraphQLSchemaFinalizerMockRecorder { + return m.recorder +} + +// FinalizeGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaFinalizer) FinalizeGraphQLSchema(obj *v2.GraphQLSchema) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeGraphQLSchema", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeGraphQLSchema indicates an expected call of FinalizeGraphQLSchema. +func (mr *MockGraphQLSchemaFinalizerMockRecorder) FinalizeGraphQLSchema(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaFinalizer)(nil).FinalizeGraphQLSchema), obj) +} + +// GraphQLSchemaFinalizerName mocks base method. +func (m *MockGraphQLSchemaFinalizer) GraphQLSchemaFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GraphQLSchemaFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// GraphQLSchemaFinalizerName indicates an expected call of GraphQLSchemaFinalizerName. +func (mr *MockGraphQLSchemaFinalizerMockRecorder) GraphQLSchemaFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GraphQLSchemaFinalizerName", reflect.TypeOf((*MockGraphQLSchemaFinalizer)(nil).GraphQLSchemaFinalizerName)) +} + +// ReconcileGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaFinalizer) ReconcileGraphQLSchema(obj *v2.GraphQLSchema) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLSchema", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLSchema indicates an expected call of ReconcileGraphQLSchema. +func (mr *MockGraphQLSchemaFinalizerMockRecorder) ReconcileGraphQLSchema(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaFinalizer)(nil).ReconcileGraphQLSchema), obj) +} + +// MockGraphQLSchemaReconcileLoop is a mock of GraphQLSchemaReconcileLoop interface. +type MockGraphQLSchemaReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockGraphQLSchemaReconcileLoopMockRecorder +} + +// MockGraphQLSchemaReconcileLoopMockRecorder is the mock recorder for MockGraphQLSchemaReconcileLoop. +type MockGraphQLSchemaReconcileLoopMockRecorder struct { + mock *MockGraphQLSchemaReconcileLoop +} + +// NewMockGraphQLSchemaReconcileLoop creates a new mock instance. +func NewMockGraphQLSchemaReconcileLoop(ctrl *gomock.Controller) *MockGraphQLSchemaReconcileLoop { + mock := &MockGraphQLSchemaReconcileLoop{ctrl: ctrl} + mock.recorder = &MockGraphQLSchemaReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLSchemaReconcileLoop) EXPECT() *MockGraphQLSchemaReconcileLoopMockRecorder { + return m.recorder +} + +// RunGraphQLSchemaReconciler mocks base method. +func (m *MockGraphQLSchemaReconcileLoop) RunGraphQLSchemaReconciler(ctx context.Context, rec controller.GraphQLSchemaReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunGraphQLSchemaReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunGraphQLSchemaReconciler indicates an expected call of RunGraphQLSchemaReconciler. +func (mr *MockGraphQLSchemaReconcileLoopMockRecorder) RunGraphQLSchemaReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunGraphQLSchemaReconciler", reflect.TypeOf((*MockGraphQLSchemaReconcileLoop)(nil).RunGraphQLSchemaReconciler), varargs...) +} + +// MockApiDocReconciler is a mock of ApiDocReconciler interface. +type MockApiDocReconciler struct { + ctrl *gomock.Controller + recorder *MockApiDocReconcilerMockRecorder +} + +// MockApiDocReconcilerMockRecorder is the mock recorder for MockApiDocReconciler. +type MockApiDocReconcilerMockRecorder struct { + mock *MockApiDocReconciler +} + +// NewMockApiDocReconciler creates a new mock instance. +func NewMockApiDocReconciler(ctrl *gomock.Controller) *MockApiDocReconciler { + mock := &MockApiDocReconciler{ctrl: ctrl} + mock.recorder = &MockApiDocReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiDocReconciler) EXPECT() *MockApiDocReconcilerMockRecorder { + return m.recorder +} + +// ReconcileApiDoc mocks base method. +func (m *MockApiDocReconciler) ReconcileApiDoc(obj *v2.ApiDoc) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiDoc", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileApiDoc indicates an expected call of ReconcileApiDoc. +func (mr *MockApiDocReconcilerMockRecorder) ReconcileApiDoc(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiDoc", reflect.TypeOf((*MockApiDocReconciler)(nil).ReconcileApiDoc), obj) +} + +// MockApiDocDeletionReconciler is a mock of ApiDocDeletionReconciler interface. +type MockApiDocDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockApiDocDeletionReconcilerMockRecorder +} + +// MockApiDocDeletionReconcilerMockRecorder is the mock recorder for MockApiDocDeletionReconciler. +type MockApiDocDeletionReconcilerMockRecorder struct { + mock *MockApiDocDeletionReconciler +} + +// NewMockApiDocDeletionReconciler creates a new mock instance. +func NewMockApiDocDeletionReconciler(ctrl *gomock.Controller) *MockApiDocDeletionReconciler { + mock := &MockApiDocDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockApiDocDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiDocDeletionReconciler) EXPECT() *MockApiDocDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileApiDocDeletion mocks base method. +func (m *MockApiDocDeletionReconciler) ReconcileApiDocDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiDocDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileApiDocDeletion indicates an expected call of ReconcileApiDocDeletion. +func (mr *MockApiDocDeletionReconcilerMockRecorder) ReconcileApiDocDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiDocDeletion", reflect.TypeOf((*MockApiDocDeletionReconciler)(nil).ReconcileApiDocDeletion), req) +} + +// MockApiDocFinalizer is a mock of ApiDocFinalizer interface. +type MockApiDocFinalizer struct { + ctrl *gomock.Controller + recorder *MockApiDocFinalizerMockRecorder +} + +// MockApiDocFinalizerMockRecorder is the mock recorder for MockApiDocFinalizer. +type MockApiDocFinalizerMockRecorder struct { + mock *MockApiDocFinalizer +} + +// NewMockApiDocFinalizer creates a new mock instance. +func NewMockApiDocFinalizer(ctrl *gomock.Controller) *MockApiDocFinalizer { + mock := &MockApiDocFinalizer{ctrl: ctrl} + mock.recorder = &MockApiDocFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiDocFinalizer) EXPECT() *MockApiDocFinalizerMockRecorder { + return m.recorder +} + +// ApiDocFinalizerName mocks base method. +func (m *MockApiDocFinalizer) ApiDocFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ApiDocFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ApiDocFinalizerName indicates an expected call of ApiDocFinalizerName. +func (mr *MockApiDocFinalizerMockRecorder) ApiDocFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ApiDocFinalizerName", reflect.TypeOf((*MockApiDocFinalizer)(nil).ApiDocFinalizerName)) +} + +// FinalizeApiDoc mocks base method. +func (m *MockApiDocFinalizer) FinalizeApiDoc(obj *v2.ApiDoc) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeApiDoc", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeApiDoc indicates an expected call of FinalizeApiDoc. +func (mr *MockApiDocFinalizerMockRecorder) FinalizeApiDoc(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeApiDoc", reflect.TypeOf((*MockApiDocFinalizer)(nil).FinalizeApiDoc), obj) +} + +// ReconcileApiDoc mocks base method. +func (m *MockApiDocFinalizer) ReconcileApiDoc(obj *v2.ApiDoc) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiDoc", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileApiDoc indicates an expected call of ReconcileApiDoc. +func (mr *MockApiDocFinalizerMockRecorder) ReconcileApiDoc(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiDoc", reflect.TypeOf((*MockApiDocFinalizer)(nil).ReconcileApiDoc), obj) +} + +// MockApiDocReconcileLoop is a mock of ApiDocReconcileLoop interface. +type MockApiDocReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockApiDocReconcileLoopMockRecorder +} + +// MockApiDocReconcileLoopMockRecorder is the mock recorder for MockApiDocReconcileLoop. +type MockApiDocReconcileLoopMockRecorder struct { + mock *MockApiDocReconcileLoop +} + +// NewMockApiDocReconcileLoop creates a new mock instance. +func NewMockApiDocReconcileLoop(ctrl *gomock.Controller) *MockApiDocReconcileLoop { + mock := &MockApiDocReconcileLoop{ctrl: ctrl} + mock.recorder = &MockApiDocReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiDocReconcileLoop) EXPECT() *MockApiDocReconcileLoopMockRecorder { + return m.recorder +} + +// RunApiDocReconciler mocks base method. +func (m *MockApiDocReconcileLoop) RunApiDocReconciler(ctx context.Context, rec controller.ApiDocReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunApiDocReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunApiDocReconciler indicates an expected call of RunApiDocReconciler. +func (mr *MockApiDocReconcileLoopMockRecorder) RunApiDocReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunApiDocReconciler", reflect.TypeOf((*MockApiDocReconcileLoop)(nil).RunApiDocReconciler), varargs...) +} + +// MockPortalReconciler is a mock of PortalReconciler interface. +type MockPortalReconciler struct { + ctrl *gomock.Controller + recorder *MockPortalReconcilerMockRecorder +} + +// MockPortalReconcilerMockRecorder is the mock recorder for MockPortalReconciler. +type MockPortalReconcilerMockRecorder struct { + mock *MockPortalReconciler +} + +// NewMockPortalReconciler creates a new mock instance. +func NewMockPortalReconciler(ctrl *gomock.Controller) *MockPortalReconciler { + mock := &MockPortalReconciler{ctrl: ctrl} + mock.recorder = &MockPortalReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalReconciler) EXPECT() *MockPortalReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePortal mocks base method. +func (m *MockPortalReconciler) ReconcilePortal(obj *v2.Portal) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortal", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcilePortal indicates an expected call of ReconcilePortal. +func (mr *MockPortalReconcilerMockRecorder) ReconcilePortal(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortal", reflect.TypeOf((*MockPortalReconciler)(nil).ReconcilePortal), obj) +} + +// MockPortalDeletionReconciler is a mock of PortalDeletionReconciler interface. +type MockPortalDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockPortalDeletionReconcilerMockRecorder +} + +// MockPortalDeletionReconcilerMockRecorder is the mock recorder for MockPortalDeletionReconciler. +type MockPortalDeletionReconcilerMockRecorder struct { + mock *MockPortalDeletionReconciler +} + +// NewMockPortalDeletionReconciler creates a new mock instance. +func NewMockPortalDeletionReconciler(ctrl *gomock.Controller) *MockPortalDeletionReconciler { + mock := &MockPortalDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockPortalDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalDeletionReconciler) EXPECT() *MockPortalDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePortalDeletion mocks base method. +func (m *MockPortalDeletionReconciler) ReconcilePortalDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortalDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcilePortalDeletion indicates an expected call of ReconcilePortalDeletion. +func (mr *MockPortalDeletionReconcilerMockRecorder) ReconcilePortalDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortalDeletion", reflect.TypeOf((*MockPortalDeletionReconciler)(nil).ReconcilePortalDeletion), req) +} + +// MockPortalFinalizer is a mock of PortalFinalizer interface. +type MockPortalFinalizer struct { + ctrl *gomock.Controller + recorder *MockPortalFinalizerMockRecorder +} + +// MockPortalFinalizerMockRecorder is the mock recorder for MockPortalFinalizer. +type MockPortalFinalizerMockRecorder struct { + mock *MockPortalFinalizer +} + +// NewMockPortalFinalizer creates a new mock instance. +func NewMockPortalFinalizer(ctrl *gomock.Controller) *MockPortalFinalizer { + mock := &MockPortalFinalizer{ctrl: ctrl} + mock.recorder = &MockPortalFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalFinalizer) EXPECT() *MockPortalFinalizerMockRecorder { + return m.recorder +} + +// FinalizePortal mocks base method. +func (m *MockPortalFinalizer) FinalizePortal(obj *v2.Portal) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizePortal", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizePortal indicates an expected call of FinalizePortal. +func (mr *MockPortalFinalizerMockRecorder) FinalizePortal(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizePortal", reflect.TypeOf((*MockPortalFinalizer)(nil).FinalizePortal), obj) +} + +// PortalFinalizerName mocks base method. +func (m *MockPortalFinalizer) PortalFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PortalFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// PortalFinalizerName indicates an expected call of PortalFinalizerName. +func (mr *MockPortalFinalizerMockRecorder) PortalFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PortalFinalizerName", reflect.TypeOf((*MockPortalFinalizer)(nil).PortalFinalizerName)) +} + +// ReconcilePortal mocks base method. +func (m *MockPortalFinalizer) ReconcilePortal(obj *v2.Portal) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortal", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcilePortal indicates an expected call of ReconcilePortal. +func (mr *MockPortalFinalizerMockRecorder) ReconcilePortal(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortal", reflect.TypeOf((*MockPortalFinalizer)(nil).ReconcilePortal), obj) +} + +// MockPortalReconcileLoop is a mock of PortalReconcileLoop interface. +type MockPortalReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockPortalReconcileLoopMockRecorder +} + +// MockPortalReconcileLoopMockRecorder is the mock recorder for MockPortalReconcileLoop. +type MockPortalReconcileLoopMockRecorder struct { + mock *MockPortalReconcileLoop +} + +// NewMockPortalReconcileLoop creates a new mock instance. +func NewMockPortalReconcileLoop(ctrl *gomock.Controller) *MockPortalReconcileLoop { + mock := &MockPortalReconcileLoop{ctrl: ctrl} + mock.recorder = &MockPortalReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalReconcileLoop) EXPECT() *MockPortalReconcileLoopMockRecorder { + return m.recorder +} + +// RunPortalReconciler mocks base method. +func (m *MockPortalReconcileLoop) RunPortalReconciler(ctx context.Context, rec controller.PortalReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunPortalReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunPortalReconciler indicates an expected call of RunPortalReconciler. +func (mr *MockPortalReconcileLoopMockRecorder) RunPortalReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunPortalReconciler", reflect.TypeOf((*MockPortalReconcileLoop)(nil).RunPortalReconciler), varargs...) +} + +// MockPortalGroupReconciler is a mock of PortalGroupReconciler interface. +type MockPortalGroupReconciler struct { + ctrl *gomock.Controller + recorder *MockPortalGroupReconcilerMockRecorder +} + +// MockPortalGroupReconcilerMockRecorder is the mock recorder for MockPortalGroupReconciler. +type MockPortalGroupReconcilerMockRecorder struct { + mock *MockPortalGroupReconciler +} + +// NewMockPortalGroupReconciler creates a new mock instance. +func NewMockPortalGroupReconciler(ctrl *gomock.Controller) *MockPortalGroupReconciler { + mock := &MockPortalGroupReconciler{ctrl: ctrl} + mock.recorder = &MockPortalGroupReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalGroupReconciler) EXPECT() *MockPortalGroupReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePortalGroup mocks base method. +func (m *MockPortalGroupReconciler) ReconcilePortalGroup(obj *v2.PortalGroup) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortalGroup", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcilePortalGroup indicates an expected call of ReconcilePortalGroup. +func (mr *MockPortalGroupReconcilerMockRecorder) ReconcilePortalGroup(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortalGroup", reflect.TypeOf((*MockPortalGroupReconciler)(nil).ReconcilePortalGroup), obj) +} + +// MockPortalGroupDeletionReconciler is a mock of PortalGroupDeletionReconciler interface. +type MockPortalGroupDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockPortalGroupDeletionReconcilerMockRecorder +} + +// MockPortalGroupDeletionReconcilerMockRecorder is the mock recorder for MockPortalGroupDeletionReconciler. +type MockPortalGroupDeletionReconcilerMockRecorder struct { + mock *MockPortalGroupDeletionReconciler +} + +// NewMockPortalGroupDeletionReconciler creates a new mock instance. +func NewMockPortalGroupDeletionReconciler(ctrl *gomock.Controller) *MockPortalGroupDeletionReconciler { + mock := &MockPortalGroupDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockPortalGroupDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalGroupDeletionReconciler) EXPECT() *MockPortalGroupDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePortalGroupDeletion mocks base method. +func (m *MockPortalGroupDeletionReconciler) ReconcilePortalGroupDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortalGroupDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcilePortalGroupDeletion indicates an expected call of ReconcilePortalGroupDeletion. +func (mr *MockPortalGroupDeletionReconcilerMockRecorder) ReconcilePortalGroupDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortalGroupDeletion", reflect.TypeOf((*MockPortalGroupDeletionReconciler)(nil).ReconcilePortalGroupDeletion), req) +} + +// MockPortalGroupFinalizer is a mock of PortalGroupFinalizer interface. +type MockPortalGroupFinalizer struct { + ctrl *gomock.Controller + recorder *MockPortalGroupFinalizerMockRecorder +} + +// MockPortalGroupFinalizerMockRecorder is the mock recorder for MockPortalGroupFinalizer. +type MockPortalGroupFinalizerMockRecorder struct { + mock *MockPortalGroupFinalizer +} + +// NewMockPortalGroupFinalizer creates a new mock instance. +func NewMockPortalGroupFinalizer(ctrl *gomock.Controller) *MockPortalGroupFinalizer { + mock := &MockPortalGroupFinalizer{ctrl: ctrl} + mock.recorder = &MockPortalGroupFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalGroupFinalizer) EXPECT() *MockPortalGroupFinalizerMockRecorder { + return m.recorder +} + +// FinalizePortalGroup mocks base method. +func (m *MockPortalGroupFinalizer) FinalizePortalGroup(obj *v2.PortalGroup) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizePortalGroup", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizePortalGroup indicates an expected call of FinalizePortalGroup. +func (mr *MockPortalGroupFinalizerMockRecorder) FinalizePortalGroup(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizePortalGroup", reflect.TypeOf((*MockPortalGroupFinalizer)(nil).FinalizePortalGroup), obj) +} + +// PortalGroupFinalizerName mocks base method. +func (m *MockPortalGroupFinalizer) PortalGroupFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PortalGroupFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// PortalGroupFinalizerName indicates an expected call of PortalGroupFinalizerName. +func (mr *MockPortalGroupFinalizerMockRecorder) PortalGroupFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PortalGroupFinalizerName", reflect.TypeOf((*MockPortalGroupFinalizer)(nil).PortalGroupFinalizerName)) +} + +// ReconcilePortalGroup mocks base method. +func (m *MockPortalGroupFinalizer) ReconcilePortalGroup(obj *v2.PortalGroup) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortalGroup", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcilePortalGroup indicates an expected call of ReconcilePortalGroup. +func (mr *MockPortalGroupFinalizerMockRecorder) ReconcilePortalGroup(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortalGroup", reflect.TypeOf((*MockPortalGroupFinalizer)(nil).ReconcilePortalGroup), obj) +} + +// MockPortalGroupReconcileLoop is a mock of PortalGroupReconcileLoop interface. +type MockPortalGroupReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockPortalGroupReconcileLoopMockRecorder +} + +// MockPortalGroupReconcileLoopMockRecorder is the mock recorder for MockPortalGroupReconcileLoop. +type MockPortalGroupReconcileLoopMockRecorder struct { + mock *MockPortalGroupReconcileLoop +} + +// NewMockPortalGroupReconcileLoop creates a new mock instance. +func NewMockPortalGroupReconcileLoop(ctrl *gomock.Controller) *MockPortalGroupReconcileLoop { + mock := &MockPortalGroupReconcileLoop{ctrl: ctrl} + mock.recorder = &MockPortalGroupReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalGroupReconcileLoop) EXPECT() *MockPortalGroupReconcileLoopMockRecorder { + return m.recorder +} + +// RunPortalGroupReconciler mocks base method. +func (m *MockPortalGroupReconcileLoop) RunPortalGroupReconciler(ctx context.Context, rec controller.PortalGroupReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunPortalGroupReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunPortalGroupReconciler indicates an expected call of RunPortalGroupReconciler. +func (mr *MockPortalGroupReconcileLoopMockRecorder) RunPortalGroupReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunPortalGroupReconciler", reflect.TypeOf((*MockPortalGroupReconcileLoop)(nil).RunPortalGroupReconciler), varargs...) +} + +// MockApiProductReconciler is a mock of ApiProductReconciler interface. +type MockApiProductReconciler struct { + ctrl *gomock.Controller + recorder *MockApiProductReconcilerMockRecorder +} + +// MockApiProductReconcilerMockRecorder is the mock recorder for MockApiProductReconciler. +type MockApiProductReconcilerMockRecorder struct { + mock *MockApiProductReconciler +} + +// NewMockApiProductReconciler creates a new mock instance. +func NewMockApiProductReconciler(ctrl *gomock.Controller) *MockApiProductReconciler { + mock := &MockApiProductReconciler{ctrl: ctrl} + mock.recorder = &MockApiProductReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiProductReconciler) EXPECT() *MockApiProductReconcilerMockRecorder { + return m.recorder +} + +// ReconcileApiProduct mocks base method. +func (m *MockApiProductReconciler) ReconcileApiProduct(obj *v2.ApiProduct) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiProduct", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileApiProduct indicates an expected call of ReconcileApiProduct. +func (mr *MockApiProductReconcilerMockRecorder) ReconcileApiProduct(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiProduct", reflect.TypeOf((*MockApiProductReconciler)(nil).ReconcileApiProduct), obj) +} + +// MockApiProductDeletionReconciler is a mock of ApiProductDeletionReconciler interface. +type MockApiProductDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockApiProductDeletionReconcilerMockRecorder +} + +// MockApiProductDeletionReconcilerMockRecorder is the mock recorder for MockApiProductDeletionReconciler. +type MockApiProductDeletionReconcilerMockRecorder struct { + mock *MockApiProductDeletionReconciler +} + +// NewMockApiProductDeletionReconciler creates a new mock instance. +func NewMockApiProductDeletionReconciler(ctrl *gomock.Controller) *MockApiProductDeletionReconciler { + mock := &MockApiProductDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockApiProductDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiProductDeletionReconciler) EXPECT() *MockApiProductDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileApiProductDeletion mocks base method. +func (m *MockApiProductDeletionReconciler) ReconcileApiProductDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiProductDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileApiProductDeletion indicates an expected call of ReconcileApiProductDeletion. +func (mr *MockApiProductDeletionReconcilerMockRecorder) ReconcileApiProductDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiProductDeletion", reflect.TypeOf((*MockApiProductDeletionReconciler)(nil).ReconcileApiProductDeletion), req) +} + +// MockApiProductFinalizer is a mock of ApiProductFinalizer interface. +type MockApiProductFinalizer struct { + ctrl *gomock.Controller + recorder *MockApiProductFinalizerMockRecorder +} + +// MockApiProductFinalizerMockRecorder is the mock recorder for MockApiProductFinalizer. +type MockApiProductFinalizerMockRecorder struct { + mock *MockApiProductFinalizer +} + +// NewMockApiProductFinalizer creates a new mock instance. +func NewMockApiProductFinalizer(ctrl *gomock.Controller) *MockApiProductFinalizer { + mock := &MockApiProductFinalizer{ctrl: ctrl} + mock.recorder = &MockApiProductFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiProductFinalizer) EXPECT() *MockApiProductFinalizerMockRecorder { + return m.recorder +} + +// ApiProductFinalizerName mocks base method. +func (m *MockApiProductFinalizer) ApiProductFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ApiProductFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ApiProductFinalizerName indicates an expected call of ApiProductFinalizerName. +func (mr *MockApiProductFinalizerMockRecorder) ApiProductFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ApiProductFinalizerName", reflect.TypeOf((*MockApiProductFinalizer)(nil).ApiProductFinalizerName)) +} + +// FinalizeApiProduct mocks base method. +func (m *MockApiProductFinalizer) FinalizeApiProduct(obj *v2.ApiProduct) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeApiProduct", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeApiProduct indicates an expected call of FinalizeApiProduct. +func (mr *MockApiProductFinalizerMockRecorder) FinalizeApiProduct(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeApiProduct", reflect.TypeOf((*MockApiProductFinalizer)(nil).FinalizeApiProduct), obj) +} + +// ReconcileApiProduct mocks base method. +func (m *MockApiProductFinalizer) ReconcileApiProduct(obj *v2.ApiProduct) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiProduct", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileApiProduct indicates an expected call of ReconcileApiProduct. +func (mr *MockApiProductFinalizerMockRecorder) ReconcileApiProduct(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiProduct", reflect.TypeOf((*MockApiProductFinalizer)(nil).ReconcileApiProduct), obj) +} + +// MockApiProductReconcileLoop is a mock of ApiProductReconcileLoop interface. +type MockApiProductReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockApiProductReconcileLoopMockRecorder +} + +// MockApiProductReconcileLoopMockRecorder is the mock recorder for MockApiProductReconcileLoop. +type MockApiProductReconcileLoopMockRecorder struct { + mock *MockApiProductReconcileLoop +} + +// NewMockApiProductReconcileLoop creates a new mock instance. +func NewMockApiProductReconcileLoop(ctrl *gomock.Controller) *MockApiProductReconcileLoop { + mock := &MockApiProductReconcileLoop{ctrl: ctrl} + mock.recorder = &MockApiProductReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiProductReconcileLoop) EXPECT() *MockApiProductReconcileLoopMockRecorder { + return m.recorder +} + +// RunApiProductReconciler mocks base method. +func (m *MockApiProductReconcileLoop) RunApiProductReconciler(ctx context.Context, rec controller.ApiProductReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunApiProductReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunApiProductReconciler indicates an expected call of RunApiProductReconciler. +func (mr *MockApiProductReconcileLoopMockRecorder) RunApiProductReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunApiProductReconciler", reflect.TypeOf((*MockApiProductReconcileLoop)(nil).RunApiProductReconciler), varargs...) +} + +// MockApiSchemaDiscoveryReconciler is a mock of ApiSchemaDiscoveryReconciler interface. +type MockApiSchemaDiscoveryReconciler struct { + ctrl *gomock.Controller + recorder *MockApiSchemaDiscoveryReconcilerMockRecorder +} + +// MockApiSchemaDiscoveryReconcilerMockRecorder is the mock recorder for MockApiSchemaDiscoveryReconciler. +type MockApiSchemaDiscoveryReconcilerMockRecorder struct { + mock *MockApiSchemaDiscoveryReconciler +} + +// NewMockApiSchemaDiscoveryReconciler creates a new mock instance. +func NewMockApiSchemaDiscoveryReconciler(ctrl *gomock.Controller) *MockApiSchemaDiscoveryReconciler { + mock := &MockApiSchemaDiscoveryReconciler{ctrl: ctrl} + mock.recorder = &MockApiSchemaDiscoveryReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiSchemaDiscoveryReconciler) EXPECT() *MockApiSchemaDiscoveryReconcilerMockRecorder { + return m.recorder +} + +// ReconcileApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryReconciler) ReconcileApiSchemaDiscovery(obj *v2.ApiSchemaDiscovery) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiSchemaDiscovery", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileApiSchemaDiscovery indicates an expected call of ReconcileApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryReconcilerMockRecorder) ReconcileApiSchemaDiscovery(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryReconciler)(nil).ReconcileApiSchemaDiscovery), obj) +} + +// MockApiSchemaDiscoveryDeletionReconciler is a mock of ApiSchemaDiscoveryDeletionReconciler interface. +type MockApiSchemaDiscoveryDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockApiSchemaDiscoveryDeletionReconcilerMockRecorder +} + +// MockApiSchemaDiscoveryDeletionReconcilerMockRecorder is the mock recorder for MockApiSchemaDiscoveryDeletionReconciler. +type MockApiSchemaDiscoveryDeletionReconcilerMockRecorder struct { + mock *MockApiSchemaDiscoveryDeletionReconciler +} + +// NewMockApiSchemaDiscoveryDeletionReconciler creates a new mock instance. +func NewMockApiSchemaDiscoveryDeletionReconciler(ctrl *gomock.Controller) *MockApiSchemaDiscoveryDeletionReconciler { + mock := &MockApiSchemaDiscoveryDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockApiSchemaDiscoveryDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiSchemaDiscoveryDeletionReconciler) EXPECT() *MockApiSchemaDiscoveryDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileApiSchemaDiscoveryDeletion mocks base method. +func (m *MockApiSchemaDiscoveryDeletionReconciler) ReconcileApiSchemaDiscoveryDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiSchemaDiscoveryDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileApiSchemaDiscoveryDeletion indicates an expected call of ReconcileApiSchemaDiscoveryDeletion. +func (mr *MockApiSchemaDiscoveryDeletionReconcilerMockRecorder) ReconcileApiSchemaDiscoveryDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiSchemaDiscoveryDeletion", reflect.TypeOf((*MockApiSchemaDiscoveryDeletionReconciler)(nil).ReconcileApiSchemaDiscoveryDeletion), req) +} + +// MockApiSchemaDiscoveryFinalizer is a mock of ApiSchemaDiscoveryFinalizer interface. +type MockApiSchemaDiscoveryFinalizer struct { + ctrl *gomock.Controller + recorder *MockApiSchemaDiscoveryFinalizerMockRecorder +} + +// MockApiSchemaDiscoveryFinalizerMockRecorder is the mock recorder for MockApiSchemaDiscoveryFinalizer. +type MockApiSchemaDiscoveryFinalizerMockRecorder struct { + mock *MockApiSchemaDiscoveryFinalizer +} + +// NewMockApiSchemaDiscoveryFinalizer creates a new mock instance. +func NewMockApiSchemaDiscoveryFinalizer(ctrl *gomock.Controller) *MockApiSchemaDiscoveryFinalizer { + mock := &MockApiSchemaDiscoveryFinalizer{ctrl: ctrl} + mock.recorder = &MockApiSchemaDiscoveryFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiSchemaDiscoveryFinalizer) EXPECT() *MockApiSchemaDiscoveryFinalizerMockRecorder { + return m.recorder +} + +// ApiSchemaDiscoveryFinalizerName mocks base method. +func (m *MockApiSchemaDiscoveryFinalizer) ApiSchemaDiscoveryFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ApiSchemaDiscoveryFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ApiSchemaDiscoveryFinalizerName indicates an expected call of ApiSchemaDiscoveryFinalizerName. +func (mr *MockApiSchemaDiscoveryFinalizerMockRecorder) ApiSchemaDiscoveryFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ApiSchemaDiscoveryFinalizerName", reflect.TypeOf((*MockApiSchemaDiscoveryFinalizer)(nil).ApiSchemaDiscoveryFinalizerName)) +} + +// FinalizeApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryFinalizer) FinalizeApiSchemaDiscovery(obj *v2.ApiSchemaDiscovery) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeApiSchemaDiscovery", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeApiSchemaDiscovery indicates an expected call of FinalizeApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryFinalizerMockRecorder) FinalizeApiSchemaDiscovery(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryFinalizer)(nil).FinalizeApiSchemaDiscovery), obj) +} + +// ReconcileApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryFinalizer) ReconcileApiSchemaDiscovery(obj *v2.ApiSchemaDiscovery) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileApiSchemaDiscovery", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileApiSchemaDiscovery indicates an expected call of ReconcileApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryFinalizerMockRecorder) ReconcileApiSchemaDiscovery(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryFinalizer)(nil).ReconcileApiSchemaDiscovery), obj) +} + +// MockApiSchemaDiscoveryReconcileLoop is a mock of ApiSchemaDiscoveryReconcileLoop interface. +type MockApiSchemaDiscoveryReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockApiSchemaDiscoveryReconcileLoopMockRecorder +} + +// MockApiSchemaDiscoveryReconcileLoopMockRecorder is the mock recorder for MockApiSchemaDiscoveryReconcileLoop. +type MockApiSchemaDiscoveryReconcileLoopMockRecorder struct { + mock *MockApiSchemaDiscoveryReconcileLoop +} + +// NewMockApiSchemaDiscoveryReconcileLoop creates a new mock instance. +func NewMockApiSchemaDiscoveryReconcileLoop(ctrl *gomock.Controller) *MockApiSchemaDiscoveryReconcileLoop { + mock := &MockApiSchemaDiscoveryReconcileLoop{ctrl: ctrl} + mock.recorder = &MockApiSchemaDiscoveryReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiSchemaDiscoveryReconcileLoop) EXPECT() *MockApiSchemaDiscoveryReconcileLoopMockRecorder { + return m.recorder +} + +// RunApiSchemaDiscoveryReconciler mocks base method. +func (m *MockApiSchemaDiscoveryReconcileLoop) RunApiSchemaDiscoveryReconciler(ctx context.Context, rec controller.ApiSchemaDiscoveryReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunApiSchemaDiscoveryReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunApiSchemaDiscoveryReconciler indicates an expected call of RunApiSchemaDiscoveryReconciler. +func (mr *MockApiSchemaDiscoveryReconcileLoopMockRecorder) RunApiSchemaDiscoveryReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunApiSchemaDiscoveryReconciler", reflect.TypeOf((*MockApiSchemaDiscoveryReconcileLoop)(nil).RunApiSchemaDiscoveryReconciler), varargs...) +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/controller/multicluster_reconcilers.go b/client-go/apimanagement.gloo.solo.io/v2/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..3d0d23633 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/controller/multicluster_reconcilers.go @@ -0,0 +1,587 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + apimanagement_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the GraphQLStitchedSchema Resource across clusters. +// implemented by the user +type MulticlusterGraphQLStitchedSchemaReconciler interface { + ReconcileGraphQLStitchedSchema(clusterName string, obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) (reconcile.Result, error) +} + +// Reconcile deletion events for the GraphQLStitchedSchema Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterGraphQLStitchedSchemaDeletionReconciler interface { + ReconcileGraphQLStitchedSchemaDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterGraphQLStitchedSchemaReconcilerFuncs struct { + OnReconcileGraphQLStitchedSchema func(clusterName string, obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) (reconcile.Result, error) + OnReconcileGraphQLStitchedSchemaDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterGraphQLStitchedSchemaReconcilerFuncs) ReconcileGraphQLStitchedSchema(clusterName string, obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) (reconcile.Result, error) { + if f.OnReconcileGraphQLStitchedSchema == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileGraphQLStitchedSchema(clusterName, obj) +} + +func (f *MulticlusterGraphQLStitchedSchemaReconcilerFuncs) ReconcileGraphQLStitchedSchemaDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileGraphQLStitchedSchemaDeletion == nil { + return nil + } + return f.OnReconcileGraphQLStitchedSchemaDeletion(clusterName, req) +} + +type MulticlusterGraphQLStitchedSchemaReconcileLoop interface { + // AddMulticlusterGraphQLStitchedSchemaReconciler adds a MulticlusterGraphQLStitchedSchemaReconciler to the MulticlusterGraphQLStitchedSchemaReconcileLoop. + AddMulticlusterGraphQLStitchedSchemaReconciler(ctx context.Context, rec MulticlusterGraphQLStitchedSchemaReconciler, predicates ...predicate.Predicate) +} + +type multiclusterGraphQLStitchedSchemaReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterGraphQLStitchedSchemaReconcileLoop) AddMulticlusterGraphQLStitchedSchemaReconciler(ctx context.Context, rec MulticlusterGraphQLStitchedSchemaReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericGraphQLStitchedSchemaMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterGraphQLStitchedSchemaReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterGraphQLStitchedSchemaReconcileLoop { + return &multiclusterGraphQLStitchedSchemaReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema{}, options)} +} + +type genericGraphQLStitchedSchemaMulticlusterReconciler struct { + reconciler MulticlusterGraphQLStitchedSchemaReconciler +} + +func (g genericGraphQLStitchedSchemaMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterGraphQLStitchedSchemaDeletionReconciler); ok { + return deletionReconciler.ReconcileGraphQLStitchedSchemaDeletion(cluster, req) + } + return nil +} + +func (g genericGraphQLStitchedSchemaMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: GraphQLStitchedSchema handler received event for %T", object) + } + return g.reconciler.ReconcileGraphQLStitchedSchema(cluster, obj) +} + +// Reconcile Upsert events for the GraphQLResolverMap Resource across clusters. +// implemented by the user +type MulticlusterGraphQLResolverMapReconciler interface { + ReconcileGraphQLResolverMap(clusterName string, obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) (reconcile.Result, error) +} + +// Reconcile deletion events for the GraphQLResolverMap Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterGraphQLResolverMapDeletionReconciler interface { + ReconcileGraphQLResolverMapDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterGraphQLResolverMapReconcilerFuncs struct { + OnReconcileGraphQLResolverMap func(clusterName string, obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) (reconcile.Result, error) + OnReconcileGraphQLResolverMapDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterGraphQLResolverMapReconcilerFuncs) ReconcileGraphQLResolverMap(clusterName string, obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) (reconcile.Result, error) { + if f.OnReconcileGraphQLResolverMap == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileGraphQLResolverMap(clusterName, obj) +} + +func (f *MulticlusterGraphQLResolverMapReconcilerFuncs) ReconcileGraphQLResolverMapDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileGraphQLResolverMapDeletion == nil { + return nil + } + return f.OnReconcileGraphQLResolverMapDeletion(clusterName, req) +} + +type MulticlusterGraphQLResolverMapReconcileLoop interface { + // AddMulticlusterGraphQLResolverMapReconciler adds a MulticlusterGraphQLResolverMapReconciler to the MulticlusterGraphQLResolverMapReconcileLoop. + AddMulticlusterGraphQLResolverMapReconciler(ctx context.Context, rec MulticlusterGraphQLResolverMapReconciler, predicates ...predicate.Predicate) +} + +type multiclusterGraphQLResolverMapReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterGraphQLResolverMapReconcileLoop) AddMulticlusterGraphQLResolverMapReconciler(ctx context.Context, rec MulticlusterGraphQLResolverMapReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericGraphQLResolverMapMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterGraphQLResolverMapReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterGraphQLResolverMapReconcileLoop { + return &multiclusterGraphQLResolverMapReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &apimanagement_gloo_solo_io_v2.GraphQLResolverMap{}, options)} +} + +type genericGraphQLResolverMapMulticlusterReconciler struct { + reconciler MulticlusterGraphQLResolverMapReconciler +} + +func (g genericGraphQLResolverMapMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterGraphQLResolverMapDeletionReconciler); ok { + return deletionReconciler.ReconcileGraphQLResolverMapDeletion(cluster, req) + } + return nil +} + +func (g genericGraphQLResolverMapMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: GraphQLResolverMap handler received event for %T", object) + } + return g.reconciler.ReconcileGraphQLResolverMap(cluster, obj) +} + +// Reconcile Upsert events for the GraphQLSchema Resource across clusters. +// implemented by the user +type MulticlusterGraphQLSchemaReconciler interface { + ReconcileGraphQLSchema(clusterName string, obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) (reconcile.Result, error) +} + +// Reconcile deletion events for the GraphQLSchema Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterGraphQLSchemaDeletionReconciler interface { + ReconcileGraphQLSchemaDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterGraphQLSchemaReconcilerFuncs struct { + OnReconcileGraphQLSchema func(clusterName string, obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) (reconcile.Result, error) + OnReconcileGraphQLSchemaDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterGraphQLSchemaReconcilerFuncs) ReconcileGraphQLSchema(clusterName string, obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) (reconcile.Result, error) { + if f.OnReconcileGraphQLSchema == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileGraphQLSchema(clusterName, obj) +} + +func (f *MulticlusterGraphQLSchemaReconcilerFuncs) ReconcileGraphQLSchemaDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileGraphQLSchemaDeletion == nil { + return nil + } + return f.OnReconcileGraphQLSchemaDeletion(clusterName, req) +} + +type MulticlusterGraphQLSchemaReconcileLoop interface { + // AddMulticlusterGraphQLSchemaReconciler adds a MulticlusterGraphQLSchemaReconciler to the MulticlusterGraphQLSchemaReconcileLoop. + AddMulticlusterGraphQLSchemaReconciler(ctx context.Context, rec MulticlusterGraphQLSchemaReconciler, predicates ...predicate.Predicate) +} + +type multiclusterGraphQLSchemaReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterGraphQLSchemaReconcileLoop) AddMulticlusterGraphQLSchemaReconciler(ctx context.Context, rec MulticlusterGraphQLSchemaReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericGraphQLSchemaMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterGraphQLSchemaReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterGraphQLSchemaReconcileLoop { + return &multiclusterGraphQLSchemaReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &apimanagement_gloo_solo_io_v2.GraphQLSchema{}, options)} +} + +type genericGraphQLSchemaMulticlusterReconciler struct { + reconciler MulticlusterGraphQLSchemaReconciler +} + +func (g genericGraphQLSchemaMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterGraphQLSchemaDeletionReconciler); ok { + return deletionReconciler.ReconcileGraphQLSchemaDeletion(cluster, req) + } + return nil +} + +func (g genericGraphQLSchemaMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLSchema) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: GraphQLSchema handler received event for %T", object) + } + return g.reconciler.ReconcileGraphQLSchema(cluster, obj) +} + +// Reconcile Upsert events for the ApiDoc Resource across clusters. +// implemented by the user +type MulticlusterApiDocReconciler interface { + ReconcileApiDoc(clusterName string, obj *apimanagement_gloo_solo_io_v2.ApiDoc) (reconcile.Result, error) +} + +// Reconcile deletion events for the ApiDoc Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterApiDocDeletionReconciler interface { + ReconcileApiDocDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterApiDocReconcilerFuncs struct { + OnReconcileApiDoc func(clusterName string, obj *apimanagement_gloo_solo_io_v2.ApiDoc) (reconcile.Result, error) + OnReconcileApiDocDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterApiDocReconcilerFuncs) ReconcileApiDoc(clusterName string, obj *apimanagement_gloo_solo_io_v2.ApiDoc) (reconcile.Result, error) { + if f.OnReconcileApiDoc == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileApiDoc(clusterName, obj) +} + +func (f *MulticlusterApiDocReconcilerFuncs) ReconcileApiDocDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileApiDocDeletion == nil { + return nil + } + return f.OnReconcileApiDocDeletion(clusterName, req) +} + +type MulticlusterApiDocReconcileLoop interface { + // AddMulticlusterApiDocReconciler adds a MulticlusterApiDocReconciler to the MulticlusterApiDocReconcileLoop. + AddMulticlusterApiDocReconciler(ctx context.Context, rec MulticlusterApiDocReconciler, predicates ...predicate.Predicate) +} + +type multiclusterApiDocReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterApiDocReconcileLoop) AddMulticlusterApiDocReconciler(ctx context.Context, rec MulticlusterApiDocReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericApiDocMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterApiDocReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterApiDocReconcileLoop { + return &multiclusterApiDocReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &apimanagement_gloo_solo_io_v2.ApiDoc{}, options)} +} + +type genericApiDocMulticlusterReconciler struct { + reconciler MulticlusterApiDocReconciler +} + +func (g genericApiDocMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterApiDocDeletionReconciler); ok { + return deletionReconciler.ReconcileApiDocDeletion(cluster, req) + } + return nil +} + +func (g genericApiDocMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiDoc) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ApiDoc handler received event for %T", object) + } + return g.reconciler.ReconcileApiDoc(cluster, obj) +} + +// Reconcile Upsert events for the Portal Resource across clusters. +// implemented by the user +type MulticlusterPortalReconciler interface { + ReconcilePortal(clusterName string, obj *apimanagement_gloo_solo_io_v2.Portal) (reconcile.Result, error) +} + +// Reconcile deletion events for the Portal Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterPortalDeletionReconciler interface { + ReconcilePortalDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterPortalReconcilerFuncs struct { + OnReconcilePortal func(clusterName string, obj *apimanagement_gloo_solo_io_v2.Portal) (reconcile.Result, error) + OnReconcilePortalDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterPortalReconcilerFuncs) ReconcilePortal(clusterName string, obj *apimanagement_gloo_solo_io_v2.Portal) (reconcile.Result, error) { + if f.OnReconcilePortal == nil { + return reconcile.Result{}, nil + } + return f.OnReconcilePortal(clusterName, obj) +} + +func (f *MulticlusterPortalReconcilerFuncs) ReconcilePortalDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcilePortalDeletion == nil { + return nil + } + return f.OnReconcilePortalDeletion(clusterName, req) +} + +type MulticlusterPortalReconcileLoop interface { + // AddMulticlusterPortalReconciler adds a MulticlusterPortalReconciler to the MulticlusterPortalReconcileLoop. + AddMulticlusterPortalReconciler(ctx context.Context, rec MulticlusterPortalReconciler, predicates ...predicate.Predicate) +} + +type multiclusterPortalReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterPortalReconcileLoop) AddMulticlusterPortalReconciler(ctx context.Context, rec MulticlusterPortalReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericPortalMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterPortalReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterPortalReconcileLoop { + return &multiclusterPortalReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &apimanagement_gloo_solo_io_v2.Portal{}, options)} +} + +type genericPortalMulticlusterReconciler struct { + reconciler MulticlusterPortalReconciler +} + +func (g genericPortalMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterPortalDeletionReconciler); ok { + return deletionReconciler.ReconcilePortalDeletion(cluster, req) + } + return nil +} + +func (g genericPortalMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.Portal) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: Portal handler received event for %T", object) + } + return g.reconciler.ReconcilePortal(cluster, obj) +} + +// Reconcile Upsert events for the PortalGroup Resource across clusters. +// implemented by the user +type MulticlusterPortalGroupReconciler interface { + ReconcilePortalGroup(clusterName string, obj *apimanagement_gloo_solo_io_v2.PortalGroup) (reconcile.Result, error) +} + +// Reconcile deletion events for the PortalGroup Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterPortalGroupDeletionReconciler interface { + ReconcilePortalGroupDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterPortalGroupReconcilerFuncs struct { + OnReconcilePortalGroup func(clusterName string, obj *apimanagement_gloo_solo_io_v2.PortalGroup) (reconcile.Result, error) + OnReconcilePortalGroupDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterPortalGroupReconcilerFuncs) ReconcilePortalGroup(clusterName string, obj *apimanagement_gloo_solo_io_v2.PortalGroup) (reconcile.Result, error) { + if f.OnReconcilePortalGroup == nil { + return reconcile.Result{}, nil + } + return f.OnReconcilePortalGroup(clusterName, obj) +} + +func (f *MulticlusterPortalGroupReconcilerFuncs) ReconcilePortalGroupDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcilePortalGroupDeletion == nil { + return nil + } + return f.OnReconcilePortalGroupDeletion(clusterName, req) +} + +type MulticlusterPortalGroupReconcileLoop interface { + // AddMulticlusterPortalGroupReconciler adds a MulticlusterPortalGroupReconciler to the MulticlusterPortalGroupReconcileLoop. + AddMulticlusterPortalGroupReconciler(ctx context.Context, rec MulticlusterPortalGroupReconciler, predicates ...predicate.Predicate) +} + +type multiclusterPortalGroupReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterPortalGroupReconcileLoop) AddMulticlusterPortalGroupReconciler(ctx context.Context, rec MulticlusterPortalGroupReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericPortalGroupMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterPortalGroupReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterPortalGroupReconcileLoop { + return &multiclusterPortalGroupReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &apimanagement_gloo_solo_io_v2.PortalGroup{}, options)} +} + +type genericPortalGroupMulticlusterReconciler struct { + reconciler MulticlusterPortalGroupReconciler +} + +func (g genericPortalGroupMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterPortalGroupDeletionReconciler); ok { + return deletionReconciler.ReconcilePortalGroupDeletion(cluster, req) + } + return nil +} + +func (g genericPortalGroupMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.PortalGroup) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: PortalGroup handler received event for %T", object) + } + return g.reconciler.ReconcilePortalGroup(cluster, obj) +} + +// Reconcile Upsert events for the ApiProduct Resource across clusters. +// implemented by the user +type MulticlusterApiProductReconciler interface { + ReconcileApiProduct(clusterName string, obj *apimanagement_gloo_solo_io_v2.ApiProduct) (reconcile.Result, error) +} + +// Reconcile deletion events for the ApiProduct Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterApiProductDeletionReconciler interface { + ReconcileApiProductDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterApiProductReconcilerFuncs struct { + OnReconcileApiProduct func(clusterName string, obj *apimanagement_gloo_solo_io_v2.ApiProduct) (reconcile.Result, error) + OnReconcileApiProductDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterApiProductReconcilerFuncs) ReconcileApiProduct(clusterName string, obj *apimanagement_gloo_solo_io_v2.ApiProduct) (reconcile.Result, error) { + if f.OnReconcileApiProduct == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileApiProduct(clusterName, obj) +} + +func (f *MulticlusterApiProductReconcilerFuncs) ReconcileApiProductDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileApiProductDeletion == nil { + return nil + } + return f.OnReconcileApiProductDeletion(clusterName, req) +} + +type MulticlusterApiProductReconcileLoop interface { + // AddMulticlusterApiProductReconciler adds a MulticlusterApiProductReconciler to the MulticlusterApiProductReconcileLoop. + AddMulticlusterApiProductReconciler(ctx context.Context, rec MulticlusterApiProductReconciler, predicates ...predicate.Predicate) +} + +type multiclusterApiProductReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterApiProductReconcileLoop) AddMulticlusterApiProductReconciler(ctx context.Context, rec MulticlusterApiProductReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericApiProductMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterApiProductReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterApiProductReconcileLoop { + return &multiclusterApiProductReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &apimanagement_gloo_solo_io_v2.ApiProduct{}, options)} +} + +type genericApiProductMulticlusterReconciler struct { + reconciler MulticlusterApiProductReconciler +} + +func (g genericApiProductMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterApiProductDeletionReconciler); ok { + return deletionReconciler.ReconcileApiProductDeletion(cluster, req) + } + return nil +} + +func (g genericApiProductMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiProduct) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ApiProduct handler received event for %T", object) + } + return g.reconciler.ReconcileApiProduct(cluster, obj) +} + +// Reconcile Upsert events for the ApiSchemaDiscovery Resource across clusters. +// implemented by the user +type MulticlusterApiSchemaDiscoveryReconciler interface { + ReconcileApiSchemaDiscovery(clusterName string, obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) (reconcile.Result, error) +} + +// Reconcile deletion events for the ApiSchemaDiscovery Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterApiSchemaDiscoveryDeletionReconciler interface { + ReconcileApiSchemaDiscoveryDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterApiSchemaDiscoveryReconcilerFuncs struct { + OnReconcileApiSchemaDiscovery func(clusterName string, obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) (reconcile.Result, error) + OnReconcileApiSchemaDiscoveryDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterApiSchemaDiscoveryReconcilerFuncs) ReconcileApiSchemaDiscovery(clusterName string, obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) (reconcile.Result, error) { + if f.OnReconcileApiSchemaDiscovery == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileApiSchemaDiscovery(clusterName, obj) +} + +func (f *MulticlusterApiSchemaDiscoveryReconcilerFuncs) ReconcileApiSchemaDiscoveryDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileApiSchemaDiscoveryDeletion == nil { + return nil + } + return f.OnReconcileApiSchemaDiscoveryDeletion(clusterName, req) +} + +type MulticlusterApiSchemaDiscoveryReconcileLoop interface { + // AddMulticlusterApiSchemaDiscoveryReconciler adds a MulticlusterApiSchemaDiscoveryReconciler to the MulticlusterApiSchemaDiscoveryReconcileLoop. + AddMulticlusterApiSchemaDiscoveryReconciler(ctx context.Context, rec MulticlusterApiSchemaDiscoveryReconciler, predicates ...predicate.Predicate) +} + +type multiclusterApiSchemaDiscoveryReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterApiSchemaDiscoveryReconcileLoop) AddMulticlusterApiSchemaDiscoveryReconciler(ctx context.Context, rec MulticlusterApiSchemaDiscoveryReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericApiSchemaDiscoveryMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterApiSchemaDiscoveryReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterApiSchemaDiscoveryReconcileLoop { + return &multiclusterApiSchemaDiscoveryReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery{}, options)} +} + +type genericApiSchemaDiscoveryMulticlusterReconciler struct { + reconciler MulticlusterApiSchemaDiscoveryReconciler +} + +func (g genericApiSchemaDiscoveryMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterApiSchemaDiscoveryDeletionReconciler); ok { + return deletionReconciler.ReconcileApiSchemaDiscoveryDeletion(cluster, req) + } + return nil +} + +func (g genericApiSchemaDiscoveryMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ApiSchemaDiscovery handler received event for %T", object) + } + return g.reconciler.ReconcileApiSchemaDiscovery(cluster, obj) +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/controller/reconcilers.go b/client-go/apimanagement.gloo.solo.io/v2/controller/reconcilers.go new file mode 100644 index 000000000..6934887fa --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/controller/reconcilers.go @@ -0,0 +1,954 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + apimanagement_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the GraphQLStitchedSchema Resource. +// implemented by the user +type GraphQLStitchedSchemaReconciler interface { + ReconcileGraphQLStitchedSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) (reconcile.Result, error) +} + +// Reconcile deletion events for the GraphQLStitchedSchema Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type GraphQLStitchedSchemaDeletionReconciler interface { + ReconcileGraphQLStitchedSchemaDeletion(req reconcile.Request) error +} + +type GraphQLStitchedSchemaReconcilerFuncs struct { + OnReconcileGraphQLStitchedSchema func(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) (reconcile.Result, error) + OnReconcileGraphQLStitchedSchemaDeletion func(req reconcile.Request) error +} + +func (f *GraphQLStitchedSchemaReconcilerFuncs) ReconcileGraphQLStitchedSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) (reconcile.Result, error) { + if f.OnReconcileGraphQLStitchedSchema == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileGraphQLStitchedSchema(obj) +} + +func (f *GraphQLStitchedSchemaReconcilerFuncs) ReconcileGraphQLStitchedSchemaDeletion(req reconcile.Request) error { + if f.OnReconcileGraphQLStitchedSchemaDeletion == nil { + return nil + } + return f.OnReconcileGraphQLStitchedSchemaDeletion(req) +} + +// Reconcile and finalize the GraphQLStitchedSchema Resource +// implemented by the user +type GraphQLStitchedSchemaFinalizer interface { + GraphQLStitchedSchemaReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + GraphQLStitchedSchemaFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeGraphQLStitchedSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) error +} + +type GraphQLStitchedSchemaReconcileLoop interface { + RunGraphQLStitchedSchemaReconciler(ctx context.Context, rec GraphQLStitchedSchemaReconciler, predicates ...predicate.Predicate) error +} + +type graphQLStitchedSchemaReconcileLoop struct { + loop reconcile.Loop +} + +func NewGraphQLStitchedSchemaReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) GraphQLStitchedSchemaReconcileLoop { + return &graphQLStitchedSchemaReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema{}, options), + } +} + +func (c *graphQLStitchedSchemaReconcileLoop) RunGraphQLStitchedSchemaReconciler(ctx context.Context, reconciler GraphQLStitchedSchemaReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericGraphQLStitchedSchemaReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(GraphQLStitchedSchemaFinalizer); ok { + reconcilerWrapper = genericGraphQLStitchedSchemaFinalizer{ + genericGraphQLStitchedSchemaReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericGraphQLStitchedSchemaHandler implements a generic reconcile.Reconciler +type genericGraphQLStitchedSchemaReconciler struct { + reconciler GraphQLStitchedSchemaReconciler +} + +func (r genericGraphQLStitchedSchemaReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: GraphQLStitchedSchema handler received event for %T", object) + } + return r.reconciler.ReconcileGraphQLStitchedSchema(obj) +} + +func (r genericGraphQLStitchedSchemaReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(GraphQLStitchedSchemaDeletionReconciler); ok { + return deletionReconciler.ReconcileGraphQLStitchedSchemaDeletion(request) + } + return nil +} + +// genericGraphQLStitchedSchemaFinalizer implements a generic reconcile.FinalizingReconciler +type genericGraphQLStitchedSchemaFinalizer struct { + genericGraphQLStitchedSchemaReconciler + finalizingReconciler GraphQLStitchedSchemaFinalizer +} + +func (r genericGraphQLStitchedSchemaFinalizer) FinalizerName() string { + return r.finalizingReconciler.GraphQLStitchedSchemaFinalizerName() +} + +func (r genericGraphQLStitchedSchemaFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) + if !ok { + return errors.Errorf("internal error: GraphQLStitchedSchema handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeGraphQLStitchedSchema(obj) +} + +// Reconcile Upsert events for the GraphQLResolverMap Resource. +// implemented by the user +type GraphQLResolverMapReconciler interface { + ReconcileGraphQLResolverMap(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) (reconcile.Result, error) +} + +// Reconcile deletion events for the GraphQLResolverMap Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type GraphQLResolverMapDeletionReconciler interface { + ReconcileGraphQLResolverMapDeletion(req reconcile.Request) error +} + +type GraphQLResolverMapReconcilerFuncs struct { + OnReconcileGraphQLResolverMap func(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) (reconcile.Result, error) + OnReconcileGraphQLResolverMapDeletion func(req reconcile.Request) error +} + +func (f *GraphQLResolverMapReconcilerFuncs) ReconcileGraphQLResolverMap(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) (reconcile.Result, error) { + if f.OnReconcileGraphQLResolverMap == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileGraphQLResolverMap(obj) +} + +func (f *GraphQLResolverMapReconcilerFuncs) ReconcileGraphQLResolverMapDeletion(req reconcile.Request) error { + if f.OnReconcileGraphQLResolverMapDeletion == nil { + return nil + } + return f.OnReconcileGraphQLResolverMapDeletion(req) +} + +// Reconcile and finalize the GraphQLResolverMap Resource +// implemented by the user +type GraphQLResolverMapFinalizer interface { + GraphQLResolverMapReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + GraphQLResolverMapFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeGraphQLResolverMap(obj *apimanagement_gloo_solo_io_v2.GraphQLResolverMap) error +} + +type GraphQLResolverMapReconcileLoop interface { + RunGraphQLResolverMapReconciler(ctx context.Context, rec GraphQLResolverMapReconciler, predicates ...predicate.Predicate) error +} + +type graphQLResolverMapReconcileLoop struct { + loop reconcile.Loop +} + +func NewGraphQLResolverMapReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) GraphQLResolverMapReconcileLoop { + return &graphQLResolverMapReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &apimanagement_gloo_solo_io_v2.GraphQLResolverMap{}, options), + } +} + +func (c *graphQLResolverMapReconcileLoop) RunGraphQLResolverMapReconciler(ctx context.Context, reconciler GraphQLResolverMapReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericGraphQLResolverMapReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(GraphQLResolverMapFinalizer); ok { + reconcilerWrapper = genericGraphQLResolverMapFinalizer{ + genericGraphQLResolverMapReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericGraphQLResolverMapHandler implements a generic reconcile.Reconciler +type genericGraphQLResolverMapReconciler struct { + reconciler GraphQLResolverMapReconciler +} + +func (r genericGraphQLResolverMapReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: GraphQLResolverMap handler received event for %T", object) + } + return r.reconciler.ReconcileGraphQLResolverMap(obj) +} + +func (r genericGraphQLResolverMapReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(GraphQLResolverMapDeletionReconciler); ok { + return deletionReconciler.ReconcileGraphQLResolverMapDeletion(request) + } + return nil +} + +// genericGraphQLResolverMapFinalizer implements a generic reconcile.FinalizingReconciler +type genericGraphQLResolverMapFinalizer struct { + genericGraphQLResolverMapReconciler + finalizingReconciler GraphQLResolverMapFinalizer +} + +func (r genericGraphQLResolverMapFinalizer) FinalizerName() string { + return r.finalizingReconciler.GraphQLResolverMapFinalizerName() +} + +func (r genericGraphQLResolverMapFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) + if !ok { + return errors.Errorf("internal error: GraphQLResolverMap handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeGraphQLResolverMap(obj) +} + +// Reconcile Upsert events for the GraphQLSchema Resource. +// implemented by the user +type GraphQLSchemaReconciler interface { + ReconcileGraphQLSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) (reconcile.Result, error) +} + +// Reconcile deletion events for the GraphQLSchema Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type GraphQLSchemaDeletionReconciler interface { + ReconcileGraphQLSchemaDeletion(req reconcile.Request) error +} + +type GraphQLSchemaReconcilerFuncs struct { + OnReconcileGraphQLSchema func(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) (reconcile.Result, error) + OnReconcileGraphQLSchemaDeletion func(req reconcile.Request) error +} + +func (f *GraphQLSchemaReconcilerFuncs) ReconcileGraphQLSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) (reconcile.Result, error) { + if f.OnReconcileGraphQLSchema == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileGraphQLSchema(obj) +} + +func (f *GraphQLSchemaReconcilerFuncs) ReconcileGraphQLSchemaDeletion(req reconcile.Request) error { + if f.OnReconcileGraphQLSchemaDeletion == nil { + return nil + } + return f.OnReconcileGraphQLSchemaDeletion(req) +} + +// Reconcile and finalize the GraphQLSchema Resource +// implemented by the user +type GraphQLSchemaFinalizer interface { + GraphQLSchemaReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + GraphQLSchemaFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeGraphQLSchema(obj *apimanagement_gloo_solo_io_v2.GraphQLSchema) error +} + +type GraphQLSchemaReconcileLoop interface { + RunGraphQLSchemaReconciler(ctx context.Context, rec GraphQLSchemaReconciler, predicates ...predicate.Predicate) error +} + +type graphQLSchemaReconcileLoop struct { + loop reconcile.Loop +} + +func NewGraphQLSchemaReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) GraphQLSchemaReconcileLoop { + return &graphQLSchemaReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &apimanagement_gloo_solo_io_v2.GraphQLSchema{}, options), + } +} + +func (c *graphQLSchemaReconcileLoop) RunGraphQLSchemaReconciler(ctx context.Context, reconciler GraphQLSchemaReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericGraphQLSchemaReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(GraphQLSchemaFinalizer); ok { + reconcilerWrapper = genericGraphQLSchemaFinalizer{ + genericGraphQLSchemaReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericGraphQLSchemaHandler implements a generic reconcile.Reconciler +type genericGraphQLSchemaReconciler struct { + reconciler GraphQLSchemaReconciler +} + +func (r genericGraphQLSchemaReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLSchema) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: GraphQLSchema handler received event for %T", object) + } + return r.reconciler.ReconcileGraphQLSchema(obj) +} + +func (r genericGraphQLSchemaReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(GraphQLSchemaDeletionReconciler); ok { + return deletionReconciler.ReconcileGraphQLSchemaDeletion(request) + } + return nil +} + +// genericGraphQLSchemaFinalizer implements a generic reconcile.FinalizingReconciler +type genericGraphQLSchemaFinalizer struct { + genericGraphQLSchemaReconciler + finalizingReconciler GraphQLSchemaFinalizer +} + +func (r genericGraphQLSchemaFinalizer) FinalizerName() string { + return r.finalizingReconciler.GraphQLSchemaFinalizerName() +} + +func (r genericGraphQLSchemaFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.GraphQLSchema) + if !ok { + return errors.Errorf("internal error: GraphQLSchema handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeGraphQLSchema(obj) +} + +// Reconcile Upsert events for the ApiDoc Resource. +// implemented by the user +type ApiDocReconciler interface { + ReconcileApiDoc(obj *apimanagement_gloo_solo_io_v2.ApiDoc) (reconcile.Result, error) +} + +// Reconcile deletion events for the ApiDoc Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ApiDocDeletionReconciler interface { + ReconcileApiDocDeletion(req reconcile.Request) error +} + +type ApiDocReconcilerFuncs struct { + OnReconcileApiDoc func(obj *apimanagement_gloo_solo_io_v2.ApiDoc) (reconcile.Result, error) + OnReconcileApiDocDeletion func(req reconcile.Request) error +} + +func (f *ApiDocReconcilerFuncs) ReconcileApiDoc(obj *apimanagement_gloo_solo_io_v2.ApiDoc) (reconcile.Result, error) { + if f.OnReconcileApiDoc == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileApiDoc(obj) +} + +func (f *ApiDocReconcilerFuncs) ReconcileApiDocDeletion(req reconcile.Request) error { + if f.OnReconcileApiDocDeletion == nil { + return nil + } + return f.OnReconcileApiDocDeletion(req) +} + +// Reconcile and finalize the ApiDoc Resource +// implemented by the user +type ApiDocFinalizer interface { + ApiDocReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ApiDocFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeApiDoc(obj *apimanagement_gloo_solo_io_v2.ApiDoc) error +} + +type ApiDocReconcileLoop interface { + RunApiDocReconciler(ctx context.Context, rec ApiDocReconciler, predicates ...predicate.Predicate) error +} + +type apiDocReconcileLoop struct { + loop reconcile.Loop +} + +func NewApiDocReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ApiDocReconcileLoop { + return &apiDocReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &apimanagement_gloo_solo_io_v2.ApiDoc{}, options), + } +} + +func (c *apiDocReconcileLoop) RunApiDocReconciler(ctx context.Context, reconciler ApiDocReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericApiDocReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ApiDocFinalizer); ok { + reconcilerWrapper = genericApiDocFinalizer{ + genericApiDocReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericApiDocHandler implements a generic reconcile.Reconciler +type genericApiDocReconciler struct { + reconciler ApiDocReconciler +} + +func (r genericApiDocReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiDoc) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ApiDoc handler received event for %T", object) + } + return r.reconciler.ReconcileApiDoc(obj) +} + +func (r genericApiDocReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ApiDocDeletionReconciler); ok { + return deletionReconciler.ReconcileApiDocDeletion(request) + } + return nil +} + +// genericApiDocFinalizer implements a generic reconcile.FinalizingReconciler +type genericApiDocFinalizer struct { + genericApiDocReconciler + finalizingReconciler ApiDocFinalizer +} + +func (r genericApiDocFinalizer) FinalizerName() string { + return r.finalizingReconciler.ApiDocFinalizerName() +} + +func (r genericApiDocFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiDoc) + if !ok { + return errors.Errorf("internal error: ApiDoc handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeApiDoc(obj) +} + +// Reconcile Upsert events for the Portal Resource. +// implemented by the user +type PortalReconciler interface { + ReconcilePortal(obj *apimanagement_gloo_solo_io_v2.Portal) (reconcile.Result, error) +} + +// Reconcile deletion events for the Portal Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type PortalDeletionReconciler interface { + ReconcilePortalDeletion(req reconcile.Request) error +} + +type PortalReconcilerFuncs struct { + OnReconcilePortal func(obj *apimanagement_gloo_solo_io_v2.Portal) (reconcile.Result, error) + OnReconcilePortalDeletion func(req reconcile.Request) error +} + +func (f *PortalReconcilerFuncs) ReconcilePortal(obj *apimanagement_gloo_solo_io_v2.Portal) (reconcile.Result, error) { + if f.OnReconcilePortal == nil { + return reconcile.Result{}, nil + } + return f.OnReconcilePortal(obj) +} + +func (f *PortalReconcilerFuncs) ReconcilePortalDeletion(req reconcile.Request) error { + if f.OnReconcilePortalDeletion == nil { + return nil + } + return f.OnReconcilePortalDeletion(req) +} + +// Reconcile and finalize the Portal Resource +// implemented by the user +type PortalFinalizer interface { + PortalReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + PortalFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizePortal(obj *apimanagement_gloo_solo_io_v2.Portal) error +} + +type PortalReconcileLoop interface { + RunPortalReconciler(ctx context.Context, rec PortalReconciler, predicates ...predicate.Predicate) error +} + +type portalReconcileLoop struct { + loop reconcile.Loop +} + +func NewPortalReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) PortalReconcileLoop { + return &portalReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &apimanagement_gloo_solo_io_v2.Portal{}, options), + } +} + +func (c *portalReconcileLoop) RunPortalReconciler(ctx context.Context, reconciler PortalReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericPortalReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(PortalFinalizer); ok { + reconcilerWrapper = genericPortalFinalizer{ + genericPortalReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericPortalHandler implements a generic reconcile.Reconciler +type genericPortalReconciler struct { + reconciler PortalReconciler +} + +func (r genericPortalReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.Portal) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: Portal handler received event for %T", object) + } + return r.reconciler.ReconcilePortal(obj) +} + +func (r genericPortalReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(PortalDeletionReconciler); ok { + return deletionReconciler.ReconcilePortalDeletion(request) + } + return nil +} + +// genericPortalFinalizer implements a generic reconcile.FinalizingReconciler +type genericPortalFinalizer struct { + genericPortalReconciler + finalizingReconciler PortalFinalizer +} + +func (r genericPortalFinalizer) FinalizerName() string { + return r.finalizingReconciler.PortalFinalizerName() +} + +func (r genericPortalFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.Portal) + if !ok { + return errors.Errorf("internal error: Portal handler received event for %T", object) + } + return r.finalizingReconciler.FinalizePortal(obj) +} + +// Reconcile Upsert events for the PortalGroup Resource. +// implemented by the user +type PortalGroupReconciler interface { + ReconcilePortalGroup(obj *apimanagement_gloo_solo_io_v2.PortalGroup) (reconcile.Result, error) +} + +// Reconcile deletion events for the PortalGroup Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type PortalGroupDeletionReconciler interface { + ReconcilePortalGroupDeletion(req reconcile.Request) error +} + +type PortalGroupReconcilerFuncs struct { + OnReconcilePortalGroup func(obj *apimanagement_gloo_solo_io_v2.PortalGroup) (reconcile.Result, error) + OnReconcilePortalGroupDeletion func(req reconcile.Request) error +} + +func (f *PortalGroupReconcilerFuncs) ReconcilePortalGroup(obj *apimanagement_gloo_solo_io_v2.PortalGroup) (reconcile.Result, error) { + if f.OnReconcilePortalGroup == nil { + return reconcile.Result{}, nil + } + return f.OnReconcilePortalGroup(obj) +} + +func (f *PortalGroupReconcilerFuncs) ReconcilePortalGroupDeletion(req reconcile.Request) error { + if f.OnReconcilePortalGroupDeletion == nil { + return nil + } + return f.OnReconcilePortalGroupDeletion(req) +} + +// Reconcile and finalize the PortalGroup Resource +// implemented by the user +type PortalGroupFinalizer interface { + PortalGroupReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + PortalGroupFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizePortalGroup(obj *apimanagement_gloo_solo_io_v2.PortalGroup) error +} + +type PortalGroupReconcileLoop interface { + RunPortalGroupReconciler(ctx context.Context, rec PortalGroupReconciler, predicates ...predicate.Predicate) error +} + +type portalGroupReconcileLoop struct { + loop reconcile.Loop +} + +func NewPortalGroupReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) PortalGroupReconcileLoop { + return &portalGroupReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &apimanagement_gloo_solo_io_v2.PortalGroup{}, options), + } +} + +func (c *portalGroupReconcileLoop) RunPortalGroupReconciler(ctx context.Context, reconciler PortalGroupReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericPortalGroupReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(PortalGroupFinalizer); ok { + reconcilerWrapper = genericPortalGroupFinalizer{ + genericPortalGroupReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericPortalGroupHandler implements a generic reconcile.Reconciler +type genericPortalGroupReconciler struct { + reconciler PortalGroupReconciler +} + +func (r genericPortalGroupReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.PortalGroup) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: PortalGroup handler received event for %T", object) + } + return r.reconciler.ReconcilePortalGroup(obj) +} + +func (r genericPortalGroupReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(PortalGroupDeletionReconciler); ok { + return deletionReconciler.ReconcilePortalGroupDeletion(request) + } + return nil +} + +// genericPortalGroupFinalizer implements a generic reconcile.FinalizingReconciler +type genericPortalGroupFinalizer struct { + genericPortalGroupReconciler + finalizingReconciler PortalGroupFinalizer +} + +func (r genericPortalGroupFinalizer) FinalizerName() string { + return r.finalizingReconciler.PortalGroupFinalizerName() +} + +func (r genericPortalGroupFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.PortalGroup) + if !ok { + return errors.Errorf("internal error: PortalGroup handler received event for %T", object) + } + return r.finalizingReconciler.FinalizePortalGroup(obj) +} + +// Reconcile Upsert events for the ApiProduct Resource. +// implemented by the user +type ApiProductReconciler interface { + ReconcileApiProduct(obj *apimanagement_gloo_solo_io_v2.ApiProduct) (reconcile.Result, error) +} + +// Reconcile deletion events for the ApiProduct Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ApiProductDeletionReconciler interface { + ReconcileApiProductDeletion(req reconcile.Request) error +} + +type ApiProductReconcilerFuncs struct { + OnReconcileApiProduct func(obj *apimanagement_gloo_solo_io_v2.ApiProduct) (reconcile.Result, error) + OnReconcileApiProductDeletion func(req reconcile.Request) error +} + +func (f *ApiProductReconcilerFuncs) ReconcileApiProduct(obj *apimanagement_gloo_solo_io_v2.ApiProduct) (reconcile.Result, error) { + if f.OnReconcileApiProduct == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileApiProduct(obj) +} + +func (f *ApiProductReconcilerFuncs) ReconcileApiProductDeletion(req reconcile.Request) error { + if f.OnReconcileApiProductDeletion == nil { + return nil + } + return f.OnReconcileApiProductDeletion(req) +} + +// Reconcile and finalize the ApiProduct Resource +// implemented by the user +type ApiProductFinalizer interface { + ApiProductReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ApiProductFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeApiProduct(obj *apimanagement_gloo_solo_io_v2.ApiProduct) error +} + +type ApiProductReconcileLoop interface { + RunApiProductReconciler(ctx context.Context, rec ApiProductReconciler, predicates ...predicate.Predicate) error +} + +type apiProductReconcileLoop struct { + loop reconcile.Loop +} + +func NewApiProductReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ApiProductReconcileLoop { + return &apiProductReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &apimanagement_gloo_solo_io_v2.ApiProduct{}, options), + } +} + +func (c *apiProductReconcileLoop) RunApiProductReconciler(ctx context.Context, reconciler ApiProductReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericApiProductReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ApiProductFinalizer); ok { + reconcilerWrapper = genericApiProductFinalizer{ + genericApiProductReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericApiProductHandler implements a generic reconcile.Reconciler +type genericApiProductReconciler struct { + reconciler ApiProductReconciler +} + +func (r genericApiProductReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiProduct) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ApiProduct handler received event for %T", object) + } + return r.reconciler.ReconcileApiProduct(obj) +} + +func (r genericApiProductReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ApiProductDeletionReconciler); ok { + return deletionReconciler.ReconcileApiProductDeletion(request) + } + return nil +} + +// genericApiProductFinalizer implements a generic reconcile.FinalizingReconciler +type genericApiProductFinalizer struct { + genericApiProductReconciler + finalizingReconciler ApiProductFinalizer +} + +func (r genericApiProductFinalizer) FinalizerName() string { + return r.finalizingReconciler.ApiProductFinalizerName() +} + +func (r genericApiProductFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiProduct) + if !ok { + return errors.Errorf("internal error: ApiProduct handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeApiProduct(obj) +} + +// Reconcile Upsert events for the ApiSchemaDiscovery Resource. +// implemented by the user +type ApiSchemaDiscoveryReconciler interface { + ReconcileApiSchemaDiscovery(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) (reconcile.Result, error) +} + +// Reconcile deletion events for the ApiSchemaDiscovery Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ApiSchemaDiscoveryDeletionReconciler interface { + ReconcileApiSchemaDiscoveryDeletion(req reconcile.Request) error +} + +type ApiSchemaDiscoveryReconcilerFuncs struct { + OnReconcileApiSchemaDiscovery func(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) (reconcile.Result, error) + OnReconcileApiSchemaDiscoveryDeletion func(req reconcile.Request) error +} + +func (f *ApiSchemaDiscoveryReconcilerFuncs) ReconcileApiSchemaDiscovery(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) (reconcile.Result, error) { + if f.OnReconcileApiSchemaDiscovery == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileApiSchemaDiscovery(obj) +} + +func (f *ApiSchemaDiscoveryReconcilerFuncs) ReconcileApiSchemaDiscoveryDeletion(req reconcile.Request) error { + if f.OnReconcileApiSchemaDiscoveryDeletion == nil { + return nil + } + return f.OnReconcileApiSchemaDiscoveryDeletion(req) +} + +// Reconcile and finalize the ApiSchemaDiscovery Resource +// implemented by the user +type ApiSchemaDiscoveryFinalizer interface { + ApiSchemaDiscoveryReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ApiSchemaDiscoveryFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeApiSchemaDiscovery(obj *apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) error +} + +type ApiSchemaDiscoveryReconcileLoop interface { + RunApiSchemaDiscoveryReconciler(ctx context.Context, rec ApiSchemaDiscoveryReconciler, predicates ...predicate.Predicate) error +} + +type apiSchemaDiscoveryReconcileLoop struct { + loop reconcile.Loop +} + +func NewApiSchemaDiscoveryReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ApiSchemaDiscoveryReconcileLoop { + return &apiSchemaDiscoveryReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery{}, options), + } +} + +func (c *apiSchemaDiscoveryReconcileLoop) RunApiSchemaDiscoveryReconciler(ctx context.Context, reconciler ApiSchemaDiscoveryReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericApiSchemaDiscoveryReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ApiSchemaDiscoveryFinalizer); ok { + reconcilerWrapper = genericApiSchemaDiscoveryFinalizer{ + genericApiSchemaDiscoveryReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericApiSchemaDiscoveryHandler implements a generic reconcile.Reconciler +type genericApiSchemaDiscoveryReconciler struct { + reconciler ApiSchemaDiscoveryReconciler +} + +func (r genericApiSchemaDiscoveryReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ApiSchemaDiscovery handler received event for %T", object) + } + return r.reconciler.ReconcileApiSchemaDiscovery(obj) +} + +func (r genericApiSchemaDiscoveryReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ApiSchemaDiscoveryDeletionReconciler); ok { + return deletionReconciler.ReconcileApiSchemaDiscoveryDeletion(request) + } + return nil +} + +// genericApiSchemaDiscoveryFinalizer implements a generic reconcile.FinalizingReconciler +type genericApiSchemaDiscoveryFinalizer struct { + genericApiSchemaDiscoveryReconciler + finalizingReconciler ApiSchemaDiscoveryFinalizer +} + +func (r genericApiSchemaDiscoveryFinalizer) FinalizerName() string { + return r.finalizingReconciler.ApiSchemaDiscoveryFinalizerName() +} + +func (r genericApiSchemaDiscoveryFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) + if !ok { + return errors.Errorf("internal error: ApiSchemaDiscovery handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeApiSchemaDiscovery(obj) +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/doc.go b/client-go/apimanagement.gloo.solo.io/v2/doc.go new file mode 100644 index 000000000..fdd26496f --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2 contains API Schema definitions for the apimanagement.gloo.solo.io v2 API group +// +k8s:deepcopy-gen=package,register +// +groupName=apimanagement.gloo.solo.io +package v2 diff --git a/client-go/apimanagement.gloo.solo.io/v2/graphql_resolver_map.pb.clone.go b/client-go/apimanagement.gloo.solo.io/v2/graphql_resolver_map.pb.clone.go new file mode 100644 index 000000000..e14bc0772 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/graphql_resolver_map.pb.clone.go @@ -0,0 +1,646 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_resolver_map.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_golang_protobuf_ptypes_empty "github.com/golang/protobuf/ptypes/empty" + + github_com_golang_protobuf_ptypes_struct "github.com/golang/protobuf/ptypes/struct" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *GraphQLResolverMapSpec) Clone() proto.Message { + var target *GraphQLResolverMapSpec + if m == nil { + return target + } + target = &GraphQLResolverMapSpec{} + + if m.GetTypes() != nil { + target.Types = make(map[string]*GraphQLResolverMapSpec_Resolution, len(m.GetTypes())) + for k, v := range m.GetTypes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Types[k] = h.Clone().(*GraphQLResolverMapSpec_Resolution) + } else { + target.Types[k] = proto.Clone(v).(*GraphQLResolverMapSpec_Resolution) + } + + } + } + + if h, ok := interface{}(m.GetExtensions()).(clone.Cloner); ok { + target.Extensions = h.Clone().(*GraphQLResolverMapSpec_ResolverMapExtensions) + } else { + target.Extensions = proto.Clone(m.GetExtensions()).(*GraphQLResolverMapSpec_ResolverMapExtensions) + } + + return target +} + +// Clone function +func (m *VariableTransformation) Clone() proto.Message { + var target *VariableTransformation + if m == nil { + return target + } + target = &VariableTransformation{} + + switch m.Transformation.(type) { + + case *VariableTransformation_Variable: + + target.Transformation = &VariableTransformation_Variable{ + Variable: m.GetVariable(), + } + + case *VariableTransformation_Jq: + + target.Transformation = &VariableTransformation_Jq{ + Jq: m.GetJq(), + } + + case *VariableTransformation_Json: + + if h, ok := interface{}(m.GetJson()).(clone.Cloner); ok { + target.Transformation = &VariableTransformation_Json{ + Json: h.Clone().(*github_com_golang_protobuf_ptypes_struct.Value), + } + } else { + target.Transformation = &VariableTransformation_Json{ + Json: proto.Clone(m.GetJson()).(*github_com_golang_protobuf_ptypes_struct.Value), + } + } + + } + + return target +} + +// Clone function +func (m *Extraction) Clone() proto.Message { + var target *Extraction + if m == nil { + return target + } + target = &Extraction{} + + switch m.ExtractionType.(type) { + + case *Extraction_RequestHeader: + + target.ExtractionType = &Extraction_RequestHeader{ + RequestHeader: m.GetRequestHeader(), + } + + case *Extraction_DynamicMetadata: + + if h, ok := interface{}(m.GetDynamicMetadata()).(clone.Cloner); ok { + target.ExtractionType = &Extraction_DynamicMetadata{ + DynamicMetadata: h.Clone().(*DynamicMetadataExtraction), + } + } else { + target.ExtractionType = &Extraction_DynamicMetadata{ + DynamicMetadata: proto.Clone(m.GetDynamicMetadata()).(*DynamicMetadataExtraction), + } + } + + case *Extraction_GraphqlParent: + + if h, ok := interface{}(m.GetGraphqlParent()).(clone.Cloner); ok { + target.ExtractionType = &Extraction_GraphqlParent{ + GraphqlParent: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.ExtractionType = &Extraction_GraphqlParent{ + GraphqlParent: proto.Clone(m.GetGraphqlParent()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + case *Extraction_GraphqlArg: + + target.ExtractionType = &Extraction_GraphqlArg{ + GraphqlArg: m.GetGraphqlArg(), + } + + case *Extraction_ResolverResult: + + if h, ok := interface{}(m.GetResolverResult()).(clone.Cloner); ok { + target.ExtractionType = &Extraction_ResolverResult{ + ResolverResult: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.ExtractionType = &Extraction_ResolverResult{ + ResolverResult: proto.Clone(m.GetResolverResult()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + case *Extraction_Json: + + if h, ok := interface{}(m.GetJson()).(clone.Cloner); ok { + target.ExtractionType = &Extraction_Json{ + Json: h.Clone().(*github_com_golang_protobuf_ptypes_struct.Value), + } + } else { + target.ExtractionType = &Extraction_Json{ + Json: proto.Clone(m.GetJson()).(*github_com_golang_protobuf_ptypes_struct.Value), + } + } + + } + + return target +} + +// Clone function +func (m *DynamicMetadataExtraction) Clone() proto.Message { + var target *DynamicMetadataExtraction + if m == nil { + return target + } + target = &DynamicMetadataExtraction{} + + target.MetadataNamespace = m.GetMetadataNamespace() + + target.Key = m.GetKey() + + return target +} + +// Clone function +func (m *GraphQLResolverMapStatus) Clone() proto.Message { + var target *GraphQLResolverMapStatus + if m == nil { + return target + } + target = &GraphQLResolverMapStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.OwnedByWorkspace = m.GetOwnedByWorkspace() + + return target +} + +// Clone function +func (m *GraphQLResolverMapReport) Clone() proto.Message { + var target *GraphQLResolverMapReport + if m == nil { + return target + } + target = &GraphQLResolverMapReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + return target +} + +// Clone function +func (m *GraphQLResolverMapSpec_Resolution) Clone() proto.Message { + var target *GraphQLResolverMapSpec_Resolution + if m == nil { + return target + } + target = &GraphQLResolverMapSpec_Resolution{} + + if m.GetFields() != nil { + target.Fields = make(map[string]*GraphQLResolverMapSpec_Resolution_Resolvers, len(m.GetFields())) + for k, v := range m.GetFields() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Fields[k] = h.Clone().(*GraphQLResolverMapSpec_Resolution_Resolvers) + } else { + target.Fields[k] = proto.Clone(v).(*GraphQLResolverMapSpec_Resolution_Resolvers) + } + + } + } + + return target +} + +// Clone function +func (m *GraphQLResolverMapSpec_ResolverMapExtensions) Clone() proto.Message { + var target *GraphQLResolverMapSpec_ResolverMapExtensions + if m == nil { + return target + } + target = &GraphQLResolverMapSpec_ResolverMapExtensions{} + + if h, ok := interface{}(m.GetGrpcSchemaSelector()).(clone.Cloner); ok { + target.GrpcSchemaSelector = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.GrpcSchemaSelector = proto.Clone(m.GetGrpcSchemaSelector()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + return target +} + +// Clone function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers) Clone() proto.Message { + var target *GraphQLResolverMapSpec_Resolution_Resolvers + if m == nil { + return target + } + target = &GraphQLResolverMapSpec_Resolution_Resolvers{} + + if m.GetResolvers() != nil { + target.Resolvers = make([]*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver, len(m.GetResolvers())) + for idx, v := range m.GetResolvers() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Resolvers[idx] = h.Clone().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) + } else { + target.Resolvers[idx] = proto.Clone(v).(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) + } + + } + } + + if m.GetVariables() != nil { + target.Variables = make(map[string]*Extraction, len(m.GetVariables())) + for k, v := range m.GetVariables() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Variables[k] = h.Clone().(*Extraction) + } else { + target.Variables[k] = proto.Clone(v).(*Extraction) + } + + } + } + + if h, ok := interface{}(m.GetStatPrefix()).(clone.Cloner); ok { + target.StatPrefix = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.StatPrefix = proto.Clone(m.GetStatPrefix()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + return target +} + +// Clone function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) Clone() proto.Message { + var target *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver + if m == nil { + return target + } + target = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver{} + + if h, ok := interface{}(m.GetResolverResultTransform()).(clone.Cloner); ok { + target.ResolverResultTransform = h.Clone().(*VariableTransformation) + } else { + target.ResolverResultTransform = proto.Clone(m.GetResolverResultTransform()).(*VariableTransformation) + } + + switch m.Resolver.(type) { + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_: + + if h, ok := interface{}(m.GetRestResolver()).(clone.Cloner); ok { + target.Resolver = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_{ + RestResolver: h.Clone().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver), + } + } else { + target.Resolver = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_{ + RestResolver: proto.Clone(m.GetRestResolver()).(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver), + } + } + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_: + + if h, ok := interface{}(m.GetGrpcResolver()).(clone.Cloner); ok { + target.Resolver = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_{ + GrpcResolver: h.Clone().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver), + } + } else { + target.Resolver = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_{ + GrpcResolver: proto.Clone(m.GetGrpcResolver()).(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver), + } + } + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_: + + if h, ok := interface{}(m.GetMockResolver()).(clone.Cloner); ok { + target.Resolver = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_{ + MockResolver: h.Clone().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver), + } + } else { + target.Resolver = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_{ + MockResolver: proto.Clone(m.GetMockResolver()).(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver), + } + } + + } + + return target +} + +// Clone function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) Clone() proto.Message { + var target *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver + if m == nil { + return target + } + target = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver{} + + if m.GetDestinations() != nil { + target.Destinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetDestinations())) + for idx, v := range m.GetDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Destinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.Destinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + if h, ok := interface{}(m.GetRequest()).(clone.Cloner); ok { + target.Request = h.Clone().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) + } else { + target.Request = proto.Clone(m.GetRequest()).(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) + } + + if m.GetVariables() != nil { + target.Variables = make(map[string]*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable, len(m.GetVariables())) + for k, v := range m.GetVariables() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Variables[k] = h.Clone().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) + } else { + target.Variables[k] = proto.Clone(v).(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) + } + + } + } + + if h, ok := interface{}(m.GetSpanName()).(clone.Cloner); ok { + target.SpanName = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.SpanName = proto.Clone(m.GetSpanName()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + if h, ok := interface{}(m.GetTimeout()).(clone.Cloner); ok { + target.Timeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.Timeout = proto.Clone(m.GetTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + return target +} + +// Clone function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) Clone() proto.Message { + var target *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver + if m == nil { + return target + } + target = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver{} + + if m.GetDestinations() != nil { + target.Destinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetDestinations())) + for idx, v := range m.GetDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Destinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.Destinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + if h, ok := interface{}(m.GetRequest()).(clone.Cloner); ok { + target.Request = h.Clone().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) + } else { + target.Request = proto.Clone(m.GetRequest()).(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) + } + + if h, ok := interface{}(m.GetSpanName()).(clone.Cloner); ok { + target.SpanName = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.SpanName = proto.Clone(m.GetSpanName()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + if h, ok := interface{}(m.GetTimeout()).(clone.Cloner); ok { + target.Timeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.Timeout = proto.Clone(m.GetTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + return target +} + +// Clone function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) Clone() proto.Message { + var target *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver + if m == nil { + return target + } + target = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver{} + + switch m.Response.(type) { + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_SyncResponse: + + if h, ok := interface{}(m.GetSyncResponse()).(clone.Cloner); ok { + target.Response = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_SyncResponse{ + SyncResponse: h.Clone().(*VariableTransformation), + } + } else { + target.Response = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_SyncResponse{ + SyncResponse: proto.Clone(m.GetSyncResponse()).(*VariableTransformation), + } + } + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse_: + + if h, ok := interface{}(m.GetAsyncResponse()).(clone.Cloner); ok { + target.Response = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse_{ + AsyncResponse: h.Clone().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse), + } + } else { + target.Response = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse_{ + AsyncResponse: proto.Clone(m.GetAsyncResponse()).(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse), + } + } + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_ErrorResponse: + + target.Response = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_ErrorResponse{ + ErrorResponse: m.GetErrorResponse(), + } + + } + + return target +} + +// Clone function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) Clone() proto.Message { + var target *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate + if m == nil { + return target + } + target = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate{} + + if m.GetHeaders() != nil { + target.Headers = make(map[string]*VariableTransformation, len(m.GetHeaders())) + for k, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Headers[k] = h.Clone().(*VariableTransformation) + } else { + target.Headers[k] = proto.Clone(v).(*VariableTransformation) + } + + } + } + + if m.GetQueryParams() != nil { + target.QueryParams = make(map[string]*VariableTransformation, len(m.GetQueryParams())) + for k, v := range m.GetQueryParams() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.QueryParams[k] = h.Clone().(*VariableTransformation) + } else { + target.QueryParams[k] = proto.Clone(v).(*VariableTransformation) + } + + } + } + + if h, ok := interface{}(m.GetBody()).(clone.Cloner); ok { + target.Body = h.Clone().(*VariableTransformation) + } else { + target.Body = proto.Clone(m.GetBody()).(*VariableTransformation) + } + + return target +} + +// Clone function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) Clone() proto.Message { + var target *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable + if m == nil { + return target + } + target = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable{} + + switch m.Extraction.(type) { + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_ResponseHeader: + + target.Extraction = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_ResponseHeader{ + ResponseHeader: m.GetResponseHeader(), + } + + } + + return target +} + +// Clone function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) Clone() proto.Message { + var target *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate + if m == nil { + return target + } + target = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate{} + + target.Service = m.GetService() + + target.Method = m.GetMethod() + + if h, ok := interface{}(m.GetOutgoingMessage()).(clone.Cloner); ok { + target.OutgoingMessage = h.Clone().(*VariableTransformation) + } else { + target.OutgoingMessage = proto.Clone(m.GetOutgoingMessage()).(*VariableTransformation) + } + + if m.GetRequestMetadata() != nil { + target.RequestMetadata = make(map[string]string, len(m.GetRequestMetadata())) + for k, v := range m.GetRequestMetadata() { + + target.RequestMetadata[k] = v + + } + } + + if h, ok := interface{}(m.GetAuthority()).(clone.Cloner); ok { + target.Authority = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.Authority = proto.Clone(m.GetAuthority()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + return target +} + +// Clone function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse) Clone() proto.Message { + var target *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse + if m == nil { + return target + } + target = &GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse{} + + if h, ok := interface{}(m.GetDelay()).(clone.Cloner); ok { + target.Delay = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.Delay = proto.Clone(m.GetDelay()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if h, ok := interface{}(m.GetResponse()).(clone.Cloner); ok { + target.Response = h.Clone().(*VariableTransformation) + } else { + target.Response = proto.Clone(m.GetResponse()).(*VariableTransformation) + } + + return target +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/graphql_resolver_map.pb.equal.go b/client-go/apimanagement.gloo.solo.io/v2/graphql_resolver_map.pb.equal.go new file mode 100644 index 000000000..cb8063e7a --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/graphql_resolver_map.pb.equal.go @@ -0,0 +1,1048 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_resolver_map.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *GraphQLResolverMapSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapSpec) + if !ok { + that2, ok := that.(GraphQLResolverMapSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetTypes()) != len(target.GetTypes()) { + return false + } + for k, v := range m.GetTypes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetTypes()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetTypes()[k]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetExtensions()).(equality.Equalizer); ok { + if !h.Equal(target.GetExtensions()) { + return false + } + } else { + if !proto.Equal(m.GetExtensions(), target.GetExtensions()) { + return false + } + } + + return true +} + +// Equal function +func (m *VariableTransformation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VariableTransformation) + if !ok { + that2, ok := that.(VariableTransformation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Transformation.(type) { + + case *VariableTransformation_Variable: + if _, ok := target.Transformation.(*VariableTransformation_Variable); !ok { + return false + } + + if strings.Compare(m.GetVariable(), target.GetVariable()) != 0 { + return false + } + + case *VariableTransformation_Jq: + if _, ok := target.Transformation.(*VariableTransformation_Jq); !ok { + return false + } + + if strings.Compare(m.GetJq(), target.GetJq()) != 0 { + return false + } + + case *VariableTransformation_Json: + if _, ok := target.Transformation.(*VariableTransformation_Json); !ok { + return false + } + + if h, ok := interface{}(m.GetJson()).(equality.Equalizer); ok { + if !h.Equal(target.GetJson()) { + return false + } + } else { + if !proto.Equal(m.GetJson(), target.GetJson()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Transformation != target.Transformation { + return false + } + } + + return true +} + +// Equal function +func (m *Extraction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Extraction) + if !ok { + that2, ok := that.(Extraction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.ExtractionType.(type) { + + case *Extraction_RequestHeader: + if _, ok := target.ExtractionType.(*Extraction_RequestHeader); !ok { + return false + } + + if strings.Compare(m.GetRequestHeader(), target.GetRequestHeader()) != 0 { + return false + } + + case *Extraction_DynamicMetadata: + if _, ok := target.ExtractionType.(*Extraction_DynamicMetadata); !ok { + return false + } + + if h, ok := interface{}(m.GetDynamicMetadata()).(equality.Equalizer); ok { + if !h.Equal(target.GetDynamicMetadata()) { + return false + } + } else { + if !proto.Equal(m.GetDynamicMetadata(), target.GetDynamicMetadata()) { + return false + } + } + + case *Extraction_GraphqlParent: + if _, ok := target.ExtractionType.(*Extraction_GraphqlParent); !ok { + return false + } + + if h, ok := interface{}(m.GetGraphqlParent()).(equality.Equalizer); ok { + if !h.Equal(target.GetGraphqlParent()) { + return false + } + } else { + if !proto.Equal(m.GetGraphqlParent(), target.GetGraphqlParent()) { + return false + } + } + + case *Extraction_GraphqlArg: + if _, ok := target.ExtractionType.(*Extraction_GraphqlArg); !ok { + return false + } + + if strings.Compare(m.GetGraphqlArg(), target.GetGraphqlArg()) != 0 { + return false + } + + case *Extraction_ResolverResult: + if _, ok := target.ExtractionType.(*Extraction_ResolverResult); !ok { + return false + } + + if h, ok := interface{}(m.GetResolverResult()).(equality.Equalizer); ok { + if !h.Equal(target.GetResolverResult()) { + return false + } + } else { + if !proto.Equal(m.GetResolverResult(), target.GetResolverResult()) { + return false + } + } + + case *Extraction_Json: + if _, ok := target.ExtractionType.(*Extraction_Json); !ok { + return false + } + + if h, ok := interface{}(m.GetJson()).(equality.Equalizer); ok { + if !h.Equal(target.GetJson()) { + return false + } + } else { + if !proto.Equal(m.GetJson(), target.GetJson()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ExtractionType != target.ExtractionType { + return false + } + } + + return true +} + +// Equal function +func (m *DynamicMetadataExtraction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DynamicMetadataExtraction) + if !ok { + that2, ok := that.(DynamicMetadataExtraction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetMetadataNamespace(), target.GetMetadataNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapStatus) + if !ok { + that2, ok := that.(GraphQLResolverMapStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if strings.Compare(m.GetOwnedByWorkspace(), target.GetOwnedByWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapReport) + if !ok { + that2, ok := that.(GraphQLResolverMapReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapSpec_Resolution) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapSpec_Resolution) + if !ok { + that2, ok := that.(GraphQLResolverMapSpec_Resolution) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetFields()) != len(target.GetFields()) { + return false + } + for k, v := range m.GetFields() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetFields()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetFields()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapSpec_ResolverMapExtensions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapSpec_ResolverMapExtensions) + if !ok { + that2, ok := that.(GraphQLResolverMapSpec_ResolverMapExtensions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetGrpcSchemaSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetGrpcSchemaSelector()) { + return false + } + } else { + if !proto.Equal(m.GetGrpcSchemaSelector(), target.GetGrpcSchemaSelector()) { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapSpec_Resolution_Resolvers) + if !ok { + that2, ok := that.(GraphQLResolverMapSpec_Resolution_Resolvers) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetResolvers()) != len(target.GetResolvers()) { + return false + } + for idx, v := range m.GetResolvers() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetResolvers()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetResolvers()[idx]) { + return false + } + } + + } + + if len(m.GetVariables()) != len(target.GetVariables()) { + return false + } + for k, v := range m.GetVariables() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetVariables()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetVariables()[k]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetStatPrefix()).(equality.Equalizer); ok { + if !h.Equal(target.GetStatPrefix()) { + return false + } + } else { + if !proto.Equal(m.GetStatPrefix(), target.GetStatPrefix()) { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) + if !ok { + that2, ok := that.(GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetResolverResultTransform()).(equality.Equalizer); ok { + if !h.Equal(target.GetResolverResultTransform()) { + return false + } + } else { + if !proto.Equal(m.GetResolverResultTransform(), target.GetResolverResultTransform()) { + return false + } + } + + switch m.Resolver.(type) { + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_: + if _, ok := target.Resolver.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_); !ok { + return false + } + + if h, ok := interface{}(m.GetRestResolver()).(equality.Equalizer); ok { + if !h.Equal(target.GetRestResolver()) { + return false + } + } else { + if !proto.Equal(m.GetRestResolver(), target.GetRestResolver()) { + return false + } + } + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_: + if _, ok := target.Resolver.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_); !ok { + return false + } + + if h, ok := interface{}(m.GetGrpcResolver()).(equality.Equalizer); ok { + if !h.Equal(target.GetGrpcResolver()) { + return false + } + } else { + if !proto.Equal(m.GetGrpcResolver(), target.GetGrpcResolver()) { + return false + } + } + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_: + if _, ok := target.Resolver.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_); !ok { + return false + } + + if h, ok := interface{}(m.GetMockResolver()).(equality.Equalizer); ok { + if !h.Equal(target.GetMockResolver()) { + return false + } + } else { + if !proto.Equal(m.GetMockResolver(), target.GetMockResolver()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Resolver != target.Resolver { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) + if !ok { + that2, ok := that.(GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetDestinations()) != len(target.GetDestinations()) { + return false + } + for idx, v := range m.GetDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetDestinations()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetRequest()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequest()) { + return false + } + } else { + if !proto.Equal(m.GetRequest(), target.GetRequest()) { + return false + } + } + + if len(m.GetVariables()) != len(target.GetVariables()) { + return false + } + for k, v := range m.GetVariables() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetVariables()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetVariables()[k]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetSpanName()).(equality.Equalizer); ok { + if !h.Equal(target.GetSpanName()) { + return false + } + } else { + if !proto.Equal(m.GetSpanName(), target.GetSpanName()) { + return false + } + } + + if h, ok := interface{}(m.GetTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetTimeout(), target.GetTimeout()) { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) + if !ok { + that2, ok := that.(GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetDestinations()) != len(target.GetDestinations()) { + return false + } + for idx, v := range m.GetDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetDestinations()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetRequest()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequest()) { + return false + } + } else { + if !proto.Equal(m.GetRequest(), target.GetRequest()) { + return false + } + } + + if h, ok := interface{}(m.GetSpanName()).(equality.Equalizer); ok { + if !h.Equal(target.GetSpanName()) { + return false + } + } else { + if !proto.Equal(m.GetSpanName(), target.GetSpanName()) { + return false + } + } + + if h, ok := interface{}(m.GetTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetTimeout(), target.GetTimeout()) { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) + if !ok { + that2, ok := that.(GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Response.(type) { + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_SyncResponse: + if _, ok := target.Response.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_SyncResponse); !ok { + return false + } + + if h, ok := interface{}(m.GetSyncResponse()).(equality.Equalizer); ok { + if !h.Equal(target.GetSyncResponse()) { + return false + } + } else { + if !proto.Equal(m.GetSyncResponse(), target.GetSyncResponse()) { + return false + } + } + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse_: + if _, ok := target.Response.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse_); !ok { + return false + } + + if h, ok := interface{}(m.GetAsyncResponse()).(equality.Equalizer); ok { + if !h.Equal(target.GetAsyncResponse()) { + return false + } + } else { + if !proto.Equal(m.GetAsyncResponse(), target.GetAsyncResponse()) { + return false + } + } + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_ErrorResponse: + if _, ok := target.Response.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_ErrorResponse); !ok { + return false + } + + if strings.Compare(m.GetErrorResponse(), target.GetErrorResponse()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.Response != target.Response { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) + if !ok { + that2, ok := that.(GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetHeaders()) != len(target.GetHeaders()) { + return false + } + for k, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetHeaders()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetHeaders()[k]) { + return false + } + } + + } + + if len(m.GetQueryParams()) != len(target.GetQueryParams()) { + return false + } + for k, v := range m.GetQueryParams() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetQueryParams()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetQueryParams()[k]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetBody()).(equality.Equalizer); ok { + if !h.Equal(target.GetBody()) { + return false + } + } else { + if !proto.Equal(m.GetBody(), target.GetBody()) { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) + if !ok { + that2, ok := that.(GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Extraction.(type) { + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_ResponseHeader: + if _, ok := target.Extraction.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_ResponseHeader); !ok { + return false + } + + if strings.Compare(m.GetResponseHeader(), target.GetResponseHeader()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.Extraction != target.Extraction { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) + if !ok { + that2, ok := that.(GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetService(), target.GetService()) != 0 { + return false + } + + if strings.Compare(m.GetMethod(), target.GetMethod()) != 0 { + return false + } + + if h, ok := interface{}(m.GetOutgoingMessage()).(equality.Equalizer); ok { + if !h.Equal(target.GetOutgoingMessage()) { + return false + } + } else { + if !proto.Equal(m.GetOutgoingMessage(), target.GetOutgoingMessage()) { + return false + } + } + + if len(m.GetRequestMetadata()) != len(target.GetRequestMetadata()) { + return false + } + for k, v := range m.GetRequestMetadata() { + + if strings.Compare(v, target.GetRequestMetadata()[k]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetAuthority()).(equality.Equalizer); ok { + if !h.Equal(target.GetAuthority()) { + return false + } + } else { + if !proto.Equal(m.GetAuthority(), target.GetAuthority()) { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse) + if !ok { + that2, ok := that.(GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetDelay()).(equality.Equalizer); ok { + if !h.Equal(target.GetDelay()) { + return false + } + } else { + if !proto.Equal(m.GetDelay(), target.GetDelay()) { + return false + } + } + + if h, ok := interface{}(m.GetResponse()).(equality.Equalizer); ok { + if !h.Equal(target.GetResponse()) { + return false + } + } else { + if !proto.Equal(m.GetResponse(), target.GetResponse()) { + return false + } + } + + return true +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/graphql_resolver_map.pb.go b/client-go/apimanagement.gloo.solo.io/v2/graphql_resolver_map.pb.go new file mode 100644 index 000000000..bf3c57675 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/graphql_resolver_map.pb.go @@ -0,0 +1,2193 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_resolver_map.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + empty "github.com/golang/protobuf/ptypes/empty" + _struct "github.com/golang/protobuf/ptypes/struct" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + _ "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The GraphQLResolverMap Resource contains a mapping from types to fields to +// resolutions. For example, for a schema with type `Query` and field `GetName` +// ```graphql +// +// type Query { +// GetName: String +// } +// +// ``` +// you can configure a resolver for the `GetName` field as follows: +// ```yaml +// types: +// +// Query: +// fields: +// GetName: +// +// +// ``` +type GraphQLResolverMapSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Map of GraphQL types to field resolutions. + // The key must match the GraphQL type name and is case-sensitive. + // Every field under GraphQL root types (Query, Mutation) must have a resolver defined. + Types map[string]*GraphQLResolverMapSpec_Resolution `protobuf:"bytes,1,rep,name=types,proto3" json:"types,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Extensions that apply to the resolvers in this ResolverMap. + Extensions *GraphQLResolverMapSpec_ResolverMapExtensions `protobuf:"bytes,2,opt,name=extensions,proto3" json:"extensions,omitempty"` +} + +func (x *GraphQLResolverMapSpec) Reset() { + *x = GraphQLResolverMapSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapSpec) ProtoMessage() {} + +func (x *GraphQLResolverMapSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapSpec.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{0} +} + +func (x *GraphQLResolverMapSpec) GetTypes() map[string]*GraphQLResolverMapSpec_Resolution { + if x != nil { + return x.Types + } + return nil +} + +func (x *GraphQLResolverMapSpec) GetExtensions() *GraphQLResolverMapSpec_ResolverMapExtensions { + if x != nil { + return x.Extensions + } + return nil +} + +// Variable transformations are used to take variables that were declared +// and transform them using a transformation. The simplest transformation is the `variable` +// transform, which passes through the value of a single variable. For more complex transforms, +// the `jq` transformation can be used to form more complicated JSON values. +// +// **Using variables**: +// +// Variables that are declared in the `variables` field are available at the top level of the input JSON object to the +// jq filter. +// For example, if the following variables have been declared: +// ```yaml +// variables: +// +// userIdHeader: +// request_header: x-user-id +// resolverResultVar: +// resolver_result: {} +// +// ``` +// then the input object to the `jq` filter would be +// ```json +// +// { +// "userIdHeader": , +// "resolverResultVar": { .. the resolver result .. } +// } +// +// ``` +// +// **Using a jq filter**: +// +// Given the following input object to the `jq` transformation, we can use a filter to transform the values. +// ```json +// +// { +// "userIdHeader": "john_doe123", +// "resolverResultVar": { "data": {"name": "John Doe"} } +// } +// +// ``` +// If the `jq` filter is defined as +// ``` +// "User: " + .userIdHeader + ", Name: " + .resolverResultVar.data.name +// ``` +// the result of the jq transformation would be +// ``` +// "User john_doe123, Name: John Doe" +// ``` +type VariableTransformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Transformations on variable extractions. + // + // Types that are assignable to Transformation: + // + // *VariableTransformation_Variable + // *VariableTransformation_Jq + // *VariableTransformation_Json + Transformation isVariableTransformation_Transformation `protobuf_oneof:"transformation"` +} + +func (x *VariableTransformation) Reset() { + *x = VariableTransformation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VariableTransformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VariableTransformation) ProtoMessage() {} + +func (x *VariableTransformation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VariableTransformation.ProtoReflect.Descriptor instead. +func (*VariableTransformation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{1} +} + +func (m *VariableTransformation) GetTransformation() isVariableTransformation_Transformation { + if m != nil { + return m.Transformation + } + return nil +} + +func (x *VariableTransformation) GetVariable() string { + if x, ok := x.GetTransformation().(*VariableTransformation_Variable); ok { + return x.Variable + } + return "" +} + +func (x *VariableTransformation) GetJq() string { + if x, ok := x.GetTransformation().(*VariableTransformation_Jq); ok { + return x.Jq + } + return "" +} + +func (x *VariableTransformation) GetJson() *_struct.Value { + if x, ok := x.GetTransformation().(*VariableTransformation_Json); ok { + return x.Json + } + return nil +} + +type isVariableTransformation_Transformation interface { + isVariableTransformation_Transformation() +} + +type VariableTransformation_Variable struct { + // The name of a variable declared in the `variables` field. The value of the variable + // is returned with no transformation. + Variable string `protobuf:"bytes,1,opt,name=variable,proto3,oneof"` +} + +type VariableTransformation_Jq struct { + // The [jq](https://stedolan.github.io/jq/manual/) filter which is used to provide a value. + // variables defined in `variables` can be used in the jq filter via regular jq variable syntax. + // For example, a variable named "userIdHeader" can be used in a jq filter as `$userIdHeader` + // Jq filters must only result in one value, or an error will be sent back to the client. + // For example, for the input `[1,2,3]`, the jq filter '.[]' is not a valid jq filter as it results + // in multiple jq results. However, the jq filter '. | join(",")' is valid as it results in one result: "1,2,3". + // Refer to the [jq manual](https://stedolan.github.io/jq/manual/) for jq syntax and tips. + Jq string `protobuf:"bytes,2,opt,name=jq,proto3,oneof"` +} + +type VariableTransformation_Json struct { + // Static JSON value. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + Json *_struct.Value `protobuf:"bytes,3,opt,name=json,proto3,oneof"` +} + +func (*VariableTransformation_Variable) isVariableTransformation_Transformation() {} + +func (*VariableTransformation_Jq) isVariableTransformation_Transformation() {} + +func (*VariableTransformation_Json) isVariableTransformation_Transformation() {} + +// Extractions are used to assign values to variables from various sources of data in the GraphQL +// request or response. This includes HTTP headers, Envoy Dynamic Metadata, or GraphQL query-specific args. +type Extraction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ExtractionType: + // + // *Extraction_RequestHeader + // *Extraction_DynamicMetadata + // *Extraction_GraphqlParent + // *Extraction_GraphqlArg + // *Extraction_ResolverResult + // *Extraction_Json + ExtractionType isExtraction_ExtractionType `protobuf_oneof:"extraction_type"` +} + +func (x *Extraction) Reset() { + *x = Extraction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Extraction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Extraction) ProtoMessage() {} + +func (x *Extraction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Extraction.ProtoReflect.Descriptor instead. +func (*Extraction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{2} +} + +func (m *Extraction) GetExtractionType() isExtraction_ExtractionType { + if m != nil { + return m.ExtractionType + } + return nil +} + +func (x *Extraction) GetRequestHeader() string { + if x, ok := x.GetExtractionType().(*Extraction_RequestHeader); ok { + return x.RequestHeader + } + return "" +} + +func (x *Extraction) GetDynamicMetadata() *DynamicMetadataExtraction { + if x, ok := x.GetExtractionType().(*Extraction_DynamicMetadata); ok { + return x.DynamicMetadata + } + return nil +} + +func (x *Extraction) GetGraphqlParent() *empty.Empty { + if x, ok := x.GetExtractionType().(*Extraction_GraphqlParent); ok { + return x.GraphqlParent + } + return nil +} + +func (x *Extraction) GetGraphqlArg() string { + if x, ok := x.GetExtractionType().(*Extraction_GraphqlArg); ok { + return x.GraphqlArg + } + return "" +} + +func (x *Extraction) GetResolverResult() *empty.Empty { + if x, ok := x.GetExtractionType().(*Extraction_ResolverResult); ok { + return x.ResolverResult + } + return nil +} + +func (x *Extraction) GetJson() *_struct.Value { + if x, ok := x.GetExtractionType().(*Extraction_Json); ok { + return x.Json + } + return nil +} + +type isExtraction_ExtractionType interface { + isExtraction_ExtractionType() +} + +type Extraction_RequestHeader struct { + // Extract the value from the GraphQL HTTP request header. The extracted value is a string. + // If the header doesn't exist, an empty string will be used. + RequestHeader string `protobuf:"bytes,1,opt,name=request_header,json=requestHeader,proto3,oneof"` +} + +type Extraction_DynamicMetadata struct { + // Extract the value from envoy dynamic metadata. The extracted value is an object. + DynamicMetadata *DynamicMetadataExtraction `protobuf:"bytes,2,opt,name=dynamic_metadata,json=dynamicMetadata,proto3,oneof"` +} + +type Extraction_GraphqlParent struct { + // Assigns the variable to the parent object + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + GraphqlParent *empty.Empty `protobuf:"bytes,3,opt,name=graphql_parent,json=graphqlParent,proto3,oneof"` +} + +type Extraction_GraphqlArg struct { + // Assigns the variable to the GraphQL Argument with this name. + // If this name doesn't exist, the variable is `null` + GraphqlArg string `protobuf:"bytes,4,opt,name=graphql_arg,json=graphqlArg,proto3,oneof"` +} + +type Extraction_ResolverResult struct { + // Assigns the variable to the GraphQL resolver result. + // If this Extraction is used in a place where the resolver result is not available, an error + // will be thrown during configuration time. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + ResolverResult *empty.Empty `protobuf:"bytes,5,opt,name=resolver_result,json=resolverResult,proto3,oneof"` +} + +type Extraction_Json struct { + // Assigns the variable to a JSON value specified here + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + Json *_struct.Value `protobuf:"bytes,6,opt,name=json,proto3,oneof"` +} + +func (*Extraction_RequestHeader) isExtraction_ExtractionType() {} + +func (*Extraction_DynamicMetadata) isExtraction_ExtractionType() {} + +func (*Extraction_GraphqlParent) isExtraction_ExtractionType() {} + +func (*Extraction_GraphqlArg) isExtraction_ExtractionType() {} + +func (*Extraction_ResolverResult) isExtraction_ExtractionType() {} + +func (*Extraction_Json) isExtraction_ExtractionType() {} + +type DynamicMetadataExtraction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The envoy dynamic metadata namespace that the data lives in. If the namespace doesn't exist in the + // metadata, the extraction yields null + MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"` + // The key under the envoy dynamic metadata namespace that the data lives under. + // If the key doesn't exist in the namespace, the extraction yields null + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *DynamicMetadataExtraction) Reset() { + *x = DynamicMetadataExtraction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DynamicMetadataExtraction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DynamicMetadataExtraction) ProtoMessage() {} + +func (x *DynamicMetadataExtraction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DynamicMetadataExtraction.ProtoReflect.Descriptor instead. +func (*DynamicMetadataExtraction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{3} +} + +func (x *DynamicMetadataExtraction) GetMetadataNamespace() string { + if x != nil { + return x.MetadataNamespace + } + return "" +} + +func (x *DynamicMetadataExtraction) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +type GraphQLResolverMapStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The name of the workspace that owns the Graphql resolver map. + OwnedByWorkspace string `protobuf:"bytes,4,opt,name=owned_by_workspace,json=ownedByWorkspace,proto3" json:"owned_by_workspace,omitempty"` +} + +func (x *GraphQLResolverMapStatus) Reset() { + *x = GraphQLResolverMapStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapStatus) ProtoMessage() {} + +func (x *GraphQLResolverMapStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapStatus.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{4} +} + +func (x *GraphQLResolverMapStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *GraphQLResolverMapStatus) GetOwnedByWorkspace() string { + if x != nil { + return x.OwnedByWorkspace + } + return "" +} + +type GraphQLResolverMapReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The name of the workspace that owns the Graphql resolver map. + OwnerWorkspace string `protobuf:"bytes,2,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` +} + +func (x *GraphQLResolverMapReport) Reset() { + *x = GraphQLResolverMapReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapReport) ProtoMessage() {} + +func (x *GraphQLResolverMapReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapReport.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{5} +} + +func (x *GraphQLResolverMapReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *GraphQLResolverMapReport) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +type GraphQLResolverMapSpec_Resolution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Map of GraphQL fields for the type to resolutions. + // The key must match the GraphQL field name and is case-sensitive. + // Fields that don't have resolvers will use the GraphQL default resolver, + // which returns the field in the parent object with the same name as the GraphQL field. + Fields map[string]*GraphQLResolverMapSpec_Resolution_Resolvers `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *GraphQLResolverMapSpec_Resolution) Reset() { + *x = GraphQLResolverMapSpec_Resolution{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapSpec_Resolution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapSpec_Resolution) ProtoMessage() {} + +func (x *GraphQLResolverMapSpec_Resolution) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapSpec_Resolution.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapSpec_Resolution) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *GraphQLResolverMapSpec_Resolution) GetFields() map[string]*GraphQLResolverMapSpec_Resolution_Resolvers { + if x != nil { + return x.Fields + } + return nil +} + +type GraphQLResolverMapSpec_ResolverMapExtensions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Selects API Schema objects that describe a gRPC service. + // This is used only in gRPC resolvers that are defined in this resolver map. + // The gRPC resolver uses the protobuf descriptor to create gRPC requests to the upstream gRPC service. + // Any non-gRPC API Schema that is selected here will be ignored. + // gRPC schemas will be checked for validity, as well as package/message conflicts at configuration time and will + // fail loudly if not valid. + GrpcSchemaSelector *v2.ObjectSelector `protobuf:"bytes,1,opt,name=grpc_schema_selector,json=grpcSchemaSelector,proto3" json:"grpc_schema_selector,omitempty"` +} + +func (x *GraphQLResolverMapSpec_ResolverMapExtensions) Reset() { + *x = GraphQLResolverMapSpec_ResolverMapExtensions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapSpec_ResolverMapExtensions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapSpec_ResolverMapExtensions) ProtoMessage() {} + +func (x *GraphQLResolverMapSpec_ResolverMapExtensions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapSpec_ResolverMapExtensions.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapSpec_ResolverMapExtensions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *GraphQLResolverMapSpec_ResolverMapExtensions) GetGrpcSchemaSelector() *v2.ObjectSelector { + if x != nil { + return x.GrpcSchemaSelector + } + return nil +} + +type GraphQLResolverMapSpec_Resolution_Resolvers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of resolvers. + // Currently, only one the first resolver configuration will be respected and a warning will be thrown + // if more than one resolver is in the list. + Resolvers []*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver `protobuf:"bytes,1,rep,name=resolvers,proto3" json:"resolvers,omitempty"` + // Variables that can be used as a part of transformations for this field's resolution. + // The key is the name of the variable, which is directly used in the transformation. + // The value defines where the variable value is extracted from on the GraphQL request. + Variables map[string]*Extraction `protobuf:"bytes,2,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The stats prefix which will be used for this resolver. + // If empty, will generate a stats prefix ${RESOLVER_NAME} + StatPrefix *wrappers.StringValue `protobuf:"bytes,4,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers) Reset() { + *x = GraphQLResolverMapSpec_Resolution_Resolvers{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers) ProtoMessage() {} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapSpec_Resolution_Resolvers.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapSpec_Resolution_Resolvers) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{0, 1, 1} +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers) GetResolvers() []*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver { + if x != nil { + return x.Resolvers + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers) GetVariables() map[string]*Extraction { + if x != nil { + return x.Variables + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers) GetStatPrefix() *wrappers.StringValue { + if x != nil { + return x.StatPrefix + } + return nil +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The resolver to use. + // + // Types that are assignable to Resolver: + // + // *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_ + // *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_ + // *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_ + Resolver isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_Resolver `protobuf_oneof:"resolver"` + // Use a transformation on extracted variables to transform the upstream REST response. + // By default, the transformation is empty and the destination response is left as is before + // being passed into the GraphQL execution engine. + ResolverResultTransform *VariableTransformation `protobuf:"bytes,10,opt,name=resolver_result_transform,json=resolverResultTransform,proto3" json:"resolver_result_transform,omitempty"` +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) Reset() { + *x = GraphQLResolverMapSpec_Resolution_Resolvers_Resolver{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) ProtoMessage() {} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapSpec_Resolution_Resolvers_Resolver.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{0, 1, 1, 1} +} + +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) GetResolver() isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_Resolver { + if m != nil { + return m.Resolver + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) GetRestResolver() *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver { + if x, ok := x.GetResolver().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_); ok { + return x.RestResolver + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) GetGrpcResolver() *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver { + if x, ok := x.GetResolver().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_); ok { + return x.GrpcResolver + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) GetMockResolver() *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver { + if x, ok := x.GetResolver().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_); ok { + return x.MockResolver + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) GetResolverResultTransform() *VariableTransformation { + if x != nil { + return x.ResolverResultTransform + } + return nil +} + +type isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_Resolver interface { + isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_Resolver() +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_ struct { + // Resolves values by making a HTTP/2 request to a HTTP/REST destination. + RestResolver *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver `protobuf:"bytes,3,opt,name=rest_resolver,json=restResolver,proto3,oneof"` +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_ struct { + // Resolves fields by making a gRPC call to a gRPC destination. + GrpcResolver *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver `protobuf:"bytes,2,opt,name=grpc_resolver,json=grpcResolver,proto3,oneof"` +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_ struct { + // Resolves fields via a mocked response that is configured. + MockResolver *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver `protobuf:"bytes,4,opt,name=mock_resolver,json=mockResolver,proto3,oneof"` +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_) isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_Resolver() { +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_) isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_Resolver() { +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_) isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_Resolver() { +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: list of destinations which point to destinations containing + // a RESTful service. Must provide at least one destination. + // + // (Note: only the first destination will be used) + Destinations []*v2.DestinationReference `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"` + // Configuration to template a HTTP request to fetch JSON from a destination REST service. + // This includes configuration such as setting headers dynamically on the HTTP request, configuring query_params, + // and setting the body for the request to the destination. + Request *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` + // Variables that can be used in this field's response transform. + // The key is the name of the variable, which is directly used in the transformation. + // The value defines where the variable value is extracted from on the GraphQL REST response. + Variables map[string]*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable `protobuf:"bytes,3,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The span name for the upstream REST request, used for tracing. + // If empty or omitted, the request span name will be set to the upstream cluster name. + SpanName *wrappers.StringValue `protobuf:"bytes,4,opt,name=span_name,json=spanName,proto3" json:"span_name,omitempty"` + // Set the timeout of the HTTP request to the REST service (default 5s) + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + Timeout *duration.Duration `protobuf:"bytes,5,opt,name=timeout,proto3" json:"timeout,omitempty"` +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) Reset() { + *x = GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) ProtoMessage() {} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{0, 1, 1, 1, 0} +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) GetDestinations() []*v2.DestinationReference { + if x != nil { + return x.Destinations + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) GetRequest() *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate { + if x != nil { + return x.Request + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) GetVariables() map[string]*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable { + if x != nil { + return x.Variables + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) GetSpanName() *wrappers.StringValue { + if x != nil { + return x.SpanName + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) GetTimeout() *duration.Duration { + if x != nil { + return x.Timeout + } + return nil +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: list of destinations which point to destinations containing + // a gRPC service. Must provide at least one destination. + // + // (Note: only the first destination will be used) + Destinations []*v2.DestinationReference `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"` + Request *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` + // The span name for the upstream gRPC request, used for tracing. + // If empty or omitted, the request span name will be set to the upstream cluster name. + SpanName *wrappers.StringValue `protobuf:"bytes,3,opt,name=span_name,json=spanName,proto3" json:"span_name,omitempty"` + // Set the timeout of the HTTP request to the gRPC service (default 5s) + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"` +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) Reset() { + *x = GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) ProtoMessage() {} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{0, 1, 1, 1, 1} +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) GetDestinations() []*v2.DestinationReference { + if x != nil { + return x.Destinations + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) GetRequest() *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate { + if x != nil { + return x.Request + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) GetSpanName() *wrappers.StringValue { + if x != nil { + return x.SpanName + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) GetTimeout() *duration.Duration { + if x != nil { + return x.Timeout + } + return nil +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Response: + // + // *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_SyncResponse + // *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse_ + // *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_ErrorResponse + Response isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_Response `protobuf_oneof:"response"` +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) Reset() { + *x = GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) ProtoMessage() {} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{0, 1, 1, 1, 2} +} + +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) GetResponse() isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_Response { + if m != nil { + return m.Response + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) GetSyncResponse() *VariableTransformation { + if x, ok := x.GetResponse().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_SyncResponse); ok { + return x.SyncResponse + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) GetAsyncResponse() *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse { + if x, ok := x.GetResponse().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse_); ok { + return x.AsyncResponse + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) GetErrorResponse() string { + if x, ok := x.GetResponse().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_ErrorResponse); ok { + return x.ErrorResponse + } + return "" +} + +type isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_Response interface { + isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_Response() +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_SyncResponse struct { + // The response to return for this field. + // The response is a JSON object that can be templated from the `variables` field. + // This response is immediately returned to the GraphQL execution engine. + SyncResponse *VariableTransformation `protobuf:"bytes,1,opt,name=sync_response,json=syncResponse,proto3,oneof"` +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse_ struct { + // The response to return for this field. + // The response is a JSON object that can be templated from the `variables` field. + // This response is returned to the GraphQL execution engine after a delay. + AsyncResponse *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse `protobuf:"bytes,2,opt,name=async_response,json=asyncResponse,proto3,oneof"` +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_ErrorResponse struct { + // An error response to return for this field. + ErrorResponse string `protobuf:"bytes,3,opt,name=error_response,json=errorResponse,proto3,oneof"` +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_SyncResponse) isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_Response() { +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse_) isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_Response() { +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_ErrorResponse) isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_Response() { +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Sets the headers on the request to the REST destination. + // This includes setting HTTP :path header. + // This is a map of HTTP Header name to a transformation which determines the Header value. + // The transformation must result in a string value, or an error will be sent back to the client. + // By default, the :method header is set to GET. If `body` is set, then the :method is POST. This can be overridden + // by setting the :method header manually below. + Headers map[string]*VariableTransformation `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Sets the query parameters on the request to the REST destination. + // The transformation must result in a string value, or an error will be sent back to the client. + QueryParams map[string]*VariableTransformation `protobuf:"bytes,2,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Sets the outgoing body to the upstream REST destination. + // By default, the body is empty. + Body *VariableTransformation `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) Reset() { + *x = GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) ProtoMessage() { +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{0, 1, 1, 1, 0, 1} +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) GetHeaders() map[string]*VariableTransformation { + if x != nil { + return x.Headers + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) GetQueryParams() map[string]*VariableTransformation { + if x != nil { + return x.QueryParams + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) GetBody() *VariableTransformation { + if x != nil { + return x.Body + } + return nil +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Extraction: + // + // *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_ResponseHeader + Extraction isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_Extraction `protobuf_oneof:"extraction"` +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) Reset() { + *x = GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) ProtoMessage() { +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{0, 1, 1, 1, 0, 2} +} + +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) GetExtraction() isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_Extraction { + if m != nil { + return m.Extraction + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) GetResponseHeader() string { + if x, ok := x.GetExtraction().(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_ResponseHeader); ok { + return x.ResponseHeader + } + return "" +} + +type isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_Extraction interface { + isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_Extraction() +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_ResponseHeader struct { + // Only available on resolver result transformations + // Extract the value from the GraphQL HTTP response header. The extracted value is a string. + // If this Extraction is used in a place where response headers are not available, an error + // will be thrown during configuration time. + ResponseHeader string `protobuf:"bytes,1,opt,name=response_header,json=responseHeader,proto3,oneof"` +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_ResponseHeader) isGraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_Extraction() { +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The gRPC service to call. + Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + // The gRPC method to call. + Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` + // The gRPC request body. + // The request body is a JSON object that will be marshalled into the gRPC request. + // The request body can be templated using variables from the `variables` field. + OutgoingMessage *VariableTransformation `protobuf:"bytes,3,opt,name=outgoing_message,json=outgoingMessage,proto3" json:"outgoing_message,omitempty"` + // Static metadata to be added to the gRPC request. + // See https://grpc.io/docs/what-is-grpc/core-concepts/#metadata for more information. + RequestMetadata map[string]string `protobuf:"bytes,4,rep,name=request_metadata,json=requestMetadata,proto3" json:"request_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The :authority header to set on the gRPC request. + // If empty, the outgoing :authority header will be set to "envoy". + // This does not need to be set in most cases. + Authority *wrappers.StringValue `protobuf:"bytes,5,opt,name=authority,proto3" json:"authority,omitempty"` +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) Reset() { + *x = GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) ProtoMessage() { +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{0, 1, 1, 1, 1, 0} +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) GetMethod() string { + if x != nil { + return x.Method + } + return "" +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) GetOutgoingMessage() *VariableTransformation { + if x != nil { + return x.OutgoingMessage + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) GetRequestMetadata() map[string]string { + if x != nil { + return x.RequestMetadata + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) GetAuthority() *wrappers.StringValue { + if x != nil { + return x.Authority + } + return nil +} + +type GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The delay before the response is returned. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + Delay *duration.Duration `protobuf:"bytes,1,opt,name=delay,proto3" json:"delay,omitempty"` + // The response to return. + // The response is a JSON object that can be templated from the `variables` field. + Response *VariableTransformation `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse) Reset() { + *x = GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse) ProtoMessage() { +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse.ProtoReflect.Descriptor instead. +func (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP(), []int{0, 1, 1, 1, 2, 0} +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse) GetDelay() *duration.Duration { + if x != nil { + return x.Delay + } + return nil +} + +func (x *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse) GetResponse() *VariableTransformation { + if x != nil { + return x.Response + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDesc = []byte{ + 0x0a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x71, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x21, 0x0a, + 0x16, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, + 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0a, + 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x48, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x77, 0x0a, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x53, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0xfd, 0x1d, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, + 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, + 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x1a, 0x82, 0x01, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x5d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, + 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x86, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x73, 0x12, 0x6e, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x73, 0x12, 0x74, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, + 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x74, + 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x73, + 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x64, 0x0a, 0x0e, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, + 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0xed, 0x18, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x84, 0x01, 0x0a, + 0x0d, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x72, 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x12, 0x84, 0x01, 0x0a, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x61, 0x70, + 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x47, 0x72, + 0x70, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x72, + 0x70, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x84, 0x01, 0x0a, 0x0d, 0x6d, + 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, + 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x72, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x72, 0x12, 0x6e, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x1a, 0xd4, 0x0a, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x87, 0x01, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x6d, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, + 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x8a, 0x01, 0x0a, 0x09, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x72, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x73, 0x70, 0x61, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0xa9, 0x01, 0x0a, 0x0e, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x80, 0x01, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6a, 0x2e, + 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, + 0x52, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x45, 0x53, + 0x54, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xf8, 0x04, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x94, 0x01, 0x0a, 0x07, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x7a, 0x2e, 0x61, 0x70, 0x69, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, + 0xa1, 0x01, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x7e, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2e, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x12, 0x46, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x1a, 0x6e, 0x0a, 0x0c, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x61, + 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x72, 0x0a, 0x10, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x47, 0x0a, 0x0c, 0x52, 0x45, 0x53, 0x54, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x29, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xad, 0x06, 0x0a, 0x0c, 0x47, 0x72, 0x70, + 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0c, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x87, 0x01, 0x0a, 0x07, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6d, 0x2e, 0x61, 0x70, 0x69, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x47, 0x72, 0x70, + 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x08, 0x73, 0x70, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x1a, 0xd3, 0x03, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x5d, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x67, + 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0xae, 0x01, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x82, 0x01, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, + 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x1a, 0x42, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xc8, 0x03, 0x0a, 0x0c, 0x4d, 0x6f, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x0d, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, 0x01, 0x0a, 0x0e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6b, 0x2e, + 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, + 0x4d, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x41, 0x73, 0x79, + 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x73, + 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x90, 0x01, 0x0a, 0x0d, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x61, 0x70, 0x69, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x1a, + 0x6e, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x14, 0x67, 0x72, 0x70, 0x63, + 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x12, 0x67, 0x72, 0x70, + 0x63, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, + 0x8f, 0x01, 0x0a, 0x16, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x08, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x02, 0x6a, 0x71, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x6a, 0x71, 0x12, 0x33, 0x0a, 0x04, 0x6a, 0x73, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x42, 0x05, 0xea, 0x42, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x42, + 0x10, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x88, 0x03, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x27, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x10, 0x64, 0x79, 0x6e, + 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x79, + 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, + 0x0e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, + 0x0d, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x21, + 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x41, 0x72, + 0x67, 0x12, 0x41, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x20, + 0x01, 0x48, 0x00, 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x65, 0x78, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x5c, 0x0a, 0x19, + 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, + 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x7d, 0x0a, 0x18, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6f, + 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x85, 0x02, 0x0a, 0x18, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x64, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x61, 0x70, 0x69, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x42, 0x5b, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_goTypes = []interface{}{ + (*GraphQLResolverMapSpec)(nil), // 0: apimanagement.gloo.solo.io.GraphQLResolverMapSpec + (*VariableTransformation)(nil), // 1: apimanagement.gloo.solo.io.VariableTransformation + (*Extraction)(nil), // 2: apimanagement.gloo.solo.io.Extraction + (*DynamicMetadataExtraction)(nil), // 3: apimanagement.gloo.solo.io.DynamicMetadataExtraction + (*GraphQLResolverMapStatus)(nil), // 4: apimanagement.gloo.solo.io.GraphQLResolverMapStatus + (*GraphQLResolverMapReport)(nil), // 5: apimanagement.gloo.solo.io.GraphQLResolverMapReport + nil, // 6: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.TypesEntry + (*GraphQLResolverMapSpec_Resolution)(nil), // 7: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution + (*GraphQLResolverMapSpec_ResolverMapExtensions)(nil), // 8: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.ResolverMapExtensions + nil, // 9: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.FieldsEntry + (*GraphQLResolverMapSpec_Resolution_Resolvers)(nil), // 10: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers + nil, // 11: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.VariablesEntry + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver)(nil), // 12: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver)(nil), // 13: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver)(nil), // 14: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver)(nil), // 15: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.MockResolver + nil, // 16: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.VariablesEntry + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate)(nil), // 17: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RequestTemplate + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable)(nil), // 18: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RESTVariable + nil, // 19: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RequestTemplate.HeadersEntry + nil, // 20: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RequestTemplate.QueryParamsEntry + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate)(nil), // 21: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver.RequestTemplate + nil, // 22: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver.RequestTemplate.RequestMetadataEntry + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse)(nil), // 23: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.MockResolver.AsyncResponse + nil, // 24: apimanagement.gloo.solo.io.GraphQLResolverMapReport.WorkspacesEntry + (*_struct.Value)(nil), // 25: google.protobuf.Value + (*empty.Empty)(nil), // 26: google.protobuf.Empty + (*v2.Status)(nil), // 27: common.gloo.solo.io.Status + (*v2.ObjectSelector)(nil), // 28: common.gloo.solo.io.ObjectSelector + (*wrappers.StringValue)(nil), // 29: google.protobuf.StringValue + (*v2.DestinationReference)(nil), // 30: common.gloo.solo.io.DestinationReference + (*duration.Duration)(nil), // 31: google.protobuf.Duration + (*v2.Report)(nil), // 32: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_depIdxs = []int32{ + 6, // 0: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.types:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.TypesEntry + 8, // 1: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.extensions:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.ResolverMapExtensions + 25, // 2: apimanagement.gloo.solo.io.VariableTransformation.json:type_name -> google.protobuf.Value + 3, // 3: apimanagement.gloo.solo.io.Extraction.dynamic_metadata:type_name -> apimanagement.gloo.solo.io.DynamicMetadataExtraction + 26, // 4: apimanagement.gloo.solo.io.Extraction.graphql_parent:type_name -> google.protobuf.Empty + 26, // 5: apimanagement.gloo.solo.io.Extraction.resolver_result:type_name -> google.protobuf.Empty + 25, // 6: apimanagement.gloo.solo.io.Extraction.json:type_name -> google.protobuf.Value + 27, // 7: apimanagement.gloo.solo.io.GraphQLResolverMapStatus.common:type_name -> common.gloo.solo.io.Status + 24, // 8: apimanagement.gloo.solo.io.GraphQLResolverMapReport.workspaces:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapReport.WorkspacesEntry + 7, // 9: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.TypesEntry.value:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution + 9, // 10: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.fields:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.FieldsEntry + 28, // 11: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.ResolverMapExtensions.grpc_schema_selector:type_name -> common.gloo.solo.io.ObjectSelector + 10, // 12: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.FieldsEntry.value:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers + 12, // 13: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.resolvers:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver + 11, // 14: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.variables:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.VariablesEntry + 29, // 15: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.stat_prefix:type_name -> google.protobuf.StringValue + 2, // 16: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.VariablesEntry.value:type_name -> apimanagement.gloo.solo.io.Extraction + 13, // 17: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.rest_resolver:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver + 14, // 18: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.grpc_resolver:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver + 15, // 19: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.mock_resolver:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.MockResolver + 1, // 20: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.resolver_result_transform:type_name -> apimanagement.gloo.solo.io.VariableTransformation + 30, // 21: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.destinations:type_name -> common.gloo.solo.io.DestinationReference + 17, // 22: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.request:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RequestTemplate + 16, // 23: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.variables:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.VariablesEntry + 29, // 24: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.span_name:type_name -> google.protobuf.StringValue + 31, // 25: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.timeout:type_name -> google.protobuf.Duration + 30, // 26: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver.destinations:type_name -> common.gloo.solo.io.DestinationReference + 21, // 27: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver.request:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver.RequestTemplate + 29, // 28: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver.span_name:type_name -> google.protobuf.StringValue + 31, // 29: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver.timeout:type_name -> google.protobuf.Duration + 1, // 30: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.MockResolver.sync_response:type_name -> apimanagement.gloo.solo.io.VariableTransformation + 23, // 31: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.MockResolver.async_response:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.MockResolver.AsyncResponse + 18, // 32: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.VariablesEntry.value:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RESTVariable + 19, // 33: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RequestTemplate.headers:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RequestTemplate.HeadersEntry + 20, // 34: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RequestTemplate.query_params:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RequestTemplate.QueryParamsEntry + 1, // 35: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RequestTemplate.body:type_name -> apimanagement.gloo.solo.io.VariableTransformation + 1, // 36: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RequestTemplate.HeadersEntry.value:type_name -> apimanagement.gloo.solo.io.VariableTransformation + 1, // 37: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.RestResolver.RequestTemplate.QueryParamsEntry.value:type_name -> apimanagement.gloo.solo.io.VariableTransformation + 1, // 38: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver.RequestTemplate.outgoing_message:type_name -> apimanagement.gloo.solo.io.VariableTransformation + 22, // 39: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver.RequestTemplate.request_metadata:type_name -> apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver.RequestTemplate.RequestMetadataEntry + 29, // 40: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.GrpcResolver.RequestTemplate.authority:type_name -> google.protobuf.StringValue + 31, // 41: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.MockResolver.AsyncResponse.delay:type_name -> google.protobuf.Duration + 1, // 42: apimanagement.gloo.solo.io.GraphQLResolverMapSpec.Resolution.Resolvers.Resolver.MockResolver.AsyncResponse.response:type_name -> apimanagement.gloo.solo.io.VariableTransformation + 32, // 43: apimanagement.gloo.solo.io.GraphQLResolverMapReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 44, // [44:44] is the sub-list for method output_type + 44, // [44:44] is the sub-list for method input_type + 44, // [44:44] is the sub-list for extension type_name + 44, // [44:44] is the sub-list for extension extendee + 0, // [0:44] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VariableTransformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Extraction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DynamicMetadataExtraction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapSpec_Resolution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapSpec_ResolverMapExtensions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapSpec_Resolution_Resolvers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*VariableTransformation_Variable)(nil), + (*VariableTransformation_Jq)(nil), + (*VariableTransformation_Json)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*Extraction_RequestHeader)(nil), + (*Extraction_DynamicMetadata)(nil), + (*Extraction_GraphqlParent)(nil), + (*Extraction_GraphqlArg)(nil), + (*Extraction_ResolverResult)(nil), + (*Extraction_Json)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[12].OneofWrappers = []interface{}{ + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_)(nil), + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_)(nil), + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[15].OneofWrappers = []interface{}{ + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_SyncResponse)(nil), + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse_)(nil), + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_ErrorResponse)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes[18].OneofWrappers = []interface{}{ + (*GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_ResponseHeader)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDesc, + NumEnums: 0, + NumMessages: 25, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_depIdxs = nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/graphql_resolver_map.pb.hash.go b/client-go/apimanagement.gloo.solo.io/v2/graphql_resolver_map.pb.hash.go new file mode 100644 index 000000000..4dfd08c27 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/graphql_resolver_map.pb.hash.go @@ -0,0 +1,1286 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_resolver_map.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *GraphQLResolverMapSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapSpec")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetTypes() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetExtensions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Extensions")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetExtensions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Extensions")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *VariableTransformation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.VariableTransformation")); err != nil { + return 0, err + } + + switch m.Transformation.(type) { + + case *VariableTransformation_Variable: + + if _, err = hasher.Write([]byte(m.GetVariable())); err != nil { + return 0, err + } + + case *VariableTransformation_Jq: + + if _, err = hasher.Write([]byte(m.GetJq())); err != nil { + return 0, err + } + + case *VariableTransformation_Json: + + if h, ok := interface{}(m.GetJson()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Json")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetJson(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Json")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Extraction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.Extraction")); err != nil { + return 0, err + } + + switch m.ExtractionType.(type) { + + case *Extraction_RequestHeader: + + if _, err = hasher.Write([]byte(m.GetRequestHeader())); err != nil { + return 0, err + } + + case *Extraction_DynamicMetadata: + + if h, ok := interface{}(m.GetDynamicMetadata()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DynamicMetadata")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDynamicMetadata(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DynamicMetadata")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *Extraction_GraphqlParent: + + if h, ok := interface{}(m.GetGraphqlParent()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("GraphqlParent")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGraphqlParent(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("GraphqlParent")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *Extraction_GraphqlArg: + + if _, err = hasher.Write([]byte(m.GetGraphqlArg())); err != nil { + return 0, err + } + + case *Extraction_ResolverResult: + + if h, ok := interface{}(m.GetResolverResult()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ResolverResult")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResolverResult(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ResolverResult")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *Extraction_Json: + + if h, ok := interface{}(m.GetJson()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Json")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetJson(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Json")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DynamicMetadataExtraction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.DynamicMetadataExtraction")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMetadataNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetOwnedByWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapSpec_Resolution) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapSpec_Resolution")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetFields() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapSpec_ResolverMapExtensions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapSpec_ResolverMapExtensions")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetGrpcSchemaSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("GrpcSchemaSelector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGrpcSchemaSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("GrpcSchemaSelector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapSpec_Resolution_Resolvers")); err != nil { + return 0, err + } + + for _, v := range m.GetResolvers() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetVariables() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetStatPrefix()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("StatPrefix")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetStatPrefix(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("StatPrefix")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapSpec_Resolution_Resolvers_Resolver")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetResolverResultTransform()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ResolverResultTransform")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResolverResultTransform(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ResolverResultTransform")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.Resolver.(type) { + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_: + + if h, ok := interface{}(m.GetRestResolver()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RestResolver")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRestResolver(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RestResolver")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_: + + if h, ok := interface{}(m.GetGrpcResolver()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("GrpcResolver")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGrpcResolver(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("GrpcResolver")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_: + + if h, ok := interface{}(m.GetMockResolver()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MockResolver")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMockResolver(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MockResolver")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver")); err != nil { + return 0, err + } + + for _, v := range m.GetDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetRequest()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequest(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetVariables() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetSpanName()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SpanName")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSpanName(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SpanName")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Timeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Timeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver")); err != nil { + return 0, err + } + + for _, v := range m.GetDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetRequest()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequest(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetSpanName()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SpanName")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSpanName(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SpanName")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Timeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Timeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver")); err != nil { + return 0, err + } + + switch m.Response.(type) { + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_SyncResponse: + + if h, ok := interface{}(m.GetSyncResponse()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SyncResponse")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSyncResponse(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SyncResponse")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse_: + + if h, ok := interface{}(m.GetAsyncResponse()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AsyncResponse")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAsyncResponse(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AsyncResponse")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_ErrorResponse: + + if _, err = hasher.Write([]byte(m.GetErrorResponse())); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RequestTemplate")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetHeaders() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetQueryParams() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetBody()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Body")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetBody(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Body")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable")); err != nil { + return 0, err + } + + switch m.Extraction.(type) { + + case *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_RestResolver_RESTVariable_ResponseHeader: + + if _, err = hasher.Write([]byte(m.GetResponseHeader())); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_GrpcResolver_RequestTemplate")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetService())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMethod())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetOutgoingMessage()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("OutgoingMessage")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOutgoingMessage(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("OutgoingMessage")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetRequestMetadata() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetAuthority()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Authority")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAuthority(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Authority")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLResolverMapSpec_Resolution_Resolvers_Resolver_MockResolver_AsyncResponse")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetDelay()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Delay")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDelay(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Delay")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetResponse()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Response")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResponse(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Response")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/graphql_schema.pb.clone.go b/client-go/apimanagement.gloo.solo.io/v2/graphql_schema.pb.clone.go new file mode 100644 index 000000000..7175dd85e --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/graphql_schema.pb.clone.go @@ -0,0 +1,310 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_schema.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_golang_protobuf_ptypes_struct "github.com/golang/protobuf/ptypes/struct" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + + github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *GraphQLSchemaSpec) Clone() proto.Message { + var target *GraphQLSchemaSpec + if m == nil { + return target + } + target = &GraphQLSchemaSpec{} + + if h, ok := interface{}(m.GetSchemaRef()).(clone.Cloner); ok { + target.SchemaRef = h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef) + } else { + target.SchemaRef = proto.Clone(m.GetSchemaRef()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef) + } + + switch m.GraphqlType.(type) { + + case *GraphQLSchemaSpec_Proxied: + + if h, ok := interface{}(m.GetProxied()).(clone.Cloner); ok { + target.GraphqlType = &GraphQLSchemaSpec_Proxied{ + Proxied: h.Clone().(*GraphQLSchemaSpec_ProxiedGraphQL), + } + } else { + target.GraphqlType = &GraphQLSchemaSpec_Proxied{ + Proxied: proto.Clone(m.GetProxied()).(*GraphQLSchemaSpec_ProxiedGraphQL), + } + } + + case *GraphQLSchemaSpec_Resolved: + + if h, ok := interface{}(m.GetResolved()).(clone.Cloner); ok { + target.GraphqlType = &GraphQLSchemaSpec_Resolved{ + Resolved: h.Clone().(*GraphQLSchemaSpec_ResolvedGraphQL), + } + } else { + target.GraphqlType = &GraphQLSchemaSpec_Resolved{ + Resolved: proto.Clone(m.GetResolved()).(*GraphQLSchemaSpec_ResolvedGraphQL), + } + } + + } + + return target +} + +// Clone function +func (m *GraphQLSchemaStatus) Clone() proto.Message { + var target *GraphQLSchemaStatus + if m == nil { + return target + } + target = &GraphQLSchemaStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.OwnedByWorkspace = m.GetOwnedByWorkspace() + + return target +} + +// Clone function +func (m *GraphQLSchemaReport) Clone() proto.Message { + var target *GraphQLSchemaReport + if m == nil { + return target + } + target = &GraphQLSchemaReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + return target +} + +// Clone function +func (m *GraphQLSchemaSpec_ResolvedGraphQL) Clone() proto.Message { + var target *GraphQLSchemaSpec_ResolvedGraphQL + if m == nil { + return target + } + target = &GraphQLSchemaSpec_ResolvedGraphQL{} + + if m.GetResolverMapRefs() != nil { + target.ResolverMapRefs = make([]*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef, len(m.GetResolverMapRefs())) + for idx, v := range m.GetResolverMapRefs() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ResolverMapRefs[idx] = h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef) + } else { + target.ResolverMapRefs[idx] = proto.Clone(v).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef) + } + + } + } + + if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { + target.Options = h.Clone().(*GraphQLSchemaSpec_ResolvedGraphQL_Options) + } else { + target.Options = proto.Clone(m.GetOptions()).(*GraphQLSchemaSpec_ResolvedGraphQL_Options) + } + + return target +} + +// Clone function +func (m *GraphQLSchemaSpec_ProxiedGraphQL) Clone() proto.Message { + var target *GraphQLSchemaSpec_ProxiedGraphQL + if m == nil { + return target + } + target = &GraphQLSchemaSpec_ProxiedGraphQL{} + + if m.GetGraphqlServers() != nil { + target.GraphqlServers = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetGraphqlServers())) + for idx, v := range m.GetGraphqlServers() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.GraphqlServers[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.GraphqlServers[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + if m.GetVariables() != nil { + target.Variables = make(map[string]*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction, len(m.GetVariables())) + for k, v := range m.GetVariables() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Variables[k] = h.Clone().(*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) + } else { + target.Variables[k] = proto.Clone(v).(*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) + } + + } + } + + if m.GetHeaders() != nil { + target.Headers = make(map[string]*VariableTransformation, len(m.GetHeaders())) + for k, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Headers[k] = h.Clone().(*VariableTransformation) + } else { + target.Headers[k] = proto.Clone(v).(*VariableTransformation) + } + + } + } + + if m.GetQueryParams() != nil { + target.QueryParams = make(map[string]*VariableTransformation, len(m.GetQueryParams())) + for k, v := range m.GetQueryParams() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.QueryParams[k] = h.Clone().(*VariableTransformation) + } else { + target.QueryParams[k] = proto.Clone(v).(*VariableTransformation) + } + + } + } + + target.SpanName = m.GetSpanName() + + if h, ok := interface{}(m.GetTimeout()).(clone.Cloner); ok { + target.Timeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.Timeout = proto.Clone(m.GetTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { + target.Options = h.Clone().(*GraphQLSchemaSpec_ProxiedGraphQL_Options) + } else { + target.Options = proto.Clone(m.GetOptions()).(*GraphQLSchemaSpec_ProxiedGraphQL_Options) + } + + return target +} + +// Clone function +func (m *GraphQLSchemaSpec_ResolvedGraphQL_Options) Clone() proto.Message { + var target *GraphQLSchemaSpec_ResolvedGraphQL_Options + if m == nil { + return target + } + target = &GraphQLSchemaSpec_ResolvedGraphQL_Options{} + + if h, ok := interface{}(m.GetMaxDepth()).(clone.Cloner); ok { + target.MaxDepth = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.MaxDepth = proto.Clone(m.GetMaxDepth()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + target.EnableIntrospection = m.GetEnableIntrospection() + + return target +} + +// Clone function +func (m *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) Clone() proto.Message { + var target *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction + if m == nil { + return target + } + target = &GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction{} + + switch m.Extraction.(type) { + + case *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_DynamicMetadata: + + if h, ok := interface{}(m.GetDynamicMetadata()).(clone.Cloner); ok { + target.Extraction = &GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_DynamicMetadata{ + DynamicMetadata: h.Clone().(*DynamicMetadataExtraction), + } + } else { + target.Extraction = &GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_DynamicMetadata{ + DynamicMetadata: proto.Clone(m.GetDynamicMetadata()).(*DynamicMetadataExtraction), + } + } + + case *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_RequestHeader: + + target.Extraction = &GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_RequestHeader{ + RequestHeader: m.GetRequestHeader(), + } + + case *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Json: + + if h, ok := interface{}(m.GetJson()).(clone.Cloner); ok { + target.Extraction = &GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Json{ + Json: h.Clone().(*github_com_golang_protobuf_ptypes_struct.Value), + } + } else { + target.Extraction = &GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Json{ + Json: proto.Clone(m.GetJson()).(*github_com_golang_protobuf_ptypes_struct.Value), + } + } + + } + + return target +} + +// Clone function +func (m *GraphQLSchemaSpec_ProxiedGraphQL_Options) Clone() proto.Message { + var target *GraphQLSchemaSpec_ProxiedGraphQL_Options + if m == nil { + return target + } + target = &GraphQLSchemaSpec_ProxiedGraphQL_Options{} + + target.AllowIntrospection = m.GetAllowIntrospection() + + return target +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/graphql_schema.pb.equal.go b/client-go/apimanagement.gloo.solo.io/v2/graphql_schema.pb.equal.go new file mode 100644 index 000000000..fff87cfed --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/graphql_schema.pb.equal.go @@ -0,0 +1,487 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_schema.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *GraphQLSchemaSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLSchemaSpec) + if !ok { + that2, ok := that.(GraphQLSchemaSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetSchemaRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetSchemaRef()) { + return false + } + } else { + if !proto.Equal(m.GetSchemaRef(), target.GetSchemaRef()) { + return false + } + } + + switch m.GraphqlType.(type) { + + case *GraphQLSchemaSpec_Proxied: + if _, ok := target.GraphqlType.(*GraphQLSchemaSpec_Proxied); !ok { + return false + } + + if h, ok := interface{}(m.GetProxied()).(equality.Equalizer); ok { + if !h.Equal(target.GetProxied()) { + return false + } + } else { + if !proto.Equal(m.GetProxied(), target.GetProxied()) { + return false + } + } + + case *GraphQLSchemaSpec_Resolved: + if _, ok := target.GraphqlType.(*GraphQLSchemaSpec_Resolved); !ok { + return false + } + + if h, ok := interface{}(m.GetResolved()).(equality.Equalizer); ok { + if !h.Equal(target.GetResolved()) { + return false + } + } else { + if !proto.Equal(m.GetResolved(), target.GetResolved()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.GraphqlType != target.GraphqlType { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLSchemaStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLSchemaStatus) + if !ok { + that2, ok := that.(GraphQLSchemaStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if strings.Compare(m.GetOwnedByWorkspace(), target.GetOwnedByWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *GraphQLSchemaReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLSchemaReport) + if !ok { + that2, ok := that.(GraphQLSchemaReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *GraphQLSchemaSpec_ResolvedGraphQL) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLSchemaSpec_ResolvedGraphQL) + if !ok { + that2, ok := that.(GraphQLSchemaSpec_ResolvedGraphQL) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetResolverMapRefs()) != len(target.GetResolverMapRefs()) { + return false + } + for idx, v := range m.GetResolverMapRefs() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetResolverMapRefs()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetResolverMapRefs()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetOptions()) { + return false + } + } else { + if !proto.Equal(m.GetOptions(), target.GetOptions()) { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLSchemaSpec_ProxiedGraphQL) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLSchemaSpec_ProxiedGraphQL) + if !ok { + that2, ok := that.(GraphQLSchemaSpec_ProxiedGraphQL) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetGraphqlServers()) != len(target.GetGraphqlServers()) { + return false + } + for idx, v := range m.GetGraphqlServers() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetGraphqlServers()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetGraphqlServers()[idx]) { + return false + } + } + + } + + if len(m.GetVariables()) != len(target.GetVariables()) { + return false + } + for k, v := range m.GetVariables() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetVariables()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetVariables()[k]) { + return false + } + } + + } + + if len(m.GetHeaders()) != len(target.GetHeaders()) { + return false + } + for k, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetHeaders()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetHeaders()[k]) { + return false + } + } + + } + + if len(m.GetQueryParams()) != len(target.GetQueryParams()) { + return false + } + for k, v := range m.GetQueryParams() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetQueryParams()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetQueryParams()[k]) { + return false + } + } + + } + + if strings.Compare(m.GetSpanName(), target.GetSpanName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetTimeout(), target.GetTimeout()) { + return false + } + } + + if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetOptions()) { + return false + } + } else { + if !proto.Equal(m.GetOptions(), target.GetOptions()) { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLSchemaSpec_ResolvedGraphQL_Options) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLSchemaSpec_ResolvedGraphQL_Options) + if !ok { + that2, ok := that.(GraphQLSchemaSpec_ResolvedGraphQL_Options) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetMaxDepth()).(equality.Equalizer); ok { + if !h.Equal(target.GetMaxDepth()) { + return false + } + } else { + if !proto.Equal(m.GetMaxDepth(), target.GetMaxDepth()) { + return false + } + } + + if m.GetEnableIntrospection() != target.GetEnableIntrospection() { + return false + } + + return true +} + +// Equal function +func (m *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) + if !ok { + that2, ok := that.(GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Extraction.(type) { + + case *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_DynamicMetadata: + if _, ok := target.Extraction.(*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_DynamicMetadata); !ok { + return false + } + + if h, ok := interface{}(m.GetDynamicMetadata()).(equality.Equalizer); ok { + if !h.Equal(target.GetDynamicMetadata()) { + return false + } + } else { + if !proto.Equal(m.GetDynamicMetadata(), target.GetDynamicMetadata()) { + return false + } + } + + case *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_RequestHeader: + if _, ok := target.Extraction.(*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_RequestHeader); !ok { + return false + } + + if strings.Compare(m.GetRequestHeader(), target.GetRequestHeader()) != 0 { + return false + } + + case *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Json: + if _, ok := target.Extraction.(*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Json); !ok { + return false + } + + if h, ok := interface{}(m.GetJson()).(equality.Equalizer); ok { + if !h.Equal(target.GetJson()) { + return false + } + } else { + if !proto.Equal(m.GetJson(), target.GetJson()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Extraction != target.Extraction { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLSchemaSpec_ProxiedGraphQL_Options) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLSchemaSpec_ProxiedGraphQL_Options) + if !ok { + that2, ok := that.(GraphQLSchemaSpec_ProxiedGraphQL_Options) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetAllowIntrospection() != target.GetAllowIntrospection() { + return false + } + + return true +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/graphql_schema.pb.go b/client-go/apimanagement.gloo.solo.io/v2/graphql_schema.pb.go new file mode 100644 index 000000000..cfc54f8b5 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/graphql_schema.pb.go @@ -0,0 +1,1073 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_schema.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + _ "github.com/golang/protobuf/ptypes/empty" + _struct "github.com/golang/protobuf/ptypes/struct" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type GraphQLSchemaSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: Reference to the ApiSchema object which is of type GraphQL schema, which contains the [GraphQL SDL](https://graphql.org/learn/schema/) + // defining this GraphQL schema. + SchemaRef *v1.ClusterObjectRef `protobuf:"bytes,1,opt,name=schema_ref,json=schemaRef,proto3" json:"schema_ref,omitempty"` + // Types that are assignable to GraphqlType: + // + // *GraphQLSchemaSpec_Proxied + // *GraphQLSchemaSpec_Resolved + GraphqlType isGraphQLSchemaSpec_GraphqlType `protobuf_oneof:"graphql_type"` +} + +func (x *GraphQLSchemaSpec) Reset() { + *x = GraphQLSchemaSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLSchemaSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLSchemaSpec) ProtoMessage() {} + +func (x *GraphQLSchemaSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLSchemaSpec.ProtoReflect.Descriptor instead. +func (*GraphQLSchemaSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescGZIP(), []int{0} +} + +func (x *GraphQLSchemaSpec) GetSchemaRef() *v1.ClusterObjectRef { + if x != nil { + return x.SchemaRef + } + return nil +} + +func (m *GraphQLSchemaSpec) GetGraphqlType() isGraphQLSchemaSpec_GraphqlType { + if m != nil { + return m.GraphqlType + } + return nil +} + +func (x *GraphQLSchemaSpec) GetProxied() *GraphQLSchemaSpec_ProxiedGraphQL { + if x, ok := x.GetGraphqlType().(*GraphQLSchemaSpec_Proxied); ok { + return x.Proxied + } + return nil +} + +func (x *GraphQLSchemaSpec) GetResolved() *GraphQLSchemaSpec_ResolvedGraphQL { + if x, ok := x.GetGraphqlType().(*GraphQLSchemaSpec_Resolved); ok { + return x.Resolved + } + return nil +} + +type isGraphQLSchemaSpec_GraphqlType interface { + isGraphQLSchemaSpec_GraphqlType() +} + +type GraphQLSchemaSpec_Proxied struct { + // Configuration to delegate resolving this GraphQL request to an external GraphQL server, which can be + // another GlooGraphQL instance or another instance of a GraphQL server. The external GraphQL server must + // be compliant with the [June 2018 GraphQL specification](https://spec.graphql.org/June2018/). + Proxied *GraphQLSchemaSpec_ProxiedGraphQL `protobuf:"bytes,3,opt,name=proxied,proto3,oneof"` +} + +type GraphQLSchemaSpec_Resolved struct { + // List of references to GraphQLResolverMap resources. GraphQLResolverMaps + // contain a mapping from GraphQL fields to resolver configuration, so that those fields can be resolved + // locally by this GraphQL-envoy instance. + // Order of the references listed below does matter as resolver maps listed first + // will be given priority over later ones when tie-breaking field resolver configurations. + Resolved *GraphQLSchemaSpec_ResolvedGraphQL `protobuf:"bytes,4,opt,name=resolved,proto3,oneof"` +} + +func (*GraphQLSchemaSpec_Proxied) isGraphQLSchemaSpec_GraphqlType() {} + +func (*GraphQLSchemaSpec_Resolved) isGraphQLSchemaSpec_GraphqlType() {} + +type GraphQLSchemaStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The name of the workspace that owns the GraphQL schema. + OwnedByWorkspace string `protobuf:"bytes,4,opt,name=owned_by_workspace,json=ownedByWorkspace,proto3" json:"owned_by_workspace,omitempty"` +} + +func (x *GraphQLSchemaStatus) Reset() { + *x = GraphQLSchemaStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLSchemaStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLSchemaStatus) ProtoMessage() {} + +func (x *GraphQLSchemaStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLSchemaStatus.ProtoReflect.Descriptor instead. +func (*GraphQLSchemaStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescGZIP(), []int{1} +} + +func (x *GraphQLSchemaStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *GraphQLSchemaStatus) GetOwnedByWorkspace() string { + if x != nil { + return x.OwnedByWorkspace + } + return "" +} + +type GraphQLSchemaReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The name of the workspace that owns the GraphQL schema. + OwnerWorkspace string `protobuf:"bytes,2,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` +} + +func (x *GraphQLSchemaReport) Reset() { + *x = GraphQLSchemaReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLSchemaReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLSchemaReport) ProtoMessage() {} + +func (x *GraphQLSchemaReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLSchemaReport.ProtoReflect.Descriptor instead. +func (*GraphQLSchemaReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescGZIP(), []int{2} +} + +func (x *GraphQLSchemaReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *GraphQLSchemaReport) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +type GraphQLSchemaSpec_ResolvedGraphQL struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of references to GraphQLResolverMap resources. GraphQLResolverMaps + // contain a mapping from GraphQL fields to resolver configuration, so that those fields can be resolved + // locally by this GraphQL-envoy instance. + // Order of the references listed below does matter as resolver maps listed first + // will be given priority over later ones when tie-breaking field resolver configurations. + ResolverMapRefs []*v1.ClusterObjectRef `protobuf:"bytes,1,rep,name=resolver_map_refs,json=resolverMapRefs,proto3" json:"resolver_map_refs,omitempty"` + Options *GraphQLSchemaSpec_ResolvedGraphQL_Options `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` +} + +func (x *GraphQLSchemaSpec_ResolvedGraphQL) Reset() { + *x = GraphQLSchemaSpec_ResolvedGraphQL{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLSchemaSpec_ResolvedGraphQL) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLSchemaSpec_ResolvedGraphQL) ProtoMessage() {} + +func (x *GraphQLSchemaSpec_ResolvedGraphQL) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLSchemaSpec_ResolvedGraphQL.ProtoReflect.Descriptor instead. +func (*GraphQLSchemaSpec_ResolvedGraphQL) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *GraphQLSchemaSpec_ResolvedGraphQL) GetResolverMapRefs() []*v1.ClusterObjectRef { + if x != nil { + return x.ResolverMapRefs + } + return nil +} + +func (x *GraphQLSchemaSpec_ResolvedGraphQL) GetOptions() *GraphQLSchemaSpec_ResolvedGraphQL_Options { + if x != nil { + return x.Options + } + return nil +} + +type GraphQLSchemaSpec_ProxiedGraphQL struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of destinations that can server GraphQL requests. The external GraphQL server must + // be compliant with the [June 2018 GraphQL specification](https://spec.graphql.org/June2018). + // Though this is a list, only the first referenced destination will be used until fail-over and load balancing + // is supported between multiple GraphQL destinations. + GraphqlServers []*v2.DestinationReference `protobuf:"bytes,1,rep,name=graphql_servers,json=graphqlServers,proto3" json:"graphql_servers,omitempty"` + // Declare variables that are used in variable transformations in the fields below for the GraphQL request to a remote server. + // The keys to this map are the name of the variables. See the variable transformations specifically + // for how to reference these variables. + Variables map[string]*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction `protobuf:"bytes,2,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // map of header name to a transformation on extracted variables which are declared + // in the `variables` field. + // The transformation must result in a string value, or an error will be sent back to the client. + Headers map[string]*VariableTransformation `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // map of query parameter name to a transformation on extracted variables which are declared + // in the `variables` field. + // The transformation must result in a string value, or an error will be sent back to the client. + QueryParams map[string]*VariableTransformation `protobuf:"bytes,4,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The span name for the remote GraphQL request, used for tracing. + // If empty or omitted, the request span name will be set to the upstream cluster name. + SpanName string `protobuf:"bytes,5,opt,name=span_name,json=spanName,proto3" json:"span_name,omitempty"` + // Set the timeout of the HTTP request to the REST service (default 5s) + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + Timeout *duration.Duration `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"` + Options *GraphQLSchemaSpec_ProxiedGraphQL_Options `protobuf:"bytes,7,opt,name=options,proto3" json:"options,omitempty"` +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL) Reset() { + *x = GraphQLSchemaSpec_ProxiedGraphQL{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLSchemaSpec_ProxiedGraphQL) ProtoMessage() {} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLSchemaSpec_ProxiedGraphQL.ProtoReflect.Descriptor instead. +func (*GraphQLSchemaSpec_ProxiedGraphQL) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL) GetGraphqlServers() []*v2.DestinationReference { + if x != nil { + return x.GraphqlServers + } + return nil +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL) GetVariables() map[string]*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction { + if x != nil { + return x.Variables + } + return nil +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL) GetHeaders() map[string]*VariableTransformation { + if x != nil { + return x.Headers + } + return nil +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL) GetQueryParams() map[string]*VariableTransformation { + if x != nil { + return x.QueryParams + } + return nil +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL) GetSpanName() string { + if x != nil { + return x.SpanName + } + return "" +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL) GetTimeout() *duration.Duration { + if x != nil { + return x.Timeout + } + return nil +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL) GetOptions() *GraphQLSchemaSpec_ProxiedGraphQL_Options { + if x != nil { + return x.Options + } + return nil +} + +// Set additional options on the references to GraphQLResolverMap resources. +// As as simple example for the `mex_depth` option, if the schema is +// ```gql +// +// type Query { +// employee: Employee +// } +// +// type Employee { +// manager: Employee +// name: String +// } +// +// ``` +// and we set a `max_depth` of `3` and we run a query +// ```gql +// query { # query depth : 0 +// +// employee { # query depth : 1 +// manager { # query depth : 2 +// name # query depth : 3 +// manager { # query depth : 3 +// name # query depth : 4 +// } +// } +// } +// } +// +// ``` +// the graphql server will respond with a response: +// ```json +// +// { "data" : { +// "employee" : { +// "manager" : { +// "name" : "Manager 1", +// "manager" : { +// "name" : null +// }}}}, +// "errors": [ +// {"message": "field 'name' exceeds the max operation depth of 3 for this schema"} +// ] +// } +// +// ``` +type GraphQLSchemaSpec_ResolvedGraphQL_Options struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Max GraphQL operation (query/mutation/subscription) depth. This sets a limitation on the max nesting on a query that runs against this schema. + // any GraphQL operation that runs past the `max_depth` will add an error message to the response and will return as `null`. + // If not configured, or the value is 0, the query depth will be unbounded. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int32-value). + MaxDepth *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_depth,json=maxDepth,proto3" json:"max_depth,omitempty"` + // Enable introspection queries on the GraphQL API served by this GraphQLSchema resource. + // Introspection queries are used by GraphQL developers to understand the schema of the GraphQL API and create + // queries that are valid against the schema. Introspection is disabled by default, and should be disabled for + // production environments. + EnableIntrospection bool `protobuf:"varint,2,opt,name=enable_introspection,json=enableIntrospection,proto3" json:"enable_introspection,omitempty"` +} + +func (x *GraphQLSchemaSpec_ResolvedGraphQL_Options) Reset() { + *x = GraphQLSchemaSpec_ResolvedGraphQL_Options{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLSchemaSpec_ResolvedGraphQL_Options) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLSchemaSpec_ResolvedGraphQL_Options) ProtoMessage() {} + +func (x *GraphQLSchemaSpec_ResolvedGraphQL_Options) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLSchemaSpec_ResolvedGraphQL_Options.ProtoReflect.Descriptor instead. +func (*GraphQLSchemaSpec_ResolvedGraphQL_Options) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *GraphQLSchemaSpec_ResolvedGraphQL_Options) GetMaxDepth() *wrappers.UInt32Value { + if x != nil { + return x.MaxDepth + } + return nil +} + +func (x *GraphQLSchemaSpec_ResolvedGraphQL_Options) GetEnableIntrospection() bool { + if x != nil { + return x.EnableIntrospection + } + return false +} + +type GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Extraction: + // + // *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_DynamicMetadata + // *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_RequestHeader + // *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Json + Extraction isGraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Extraction `protobuf_oneof:"extraction"` +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) Reset() { + *x = GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) ProtoMessage() {} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction.ProtoReflect.Descriptor instead. +func (*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescGZIP(), []int{0, 1, 3} +} + +func (m *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) GetExtraction() isGraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Extraction { + if m != nil { + return m.Extraction + } + return nil +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) GetDynamicMetadata() *DynamicMetadataExtraction { + if x, ok := x.GetExtraction().(*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_DynamicMetadata); ok { + return x.DynamicMetadata + } + return nil +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) GetRequestHeader() string { + if x, ok := x.GetExtraction().(*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_RequestHeader); ok { + return x.RequestHeader + } + return "" +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) GetJson() *_struct.Value { + if x, ok := x.GetExtraction().(*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Json); ok { + return x.Json + } + return nil +} + +type isGraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Extraction interface { + isGraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Extraction() +} + +type GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_DynamicMetadata struct { + // Extract the value from envoy dynamic metadata. The extracted value is an object. + DynamicMetadata *DynamicMetadataExtraction `protobuf:"bytes,1,opt,name=dynamic_metadata,json=dynamicMetadata,proto3,oneof"` +} + +type GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_RequestHeader struct { + // Extract the value from the GraphQL HTTP request header. The extracted value is a string. + // If the header doesn't exist, an empty string will be used. + RequestHeader string `protobuf:"bytes,2,opt,name=request_header,json=requestHeader,proto3,oneof"` +} + +type GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Json struct { + // Assigns the variable to a JSON value specified here. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + Json *_struct.Value `protobuf:"bytes,3,opt,name=json,proto3,oneof"` +} + +func (*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_DynamicMetadata) isGraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Extraction() { +} + +func (*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_RequestHeader) isGraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Extraction() { +} + +func (*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Json) isGraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Extraction() { +} + +type GraphQLSchemaSpec_ProxiedGraphQL_Options struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Enable introspection queries on the GraphQL API served by this GraphQLSchema resource. + // Introspection queries are used by GraphQL developers to understand the schema of the GraphQL API and create + // queries that are valid against the schema. This option allows for introspection queries to be sent to the + // proxied GraphQL server. Introspection is disabled by default and introspection queries will be responded with errors + // by the proxy. This should be disabled for production environments. + AllowIntrospection bool `protobuf:"varint,1,opt,name=allow_introspection,json=allowIntrospection,proto3" json:"allow_introspection,omitempty"` +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL_Options) Reset() { + *x = GraphQLSchemaSpec_ProxiedGraphQL_Options{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL_Options) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLSchemaSpec_ProxiedGraphQL_Options) ProtoMessage() {} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL_Options) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLSchemaSpec_ProxiedGraphQL_Options.ProtoReflect.Descriptor instead. +func (*GraphQLSchemaSpec_ProxiedGraphQL_Options) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescGZIP(), []int{0, 1, 4} +} + +func (x *GraphQLSchemaSpec_ProxiedGraphQL_Options) GetAllowIntrospection() bool { + if x != nil { + return x.AllowIntrospection + } + return false +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDesc = []byte{ + 0x0a, 0x5e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x71, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x1a, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, + 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x61, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, + 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x0e, 0x0a, + 0x11, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x42, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x72, 0x65, 0x66, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6b, + 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x52, 0x09, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x52, 0x65, 0x66, 0x12, 0x58, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x51, 0x4c, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, + 0x12, 0x5b, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, + 0x4c, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x1a, 0xbc, 0x02, + 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, + 0x4c, 0x12, 0x4f, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x61, + 0x70, 0x5f, 0x72, 0x65, 0x66, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x66, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x52, 0x65, + 0x66, 0x73, 0x12, 0x5f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x51, 0x4c, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x1a, 0x77, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, + 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x08, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, + 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xed, 0x09, 0x0a, + 0x0e, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x12, + 0x52, 0x0a, 0x0f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x73, 0x12, 0x69, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x51, 0x4c, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x63, + 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x49, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, + 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x2e, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x70, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x61, 0x70, 0x69, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x61, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x5e, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x64, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x61, 0x70, + 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x69, + 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6e, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x72, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x61, 0x70, + 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xe3, 0x01, 0x0a, 0x11, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x62, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x61, 0x70, 0x69, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x33, 0x0a, + 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x20, 0x01, 0x48, 0x00, 0x52, 0x04, 0x6a, 0x73, + 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x1a, 0x3a, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, + 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x78, 0x0a, 0x13, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x77, 0x6e, 0x65, + 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x13, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5f, + 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, + 0x27, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5b, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, + 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_goTypes = []interface{}{ + (*GraphQLSchemaSpec)(nil), // 0: apimanagement.gloo.solo.io.GraphQLSchemaSpec + (*GraphQLSchemaStatus)(nil), // 1: apimanagement.gloo.solo.io.GraphQLSchemaStatus + (*GraphQLSchemaReport)(nil), // 2: apimanagement.gloo.solo.io.GraphQLSchemaReport + (*GraphQLSchemaSpec_ResolvedGraphQL)(nil), // 3: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ResolvedGraphQL + (*GraphQLSchemaSpec_ProxiedGraphQL)(nil), // 4: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL + (*GraphQLSchemaSpec_ResolvedGraphQL_Options)(nil), // 5: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ResolvedGraphQL.Options + nil, // 6: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.VariablesEntry + nil, // 7: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.HeadersEntry + nil, // 8: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.QueryParamsEntry + (*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction)(nil), // 9: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.RequestExtraction + (*GraphQLSchemaSpec_ProxiedGraphQL_Options)(nil), // 10: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.Options + nil, // 11: apimanagement.gloo.solo.io.GraphQLSchemaReport.WorkspacesEntry + (*v1.ClusterObjectRef)(nil), // 12: core.skv2.solo.io.ClusterObjectRef + (*v2.Status)(nil), // 13: common.gloo.solo.io.Status + (*v2.DestinationReference)(nil), // 14: common.gloo.solo.io.DestinationReference + (*duration.Duration)(nil), // 15: google.protobuf.Duration + (*wrappers.UInt32Value)(nil), // 16: google.protobuf.UInt32Value + (*VariableTransformation)(nil), // 17: apimanagement.gloo.solo.io.VariableTransformation + (*DynamicMetadataExtraction)(nil), // 18: apimanagement.gloo.solo.io.DynamicMetadataExtraction + (*_struct.Value)(nil), // 19: google.protobuf.Value + (*v2.Report)(nil), // 20: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_depIdxs = []int32{ + 12, // 0: apimanagement.gloo.solo.io.GraphQLSchemaSpec.schema_ref:type_name -> core.skv2.solo.io.ClusterObjectRef + 4, // 1: apimanagement.gloo.solo.io.GraphQLSchemaSpec.proxied:type_name -> apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL + 3, // 2: apimanagement.gloo.solo.io.GraphQLSchemaSpec.resolved:type_name -> apimanagement.gloo.solo.io.GraphQLSchemaSpec.ResolvedGraphQL + 13, // 3: apimanagement.gloo.solo.io.GraphQLSchemaStatus.common:type_name -> common.gloo.solo.io.Status + 11, // 4: apimanagement.gloo.solo.io.GraphQLSchemaReport.workspaces:type_name -> apimanagement.gloo.solo.io.GraphQLSchemaReport.WorkspacesEntry + 12, // 5: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ResolvedGraphQL.resolver_map_refs:type_name -> core.skv2.solo.io.ClusterObjectRef + 5, // 6: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ResolvedGraphQL.options:type_name -> apimanagement.gloo.solo.io.GraphQLSchemaSpec.ResolvedGraphQL.Options + 14, // 7: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.graphql_servers:type_name -> common.gloo.solo.io.DestinationReference + 6, // 8: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.variables:type_name -> apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.VariablesEntry + 7, // 9: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.headers:type_name -> apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.HeadersEntry + 8, // 10: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.query_params:type_name -> apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.QueryParamsEntry + 15, // 11: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.timeout:type_name -> google.protobuf.Duration + 10, // 12: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.options:type_name -> apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.Options + 16, // 13: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ResolvedGraphQL.Options.max_depth:type_name -> google.protobuf.UInt32Value + 9, // 14: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.VariablesEntry.value:type_name -> apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.RequestExtraction + 17, // 15: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.HeadersEntry.value:type_name -> apimanagement.gloo.solo.io.VariableTransformation + 17, // 16: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.QueryParamsEntry.value:type_name -> apimanagement.gloo.solo.io.VariableTransformation + 18, // 17: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.RequestExtraction.dynamic_metadata:type_name -> apimanagement.gloo.solo.io.DynamicMetadataExtraction + 19, // 18: apimanagement.gloo.solo.io.GraphQLSchemaSpec.ProxiedGraphQL.RequestExtraction.json:type_name -> google.protobuf.Value + 20, // 19: apimanagement.gloo.solo.io.GraphQLSchemaReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto != nil { + return + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_init() + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLSchemaSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLSchemaStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLSchemaReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLSchemaSpec_ResolvedGraphQL); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLSchemaSpec_ProxiedGraphQL); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLSchemaSpec_ResolvedGraphQL_Options); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLSchemaSpec_ProxiedGraphQL_Options); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*GraphQLSchemaSpec_Proxied)(nil), + (*GraphQLSchemaSpec_Resolved)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_DynamicMetadata)(nil), + (*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_RequestHeader)(nil), + (*GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Json)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDesc, + NumEnums: 0, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_schema_proto_depIdxs = nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/graphql_schema.pb.hash.go b/client-go/apimanagement.gloo.solo.io/v2/graphql_schema.pb.hash.go new file mode 100644 index 000000000..19048242e --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/graphql_schema.pb.hash.go @@ -0,0 +1,602 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_schema.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *GraphQLSchemaSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLSchemaSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSchemaRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SchemaRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSchemaRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SchemaRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.GraphqlType.(type) { + + case *GraphQLSchemaSpec_Proxied: + + if h, ok := interface{}(m.GetProxied()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Proxied")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetProxied(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Proxied")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *GraphQLSchemaSpec_Resolved: + + if h, ok := interface{}(m.GetResolved()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Resolved")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResolved(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Resolved")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLSchemaStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLSchemaStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetOwnedByWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLSchemaReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLSchemaReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLSchemaSpec_ResolvedGraphQL) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLSchemaSpec_ResolvedGraphQL")); err != nil { + return 0, err + } + + for _, v := range m.GetResolverMapRefs() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLSchemaSpec_ProxiedGraphQL) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLSchemaSpec_ProxiedGraphQL")); err != nil { + return 0, err + } + + for _, v := range m.GetGraphqlServers() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetVariables() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetHeaders() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetQueryParams() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetSpanName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Timeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Timeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLSchemaSpec_ResolvedGraphQL_Options) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLSchemaSpec_ResolvedGraphQL_Options")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMaxDepth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MaxDepth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMaxDepth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MaxDepth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetEnableIntrospection()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction")); err != nil { + return 0, err + } + + switch m.Extraction.(type) { + + case *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_DynamicMetadata: + + if h, ok := interface{}(m.GetDynamicMetadata()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DynamicMetadata")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDynamicMetadata(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DynamicMetadata")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_RequestHeader: + + if _, err = hasher.Write([]byte(m.GetRequestHeader())); err != nil { + return 0, err + } + + case *GraphQLSchemaSpec_ProxiedGraphQL_RequestExtraction_Json: + + if h, ok := interface{}(m.GetJson()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Json")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetJson(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Json")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLSchemaSpec_ProxiedGraphQL_Options) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLSchemaSpec_ProxiedGraphQL_Options")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAllowIntrospection()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/graphql_stitched_schema.pb.clone.go b/client-go/apimanagement.gloo.solo.io/v2/graphql_stitched_schema.pb.clone.go new file mode 100644 index 000000000..362882cca --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/graphql_stitched_schema.pb.clone.go @@ -0,0 +1,194 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_stitched_schema.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + + github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *GraphQLStitchedSchemaSpec) Clone() proto.Message { + var target *GraphQLStitchedSchemaSpec + if m == nil { + return target + } + target = &GraphQLStitchedSchemaSpec{} + + if m.GetSubschemas() != nil { + target.Subschemas = make([]*GraphQLStitchedSchemaSpec_Subschema, len(m.GetSubschemas())) + for idx, v := range m.GetSubschemas() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Subschemas[idx] = h.Clone().(*GraphQLStitchedSchemaSpec_Subschema) + } else { + target.Subschemas[idx] = proto.Clone(v).(*GraphQLStitchedSchemaSpec_Subschema) + } + + } + } + + if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { + target.Options = h.Clone().(*GraphQLStitchedSchemaSpec_Options) + } else { + target.Options = proto.Clone(m.GetOptions()).(*GraphQLStitchedSchemaSpec_Options) + } + + return target +} + +// Clone function +func (m *GraphQLStitchedSchemaStatus) Clone() proto.Message { + var target *GraphQLStitchedSchemaStatus + if m == nil { + return target + } + target = &GraphQLStitchedSchemaStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.OwnedByWorkspace = m.GetOwnedByWorkspace() + + return target +} + +// Clone function +func (m *GraphQLStitchedSchemaReport) Clone() proto.Message { + var target *GraphQLStitchedSchemaReport + if m == nil { + return target + } + target = &GraphQLStitchedSchemaReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + return target +} + +// Clone function +func (m *GraphQLStitchedSchemaSpec_Subschema) Clone() proto.Message { + var target *GraphQLStitchedSchemaSpec_Subschema + if m == nil { + return target + } + target = &GraphQLStitchedSchemaSpec_Subschema{} + + if m.GetTypeMerge() != nil { + target.TypeMerge = make(map[string]*GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig, len(m.GetTypeMerge())) + for k, v := range m.GetTypeMerge() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.TypeMerge[k] = h.Clone().(*GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) + } else { + target.TypeMerge[k] = proto.Clone(v).(*GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) + } + + } + } + + switch m.GraphqlSchema.(type) { + + case *GraphQLStitchedSchemaSpec_Subschema_Schema: + + if h, ok := interface{}(m.GetSchema()).(clone.Cloner); ok { + target.GraphqlSchema = &GraphQLStitchedSchemaSpec_Subschema_Schema{ + Schema: h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef), + } + } else { + target.GraphqlSchema = &GraphQLStitchedSchemaSpec_Subschema_Schema{ + Schema: proto.Clone(m.GetSchema()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef), + } + } + + case *GraphQLStitchedSchemaSpec_Subschema_StitchedSchema: + + if h, ok := interface{}(m.GetStitchedSchema()).(clone.Cloner); ok { + target.GraphqlSchema = &GraphQLStitchedSchemaSpec_Subschema_StitchedSchema{ + StitchedSchema: h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef), + } + } else { + target.GraphqlSchema = &GraphQLStitchedSchemaSpec_Subschema_StitchedSchema{ + StitchedSchema: proto.Clone(m.GetStitchedSchema()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef), + } + } + + } + + return target +} + +// Clone function +func (m *GraphQLStitchedSchemaSpec_Options) Clone() proto.Message { + var target *GraphQLStitchedSchemaSpec_Options + if m == nil { + return target + } + target = &GraphQLStitchedSchemaSpec_Options{} + + target.EnableIntrospection = m.GetEnableIntrospection() + + return target +} + +// Clone function +func (m *GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) Clone() proto.Message { + var target *GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig + if m == nil { + return target + } + target = &GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig{} + + target.SelectionSet = m.GetSelectionSet() + + target.QueryName = m.GetQueryName() + + if m.GetArgs() != nil { + target.Args = make(map[string]string, len(m.GetArgs())) + for k, v := range m.GetArgs() { + + target.Args[k] = v + + } + } + + return target +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/graphql_stitched_schema.pb.equal.go b/client-go/apimanagement.gloo.solo.io/v2/graphql_stitched_schema.pb.equal.go new file mode 100644 index 000000000..c0703c890 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/graphql_stitched_schema.pb.equal.go @@ -0,0 +1,311 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_stitched_schema.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *GraphQLStitchedSchemaSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLStitchedSchemaSpec) + if !ok { + that2, ok := that.(GraphQLStitchedSchemaSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetSubschemas()) != len(target.GetSubschemas()) { + return false + } + for idx, v := range m.GetSubschemas() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSubschemas()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSubschemas()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetOptions()) { + return false + } + } else { + if !proto.Equal(m.GetOptions(), target.GetOptions()) { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLStitchedSchemaStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLStitchedSchemaStatus) + if !ok { + that2, ok := that.(GraphQLStitchedSchemaStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if strings.Compare(m.GetOwnedByWorkspace(), target.GetOwnedByWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *GraphQLStitchedSchemaReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLStitchedSchemaReport) + if !ok { + that2, ok := that.(GraphQLStitchedSchemaReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *GraphQLStitchedSchemaSpec_Subschema) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLStitchedSchemaSpec_Subschema) + if !ok { + that2, ok := that.(GraphQLStitchedSchemaSpec_Subschema) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetTypeMerge()) != len(target.GetTypeMerge()) { + return false + } + for k, v := range m.GetTypeMerge() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetTypeMerge()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetTypeMerge()[k]) { + return false + } + } + + } + + switch m.GraphqlSchema.(type) { + + case *GraphQLStitchedSchemaSpec_Subschema_Schema: + if _, ok := target.GraphqlSchema.(*GraphQLStitchedSchemaSpec_Subschema_Schema); !ok { + return false + } + + if h, ok := interface{}(m.GetSchema()).(equality.Equalizer); ok { + if !h.Equal(target.GetSchema()) { + return false + } + } else { + if !proto.Equal(m.GetSchema(), target.GetSchema()) { + return false + } + } + + case *GraphQLStitchedSchemaSpec_Subschema_StitchedSchema: + if _, ok := target.GraphqlSchema.(*GraphQLStitchedSchemaSpec_Subschema_StitchedSchema); !ok { + return false + } + + if h, ok := interface{}(m.GetStitchedSchema()).(equality.Equalizer); ok { + if !h.Equal(target.GetStitchedSchema()) { + return false + } + } else { + if !proto.Equal(m.GetStitchedSchema(), target.GetStitchedSchema()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.GraphqlSchema != target.GraphqlSchema { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLStitchedSchemaSpec_Options) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLStitchedSchemaSpec_Options) + if !ok { + that2, ok := that.(GraphQLStitchedSchemaSpec_Options) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetEnableIntrospection() != target.GetEnableIntrospection() { + return false + } + + return true +} + +// Equal function +func (m *GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) + if !ok { + that2, ok := that.(GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetSelectionSet(), target.GetSelectionSet()) != 0 { + return false + } + + if strings.Compare(m.GetQueryName(), target.GetQueryName()) != 0 { + return false + } + + if len(m.GetArgs()) != len(target.GetArgs()) { + return false + } + for k, v := range m.GetArgs() { + + if strings.Compare(v, target.GetArgs()[k]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/graphql_stitched_schema.pb.go b/client-go/apimanagement.gloo.solo.io/v2/graphql_stitched_schema.pb.go new file mode 100644 index 000000000..34b01b972 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/graphql_stitched_schema.pb.go @@ -0,0 +1,717 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_stitched_schema.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type GraphQLStitchedSchemaSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of GraphQL Subschemas that compose this GraphQL stitched schema. + Subschemas []*GraphQLStitchedSchemaSpec_Subschema `protobuf:"bytes,1,rep,name=subschemas,proto3" json:"subschemas,omitempty"` + Options *GraphQLStitchedSchemaSpec_Options `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` +} + +func (x *GraphQLStitchedSchemaSpec) Reset() { + *x = GraphQLStitchedSchemaSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLStitchedSchemaSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLStitchedSchemaSpec) ProtoMessage() {} + +func (x *GraphQLStitchedSchemaSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLStitchedSchemaSpec.ProtoReflect.Descriptor instead. +func (*GraphQLStitchedSchemaSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescGZIP(), []int{0} +} + +func (x *GraphQLStitchedSchemaSpec) GetSubschemas() []*GraphQLStitchedSchemaSpec_Subschema { + if x != nil { + return x.Subschemas + } + return nil +} + +func (x *GraphQLStitchedSchemaSpec) GetOptions() *GraphQLStitchedSchemaSpec_Options { + if x != nil { + return x.Options + } + return nil +} + +type GraphQLStitchedSchemaStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The name of the workspace that owns the GraphQL stitched schema. + OwnedByWorkspace string `protobuf:"bytes,4,opt,name=owned_by_workspace,json=ownedByWorkspace,proto3" json:"owned_by_workspace,omitempty"` +} + +func (x *GraphQLStitchedSchemaStatus) Reset() { + *x = GraphQLStitchedSchemaStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLStitchedSchemaStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLStitchedSchemaStatus) ProtoMessage() {} + +func (x *GraphQLStitchedSchemaStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLStitchedSchemaStatus.ProtoReflect.Descriptor instead. +func (*GraphQLStitchedSchemaStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescGZIP(), []int{1} +} + +func (x *GraphQLStitchedSchemaStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *GraphQLStitchedSchemaStatus) GetOwnedByWorkspace() string { + if x != nil { + return x.OwnedByWorkspace + } + return "" +} + +type GraphQLStitchedSchemaReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The name of the workspace that owns the GraphQL stitched schema. + OwnerWorkspace string `protobuf:"bytes,2,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` +} + +func (x *GraphQLStitchedSchemaReport) Reset() { + *x = GraphQLStitchedSchemaReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLStitchedSchemaReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLStitchedSchemaReport) ProtoMessage() {} + +func (x *GraphQLStitchedSchemaReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLStitchedSchemaReport.ProtoReflect.Descriptor instead. +func (*GraphQLStitchedSchemaReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescGZIP(), []int{2} +} + +func (x *GraphQLStitchedSchemaReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *GraphQLStitchedSchemaReport) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +type GraphQLStitchedSchemaSpec_Subschema struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to GraphqlSchema: + // + // *GraphQLStitchedSchemaSpec_Subschema_Schema + // *GraphQLStitchedSchemaSpec_Subschema_StitchedSchema + GraphqlSchema isGraphQLStitchedSchemaSpec_Subschema_GraphqlSchema `protobuf_oneof:"graphql_schema"` + // Type merge configuration for this subschema. Let's say this subschema is a Users service schema + // and provides the User type (with a query to fetch a user given the username) + // ```gql + // type Query { + // GetUser(username: String): User + // } + // type User { + // username: String + // firstName: String + // lastName: String + // } + // ``` + // and another subschema, e.g. Reviews schema, may have a partial User type: + // ```gql + // type Review { + // author: User + // } + // type User { + // username: String + // } + // ``` + // We want to provide the relevant information from this Users service schema, + // so that another API that can give us a partial User type (with the username) will then + // be able to have access to the full user type. With the correct type merging config under the Users subschema, e.g.: + // ```yaml + // type_merge: + // User: + // selection_set: '{ username }' + // query_name: 'GetUser' + // args: + // username: username + // ``` + // the stitched schema will now be able to provide the full user type to all types that require it. In this case, + // we can now get the first name of an author from the Review.author field even though the Reviews schema doesn't + // provide the full User type. Note: Type merging can be used for all GraphQL types except Mutations and Subscriptions. + TypeMerge map[string]*GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig `protobuf:"bytes,3,rep,name=type_merge,json=typeMerge,proto3" json:"type_merge,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *GraphQLStitchedSchemaSpec_Subschema) Reset() { + *x = GraphQLStitchedSchemaSpec_Subschema{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLStitchedSchemaSpec_Subschema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLStitchedSchemaSpec_Subschema) ProtoMessage() {} + +func (x *GraphQLStitchedSchemaSpec_Subschema) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLStitchedSchemaSpec_Subschema.ProtoReflect.Descriptor instead. +func (*GraphQLStitchedSchemaSpec_Subschema) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescGZIP(), []int{0, 0} +} + +func (m *GraphQLStitchedSchemaSpec_Subschema) GetGraphqlSchema() isGraphQLStitchedSchemaSpec_Subschema_GraphqlSchema { + if m != nil { + return m.GraphqlSchema + } + return nil +} + +func (x *GraphQLStitchedSchemaSpec_Subschema) GetSchema() *v1.ClusterObjectRef { + if x, ok := x.GetGraphqlSchema().(*GraphQLStitchedSchemaSpec_Subschema_Schema); ok { + return x.Schema + } + return nil +} + +func (x *GraphQLStitchedSchemaSpec_Subschema) GetStitchedSchema() *v1.ClusterObjectRef { + if x, ok := x.GetGraphqlSchema().(*GraphQLStitchedSchemaSpec_Subschema_StitchedSchema); ok { + return x.StitchedSchema + } + return nil +} + +func (x *GraphQLStitchedSchemaSpec_Subschema) GetTypeMerge() map[string]*GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig { + if x != nil { + return x.TypeMerge + } + return nil +} + +type isGraphQLStitchedSchemaSpec_Subschema_GraphqlSchema interface { + isGraphQLStitchedSchemaSpec_Subschema_GraphqlSchema() +} + +type GraphQLStitchedSchemaSpec_Subschema_Schema struct { + // Reference to a GraphQLSchema resource that contains the configuration for this subschema. + Schema *v1.ClusterObjectRef `protobuf:"bytes,1,opt,name=schema,proto3,oneof"` +} + +type GraphQLStitchedSchemaSpec_Subschema_StitchedSchema struct { + // Reference to a GraphQLStitchedSchema resource that contains the configuration for this subschema. + StitchedSchema *v1.ClusterObjectRef `protobuf:"bytes,2,opt,name=stitched_schema,json=stitchedSchema,proto3,oneof"` +} + +func (*GraphQLStitchedSchemaSpec_Subschema_Schema) isGraphQLStitchedSchemaSpec_Subschema_GraphqlSchema() { +} + +func (*GraphQLStitchedSchemaSpec_Subschema_StitchedSchema) isGraphQLStitchedSchemaSpec_Subschema_GraphqlSchema() { +} + +type GraphQLStitchedSchemaSpec_Options struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Enable introspection queries on this GraphQL Stitched API. + // Introspection queries are used by GraphQL developers to understand the schema of the GraphQL API and create + // queries that are valid against the schema. Introspection is disabled by default, and should be disabled for + // production environments. + EnableIntrospection bool `protobuf:"varint,1,opt,name=enable_introspection,json=enableIntrospection,proto3" json:"enable_introspection,omitempty"` +} + +func (x *GraphQLStitchedSchemaSpec_Options) Reset() { + *x = GraphQLStitchedSchemaSpec_Options{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLStitchedSchemaSpec_Options) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLStitchedSchemaSpec_Options) ProtoMessage() {} + +func (x *GraphQLStitchedSchemaSpec_Options) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLStitchedSchemaSpec_Options.ProtoReflect.Descriptor instead. +func (*GraphQLStitchedSchemaSpec_Options) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *GraphQLStitchedSchemaSpec_Options) GetEnableIntrospection() bool { + if x != nil { + return x.EnableIntrospection + } + return false +} + +type GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // This specifies one or more key fields required from other services to perform this query. + // Query planning will automatically resolve these fields from other subschemas in dependency order. + // This is a graphql selection set specified as a string + // e.g. '{ username }' + SelectionSet string `protobuf:"bytes,1,opt,name=selection_set,json=selectionSet,proto3" json:"selection_set,omitempty"` + // specifies the root field from this subschema used to request the local type + QueryName string `protobuf:"bytes,2,opt,name=query_name,json=queryName,proto3" json:"query_name,omitempty"` + Args map[string]string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) Reset() { + *x = GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) ProtoMessage() {} + +func (x *GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig.ProtoReflect.Descriptor instead. +func (*GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescGZIP(), []int{0, 0, 1} +} + +func (x *GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) GetSelectionSet() string { + if x != nil { + return x.SelectionSet + } + return "" +} + +func (x *GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) GetQueryName() string { + if x != nil { + return x.QueryName + } + return "" +} + +func (x *GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) GetArgs() map[string]string { + if x != nil { + return x.Args + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDesc = []byte{ + 0x0a, 0x67, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x71, 0x6c, 0x5f, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x64, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xc1, 0x07, 0x0a, 0x19, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x74, 0x69, + 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x5f, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, + 0x12, 0x57, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3d, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xab, 0x05, 0x0a, 0x09, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, + 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x06, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, + 0x65, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x6d, 0x0a, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, + 0x65, 0x72, 0x67, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x61, 0x70, 0x69, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, + 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x4d, 0x65, 0x72, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x74, 0x79, 0x70, 0x65, + 0x4d, 0x65, 0x72, 0x67, 0x65, 0x1a, 0x8d, 0x01, 0x0a, 0x0e, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, + 0x72, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x65, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x61, 0x70, 0x69, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x53, 0x74, + 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, + 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xfd, 0x01, 0x0a, 0x0f, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, + 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6d, 0x0a, + 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x61, 0x70, + 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, + 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x54, 0x79, 0x70, + 0x65, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x72, 0x67, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, + 0x41, 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, + 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x1a, 0x3c, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, + 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x01, 0x0a, 0x1b, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, + 0x4c, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x77, + 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x8b, 0x02, 0x0a, 0x1b, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x51, 0x4c, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x67, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x61, + 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, + 0x4c, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5b, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, + 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_goTypes = []interface{}{ + (*GraphQLStitchedSchemaSpec)(nil), // 0: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec + (*GraphQLStitchedSchemaStatus)(nil), // 1: apimanagement.gloo.solo.io.GraphQLStitchedSchemaStatus + (*GraphQLStitchedSchemaReport)(nil), // 2: apimanagement.gloo.solo.io.GraphQLStitchedSchemaReport + (*GraphQLStitchedSchemaSpec_Subschema)(nil), // 3: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema + (*GraphQLStitchedSchemaSpec_Options)(nil), // 4: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Options + nil, // 5: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema.TypeMergeEntry + (*GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig)(nil), // 6: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema.TypeMergeConfig + nil, // 7: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema.TypeMergeConfig.ArgsEntry + nil, // 8: apimanagement.gloo.solo.io.GraphQLStitchedSchemaReport.WorkspacesEntry + (*v2.Status)(nil), // 9: common.gloo.solo.io.Status + (*v1.ClusterObjectRef)(nil), // 10: core.skv2.solo.io.ClusterObjectRef + (*v2.Report)(nil), // 11: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_depIdxs = []int32{ + 3, // 0: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.subschemas:type_name -> apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema + 4, // 1: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.options:type_name -> apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Options + 9, // 2: apimanagement.gloo.solo.io.GraphQLStitchedSchemaStatus.common:type_name -> common.gloo.solo.io.Status + 8, // 3: apimanagement.gloo.solo.io.GraphQLStitchedSchemaReport.workspaces:type_name -> apimanagement.gloo.solo.io.GraphQLStitchedSchemaReport.WorkspacesEntry + 10, // 4: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema.schema:type_name -> core.skv2.solo.io.ClusterObjectRef + 10, // 5: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema.stitched_schema:type_name -> core.skv2.solo.io.ClusterObjectRef + 5, // 6: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema.type_merge:type_name -> apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema.TypeMergeEntry + 6, // 7: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema.TypeMergeEntry.value:type_name -> apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema.TypeMergeConfig + 7, // 8: apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema.TypeMergeConfig.args:type_name -> apimanagement.gloo.solo.io.GraphQLStitchedSchemaSpec.Subschema.TypeMergeConfig.ArgsEntry + 11, // 9: apimanagement.gloo.solo.io.GraphQLStitchedSchemaReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto != nil { + return + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_resolver_map_proto_init() + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLStitchedSchemaSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLStitchedSchemaStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLStitchedSchemaReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLStitchedSchemaSpec_Subschema); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLStitchedSchemaSpec_Options); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*GraphQLStitchedSchemaSpec_Subschema_Schema)(nil), + (*GraphQLStitchedSchemaSpec_Subschema_StitchedSchema)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_graphql_stitched_schema_proto_depIdxs = nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/graphql_stitched_schema.pb.hash.go b/client-go/apimanagement.gloo.solo.io/v2/graphql_stitched_schema.pb.hash.go new file mode 100644 index 000000000..0f5bde6d9 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/graphql_stitched_schema.pb.hash.go @@ -0,0 +1,356 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/graphql_stitched_schema.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *GraphQLStitchedSchemaSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLStitchedSchemaSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetSubschemas() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLStitchedSchemaStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLStitchedSchemaStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetOwnedByWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLStitchedSchemaReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLStitchedSchemaReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLStitchedSchemaSpec_Subschema) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLStitchedSchemaSpec_Subschema")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetTypeMerge() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + switch m.GraphqlSchema.(type) { + + case *GraphQLStitchedSchemaSpec_Subschema_Schema: + + if h, ok := interface{}(m.GetSchema()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Schema")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSchema(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Schema")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *GraphQLStitchedSchemaSpec_Subschema_StitchedSchema: + + if h, ok := interface{}(m.GetStitchedSchema()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("StitchedSchema")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetStitchedSchema(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("StitchedSchema")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLStitchedSchemaSpec_Options) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLStitchedSchemaSpec_Options")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetEnableIntrospection()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.GraphQLStitchedSchemaSpec_Subschema_TypeMergeConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSelectionSet())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetQueryName())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetArgs() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/json.gen.go b/client-go/apimanagement.gloo.solo.io/v2/json.gen.go new file mode 100644 index 000000000..6aa909976 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/json.gen.go @@ -0,0 +1,204 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for GraphQLStitchedSchemaSpec +func (this *GraphQLStitchedSchemaSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GraphQLStitchedSchemaSpec +func (this *GraphQLStitchedSchemaSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for GraphQLStitchedSchemaStatus +func (this *GraphQLStitchedSchemaStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GraphQLStitchedSchemaStatus +func (this *GraphQLStitchedSchemaStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for GraphQLResolverMapSpec +func (this *GraphQLResolverMapSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GraphQLResolverMapSpec +func (this *GraphQLResolverMapSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for GraphQLResolverMapStatus +func (this *GraphQLResolverMapStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GraphQLResolverMapStatus +func (this *GraphQLResolverMapStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for GraphQLSchemaSpec +func (this *GraphQLSchemaSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GraphQLSchemaSpec +func (this *GraphQLSchemaSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for GraphQLSchemaStatus +func (this *GraphQLSchemaStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GraphQLSchemaStatus +func (this *GraphQLSchemaStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ApiDocSpec +func (this *ApiDocSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ApiDocSpec +func (this *ApiDocSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ApiDocStatus +func (this *ApiDocStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ApiDocStatus +func (this *ApiDocStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for PortalSpec +func (this *PortalSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for PortalSpec +func (this *PortalSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for PortalStatus +func (this *PortalStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for PortalStatus +func (this *PortalStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for PortalGroupSpec +func (this *PortalGroupSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for PortalGroupSpec +func (this *PortalGroupSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for PortalGroupStatus +func (this *PortalGroupStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for PortalGroupStatus +func (this *PortalGroupStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ApiProductSpec +func (this *ApiProductSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ApiProductSpec +func (this *ApiProductSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ApiProductStatus +func (this *ApiProductStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ApiProductStatus +func (this *ApiProductStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ApiSchemaDiscoverySpec +func (this *ApiSchemaDiscoverySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ApiSchemaDiscoverySpec +func (this *ApiSchemaDiscoverySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ApiSchemaDiscoveryStatus +func (this *ApiSchemaDiscoveryStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ApiSchemaDiscoveryStatus +func (this *ApiSchemaDiscoveryStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/mocks/clients.go b/client-go/apimanagement.gloo.solo.io/v2/mocks/clients.go new file mode 100644 index 000000000..d98e317c6 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/mocks/clients.go @@ -0,0 +1,4220 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2 is a generated GoMock package. +package mock_v2 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2 "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// ApiDocs mocks base method. +func (m *MockClientset) ApiDocs() v2.ApiDocClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ApiDocs") + ret0, _ := ret[0].(v2.ApiDocClient) + return ret0 +} + +// ApiDocs indicates an expected call of ApiDocs. +func (mr *MockClientsetMockRecorder) ApiDocs() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ApiDocs", reflect.TypeOf((*MockClientset)(nil).ApiDocs)) +} + +// ApiProducts mocks base method. +func (m *MockClientset) ApiProducts() v2.ApiProductClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ApiProducts") + ret0, _ := ret[0].(v2.ApiProductClient) + return ret0 +} + +// ApiProducts indicates an expected call of ApiProducts. +func (mr *MockClientsetMockRecorder) ApiProducts() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ApiProducts", reflect.TypeOf((*MockClientset)(nil).ApiProducts)) +} + +// ApiSchemaDiscoveries mocks base method. +func (m *MockClientset) ApiSchemaDiscoveries() v2.ApiSchemaDiscoveryClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ApiSchemaDiscoveries") + ret0, _ := ret[0].(v2.ApiSchemaDiscoveryClient) + return ret0 +} + +// ApiSchemaDiscoveries indicates an expected call of ApiSchemaDiscoveries. +func (mr *MockClientsetMockRecorder) ApiSchemaDiscoveries() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ApiSchemaDiscoveries", reflect.TypeOf((*MockClientset)(nil).ApiSchemaDiscoveries)) +} + +// GraphQLResolverMaps mocks base method. +func (m *MockClientset) GraphQLResolverMaps() v2.GraphQLResolverMapClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GraphQLResolverMaps") + ret0, _ := ret[0].(v2.GraphQLResolverMapClient) + return ret0 +} + +// GraphQLResolverMaps indicates an expected call of GraphQLResolverMaps. +func (mr *MockClientsetMockRecorder) GraphQLResolverMaps() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GraphQLResolverMaps", reflect.TypeOf((*MockClientset)(nil).GraphQLResolverMaps)) +} + +// GraphQLSchemas mocks base method. +func (m *MockClientset) GraphQLSchemas() v2.GraphQLSchemaClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GraphQLSchemas") + ret0, _ := ret[0].(v2.GraphQLSchemaClient) + return ret0 +} + +// GraphQLSchemas indicates an expected call of GraphQLSchemas. +func (mr *MockClientsetMockRecorder) GraphQLSchemas() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GraphQLSchemas", reflect.TypeOf((*MockClientset)(nil).GraphQLSchemas)) +} + +// GraphQLStitchedSchemas mocks base method. +func (m *MockClientset) GraphQLStitchedSchemas() v2.GraphQLStitchedSchemaClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GraphQLStitchedSchemas") + ret0, _ := ret[0].(v2.GraphQLStitchedSchemaClient) + return ret0 +} + +// GraphQLStitchedSchemas indicates an expected call of GraphQLStitchedSchemas. +func (mr *MockClientsetMockRecorder) GraphQLStitchedSchemas() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GraphQLStitchedSchemas", reflect.TypeOf((*MockClientset)(nil).GraphQLStitchedSchemas)) +} + +// PortalGroups mocks base method. +func (m *MockClientset) PortalGroups() v2.PortalGroupClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PortalGroups") + ret0, _ := ret[0].(v2.PortalGroupClient) + return ret0 +} + +// PortalGroups indicates an expected call of PortalGroups. +func (mr *MockClientsetMockRecorder) PortalGroups() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PortalGroups", reflect.TypeOf((*MockClientset)(nil).PortalGroups)) +} + +// Portals mocks base method. +func (m *MockClientset) Portals() v2.PortalClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Portals") + ret0, _ := ret[0].(v2.PortalClient) + return ret0 +} + +// Portals indicates an expected call of Portals. +func (mr *MockClientsetMockRecorder) Portals() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Portals", reflect.TypeOf((*MockClientset)(nil).Portals)) +} + +// MockGraphQLStitchedSchemaReader is a mock of GraphQLStitchedSchemaReader interface. +type MockGraphQLStitchedSchemaReader struct { + ctrl *gomock.Controller + recorder *MockGraphQLStitchedSchemaReaderMockRecorder +} + +// MockGraphQLStitchedSchemaReaderMockRecorder is the mock recorder for MockGraphQLStitchedSchemaReader. +type MockGraphQLStitchedSchemaReaderMockRecorder struct { + mock *MockGraphQLStitchedSchemaReader +} + +// NewMockGraphQLStitchedSchemaReader creates a new mock instance. +func NewMockGraphQLStitchedSchemaReader(ctrl *gomock.Controller) *MockGraphQLStitchedSchemaReader { + mock := &MockGraphQLStitchedSchemaReader{ctrl: ctrl} + mock.recorder = &MockGraphQLStitchedSchemaReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLStitchedSchemaReader) EXPECT() *MockGraphQLStitchedSchemaReaderMockRecorder { + return m.recorder +} + +// GetGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaReader) GetGraphQLStitchedSchema(ctx context.Context, key client.ObjectKey) (*v2.GraphQLStitchedSchema, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetGraphQLStitchedSchema", ctx, key) + ret0, _ := ret[0].(*v2.GraphQLStitchedSchema) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGraphQLStitchedSchema indicates an expected call of GetGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaReaderMockRecorder) GetGraphQLStitchedSchema(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaReader)(nil).GetGraphQLStitchedSchema), ctx, key) +} + +// ListGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaReader) ListGraphQLStitchedSchema(ctx context.Context, opts ...client.ListOption) (*v2.GraphQLStitchedSchemaList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(*v2.GraphQLStitchedSchemaList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListGraphQLStitchedSchema indicates an expected call of ListGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaReaderMockRecorder) ListGraphQLStitchedSchema(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaReader)(nil).ListGraphQLStitchedSchema), varargs...) +} + +// MockGraphQLStitchedSchemaWriter is a mock of GraphQLStitchedSchemaWriter interface. +type MockGraphQLStitchedSchemaWriter struct { + ctrl *gomock.Controller + recorder *MockGraphQLStitchedSchemaWriterMockRecorder +} + +// MockGraphQLStitchedSchemaWriterMockRecorder is the mock recorder for MockGraphQLStitchedSchemaWriter. +type MockGraphQLStitchedSchemaWriterMockRecorder struct { + mock *MockGraphQLStitchedSchemaWriter +} + +// NewMockGraphQLStitchedSchemaWriter creates a new mock instance. +func NewMockGraphQLStitchedSchemaWriter(ctrl *gomock.Controller) *MockGraphQLStitchedSchemaWriter { + mock := &MockGraphQLStitchedSchemaWriter{ctrl: ctrl} + mock.recorder = &MockGraphQLStitchedSchemaWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLStitchedSchemaWriter) EXPECT() *MockGraphQLStitchedSchemaWriterMockRecorder { + return m.recorder +} + +// CreateGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaWriter) CreateGraphQLStitchedSchema(ctx context.Context, obj *v2.GraphQLStitchedSchema, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLStitchedSchema indicates an expected call of CreateGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaWriterMockRecorder) CreateGraphQLStitchedSchema(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaWriter)(nil).CreateGraphQLStitchedSchema), varargs...) +} + +// DeleteAllOfGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaWriter) DeleteAllOfGraphQLStitchedSchema(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfGraphQLStitchedSchema indicates an expected call of DeleteAllOfGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaWriterMockRecorder) DeleteAllOfGraphQLStitchedSchema(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaWriter)(nil).DeleteAllOfGraphQLStitchedSchema), varargs...) +} + +// DeleteGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaWriter) DeleteGraphQLStitchedSchema(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLStitchedSchema indicates an expected call of DeleteGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaWriterMockRecorder) DeleteGraphQLStitchedSchema(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaWriter)(nil).DeleteGraphQLStitchedSchema), varargs...) +} + +// PatchGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaWriter) PatchGraphQLStitchedSchema(ctx context.Context, obj *v2.GraphQLStitchedSchema, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLStitchedSchema indicates an expected call of PatchGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaWriterMockRecorder) PatchGraphQLStitchedSchema(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaWriter)(nil).PatchGraphQLStitchedSchema), varargs...) +} + +// UpdateGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaWriter) UpdateGraphQLStitchedSchema(ctx context.Context, obj *v2.GraphQLStitchedSchema, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLStitchedSchema indicates an expected call of UpdateGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaWriterMockRecorder) UpdateGraphQLStitchedSchema(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaWriter)(nil).UpdateGraphQLStitchedSchema), varargs...) +} + +// UpsertGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaWriter) UpsertGraphQLStitchedSchema(ctx context.Context, obj *v2.GraphQLStitchedSchema, transitionFuncs ...v2.GraphQLStitchedSchemaTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertGraphQLStitchedSchema indicates an expected call of UpsertGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaWriterMockRecorder) UpsertGraphQLStitchedSchema(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaWriter)(nil).UpsertGraphQLStitchedSchema), varargs...) +} + +// MockGraphQLStitchedSchemaStatusWriter is a mock of GraphQLStitchedSchemaStatusWriter interface. +type MockGraphQLStitchedSchemaStatusWriter struct { + ctrl *gomock.Controller + recorder *MockGraphQLStitchedSchemaStatusWriterMockRecorder +} + +// MockGraphQLStitchedSchemaStatusWriterMockRecorder is the mock recorder for MockGraphQLStitchedSchemaStatusWriter. +type MockGraphQLStitchedSchemaStatusWriterMockRecorder struct { + mock *MockGraphQLStitchedSchemaStatusWriter +} + +// NewMockGraphQLStitchedSchemaStatusWriter creates a new mock instance. +func NewMockGraphQLStitchedSchemaStatusWriter(ctrl *gomock.Controller) *MockGraphQLStitchedSchemaStatusWriter { + mock := &MockGraphQLStitchedSchemaStatusWriter{ctrl: ctrl} + mock.recorder = &MockGraphQLStitchedSchemaStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLStitchedSchemaStatusWriter) EXPECT() *MockGraphQLStitchedSchemaStatusWriterMockRecorder { + return m.recorder +} + +// PatchGraphQLStitchedSchemaStatus mocks base method. +func (m *MockGraphQLStitchedSchemaStatusWriter) PatchGraphQLStitchedSchemaStatus(ctx context.Context, obj *v2.GraphQLStitchedSchema, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLStitchedSchemaStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLStitchedSchemaStatus indicates an expected call of PatchGraphQLStitchedSchemaStatus. +func (mr *MockGraphQLStitchedSchemaStatusWriterMockRecorder) PatchGraphQLStitchedSchemaStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLStitchedSchemaStatus", reflect.TypeOf((*MockGraphQLStitchedSchemaStatusWriter)(nil).PatchGraphQLStitchedSchemaStatus), varargs...) +} + +// UpdateGraphQLStitchedSchemaStatus mocks base method. +func (m *MockGraphQLStitchedSchemaStatusWriter) UpdateGraphQLStitchedSchemaStatus(ctx context.Context, obj *v2.GraphQLStitchedSchema, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLStitchedSchemaStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLStitchedSchemaStatus indicates an expected call of UpdateGraphQLStitchedSchemaStatus. +func (mr *MockGraphQLStitchedSchemaStatusWriterMockRecorder) UpdateGraphQLStitchedSchemaStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLStitchedSchemaStatus", reflect.TypeOf((*MockGraphQLStitchedSchemaStatusWriter)(nil).UpdateGraphQLStitchedSchemaStatus), varargs...) +} + +// MockGraphQLStitchedSchemaClient is a mock of GraphQLStitchedSchemaClient interface. +type MockGraphQLStitchedSchemaClient struct { + ctrl *gomock.Controller + recorder *MockGraphQLStitchedSchemaClientMockRecorder +} + +// MockGraphQLStitchedSchemaClientMockRecorder is the mock recorder for MockGraphQLStitchedSchemaClient. +type MockGraphQLStitchedSchemaClientMockRecorder struct { + mock *MockGraphQLStitchedSchemaClient +} + +// NewMockGraphQLStitchedSchemaClient creates a new mock instance. +func NewMockGraphQLStitchedSchemaClient(ctrl *gomock.Controller) *MockGraphQLStitchedSchemaClient { + mock := &MockGraphQLStitchedSchemaClient{ctrl: ctrl} + mock.recorder = &MockGraphQLStitchedSchemaClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLStitchedSchemaClient) EXPECT() *MockGraphQLStitchedSchemaClientMockRecorder { + return m.recorder +} + +// CreateGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaClient) CreateGraphQLStitchedSchema(ctx context.Context, obj *v2.GraphQLStitchedSchema, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLStitchedSchema indicates an expected call of CreateGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaClientMockRecorder) CreateGraphQLStitchedSchema(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaClient)(nil).CreateGraphQLStitchedSchema), varargs...) +} + +// DeleteAllOfGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaClient) DeleteAllOfGraphQLStitchedSchema(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfGraphQLStitchedSchema indicates an expected call of DeleteAllOfGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaClientMockRecorder) DeleteAllOfGraphQLStitchedSchema(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaClient)(nil).DeleteAllOfGraphQLStitchedSchema), varargs...) +} + +// DeleteGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaClient) DeleteGraphQLStitchedSchema(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLStitchedSchema indicates an expected call of DeleteGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaClientMockRecorder) DeleteGraphQLStitchedSchema(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaClient)(nil).DeleteGraphQLStitchedSchema), varargs...) +} + +// GetGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaClient) GetGraphQLStitchedSchema(ctx context.Context, key client.ObjectKey) (*v2.GraphQLStitchedSchema, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetGraphQLStitchedSchema", ctx, key) + ret0, _ := ret[0].(*v2.GraphQLStitchedSchema) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGraphQLStitchedSchema indicates an expected call of GetGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaClientMockRecorder) GetGraphQLStitchedSchema(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaClient)(nil).GetGraphQLStitchedSchema), ctx, key) +} + +// ListGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaClient) ListGraphQLStitchedSchema(ctx context.Context, opts ...client.ListOption) (*v2.GraphQLStitchedSchemaList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(*v2.GraphQLStitchedSchemaList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListGraphQLStitchedSchema indicates an expected call of ListGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaClientMockRecorder) ListGraphQLStitchedSchema(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaClient)(nil).ListGraphQLStitchedSchema), varargs...) +} + +// PatchGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaClient) PatchGraphQLStitchedSchema(ctx context.Context, obj *v2.GraphQLStitchedSchema, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLStitchedSchema indicates an expected call of PatchGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaClientMockRecorder) PatchGraphQLStitchedSchema(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaClient)(nil).PatchGraphQLStitchedSchema), varargs...) +} + +// PatchGraphQLStitchedSchemaStatus mocks base method. +func (m *MockGraphQLStitchedSchemaClient) PatchGraphQLStitchedSchemaStatus(ctx context.Context, obj *v2.GraphQLStitchedSchema, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLStitchedSchemaStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLStitchedSchemaStatus indicates an expected call of PatchGraphQLStitchedSchemaStatus. +func (mr *MockGraphQLStitchedSchemaClientMockRecorder) PatchGraphQLStitchedSchemaStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLStitchedSchemaStatus", reflect.TypeOf((*MockGraphQLStitchedSchemaClient)(nil).PatchGraphQLStitchedSchemaStatus), varargs...) +} + +// UpdateGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaClient) UpdateGraphQLStitchedSchema(ctx context.Context, obj *v2.GraphQLStitchedSchema, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLStitchedSchema indicates an expected call of UpdateGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaClientMockRecorder) UpdateGraphQLStitchedSchema(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaClient)(nil).UpdateGraphQLStitchedSchema), varargs...) +} + +// UpdateGraphQLStitchedSchemaStatus mocks base method. +func (m *MockGraphQLStitchedSchemaClient) UpdateGraphQLStitchedSchemaStatus(ctx context.Context, obj *v2.GraphQLStitchedSchema, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLStitchedSchemaStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLStitchedSchemaStatus indicates an expected call of UpdateGraphQLStitchedSchemaStatus. +func (mr *MockGraphQLStitchedSchemaClientMockRecorder) UpdateGraphQLStitchedSchemaStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLStitchedSchemaStatus", reflect.TypeOf((*MockGraphQLStitchedSchemaClient)(nil).UpdateGraphQLStitchedSchemaStatus), varargs...) +} + +// UpsertGraphQLStitchedSchema mocks base method. +func (m *MockGraphQLStitchedSchemaClient) UpsertGraphQLStitchedSchema(ctx context.Context, obj *v2.GraphQLStitchedSchema, transitionFuncs ...v2.GraphQLStitchedSchemaTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertGraphQLStitchedSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertGraphQLStitchedSchema indicates an expected call of UpsertGraphQLStitchedSchema. +func (mr *MockGraphQLStitchedSchemaClientMockRecorder) UpsertGraphQLStitchedSchema(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertGraphQLStitchedSchema", reflect.TypeOf((*MockGraphQLStitchedSchemaClient)(nil).UpsertGraphQLStitchedSchema), varargs...) +} + +// MockMulticlusterGraphQLStitchedSchemaClient is a mock of MulticlusterGraphQLStitchedSchemaClient interface. +type MockMulticlusterGraphQLStitchedSchemaClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLStitchedSchemaClientMockRecorder +} + +// MockMulticlusterGraphQLStitchedSchemaClientMockRecorder is the mock recorder for MockMulticlusterGraphQLStitchedSchemaClient. +type MockMulticlusterGraphQLStitchedSchemaClientMockRecorder struct { + mock *MockMulticlusterGraphQLStitchedSchemaClient +} + +// NewMockMulticlusterGraphQLStitchedSchemaClient creates a new mock instance. +func NewMockMulticlusterGraphQLStitchedSchemaClient(ctrl *gomock.Controller) *MockMulticlusterGraphQLStitchedSchemaClient { + mock := &MockMulticlusterGraphQLStitchedSchemaClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLStitchedSchemaClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLStitchedSchemaClient) EXPECT() *MockMulticlusterGraphQLStitchedSchemaClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterGraphQLStitchedSchemaClient) Cluster(cluster string) (v2.GraphQLStitchedSchemaClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.GraphQLStitchedSchemaClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterGraphQLStitchedSchemaClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterGraphQLStitchedSchemaClient)(nil).Cluster), cluster) +} + +// MockGraphQLResolverMapReader is a mock of GraphQLResolverMapReader interface. +type MockGraphQLResolverMapReader struct { + ctrl *gomock.Controller + recorder *MockGraphQLResolverMapReaderMockRecorder +} + +// MockGraphQLResolverMapReaderMockRecorder is the mock recorder for MockGraphQLResolverMapReader. +type MockGraphQLResolverMapReaderMockRecorder struct { + mock *MockGraphQLResolverMapReader +} + +// NewMockGraphQLResolverMapReader creates a new mock instance. +func NewMockGraphQLResolverMapReader(ctrl *gomock.Controller) *MockGraphQLResolverMapReader { + mock := &MockGraphQLResolverMapReader{ctrl: ctrl} + mock.recorder = &MockGraphQLResolverMapReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLResolverMapReader) EXPECT() *MockGraphQLResolverMapReaderMockRecorder { + return m.recorder +} + +// GetGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapReader) GetGraphQLResolverMap(ctx context.Context, key client.ObjectKey) (*v2.GraphQLResolverMap, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetGraphQLResolverMap", ctx, key) + ret0, _ := ret[0].(*v2.GraphQLResolverMap) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGraphQLResolverMap indicates an expected call of GetGraphQLResolverMap. +func (mr *MockGraphQLResolverMapReaderMockRecorder) GetGraphQLResolverMap(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapReader)(nil).GetGraphQLResolverMap), ctx, key) +} + +// ListGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapReader) ListGraphQLResolverMap(ctx context.Context, opts ...client.ListOption) (*v2.GraphQLResolverMapList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(*v2.GraphQLResolverMapList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListGraphQLResolverMap indicates an expected call of ListGraphQLResolverMap. +func (mr *MockGraphQLResolverMapReaderMockRecorder) ListGraphQLResolverMap(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapReader)(nil).ListGraphQLResolverMap), varargs...) +} + +// MockGraphQLResolverMapWriter is a mock of GraphQLResolverMapWriter interface. +type MockGraphQLResolverMapWriter struct { + ctrl *gomock.Controller + recorder *MockGraphQLResolverMapWriterMockRecorder +} + +// MockGraphQLResolverMapWriterMockRecorder is the mock recorder for MockGraphQLResolverMapWriter. +type MockGraphQLResolverMapWriterMockRecorder struct { + mock *MockGraphQLResolverMapWriter +} + +// NewMockGraphQLResolverMapWriter creates a new mock instance. +func NewMockGraphQLResolverMapWriter(ctrl *gomock.Controller) *MockGraphQLResolverMapWriter { + mock := &MockGraphQLResolverMapWriter{ctrl: ctrl} + mock.recorder = &MockGraphQLResolverMapWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLResolverMapWriter) EXPECT() *MockGraphQLResolverMapWriterMockRecorder { + return m.recorder +} + +// CreateGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapWriter) CreateGraphQLResolverMap(ctx context.Context, obj *v2.GraphQLResolverMap, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLResolverMap indicates an expected call of CreateGraphQLResolverMap. +func (mr *MockGraphQLResolverMapWriterMockRecorder) CreateGraphQLResolverMap(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapWriter)(nil).CreateGraphQLResolverMap), varargs...) +} + +// DeleteAllOfGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapWriter) DeleteAllOfGraphQLResolverMap(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfGraphQLResolverMap indicates an expected call of DeleteAllOfGraphQLResolverMap. +func (mr *MockGraphQLResolverMapWriterMockRecorder) DeleteAllOfGraphQLResolverMap(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapWriter)(nil).DeleteAllOfGraphQLResolverMap), varargs...) +} + +// DeleteGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapWriter) DeleteGraphQLResolverMap(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLResolverMap indicates an expected call of DeleteGraphQLResolverMap. +func (mr *MockGraphQLResolverMapWriterMockRecorder) DeleteGraphQLResolverMap(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapWriter)(nil).DeleteGraphQLResolverMap), varargs...) +} + +// PatchGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapWriter) PatchGraphQLResolverMap(ctx context.Context, obj *v2.GraphQLResolverMap, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLResolverMap indicates an expected call of PatchGraphQLResolverMap. +func (mr *MockGraphQLResolverMapWriterMockRecorder) PatchGraphQLResolverMap(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapWriter)(nil).PatchGraphQLResolverMap), varargs...) +} + +// UpdateGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapWriter) UpdateGraphQLResolverMap(ctx context.Context, obj *v2.GraphQLResolverMap, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLResolverMap indicates an expected call of UpdateGraphQLResolverMap. +func (mr *MockGraphQLResolverMapWriterMockRecorder) UpdateGraphQLResolverMap(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapWriter)(nil).UpdateGraphQLResolverMap), varargs...) +} + +// UpsertGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapWriter) UpsertGraphQLResolverMap(ctx context.Context, obj *v2.GraphQLResolverMap, transitionFuncs ...v2.GraphQLResolverMapTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertGraphQLResolverMap indicates an expected call of UpsertGraphQLResolverMap. +func (mr *MockGraphQLResolverMapWriterMockRecorder) UpsertGraphQLResolverMap(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapWriter)(nil).UpsertGraphQLResolverMap), varargs...) +} + +// MockGraphQLResolverMapStatusWriter is a mock of GraphQLResolverMapStatusWriter interface. +type MockGraphQLResolverMapStatusWriter struct { + ctrl *gomock.Controller + recorder *MockGraphQLResolverMapStatusWriterMockRecorder +} + +// MockGraphQLResolverMapStatusWriterMockRecorder is the mock recorder for MockGraphQLResolverMapStatusWriter. +type MockGraphQLResolverMapStatusWriterMockRecorder struct { + mock *MockGraphQLResolverMapStatusWriter +} + +// NewMockGraphQLResolverMapStatusWriter creates a new mock instance. +func NewMockGraphQLResolverMapStatusWriter(ctrl *gomock.Controller) *MockGraphQLResolverMapStatusWriter { + mock := &MockGraphQLResolverMapStatusWriter{ctrl: ctrl} + mock.recorder = &MockGraphQLResolverMapStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLResolverMapStatusWriter) EXPECT() *MockGraphQLResolverMapStatusWriterMockRecorder { + return m.recorder +} + +// PatchGraphQLResolverMapStatus mocks base method. +func (m *MockGraphQLResolverMapStatusWriter) PatchGraphQLResolverMapStatus(ctx context.Context, obj *v2.GraphQLResolverMap, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLResolverMapStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLResolverMapStatus indicates an expected call of PatchGraphQLResolverMapStatus. +func (mr *MockGraphQLResolverMapStatusWriterMockRecorder) PatchGraphQLResolverMapStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLResolverMapStatus", reflect.TypeOf((*MockGraphQLResolverMapStatusWriter)(nil).PatchGraphQLResolverMapStatus), varargs...) +} + +// UpdateGraphQLResolverMapStatus mocks base method. +func (m *MockGraphQLResolverMapStatusWriter) UpdateGraphQLResolverMapStatus(ctx context.Context, obj *v2.GraphQLResolverMap, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLResolverMapStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLResolverMapStatus indicates an expected call of UpdateGraphQLResolverMapStatus. +func (mr *MockGraphQLResolverMapStatusWriterMockRecorder) UpdateGraphQLResolverMapStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLResolverMapStatus", reflect.TypeOf((*MockGraphQLResolverMapStatusWriter)(nil).UpdateGraphQLResolverMapStatus), varargs...) +} + +// MockGraphQLResolverMapClient is a mock of GraphQLResolverMapClient interface. +type MockGraphQLResolverMapClient struct { + ctrl *gomock.Controller + recorder *MockGraphQLResolverMapClientMockRecorder +} + +// MockGraphQLResolverMapClientMockRecorder is the mock recorder for MockGraphQLResolverMapClient. +type MockGraphQLResolverMapClientMockRecorder struct { + mock *MockGraphQLResolverMapClient +} + +// NewMockGraphQLResolverMapClient creates a new mock instance. +func NewMockGraphQLResolverMapClient(ctrl *gomock.Controller) *MockGraphQLResolverMapClient { + mock := &MockGraphQLResolverMapClient{ctrl: ctrl} + mock.recorder = &MockGraphQLResolverMapClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLResolverMapClient) EXPECT() *MockGraphQLResolverMapClientMockRecorder { + return m.recorder +} + +// CreateGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapClient) CreateGraphQLResolverMap(ctx context.Context, obj *v2.GraphQLResolverMap, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLResolverMap indicates an expected call of CreateGraphQLResolverMap. +func (mr *MockGraphQLResolverMapClientMockRecorder) CreateGraphQLResolverMap(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapClient)(nil).CreateGraphQLResolverMap), varargs...) +} + +// DeleteAllOfGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapClient) DeleteAllOfGraphQLResolverMap(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfGraphQLResolverMap indicates an expected call of DeleteAllOfGraphQLResolverMap. +func (mr *MockGraphQLResolverMapClientMockRecorder) DeleteAllOfGraphQLResolverMap(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapClient)(nil).DeleteAllOfGraphQLResolverMap), varargs...) +} + +// DeleteGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapClient) DeleteGraphQLResolverMap(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLResolverMap indicates an expected call of DeleteGraphQLResolverMap. +func (mr *MockGraphQLResolverMapClientMockRecorder) DeleteGraphQLResolverMap(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapClient)(nil).DeleteGraphQLResolverMap), varargs...) +} + +// GetGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapClient) GetGraphQLResolverMap(ctx context.Context, key client.ObjectKey) (*v2.GraphQLResolverMap, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetGraphQLResolverMap", ctx, key) + ret0, _ := ret[0].(*v2.GraphQLResolverMap) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGraphQLResolverMap indicates an expected call of GetGraphQLResolverMap. +func (mr *MockGraphQLResolverMapClientMockRecorder) GetGraphQLResolverMap(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapClient)(nil).GetGraphQLResolverMap), ctx, key) +} + +// ListGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapClient) ListGraphQLResolverMap(ctx context.Context, opts ...client.ListOption) (*v2.GraphQLResolverMapList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(*v2.GraphQLResolverMapList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListGraphQLResolverMap indicates an expected call of ListGraphQLResolverMap. +func (mr *MockGraphQLResolverMapClientMockRecorder) ListGraphQLResolverMap(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapClient)(nil).ListGraphQLResolverMap), varargs...) +} + +// PatchGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapClient) PatchGraphQLResolverMap(ctx context.Context, obj *v2.GraphQLResolverMap, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLResolverMap indicates an expected call of PatchGraphQLResolverMap. +func (mr *MockGraphQLResolverMapClientMockRecorder) PatchGraphQLResolverMap(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapClient)(nil).PatchGraphQLResolverMap), varargs...) +} + +// PatchGraphQLResolverMapStatus mocks base method. +func (m *MockGraphQLResolverMapClient) PatchGraphQLResolverMapStatus(ctx context.Context, obj *v2.GraphQLResolverMap, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLResolverMapStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLResolverMapStatus indicates an expected call of PatchGraphQLResolverMapStatus. +func (mr *MockGraphQLResolverMapClientMockRecorder) PatchGraphQLResolverMapStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLResolverMapStatus", reflect.TypeOf((*MockGraphQLResolverMapClient)(nil).PatchGraphQLResolverMapStatus), varargs...) +} + +// UpdateGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapClient) UpdateGraphQLResolverMap(ctx context.Context, obj *v2.GraphQLResolverMap, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLResolverMap indicates an expected call of UpdateGraphQLResolverMap. +func (mr *MockGraphQLResolverMapClientMockRecorder) UpdateGraphQLResolverMap(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapClient)(nil).UpdateGraphQLResolverMap), varargs...) +} + +// UpdateGraphQLResolverMapStatus mocks base method. +func (m *MockGraphQLResolverMapClient) UpdateGraphQLResolverMapStatus(ctx context.Context, obj *v2.GraphQLResolverMap, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLResolverMapStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLResolverMapStatus indicates an expected call of UpdateGraphQLResolverMapStatus. +func (mr *MockGraphQLResolverMapClientMockRecorder) UpdateGraphQLResolverMapStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLResolverMapStatus", reflect.TypeOf((*MockGraphQLResolverMapClient)(nil).UpdateGraphQLResolverMapStatus), varargs...) +} + +// UpsertGraphQLResolverMap mocks base method. +func (m *MockGraphQLResolverMapClient) UpsertGraphQLResolverMap(ctx context.Context, obj *v2.GraphQLResolverMap, transitionFuncs ...v2.GraphQLResolverMapTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertGraphQLResolverMap", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertGraphQLResolverMap indicates an expected call of UpsertGraphQLResolverMap. +func (mr *MockGraphQLResolverMapClientMockRecorder) UpsertGraphQLResolverMap(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertGraphQLResolverMap", reflect.TypeOf((*MockGraphQLResolverMapClient)(nil).UpsertGraphQLResolverMap), varargs...) +} + +// MockMulticlusterGraphQLResolverMapClient is a mock of MulticlusterGraphQLResolverMapClient interface. +type MockMulticlusterGraphQLResolverMapClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLResolverMapClientMockRecorder +} + +// MockMulticlusterGraphQLResolverMapClientMockRecorder is the mock recorder for MockMulticlusterGraphQLResolverMapClient. +type MockMulticlusterGraphQLResolverMapClientMockRecorder struct { + mock *MockMulticlusterGraphQLResolverMapClient +} + +// NewMockMulticlusterGraphQLResolverMapClient creates a new mock instance. +func NewMockMulticlusterGraphQLResolverMapClient(ctrl *gomock.Controller) *MockMulticlusterGraphQLResolverMapClient { + mock := &MockMulticlusterGraphQLResolverMapClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLResolverMapClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLResolverMapClient) EXPECT() *MockMulticlusterGraphQLResolverMapClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterGraphQLResolverMapClient) Cluster(cluster string) (v2.GraphQLResolverMapClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.GraphQLResolverMapClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterGraphQLResolverMapClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterGraphQLResolverMapClient)(nil).Cluster), cluster) +} + +// MockGraphQLSchemaReader is a mock of GraphQLSchemaReader interface. +type MockGraphQLSchemaReader struct { + ctrl *gomock.Controller + recorder *MockGraphQLSchemaReaderMockRecorder +} + +// MockGraphQLSchemaReaderMockRecorder is the mock recorder for MockGraphQLSchemaReader. +type MockGraphQLSchemaReaderMockRecorder struct { + mock *MockGraphQLSchemaReader +} + +// NewMockGraphQLSchemaReader creates a new mock instance. +func NewMockGraphQLSchemaReader(ctrl *gomock.Controller) *MockGraphQLSchemaReader { + mock := &MockGraphQLSchemaReader{ctrl: ctrl} + mock.recorder = &MockGraphQLSchemaReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLSchemaReader) EXPECT() *MockGraphQLSchemaReaderMockRecorder { + return m.recorder +} + +// GetGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaReader) GetGraphQLSchema(ctx context.Context, key client.ObjectKey) (*v2.GraphQLSchema, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetGraphQLSchema", ctx, key) + ret0, _ := ret[0].(*v2.GraphQLSchema) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGraphQLSchema indicates an expected call of GetGraphQLSchema. +func (mr *MockGraphQLSchemaReaderMockRecorder) GetGraphQLSchema(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaReader)(nil).GetGraphQLSchema), ctx, key) +} + +// ListGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaReader) ListGraphQLSchema(ctx context.Context, opts ...client.ListOption) (*v2.GraphQLSchemaList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListGraphQLSchema", varargs...) + ret0, _ := ret[0].(*v2.GraphQLSchemaList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListGraphQLSchema indicates an expected call of ListGraphQLSchema. +func (mr *MockGraphQLSchemaReaderMockRecorder) ListGraphQLSchema(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaReader)(nil).ListGraphQLSchema), varargs...) +} + +// MockGraphQLSchemaWriter is a mock of GraphQLSchemaWriter interface. +type MockGraphQLSchemaWriter struct { + ctrl *gomock.Controller + recorder *MockGraphQLSchemaWriterMockRecorder +} + +// MockGraphQLSchemaWriterMockRecorder is the mock recorder for MockGraphQLSchemaWriter. +type MockGraphQLSchemaWriterMockRecorder struct { + mock *MockGraphQLSchemaWriter +} + +// NewMockGraphQLSchemaWriter creates a new mock instance. +func NewMockGraphQLSchemaWriter(ctrl *gomock.Controller) *MockGraphQLSchemaWriter { + mock := &MockGraphQLSchemaWriter{ctrl: ctrl} + mock.recorder = &MockGraphQLSchemaWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLSchemaWriter) EXPECT() *MockGraphQLSchemaWriterMockRecorder { + return m.recorder +} + +// CreateGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaWriter) CreateGraphQLSchema(ctx context.Context, obj *v2.GraphQLSchema, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateGraphQLSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLSchema indicates an expected call of CreateGraphQLSchema. +func (mr *MockGraphQLSchemaWriterMockRecorder) CreateGraphQLSchema(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaWriter)(nil).CreateGraphQLSchema), varargs...) +} + +// DeleteAllOfGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaWriter) DeleteAllOfGraphQLSchema(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfGraphQLSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfGraphQLSchema indicates an expected call of DeleteAllOfGraphQLSchema. +func (mr *MockGraphQLSchemaWriterMockRecorder) DeleteAllOfGraphQLSchema(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaWriter)(nil).DeleteAllOfGraphQLSchema), varargs...) +} + +// DeleteGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaWriter) DeleteGraphQLSchema(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteGraphQLSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLSchema indicates an expected call of DeleteGraphQLSchema. +func (mr *MockGraphQLSchemaWriterMockRecorder) DeleteGraphQLSchema(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaWriter)(nil).DeleteGraphQLSchema), varargs...) +} + +// PatchGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaWriter) PatchGraphQLSchema(ctx context.Context, obj *v2.GraphQLSchema, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLSchema indicates an expected call of PatchGraphQLSchema. +func (mr *MockGraphQLSchemaWriterMockRecorder) PatchGraphQLSchema(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaWriter)(nil).PatchGraphQLSchema), varargs...) +} + +// UpdateGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaWriter) UpdateGraphQLSchema(ctx context.Context, obj *v2.GraphQLSchema, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLSchema indicates an expected call of UpdateGraphQLSchema. +func (mr *MockGraphQLSchemaWriterMockRecorder) UpdateGraphQLSchema(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaWriter)(nil).UpdateGraphQLSchema), varargs...) +} + +// UpsertGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaWriter) UpsertGraphQLSchema(ctx context.Context, obj *v2.GraphQLSchema, transitionFuncs ...v2.GraphQLSchemaTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertGraphQLSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertGraphQLSchema indicates an expected call of UpsertGraphQLSchema. +func (mr *MockGraphQLSchemaWriterMockRecorder) UpsertGraphQLSchema(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaWriter)(nil).UpsertGraphQLSchema), varargs...) +} + +// MockGraphQLSchemaStatusWriter is a mock of GraphQLSchemaStatusWriter interface. +type MockGraphQLSchemaStatusWriter struct { + ctrl *gomock.Controller + recorder *MockGraphQLSchemaStatusWriterMockRecorder +} + +// MockGraphQLSchemaStatusWriterMockRecorder is the mock recorder for MockGraphQLSchemaStatusWriter. +type MockGraphQLSchemaStatusWriterMockRecorder struct { + mock *MockGraphQLSchemaStatusWriter +} + +// NewMockGraphQLSchemaStatusWriter creates a new mock instance. +func NewMockGraphQLSchemaStatusWriter(ctrl *gomock.Controller) *MockGraphQLSchemaStatusWriter { + mock := &MockGraphQLSchemaStatusWriter{ctrl: ctrl} + mock.recorder = &MockGraphQLSchemaStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLSchemaStatusWriter) EXPECT() *MockGraphQLSchemaStatusWriterMockRecorder { + return m.recorder +} + +// PatchGraphQLSchemaStatus mocks base method. +func (m *MockGraphQLSchemaStatusWriter) PatchGraphQLSchemaStatus(ctx context.Context, obj *v2.GraphQLSchema, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLSchemaStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLSchemaStatus indicates an expected call of PatchGraphQLSchemaStatus. +func (mr *MockGraphQLSchemaStatusWriterMockRecorder) PatchGraphQLSchemaStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLSchemaStatus", reflect.TypeOf((*MockGraphQLSchemaStatusWriter)(nil).PatchGraphQLSchemaStatus), varargs...) +} + +// UpdateGraphQLSchemaStatus mocks base method. +func (m *MockGraphQLSchemaStatusWriter) UpdateGraphQLSchemaStatus(ctx context.Context, obj *v2.GraphQLSchema, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLSchemaStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLSchemaStatus indicates an expected call of UpdateGraphQLSchemaStatus. +func (mr *MockGraphQLSchemaStatusWriterMockRecorder) UpdateGraphQLSchemaStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLSchemaStatus", reflect.TypeOf((*MockGraphQLSchemaStatusWriter)(nil).UpdateGraphQLSchemaStatus), varargs...) +} + +// MockGraphQLSchemaClient is a mock of GraphQLSchemaClient interface. +type MockGraphQLSchemaClient struct { + ctrl *gomock.Controller + recorder *MockGraphQLSchemaClientMockRecorder +} + +// MockGraphQLSchemaClientMockRecorder is the mock recorder for MockGraphQLSchemaClient. +type MockGraphQLSchemaClientMockRecorder struct { + mock *MockGraphQLSchemaClient +} + +// NewMockGraphQLSchemaClient creates a new mock instance. +func NewMockGraphQLSchemaClient(ctrl *gomock.Controller) *MockGraphQLSchemaClient { + mock := &MockGraphQLSchemaClient{ctrl: ctrl} + mock.recorder = &MockGraphQLSchemaClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLSchemaClient) EXPECT() *MockGraphQLSchemaClientMockRecorder { + return m.recorder +} + +// CreateGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaClient) CreateGraphQLSchema(ctx context.Context, obj *v2.GraphQLSchema, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateGraphQLSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLSchema indicates an expected call of CreateGraphQLSchema. +func (mr *MockGraphQLSchemaClientMockRecorder) CreateGraphQLSchema(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaClient)(nil).CreateGraphQLSchema), varargs...) +} + +// DeleteAllOfGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaClient) DeleteAllOfGraphQLSchema(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfGraphQLSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfGraphQLSchema indicates an expected call of DeleteAllOfGraphQLSchema. +func (mr *MockGraphQLSchemaClientMockRecorder) DeleteAllOfGraphQLSchema(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaClient)(nil).DeleteAllOfGraphQLSchema), varargs...) +} + +// DeleteGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaClient) DeleteGraphQLSchema(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteGraphQLSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLSchema indicates an expected call of DeleteGraphQLSchema. +func (mr *MockGraphQLSchemaClientMockRecorder) DeleteGraphQLSchema(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaClient)(nil).DeleteGraphQLSchema), varargs...) +} + +// GetGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaClient) GetGraphQLSchema(ctx context.Context, key client.ObjectKey) (*v2.GraphQLSchema, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetGraphQLSchema", ctx, key) + ret0, _ := ret[0].(*v2.GraphQLSchema) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGraphQLSchema indicates an expected call of GetGraphQLSchema. +func (mr *MockGraphQLSchemaClientMockRecorder) GetGraphQLSchema(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaClient)(nil).GetGraphQLSchema), ctx, key) +} + +// ListGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaClient) ListGraphQLSchema(ctx context.Context, opts ...client.ListOption) (*v2.GraphQLSchemaList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListGraphQLSchema", varargs...) + ret0, _ := ret[0].(*v2.GraphQLSchemaList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListGraphQLSchema indicates an expected call of ListGraphQLSchema. +func (mr *MockGraphQLSchemaClientMockRecorder) ListGraphQLSchema(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaClient)(nil).ListGraphQLSchema), varargs...) +} + +// PatchGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaClient) PatchGraphQLSchema(ctx context.Context, obj *v2.GraphQLSchema, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLSchema indicates an expected call of PatchGraphQLSchema. +func (mr *MockGraphQLSchemaClientMockRecorder) PatchGraphQLSchema(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaClient)(nil).PatchGraphQLSchema), varargs...) +} + +// PatchGraphQLSchemaStatus mocks base method. +func (m *MockGraphQLSchemaClient) PatchGraphQLSchemaStatus(ctx context.Context, obj *v2.GraphQLSchema, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLSchemaStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLSchemaStatus indicates an expected call of PatchGraphQLSchemaStatus. +func (mr *MockGraphQLSchemaClientMockRecorder) PatchGraphQLSchemaStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLSchemaStatus", reflect.TypeOf((*MockGraphQLSchemaClient)(nil).PatchGraphQLSchemaStatus), varargs...) +} + +// UpdateGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaClient) UpdateGraphQLSchema(ctx context.Context, obj *v2.GraphQLSchema, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLSchema indicates an expected call of UpdateGraphQLSchema. +func (mr *MockGraphQLSchemaClientMockRecorder) UpdateGraphQLSchema(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaClient)(nil).UpdateGraphQLSchema), varargs...) +} + +// UpdateGraphQLSchemaStatus mocks base method. +func (m *MockGraphQLSchemaClient) UpdateGraphQLSchemaStatus(ctx context.Context, obj *v2.GraphQLSchema, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLSchemaStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLSchemaStatus indicates an expected call of UpdateGraphQLSchemaStatus. +func (mr *MockGraphQLSchemaClientMockRecorder) UpdateGraphQLSchemaStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLSchemaStatus", reflect.TypeOf((*MockGraphQLSchemaClient)(nil).UpdateGraphQLSchemaStatus), varargs...) +} + +// UpsertGraphQLSchema mocks base method. +func (m *MockGraphQLSchemaClient) UpsertGraphQLSchema(ctx context.Context, obj *v2.GraphQLSchema, transitionFuncs ...v2.GraphQLSchemaTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertGraphQLSchema", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertGraphQLSchema indicates an expected call of UpsertGraphQLSchema. +func (mr *MockGraphQLSchemaClientMockRecorder) UpsertGraphQLSchema(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertGraphQLSchema", reflect.TypeOf((*MockGraphQLSchemaClient)(nil).UpsertGraphQLSchema), varargs...) +} + +// MockMulticlusterGraphQLSchemaClient is a mock of MulticlusterGraphQLSchemaClient interface. +type MockMulticlusterGraphQLSchemaClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLSchemaClientMockRecorder +} + +// MockMulticlusterGraphQLSchemaClientMockRecorder is the mock recorder for MockMulticlusterGraphQLSchemaClient. +type MockMulticlusterGraphQLSchemaClientMockRecorder struct { + mock *MockMulticlusterGraphQLSchemaClient +} + +// NewMockMulticlusterGraphQLSchemaClient creates a new mock instance. +func NewMockMulticlusterGraphQLSchemaClient(ctrl *gomock.Controller) *MockMulticlusterGraphQLSchemaClient { + mock := &MockMulticlusterGraphQLSchemaClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLSchemaClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLSchemaClient) EXPECT() *MockMulticlusterGraphQLSchemaClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterGraphQLSchemaClient) Cluster(cluster string) (v2.GraphQLSchemaClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.GraphQLSchemaClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterGraphQLSchemaClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterGraphQLSchemaClient)(nil).Cluster), cluster) +} + +// MockApiDocReader is a mock of ApiDocReader interface. +type MockApiDocReader struct { + ctrl *gomock.Controller + recorder *MockApiDocReaderMockRecorder +} + +// MockApiDocReaderMockRecorder is the mock recorder for MockApiDocReader. +type MockApiDocReaderMockRecorder struct { + mock *MockApiDocReader +} + +// NewMockApiDocReader creates a new mock instance. +func NewMockApiDocReader(ctrl *gomock.Controller) *MockApiDocReader { + mock := &MockApiDocReader{ctrl: ctrl} + mock.recorder = &MockApiDocReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiDocReader) EXPECT() *MockApiDocReaderMockRecorder { + return m.recorder +} + +// GetApiDoc mocks base method. +func (m *MockApiDocReader) GetApiDoc(ctx context.Context, key client.ObjectKey) (*v2.ApiDoc, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetApiDoc", ctx, key) + ret0, _ := ret[0].(*v2.ApiDoc) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetApiDoc indicates an expected call of GetApiDoc. +func (mr *MockApiDocReaderMockRecorder) GetApiDoc(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetApiDoc", reflect.TypeOf((*MockApiDocReader)(nil).GetApiDoc), ctx, key) +} + +// ListApiDoc mocks base method. +func (m *MockApiDocReader) ListApiDoc(ctx context.Context, opts ...client.ListOption) (*v2.ApiDocList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListApiDoc", varargs...) + ret0, _ := ret[0].(*v2.ApiDocList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListApiDoc indicates an expected call of ListApiDoc. +func (mr *MockApiDocReaderMockRecorder) ListApiDoc(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListApiDoc", reflect.TypeOf((*MockApiDocReader)(nil).ListApiDoc), varargs...) +} + +// MockApiDocWriter is a mock of ApiDocWriter interface. +type MockApiDocWriter struct { + ctrl *gomock.Controller + recorder *MockApiDocWriterMockRecorder +} + +// MockApiDocWriterMockRecorder is the mock recorder for MockApiDocWriter. +type MockApiDocWriterMockRecorder struct { + mock *MockApiDocWriter +} + +// NewMockApiDocWriter creates a new mock instance. +func NewMockApiDocWriter(ctrl *gomock.Controller) *MockApiDocWriter { + mock := &MockApiDocWriter{ctrl: ctrl} + mock.recorder = &MockApiDocWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiDocWriter) EXPECT() *MockApiDocWriterMockRecorder { + return m.recorder +} + +// CreateApiDoc mocks base method. +func (m *MockApiDocWriter) CreateApiDoc(ctx context.Context, obj *v2.ApiDoc, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateApiDoc", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateApiDoc indicates an expected call of CreateApiDoc. +func (mr *MockApiDocWriterMockRecorder) CreateApiDoc(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateApiDoc", reflect.TypeOf((*MockApiDocWriter)(nil).CreateApiDoc), varargs...) +} + +// DeleteAllOfApiDoc mocks base method. +func (m *MockApiDocWriter) DeleteAllOfApiDoc(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfApiDoc", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfApiDoc indicates an expected call of DeleteAllOfApiDoc. +func (mr *MockApiDocWriterMockRecorder) DeleteAllOfApiDoc(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfApiDoc", reflect.TypeOf((*MockApiDocWriter)(nil).DeleteAllOfApiDoc), varargs...) +} + +// DeleteApiDoc mocks base method. +func (m *MockApiDocWriter) DeleteApiDoc(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteApiDoc", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteApiDoc indicates an expected call of DeleteApiDoc. +func (mr *MockApiDocWriterMockRecorder) DeleteApiDoc(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteApiDoc", reflect.TypeOf((*MockApiDocWriter)(nil).DeleteApiDoc), varargs...) +} + +// PatchApiDoc mocks base method. +func (m *MockApiDocWriter) PatchApiDoc(ctx context.Context, obj *v2.ApiDoc, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchApiDoc", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchApiDoc indicates an expected call of PatchApiDoc. +func (mr *MockApiDocWriterMockRecorder) PatchApiDoc(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchApiDoc", reflect.TypeOf((*MockApiDocWriter)(nil).PatchApiDoc), varargs...) +} + +// UpdateApiDoc mocks base method. +func (m *MockApiDocWriter) UpdateApiDoc(ctx context.Context, obj *v2.ApiDoc, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApiDoc", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiDoc indicates an expected call of UpdateApiDoc. +func (mr *MockApiDocWriterMockRecorder) UpdateApiDoc(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiDoc", reflect.TypeOf((*MockApiDocWriter)(nil).UpdateApiDoc), varargs...) +} + +// UpsertApiDoc mocks base method. +func (m *MockApiDocWriter) UpsertApiDoc(ctx context.Context, obj *v2.ApiDoc, transitionFuncs ...v2.ApiDocTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertApiDoc", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertApiDoc indicates an expected call of UpsertApiDoc. +func (mr *MockApiDocWriterMockRecorder) UpsertApiDoc(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertApiDoc", reflect.TypeOf((*MockApiDocWriter)(nil).UpsertApiDoc), varargs...) +} + +// MockApiDocStatusWriter is a mock of ApiDocStatusWriter interface. +type MockApiDocStatusWriter struct { + ctrl *gomock.Controller + recorder *MockApiDocStatusWriterMockRecorder +} + +// MockApiDocStatusWriterMockRecorder is the mock recorder for MockApiDocStatusWriter. +type MockApiDocStatusWriterMockRecorder struct { + mock *MockApiDocStatusWriter +} + +// NewMockApiDocStatusWriter creates a new mock instance. +func NewMockApiDocStatusWriter(ctrl *gomock.Controller) *MockApiDocStatusWriter { + mock := &MockApiDocStatusWriter{ctrl: ctrl} + mock.recorder = &MockApiDocStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiDocStatusWriter) EXPECT() *MockApiDocStatusWriterMockRecorder { + return m.recorder +} + +// PatchApiDocStatus mocks base method. +func (m *MockApiDocStatusWriter) PatchApiDocStatus(ctx context.Context, obj *v2.ApiDoc, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchApiDocStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchApiDocStatus indicates an expected call of PatchApiDocStatus. +func (mr *MockApiDocStatusWriterMockRecorder) PatchApiDocStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchApiDocStatus", reflect.TypeOf((*MockApiDocStatusWriter)(nil).PatchApiDocStatus), varargs...) +} + +// UpdateApiDocStatus mocks base method. +func (m *MockApiDocStatusWriter) UpdateApiDocStatus(ctx context.Context, obj *v2.ApiDoc, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApiDocStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiDocStatus indicates an expected call of UpdateApiDocStatus. +func (mr *MockApiDocStatusWriterMockRecorder) UpdateApiDocStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiDocStatus", reflect.TypeOf((*MockApiDocStatusWriter)(nil).UpdateApiDocStatus), varargs...) +} + +// MockApiDocClient is a mock of ApiDocClient interface. +type MockApiDocClient struct { + ctrl *gomock.Controller + recorder *MockApiDocClientMockRecorder +} + +// MockApiDocClientMockRecorder is the mock recorder for MockApiDocClient. +type MockApiDocClientMockRecorder struct { + mock *MockApiDocClient +} + +// NewMockApiDocClient creates a new mock instance. +func NewMockApiDocClient(ctrl *gomock.Controller) *MockApiDocClient { + mock := &MockApiDocClient{ctrl: ctrl} + mock.recorder = &MockApiDocClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiDocClient) EXPECT() *MockApiDocClientMockRecorder { + return m.recorder +} + +// CreateApiDoc mocks base method. +func (m *MockApiDocClient) CreateApiDoc(ctx context.Context, obj *v2.ApiDoc, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateApiDoc", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateApiDoc indicates an expected call of CreateApiDoc. +func (mr *MockApiDocClientMockRecorder) CreateApiDoc(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateApiDoc", reflect.TypeOf((*MockApiDocClient)(nil).CreateApiDoc), varargs...) +} + +// DeleteAllOfApiDoc mocks base method. +func (m *MockApiDocClient) DeleteAllOfApiDoc(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfApiDoc", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfApiDoc indicates an expected call of DeleteAllOfApiDoc. +func (mr *MockApiDocClientMockRecorder) DeleteAllOfApiDoc(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfApiDoc", reflect.TypeOf((*MockApiDocClient)(nil).DeleteAllOfApiDoc), varargs...) +} + +// DeleteApiDoc mocks base method. +func (m *MockApiDocClient) DeleteApiDoc(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteApiDoc", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteApiDoc indicates an expected call of DeleteApiDoc. +func (mr *MockApiDocClientMockRecorder) DeleteApiDoc(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteApiDoc", reflect.TypeOf((*MockApiDocClient)(nil).DeleteApiDoc), varargs...) +} + +// GetApiDoc mocks base method. +func (m *MockApiDocClient) GetApiDoc(ctx context.Context, key client.ObjectKey) (*v2.ApiDoc, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetApiDoc", ctx, key) + ret0, _ := ret[0].(*v2.ApiDoc) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetApiDoc indicates an expected call of GetApiDoc. +func (mr *MockApiDocClientMockRecorder) GetApiDoc(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetApiDoc", reflect.TypeOf((*MockApiDocClient)(nil).GetApiDoc), ctx, key) +} + +// ListApiDoc mocks base method. +func (m *MockApiDocClient) ListApiDoc(ctx context.Context, opts ...client.ListOption) (*v2.ApiDocList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListApiDoc", varargs...) + ret0, _ := ret[0].(*v2.ApiDocList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListApiDoc indicates an expected call of ListApiDoc. +func (mr *MockApiDocClientMockRecorder) ListApiDoc(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListApiDoc", reflect.TypeOf((*MockApiDocClient)(nil).ListApiDoc), varargs...) +} + +// PatchApiDoc mocks base method. +func (m *MockApiDocClient) PatchApiDoc(ctx context.Context, obj *v2.ApiDoc, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchApiDoc", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchApiDoc indicates an expected call of PatchApiDoc. +func (mr *MockApiDocClientMockRecorder) PatchApiDoc(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchApiDoc", reflect.TypeOf((*MockApiDocClient)(nil).PatchApiDoc), varargs...) +} + +// PatchApiDocStatus mocks base method. +func (m *MockApiDocClient) PatchApiDocStatus(ctx context.Context, obj *v2.ApiDoc, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchApiDocStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchApiDocStatus indicates an expected call of PatchApiDocStatus. +func (mr *MockApiDocClientMockRecorder) PatchApiDocStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchApiDocStatus", reflect.TypeOf((*MockApiDocClient)(nil).PatchApiDocStatus), varargs...) +} + +// UpdateApiDoc mocks base method. +func (m *MockApiDocClient) UpdateApiDoc(ctx context.Context, obj *v2.ApiDoc, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApiDoc", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiDoc indicates an expected call of UpdateApiDoc. +func (mr *MockApiDocClientMockRecorder) UpdateApiDoc(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiDoc", reflect.TypeOf((*MockApiDocClient)(nil).UpdateApiDoc), varargs...) +} + +// UpdateApiDocStatus mocks base method. +func (m *MockApiDocClient) UpdateApiDocStatus(ctx context.Context, obj *v2.ApiDoc, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApiDocStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiDocStatus indicates an expected call of UpdateApiDocStatus. +func (mr *MockApiDocClientMockRecorder) UpdateApiDocStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiDocStatus", reflect.TypeOf((*MockApiDocClient)(nil).UpdateApiDocStatus), varargs...) +} + +// UpsertApiDoc mocks base method. +func (m *MockApiDocClient) UpsertApiDoc(ctx context.Context, obj *v2.ApiDoc, transitionFuncs ...v2.ApiDocTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertApiDoc", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertApiDoc indicates an expected call of UpsertApiDoc. +func (mr *MockApiDocClientMockRecorder) UpsertApiDoc(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertApiDoc", reflect.TypeOf((*MockApiDocClient)(nil).UpsertApiDoc), varargs...) +} + +// MockMulticlusterApiDocClient is a mock of MulticlusterApiDocClient interface. +type MockMulticlusterApiDocClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterApiDocClientMockRecorder +} + +// MockMulticlusterApiDocClientMockRecorder is the mock recorder for MockMulticlusterApiDocClient. +type MockMulticlusterApiDocClientMockRecorder struct { + mock *MockMulticlusterApiDocClient +} + +// NewMockMulticlusterApiDocClient creates a new mock instance. +func NewMockMulticlusterApiDocClient(ctrl *gomock.Controller) *MockMulticlusterApiDocClient { + mock := &MockMulticlusterApiDocClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterApiDocClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterApiDocClient) EXPECT() *MockMulticlusterApiDocClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterApiDocClient) Cluster(cluster string) (v2.ApiDocClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.ApiDocClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterApiDocClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterApiDocClient)(nil).Cluster), cluster) +} + +// MockPortalReader is a mock of PortalReader interface. +type MockPortalReader struct { + ctrl *gomock.Controller + recorder *MockPortalReaderMockRecorder +} + +// MockPortalReaderMockRecorder is the mock recorder for MockPortalReader. +type MockPortalReaderMockRecorder struct { + mock *MockPortalReader +} + +// NewMockPortalReader creates a new mock instance. +func NewMockPortalReader(ctrl *gomock.Controller) *MockPortalReader { + mock := &MockPortalReader{ctrl: ctrl} + mock.recorder = &MockPortalReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalReader) EXPECT() *MockPortalReaderMockRecorder { + return m.recorder +} + +// GetPortal mocks base method. +func (m *MockPortalReader) GetPortal(ctx context.Context, key client.ObjectKey) (*v2.Portal, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetPortal", ctx, key) + ret0, _ := ret[0].(*v2.Portal) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPortal indicates an expected call of GetPortal. +func (mr *MockPortalReaderMockRecorder) GetPortal(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPortal", reflect.TypeOf((*MockPortalReader)(nil).GetPortal), ctx, key) +} + +// ListPortal mocks base method. +func (m *MockPortalReader) ListPortal(ctx context.Context, opts ...client.ListOption) (*v2.PortalList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListPortal", varargs...) + ret0, _ := ret[0].(*v2.PortalList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListPortal indicates an expected call of ListPortal. +func (mr *MockPortalReaderMockRecorder) ListPortal(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPortal", reflect.TypeOf((*MockPortalReader)(nil).ListPortal), varargs...) +} + +// MockPortalWriter is a mock of PortalWriter interface. +type MockPortalWriter struct { + ctrl *gomock.Controller + recorder *MockPortalWriterMockRecorder +} + +// MockPortalWriterMockRecorder is the mock recorder for MockPortalWriter. +type MockPortalWriterMockRecorder struct { + mock *MockPortalWriter +} + +// NewMockPortalWriter creates a new mock instance. +func NewMockPortalWriter(ctrl *gomock.Controller) *MockPortalWriter { + mock := &MockPortalWriter{ctrl: ctrl} + mock.recorder = &MockPortalWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalWriter) EXPECT() *MockPortalWriterMockRecorder { + return m.recorder +} + +// CreatePortal mocks base method. +func (m *MockPortalWriter) CreatePortal(ctx context.Context, obj *v2.Portal, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreatePortal", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreatePortal indicates an expected call of CreatePortal. +func (mr *MockPortalWriterMockRecorder) CreatePortal(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePortal", reflect.TypeOf((*MockPortalWriter)(nil).CreatePortal), varargs...) +} + +// DeleteAllOfPortal mocks base method. +func (m *MockPortalWriter) DeleteAllOfPortal(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfPortal", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfPortal indicates an expected call of DeleteAllOfPortal. +func (mr *MockPortalWriterMockRecorder) DeleteAllOfPortal(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfPortal", reflect.TypeOf((*MockPortalWriter)(nil).DeleteAllOfPortal), varargs...) +} + +// DeletePortal mocks base method. +func (m *MockPortalWriter) DeletePortal(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeletePortal", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeletePortal indicates an expected call of DeletePortal. +func (mr *MockPortalWriterMockRecorder) DeletePortal(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePortal", reflect.TypeOf((*MockPortalWriter)(nil).DeletePortal), varargs...) +} + +// PatchPortal mocks base method. +func (m *MockPortalWriter) PatchPortal(ctx context.Context, obj *v2.Portal, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPortal", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPortal indicates an expected call of PatchPortal. +func (mr *MockPortalWriterMockRecorder) PatchPortal(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPortal", reflect.TypeOf((*MockPortalWriter)(nil).PatchPortal), varargs...) +} + +// UpdatePortal mocks base method. +func (m *MockPortalWriter) UpdatePortal(ctx context.Context, obj *v2.Portal, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePortal", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortal indicates an expected call of UpdatePortal. +func (mr *MockPortalWriterMockRecorder) UpdatePortal(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortal", reflect.TypeOf((*MockPortalWriter)(nil).UpdatePortal), varargs...) +} + +// UpsertPortal mocks base method. +func (m *MockPortalWriter) UpsertPortal(ctx context.Context, obj *v2.Portal, transitionFuncs ...v2.PortalTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertPortal", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertPortal indicates an expected call of UpsertPortal. +func (mr *MockPortalWriterMockRecorder) UpsertPortal(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertPortal", reflect.TypeOf((*MockPortalWriter)(nil).UpsertPortal), varargs...) +} + +// MockPortalStatusWriter is a mock of PortalStatusWriter interface. +type MockPortalStatusWriter struct { + ctrl *gomock.Controller + recorder *MockPortalStatusWriterMockRecorder +} + +// MockPortalStatusWriterMockRecorder is the mock recorder for MockPortalStatusWriter. +type MockPortalStatusWriterMockRecorder struct { + mock *MockPortalStatusWriter +} + +// NewMockPortalStatusWriter creates a new mock instance. +func NewMockPortalStatusWriter(ctrl *gomock.Controller) *MockPortalStatusWriter { + mock := &MockPortalStatusWriter{ctrl: ctrl} + mock.recorder = &MockPortalStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalStatusWriter) EXPECT() *MockPortalStatusWriterMockRecorder { + return m.recorder +} + +// PatchPortalStatus mocks base method. +func (m *MockPortalStatusWriter) PatchPortalStatus(ctx context.Context, obj *v2.Portal, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPortalStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPortalStatus indicates an expected call of PatchPortalStatus. +func (mr *MockPortalStatusWriterMockRecorder) PatchPortalStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPortalStatus", reflect.TypeOf((*MockPortalStatusWriter)(nil).PatchPortalStatus), varargs...) +} + +// UpdatePortalStatus mocks base method. +func (m *MockPortalStatusWriter) UpdatePortalStatus(ctx context.Context, obj *v2.Portal, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePortalStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortalStatus indicates an expected call of UpdatePortalStatus. +func (mr *MockPortalStatusWriterMockRecorder) UpdatePortalStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortalStatus", reflect.TypeOf((*MockPortalStatusWriter)(nil).UpdatePortalStatus), varargs...) +} + +// MockPortalClient is a mock of PortalClient interface. +type MockPortalClient struct { + ctrl *gomock.Controller + recorder *MockPortalClientMockRecorder +} + +// MockPortalClientMockRecorder is the mock recorder for MockPortalClient. +type MockPortalClientMockRecorder struct { + mock *MockPortalClient +} + +// NewMockPortalClient creates a new mock instance. +func NewMockPortalClient(ctrl *gomock.Controller) *MockPortalClient { + mock := &MockPortalClient{ctrl: ctrl} + mock.recorder = &MockPortalClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalClient) EXPECT() *MockPortalClientMockRecorder { + return m.recorder +} + +// CreatePortal mocks base method. +func (m *MockPortalClient) CreatePortal(ctx context.Context, obj *v2.Portal, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreatePortal", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreatePortal indicates an expected call of CreatePortal. +func (mr *MockPortalClientMockRecorder) CreatePortal(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePortal", reflect.TypeOf((*MockPortalClient)(nil).CreatePortal), varargs...) +} + +// DeleteAllOfPortal mocks base method. +func (m *MockPortalClient) DeleteAllOfPortal(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfPortal", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfPortal indicates an expected call of DeleteAllOfPortal. +func (mr *MockPortalClientMockRecorder) DeleteAllOfPortal(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfPortal", reflect.TypeOf((*MockPortalClient)(nil).DeleteAllOfPortal), varargs...) +} + +// DeletePortal mocks base method. +func (m *MockPortalClient) DeletePortal(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeletePortal", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeletePortal indicates an expected call of DeletePortal. +func (mr *MockPortalClientMockRecorder) DeletePortal(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePortal", reflect.TypeOf((*MockPortalClient)(nil).DeletePortal), varargs...) +} + +// GetPortal mocks base method. +func (m *MockPortalClient) GetPortal(ctx context.Context, key client.ObjectKey) (*v2.Portal, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetPortal", ctx, key) + ret0, _ := ret[0].(*v2.Portal) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPortal indicates an expected call of GetPortal. +func (mr *MockPortalClientMockRecorder) GetPortal(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPortal", reflect.TypeOf((*MockPortalClient)(nil).GetPortal), ctx, key) +} + +// ListPortal mocks base method. +func (m *MockPortalClient) ListPortal(ctx context.Context, opts ...client.ListOption) (*v2.PortalList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListPortal", varargs...) + ret0, _ := ret[0].(*v2.PortalList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListPortal indicates an expected call of ListPortal. +func (mr *MockPortalClientMockRecorder) ListPortal(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPortal", reflect.TypeOf((*MockPortalClient)(nil).ListPortal), varargs...) +} + +// PatchPortal mocks base method. +func (m *MockPortalClient) PatchPortal(ctx context.Context, obj *v2.Portal, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPortal", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPortal indicates an expected call of PatchPortal. +func (mr *MockPortalClientMockRecorder) PatchPortal(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPortal", reflect.TypeOf((*MockPortalClient)(nil).PatchPortal), varargs...) +} + +// PatchPortalStatus mocks base method. +func (m *MockPortalClient) PatchPortalStatus(ctx context.Context, obj *v2.Portal, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPortalStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPortalStatus indicates an expected call of PatchPortalStatus. +func (mr *MockPortalClientMockRecorder) PatchPortalStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPortalStatus", reflect.TypeOf((*MockPortalClient)(nil).PatchPortalStatus), varargs...) +} + +// UpdatePortal mocks base method. +func (m *MockPortalClient) UpdatePortal(ctx context.Context, obj *v2.Portal, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePortal", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortal indicates an expected call of UpdatePortal. +func (mr *MockPortalClientMockRecorder) UpdatePortal(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortal", reflect.TypeOf((*MockPortalClient)(nil).UpdatePortal), varargs...) +} + +// UpdatePortalStatus mocks base method. +func (m *MockPortalClient) UpdatePortalStatus(ctx context.Context, obj *v2.Portal, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePortalStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortalStatus indicates an expected call of UpdatePortalStatus. +func (mr *MockPortalClientMockRecorder) UpdatePortalStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortalStatus", reflect.TypeOf((*MockPortalClient)(nil).UpdatePortalStatus), varargs...) +} + +// UpsertPortal mocks base method. +func (m *MockPortalClient) UpsertPortal(ctx context.Context, obj *v2.Portal, transitionFuncs ...v2.PortalTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertPortal", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertPortal indicates an expected call of UpsertPortal. +func (mr *MockPortalClientMockRecorder) UpsertPortal(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertPortal", reflect.TypeOf((*MockPortalClient)(nil).UpsertPortal), varargs...) +} + +// MockMulticlusterPortalClient is a mock of MulticlusterPortalClient interface. +type MockMulticlusterPortalClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPortalClientMockRecorder +} + +// MockMulticlusterPortalClientMockRecorder is the mock recorder for MockMulticlusterPortalClient. +type MockMulticlusterPortalClientMockRecorder struct { + mock *MockMulticlusterPortalClient +} + +// NewMockMulticlusterPortalClient creates a new mock instance. +func NewMockMulticlusterPortalClient(ctrl *gomock.Controller) *MockMulticlusterPortalClient { + mock := &MockMulticlusterPortalClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterPortalClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPortalClient) EXPECT() *MockMulticlusterPortalClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterPortalClient) Cluster(cluster string) (v2.PortalClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.PortalClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterPortalClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterPortalClient)(nil).Cluster), cluster) +} + +// MockPortalGroupReader is a mock of PortalGroupReader interface. +type MockPortalGroupReader struct { + ctrl *gomock.Controller + recorder *MockPortalGroupReaderMockRecorder +} + +// MockPortalGroupReaderMockRecorder is the mock recorder for MockPortalGroupReader. +type MockPortalGroupReaderMockRecorder struct { + mock *MockPortalGroupReader +} + +// NewMockPortalGroupReader creates a new mock instance. +func NewMockPortalGroupReader(ctrl *gomock.Controller) *MockPortalGroupReader { + mock := &MockPortalGroupReader{ctrl: ctrl} + mock.recorder = &MockPortalGroupReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalGroupReader) EXPECT() *MockPortalGroupReaderMockRecorder { + return m.recorder +} + +// GetPortalGroup mocks base method. +func (m *MockPortalGroupReader) GetPortalGroup(ctx context.Context, key client.ObjectKey) (*v2.PortalGroup, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetPortalGroup", ctx, key) + ret0, _ := ret[0].(*v2.PortalGroup) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPortalGroup indicates an expected call of GetPortalGroup. +func (mr *MockPortalGroupReaderMockRecorder) GetPortalGroup(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPortalGroup", reflect.TypeOf((*MockPortalGroupReader)(nil).GetPortalGroup), ctx, key) +} + +// ListPortalGroup mocks base method. +func (m *MockPortalGroupReader) ListPortalGroup(ctx context.Context, opts ...client.ListOption) (*v2.PortalGroupList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListPortalGroup", varargs...) + ret0, _ := ret[0].(*v2.PortalGroupList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListPortalGroup indicates an expected call of ListPortalGroup. +func (mr *MockPortalGroupReaderMockRecorder) ListPortalGroup(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPortalGroup", reflect.TypeOf((*MockPortalGroupReader)(nil).ListPortalGroup), varargs...) +} + +// MockPortalGroupWriter is a mock of PortalGroupWriter interface. +type MockPortalGroupWriter struct { + ctrl *gomock.Controller + recorder *MockPortalGroupWriterMockRecorder +} + +// MockPortalGroupWriterMockRecorder is the mock recorder for MockPortalGroupWriter. +type MockPortalGroupWriterMockRecorder struct { + mock *MockPortalGroupWriter +} + +// NewMockPortalGroupWriter creates a new mock instance. +func NewMockPortalGroupWriter(ctrl *gomock.Controller) *MockPortalGroupWriter { + mock := &MockPortalGroupWriter{ctrl: ctrl} + mock.recorder = &MockPortalGroupWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalGroupWriter) EXPECT() *MockPortalGroupWriterMockRecorder { + return m.recorder +} + +// CreatePortalGroup mocks base method. +func (m *MockPortalGroupWriter) CreatePortalGroup(ctx context.Context, obj *v2.PortalGroup, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreatePortalGroup", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreatePortalGroup indicates an expected call of CreatePortalGroup. +func (mr *MockPortalGroupWriterMockRecorder) CreatePortalGroup(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePortalGroup", reflect.TypeOf((*MockPortalGroupWriter)(nil).CreatePortalGroup), varargs...) +} + +// DeleteAllOfPortalGroup mocks base method. +func (m *MockPortalGroupWriter) DeleteAllOfPortalGroup(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfPortalGroup", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfPortalGroup indicates an expected call of DeleteAllOfPortalGroup. +func (mr *MockPortalGroupWriterMockRecorder) DeleteAllOfPortalGroup(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfPortalGroup", reflect.TypeOf((*MockPortalGroupWriter)(nil).DeleteAllOfPortalGroup), varargs...) +} + +// DeletePortalGroup mocks base method. +func (m *MockPortalGroupWriter) DeletePortalGroup(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeletePortalGroup", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeletePortalGroup indicates an expected call of DeletePortalGroup. +func (mr *MockPortalGroupWriterMockRecorder) DeletePortalGroup(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePortalGroup", reflect.TypeOf((*MockPortalGroupWriter)(nil).DeletePortalGroup), varargs...) +} + +// PatchPortalGroup mocks base method. +func (m *MockPortalGroupWriter) PatchPortalGroup(ctx context.Context, obj *v2.PortalGroup, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPortalGroup", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPortalGroup indicates an expected call of PatchPortalGroup. +func (mr *MockPortalGroupWriterMockRecorder) PatchPortalGroup(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPortalGroup", reflect.TypeOf((*MockPortalGroupWriter)(nil).PatchPortalGroup), varargs...) +} + +// UpdatePortalGroup mocks base method. +func (m *MockPortalGroupWriter) UpdatePortalGroup(ctx context.Context, obj *v2.PortalGroup, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePortalGroup", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortalGroup indicates an expected call of UpdatePortalGroup. +func (mr *MockPortalGroupWriterMockRecorder) UpdatePortalGroup(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortalGroup", reflect.TypeOf((*MockPortalGroupWriter)(nil).UpdatePortalGroup), varargs...) +} + +// UpsertPortalGroup mocks base method. +func (m *MockPortalGroupWriter) UpsertPortalGroup(ctx context.Context, obj *v2.PortalGroup, transitionFuncs ...v2.PortalGroupTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertPortalGroup", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertPortalGroup indicates an expected call of UpsertPortalGroup. +func (mr *MockPortalGroupWriterMockRecorder) UpsertPortalGroup(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertPortalGroup", reflect.TypeOf((*MockPortalGroupWriter)(nil).UpsertPortalGroup), varargs...) +} + +// MockPortalGroupStatusWriter is a mock of PortalGroupStatusWriter interface. +type MockPortalGroupStatusWriter struct { + ctrl *gomock.Controller + recorder *MockPortalGroupStatusWriterMockRecorder +} + +// MockPortalGroupStatusWriterMockRecorder is the mock recorder for MockPortalGroupStatusWriter. +type MockPortalGroupStatusWriterMockRecorder struct { + mock *MockPortalGroupStatusWriter +} + +// NewMockPortalGroupStatusWriter creates a new mock instance. +func NewMockPortalGroupStatusWriter(ctrl *gomock.Controller) *MockPortalGroupStatusWriter { + mock := &MockPortalGroupStatusWriter{ctrl: ctrl} + mock.recorder = &MockPortalGroupStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalGroupStatusWriter) EXPECT() *MockPortalGroupStatusWriterMockRecorder { + return m.recorder +} + +// PatchPortalGroupStatus mocks base method. +func (m *MockPortalGroupStatusWriter) PatchPortalGroupStatus(ctx context.Context, obj *v2.PortalGroup, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPortalGroupStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPortalGroupStatus indicates an expected call of PatchPortalGroupStatus. +func (mr *MockPortalGroupStatusWriterMockRecorder) PatchPortalGroupStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPortalGroupStatus", reflect.TypeOf((*MockPortalGroupStatusWriter)(nil).PatchPortalGroupStatus), varargs...) +} + +// UpdatePortalGroupStatus mocks base method. +func (m *MockPortalGroupStatusWriter) UpdatePortalGroupStatus(ctx context.Context, obj *v2.PortalGroup, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePortalGroupStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortalGroupStatus indicates an expected call of UpdatePortalGroupStatus. +func (mr *MockPortalGroupStatusWriterMockRecorder) UpdatePortalGroupStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortalGroupStatus", reflect.TypeOf((*MockPortalGroupStatusWriter)(nil).UpdatePortalGroupStatus), varargs...) +} + +// MockPortalGroupClient is a mock of PortalGroupClient interface. +type MockPortalGroupClient struct { + ctrl *gomock.Controller + recorder *MockPortalGroupClientMockRecorder +} + +// MockPortalGroupClientMockRecorder is the mock recorder for MockPortalGroupClient. +type MockPortalGroupClientMockRecorder struct { + mock *MockPortalGroupClient +} + +// NewMockPortalGroupClient creates a new mock instance. +func NewMockPortalGroupClient(ctrl *gomock.Controller) *MockPortalGroupClient { + mock := &MockPortalGroupClient{ctrl: ctrl} + mock.recorder = &MockPortalGroupClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalGroupClient) EXPECT() *MockPortalGroupClientMockRecorder { + return m.recorder +} + +// CreatePortalGroup mocks base method. +func (m *MockPortalGroupClient) CreatePortalGroup(ctx context.Context, obj *v2.PortalGroup, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreatePortalGroup", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreatePortalGroup indicates an expected call of CreatePortalGroup. +func (mr *MockPortalGroupClientMockRecorder) CreatePortalGroup(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePortalGroup", reflect.TypeOf((*MockPortalGroupClient)(nil).CreatePortalGroup), varargs...) +} + +// DeleteAllOfPortalGroup mocks base method. +func (m *MockPortalGroupClient) DeleteAllOfPortalGroup(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfPortalGroup", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfPortalGroup indicates an expected call of DeleteAllOfPortalGroup. +func (mr *MockPortalGroupClientMockRecorder) DeleteAllOfPortalGroup(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfPortalGroup", reflect.TypeOf((*MockPortalGroupClient)(nil).DeleteAllOfPortalGroup), varargs...) +} + +// DeletePortalGroup mocks base method. +func (m *MockPortalGroupClient) DeletePortalGroup(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeletePortalGroup", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeletePortalGroup indicates an expected call of DeletePortalGroup. +func (mr *MockPortalGroupClientMockRecorder) DeletePortalGroup(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePortalGroup", reflect.TypeOf((*MockPortalGroupClient)(nil).DeletePortalGroup), varargs...) +} + +// GetPortalGroup mocks base method. +func (m *MockPortalGroupClient) GetPortalGroup(ctx context.Context, key client.ObjectKey) (*v2.PortalGroup, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetPortalGroup", ctx, key) + ret0, _ := ret[0].(*v2.PortalGroup) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPortalGroup indicates an expected call of GetPortalGroup. +func (mr *MockPortalGroupClientMockRecorder) GetPortalGroup(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPortalGroup", reflect.TypeOf((*MockPortalGroupClient)(nil).GetPortalGroup), ctx, key) +} + +// ListPortalGroup mocks base method. +func (m *MockPortalGroupClient) ListPortalGroup(ctx context.Context, opts ...client.ListOption) (*v2.PortalGroupList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListPortalGroup", varargs...) + ret0, _ := ret[0].(*v2.PortalGroupList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListPortalGroup indicates an expected call of ListPortalGroup. +func (mr *MockPortalGroupClientMockRecorder) ListPortalGroup(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPortalGroup", reflect.TypeOf((*MockPortalGroupClient)(nil).ListPortalGroup), varargs...) +} + +// PatchPortalGroup mocks base method. +func (m *MockPortalGroupClient) PatchPortalGroup(ctx context.Context, obj *v2.PortalGroup, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPortalGroup", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPortalGroup indicates an expected call of PatchPortalGroup. +func (mr *MockPortalGroupClientMockRecorder) PatchPortalGroup(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPortalGroup", reflect.TypeOf((*MockPortalGroupClient)(nil).PatchPortalGroup), varargs...) +} + +// PatchPortalGroupStatus mocks base method. +func (m *MockPortalGroupClient) PatchPortalGroupStatus(ctx context.Context, obj *v2.PortalGroup, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPortalGroupStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPortalGroupStatus indicates an expected call of PatchPortalGroupStatus. +func (mr *MockPortalGroupClientMockRecorder) PatchPortalGroupStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPortalGroupStatus", reflect.TypeOf((*MockPortalGroupClient)(nil).PatchPortalGroupStatus), varargs...) +} + +// UpdatePortalGroup mocks base method. +func (m *MockPortalGroupClient) UpdatePortalGroup(ctx context.Context, obj *v2.PortalGroup, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePortalGroup", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortalGroup indicates an expected call of UpdatePortalGroup. +func (mr *MockPortalGroupClientMockRecorder) UpdatePortalGroup(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortalGroup", reflect.TypeOf((*MockPortalGroupClient)(nil).UpdatePortalGroup), varargs...) +} + +// UpdatePortalGroupStatus mocks base method. +func (m *MockPortalGroupClient) UpdatePortalGroupStatus(ctx context.Context, obj *v2.PortalGroup, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePortalGroupStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortalGroupStatus indicates an expected call of UpdatePortalGroupStatus. +func (mr *MockPortalGroupClientMockRecorder) UpdatePortalGroupStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortalGroupStatus", reflect.TypeOf((*MockPortalGroupClient)(nil).UpdatePortalGroupStatus), varargs...) +} + +// UpsertPortalGroup mocks base method. +func (m *MockPortalGroupClient) UpsertPortalGroup(ctx context.Context, obj *v2.PortalGroup, transitionFuncs ...v2.PortalGroupTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertPortalGroup", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertPortalGroup indicates an expected call of UpsertPortalGroup. +func (mr *MockPortalGroupClientMockRecorder) UpsertPortalGroup(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertPortalGroup", reflect.TypeOf((*MockPortalGroupClient)(nil).UpsertPortalGroup), varargs...) +} + +// MockMulticlusterPortalGroupClient is a mock of MulticlusterPortalGroupClient interface. +type MockMulticlusterPortalGroupClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPortalGroupClientMockRecorder +} + +// MockMulticlusterPortalGroupClientMockRecorder is the mock recorder for MockMulticlusterPortalGroupClient. +type MockMulticlusterPortalGroupClientMockRecorder struct { + mock *MockMulticlusterPortalGroupClient +} + +// NewMockMulticlusterPortalGroupClient creates a new mock instance. +func NewMockMulticlusterPortalGroupClient(ctrl *gomock.Controller) *MockMulticlusterPortalGroupClient { + mock := &MockMulticlusterPortalGroupClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterPortalGroupClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPortalGroupClient) EXPECT() *MockMulticlusterPortalGroupClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterPortalGroupClient) Cluster(cluster string) (v2.PortalGroupClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.PortalGroupClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterPortalGroupClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterPortalGroupClient)(nil).Cluster), cluster) +} + +// MockApiProductReader is a mock of ApiProductReader interface. +type MockApiProductReader struct { + ctrl *gomock.Controller + recorder *MockApiProductReaderMockRecorder +} + +// MockApiProductReaderMockRecorder is the mock recorder for MockApiProductReader. +type MockApiProductReaderMockRecorder struct { + mock *MockApiProductReader +} + +// NewMockApiProductReader creates a new mock instance. +func NewMockApiProductReader(ctrl *gomock.Controller) *MockApiProductReader { + mock := &MockApiProductReader{ctrl: ctrl} + mock.recorder = &MockApiProductReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiProductReader) EXPECT() *MockApiProductReaderMockRecorder { + return m.recorder +} + +// GetApiProduct mocks base method. +func (m *MockApiProductReader) GetApiProduct(ctx context.Context, key client.ObjectKey) (*v2.ApiProduct, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetApiProduct", ctx, key) + ret0, _ := ret[0].(*v2.ApiProduct) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetApiProduct indicates an expected call of GetApiProduct. +func (mr *MockApiProductReaderMockRecorder) GetApiProduct(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetApiProduct", reflect.TypeOf((*MockApiProductReader)(nil).GetApiProduct), ctx, key) +} + +// ListApiProduct mocks base method. +func (m *MockApiProductReader) ListApiProduct(ctx context.Context, opts ...client.ListOption) (*v2.ApiProductList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListApiProduct", varargs...) + ret0, _ := ret[0].(*v2.ApiProductList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListApiProduct indicates an expected call of ListApiProduct. +func (mr *MockApiProductReaderMockRecorder) ListApiProduct(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListApiProduct", reflect.TypeOf((*MockApiProductReader)(nil).ListApiProduct), varargs...) +} + +// MockApiProductWriter is a mock of ApiProductWriter interface. +type MockApiProductWriter struct { + ctrl *gomock.Controller + recorder *MockApiProductWriterMockRecorder +} + +// MockApiProductWriterMockRecorder is the mock recorder for MockApiProductWriter. +type MockApiProductWriterMockRecorder struct { + mock *MockApiProductWriter +} + +// NewMockApiProductWriter creates a new mock instance. +func NewMockApiProductWriter(ctrl *gomock.Controller) *MockApiProductWriter { + mock := &MockApiProductWriter{ctrl: ctrl} + mock.recorder = &MockApiProductWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiProductWriter) EXPECT() *MockApiProductWriterMockRecorder { + return m.recorder +} + +// CreateApiProduct mocks base method. +func (m *MockApiProductWriter) CreateApiProduct(ctx context.Context, obj *v2.ApiProduct, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateApiProduct", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateApiProduct indicates an expected call of CreateApiProduct. +func (mr *MockApiProductWriterMockRecorder) CreateApiProduct(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateApiProduct", reflect.TypeOf((*MockApiProductWriter)(nil).CreateApiProduct), varargs...) +} + +// DeleteAllOfApiProduct mocks base method. +func (m *MockApiProductWriter) DeleteAllOfApiProduct(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfApiProduct", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfApiProduct indicates an expected call of DeleteAllOfApiProduct. +func (mr *MockApiProductWriterMockRecorder) DeleteAllOfApiProduct(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfApiProduct", reflect.TypeOf((*MockApiProductWriter)(nil).DeleteAllOfApiProduct), varargs...) +} + +// DeleteApiProduct mocks base method. +func (m *MockApiProductWriter) DeleteApiProduct(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteApiProduct", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteApiProduct indicates an expected call of DeleteApiProduct. +func (mr *MockApiProductWriterMockRecorder) DeleteApiProduct(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteApiProduct", reflect.TypeOf((*MockApiProductWriter)(nil).DeleteApiProduct), varargs...) +} + +// PatchApiProduct mocks base method. +func (m *MockApiProductWriter) PatchApiProduct(ctx context.Context, obj *v2.ApiProduct, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchApiProduct", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchApiProduct indicates an expected call of PatchApiProduct. +func (mr *MockApiProductWriterMockRecorder) PatchApiProduct(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchApiProduct", reflect.TypeOf((*MockApiProductWriter)(nil).PatchApiProduct), varargs...) +} + +// UpdateApiProduct mocks base method. +func (m *MockApiProductWriter) UpdateApiProduct(ctx context.Context, obj *v2.ApiProduct, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApiProduct", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiProduct indicates an expected call of UpdateApiProduct. +func (mr *MockApiProductWriterMockRecorder) UpdateApiProduct(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiProduct", reflect.TypeOf((*MockApiProductWriter)(nil).UpdateApiProduct), varargs...) +} + +// UpsertApiProduct mocks base method. +func (m *MockApiProductWriter) UpsertApiProduct(ctx context.Context, obj *v2.ApiProduct, transitionFuncs ...v2.ApiProductTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertApiProduct", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertApiProduct indicates an expected call of UpsertApiProduct. +func (mr *MockApiProductWriterMockRecorder) UpsertApiProduct(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertApiProduct", reflect.TypeOf((*MockApiProductWriter)(nil).UpsertApiProduct), varargs...) +} + +// MockApiProductStatusWriter is a mock of ApiProductStatusWriter interface. +type MockApiProductStatusWriter struct { + ctrl *gomock.Controller + recorder *MockApiProductStatusWriterMockRecorder +} + +// MockApiProductStatusWriterMockRecorder is the mock recorder for MockApiProductStatusWriter. +type MockApiProductStatusWriterMockRecorder struct { + mock *MockApiProductStatusWriter +} + +// NewMockApiProductStatusWriter creates a new mock instance. +func NewMockApiProductStatusWriter(ctrl *gomock.Controller) *MockApiProductStatusWriter { + mock := &MockApiProductStatusWriter{ctrl: ctrl} + mock.recorder = &MockApiProductStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiProductStatusWriter) EXPECT() *MockApiProductStatusWriterMockRecorder { + return m.recorder +} + +// PatchApiProductStatus mocks base method. +func (m *MockApiProductStatusWriter) PatchApiProductStatus(ctx context.Context, obj *v2.ApiProduct, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchApiProductStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchApiProductStatus indicates an expected call of PatchApiProductStatus. +func (mr *MockApiProductStatusWriterMockRecorder) PatchApiProductStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchApiProductStatus", reflect.TypeOf((*MockApiProductStatusWriter)(nil).PatchApiProductStatus), varargs...) +} + +// UpdateApiProductStatus mocks base method. +func (m *MockApiProductStatusWriter) UpdateApiProductStatus(ctx context.Context, obj *v2.ApiProduct, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApiProductStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiProductStatus indicates an expected call of UpdateApiProductStatus. +func (mr *MockApiProductStatusWriterMockRecorder) UpdateApiProductStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiProductStatus", reflect.TypeOf((*MockApiProductStatusWriter)(nil).UpdateApiProductStatus), varargs...) +} + +// MockApiProductClient is a mock of ApiProductClient interface. +type MockApiProductClient struct { + ctrl *gomock.Controller + recorder *MockApiProductClientMockRecorder +} + +// MockApiProductClientMockRecorder is the mock recorder for MockApiProductClient. +type MockApiProductClientMockRecorder struct { + mock *MockApiProductClient +} + +// NewMockApiProductClient creates a new mock instance. +func NewMockApiProductClient(ctrl *gomock.Controller) *MockApiProductClient { + mock := &MockApiProductClient{ctrl: ctrl} + mock.recorder = &MockApiProductClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiProductClient) EXPECT() *MockApiProductClientMockRecorder { + return m.recorder +} + +// CreateApiProduct mocks base method. +func (m *MockApiProductClient) CreateApiProduct(ctx context.Context, obj *v2.ApiProduct, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateApiProduct", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateApiProduct indicates an expected call of CreateApiProduct. +func (mr *MockApiProductClientMockRecorder) CreateApiProduct(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateApiProduct", reflect.TypeOf((*MockApiProductClient)(nil).CreateApiProduct), varargs...) +} + +// DeleteAllOfApiProduct mocks base method. +func (m *MockApiProductClient) DeleteAllOfApiProduct(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfApiProduct", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfApiProduct indicates an expected call of DeleteAllOfApiProduct. +func (mr *MockApiProductClientMockRecorder) DeleteAllOfApiProduct(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfApiProduct", reflect.TypeOf((*MockApiProductClient)(nil).DeleteAllOfApiProduct), varargs...) +} + +// DeleteApiProduct mocks base method. +func (m *MockApiProductClient) DeleteApiProduct(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteApiProduct", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteApiProduct indicates an expected call of DeleteApiProduct. +func (mr *MockApiProductClientMockRecorder) DeleteApiProduct(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteApiProduct", reflect.TypeOf((*MockApiProductClient)(nil).DeleteApiProduct), varargs...) +} + +// GetApiProduct mocks base method. +func (m *MockApiProductClient) GetApiProduct(ctx context.Context, key client.ObjectKey) (*v2.ApiProduct, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetApiProduct", ctx, key) + ret0, _ := ret[0].(*v2.ApiProduct) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetApiProduct indicates an expected call of GetApiProduct. +func (mr *MockApiProductClientMockRecorder) GetApiProduct(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetApiProduct", reflect.TypeOf((*MockApiProductClient)(nil).GetApiProduct), ctx, key) +} + +// ListApiProduct mocks base method. +func (m *MockApiProductClient) ListApiProduct(ctx context.Context, opts ...client.ListOption) (*v2.ApiProductList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListApiProduct", varargs...) + ret0, _ := ret[0].(*v2.ApiProductList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListApiProduct indicates an expected call of ListApiProduct. +func (mr *MockApiProductClientMockRecorder) ListApiProduct(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListApiProduct", reflect.TypeOf((*MockApiProductClient)(nil).ListApiProduct), varargs...) +} + +// PatchApiProduct mocks base method. +func (m *MockApiProductClient) PatchApiProduct(ctx context.Context, obj *v2.ApiProduct, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchApiProduct", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchApiProduct indicates an expected call of PatchApiProduct. +func (mr *MockApiProductClientMockRecorder) PatchApiProduct(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchApiProduct", reflect.TypeOf((*MockApiProductClient)(nil).PatchApiProduct), varargs...) +} + +// PatchApiProductStatus mocks base method. +func (m *MockApiProductClient) PatchApiProductStatus(ctx context.Context, obj *v2.ApiProduct, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchApiProductStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchApiProductStatus indicates an expected call of PatchApiProductStatus. +func (mr *MockApiProductClientMockRecorder) PatchApiProductStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchApiProductStatus", reflect.TypeOf((*MockApiProductClient)(nil).PatchApiProductStatus), varargs...) +} + +// UpdateApiProduct mocks base method. +func (m *MockApiProductClient) UpdateApiProduct(ctx context.Context, obj *v2.ApiProduct, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApiProduct", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiProduct indicates an expected call of UpdateApiProduct. +func (mr *MockApiProductClientMockRecorder) UpdateApiProduct(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiProduct", reflect.TypeOf((*MockApiProductClient)(nil).UpdateApiProduct), varargs...) +} + +// UpdateApiProductStatus mocks base method. +func (m *MockApiProductClient) UpdateApiProductStatus(ctx context.Context, obj *v2.ApiProduct, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApiProductStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiProductStatus indicates an expected call of UpdateApiProductStatus. +func (mr *MockApiProductClientMockRecorder) UpdateApiProductStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiProductStatus", reflect.TypeOf((*MockApiProductClient)(nil).UpdateApiProductStatus), varargs...) +} + +// UpsertApiProduct mocks base method. +func (m *MockApiProductClient) UpsertApiProduct(ctx context.Context, obj *v2.ApiProduct, transitionFuncs ...v2.ApiProductTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertApiProduct", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertApiProduct indicates an expected call of UpsertApiProduct. +func (mr *MockApiProductClientMockRecorder) UpsertApiProduct(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertApiProduct", reflect.TypeOf((*MockApiProductClient)(nil).UpsertApiProduct), varargs...) +} + +// MockMulticlusterApiProductClient is a mock of MulticlusterApiProductClient interface. +type MockMulticlusterApiProductClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterApiProductClientMockRecorder +} + +// MockMulticlusterApiProductClientMockRecorder is the mock recorder for MockMulticlusterApiProductClient. +type MockMulticlusterApiProductClientMockRecorder struct { + mock *MockMulticlusterApiProductClient +} + +// NewMockMulticlusterApiProductClient creates a new mock instance. +func NewMockMulticlusterApiProductClient(ctrl *gomock.Controller) *MockMulticlusterApiProductClient { + mock := &MockMulticlusterApiProductClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterApiProductClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterApiProductClient) EXPECT() *MockMulticlusterApiProductClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterApiProductClient) Cluster(cluster string) (v2.ApiProductClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.ApiProductClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterApiProductClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterApiProductClient)(nil).Cluster), cluster) +} + +// MockApiSchemaDiscoveryReader is a mock of ApiSchemaDiscoveryReader interface. +type MockApiSchemaDiscoveryReader struct { + ctrl *gomock.Controller + recorder *MockApiSchemaDiscoveryReaderMockRecorder +} + +// MockApiSchemaDiscoveryReaderMockRecorder is the mock recorder for MockApiSchemaDiscoveryReader. +type MockApiSchemaDiscoveryReaderMockRecorder struct { + mock *MockApiSchemaDiscoveryReader +} + +// NewMockApiSchemaDiscoveryReader creates a new mock instance. +func NewMockApiSchemaDiscoveryReader(ctrl *gomock.Controller) *MockApiSchemaDiscoveryReader { + mock := &MockApiSchemaDiscoveryReader{ctrl: ctrl} + mock.recorder = &MockApiSchemaDiscoveryReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiSchemaDiscoveryReader) EXPECT() *MockApiSchemaDiscoveryReaderMockRecorder { + return m.recorder +} + +// GetApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryReader) GetApiSchemaDiscovery(ctx context.Context, key client.ObjectKey) (*v2.ApiSchemaDiscovery, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetApiSchemaDiscovery", ctx, key) + ret0, _ := ret[0].(*v2.ApiSchemaDiscovery) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetApiSchemaDiscovery indicates an expected call of GetApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryReaderMockRecorder) GetApiSchemaDiscovery(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryReader)(nil).GetApiSchemaDiscovery), ctx, key) +} + +// ListApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryReader) ListApiSchemaDiscovery(ctx context.Context, opts ...client.ListOption) (*v2.ApiSchemaDiscoveryList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(*v2.ApiSchemaDiscoveryList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListApiSchemaDiscovery indicates an expected call of ListApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryReaderMockRecorder) ListApiSchemaDiscovery(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryReader)(nil).ListApiSchemaDiscovery), varargs...) +} + +// MockApiSchemaDiscoveryWriter is a mock of ApiSchemaDiscoveryWriter interface. +type MockApiSchemaDiscoveryWriter struct { + ctrl *gomock.Controller + recorder *MockApiSchemaDiscoveryWriterMockRecorder +} + +// MockApiSchemaDiscoveryWriterMockRecorder is the mock recorder for MockApiSchemaDiscoveryWriter. +type MockApiSchemaDiscoveryWriterMockRecorder struct { + mock *MockApiSchemaDiscoveryWriter +} + +// NewMockApiSchemaDiscoveryWriter creates a new mock instance. +func NewMockApiSchemaDiscoveryWriter(ctrl *gomock.Controller) *MockApiSchemaDiscoveryWriter { + mock := &MockApiSchemaDiscoveryWriter{ctrl: ctrl} + mock.recorder = &MockApiSchemaDiscoveryWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiSchemaDiscoveryWriter) EXPECT() *MockApiSchemaDiscoveryWriterMockRecorder { + return m.recorder +} + +// CreateApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryWriter) CreateApiSchemaDiscovery(ctx context.Context, obj *v2.ApiSchemaDiscovery, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateApiSchemaDiscovery indicates an expected call of CreateApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryWriterMockRecorder) CreateApiSchemaDiscovery(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryWriter)(nil).CreateApiSchemaDiscovery), varargs...) +} + +// DeleteAllOfApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryWriter) DeleteAllOfApiSchemaDiscovery(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfApiSchemaDiscovery indicates an expected call of DeleteAllOfApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryWriterMockRecorder) DeleteAllOfApiSchemaDiscovery(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryWriter)(nil).DeleteAllOfApiSchemaDiscovery), varargs...) +} + +// DeleteApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryWriter) DeleteApiSchemaDiscovery(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteApiSchemaDiscovery indicates an expected call of DeleteApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryWriterMockRecorder) DeleteApiSchemaDiscovery(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryWriter)(nil).DeleteApiSchemaDiscovery), varargs...) +} + +// PatchApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryWriter) PatchApiSchemaDiscovery(ctx context.Context, obj *v2.ApiSchemaDiscovery, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchApiSchemaDiscovery indicates an expected call of PatchApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryWriterMockRecorder) PatchApiSchemaDiscovery(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryWriter)(nil).PatchApiSchemaDiscovery), varargs...) +} + +// UpdateApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryWriter) UpdateApiSchemaDiscovery(ctx context.Context, obj *v2.ApiSchemaDiscovery, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiSchemaDiscovery indicates an expected call of UpdateApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryWriterMockRecorder) UpdateApiSchemaDiscovery(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryWriter)(nil).UpdateApiSchemaDiscovery), varargs...) +} + +// UpsertApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryWriter) UpsertApiSchemaDiscovery(ctx context.Context, obj *v2.ApiSchemaDiscovery, transitionFuncs ...v2.ApiSchemaDiscoveryTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertApiSchemaDiscovery indicates an expected call of UpsertApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryWriterMockRecorder) UpsertApiSchemaDiscovery(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryWriter)(nil).UpsertApiSchemaDiscovery), varargs...) +} + +// MockApiSchemaDiscoveryStatusWriter is a mock of ApiSchemaDiscoveryStatusWriter interface. +type MockApiSchemaDiscoveryStatusWriter struct { + ctrl *gomock.Controller + recorder *MockApiSchemaDiscoveryStatusWriterMockRecorder +} + +// MockApiSchemaDiscoveryStatusWriterMockRecorder is the mock recorder for MockApiSchemaDiscoveryStatusWriter. +type MockApiSchemaDiscoveryStatusWriterMockRecorder struct { + mock *MockApiSchemaDiscoveryStatusWriter +} + +// NewMockApiSchemaDiscoveryStatusWriter creates a new mock instance. +func NewMockApiSchemaDiscoveryStatusWriter(ctrl *gomock.Controller) *MockApiSchemaDiscoveryStatusWriter { + mock := &MockApiSchemaDiscoveryStatusWriter{ctrl: ctrl} + mock.recorder = &MockApiSchemaDiscoveryStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiSchemaDiscoveryStatusWriter) EXPECT() *MockApiSchemaDiscoveryStatusWriterMockRecorder { + return m.recorder +} + +// PatchApiSchemaDiscoveryStatus mocks base method. +func (m *MockApiSchemaDiscoveryStatusWriter) PatchApiSchemaDiscoveryStatus(ctx context.Context, obj *v2.ApiSchemaDiscovery, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchApiSchemaDiscoveryStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchApiSchemaDiscoveryStatus indicates an expected call of PatchApiSchemaDiscoveryStatus. +func (mr *MockApiSchemaDiscoveryStatusWriterMockRecorder) PatchApiSchemaDiscoveryStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchApiSchemaDiscoveryStatus", reflect.TypeOf((*MockApiSchemaDiscoveryStatusWriter)(nil).PatchApiSchemaDiscoveryStatus), varargs...) +} + +// UpdateApiSchemaDiscoveryStatus mocks base method. +func (m *MockApiSchemaDiscoveryStatusWriter) UpdateApiSchemaDiscoveryStatus(ctx context.Context, obj *v2.ApiSchemaDiscovery, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApiSchemaDiscoveryStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiSchemaDiscoveryStatus indicates an expected call of UpdateApiSchemaDiscoveryStatus. +func (mr *MockApiSchemaDiscoveryStatusWriterMockRecorder) UpdateApiSchemaDiscoveryStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiSchemaDiscoveryStatus", reflect.TypeOf((*MockApiSchemaDiscoveryStatusWriter)(nil).UpdateApiSchemaDiscoveryStatus), varargs...) +} + +// MockApiSchemaDiscoveryClient is a mock of ApiSchemaDiscoveryClient interface. +type MockApiSchemaDiscoveryClient struct { + ctrl *gomock.Controller + recorder *MockApiSchemaDiscoveryClientMockRecorder +} + +// MockApiSchemaDiscoveryClientMockRecorder is the mock recorder for MockApiSchemaDiscoveryClient. +type MockApiSchemaDiscoveryClientMockRecorder struct { + mock *MockApiSchemaDiscoveryClient +} + +// NewMockApiSchemaDiscoveryClient creates a new mock instance. +func NewMockApiSchemaDiscoveryClient(ctrl *gomock.Controller) *MockApiSchemaDiscoveryClient { + mock := &MockApiSchemaDiscoveryClient{ctrl: ctrl} + mock.recorder = &MockApiSchemaDiscoveryClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiSchemaDiscoveryClient) EXPECT() *MockApiSchemaDiscoveryClientMockRecorder { + return m.recorder +} + +// CreateApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryClient) CreateApiSchemaDiscovery(ctx context.Context, obj *v2.ApiSchemaDiscovery, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateApiSchemaDiscovery indicates an expected call of CreateApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryClientMockRecorder) CreateApiSchemaDiscovery(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryClient)(nil).CreateApiSchemaDiscovery), varargs...) +} + +// DeleteAllOfApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryClient) DeleteAllOfApiSchemaDiscovery(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfApiSchemaDiscovery indicates an expected call of DeleteAllOfApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryClientMockRecorder) DeleteAllOfApiSchemaDiscovery(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryClient)(nil).DeleteAllOfApiSchemaDiscovery), varargs...) +} + +// DeleteApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryClient) DeleteApiSchemaDiscovery(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteApiSchemaDiscovery indicates an expected call of DeleteApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryClientMockRecorder) DeleteApiSchemaDiscovery(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryClient)(nil).DeleteApiSchemaDiscovery), varargs...) +} + +// GetApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryClient) GetApiSchemaDiscovery(ctx context.Context, key client.ObjectKey) (*v2.ApiSchemaDiscovery, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetApiSchemaDiscovery", ctx, key) + ret0, _ := ret[0].(*v2.ApiSchemaDiscovery) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetApiSchemaDiscovery indicates an expected call of GetApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryClientMockRecorder) GetApiSchemaDiscovery(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryClient)(nil).GetApiSchemaDiscovery), ctx, key) +} + +// ListApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryClient) ListApiSchemaDiscovery(ctx context.Context, opts ...client.ListOption) (*v2.ApiSchemaDiscoveryList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(*v2.ApiSchemaDiscoveryList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListApiSchemaDiscovery indicates an expected call of ListApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryClientMockRecorder) ListApiSchemaDiscovery(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryClient)(nil).ListApiSchemaDiscovery), varargs...) +} + +// PatchApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryClient) PatchApiSchemaDiscovery(ctx context.Context, obj *v2.ApiSchemaDiscovery, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchApiSchemaDiscovery indicates an expected call of PatchApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryClientMockRecorder) PatchApiSchemaDiscovery(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryClient)(nil).PatchApiSchemaDiscovery), varargs...) +} + +// PatchApiSchemaDiscoveryStatus mocks base method. +func (m *MockApiSchemaDiscoveryClient) PatchApiSchemaDiscoveryStatus(ctx context.Context, obj *v2.ApiSchemaDiscovery, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchApiSchemaDiscoveryStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchApiSchemaDiscoveryStatus indicates an expected call of PatchApiSchemaDiscoveryStatus. +func (mr *MockApiSchemaDiscoveryClientMockRecorder) PatchApiSchemaDiscoveryStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchApiSchemaDiscoveryStatus", reflect.TypeOf((*MockApiSchemaDiscoveryClient)(nil).PatchApiSchemaDiscoveryStatus), varargs...) +} + +// UpdateApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryClient) UpdateApiSchemaDiscovery(ctx context.Context, obj *v2.ApiSchemaDiscovery, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiSchemaDiscovery indicates an expected call of UpdateApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryClientMockRecorder) UpdateApiSchemaDiscovery(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryClient)(nil).UpdateApiSchemaDiscovery), varargs...) +} + +// UpdateApiSchemaDiscoveryStatus mocks base method. +func (m *MockApiSchemaDiscoveryClient) UpdateApiSchemaDiscoveryStatus(ctx context.Context, obj *v2.ApiSchemaDiscovery, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateApiSchemaDiscoveryStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateApiSchemaDiscoveryStatus indicates an expected call of UpdateApiSchemaDiscoveryStatus. +func (mr *MockApiSchemaDiscoveryClientMockRecorder) UpdateApiSchemaDiscoveryStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateApiSchemaDiscoveryStatus", reflect.TypeOf((*MockApiSchemaDiscoveryClient)(nil).UpdateApiSchemaDiscoveryStatus), varargs...) +} + +// UpsertApiSchemaDiscovery mocks base method. +func (m *MockApiSchemaDiscoveryClient) UpsertApiSchemaDiscovery(ctx context.Context, obj *v2.ApiSchemaDiscovery, transitionFuncs ...v2.ApiSchemaDiscoveryTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertApiSchemaDiscovery", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertApiSchemaDiscovery indicates an expected call of UpsertApiSchemaDiscovery. +func (mr *MockApiSchemaDiscoveryClientMockRecorder) UpsertApiSchemaDiscovery(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertApiSchemaDiscovery", reflect.TypeOf((*MockApiSchemaDiscoveryClient)(nil).UpsertApiSchemaDiscovery), varargs...) +} + +// MockMulticlusterApiSchemaDiscoveryClient is a mock of MulticlusterApiSchemaDiscoveryClient interface. +type MockMulticlusterApiSchemaDiscoveryClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterApiSchemaDiscoveryClientMockRecorder +} + +// MockMulticlusterApiSchemaDiscoveryClientMockRecorder is the mock recorder for MockMulticlusterApiSchemaDiscoveryClient. +type MockMulticlusterApiSchemaDiscoveryClientMockRecorder struct { + mock *MockMulticlusterApiSchemaDiscoveryClient +} + +// NewMockMulticlusterApiSchemaDiscoveryClient creates a new mock instance. +func NewMockMulticlusterApiSchemaDiscoveryClient(ctrl *gomock.Controller) *MockMulticlusterApiSchemaDiscoveryClient { + mock := &MockMulticlusterApiSchemaDiscoveryClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterApiSchemaDiscoveryClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterApiSchemaDiscoveryClient) EXPECT() *MockMulticlusterApiSchemaDiscoveryClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterApiSchemaDiscoveryClient) Cluster(cluster string) (v2.ApiSchemaDiscoveryClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.ApiSchemaDiscoveryClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterApiSchemaDiscoveryClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterApiSchemaDiscoveryClient)(nil).Cluster), cluster) +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/portal.pb.clone.go b/client-go/apimanagement.gloo.solo.io/v2/portal.pb.clone.go new file mode 100644 index 000000000..6361fae3b --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/portal.pb.clone.go @@ -0,0 +1,250 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/portal.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *PortalSpec) Clone() proto.Message { + var target *PortalSpec + if m == nil { + return target + } + target = &PortalSpec{} + + if m.GetPortalBackendSelectors() != nil { + target.PortalBackendSelectors = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector, len(m.GetPortalBackendSelectors())) + for idx, v := range m.GetPortalBackendSelectors() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.PortalBackendSelectors[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector) + } else { + target.PortalBackendSelectors[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector) + } + + } + } + + if m.GetApis() != nil { + target.Apis = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector, len(m.GetApis())) + for idx, v := range m.GetApis() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Apis[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.Apis[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + } + } + + if m.GetRouteMetadata() != nil { + target.RouteMetadata = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector, len(m.GetRouteMetadata())) + for idx, v := range m.GetRouteMetadata() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.RouteMetadata[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.RouteMetadata[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + } + } + + if m.GetUsagePlans() != nil { + target.UsagePlans = make([]*PortalSpec_UsagePlan, len(m.GetUsagePlans())) + for idx, v := range m.GetUsagePlans() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.UsagePlans[idx] = h.Clone().(*PortalSpec_UsagePlan) + } else { + target.UsagePlans[idx] = proto.Clone(v).(*PortalSpec_UsagePlan) + } + + } + } + + if m.GetDomains() != nil { + target.Domains = make([]string, len(m.GetDomains())) + for idx, v := range m.GetDomains() { + + target.Domains[idx] = v + + } + } + + if h, ok := interface{}(m.GetVisibility()).(clone.Cloner); ok { + target.Visibility = h.Clone().(*PortalSpec_Visibility) + } else { + target.Visibility = proto.Clone(m.GetVisibility()).(*PortalSpec_Visibility) + } + + return target +} + +// Clone function +func (m *PortalStatus) Clone() proto.Message { + var target *PortalStatus + if m == nil { + return target + } + target = &PortalStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + target.RouteTablesCount = m.GetRouteTablesCount() + + target.ExtAuthPolicyCount = m.GetExtAuthPolicyCount() + + target.RateLimitPolicyCount = m.GetRateLimitPolicyCount() + + target.PortalBackendCount = m.GetPortalBackendCount() + + return target +} + +// Clone function +func (m *PortalReport) Clone() proto.Message { + var target *PortalReport + if m == nil { + return target + } + target = &PortalReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + if m.GetSelectedRouteTables() != nil { + target.SelectedRouteTables = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetSelectedRouteTables())) + for idx, v := range m.GetSelectedRouteTables() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRouteTables[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.SelectedRouteTables[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + if m.GetSelectedExtAuthPolicies() != nil { + target.SelectedExtAuthPolicies = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetSelectedExtAuthPolicies())) + for idx, v := range m.GetSelectedExtAuthPolicies() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedExtAuthPolicies[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.SelectedExtAuthPolicies[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + if m.GetSelectedRateLimitPolicies() != nil { + target.SelectedRateLimitPolicies = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetSelectedRateLimitPolicies())) + for idx, v := range m.GetSelectedRateLimitPolicies() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRateLimitPolicies[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.SelectedRateLimitPolicies[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + if m.GetSelectedPortalBackend() != nil { + target.SelectedPortalBackend = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetSelectedPortalBackend())) + for idx, v := range m.GetSelectedPortalBackend() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedPortalBackend[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.SelectedPortalBackend[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + return target +} + +// Clone function +func (m *PortalSpec_Visibility) Clone() proto.Message { + var target *PortalSpec_Visibility + if m == nil { + return target + } + target = &PortalSpec_Visibility{} + + target.Public = m.GetPublic() + + if m.GetPrivateAPILabels() != nil { + target.PrivateAPILabels = make(map[string]string, len(m.GetPrivateAPILabels())) + for k, v := range m.GetPrivateAPILabels() { + + target.PrivateAPILabels[k] = v + + } + } + + return target +} + +// Clone function +func (m *PortalSpec_UsagePlan) Clone() proto.Message { + var target *PortalSpec_UsagePlan + if m == nil { + return target + } + target = &PortalSpec_UsagePlan{} + + target.Name = m.GetName() + + target.DisplayName = m.GetDisplayName() + + target.Description = m.GetDescription() + + return target +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/portal.pb.equal.go b/client-go/apimanagement.gloo.solo.io/v2/portal.pb.equal.go new file mode 100644 index 000000000..140506074 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/portal.pb.equal.go @@ -0,0 +1,381 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/portal.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *PortalSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalSpec) + if !ok { + that2, ok := that.(PortalSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetPortalBackendSelectors()) != len(target.GetPortalBackendSelectors()) { + return false + } + for idx, v := range m.GetPortalBackendSelectors() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPortalBackendSelectors()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPortalBackendSelectors()[idx]) { + return false + } + } + + } + + if len(m.GetApis()) != len(target.GetApis()) { + return false + } + for idx, v := range m.GetApis() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApis()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApis()[idx]) { + return false + } + } + + } + + if len(m.GetRouteMetadata()) != len(target.GetRouteMetadata()) { + return false + } + for idx, v := range m.GetRouteMetadata() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetRouteMetadata()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetRouteMetadata()[idx]) { + return false + } + } + + } + + if len(m.GetUsagePlans()) != len(target.GetUsagePlans()) { + return false + } + for idx, v := range m.GetUsagePlans() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetUsagePlans()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetUsagePlans()[idx]) { + return false + } + } + + } + + if len(m.GetDomains()) != len(target.GetDomains()) { + return false + } + for idx, v := range m.GetDomains() { + + if strings.Compare(v, target.GetDomains()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetVisibility()).(equality.Equalizer); ok { + if !h.Equal(target.GetVisibility()) { + return false + } + } else { + if !proto.Equal(m.GetVisibility(), target.GetVisibility()) { + return false + } + } + + return true +} + +// Equal function +func (m *PortalStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalStatus) + if !ok { + that2, ok := that.(PortalStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + if m.GetRouteTablesCount() != target.GetRouteTablesCount() { + return false + } + + if m.GetExtAuthPolicyCount() != target.GetExtAuthPolicyCount() { + return false + } + + if m.GetRateLimitPolicyCount() != target.GetRateLimitPolicyCount() { + return false + } + + if m.GetPortalBackendCount() != target.GetPortalBackendCount() { + return false + } + + return true +} + +// Equal function +func (m *PortalReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalReport) + if !ok { + that2, ok := that.(PortalReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + if len(m.GetSelectedRouteTables()) != len(target.GetSelectedRouteTables()) { + return false + } + for idx, v := range m.GetSelectedRouteTables() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRouteTables()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRouteTables()[idx]) { + return false + } + } + + } + + if len(m.GetSelectedExtAuthPolicies()) != len(target.GetSelectedExtAuthPolicies()) { + return false + } + for idx, v := range m.GetSelectedExtAuthPolicies() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedExtAuthPolicies()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedExtAuthPolicies()[idx]) { + return false + } + } + + } + + if len(m.GetSelectedRateLimitPolicies()) != len(target.GetSelectedRateLimitPolicies()) { + return false + } + for idx, v := range m.GetSelectedRateLimitPolicies() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRateLimitPolicies()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRateLimitPolicies()[idx]) { + return false + } + } + + } + + if len(m.GetSelectedPortalBackend()) != len(target.GetSelectedPortalBackend()) { + return false + } + for idx, v := range m.GetSelectedPortalBackend() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedPortalBackend()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedPortalBackend()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *PortalSpec_Visibility) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalSpec_Visibility) + if !ok { + that2, ok := that.(PortalSpec_Visibility) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetPublic() != target.GetPublic() { + return false + } + + if len(m.GetPrivateAPILabels()) != len(target.GetPrivateAPILabels()) { + return false + } + for k, v := range m.GetPrivateAPILabels() { + + if strings.Compare(v, target.GetPrivateAPILabels()[k]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *PortalSpec_UsagePlan) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalSpec_UsagePlan) + if !ok { + that2, ok := that.(PortalSpec_UsagePlan) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetDisplayName(), target.GetDisplayName()) != 0 { + return false + } + + if strings.Compare(m.GetDescription(), target.GetDescription()) != 0 { + return false + } + + return true +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/portal.pb.go b/client-go/apimanagement.gloo.solo.io/v2/portal.pb.go new file mode 100644 index 000000000..2c23cfa5f --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/portal.pb.go @@ -0,0 +1,879 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/portal.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/golang/protobuf/ptypes/struct" + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The Portal resource configures a developer portal that you can use to securely expose your APIs to end users. +// Before you create the Portal, you bundle the APIs that you want to expose into a route table. +// Then, you prepare a usage plan to control access to your APIs +// by applying rate limiting and external auth policies to the routes in the route table. +// For more information, see the [Portal docs](https://docs.solo.io/gloo-gateway/main/portal/). +// +// The following examples show a Portal resource that refers to usage plans +// that are named in the rate limit server config's descriptors, as well as a corresponding +// `RateLimitPolicy` and `ExternalAuthPolicy` that apply to a route in a route table. +// +// ```yaml +// apiVersion: apimanagement.gloo.solo.io/v2 +// kind: Portal +// +// metadata: +// name: public-portal +// namespace: gloo-mesh-addons +// +// spec: +// +// portalBackendSelectors: +// - selector: +// labels: +// app: gloo-mesh-portal-server +// usagePlans: +// - name: bronze +// displayName: "Bronze Plan" +// description: "A basic usage plan" +// - name: silver +// description: "A better usage plan" +// - name: gold +// description: "The best usage plan!" +// apis: +// - name: productpage +// namespace: bookinfo +// cluster: cluster-1 +// - labels: +// app: reviews +// +// ``` +// +// ```yaml +// apiVersion: admin.gloo.solo.io/v2 +// kind: RateLimitServerConfig +// +// metadata: +// name: usage-plans +// namespace: gloo-mesh-addons +// +// spec: +// +// destinationServers: [] # omitted, server refs +// raw: +// descriptors: +// - key: usagePlan +// value: bronze +// descriptors: +// - key: userId +// rateLimit: +// requestsPerUnit: 50 +// unit: MINUTE +// - key: usagePlan +// value: silver +// descriptors: +// - key: userId +// rateLimit: +// requestsPerUnit: 200 +// unit: MINUTE +// - key: usagePlan +// value: gold +// descriptors: +// - key: userId +// rateLimit: +// requestsPerUnit: 1000 +// unit: MINUTE +// +// ``` +// +// ```yaml +// apiVersion: security.policy.gloo.solo.io/v2 +// kind: ExtAuthPolicy +// metadata: +// +// name: petstore-apiauth +// namespace: petstore +// +// spec: +// +// applyToRoutes: +// - route: +// labels: +// route: pets +// config: +// server: +// name: ext-auth-server +// namespace: gloo-mesh-addons +// cluster: cluster-1 +// glooAuth: +// configs: +// - apiKeyAuth: +// headersFromMetadata: +// x-solo-plan: +// name: plan +// required: true +// k8sSecretApikeyStorage: +// labelSelector: +// auth: api-key +// +// ``` +// +// ```yaml +// apiVersion: trafficcontrol.policy.gloo.solo.io/v2 +// kind: RateLimitPolicy +// metadata: +// +// name: pets-rate-limit +// namespace: petstore +// +// spec: +// +// applyToRoutes: +// - route: +// labels: +// route: pets +// config: +// ratelimitServerConfig: +// name: usage-plans +// namespace: gloo-mesh-addons +// cluster: cluster-1 +// raw: +// rateLimits: +// - actions: +// - requestHeaders: +// descriptorKey: usagePlan +// headerName: x-solo-plan +// - metadata: +// descriptorKey: userId +// metadataKey: +// key: envoy.filters.http.ext_authz +// path: +// - key: userId +// +// ``` +type PortalSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The workloads where an existing portal backend is running. + PortalBackendSelectors []*v2.WorkloadSelector `protobuf:"bytes,1,rep,name=portal_backend_selectors,json=portalBackendSelectors,proto3" json:"portal_backend_selectors,omitempty"` + // A list of route tables with routes to the APIs you want the developer portal to expose. + // The route table might also have 'portalMetadata' key-value fields that you want to display in the developer portal for end users. + Apis []*v2.ObjectSelector `protobuf:"bytes,2,rep,name=apis,proto3" json:"apis,omitempty"` + // A list of route metadata which select the routes to the APIs you want the developer portal to expose. + // $hide_from_docs + RouteMetadata []*v2.ObjectSelector `protobuf:"bytes,6,rep,name=route_metadata,json=routeMetadata,proto3" json:"route_metadata,omitempty"` + // The usage plans to control access to the APIs that the developer portal exposes. + UsagePlans []*PortalSpec_UsagePlan `protobuf:"bytes,3,rep,name=usage_plans,json=usagePlans,proto3" json:"usage_plans,omitempty"` + // The domains on which this Portal will be served. The Host header received by the + // Portal Web App will be matched to one of these domains in order to determine which Portal will be served. + // + // If you are using the Gateway through which you are exposing the Portal + // is listening on a port other than 80/443, you should include the port as part of the + // domain string, e.g. "portal.solo.io:8443". + // + // To prevent undefined behavior, creating a Portal whose domain conflicts with + // an existing Portal will result in the Portal resource being placed into an 'Invalid' state. + Domains []string `protobuf:"bytes,4,rep,name=domains,proto3" json:"domains,omitempty"` + // Settings for controlling the visibility of the Portal's contents. + // Default visibility for content in the Portal is private. + // When a Portal is public, individual APIs can be made private, by specifying the labels for private APIs + // and applying said labels to the route tables that need to be private. + // When a Portal or its APIs are private, the Portal requires authentication. An external auth policy must be + // applied to the Portal's route table in order to enable authentication. The external auth policy must use the + // `idTokenHeader` field with the `id_token` to pass the user's ID token to the Portal. + // For authentication to work, the `email` claim is required in the `id_token`. + Visibility *PortalSpec_Visibility `protobuf:"bytes,5,opt,name=visibility,proto3" json:"visibility,omitempty"` +} + +func (x *PortalSpec) Reset() { + *x = PortalSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalSpec) ProtoMessage() {} + +func (x *PortalSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalSpec.ProtoReflect.Descriptor instead. +func (*PortalSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDescGZIP(), []int{0} +} + +func (x *PortalSpec) GetPortalBackendSelectors() []*v2.WorkloadSelector { + if x != nil { + return x.PortalBackendSelectors + } + return nil +} + +func (x *PortalSpec) GetApis() []*v2.ObjectSelector { + if x != nil { + return x.Apis + } + return nil +} + +func (x *PortalSpec) GetRouteMetadata() []*v2.ObjectSelector { + if x != nil { + return x.RouteMetadata + } + return nil +} + +func (x *PortalSpec) GetUsagePlans() []*PortalSpec_UsagePlan { + if x != nil { + return x.UsagePlans + } + return nil +} + +func (x *PortalSpec) GetDomains() []string { + if x != nil { + return x.Domains + } + return nil +} + +func (x *PortalSpec) GetVisibility() *PortalSpec_Visibility { + if x != nil { + return x.Visibility + } + return nil +} + +type PortalStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + OwnerWorkspace string `protobuf:"bytes,2,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` + // The number of route tables that are selected by this portal. + RouteTablesCount uint32 `protobuf:"varint,3,opt,name=route_tables_count,json=routeTablesCount,proto3" json:"route_tables_count,omitempty"` + // The number of ext-auth policies that this portal selects with the usage plans that are defined in the portal resource. + ExtAuthPolicyCount uint32 `protobuf:"varint,4,opt,name=ext_auth_policy_count,json=extAuthPolicyCount,proto3" json:"ext_auth_policy_count,omitempty"` + // The number of rate limit policies that this portal selects with the usage plans that are defined in the portal resource. + RateLimitPolicyCount uint32 `protobuf:"varint,5,opt,name=rate_limit_policy_count,json=rateLimitPolicyCount,proto3" json:"rate_limit_policy_count,omitempty"` + // The number of portal backends that are selected by this portal. + PortalBackendCount uint32 `protobuf:"varint,6,opt,name=portal_backend_count,json=portalBackendCount,proto3" json:"portal_backend_count,omitempty"` +} + +func (x *PortalStatus) Reset() { + *x = PortalStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalStatus) ProtoMessage() {} + +func (x *PortalStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalStatus.ProtoReflect.Descriptor instead. +func (*PortalStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDescGZIP(), []int{1} +} + +func (x *PortalStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *PortalStatus) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +func (x *PortalStatus) GetRouteTablesCount() uint32 { + if x != nil { + return x.RouteTablesCount + } + return 0 +} + +func (x *PortalStatus) GetExtAuthPolicyCount() uint32 { + if x != nil { + return x.ExtAuthPolicyCount + } + return 0 +} + +func (x *PortalStatus) GetRateLimitPolicyCount() uint32 { + if x != nil { + return x.RateLimitPolicyCount + } + return 0 +} + +func (x *PortalStatus) GetPortalBackendCount() uint32 { + if x != nil { + return x.PortalBackendCount + } + return 0 +} + +type PortalReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + OwnerWorkspace string `protobuf:"bytes,2,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` + // A list of route tables that are selected by this portal. + SelectedRouteTables []*v2.ObjectReference `protobuf:"bytes,3,rep,name=selected_route_tables,json=selectedRouteTables,proto3" json:"selected_route_tables,omitempty"` + // A list of ext-auth policies selected by this portal. + SelectedExtAuthPolicies []*v2.ObjectReference `protobuf:"bytes,4,rep,name=selected_ext_auth_policies,json=selectedExtAuthPolicies,proto3" json:"selected_ext_auth_policies,omitempty"` + // A list of rate limit policies selected by this portal. + SelectedRateLimitPolicies []*v2.ObjectReference `protobuf:"bytes,5,rep,name=selected_rate_limit_policies,json=selectedRateLimitPolicies,proto3" json:"selected_rate_limit_policies,omitempty"` + // A list of portal backends selected by this portal. + SelectedPortalBackend []*v2.ObjectReference `protobuf:"bytes,6,rep,name=selected_portal_backend,json=selectedPortalBackend,proto3" json:"selected_portal_backend,omitempty"` +} + +func (x *PortalReport) Reset() { + *x = PortalReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalReport) ProtoMessage() {} + +func (x *PortalReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalReport.ProtoReflect.Descriptor instead. +func (*PortalReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDescGZIP(), []int{2} +} + +func (x *PortalReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *PortalReport) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +func (x *PortalReport) GetSelectedRouteTables() []*v2.ObjectReference { + if x != nil { + return x.SelectedRouteTables + } + return nil +} + +func (x *PortalReport) GetSelectedExtAuthPolicies() []*v2.ObjectReference { + if x != nil { + return x.SelectedExtAuthPolicies + } + return nil +} + +func (x *PortalReport) GetSelectedRateLimitPolicies() []*v2.ObjectReference { + if x != nil { + return x.SelectedRateLimitPolicies + } + return nil +} + +func (x *PortalReport) GetSelectedPortalBackend() []*v2.ObjectReference { + if x != nil { + return x.SelectedPortalBackend + } + return nil +} + +// Settings that control the visibility of the Portal's contents. +type PortalSpec_Visibility struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If true, all the APIs published in this portal are going to be public (i.e. visible to unauthenticated users); + // individual APIs can still be made private using the privateAPILabels field. + // Defaults to false, in which case the privateAPILabels field will have not effect. + Public bool `protobuf:"varint,1,opt,name=public,proto3" json:"public,omitempty"` + // Custom labels for private APIs. Apply these labels to route tables that need to be private. + // Has no effect if the public field is set to false in which case all APIs are private. + PrivateAPILabels map[string]string `protobuf:"bytes,2,rep,name=privateAPILabels,proto3" json:"privateAPILabels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PortalSpec_Visibility) Reset() { + *x = PortalSpec_Visibility{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalSpec_Visibility) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalSpec_Visibility) ProtoMessage() {} + +func (x *PortalSpec_Visibility) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalSpec_Visibility.ProtoReflect.Descriptor instead. +func (*PortalSpec_Visibility) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *PortalSpec_Visibility) GetPublic() bool { + if x != nil { + return x.Public + } + return false +} + +func (x *PortalSpec_Visibility) GetPrivateAPILabels() map[string]string { + if x != nil { + return x.PrivateAPILabels + } + return nil +} + +// A `UsagePlan` defined in the Portal resource is a reference to an existing `RateLimitPolicy` and `ExtAuthPolicy` that has been +// applied to a route table. +// The values of the descriptor key `usagePlan` in the `RateLimitServerConfig` used by an existing `RateLimitPolicy` +// must match the `name` of the `UsagePlan` defined in the Portal resource, and will be used to determine which rate limiting +// and ext auth options are available for this Portal. +type PortalSpec_UsagePlan struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Match the names of the usage plans with the descriptors that you defined in the rate limit server config. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional display name for the usage plan to show end users in the developer portal. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional description for the usage plan to show end users in the developer portal. + // You might include information about how to get the plan or what the plan includes and excludes. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *PortalSpec_UsagePlan) Reset() { + *x = PortalSpec_UsagePlan{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalSpec_UsagePlan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalSpec_UsagePlan) ProtoMessage() {} + +func (x *PortalSpec_UsagePlan) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalSpec_UsagePlan.ProtoReflect.Descriptor instead. +func (*PortalSpec_UsagePlan) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *PortalSpec_UsagePlan) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PortalSpec_UsagePlan) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *PortalSpec_UsagePlan) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDesc = []byte{ + 0x0a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, + 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, + 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xf9, 0x05, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x5f, 0x0a, 0x18, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x16, 0x70, 0x6f, 0x72, 0x74, 0x61, + 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x12, 0x37, 0x0a, 0x04, 0x61, 0x70, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x61, 0x70, 0x69, 0x73, 0x12, 0x4a, 0x0a, 0x0e, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x51, 0x0a, 0x0b, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, + 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x61, 0x70, + 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x0a, 0x75, + 0x73, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x73, 0x12, 0x51, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0xde, 0x01, 0x0a, 0x0a, 0x56, 0x69, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x73, 0x0a, + 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x41, 0x50, 0x49, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x1a, 0x43, 0x0a, 0x15, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x09, 0x55, 0x73, 0x61, 0x67, 0x65, + 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x02, + 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, + 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x65, 0x78, + 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x65, 0x78, 0x74, 0x41, 0x75, + 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a, + 0x17, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, + 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xef, 0x04, 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x61, + 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x58, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x61, 0x70, + 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x15, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x1a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x17, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x1c, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x19, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x61, 0x74, + 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x5c, + 0x0a, 0x17, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x61, + 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x15, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, + 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x1a, 0x5a, 0x0a, 0x0f, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5b, 0x5a, 0x4d, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x70, 0x69, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, + 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_goTypes = []interface{}{ + (*PortalSpec)(nil), // 0: apimanagement.gloo.solo.io.PortalSpec + (*PortalStatus)(nil), // 1: apimanagement.gloo.solo.io.PortalStatus + (*PortalReport)(nil), // 2: apimanagement.gloo.solo.io.PortalReport + (*PortalSpec_Visibility)(nil), // 3: apimanagement.gloo.solo.io.PortalSpec.Visibility + (*PortalSpec_UsagePlan)(nil), // 4: apimanagement.gloo.solo.io.PortalSpec.UsagePlan + nil, // 5: apimanagement.gloo.solo.io.PortalSpec.Visibility.PrivateAPILabelsEntry + nil, // 6: apimanagement.gloo.solo.io.PortalReport.WorkspacesEntry + (*v2.WorkloadSelector)(nil), // 7: common.gloo.solo.io.WorkloadSelector + (*v2.ObjectSelector)(nil), // 8: common.gloo.solo.io.ObjectSelector + (*v2.Status)(nil), // 9: common.gloo.solo.io.Status + (*v2.ObjectReference)(nil), // 10: common.gloo.solo.io.ObjectReference + (*v2.Report)(nil), // 11: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_depIdxs = []int32{ + 7, // 0: apimanagement.gloo.solo.io.PortalSpec.portal_backend_selectors:type_name -> common.gloo.solo.io.WorkloadSelector + 8, // 1: apimanagement.gloo.solo.io.PortalSpec.apis:type_name -> common.gloo.solo.io.ObjectSelector + 8, // 2: apimanagement.gloo.solo.io.PortalSpec.route_metadata:type_name -> common.gloo.solo.io.ObjectSelector + 4, // 3: apimanagement.gloo.solo.io.PortalSpec.usage_plans:type_name -> apimanagement.gloo.solo.io.PortalSpec.UsagePlan + 3, // 4: apimanagement.gloo.solo.io.PortalSpec.visibility:type_name -> apimanagement.gloo.solo.io.PortalSpec.Visibility + 9, // 5: apimanagement.gloo.solo.io.PortalStatus.common:type_name -> common.gloo.solo.io.Status + 6, // 6: apimanagement.gloo.solo.io.PortalReport.workspaces:type_name -> apimanagement.gloo.solo.io.PortalReport.WorkspacesEntry + 10, // 7: apimanagement.gloo.solo.io.PortalReport.selected_route_tables:type_name -> common.gloo.solo.io.ObjectReference + 10, // 8: apimanagement.gloo.solo.io.PortalReport.selected_ext_auth_policies:type_name -> common.gloo.solo.io.ObjectReference + 10, // 9: apimanagement.gloo.solo.io.PortalReport.selected_rate_limit_policies:type_name -> common.gloo.solo.io.ObjectReference + 10, // 10: apimanagement.gloo.solo.io.PortalReport.selected_portal_backend:type_name -> common.gloo.solo.io.ObjectReference + 5, // 11: apimanagement.gloo.solo.io.PortalSpec.Visibility.privateAPILabels:type_name -> apimanagement.gloo.solo.io.PortalSpec.Visibility.PrivateAPILabelsEntry + 11, // 12: apimanagement.gloo.solo.io.PortalReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalSpec_Visibility); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalSpec_UsagePlan); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_proto_depIdxs = nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/portal.pb.hash.go b/client-go/apimanagement.gloo.solo.io/v2/portal.pb.hash.go new file mode 100644 index 000000000..21b8490d1 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/portal.pb.hash.go @@ -0,0 +1,453 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/portal.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *PortalSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.PortalSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetPortalBackendSelectors() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetApis() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetRouteMetadata() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetUsagePlans() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetDomains() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetVisibility()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Visibility")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetVisibility(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Visibility")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.PortalStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRouteTablesCount()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetExtAuthPolicyCount()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRateLimitPolicyCount()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPortalBackendCount()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.PortalReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + for _, v := range m.GetSelectedRouteTables() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetSelectedExtAuthPolicies() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetSelectedRateLimitPolicies() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetSelectedPortalBackend() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalSpec_Visibility) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.PortalSpec_Visibility")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPublic()) + if err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetPrivateAPILabels() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalSpec_UsagePlan) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.PortalSpec_UsagePlan")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetDisplayName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetDescription())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/portal_group.pb.clone.go b/client-go/apimanagement.gloo.solo.io/v2/portal_group.pb.clone.go new file mode 100644 index 000000000..2cc096bab --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/portal_group.pb.clone.go @@ -0,0 +1,179 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/portal_group.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *PortalGroupSpec) Clone() proto.Message { + var target *PortalGroupSpec + if m == nil { + return target + } + target = &PortalGroupSpec{} + + target.Name = m.GetName() + + target.Description = m.GetDescription() + + if m.GetMembership() != nil { + target.Membership = make([]*Membership, len(m.GetMembership())) + for idx, v := range m.GetMembership() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Membership[idx] = h.Clone().(*Membership) + } else { + target.Membership[idx] = proto.Clone(v).(*Membership) + } + + } + } + + if h, ok := interface{}(m.GetAccessLevel()).(clone.Cloner); ok { + target.AccessLevel = h.Clone().(*PortalGroupSpec_AccessLevel) + } else { + target.AccessLevel = proto.Clone(m.GetAccessLevel()).(*PortalGroupSpec_AccessLevel) + } + + return target +} + +// Clone function +func (m *Membership) Clone() proto.Message { + var target *Membership + if m == nil { + return target + } + target = &Membership{} + + if m.GetClaims() != nil { + target.Claims = make([]*Claim, len(m.GetClaims())) + for idx, v := range m.GetClaims() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Claims[idx] = h.Clone().(*Claim) + } else { + target.Claims[idx] = proto.Clone(v).(*Claim) + } + + } + } + + return target +} + +// Clone function +func (m *Claim) Clone() proto.Message { + var target *Claim + if m == nil { + return target + } + target = &Claim{} + + target.Key = m.GetKey() + + target.Value = m.GetValue() + + return target +} + +// Clone function +func (m *PortalGroupStatus) Clone() proto.Message { + var target *PortalGroupStatus + if m == nil { + return target + } + target = &PortalGroupStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.OwnedByWorkspace = m.GetOwnedByWorkspace() + + return target +} + +// Clone function +func (m *PortalGroupReport) Clone() proto.Message { + var target *PortalGroupReport + if m == nil { + return target + } + target = &PortalGroupReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + target.OwnedByWorkspace = m.GetOwnedByWorkspace() + + return target +} + +// Clone function +func (m *PortalGroupSpec_AccessLevel) Clone() proto.Message { + var target *PortalGroupSpec_AccessLevel + if m == nil { + return target + } + target = &PortalGroupSpec_AccessLevel{} + + if m.GetApis() != nil { + target.Apis = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector, len(m.GetApis())) + for idx, v := range m.GetApis() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Apis[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.Apis[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + } + } + + if m.GetUsagePlans() != nil { + target.UsagePlans = make([]string, len(m.GetUsagePlans())) + for idx, v := range m.GetUsagePlans() { + + target.UsagePlans[idx] = v + + } + } + + return target +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/portal_group.pb.equal.go b/client-go/apimanagement.gloo.solo.io/v2/portal_group.pb.equal.go new file mode 100644 index 000000000..bc12ce243 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/portal_group.pb.equal.go @@ -0,0 +1,293 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/portal_group.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *PortalGroupSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalGroupSpec) + if !ok { + that2, ok := that.(PortalGroupSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetDescription(), target.GetDescription()) != 0 { + return false + } + + if len(m.GetMembership()) != len(target.GetMembership()) { + return false + } + for idx, v := range m.GetMembership() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetMembership()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetMembership()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetAccessLevel()).(equality.Equalizer); ok { + if !h.Equal(target.GetAccessLevel()) { + return false + } + } else { + if !proto.Equal(m.GetAccessLevel(), target.GetAccessLevel()) { + return false + } + } + + return true +} + +// Equal function +func (m *Membership) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Membership) + if !ok { + that2, ok := that.(Membership) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetClaims()) != len(target.GetClaims()) { + return false + } + for idx, v := range m.GetClaims() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetClaims()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetClaims()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *Claim) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Claim) + if !ok { + that2, ok := that.(Claim) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *PortalGroupStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalGroupStatus) + if !ok { + that2, ok := that.(PortalGroupStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if strings.Compare(m.GetOwnedByWorkspace(), target.GetOwnedByWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *PortalGroupReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalGroupReport) + if !ok { + that2, ok := that.(PortalGroupReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if strings.Compare(m.GetOwnedByWorkspace(), target.GetOwnedByWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *PortalGroupSpec_AccessLevel) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalGroupSpec_AccessLevel) + if !ok { + that2, ok := that.(PortalGroupSpec_AccessLevel) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApis()) != len(target.GetApis()) { + return false + } + for idx, v := range m.GetApis() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApis()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApis()[idx]) { + return false + } + } + + } + + if len(m.GetUsagePlans()) != len(target.GetUsagePlans()) { + return false + } + for idx, v := range m.GetUsagePlans() { + + if strings.Compare(v, target.GetUsagePlans()[idx]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/portal_group.pb.go b/client-go/apimanagement.gloo.solo.io/v2/portal_group.pb.go new file mode 100644 index 000000000..2ad98af7a --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/portal_group.pb.go @@ -0,0 +1,676 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/portal_group.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A `PortalGroup` defines what APIs a group of users can view in the portal, and what usage plans they can manage API keys for. +// +// A `PortalGroup` consists of a set of permissions defined for the group defined in `AccessLevel`, and a set of claims that +// is used to determine whether a user belongs to this group. +// +// Below is an example of a `PortalGroup` that defines a group of users that can view the APIs (RouteTables) with the `customers-group: true` label, +// and manage API keys for the `bronze`, `silver`, and `gold` usage plans for said APIs. +// A user belongs to this group if they have the following claims in their JWT: +// ```json +// { "type": "customers", "region": "us-east-1" } +// ``` +// +// ```yaml +// apiVersion: apimanagement.gloo.solo.io/v2 +// kind: PortalGroup +// metadata: +// +// name: customers-group +// namespace: gloo-mesh-addons +// +// labels: +// +// portal: sample-bank-portal +// +// spec: +// +// name: customers-group +// description: a group for users accessing the customers APIs +// membership: +// - claims: +// - key: type +// value: customers +// - key: region +// value: us-east-1 +// accessLevel: +// apis: +// - routeTable: +// labels: +// customers-group: true +// usagePlans: +// - name: bronze +// - name: silver +// - name: gold +// +// ``` +type PortalGroupSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the group. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The description of the group. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // A list of `Membership` criteria that defines the claims that are used to determine whether a user belongs to this group. + // A user is considered to be a member of this group if they have claims that match all the claims in any `Membership` criteria in this list. + // For example, a user is considered to be a member of this group if they have defined the following list of membership criteria in their `PortalGroup`: + // ```yaml + // ... + // + // membership: + // - claims: + // - key: type + // value: customers + // - key: region + // value: us-east-1 + // - claims: + // - key: type + // value: customers + // - key: region + // value: us-west-1 + // + // ``` + // and the user has the following claims in their idToken: + // ```json + // { "type": "customers", "region": "us-east-1" } or { "type": "customers", "region": "us-west-1" } + // ``` + // claims within a `Membership` criteria is an AND operation, and the list of `Membership` criteria is an OR operation. + Membership []*Membership `protobuf:"bytes,3,rep,name=membership,proto3" json:"membership,omitempty"` + // Settings that control the list of APIs that this group can view, and the usage plans that this group can manage API keys for. + AccessLevel *PortalGroupSpec_AccessLevel `protobuf:"bytes,4,opt,name=access_level,json=accessLevel,proto3" json:"access_level,omitempty"` +} + +func (x *PortalGroupSpec) Reset() { + *x = PortalGroupSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalGroupSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalGroupSpec) ProtoMessage() {} + +func (x *PortalGroupSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalGroupSpec.ProtoReflect.Descriptor instead. +func (*PortalGroupSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescGZIP(), []int{0} +} + +func (x *PortalGroupSpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PortalGroupSpec) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *PortalGroupSpec) GetMembership() []*Membership { + if x != nil { + return x.Membership + } + return nil +} + +func (x *PortalGroupSpec) GetAccessLevel() *PortalGroupSpec_AccessLevel { + if x != nil { + return x.AccessLevel + } + return nil +} + +// `Membership` contains a list of claims that is used to determine whether a user belongs to this group. +// A user is considered to be a member of this group if their idToken has all the claims in this list. +type Membership struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of claims that is used to determine whether a user belongs to this group. + // A user is considered to be a member of this group if their idToken has claims that match all the claims in this list. + Claims []*Claim `protobuf:"bytes,1,rep,name=claims,proto3" json:"claims,omitempty"` +} + +func (x *Membership) Reset() { + *x = Membership{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Membership) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Membership) ProtoMessage() {} + +func (x *Membership) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Membership.ProtoReflect.Descriptor instead. +func (*Membership) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescGZIP(), []int{1} +} + +func (x *Membership) GetClaims() []*Claim { + if x != nil { + return x.Claims + } + return nil +} + +// A claim that can be used to define a group of users. +type Claim struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key of the claim. For example, `customers` or `region`. This is the key that we will use to match against the claims in the idToken. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // The value of the claim. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Claim) Reset() { + *x = Claim{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Claim) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Claim) ProtoMessage() {} + +func (x *Claim) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Claim.ProtoReflect.Descriptor instead. +func (*Claim) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescGZIP(), []int{2} +} + +func (x *Claim) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *Claim) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type PortalGroupStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The name of the workspace that owns the PortalGroup schema. + OwnedByWorkspace string `protobuf:"bytes,2,opt,name=owned_by_workspace,json=ownedByWorkspace,proto3" json:"owned_by_workspace,omitempty"` +} + +func (x *PortalGroupStatus) Reset() { + *x = PortalGroupStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalGroupStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalGroupStatus) ProtoMessage() {} + +func (x *PortalGroupStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalGroupStatus.ProtoReflect.Descriptor instead. +func (*PortalGroupStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescGZIP(), []int{3} +} + +func (x *PortalGroupStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *PortalGroupStatus) GetOwnedByWorkspace() string { + if x != nil { + return x.OwnedByWorkspace + } + return "" +} + +type PortalGroupReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The name of the workspace that owns the PortalGroup schema. + OwnedByWorkspace string `protobuf:"bytes,2,opt,name=owned_by_workspace,json=ownedByWorkspace,proto3" json:"owned_by_workspace,omitempty"` +} + +func (x *PortalGroupReport) Reset() { + *x = PortalGroupReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalGroupReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalGroupReport) ProtoMessage() {} + +func (x *PortalGroupReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalGroupReport.ProtoReflect.Descriptor instead. +func (*PortalGroupReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescGZIP(), []int{4} +} + +func (x *PortalGroupReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *PortalGroupReport) GetOwnedByWorkspace() string { + if x != nil { + return x.OwnedByWorkspace + } + return "" +} + +// Defines the access level of the group. Private APIs listed in the access level allows this group to +// view the selected APIs in the portal. +// Usage plans listed in the access level allows this group to manage API keys for the listed usage plans. +type PortalGroupSpec_AccessLevel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The APIs that we want to allow this group to view in the portal. An API consists of all routes exposed by a route table, + // so the apis field is a list of route table selectors. + Apis []*v2.ObjectSelector `protobuf:"bytes,1,rep,name=apis,proto3" json:"apis,omitempty"` + // The names of usage plans that we want to allow this group to manage API keys for. Note that if your usage plan is applied across + // different route tables, granting the ability to manage API keys for a usage plan in a group will allow the created API keys + // to also be used across all route tables that the usage plan applies to. + UsagePlans []string `protobuf:"bytes,2,rep,name=usage_plans,json=usagePlans,proto3" json:"usage_plans,omitempty"` +} + +func (x *PortalGroupSpec_AccessLevel) Reset() { + *x = PortalGroupSpec_AccessLevel{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalGroupSpec_AccessLevel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalGroupSpec_AccessLevel) ProtoMessage() {} + +func (x *PortalGroupSpec_AccessLevel) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalGroupSpec_AccessLevel.ProtoReflect.Descriptor instead. +func (*PortalGroupSpec_AccessLevel) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *PortalGroupSpec_AccessLevel) GetApis() []*v2.ObjectSelector { + if x != nil { + return x.Apis + } + return nil +} + +func (x *PortalGroupSpec_AccessLevel) GetUsagePlans() []string { + if x != nil { + return x.UsagePlans + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDesc = []byte{ + 0x0a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, + 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, + 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x02, 0x0a, 0x0f, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, + 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x61, 0x70, + 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x1a, 0x67, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x37, 0x0a, 0x04, 0x61, 0x70, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x04, 0x61, 0x70, 0x69, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, + 0x75, 0x73, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x22, 0x47, 0x0a, 0x0a, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x39, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x69, + 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x06, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x76, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2c, + 0x0a, 0x12, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, + 0x64, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xfc, 0x01, 0x0a, + 0x11, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x5d, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, + 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, + 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5b, 0x5a, 0x4d, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, + 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, + 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_goTypes = []interface{}{ + (*PortalGroupSpec)(nil), // 0: apimanagement.gloo.solo.io.PortalGroupSpec + (*Membership)(nil), // 1: apimanagement.gloo.solo.io.Membership + (*Claim)(nil), // 2: apimanagement.gloo.solo.io.Claim + (*PortalGroupStatus)(nil), // 3: apimanagement.gloo.solo.io.PortalGroupStatus + (*PortalGroupReport)(nil), // 4: apimanagement.gloo.solo.io.PortalGroupReport + (*PortalGroupSpec_AccessLevel)(nil), // 5: apimanagement.gloo.solo.io.PortalGroupSpec.AccessLevel + nil, // 6: apimanagement.gloo.solo.io.PortalGroupReport.WorkspacesEntry + (*v2.Status)(nil), // 7: common.gloo.solo.io.Status + (*v2.ObjectSelector)(nil), // 8: common.gloo.solo.io.ObjectSelector + (*v2.Report)(nil), // 9: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_depIdxs = []int32{ + 1, // 0: apimanagement.gloo.solo.io.PortalGroupSpec.membership:type_name -> apimanagement.gloo.solo.io.Membership + 5, // 1: apimanagement.gloo.solo.io.PortalGroupSpec.access_level:type_name -> apimanagement.gloo.solo.io.PortalGroupSpec.AccessLevel + 2, // 2: apimanagement.gloo.solo.io.Membership.claims:type_name -> apimanagement.gloo.solo.io.Claim + 7, // 3: apimanagement.gloo.solo.io.PortalGroupStatus.common:type_name -> common.gloo.solo.io.Status + 6, // 4: apimanagement.gloo.solo.io.PortalGroupReport.workspaces:type_name -> apimanagement.gloo.solo.io.PortalGroupReport.WorkspacesEntry + 8, // 5: apimanagement.gloo.solo.io.PortalGroupSpec.AccessLevel.apis:type_name -> common.gloo.solo.io.ObjectSelector + 9, // 6: apimanagement.gloo.solo.io.PortalGroupReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalGroupSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Membership); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Claim); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalGroupStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalGroupReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalGroupSpec_AccessLevel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_apimanagement_v2_portal_group_proto_depIdxs = nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/portal_group.pb.hash.go b/client-go/apimanagement.gloo.solo.io/v2/portal_group.pb.hash.go new file mode 100644 index 000000000..6b4c0f99b --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/portal_group.pb.hash.go @@ -0,0 +1,305 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/apimanagement/v2/portal_group.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *PortalGroupSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.PortalGroupSpec")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetDescription())); err != nil { + return 0, err + } + + for _, v := range m.GetMembership() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetAccessLevel()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AccessLevel")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAccessLevel(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AccessLevel")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Membership) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.Membership")); err != nil { + return 0, err + } + + for _, v := range m.GetClaims() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Claim) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.Claim")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalGroupStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.PortalGroupStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetOwnedByWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalGroupReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.PortalGroupReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnedByWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalGroupSpec_AccessLevel) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("apimanagement.gloo.solo.io.github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2.PortalGroupSpec_AccessLevel")); err != nil { + return 0, err + } + + for _, v := range m.GetApis() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetUsagePlans() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/proto_deepcopy.go b/client-go/apimanagement.gloo.solo.io/v2/proto_deepcopy.go new file mode 100644 index 000000000..c7b96f648 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/proto_deepcopy.go @@ -0,0 +1,186 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the GraphQLStitchedSchema.Spec +func (in *GraphQLStitchedSchemaSpec) DeepCopyInto(out *GraphQLStitchedSchemaSpec) { + var p *GraphQLStitchedSchemaSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*GraphQLStitchedSchemaSpec) + } else { + p = proto.Clone(in).(*GraphQLStitchedSchemaSpec) + } + *out = *p +} + +// DeepCopyInto for the GraphQLStitchedSchema.Status +func (in *GraphQLStitchedSchemaStatus) DeepCopyInto(out *GraphQLStitchedSchemaStatus) { + var p *GraphQLStitchedSchemaStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*GraphQLStitchedSchemaStatus) + } else { + p = proto.Clone(in).(*GraphQLStitchedSchemaStatus) + } + *out = *p +} + +// DeepCopyInto for the GraphQLResolverMap.Spec +func (in *GraphQLResolverMapSpec) DeepCopyInto(out *GraphQLResolverMapSpec) { + var p *GraphQLResolverMapSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*GraphQLResolverMapSpec) + } else { + p = proto.Clone(in).(*GraphQLResolverMapSpec) + } + *out = *p +} + +// DeepCopyInto for the GraphQLResolverMap.Status +func (in *GraphQLResolverMapStatus) DeepCopyInto(out *GraphQLResolverMapStatus) { + var p *GraphQLResolverMapStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*GraphQLResolverMapStatus) + } else { + p = proto.Clone(in).(*GraphQLResolverMapStatus) + } + *out = *p +} + +// DeepCopyInto for the GraphQLSchema.Spec +func (in *GraphQLSchemaSpec) DeepCopyInto(out *GraphQLSchemaSpec) { + var p *GraphQLSchemaSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*GraphQLSchemaSpec) + } else { + p = proto.Clone(in).(*GraphQLSchemaSpec) + } + *out = *p +} + +// DeepCopyInto for the GraphQLSchema.Status +func (in *GraphQLSchemaStatus) DeepCopyInto(out *GraphQLSchemaStatus) { + var p *GraphQLSchemaStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*GraphQLSchemaStatus) + } else { + p = proto.Clone(in).(*GraphQLSchemaStatus) + } + *out = *p +} + +// DeepCopyInto for the ApiDoc.Spec +func (in *ApiDocSpec) DeepCopyInto(out *ApiDocSpec) { + var p *ApiDocSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ApiDocSpec) + } else { + p = proto.Clone(in).(*ApiDocSpec) + } + *out = *p +} + +// DeepCopyInto for the ApiDoc.Status +func (in *ApiDocStatus) DeepCopyInto(out *ApiDocStatus) { + var p *ApiDocStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ApiDocStatus) + } else { + p = proto.Clone(in).(*ApiDocStatus) + } + *out = *p +} + +// DeepCopyInto for the Portal.Spec +func (in *PortalSpec) DeepCopyInto(out *PortalSpec) { + var p *PortalSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*PortalSpec) + } else { + p = proto.Clone(in).(*PortalSpec) + } + *out = *p +} + +// DeepCopyInto for the Portal.Status +func (in *PortalStatus) DeepCopyInto(out *PortalStatus) { + var p *PortalStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*PortalStatus) + } else { + p = proto.Clone(in).(*PortalStatus) + } + *out = *p +} + +// DeepCopyInto for the PortalGroup.Spec +func (in *PortalGroupSpec) DeepCopyInto(out *PortalGroupSpec) { + var p *PortalGroupSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*PortalGroupSpec) + } else { + p = proto.Clone(in).(*PortalGroupSpec) + } + *out = *p +} + +// DeepCopyInto for the PortalGroup.Status +func (in *PortalGroupStatus) DeepCopyInto(out *PortalGroupStatus) { + var p *PortalGroupStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*PortalGroupStatus) + } else { + p = proto.Clone(in).(*PortalGroupStatus) + } + *out = *p +} + +// DeepCopyInto for the ApiProduct.Spec +func (in *ApiProductSpec) DeepCopyInto(out *ApiProductSpec) { + var p *ApiProductSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ApiProductSpec) + } else { + p = proto.Clone(in).(*ApiProductSpec) + } + *out = *p +} + +// DeepCopyInto for the ApiProduct.Status +func (in *ApiProductStatus) DeepCopyInto(out *ApiProductStatus) { + var p *ApiProductStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ApiProductStatus) + } else { + p = proto.Clone(in).(*ApiProductStatus) + } + *out = *p +} + +// DeepCopyInto for the ApiSchemaDiscovery.Spec +func (in *ApiSchemaDiscoverySpec) DeepCopyInto(out *ApiSchemaDiscoverySpec) { + var p *ApiSchemaDiscoverySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ApiSchemaDiscoverySpec) + } else { + p = proto.Clone(in).(*ApiSchemaDiscoverySpec) + } + *out = *p +} + +// DeepCopyInto for the ApiSchemaDiscovery.Status +func (in *ApiSchemaDiscoveryStatus) DeepCopyInto(out *ApiSchemaDiscoveryStatus) { + var p *ApiSchemaDiscoveryStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ApiSchemaDiscoveryStatus) + } else { + p = proto.Clone(in).(*ApiSchemaDiscoveryStatus) + } + *out = *p +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/providers/client_providers.go b/client-go/apimanagement.gloo.solo.io/v2/providers/client_providers.go new file mode 100644 index 000000000..d19c24f8c --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/providers/client_providers.go @@ -0,0 +1,242 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2 + +import ( + apimanagement_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for GraphQLStitchedSchemaClient from Clientset +func GraphQLStitchedSchemaClientFromClientsetProvider(clients apimanagement_gloo_solo_io_v2.Clientset) apimanagement_gloo_solo_io_v2.GraphQLStitchedSchemaClient { + return clients.GraphQLStitchedSchemas() +} + +// Provider for GraphQLStitchedSchema Client from Client +func GraphQLStitchedSchemaClientProvider(client client.Client) apimanagement_gloo_solo_io_v2.GraphQLStitchedSchemaClient { + return apimanagement_gloo_solo_io_v2.NewGraphQLStitchedSchemaClient(client) +} + +type GraphQLStitchedSchemaClientFactory func(client client.Client) apimanagement_gloo_solo_io_v2.GraphQLStitchedSchemaClient + +func GraphQLStitchedSchemaClientFactoryProvider() GraphQLStitchedSchemaClientFactory { + return GraphQLStitchedSchemaClientProvider +} + +type GraphQLStitchedSchemaClientFromConfigFactory func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.GraphQLStitchedSchemaClient, error) + +func GraphQLStitchedSchemaClientFromConfigFactoryProvider() GraphQLStitchedSchemaClientFromConfigFactory { + return func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.GraphQLStitchedSchemaClient, error) { + clients, err := apimanagement_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.GraphQLStitchedSchemas(), nil + } +} + +// Provider for GraphQLResolverMapClient from Clientset +func GraphQLResolverMapClientFromClientsetProvider(clients apimanagement_gloo_solo_io_v2.Clientset) apimanagement_gloo_solo_io_v2.GraphQLResolverMapClient { + return clients.GraphQLResolverMaps() +} + +// Provider for GraphQLResolverMap Client from Client +func GraphQLResolverMapClientProvider(client client.Client) apimanagement_gloo_solo_io_v2.GraphQLResolverMapClient { + return apimanagement_gloo_solo_io_v2.NewGraphQLResolverMapClient(client) +} + +type GraphQLResolverMapClientFactory func(client client.Client) apimanagement_gloo_solo_io_v2.GraphQLResolverMapClient + +func GraphQLResolverMapClientFactoryProvider() GraphQLResolverMapClientFactory { + return GraphQLResolverMapClientProvider +} + +type GraphQLResolverMapClientFromConfigFactory func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.GraphQLResolverMapClient, error) + +func GraphQLResolverMapClientFromConfigFactoryProvider() GraphQLResolverMapClientFromConfigFactory { + return func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.GraphQLResolverMapClient, error) { + clients, err := apimanagement_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.GraphQLResolverMaps(), nil + } +} + +// Provider for GraphQLSchemaClient from Clientset +func GraphQLSchemaClientFromClientsetProvider(clients apimanagement_gloo_solo_io_v2.Clientset) apimanagement_gloo_solo_io_v2.GraphQLSchemaClient { + return clients.GraphQLSchemas() +} + +// Provider for GraphQLSchema Client from Client +func GraphQLSchemaClientProvider(client client.Client) apimanagement_gloo_solo_io_v2.GraphQLSchemaClient { + return apimanagement_gloo_solo_io_v2.NewGraphQLSchemaClient(client) +} + +type GraphQLSchemaClientFactory func(client client.Client) apimanagement_gloo_solo_io_v2.GraphQLSchemaClient + +func GraphQLSchemaClientFactoryProvider() GraphQLSchemaClientFactory { + return GraphQLSchemaClientProvider +} + +type GraphQLSchemaClientFromConfigFactory func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.GraphQLSchemaClient, error) + +func GraphQLSchemaClientFromConfigFactoryProvider() GraphQLSchemaClientFromConfigFactory { + return func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.GraphQLSchemaClient, error) { + clients, err := apimanagement_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.GraphQLSchemas(), nil + } +} + +// Provider for ApiDocClient from Clientset +func ApiDocClientFromClientsetProvider(clients apimanagement_gloo_solo_io_v2.Clientset) apimanagement_gloo_solo_io_v2.ApiDocClient { + return clients.ApiDocs() +} + +// Provider for ApiDoc Client from Client +func ApiDocClientProvider(client client.Client) apimanagement_gloo_solo_io_v2.ApiDocClient { + return apimanagement_gloo_solo_io_v2.NewApiDocClient(client) +} + +type ApiDocClientFactory func(client client.Client) apimanagement_gloo_solo_io_v2.ApiDocClient + +func ApiDocClientFactoryProvider() ApiDocClientFactory { + return ApiDocClientProvider +} + +type ApiDocClientFromConfigFactory func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.ApiDocClient, error) + +func ApiDocClientFromConfigFactoryProvider() ApiDocClientFromConfigFactory { + return func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.ApiDocClient, error) { + clients, err := apimanagement_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ApiDocs(), nil + } +} + +// Provider for PortalClient from Clientset +func PortalClientFromClientsetProvider(clients apimanagement_gloo_solo_io_v2.Clientset) apimanagement_gloo_solo_io_v2.PortalClient { + return clients.Portals() +} + +// Provider for Portal Client from Client +func PortalClientProvider(client client.Client) apimanagement_gloo_solo_io_v2.PortalClient { + return apimanagement_gloo_solo_io_v2.NewPortalClient(client) +} + +type PortalClientFactory func(client client.Client) apimanagement_gloo_solo_io_v2.PortalClient + +func PortalClientFactoryProvider() PortalClientFactory { + return PortalClientProvider +} + +type PortalClientFromConfigFactory func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.PortalClient, error) + +func PortalClientFromConfigFactoryProvider() PortalClientFromConfigFactory { + return func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.PortalClient, error) { + clients, err := apimanagement_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.Portals(), nil + } +} + +// Provider for PortalGroupClient from Clientset +func PortalGroupClientFromClientsetProvider(clients apimanagement_gloo_solo_io_v2.Clientset) apimanagement_gloo_solo_io_v2.PortalGroupClient { + return clients.PortalGroups() +} + +// Provider for PortalGroup Client from Client +func PortalGroupClientProvider(client client.Client) apimanagement_gloo_solo_io_v2.PortalGroupClient { + return apimanagement_gloo_solo_io_v2.NewPortalGroupClient(client) +} + +type PortalGroupClientFactory func(client client.Client) apimanagement_gloo_solo_io_v2.PortalGroupClient + +func PortalGroupClientFactoryProvider() PortalGroupClientFactory { + return PortalGroupClientProvider +} + +type PortalGroupClientFromConfigFactory func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.PortalGroupClient, error) + +func PortalGroupClientFromConfigFactoryProvider() PortalGroupClientFromConfigFactory { + return func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.PortalGroupClient, error) { + clients, err := apimanagement_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.PortalGroups(), nil + } +} + +// Provider for ApiProductClient from Clientset +func ApiProductClientFromClientsetProvider(clients apimanagement_gloo_solo_io_v2.Clientset) apimanagement_gloo_solo_io_v2.ApiProductClient { + return clients.ApiProducts() +} + +// Provider for ApiProduct Client from Client +func ApiProductClientProvider(client client.Client) apimanagement_gloo_solo_io_v2.ApiProductClient { + return apimanagement_gloo_solo_io_v2.NewApiProductClient(client) +} + +type ApiProductClientFactory func(client client.Client) apimanagement_gloo_solo_io_v2.ApiProductClient + +func ApiProductClientFactoryProvider() ApiProductClientFactory { + return ApiProductClientProvider +} + +type ApiProductClientFromConfigFactory func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.ApiProductClient, error) + +func ApiProductClientFromConfigFactoryProvider() ApiProductClientFromConfigFactory { + return func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.ApiProductClient, error) { + clients, err := apimanagement_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ApiProducts(), nil + } +} + +// Provider for ApiSchemaDiscoveryClient from Clientset +func ApiSchemaDiscoveryClientFromClientsetProvider(clients apimanagement_gloo_solo_io_v2.Clientset) apimanagement_gloo_solo_io_v2.ApiSchemaDiscoveryClient { + return clients.ApiSchemaDiscoveries() +} + +// Provider for ApiSchemaDiscovery Client from Client +func ApiSchemaDiscoveryClientProvider(client client.Client) apimanagement_gloo_solo_io_v2.ApiSchemaDiscoveryClient { + return apimanagement_gloo_solo_io_v2.NewApiSchemaDiscoveryClient(client) +} + +type ApiSchemaDiscoveryClientFactory func(client client.Client) apimanagement_gloo_solo_io_v2.ApiSchemaDiscoveryClient + +func ApiSchemaDiscoveryClientFactoryProvider() ApiSchemaDiscoveryClientFactory { + return ApiSchemaDiscoveryClientProvider +} + +type ApiSchemaDiscoveryClientFromConfigFactory func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.ApiSchemaDiscoveryClient, error) + +func ApiSchemaDiscoveryClientFromConfigFactoryProvider() ApiSchemaDiscoveryClientFromConfigFactory { + return func(cfg *rest.Config) (apimanagement_gloo_solo_io_v2.ApiSchemaDiscoveryClient, error) { + clients, err := apimanagement_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ApiSchemaDiscoveries(), nil + } +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/register.go b/client-go/apimanagement.gloo.solo.io/v2/register.go new file mode 100644 index 000000000..49289935c --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "apimanagement.gloo.solo.io", Version: "v2"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/report_types.go b/client-go/apimanagement.gloo.solo.io/v2/report_types.go new file mode 100644 index 000000000..dd717e400 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/report_types.go @@ -0,0 +1,25 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2 + +// IsReport implements Reportable interface for GraphQLStitchedSchemaReport +func (o *GraphQLStitchedSchemaReport) IsReport() {} + +// IsReport implements Reportable interface for GraphQLResolverMapReport +func (o *GraphQLResolverMapReport) IsReport() {} + +// IsReport implements Reportable interface for GraphQLSchemaReport +func (o *GraphQLSchemaReport) IsReport() {} + +// IsReport implements Reportable interface for ApiDocReport +func (o *ApiDocReport) IsReport() {} + +// IsReport implements Reportable interface for PortalReport +func (o *PortalReport) IsReport() {} + +// IsReport implements Reportable interface for PortalGroupReport +func (o *PortalGroupReport) IsReport() {} + +// IsReport implements Reportable interface for ApiSchemaDiscoveryReport +func (o *ApiSchemaDiscoveryReport) IsReport() {} diff --git a/client-go/apimanagement.gloo.solo.io/v2/sets/mocks/sets.go b/client-go/apimanagement.gloo.solo.io/v2/sets/mocks/sets.go new file mode 100644 index 000000000..8c2caa709 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/sets/mocks/sets.go @@ -0,0 +1,2065 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2sets is a generated GoMock package. +package mock_v2sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2 "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" + v2sets "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2/sets" +) + +// MockGraphQLStitchedSchemaSet is a mock of GraphQLStitchedSchemaSet interface. +type MockGraphQLStitchedSchemaSet struct { + ctrl *gomock.Controller + recorder *MockGraphQLStitchedSchemaSetMockRecorder +} + +// MockGraphQLStitchedSchemaSetMockRecorder is the mock recorder for MockGraphQLStitchedSchemaSet. +type MockGraphQLStitchedSchemaSetMockRecorder struct { + mock *MockGraphQLStitchedSchemaSet +} + +// NewMockGraphQLStitchedSchemaSet creates a new mock instance. +func NewMockGraphQLStitchedSchemaSet(ctrl *gomock.Controller) *MockGraphQLStitchedSchemaSet { + mock := &MockGraphQLStitchedSchemaSet{ctrl: ctrl} + mock.recorder = &MockGraphQLStitchedSchemaSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLStitchedSchemaSet) EXPECT() *MockGraphQLStitchedSchemaSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Clone() v2sets.GraphQLStitchedSchemaSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.GraphQLStitchedSchemaSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Delete(graphQLStitchedSchema ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", graphQLStitchedSchema) +} + +// Delete indicates an expected call of Delete. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Delete(graphQLStitchedSchema interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Delete), graphQLStitchedSchema) +} + +// Delta mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Delta(newSet v2sets.GraphQLStitchedSchemaSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Difference(set v2sets.GraphQLStitchedSchemaSet) v2sets.GraphQLStitchedSchemaSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.GraphQLStitchedSchemaSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Equal(graphQLStitchedSchemaSet v2sets.GraphQLStitchedSchemaSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", graphQLStitchedSchemaSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Equal(graphQLStitchedSchemaSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Equal), graphQLStitchedSchemaSet) +} + +// Find mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Find(id ezkube.ResourceId) (*v2.GraphQLStitchedSchema, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.GraphQLStitchedSchema) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Has(graphQLStitchedSchema ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", graphQLStitchedSchema) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Has(graphQLStitchedSchema interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Has), graphQLStitchedSchema) +} + +// Insert mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Insert(graphQLStitchedSchema ...*v2.GraphQLStitchedSchema) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range graphQLStitchedSchema { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Insert(graphQLStitchedSchema ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Insert), graphQLStitchedSchema...) +} + +// Intersection mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Intersection(set v2sets.GraphQLStitchedSchemaSet) v2sets.GraphQLStitchedSchemaSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.GraphQLStitchedSchemaSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockGraphQLStitchedSchemaSet) List(filterResource ...func(*v2.GraphQLStitchedSchema) bool) []*v2.GraphQLStitchedSchema { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.GraphQLStitchedSchema) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Map() map[string]*v2.GraphQLStitchedSchema { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.GraphQLStitchedSchema) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockGraphQLStitchedSchemaSet) Union(set v2sets.GraphQLStitchedSchemaSet) v2sets.GraphQLStitchedSchemaSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.GraphQLStitchedSchemaSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockGraphQLStitchedSchemaSet) UnsortedList(filterResource ...func(*v2.GraphQLStitchedSchema) bool) []*v2.GraphQLStitchedSchema { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.GraphQLStitchedSchema) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockGraphQLStitchedSchemaSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockGraphQLStitchedSchemaSet)(nil).UnsortedList), filterResource...) +} + +// MockGraphQLResolverMapSet is a mock of GraphQLResolverMapSet interface. +type MockGraphQLResolverMapSet struct { + ctrl *gomock.Controller + recorder *MockGraphQLResolverMapSetMockRecorder +} + +// MockGraphQLResolverMapSetMockRecorder is the mock recorder for MockGraphQLResolverMapSet. +type MockGraphQLResolverMapSetMockRecorder struct { + mock *MockGraphQLResolverMapSet +} + +// NewMockGraphQLResolverMapSet creates a new mock instance. +func NewMockGraphQLResolverMapSet(ctrl *gomock.Controller) *MockGraphQLResolverMapSet { + mock := &MockGraphQLResolverMapSet{ctrl: ctrl} + mock.recorder = &MockGraphQLResolverMapSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLResolverMapSet) EXPECT() *MockGraphQLResolverMapSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockGraphQLResolverMapSet) Clone() v2sets.GraphQLResolverMapSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.GraphQLResolverMapSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockGraphQLResolverMapSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockGraphQLResolverMapSet) Delete(graphQLResolverMap ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", graphQLResolverMap) +} + +// Delete indicates an expected call of Delete. +func (mr *MockGraphQLResolverMapSetMockRecorder) Delete(graphQLResolverMap interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Delete), graphQLResolverMap) +} + +// Delta mocks base method. +func (m *MockGraphQLResolverMapSet) Delta(newSet v2sets.GraphQLResolverMapSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockGraphQLResolverMapSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockGraphQLResolverMapSet) Difference(set v2sets.GraphQLResolverMapSet) v2sets.GraphQLResolverMapSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.GraphQLResolverMapSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockGraphQLResolverMapSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockGraphQLResolverMapSet) Equal(graphQLResolverMapSet v2sets.GraphQLResolverMapSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", graphQLResolverMapSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockGraphQLResolverMapSetMockRecorder) Equal(graphQLResolverMapSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Equal), graphQLResolverMapSet) +} + +// Find mocks base method. +func (m *MockGraphQLResolverMapSet) Find(id ezkube.ResourceId) (*v2.GraphQLResolverMap, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.GraphQLResolverMap) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockGraphQLResolverMapSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockGraphQLResolverMapSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockGraphQLResolverMapSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockGraphQLResolverMapSet) Has(graphQLResolverMap ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", graphQLResolverMap) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockGraphQLResolverMapSetMockRecorder) Has(graphQLResolverMap interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Has), graphQLResolverMap) +} + +// Insert mocks base method. +func (m *MockGraphQLResolverMapSet) Insert(graphQLResolverMap ...*v2.GraphQLResolverMap) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range graphQLResolverMap { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockGraphQLResolverMapSetMockRecorder) Insert(graphQLResolverMap ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Insert), graphQLResolverMap...) +} + +// Intersection mocks base method. +func (m *MockGraphQLResolverMapSet) Intersection(set v2sets.GraphQLResolverMapSet) v2sets.GraphQLResolverMapSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.GraphQLResolverMapSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockGraphQLResolverMapSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockGraphQLResolverMapSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockGraphQLResolverMapSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockGraphQLResolverMapSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockGraphQLResolverMapSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockGraphQLResolverMapSet) List(filterResource ...func(*v2.GraphQLResolverMap) bool) []*v2.GraphQLResolverMap { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.GraphQLResolverMap) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockGraphQLResolverMapSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockGraphQLResolverMapSet) Map() map[string]*v2.GraphQLResolverMap { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.GraphQLResolverMap) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockGraphQLResolverMapSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockGraphQLResolverMapSet) Union(set v2sets.GraphQLResolverMapSet) v2sets.GraphQLResolverMapSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.GraphQLResolverMapSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockGraphQLResolverMapSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockGraphQLResolverMapSet) UnsortedList(filterResource ...func(*v2.GraphQLResolverMap) bool) []*v2.GraphQLResolverMap { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.GraphQLResolverMap) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockGraphQLResolverMapSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockGraphQLResolverMapSet)(nil).UnsortedList), filterResource...) +} + +// MockGraphQLSchemaSet is a mock of GraphQLSchemaSet interface. +type MockGraphQLSchemaSet struct { + ctrl *gomock.Controller + recorder *MockGraphQLSchemaSetMockRecorder +} + +// MockGraphQLSchemaSetMockRecorder is the mock recorder for MockGraphQLSchemaSet. +type MockGraphQLSchemaSetMockRecorder struct { + mock *MockGraphQLSchemaSet +} + +// NewMockGraphQLSchemaSet creates a new mock instance. +func NewMockGraphQLSchemaSet(ctrl *gomock.Controller) *MockGraphQLSchemaSet { + mock := &MockGraphQLSchemaSet{ctrl: ctrl} + mock.recorder = &MockGraphQLSchemaSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLSchemaSet) EXPECT() *MockGraphQLSchemaSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockGraphQLSchemaSet) Clone() v2sets.GraphQLSchemaSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.GraphQLSchemaSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockGraphQLSchemaSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockGraphQLSchemaSet) Delete(graphQLSchema ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", graphQLSchema) +} + +// Delete indicates an expected call of Delete. +func (mr *MockGraphQLSchemaSetMockRecorder) Delete(graphQLSchema interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Delete), graphQLSchema) +} + +// Delta mocks base method. +func (m *MockGraphQLSchemaSet) Delta(newSet v2sets.GraphQLSchemaSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockGraphQLSchemaSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockGraphQLSchemaSet) Difference(set v2sets.GraphQLSchemaSet) v2sets.GraphQLSchemaSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.GraphQLSchemaSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockGraphQLSchemaSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockGraphQLSchemaSet) Equal(graphQLSchemaSet v2sets.GraphQLSchemaSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", graphQLSchemaSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockGraphQLSchemaSetMockRecorder) Equal(graphQLSchemaSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Equal), graphQLSchemaSet) +} + +// Find mocks base method. +func (m *MockGraphQLSchemaSet) Find(id ezkube.ResourceId) (*v2.GraphQLSchema, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.GraphQLSchema) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockGraphQLSchemaSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockGraphQLSchemaSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockGraphQLSchemaSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockGraphQLSchemaSet) Has(graphQLSchema ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", graphQLSchema) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockGraphQLSchemaSetMockRecorder) Has(graphQLSchema interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Has), graphQLSchema) +} + +// Insert mocks base method. +func (m *MockGraphQLSchemaSet) Insert(graphQLSchema ...*v2.GraphQLSchema) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range graphQLSchema { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockGraphQLSchemaSetMockRecorder) Insert(graphQLSchema ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Insert), graphQLSchema...) +} + +// Intersection mocks base method. +func (m *MockGraphQLSchemaSet) Intersection(set v2sets.GraphQLSchemaSet) v2sets.GraphQLSchemaSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.GraphQLSchemaSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockGraphQLSchemaSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockGraphQLSchemaSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockGraphQLSchemaSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockGraphQLSchemaSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockGraphQLSchemaSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockGraphQLSchemaSet) List(filterResource ...func(*v2.GraphQLSchema) bool) []*v2.GraphQLSchema { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.GraphQLSchema) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockGraphQLSchemaSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockGraphQLSchemaSet) Map() map[string]*v2.GraphQLSchema { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.GraphQLSchema) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockGraphQLSchemaSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockGraphQLSchemaSet) Union(set v2sets.GraphQLSchemaSet) v2sets.GraphQLSchemaSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.GraphQLSchemaSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockGraphQLSchemaSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockGraphQLSchemaSet) UnsortedList(filterResource ...func(*v2.GraphQLSchema) bool) []*v2.GraphQLSchema { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.GraphQLSchema) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockGraphQLSchemaSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockGraphQLSchemaSet)(nil).UnsortedList), filterResource...) +} + +// MockApiDocSet is a mock of ApiDocSet interface. +type MockApiDocSet struct { + ctrl *gomock.Controller + recorder *MockApiDocSetMockRecorder +} + +// MockApiDocSetMockRecorder is the mock recorder for MockApiDocSet. +type MockApiDocSetMockRecorder struct { + mock *MockApiDocSet +} + +// NewMockApiDocSet creates a new mock instance. +func NewMockApiDocSet(ctrl *gomock.Controller) *MockApiDocSet { + mock := &MockApiDocSet{ctrl: ctrl} + mock.recorder = &MockApiDocSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiDocSet) EXPECT() *MockApiDocSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockApiDocSet) Clone() v2sets.ApiDocSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.ApiDocSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockApiDocSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockApiDocSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockApiDocSet) Delete(apiDoc ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", apiDoc) +} + +// Delete indicates an expected call of Delete. +func (mr *MockApiDocSetMockRecorder) Delete(apiDoc interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockApiDocSet)(nil).Delete), apiDoc) +} + +// Delta mocks base method. +func (m *MockApiDocSet) Delta(newSet v2sets.ApiDocSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockApiDocSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockApiDocSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockApiDocSet) Difference(set v2sets.ApiDocSet) v2sets.ApiDocSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.ApiDocSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockApiDocSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockApiDocSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockApiDocSet) Equal(apiDocSet v2sets.ApiDocSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", apiDocSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockApiDocSetMockRecorder) Equal(apiDocSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockApiDocSet)(nil).Equal), apiDocSet) +} + +// Find mocks base method. +func (m *MockApiDocSet) Find(id ezkube.ResourceId) (*v2.ApiDoc, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.ApiDoc) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockApiDocSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockApiDocSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockApiDocSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockApiDocSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockApiDocSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockApiDocSet) Has(apiDoc ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", apiDoc) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockApiDocSetMockRecorder) Has(apiDoc interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockApiDocSet)(nil).Has), apiDoc) +} + +// Insert mocks base method. +func (m *MockApiDocSet) Insert(apiDoc ...*v2.ApiDoc) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range apiDoc { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockApiDocSetMockRecorder) Insert(apiDoc ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockApiDocSet)(nil).Insert), apiDoc...) +} + +// Intersection mocks base method. +func (m *MockApiDocSet) Intersection(set v2sets.ApiDocSet) v2sets.ApiDocSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.ApiDocSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockApiDocSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockApiDocSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockApiDocSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockApiDocSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockApiDocSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockApiDocSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockApiDocSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockApiDocSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockApiDocSet) List(filterResource ...func(*v2.ApiDoc) bool) []*v2.ApiDoc { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.ApiDoc) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockApiDocSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockApiDocSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockApiDocSet) Map() map[string]*v2.ApiDoc { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.ApiDoc) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockApiDocSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockApiDocSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockApiDocSet) Union(set v2sets.ApiDocSet) v2sets.ApiDocSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.ApiDocSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockApiDocSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockApiDocSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockApiDocSet) UnsortedList(filterResource ...func(*v2.ApiDoc) bool) []*v2.ApiDoc { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.ApiDoc) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockApiDocSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockApiDocSet)(nil).UnsortedList), filterResource...) +} + +// MockPortalSet is a mock of PortalSet interface. +type MockPortalSet struct { + ctrl *gomock.Controller + recorder *MockPortalSetMockRecorder +} + +// MockPortalSetMockRecorder is the mock recorder for MockPortalSet. +type MockPortalSetMockRecorder struct { + mock *MockPortalSet +} + +// NewMockPortalSet creates a new mock instance. +func NewMockPortalSet(ctrl *gomock.Controller) *MockPortalSet { + mock := &MockPortalSet{ctrl: ctrl} + mock.recorder = &MockPortalSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalSet) EXPECT() *MockPortalSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockPortalSet) Clone() v2sets.PortalSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.PortalSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockPortalSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockPortalSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockPortalSet) Delete(portal ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", portal) +} + +// Delete indicates an expected call of Delete. +func (mr *MockPortalSetMockRecorder) Delete(portal interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockPortalSet)(nil).Delete), portal) +} + +// Delta mocks base method. +func (m *MockPortalSet) Delta(newSet v2sets.PortalSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockPortalSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockPortalSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockPortalSet) Difference(set v2sets.PortalSet) v2sets.PortalSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.PortalSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockPortalSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockPortalSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockPortalSet) Equal(portalSet v2sets.PortalSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", portalSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockPortalSetMockRecorder) Equal(portalSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockPortalSet)(nil).Equal), portalSet) +} + +// Find mocks base method. +func (m *MockPortalSet) Find(id ezkube.ResourceId) (*v2.Portal, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.Portal) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockPortalSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockPortalSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockPortalSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockPortalSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockPortalSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockPortalSet) Has(portal ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", portal) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockPortalSetMockRecorder) Has(portal interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockPortalSet)(nil).Has), portal) +} + +// Insert mocks base method. +func (m *MockPortalSet) Insert(portal ...*v2.Portal) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range portal { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockPortalSetMockRecorder) Insert(portal ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockPortalSet)(nil).Insert), portal...) +} + +// Intersection mocks base method. +func (m *MockPortalSet) Intersection(set v2sets.PortalSet) v2sets.PortalSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.PortalSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockPortalSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockPortalSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockPortalSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockPortalSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockPortalSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockPortalSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockPortalSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockPortalSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockPortalSet) List(filterResource ...func(*v2.Portal) bool) []*v2.Portal { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.Portal) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockPortalSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockPortalSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockPortalSet) Map() map[string]*v2.Portal { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.Portal) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockPortalSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockPortalSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockPortalSet) Union(set v2sets.PortalSet) v2sets.PortalSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.PortalSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockPortalSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockPortalSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockPortalSet) UnsortedList(filterResource ...func(*v2.Portal) bool) []*v2.Portal { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.Portal) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockPortalSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockPortalSet)(nil).UnsortedList), filterResource...) +} + +// MockPortalGroupSet is a mock of PortalGroupSet interface. +type MockPortalGroupSet struct { + ctrl *gomock.Controller + recorder *MockPortalGroupSetMockRecorder +} + +// MockPortalGroupSetMockRecorder is the mock recorder for MockPortalGroupSet. +type MockPortalGroupSetMockRecorder struct { + mock *MockPortalGroupSet +} + +// NewMockPortalGroupSet creates a new mock instance. +func NewMockPortalGroupSet(ctrl *gomock.Controller) *MockPortalGroupSet { + mock := &MockPortalGroupSet{ctrl: ctrl} + mock.recorder = &MockPortalGroupSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalGroupSet) EXPECT() *MockPortalGroupSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockPortalGroupSet) Clone() v2sets.PortalGroupSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.PortalGroupSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockPortalGroupSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockPortalGroupSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockPortalGroupSet) Delete(portalGroup ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", portalGroup) +} + +// Delete indicates an expected call of Delete. +func (mr *MockPortalGroupSetMockRecorder) Delete(portalGroup interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockPortalGroupSet)(nil).Delete), portalGroup) +} + +// Delta mocks base method. +func (m *MockPortalGroupSet) Delta(newSet v2sets.PortalGroupSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockPortalGroupSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockPortalGroupSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockPortalGroupSet) Difference(set v2sets.PortalGroupSet) v2sets.PortalGroupSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.PortalGroupSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockPortalGroupSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockPortalGroupSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockPortalGroupSet) Equal(portalGroupSet v2sets.PortalGroupSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", portalGroupSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockPortalGroupSetMockRecorder) Equal(portalGroupSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockPortalGroupSet)(nil).Equal), portalGroupSet) +} + +// Find mocks base method. +func (m *MockPortalGroupSet) Find(id ezkube.ResourceId) (*v2.PortalGroup, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.PortalGroup) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockPortalGroupSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockPortalGroupSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockPortalGroupSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockPortalGroupSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockPortalGroupSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockPortalGroupSet) Has(portalGroup ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", portalGroup) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockPortalGroupSetMockRecorder) Has(portalGroup interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockPortalGroupSet)(nil).Has), portalGroup) +} + +// Insert mocks base method. +func (m *MockPortalGroupSet) Insert(portalGroup ...*v2.PortalGroup) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range portalGroup { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockPortalGroupSetMockRecorder) Insert(portalGroup ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockPortalGroupSet)(nil).Insert), portalGroup...) +} + +// Intersection mocks base method. +func (m *MockPortalGroupSet) Intersection(set v2sets.PortalGroupSet) v2sets.PortalGroupSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.PortalGroupSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockPortalGroupSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockPortalGroupSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockPortalGroupSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockPortalGroupSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockPortalGroupSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockPortalGroupSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockPortalGroupSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockPortalGroupSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockPortalGroupSet) List(filterResource ...func(*v2.PortalGroup) bool) []*v2.PortalGroup { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.PortalGroup) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockPortalGroupSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockPortalGroupSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockPortalGroupSet) Map() map[string]*v2.PortalGroup { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.PortalGroup) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockPortalGroupSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockPortalGroupSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockPortalGroupSet) Union(set v2sets.PortalGroupSet) v2sets.PortalGroupSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.PortalGroupSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockPortalGroupSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockPortalGroupSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockPortalGroupSet) UnsortedList(filterResource ...func(*v2.PortalGroup) bool) []*v2.PortalGroup { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.PortalGroup) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockPortalGroupSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockPortalGroupSet)(nil).UnsortedList), filterResource...) +} + +// MockApiProductSet is a mock of ApiProductSet interface. +type MockApiProductSet struct { + ctrl *gomock.Controller + recorder *MockApiProductSetMockRecorder +} + +// MockApiProductSetMockRecorder is the mock recorder for MockApiProductSet. +type MockApiProductSetMockRecorder struct { + mock *MockApiProductSet +} + +// NewMockApiProductSet creates a new mock instance. +func NewMockApiProductSet(ctrl *gomock.Controller) *MockApiProductSet { + mock := &MockApiProductSet{ctrl: ctrl} + mock.recorder = &MockApiProductSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiProductSet) EXPECT() *MockApiProductSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockApiProductSet) Clone() v2sets.ApiProductSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.ApiProductSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockApiProductSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockApiProductSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockApiProductSet) Delete(apiProduct ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", apiProduct) +} + +// Delete indicates an expected call of Delete. +func (mr *MockApiProductSetMockRecorder) Delete(apiProduct interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockApiProductSet)(nil).Delete), apiProduct) +} + +// Delta mocks base method. +func (m *MockApiProductSet) Delta(newSet v2sets.ApiProductSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockApiProductSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockApiProductSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockApiProductSet) Difference(set v2sets.ApiProductSet) v2sets.ApiProductSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.ApiProductSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockApiProductSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockApiProductSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockApiProductSet) Equal(apiProductSet v2sets.ApiProductSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", apiProductSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockApiProductSetMockRecorder) Equal(apiProductSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockApiProductSet)(nil).Equal), apiProductSet) +} + +// Find mocks base method. +func (m *MockApiProductSet) Find(id ezkube.ResourceId) (*v2.ApiProduct, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.ApiProduct) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockApiProductSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockApiProductSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockApiProductSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockApiProductSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockApiProductSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockApiProductSet) Has(apiProduct ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", apiProduct) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockApiProductSetMockRecorder) Has(apiProduct interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockApiProductSet)(nil).Has), apiProduct) +} + +// Insert mocks base method. +func (m *MockApiProductSet) Insert(apiProduct ...*v2.ApiProduct) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range apiProduct { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockApiProductSetMockRecorder) Insert(apiProduct ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockApiProductSet)(nil).Insert), apiProduct...) +} + +// Intersection mocks base method. +func (m *MockApiProductSet) Intersection(set v2sets.ApiProductSet) v2sets.ApiProductSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.ApiProductSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockApiProductSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockApiProductSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockApiProductSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockApiProductSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockApiProductSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockApiProductSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockApiProductSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockApiProductSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockApiProductSet) List(filterResource ...func(*v2.ApiProduct) bool) []*v2.ApiProduct { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.ApiProduct) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockApiProductSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockApiProductSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockApiProductSet) Map() map[string]*v2.ApiProduct { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.ApiProduct) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockApiProductSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockApiProductSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockApiProductSet) Union(set v2sets.ApiProductSet) v2sets.ApiProductSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.ApiProductSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockApiProductSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockApiProductSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockApiProductSet) UnsortedList(filterResource ...func(*v2.ApiProduct) bool) []*v2.ApiProduct { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.ApiProduct) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockApiProductSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockApiProductSet)(nil).UnsortedList), filterResource...) +} + +// MockApiSchemaDiscoverySet is a mock of ApiSchemaDiscoverySet interface. +type MockApiSchemaDiscoverySet struct { + ctrl *gomock.Controller + recorder *MockApiSchemaDiscoverySetMockRecorder +} + +// MockApiSchemaDiscoverySetMockRecorder is the mock recorder for MockApiSchemaDiscoverySet. +type MockApiSchemaDiscoverySetMockRecorder struct { + mock *MockApiSchemaDiscoverySet +} + +// NewMockApiSchemaDiscoverySet creates a new mock instance. +func NewMockApiSchemaDiscoverySet(ctrl *gomock.Controller) *MockApiSchemaDiscoverySet { + mock := &MockApiSchemaDiscoverySet{ctrl: ctrl} + mock.recorder = &MockApiSchemaDiscoverySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockApiSchemaDiscoverySet) EXPECT() *MockApiSchemaDiscoverySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockApiSchemaDiscoverySet) Clone() v2sets.ApiSchemaDiscoverySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.ApiSchemaDiscoverySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockApiSchemaDiscoverySet) Delete(apiSchemaDiscovery ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", apiSchemaDiscovery) +} + +// Delete indicates an expected call of Delete. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Delete(apiSchemaDiscovery interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Delete), apiSchemaDiscovery) +} + +// Delta mocks base method. +func (m *MockApiSchemaDiscoverySet) Delta(newSet v2sets.ApiSchemaDiscoverySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockApiSchemaDiscoverySet) Difference(set v2sets.ApiSchemaDiscoverySet) v2sets.ApiSchemaDiscoverySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.ApiSchemaDiscoverySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockApiSchemaDiscoverySet) Equal(apiSchemaDiscoverySet v2sets.ApiSchemaDiscoverySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", apiSchemaDiscoverySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Equal(apiSchemaDiscoverySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Equal), apiSchemaDiscoverySet) +} + +// Find mocks base method. +func (m *MockApiSchemaDiscoverySet) Find(id ezkube.ResourceId) (*v2.ApiSchemaDiscovery, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.ApiSchemaDiscovery) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockApiSchemaDiscoverySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockApiSchemaDiscoverySet) Has(apiSchemaDiscovery ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", apiSchemaDiscovery) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Has(apiSchemaDiscovery interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Has), apiSchemaDiscovery) +} + +// Insert mocks base method. +func (m *MockApiSchemaDiscoverySet) Insert(apiSchemaDiscovery ...*v2.ApiSchemaDiscovery) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range apiSchemaDiscovery { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Insert(apiSchemaDiscovery ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Insert), apiSchemaDiscovery...) +} + +// Intersection mocks base method. +func (m *MockApiSchemaDiscoverySet) Intersection(set v2sets.ApiSchemaDiscoverySet) v2sets.ApiSchemaDiscoverySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.ApiSchemaDiscoverySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockApiSchemaDiscoverySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockApiSchemaDiscoverySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockApiSchemaDiscoverySet) List(filterResource ...func(*v2.ApiSchemaDiscovery) bool) []*v2.ApiSchemaDiscovery { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.ApiSchemaDiscovery) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockApiSchemaDiscoverySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockApiSchemaDiscoverySet) Map() map[string]*v2.ApiSchemaDiscovery { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.ApiSchemaDiscovery) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockApiSchemaDiscoverySet) Union(set v2sets.ApiSchemaDiscoverySet) v2sets.ApiSchemaDiscoverySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.ApiSchemaDiscoverySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockApiSchemaDiscoverySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockApiSchemaDiscoverySet) UnsortedList(filterResource ...func(*v2.ApiSchemaDiscovery) bool) []*v2.ApiSchemaDiscovery { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.ApiSchemaDiscovery) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockApiSchemaDiscoverySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockApiSchemaDiscoverySet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/sets/sets.go b/client-go/apimanagement.gloo.solo.io/v2/sets/sets.go new file mode 100644 index 000000000..24fa8f598 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/sets/sets.go @@ -0,0 +1,1798 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2sets + +import ( + apimanagement_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type GraphQLStitchedSchemaSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) bool) []*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) bool) []*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema + // Return the Set as a map of key to resource. + Map() map[string]*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema + // Insert a resource into the set. + Insert(graphQLStitchedSchema ...*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(graphQLStitchedSchemaSet GraphQLStitchedSchemaSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(graphQLStitchedSchema ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(graphQLStitchedSchema ezkube.ResourceId) + // Return the union with the provided set + Union(set GraphQLStitchedSchemaSet) GraphQLStitchedSchemaSet + // Return the difference with the provided set + Difference(set GraphQLStitchedSchemaSet) GraphQLStitchedSchemaSet + // Return the intersection with the provided set + Intersection(set GraphQLStitchedSchemaSet) GraphQLStitchedSchemaSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another GraphQLStitchedSchemaSet + Delta(newSet GraphQLStitchedSchemaSet) sksets.ResourceDelta + // Create a deep copy of the current GraphQLStitchedSchemaSet + Clone() GraphQLStitchedSchemaSet +} + +func makeGenericGraphQLStitchedSchemaSet(graphQLStitchedSchemaList []*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range graphQLStitchedSchemaList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type graphQLStitchedSchemaSet struct { + set sksets.ResourceSet +} + +func NewGraphQLStitchedSchemaSet(graphQLStitchedSchemaList ...*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) GraphQLStitchedSchemaSet { + return &graphQLStitchedSchemaSet{set: makeGenericGraphQLStitchedSchemaSet(graphQLStitchedSchemaList)} +} + +func NewGraphQLStitchedSchemaSetFromList(graphQLStitchedSchemaList *apimanagement_gloo_solo_io_v2.GraphQLStitchedSchemaList) GraphQLStitchedSchemaSet { + list := make([]*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema, 0, len(graphQLStitchedSchemaList.Items)) + for idx := range graphQLStitchedSchemaList.Items { + list = append(list, &graphQLStitchedSchemaList.Items[idx]) + } + return &graphQLStitchedSchemaSet{set: makeGenericGraphQLStitchedSchemaSet(list)} +} + +func (s *graphQLStitchedSchemaSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *graphQLStitchedSchemaSet) List(filterResource ...func(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) bool) []*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema)) + }) + } + + objs := s.Generic().List(genericFilters...) + graphQLStitchedSchemaList := make([]*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema, 0, len(objs)) + for _, obj := range objs { + graphQLStitchedSchemaList = append(graphQLStitchedSchemaList, obj.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema)) + } + return graphQLStitchedSchemaList +} + +func (s *graphQLStitchedSchemaSet) UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) bool) []*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema)) + }) + } + + var graphQLStitchedSchemaList []*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + graphQLStitchedSchemaList = append(graphQLStitchedSchemaList, obj.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema)) + } + return graphQLStitchedSchemaList +} + +func (s *graphQLStitchedSchemaSet) Map() map[string]*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema { + if s == nil { + return nil + } + + newMap := map[string]*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema) + } + return newMap +} + +func (s *graphQLStitchedSchemaSet) Insert( + graphQLStitchedSchemaList ...*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range graphQLStitchedSchemaList { + s.Generic().Insert(obj) + } +} + +func (s *graphQLStitchedSchemaSet) Has(graphQLStitchedSchema ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(graphQLStitchedSchema) +} + +func (s *graphQLStitchedSchemaSet) Equal( + graphQLStitchedSchemaSet GraphQLStitchedSchemaSet, +) bool { + if s == nil { + return graphQLStitchedSchemaSet == nil + } + return s.Generic().Equal(graphQLStitchedSchemaSet.Generic()) +} + +func (s *graphQLStitchedSchemaSet) Delete(GraphQLStitchedSchema ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(GraphQLStitchedSchema) +} + +func (s *graphQLStitchedSchemaSet) Union(set GraphQLStitchedSchemaSet) GraphQLStitchedSchemaSet { + if s == nil { + return set + } + return NewGraphQLStitchedSchemaSet(append(s.List(), set.List()...)...) +} + +func (s *graphQLStitchedSchemaSet) Difference(set GraphQLStitchedSchemaSet) GraphQLStitchedSchemaSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &graphQLStitchedSchemaSet{set: newSet} +} + +func (s *graphQLStitchedSchemaSet) Intersection(set GraphQLStitchedSchemaSet) GraphQLStitchedSchemaSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var graphQLStitchedSchemaList []*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema + for _, obj := range newSet.List() { + graphQLStitchedSchemaList = append(graphQLStitchedSchemaList, obj.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema)) + } + return NewGraphQLStitchedSchemaSet(graphQLStitchedSchemaList...) +} + +func (s *graphQLStitchedSchemaSet) Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find GraphQLStitchedSchema %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema{}, id) + if err != nil { + return nil, err + } + + return obj.(*apimanagement_gloo_solo_io_v2.GraphQLStitchedSchema), nil +} + +func (s *graphQLStitchedSchemaSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *graphQLStitchedSchemaSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *graphQLStitchedSchemaSet) Delta(newSet GraphQLStitchedSchemaSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *graphQLStitchedSchemaSet) Clone() GraphQLStitchedSchemaSet { + if s == nil { + return nil + } + return &graphQLStitchedSchemaSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type GraphQLResolverMapSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) bool) []*apimanagement_gloo_solo_io_v2.GraphQLResolverMap + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) bool) []*apimanagement_gloo_solo_io_v2.GraphQLResolverMap + // Return the Set as a map of key to resource. + Map() map[string]*apimanagement_gloo_solo_io_v2.GraphQLResolverMap + // Insert a resource into the set. + Insert(graphQLResolverMap ...*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(graphQLResolverMapSet GraphQLResolverMapSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(graphQLResolverMap ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(graphQLResolverMap ezkube.ResourceId) + // Return the union with the provided set + Union(set GraphQLResolverMapSet) GraphQLResolverMapSet + // Return the difference with the provided set + Difference(set GraphQLResolverMapSet) GraphQLResolverMapSet + // Return the intersection with the provided set + Intersection(set GraphQLResolverMapSet) GraphQLResolverMapSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.GraphQLResolverMap, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another GraphQLResolverMapSet + Delta(newSet GraphQLResolverMapSet) sksets.ResourceDelta + // Create a deep copy of the current GraphQLResolverMapSet + Clone() GraphQLResolverMapSet +} + +func makeGenericGraphQLResolverMapSet(graphQLResolverMapList []*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range graphQLResolverMapList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type graphQLResolverMapSet struct { + set sksets.ResourceSet +} + +func NewGraphQLResolverMapSet(graphQLResolverMapList ...*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) GraphQLResolverMapSet { + return &graphQLResolverMapSet{set: makeGenericGraphQLResolverMapSet(graphQLResolverMapList)} +} + +func NewGraphQLResolverMapSetFromList(graphQLResolverMapList *apimanagement_gloo_solo_io_v2.GraphQLResolverMapList) GraphQLResolverMapSet { + list := make([]*apimanagement_gloo_solo_io_v2.GraphQLResolverMap, 0, len(graphQLResolverMapList.Items)) + for idx := range graphQLResolverMapList.Items { + list = append(list, &graphQLResolverMapList.Items[idx]) + } + return &graphQLResolverMapSet{set: makeGenericGraphQLResolverMapSet(list)} +} + +func (s *graphQLResolverMapSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *graphQLResolverMapSet) List(filterResource ...func(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) bool) []*apimanagement_gloo_solo_io_v2.GraphQLResolverMap { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap)) + }) + } + + objs := s.Generic().List(genericFilters...) + graphQLResolverMapList := make([]*apimanagement_gloo_solo_io_v2.GraphQLResolverMap, 0, len(objs)) + for _, obj := range objs { + graphQLResolverMapList = append(graphQLResolverMapList, obj.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap)) + } + return graphQLResolverMapList +} + +func (s *graphQLResolverMapSet) UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) bool) []*apimanagement_gloo_solo_io_v2.GraphQLResolverMap { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap)) + }) + } + + var graphQLResolverMapList []*apimanagement_gloo_solo_io_v2.GraphQLResolverMap + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + graphQLResolverMapList = append(graphQLResolverMapList, obj.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap)) + } + return graphQLResolverMapList +} + +func (s *graphQLResolverMapSet) Map() map[string]*apimanagement_gloo_solo_io_v2.GraphQLResolverMap { + if s == nil { + return nil + } + + newMap := map[string]*apimanagement_gloo_solo_io_v2.GraphQLResolverMap{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap) + } + return newMap +} + +func (s *graphQLResolverMapSet) Insert( + graphQLResolverMapList ...*apimanagement_gloo_solo_io_v2.GraphQLResolverMap, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range graphQLResolverMapList { + s.Generic().Insert(obj) + } +} + +func (s *graphQLResolverMapSet) Has(graphQLResolverMap ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(graphQLResolverMap) +} + +func (s *graphQLResolverMapSet) Equal( + graphQLResolverMapSet GraphQLResolverMapSet, +) bool { + if s == nil { + return graphQLResolverMapSet == nil + } + return s.Generic().Equal(graphQLResolverMapSet.Generic()) +} + +func (s *graphQLResolverMapSet) Delete(GraphQLResolverMap ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(GraphQLResolverMap) +} + +func (s *graphQLResolverMapSet) Union(set GraphQLResolverMapSet) GraphQLResolverMapSet { + if s == nil { + return set + } + return NewGraphQLResolverMapSet(append(s.List(), set.List()...)...) +} + +func (s *graphQLResolverMapSet) Difference(set GraphQLResolverMapSet) GraphQLResolverMapSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &graphQLResolverMapSet{set: newSet} +} + +func (s *graphQLResolverMapSet) Intersection(set GraphQLResolverMapSet) GraphQLResolverMapSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var graphQLResolverMapList []*apimanagement_gloo_solo_io_v2.GraphQLResolverMap + for _, obj := range newSet.List() { + graphQLResolverMapList = append(graphQLResolverMapList, obj.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap)) + } + return NewGraphQLResolverMapSet(graphQLResolverMapList...) +} + +func (s *graphQLResolverMapSet) Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.GraphQLResolverMap, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find GraphQLResolverMap %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&apimanagement_gloo_solo_io_v2.GraphQLResolverMap{}, id) + if err != nil { + return nil, err + } + + return obj.(*apimanagement_gloo_solo_io_v2.GraphQLResolverMap), nil +} + +func (s *graphQLResolverMapSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *graphQLResolverMapSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *graphQLResolverMapSet) Delta(newSet GraphQLResolverMapSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *graphQLResolverMapSet) Clone() GraphQLResolverMapSet { + if s == nil { + return nil + } + return &graphQLResolverMapSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type GraphQLSchemaSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*apimanagement_gloo_solo_io_v2.GraphQLSchema) bool) []*apimanagement_gloo_solo_io_v2.GraphQLSchema + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.GraphQLSchema) bool) []*apimanagement_gloo_solo_io_v2.GraphQLSchema + // Return the Set as a map of key to resource. + Map() map[string]*apimanagement_gloo_solo_io_v2.GraphQLSchema + // Insert a resource into the set. + Insert(graphQLSchema ...*apimanagement_gloo_solo_io_v2.GraphQLSchema) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(graphQLSchemaSet GraphQLSchemaSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(graphQLSchema ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(graphQLSchema ezkube.ResourceId) + // Return the union with the provided set + Union(set GraphQLSchemaSet) GraphQLSchemaSet + // Return the difference with the provided set + Difference(set GraphQLSchemaSet) GraphQLSchemaSet + // Return the intersection with the provided set + Intersection(set GraphQLSchemaSet) GraphQLSchemaSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.GraphQLSchema, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another GraphQLSchemaSet + Delta(newSet GraphQLSchemaSet) sksets.ResourceDelta + // Create a deep copy of the current GraphQLSchemaSet + Clone() GraphQLSchemaSet +} + +func makeGenericGraphQLSchemaSet(graphQLSchemaList []*apimanagement_gloo_solo_io_v2.GraphQLSchema) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range graphQLSchemaList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type graphQLSchemaSet struct { + set sksets.ResourceSet +} + +func NewGraphQLSchemaSet(graphQLSchemaList ...*apimanagement_gloo_solo_io_v2.GraphQLSchema) GraphQLSchemaSet { + return &graphQLSchemaSet{set: makeGenericGraphQLSchemaSet(graphQLSchemaList)} +} + +func NewGraphQLSchemaSetFromList(graphQLSchemaList *apimanagement_gloo_solo_io_v2.GraphQLSchemaList) GraphQLSchemaSet { + list := make([]*apimanagement_gloo_solo_io_v2.GraphQLSchema, 0, len(graphQLSchemaList.Items)) + for idx := range graphQLSchemaList.Items { + list = append(list, &graphQLSchemaList.Items[idx]) + } + return &graphQLSchemaSet{set: makeGenericGraphQLSchemaSet(list)} +} + +func (s *graphQLSchemaSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *graphQLSchemaSet) List(filterResource ...func(*apimanagement_gloo_solo_io_v2.GraphQLSchema) bool) []*apimanagement_gloo_solo_io_v2.GraphQLSchema { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.GraphQLSchema)) + }) + } + + objs := s.Generic().List(genericFilters...) + graphQLSchemaList := make([]*apimanagement_gloo_solo_io_v2.GraphQLSchema, 0, len(objs)) + for _, obj := range objs { + graphQLSchemaList = append(graphQLSchemaList, obj.(*apimanagement_gloo_solo_io_v2.GraphQLSchema)) + } + return graphQLSchemaList +} + +func (s *graphQLSchemaSet) UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.GraphQLSchema) bool) []*apimanagement_gloo_solo_io_v2.GraphQLSchema { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.GraphQLSchema)) + }) + } + + var graphQLSchemaList []*apimanagement_gloo_solo_io_v2.GraphQLSchema + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + graphQLSchemaList = append(graphQLSchemaList, obj.(*apimanagement_gloo_solo_io_v2.GraphQLSchema)) + } + return graphQLSchemaList +} + +func (s *graphQLSchemaSet) Map() map[string]*apimanagement_gloo_solo_io_v2.GraphQLSchema { + if s == nil { + return nil + } + + newMap := map[string]*apimanagement_gloo_solo_io_v2.GraphQLSchema{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*apimanagement_gloo_solo_io_v2.GraphQLSchema) + } + return newMap +} + +func (s *graphQLSchemaSet) Insert( + graphQLSchemaList ...*apimanagement_gloo_solo_io_v2.GraphQLSchema, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range graphQLSchemaList { + s.Generic().Insert(obj) + } +} + +func (s *graphQLSchemaSet) Has(graphQLSchema ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(graphQLSchema) +} + +func (s *graphQLSchemaSet) Equal( + graphQLSchemaSet GraphQLSchemaSet, +) bool { + if s == nil { + return graphQLSchemaSet == nil + } + return s.Generic().Equal(graphQLSchemaSet.Generic()) +} + +func (s *graphQLSchemaSet) Delete(GraphQLSchema ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(GraphQLSchema) +} + +func (s *graphQLSchemaSet) Union(set GraphQLSchemaSet) GraphQLSchemaSet { + if s == nil { + return set + } + return NewGraphQLSchemaSet(append(s.List(), set.List()...)...) +} + +func (s *graphQLSchemaSet) Difference(set GraphQLSchemaSet) GraphQLSchemaSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &graphQLSchemaSet{set: newSet} +} + +func (s *graphQLSchemaSet) Intersection(set GraphQLSchemaSet) GraphQLSchemaSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var graphQLSchemaList []*apimanagement_gloo_solo_io_v2.GraphQLSchema + for _, obj := range newSet.List() { + graphQLSchemaList = append(graphQLSchemaList, obj.(*apimanagement_gloo_solo_io_v2.GraphQLSchema)) + } + return NewGraphQLSchemaSet(graphQLSchemaList...) +} + +func (s *graphQLSchemaSet) Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.GraphQLSchema, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find GraphQLSchema %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&apimanagement_gloo_solo_io_v2.GraphQLSchema{}, id) + if err != nil { + return nil, err + } + + return obj.(*apimanagement_gloo_solo_io_v2.GraphQLSchema), nil +} + +func (s *graphQLSchemaSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *graphQLSchemaSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *graphQLSchemaSet) Delta(newSet GraphQLSchemaSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *graphQLSchemaSet) Clone() GraphQLSchemaSet { + if s == nil { + return nil + } + return &graphQLSchemaSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type ApiDocSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*apimanagement_gloo_solo_io_v2.ApiDoc) bool) []*apimanagement_gloo_solo_io_v2.ApiDoc + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.ApiDoc) bool) []*apimanagement_gloo_solo_io_v2.ApiDoc + // Return the Set as a map of key to resource. + Map() map[string]*apimanagement_gloo_solo_io_v2.ApiDoc + // Insert a resource into the set. + Insert(apiDoc ...*apimanagement_gloo_solo_io_v2.ApiDoc) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(apiDocSet ApiDocSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(apiDoc ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(apiDoc ezkube.ResourceId) + // Return the union with the provided set + Union(set ApiDocSet) ApiDocSet + // Return the difference with the provided set + Difference(set ApiDocSet) ApiDocSet + // Return the intersection with the provided set + Intersection(set ApiDocSet) ApiDocSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.ApiDoc, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ApiDocSet + Delta(newSet ApiDocSet) sksets.ResourceDelta + // Create a deep copy of the current ApiDocSet + Clone() ApiDocSet +} + +func makeGenericApiDocSet(apiDocList []*apimanagement_gloo_solo_io_v2.ApiDoc) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range apiDocList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type apiDocSet struct { + set sksets.ResourceSet +} + +func NewApiDocSet(apiDocList ...*apimanagement_gloo_solo_io_v2.ApiDoc) ApiDocSet { + return &apiDocSet{set: makeGenericApiDocSet(apiDocList)} +} + +func NewApiDocSetFromList(apiDocList *apimanagement_gloo_solo_io_v2.ApiDocList) ApiDocSet { + list := make([]*apimanagement_gloo_solo_io_v2.ApiDoc, 0, len(apiDocList.Items)) + for idx := range apiDocList.Items { + list = append(list, &apiDocList.Items[idx]) + } + return &apiDocSet{set: makeGenericApiDocSet(list)} +} + +func (s *apiDocSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *apiDocSet) List(filterResource ...func(*apimanagement_gloo_solo_io_v2.ApiDoc) bool) []*apimanagement_gloo_solo_io_v2.ApiDoc { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.ApiDoc)) + }) + } + + objs := s.Generic().List(genericFilters...) + apiDocList := make([]*apimanagement_gloo_solo_io_v2.ApiDoc, 0, len(objs)) + for _, obj := range objs { + apiDocList = append(apiDocList, obj.(*apimanagement_gloo_solo_io_v2.ApiDoc)) + } + return apiDocList +} + +func (s *apiDocSet) UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.ApiDoc) bool) []*apimanagement_gloo_solo_io_v2.ApiDoc { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.ApiDoc)) + }) + } + + var apiDocList []*apimanagement_gloo_solo_io_v2.ApiDoc + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + apiDocList = append(apiDocList, obj.(*apimanagement_gloo_solo_io_v2.ApiDoc)) + } + return apiDocList +} + +func (s *apiDocSet) Map() map[string]*apimanagement_gloo_solo_io_v2.ApiDoc { + if s == nil { + return nil + } + + newMap := map[string]*apimanagement_gloo_solo_io_v2.ApiDoc{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*apimanagement_gloo_solo_io_v2.ApiDoc) + } + return newMap +} + +func (s *apiDocSet) Insert( + apiDocList ...*apimanagement_gloo_solo_io_v2.ApiDoc, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range apiDocList { + s.Generic().Insert(obj) + } +} + +func (s *apiDocSet) Has(apiDoc ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(apiDoc) +} + +func (s *apiDocSet) Equal( + apiDocSet ApiDocSet, +) bool { + if s == nil { + return apiDocSet == nil + } + return s.Generic().Equal(apiDocSet.Generic()) +} + +func (s *apiDocSet) Delete(ApiDoc ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ApiDoc) +} + +func (s *apiDocSet) Union(set ApiDocSet) ApiDocSet { + if s == nil { + return set + } + return NewApiDocSet(append(s.List(), set.List()...)...) +} + +func (s *apiDocSet) Difference(set ApiDocSet) ApiDocSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &apiDocSet{set: newSet} +} + +func (s *apiDocSet) Intersection(set ApiDocSet) ApiDocSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var apiDocList []*apimanagement_gloo_solo_io_v2.ApiDoc + for _, obj := range newSet.List() { + apiDocList = append(apiDocList, obj.(*apimanagement_gloo_solo_io_v2.ApiDoc)) + } + return NewApiDocSet(apiDocList...) +} + +func (s *apiDocSet) Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.ApiDoc, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ApiDoc %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&apimanagement_gloo_solo_io_v2.ApiDoc{}, id) + if err != nil { + return nil, err + } + + return obj.(*apimanagement_gloo_solo_io_v2.ApiDoc), nil +} + +func (s *apiDocSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *apiDocSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *apiDocSet) Delta(newSet ApiDocSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *apiDocSet) Clone() ApiDocSet { + if s == nil { + return nil + } + return &apiDocSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type PortalSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*apimanagement_gloo_solo_io_v2.Portal) bool) []*apimanagement_gloo_solo_io_v2.Portal + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.Portal) bool) []*apimanagement_gloo_solo_io_v2.Portal + // Return the Set as a map of key to resource. + Map() map[string]*apimanagement_gloo_solo_io_v2.Portal + // Insert a resource into the set. + Insert(portal ...*apimanagement_gloo_solo_io_v2.Portal) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(portalSet PortalSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(portal ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(portal ezkube.ResourceId) + // Return the union with the provided set + Union(set PortalSet) PortalSet + // Return the difference with the provided set + Difference(set PortalSet) PortalSet + // Return the intersection with the provided set + Intersection(set PortalSet) PortalSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.Portal, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another PortalSet + Delta(newSet PortalSet) sksets.ResourceDelta + // Create a deep copy of the current PortalSet + Clone() PortalSet +} + +func makeGenericPortalSet(portalList []*apimanagement_gloo_solo_io_v2.Portal) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range portalList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type portalSet struct { + set sksets.ResourceSet +} + +func NewPortalSet(portalList ...*apimanagement_gloo_solo_io_v2.Portal) PortalSet { + return &portalSet{set: makeGenericPortalSet(portalList)} +} + +func NewPortalSetFromList(portalList *apimanagement_gloo_solo_io_v2.PortalList) PortalSet { + list := make([]*apimanagement_gloo_solo_io_v2.Portal, 0, len(portalList.Items)) + for idx := range portalList.Items { + list = append(list, &portalList.Items[idx]) + } + return &portalSet{set: makeGenericPortalSet(list)} +} + +func (s *portalSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *portalSet) List(filterResource ...func(*apimanagement_gloo_solo_io_v2.Portal) bool) []*apimanagement_gloo_solo_io_v2.Portal { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.Portal)) + }) + } + + objs := s.Generic().List(genericFilters...) + portalList := make([]*apimanagement_gloo_solo_io_v2.Portal, 0, len(objs)) + for _, obj := range objs { + portalList = append(portalList, obj.(*apimanagement_gloo_solo_io_v2.Portal)) + } + return portalList +} + +func (s *portalSet) UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.Portal) bool) []*apimanagement_gloo_solo_io_v2.Portal { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.Portal)) + }) + } + + var portalList []*apimanagement_gloo_solo_io_v2.Portal + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + portalList = append(portalList, obj.(*apimanagement_gloo_solo_io_v2.Portal)) + } + return portalList +} + +func (s *portalSet) Map() map[string]*apimanagement_gloo_solo_io_v2.Portal { + if s == nil { + return nil + } + + newMap := map[string]*apimanagement_gloo_solo_io_v2.Portal{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*apimanagement_gloo_solo_io_v2.Portal) + } + return newMap +} + +func (s *portalSet) Insert( + portalList ...*apimanagement_gloo_solo_io_v2.Portal, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range portalList { + s.Generic().Insert(obj) + } +} + +func (s *portalSet) Has(portal ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(portal) +} + +func (s *portalSet) Equal( + portalSet PortalSet, +) bool { + if s == nil { + return portalSet == nil + } + return s.Generic().Equal(portalSet.Generic()) +} + +func (s *portalSet) Delete(Portal ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(Portal) +} + +func (s *portalSet) Union(set PortalSet) PortalSet { + if s == nil { + return set + } + return NewPortalSet(append(s.List(), set.List()...)...) +} + +func (s *portalSet) Difference(set PortalSet) PortalSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &portalSet{set: newSet} +} + +func (s *portalSet) Intersection(set PortalSet) PortalSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var portalList []*apimanagement_gloo_solo_io_v2.Portal + for _, obj := range newSet.List() { + portalList = append(portalList, obj.(*apimanagement_gloo_solo_io_v2.Portal)) + } + return NewPortalSet(portalList...) +} + +func (s *portalSet) Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.Portal, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find Portal %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&apimanagement_gloo_solo_io_v2.Portal{}, id) + if err != nil { + return nil, err + } + + return obj.(*apimanagement_gloo_solo_io_v2.Portal), nil +} + +func (s *portalSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *portalSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *portalSet) Delta(newSet PortalSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *portalSet) Clone() PortalSet { + if s == nil { + return nil + } + return &portalSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type PortalGroupSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*apimanagement_gloo_solo_io_v2.PortalGroup) bool) []*apimanagement_gloo_solo_io_v2.PortalGroup + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.PortalGroup) bool) []*apimanagement_gloo_solo_io_v2.PortalGroup + // Return the Set as a map of key to resource. + Map() map[string]*apimanagement_gloo_solo_io_v2.PortalGroup + // Insert a resource into the set. + Insert(portalGroup ...*apimanagement_gloo_solo_io_v2.PortalGroup) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(portalGroupSet PortalGroupSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(portalGroup ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(portalGroup ezkube.ResourceId) + // Return the union with the provided set + Union(set PortalGroupSet) PortalGroupSet + // Return the difference with the provided set + Difference(set PortalGroupSet) PortalGroupSet + // Return the intersection with the provided set + Intersection(set PortalGroupSet) PortalGroupSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.PortalGroup, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another PortalGroupSet + Delta(newSet PortalGroupSet) sksets.ResourceDelta + // Create a deep copy of the current PortalGroupSet + Clone() PortalGroupSet +} + +func makeGenericPortalGroupSet(portalGroupList []*apimanagement_gloo_solo_io_v2.PortalGroup) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range portalGroupList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type portalGroupSet struct { + set sksets.ResourceSet +} + +func NewPortalGroupSet(portalGroupList ...*apimanagement_gloo_solo_io_v2.PortalGroup) PortalGroupSet { + return &portalGroupSet{set: makeGenericPortalGroupSet(portalGroupList)} +} + +func NewPortalGroupSetFromList(portalGroupList *apimanagement_gloo_solo_io_v2.PortalGroupList) PortalGroupSet { + list := make([]*apimanagement_gloo_solo_io_v2.PortalGroup, 0, len(portalGroupList.Items)) + for idx := range portalGroupList.Items { + list = append(list, &portalGroupList.Items[idx]) + } + return &portalGroupSet{set: makeGenericPortalGroupSet(list)} +} + +func (s *portalGroupSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *portalGroupSet) List(filterResource ...func(*apimanagement_gloo_solo_io_v2.PortalGroup) bool) []*apimanagement_gloo_solo_io_v2.PortalGroup { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.PortalGroup)) + }) + } + + objs := s.Generic().List(genericFilters...) + portalGroupList := make([]*apimanagement_gloo_solo_io_v2.PortalGroup, 0, len(objs)) + for _, obj := range objs { + portalGroupList = append(portalGroupList, obj.(*apimanagement_gloo_solo_io_v2.PortalGroup)) + } + return portalGroupList +} + +func (s *portalGroupSet) UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.PortalGroup) bool) []*apimanagement_gloo_solo_io_v2.PortalGroup { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.PortalGroup)) + }) + } + + var portalGroupList []*apimanagement_gloo_solo_io_v2.PortalGroup + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + portalGroupList = append(portalGroupList, obj.(*apimanagement_gloo_solo_io_v2.PortalGroup)) + } + return portalGroupList +} + +func (s *portalGroupSet) Map() map[string]*apimanagement_gloo_solo_io_v2.PortalGroup { + if s == nil { + return nil + } + + newMap := map[string]*apimanagement_gloo_solo_io_v2.PortalGroup{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*apimanagement_gloo_solo_io_v2.PortalGroup) + } + return newMap +} + +func (s *portalGroupSet) Insert( + portalGroupList ...*apimanagement_gloo_solo_io_v2.PortalGroup, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range portalGroupList { + s.Generic().Insert(obj) + } +} + +func (s *portalGroupSet) Has(portalGroup ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(portalGroup) +} + +func (s *portalGroupSet) Equal( + portalGroupSet PortalGroupSet, +) bool { + if s == nil { + return portalGroupSet == nil + } + return s.Generic().Equal(portalGroupSet.Generic()) +} + +func (s *portalGroupSet) Delete(PortalGroup ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(PortalGroup) +} + +func (s *portalGroupSet) Union(set PortalGroupSet) PortalGroupSet { + if s == nil { + return set + } + return NewPortalGroupSet(append(s.List(), set.List()...)...) +} + +func (s *portalGroupSet) Difference(set PortalGroupSet) PortalGroupSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &portalGroupSet{set: newSet} +} + +func (s *portalGroupSet) Intersection(set PortalGroupSet) PortalGroupSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var portalGroupList []*apimanagement_gloo_solo_io_v2.PortalGroup + for _, obj := range newSet.List() { + portalGroupList = append(portalGroupList, obj.(*apimanagement_gloo_solo_io_v2.PortalGroup)) + } + return NewPortalGroupSet(portalGroupList...) +} + +func (s *portalGroupSet) Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.PortalGroup, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find PortalGroup %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&apimanagement_gloo_solo_io_v2.PortalGroup{}, id) + if err != nil { + return nil, err + } + + return obj.(*apimanagement_gloo_solo_io_v2.PortalGroup), nil +} + +func (s *portalGroupSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *portalGroupSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *portalGroupSet) Delta(newSet PortalGroupSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *portalGroupSet) Clone() PortalGroupSet { + if s == nil { + return nil + } + return &portalGroupSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type ApiProductSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*apimanagement_gloo_solo_io_v2.ApiProduct) bool) []*apimanagement_gloo_solo_io_v2.ApiProduct + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.ApiProduct) bool) []*apimanagement_gloo_solo_io_v2.ApiProduct + // Return the Set as a map of key to resource. + Map() map[string]*apimanagement_gloo_solo_io_v2.ApiProduct + // Insert a resource into the set. + Insert(apiProduct ...*apimanagement_gloo_solo_io_v2.ApiProduct) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(apiProductSet ApiProductSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(apiProduct ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(apiProduct ezkube.ResourceId) + // Return the union with the provided set + Union(set ApiProductSet) ApiProductSet + // Return the difference with the provided set + Difference(set ApiProductSet) ApiProductSet + // Return the intersection with the provided set + Intersection(set ApiProductSet) ApiProductSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.ApiProduct, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ApiProductSet + Delta(newSet ApiProductSet) sksets.ResourceDelta + // Create a deep copy of the current ApiProductSet + Clone() ApiProductSet +} + +func makeGenericApiProductSet(apiProductList []*apimanagement_gloo_solo_io_v2.ApiProduct) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range apiProductList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type apiProductSet struct { + set sksets.ResourceSet +} + +func NewApiProductSet(apiProductList ...*apimanagement_gloo_solo_io_v2.ApiProduct) ApiProductSet { + return &apiProductSet{set: makeGenericApiProductSet(apiProductList)} +} + +func NewApiProductSetFromList(apiProductList *apimanagement_gloo_solo_io_v2.ApiProductList) ApiProductSet { + list := make([]*apimanagement_gloo_solo_io_v2.ApiProduct, 0, len(apiProductList.Items)) + for idx := range apiProductList.Items { + list = append(list, &apiProductList.Items[idx]) + } + return &apiProductSet{set: makeGenericApiProductSet(list)} +} + +func (s *apiProductSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *apiProductSet) List(filterResource ...func(*apimanagement_gloo_solo_io_v2.ApiProduct) bool) []*apimanagement_gloo_solo_io_v2.ApiProduct { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.ApiProduct)) + }) + } + + objs := s.Generic().List(genericFilters...) + apiProductList := make([]*apimanagement_gloo_solo_io_v2.ApiProduct, 0, len(objs)) + for _, obj := range objs { + apiProductList = append(apiProductList, obj.(*apimanagement_gloo_solo_io_v2.ApiProduct)) + } + return apiProductList +} + +func (s *apiProductSet) UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.ApiProduct) bool) []*apimanagement_gloo_solo_io_v2.ApiProduct { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.ApiProduct)) + }) + } + + var apiProductList []*apimanagement_gloo_solo_io_v2.ApiProduct + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + apiProductList = append(apiProductList, obj.(*apimanagement_gloo_solo_io_v2.ApiProduct)) + } + return apiProductList +} + +func (s *apiProductSet) Map() map[string]*apimanagement_gloo_solo_io_v2.ApiProduct { + if s == nil { + return nil + } + + newMap := map[string]*apimanagement_gloo_solo_io_v2.ApiProduct{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*apimanagement_gloo_solo_io_v2.ApiProduct) + } + return newMap +} + +func (s *apiProductSet) Insert( + apiProductList ...*apimanagement_gloo_solo_io_v2.ApiProduct, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range apiProductList { + s.Generic().Insert(obj) + } +} + +func (s *apiProductSet) Has(apiProduct ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(apiProduct) +} + +func (s *apiProductSet) Equal( + apiProductSet ApiProductSet, +) bool { + if s == nil { + return apiProductSet == nil + } + return s.Generic().Equal(apiProductSet.Generic()) +} + +func (s *apiProductSet) Delete(ApiProduct ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ApiProduct) +} + +func (s *apiProductSet) Union(set ApiProductSet) ApiProductSet { + if s == nil { + return set + } + return NewApiProductSet(append(s.List(), set.List()...)...) +} + +func (s *apiProductSet) Difference(set ApiProductSet) ApiProductSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &apiProductSet{set: newSet} +} + +func (s *apiProductSet) Intersection(set ApiProductSet) ApiProductSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var apiProductList []*apimanagement_gloo_solo_io_v2.ApiProduct + for _, obj := range newSet.List() { + apiProductList = append(apiProductList, obj.(*apimanagement_gloo_solo_io_v2.ApiProduct)) + } + return NewApiProductSet(apiProductList...) +} + +func (s *apiProductSet) Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.ApiProduct, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ApiProduct %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&apimanagement_gloo_solo_io_v2.ApiProduct{}, id) + if err != nil { + return nil, err + } + + return obj.(*apimanagement_gloo_solo_io_v2.ApiProduct), nil +} + +func (s *apiProductSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *apiProductSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *apiProductSet) Delta(newSet ApiProductSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *apiProductSet) Clone() ApiProductSet { + if s == nil { + return nil + } + return &apiProductSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type ApiSchemaDiscoverySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) bool) []*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) bool) []*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery + // Return the Set as a map of key to resource. + Map() map[string]*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery + // Insert a resource into the set. + Insert(apiSchemaDiscovery ...*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(apiSchemaDiscoverySet ApiSchemaDiscoverySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(apiSchemaDiscovery ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(apiSchemaDiscovery ezkube.ResourceId) + // Return the union with the provided set + Union(set ApiSchemaDiscoverySet) ApiSchemaDiscoverySet + // Return the difference with the provided set + Difference(set ApiSchemaDiscoverySet) ApiSchemaDiscoverySet + // Return the intersection with the provided set + Intersection(set ApiSchemaDiscoverySet) ApiSchemaDiscoverySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ApiSchemaDiscoverySet + Delta(newSet ApiSchemaDiscoverySet) sksets.ResourceDelta + // Create a deep copy of the current ApiSchemaDiscoverySet + Clone() ApiSchemaDiscoverySet +} + +func makeGenericApiSchemaDiscoverySet(apiSchemaDiscoveryList []*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range apiSchemaDiscoveryList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type apiSchemaDiscoverySet struct { + set sksets.ResourceSet +} + +func NewApiSchemaDiscoverySet(apiSchemaDiscoveryList ...*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) ApiSchemaDiscoverySet { + return &apiSchemaDiscoverySet{set: makeGenericApiSchemaDiscoverySet(apiSchemaDiscoveryList)} +} + +func NewApiSchemaDiscoverySetFromList(apiSchemaDiscoveryList *apimanagement_gloo_solo_io_v2.ApiSchemaDiscoveryList) ApiSchemaDiscoverySet { + list := make([]*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery, 0, len(apiSchemaDiscoveryList.Items)) + for idx := range apiSchemaDiscoveryList.Items { + list = append(list, &apiSchemaDiscoveryList.Items[idx]) + } + return &apiSchemaDiscoverySet{set: makeGenericApiSchemaDiscoverySet(list)} +} + +func (s *apiSchemaDiscoverySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *apiSchemaDiscoverySet) List(filterResource ...func(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) bool) []*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery)) + }) + } + + objs := s.Generic().List(genericFilters...) + apiSchemaDiscoveryList := make([]*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery, 0, len(objs)) + for _, obj := range objs { + apiSchemaDiscoveryList = append(apiSchemaDiscoveryList, obj.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery)) + } + return apiSchemaDiscoveryList +} + +func (s *apiSchemaDiscoverySet) UnsortedList(filterResource ...func(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) bool) []*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery)) + }) + } + + var apiSchemaDiscoveryList []*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + apiSchemaDiscoveryList = append(apiSchemaDiscoveryList, obj.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery)) + } + return apiSchemaDiscoveryList +} + +func (s *apiSchemaDiscoverySet) Map() map[string]*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery { + if s == nil { + return nil + } + + newMap := map[string]*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery) + } + return newMap +} + +func (s *apiSchemaDiscoverySet) Insert( + apiSchemaDiscoveryList ...*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range apiSchemaDiscoveryList { + s.Generic().Insert(obj) + } +} + +func (s *apiSchemaDiscoverySet) Has(apiSchemaDiscovery ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(apiSchemaDiscovery) +} + +func (s *apiSchemaDiscoverySet) Equal( + apiSchemaDiscoverySet ApiSchemaDiscoverySet, +) bool { + if s == nil { + return apiSchemaDiscoverySet == nil + } + return s.Generic().Equal(apiSchemaDiscoverySet.Generic()) +} + +func (s *apiSchemaDiscoverySet) Delete(ApiSchemaDiscovery ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ApiSchemaDiscovery) +} + +func (s *apiSchemaDiscoverySet) Union(set ApiSchemaDiscoverySet) ApiSchemaDiscoverySet { + if s == nil { + return set + } + return NewApiSchemaDiscoverySet(append(s.List(), set.List()...)...) +} + +func (s *apiSchemaDiscoverySet) Difference(set ApiSchemaDiscoverySet) ApiSchemaDiscoverySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &apiSchemaDiscoverySet{set: newSet} +} + +func (s *apiSchemaDiscoverySet) Intersection(set ApiSchemaDiscoverySet) ApiSchemaDiscoverySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var apiSchemaDiscoveryList []*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery + for _, obj := range newSet.List() { + apiSchemaDiscoveryList = append(apiSchemaDiscoveryList, obj.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery)) + } + return NewApiSchemaDiscoverySet(apiSchemaDiscoveryList...) +} + +func (s *apiSchemaDiscoverySet) Find(id ezkube.ResourceId) (*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ApiSchemaDiscovery %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery{}, id) + if err != nil { + return nil, err + } + + return obj.(*apimanagement_gloo_solo_io_v2.ApiSchemaDiscovery), nil +} + +func (s *apiSchemaDiscoverySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *apiSchemaDiscoverySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *apiSchemaDiscoverySet) Delta(newSet ApiSchemaDiscoverySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *apiSchemaDiscoverySet) Clone() ApiSchemaDiscoverySet { + if s == nil { + return nil + } + return &apiSchemaDiscoverySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/type_helpers.go b/client-go/apimanagement.gloo.solo.io/v2/type_helpers.go new file mode 100644 index 000000000..51aa24af0 --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/type_helpers.go @@ -0,0 +1,28 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +// GraphQLStitchedSchemaSlice represents a slice of *GraphQLStitchedSchema +type GraphQLStitchedSchemaSlice []*GraphQLStitchedSchema + +// GraphQLResolverMapSlice represents a slice of *GraphQLResolverMap +type GraphQLResolverMapSlice []*GraphQLResolverMap + +// GraphQLSchemaSlice represents a slice of *GraphQLSchema +type GraphQLSchemaSlice []*GraphQLSchema + +// ApiDocSlice represents a slice of *ApiDoc +type ApiDocSlice []*ApiDoc + +// PortalSlice represents a slice of *Portal +type PortalSlice []*Portal + +// PortalGroupSlice represents a slice of *PortalGroup +type PortalGroupSlice []*PortalGroup + +// ApiProductSlice represents a slice of *ApiProduct +type ApiProductSlice []*ApiProduct + +// ApiSchemaDiscoverySlice represents a slice of *ApiSchemaDiscovery +type ApiSchemaDiscoverySlice []*ApiSchemaDiscovery diff --git a/client-go/apimanagement.gloo.solo.io/v2/types.go b/client-go/apimanagement.gloo.solo.io/v2/types.go new file mode 100644 index 000000000..8ac61236c --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/types.go @@ -0,0 +1,300 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for GraphQLStitchedSchema +var GraphQLStitchedSchemaGVK = schema.GroupVersionKind{ + Group: "apimanagement.gloo.solo.io", + Version: "v2", + Kind: "GraphQLStitchedSchema", +} + +// GraphQLStitchedSchema is the Schema for the graphQLStitchedSchema API +type GraphQLStitchedSchema struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec GraphQLStitchedSchemaSpec `json:"spec,omitempty"` + Status GraphQLStitchedSchemaStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (GraphQLStitchedSchema) GVK() schema.GroupVersionKind { + return GraphQLStitchedSchemaGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GraphQLStitchedSchemaList contains a list of GraphQLStitchedSchema +type GraphQLStitchedSchemaList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GraphQLStitchedSchema `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for GraphQLResolverMap +var GraphQLResolverMapGVK = schema.GroupVersionKind{ + Group: "apimanagement.gloo.solo.io", + Version: "v2", + Kind: "GraphQLResolverMap", +} + +// GraphQLResolverMap is the Schema for the graphQLResolverMap API +type GraphQLResolverMap struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec GraphQLResolverMapSpec `json:"spec,omitempty"` + Status GraphQLResolverMapStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (GraphQLResolverMap) GVK() schema.GroupVersionKind { + return GraphQLResolverMapGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GraphQLResolverMapList contains a list of GraphQLResolverMap +type GraphQLResolverMapList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GraphQLResolverMap `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for GraphQLSchema +var GraphQLSchemaGVK = schema.GroupVersionKind{ + Group: "apimanagement.gloo.solo.io", + Version: "v2", + Kind: "GraphQLSchema", +} + +// GraphQLSchema is the Schema for the graphQLSchema API +type GraphQLSchema struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec GraphQLSchemaSpec `json:"spec,omitempty"` + Status GraphQLSchemaStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (GraphQLSchema) GVK() schema.GroupVersionKind { + return GraphQLSchemaGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GraphQLSchemaList contains a list of GraphQLSchema +type GraphQLSchemaList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GraphQLSchema `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ApiDoc +var ApiDocGVK = schema.GroupVersionKind{ + Group: "apimanagement.gloo.solo.io", + Version: "v2", + Kind: "ApiDoc", +} + +// ApiDoc is the Schema for the apiDoc API +type ApiDoc struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ApiDocSpec `json:"spec,omitempty"` + Status ApiDocStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ApiDoc) GVK() schema.GroupVersionKind { + return ApiDocGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ApiDocList contains a list of ApiDoc +type ApiDocList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ApiDoc `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for Portal +var PortalGVK = schema.GroupVersionKind{ + Group: "apimanagement.gloo.solo.io", + Version: "v2", + Kind: "Portal", +} + +// Portal is the Schema for the portal API +type Portal struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec PortalSpec `json:"spec,omitempty"` + Status PortalStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (Portal) GVK() schema.GroupVersionKind { + return PortalGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// PortalList contains a list of Portal +type PortalList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Portal `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for PortalGroup +var PortalGroupGVK = schema.GroupVersionKind{ + Group: "apimanagement.gloo.solo.io", + Version: "v2", + Kind: "PortalGroup", +} + +// PortalGroup is the Schema for the portalGroup API +type PortalGroup struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec PortalGroupSpec `json:"spec,omitempty"` + Status PortalGroupStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (PortalGroup) GVK() schema.GroupVersionKind { + return PortalGroupGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// PortalGroupList contains a list of PortalGroup +type PortalGroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []PortalGroup `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ApiProduct +var ApiProductGVK = schema.GroupVersionKind{ + Group: "apimanagement.gloo.solo.io", + Version: "v2", + Kind: "ApiProduct", +} + +// ApiProduct is the Schema for the apiProduct API +type ApiProduct struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ApiProductSpec `json:"spec,omitempty"` + Status ApiProductStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ApiProduct) GVK() schema.GroupVersionKind { + return ApiProductGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ApiProductList contains a list of ApiProduct +type ApiProductList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ApiProduct `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ApiSchemaDiscovery +var ApiSchemaDiscoveryGVK = schema.GroupVersionKind{ + Group: "apimanagement.gloo.solo.io", + Version: "v2", + Kind: "ApiSchemaDiscovery", +} + +// ApiSchemaDiscovery is the Schema for the apiSchemaDiscovery API +type ApiSchemaDiscovery struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ApiSchemaDiscoverySpec `json:"spec,omitempty"` + Status ApiSchemaDiscoveryStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ApiSchemaDiscovery) GVK() schema.GroupVersionKind { + return ApiSchemaDiscoveryGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ApiSchemaDiscoveryList contains a list of ApiSchemaDiscovery +type ApiSchemaDiscoveryList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ApiSchemaDiscovery `json:"items"` +} + +func init() { + SchemeBuilder.Register(&GraphQLStitchedSchema{}, &GraphQLStitchedSchemaList{}) + SchemeBuilder.Register(&GraphQLResolverMap{}, &GraphQLResolverMapList{}) + SchemeBuilder.Register(&GraphQLSchema{}, &GraphQLSchemaList{}) + SchemeBuilder.Register(&ApiDoc{}, &ApiDocList{}) + SchemeBuilder.Register(&Portal{}, &PortalList{}) + SchemeBuilder.Register(&PortalGroup{}, &PortalGroupList{}) + SchemeBuilder.Register(&ApiProduct{}, &ApiProductList{}) + SchemeBuilder.Register(&ApiSchemaDiscovery{}, &ApiSchemaDiscoveryList{}) +} diff --git a/client-go/apimanagement.gloo.solo.io/v2/zz_generated.deepcopy.go b/client-go/apimanagement.gloo.solo.io/v2/zz_generated.deepcopy.go new file mode 100644 index 000000000..2857d070e --- /dev/null +++ b/client-go/apimanagement.gloo.solo.io/v2/zz_generated.deepcopy.go @@ -0,0 +1,489 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for apimanagement.gloo.solo.io/v2 resources + +package v2 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for GraphQLStitchedSchema + +func (in *GraphQLStitchedSchema) DeepCopyInto(out *GraphQLStitchedSchema) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *GraphQLStitchedSchema) DeepCopy() *GraphQLStitchedSchema { + if in == nil { + return nil + } + out := new(GraphQLStitchedSchema) + in.DeepCopyInto(out) + return out +} + +func (in *GraphQLStitchedSchema) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *GraphQLStitchedSchemaList) DeepCopyInto(out *GraphQLStitchedSchemaList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GraphQLStitchedSchema, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *GraphQLStitchedSchemaList) DeepCopy() *GraphQLStitchedSchemaList { + if in == nil { + return nil + } + out := new(GraphQLStitchedSchemaList) + in.DeepCopyInto(out) + return out +} + +func (in *GraphQLStitchedSchemaList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for GraphQLResolverMap + +func (in *GraphQLResolverMap) DeepCopyInto(out *GraphQLResolverMap) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *GraphQLResolverMap) DeepCopy() *GraphQLResolverMap { + if in == nil { + return nil + } + out := new(GraphQLResolverMap) + in.DeepCopyInto(out) + return out +} + +func (in *GraphQLResolverMap) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *GraphQLResolverMapList) DeepCopyInto(out *GraphQLResolverMapList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GraphQLResolverMap, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *GraphQLResolverMapList) DeepCopy() *GraphQLResolverMapList { + if in == nil { + return nil + } + out := new(GraphQLResolverMapList) + in.DeepCopyInto(out) + return out +} + +func (in *GraphQLResolverMapList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for GraphQLSchema + +func (in *GraphQLSchema) DeepCopyInto(out *GraphQLSchema) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *GraphQLSchema) DeepCopy() *GraphQLSchema { + if in == nil { + return nil + } + out := new(GraphQLSchema) + in.DeepCopyInto(out) + return out +} + +func (in *GraphQLSchema) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *GraphQLSchemaList) DeepCopyInto(out *GraphQLSchemaList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GraphQLSchema, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *GraphQLSchemaList) DeepCopy() *GraphQLSchemaList { + if in == nil { + return nil + } + out := new(GraphQLSchemaList) + in.DeepCopyInto(out) + return out +} + +func (in *GraphQLSchemaList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for ApiDoc + +func (in *ApiDoc) DeepCopyInto(out *ApiDoc) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ApiDoc) DeepCopy() *ApiDoc { + if in == nil { + return nil + } + out := new(ApiDoc) + in.DeepCopyInto(out) + return out +} + +func (in *ApiDoc) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ApiDocList) DeepCopyInto(out *ApiDocList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ApiDoc, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ApiDocList) DeepCopy() *ApiDocList { + if in == nil { + return nil + } + out := new(ApiDocList) + in.DeepCopyInto(out) + return out +} + +func (in *ApiDocList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for Portal + +func (in *Portal) DeepCopyInto(out *Portal) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *Portal) DeepCopy() *Portal { + if in == nil { + return nil + } + out := new(Portal) + in.DeepCopyInto(out) + return out +} + +func (in *Portal) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *PortalList) DeepCopyInto(out *PortalList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Portal, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *PortalList) DeepCopy() *PortalList { + if in == nil { + return nil + } + out := new(PortalList) + in.DeepCopyInto(out) + return out +} + +func (in *PortalList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for PortalGroup + +func (in *PortalGroup) DeepCopyInto(out *PortalGroup) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *PortalGroup) DeepCopy() *PortalGroup { + if in == nil { + return nil + } + out := new(PortalGroup) + in.DeepCopyInto(out) + return out +} + +func (in *PortalGroup) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *PortalGroupList) DeepCopyInto(out *PortalGroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]PortalGroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *PortalGroupList) DeepCopy() *PortalGroupList { + if in == nil { + return nil + } + out := new(PortalGroupList) + in.DeepCopyInto(out) + return out +} + +func (in *PortalGroupList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for ApiProduct + +func (in *ApiProduct) DeepCopyInto(out *ApiProduct) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ApiProduct) DeepCopy() *ApiProduct { + if in == nil { + return nil + } + out := new(ApiProduct) + in.DeepCopyInto(out) + return out +} + +func (in *ApiProduct) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ApiProductList) DeepCopyInto(out *ApiProductList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ApiProduct, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ApiProductList) DeepCopy() *ApiProductList { + if in == nil { + return nil + } + out := new(ApiProductList) + in.DeepCopyInto(out) + return out +} + +func (in *ApiProductList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for ApiSchemaDiscovery + +func (in *ApiSchemaDiscovery) DeepCopyInto(out *ApiSchemaDiscovery) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ApiSchemaDiscovery) DeepCopy() *ApiSchemaDiscovery { + if in == nil { + return nil + } + out := new(ApiSchemaDiscovery) + in.DeepCopyInto(out) + return out +} + +func (in *ApiSchemaDiscovery) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ApiSchemaDiscoveryList) DeepCopyInto(out *ApiSchemaDiscoveryList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ApiSchemaDiscovery, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ApiSchemaDiscoveryList) DeepCopy() *ApiSchemaDiscoveryList { + if in == nil { + return nil + } + out := new(ApiSchemaDiscoveryList) + in.DeepCopyInto(out) + return out +} + +func (in *ApiSchemaDiscoveryList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/common.gloo.solo.io/v2/approval_state.pb.clone.go b/client-go/common.gloo.solo.io/v2/approval_state.pb.clone.go new file mode 100644 index 000000000..a8aeef68f --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/approval_state.pb.clone.go @@ -0,0 +1,46 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ClusterState) Clone() proto.Message { + var target *ClusterState + if m == nil { + return target + } + target = &ClusterState{} + + if m.GetStates() != nil { + target.States = make(map[string]ApprovalState, len(m.GetStates())) + for k, v := range m.GetStates() { + + target.States[k] = v + + } + } + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/approval_state.pb.equal.go b/client-go/common.gloo.solo.io/v2/approval_state.pb.equal.go new file mode 100644 index 000000000..893b8eb99 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/approval_state.pb.equal.go @@ -0,0 +1,61 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ClusterState) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClusterState) + if !ok { + that2, ok := that.(ClusterState) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetStates()) != len(target.GetStates()) { + return false + } + for k, v := range m.GetStates() { + + if v != target.GetStates()[k] { + return false + } + + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/approval_state.pb.go b/client-go/common.gloo.solo.io/v2/approval_state.pb.go new file mode 100644 index 000000000..0bcfc76cd --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/approval_state.pb.go @@ -0,0 +1,252 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// State of a Policy resource reflected in the status by Gloo Mesh while processing a resource. +type ApprovalState int32 + +const ( + // Resources are in a Pending state before they have been processed by Gloo Mesh. + ApprovalState_PENDING ApprovalState = 0 + // Resources are in a Accepted state when they are valid and have been applied successfully to + // the Gloo Mesh configuration. + ApprovalState_ACCEPTED ApprovalState = 1 + // Resources are in an Invalid state when they contain incorrect configuration parameters, + // such as missing required values or invalid resource references. + // An invalid state can also result when a resource's configuration is valid + // but conflicts with another resource which was accepted in an earlier point in time. + ApprovalState_INVALID ApprovalState = 2 + // Resources are in a Warning state when they contain partially incorrect configuration parameters, + // but has still been processed and applied by the system. + ApprovalState_WARNING ApprovalState = 3 + // Resources are in a Failed state when they contain correct configuration parameters, + // but the server encountered an error trying to synchronize the system to + // the desired state. + ApprovalState_FAILED ApprovalState = 4 + // The license key(s) in the application do not allow you to use this resource. + ApprovalState_UNLICENSED ApprovalState = 5 +) + +// Enum value maps for ApprovalState. +var ( + ApprovalState_name = map[int32]string{ + 0: "PENDING", + 1: "ACCEPTED", + 2: "INVALID", + 3: "WARNING", + 4: "FAILED", + 5: "UNLICENSED", + } + ApprovalState_value = map[string]int32{ + "PENDING": 0, + "ACCEPTED": 1, + "INVALID": 2, + "WARNING": 3, + "FAILED": 4, + "UNLICENSED": 5, + } +) + +func (x ApprovalState) Enum() *ApprovalState { + p := new(ApprovalState) + *p = x + return p +} + +func (x ApprovalState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ApprovalState) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_enumTypes[0].Descriptor() +} + +func (ApprovalState) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_enumTypes[0] +} + +func (x ApprovalState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ApprovalState.Descriptor instead. +func (ApprovalState) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDescGZIP(), []int{0} +} + +// the state of a resource across clusters +type ClusterState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // the approval state of the resource in each cluster + States map[string]ApprovalState `protobuf:"bytes,1,rep,name=states,proto3" json:"states,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=common.gloo.solo.io.ApprovalState"` +} + +func (x *ClusterState) Reset() { + *x = ClusterState{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterState) ProtoMessage() {} + +func (x *ClusterState) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterState.ProtoReflect.Descriptor instead. +func (*ClusterState) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDescGZIP(), []int{0} +} + +func (x *ClusterState) GetStates() map[string]ApprovalState { + if x != nil { + return x.States + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDesc = []byte{ + 0x0a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, + 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xb4, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x1a, 0x5d, 0x0a, 0x0b, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x60, 0x0a, 0x0d, 0x41, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x43, 0x43, 0x45, 0x50, + 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, + 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, + 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x55, + 0x4e, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x44, 0x10, 0x05, 0x42, 0x54, 0x5a, 0x46, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, + 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_goTypes = []interface{}{ + (ApprovalState)(0), // 0: common.gloo.solo.io.ApprovalState + (*ClusterState)(nil), // 1: common.gloo.solo.io.ClusterState + nil, // 2: common.gloo.solo.io.ClusterState.StatesEntry +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_depIdxs = []int32{ + 2, // 0: common.gloo.solo.io.ClusterState.states:type_name -> common.gloo.solo.io.ClusterState.StatesEntry + 0, // 1: common.gloo.solo.io.ClusterState.StatesEntry.value:type_name -> common.gloo.solo.io.ApprovalState + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/approval_state.pb.hash.go b/client-go/common.gloo.solo.io/v2/approval_state.pb.hash.go new file mode 100644 index 000000000..0e126b3b0 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/approval_state.pb.hash.go @@ -0,0 +1,66 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/approval_state.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ClusterState) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ClusterState")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetStates() { + innerHash.Reset() + + err = binary.Write(innerHash, binary.LittleEndian, v) + if err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/clientmode.pb.clone.go b/client-go/common.gloo.solo.io/v2/clientmode.pb.clone.go new file mode 100644 index 000000000..1e6ae8a42 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/clientmode.pb.clone.go @@ -0,0 +1,79 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/clientmode.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_empty "github.com/golang/protobuf/ptypes/empty" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ClientMode) Clone() proto.Message { + var target *ClientMode + if m == nil { + return target + } + target = &ClientMode{} + + switch m.ClientMode.(type) { + + case *ClientMode_Auto: + + if h, ok := interface{}(m.GetAuto()).(clone.Cloner); ok { + target.ClientMode = &ClientMode_Auto{ + Auto: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.ClientMode = &ClientMode_Auto{ + Auto: proto.Clone(m.GetAuto()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + case *ClientMode_SniRouting: + + if h, ok := interface{}(m.GetSniRouting()).(clone.Cloner); ok { + target.ClientMode = &ClientMode_SniRouting{ + SniRouting: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.ClientMode = &ClientMode_SniRouting{ + SniRouting: proto.Clone(m.GetSniRouting()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + case *ClientMode_TlsTermination: + + if h, ok := interface{}(m.GetTlsTermination()).(clone.Cloner); ok { + target.ClientMode = &ClientMode_TlsTermination{ + TlsTermination: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.ClientMode = &ClientMode_TlsTermination{ + TlsTermination: proto.Clone(m.GetTlsTermination()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + } + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/clientmode.pb.equal.go b/client-go/common.gloo.solo.io/v2/clientmode.pb.equal.go new file mode 100644 index 000000000..b43ec5544 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/clientmode.pb.equal.go @@ -0,0 +1,104 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/clientmode.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ClientMode) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClientMode) + if !ok { + that2, ok := that.(ClientMode) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.ClientMode.(type) { + + case *ClientMode_Auto: + if _, ok := target.ClientMode.(*ClientMode_Auto); !ok { + return false + } + + if h, ok := interface{}(m.GetAuto()).(equality.Equalizer); ok { + if !h.Equal(target.GetAuto()) { + return false + } + } else { + if !proto.Equal(m.GetAuto(), target.GetAuto()) { + return false + } + } + + case *ClientMode_SniRouting: + if _, ok := target.ClientMode.(*ClientMode_SniRouting); !ok { + return false + } + + if h, ok := interface{}(m.GetSniRouting()).(equality.Equalizer); ok { + if !h.Equal(target.GetSniRouting()) { + return false + } + } else { + if !proto.Equal(m.GetSniRouting(), target.GetSniRouting()) { + return false + } + } + + case *ClientMode_TlsTermination: + if _, ok := target.ClientMode.(*ClientMode_TlsTermination); !ok { + return false + } + + if h, ok := interface{}(m.GetTlsTermination()).(equality.Equalizer); ok { + if !h.Equal(target.GetTlsTermination()) { + return false + } + } else { + if !proto.Equal(m.GetTlsTermination(), target.GetTlsTermination()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ClientMode != target.ClientMode { + return false + } + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/clientmode.pb.go b/client-go/common.gloo.solo.io/v2/clientmode.pb.go new file mode 100644 index 000000000..303b7d516 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/clientmode.pb.go @@ -0,0 +1,242 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/clientmode.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + empty "github.com/golang/protobuf/ptypes/empty" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Client mode determines if the translated istio resources (i.e. the service entries and workload entries) use sni +// routing or tls termination at the east west gateway during cross cluster routing. This option can be configured at +// either the WorkspaceSetting level, or on the VirtualDestination. Any virtual destination setting overrides a +// global fallback defined by an admin on the WorkspaceSettings. +type ClientMode struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ClientMode: + // + // *ClientMode_Auto + // *ClientMode_SniRouting + // *ClientMode_TlsTermination + ClientMode isClientMode_ClientMode `protobuf_oneof:"client_mode"` +} + +func (x *ClientMode) Reset() { + *x = ClientMode{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMode) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMode) ProtoMessage() {} + +func (x *ClientMode) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMode.ProtoReflect.Descriptor instead. +func (*ClientMode) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_rawDescGZIP(), []int{0} +} + +func (m *ClientMode) GetClientMode() isClientMode_ClientMode { + if m != nil { + return m.ClientMode + } + return nil +} + +func (x *ClientMode) GetAuto() *empty.Empty { + if x, ok := x.GetClientMode().(*ClientMode_Auto); ok { + return x.Auto + } + return nil +} + +func (x *ClientMode) GetSniRouting() *empty.Empty { + if x, ok := x.GetClientMode().(*ClientMode_SniRouting); ok { + return x.SniRouting + } + return nil +} + +func (x *ClientMode) GetTlsTermination() *empty.Empty { + if x, ok := x.GetClientMode().(*ClientMode_TlsTermination); ok { + return x.TlsTermination + } + return nil +} + +type isClientMode_ClientMode interface { + isClientMode_ClientMode() +} + +type ClientMode_Auto struct { + // The default mode is to use sni routing via tls passthrough at the East/West Gateway to route to services across clusters. + // In the future, this may change to become smarter (e.g., detect if any pods backing the virtual destination don't have sidecars, + // if so, then use tls termination so all pods are routeable). + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + Auto *empty.Empty `protobuf:"bytes,1,opt,name=auto,proto3,oneof"` +} + +type ClientMode_SniRouting struct { + // Sni routing mode uses tls passthrough to route traffic to the proper pod (with sidecar) from the East/West Gateway. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + SniRouting *empty.Empty `protobuf:"bytes,2,opt,name=sni_routing,json=sniRouting,proto3,oneof"` +} + +type ClientMode_TlsTermination struct { + // Tls termination mode uses tls termination at the East/West Gateway to route traffic to the correct pod. + // This mode is ideal for Gloo Mesh Gateway, i.e. some backing pods don't have sidecars. + // Since TLS is terminated at the East/West Gateway, the backing service (if it has a sidecar) will not be able to + // verify the istio mTLS identity of the originating client; rather it will verify the istio mTLS cert of the East/West Gateway. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + TlsTermination *empty.Empty `protobuf:"bytes,3,opt,name=tls_termination,json=tlsTermination,proto3,oneof"` +} + +func (*ClientMode_Auto) isClientMode_ClientMode() {} + +func (*ClientMode_SniRouting) isClientMode_ClientMode() {} + +func (*ClientMode_TlsTermination) isClientMode_ClientMode() {} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_rawDesc = []byte{ + 0x0a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x6d, 0x6f, 0x64, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x01, 0x0a, 0x0a, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x61, 0x75, + 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x48, 0x00, 0x52, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x6e, 0x69, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6e, 0x69, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x6c, 0x73, 0x54, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, + 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_goTypes = []interface{}{ + (*ClientMode)(nil), // 0: common.gloo.solo.io.ClientMode + (*empty.Empty)(nil), // 1: google.protobuf.Empty +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_depIdxs = []int32{ + 1, // 0: common.gloo.solo.io.ClientMode.auto:type_name -> google.protobuf.Empty + 1, // 1: common.gloo.solo.io.ClientMode.sni_routing:type_name -> google.protobuf.Empty + 1, // 2: common.gloo.solo.io.ClientMode.tls_termination:type_name -> google.protobuf.Empty + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMode); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*ClientMode_Auto)(nil), + (*ClientMode_SniRouting)(nil), + (*ClientMode_TlsTermination)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_clientmode_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/clientmode.pb.hash.go b/client-go/common.gloo.solo.io/v2/clientmode.pb.hash.go new file mode 100644 index 000000000..3fd4b36af --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/clientmode.pb.hash.go @@ -0,0 +1,112 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/clientmode.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ClientMode) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ClientMode")); err != nil { + return 0, err + } + + switch m.ClientMode.(type) { + + case *ClientMode_Auto: + + if h, ok := interface{}(m.GetAuto()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Auto")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAuto(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Auto")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ClientMode_SniRouting: + + if h, ok := interface{}(m.GetSniRouting()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SniRouting")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSniRouting(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SniRouting")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ClientMode_TlsTermination: + + if h, ok := interface{}(m.GetTlsTermination()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TlsTermination")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTlsTermination(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TlsTermination")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/cloud_provider_options.pb.clone.go b/client-go/common.gloo.solo.io/v2/cloud_provider_options.pb.clone.go new file mode 100644 index 000000000..fd11a31a5 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/cloud_provider_options.pb.clone.go @@ -0,0 +1,117 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/cloud_provider_options.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *LambdaOptions) Clone() proto.Message { + var target *LambdaOptions + if m == nil { + return target + } + target = &LambdaOptions{} + + target.RequestTransformation = m.GetRequestTransformation() + + target.ResponseTransformation = m.GetResponseTransformation() + + target.InvocationStyle = m.GetInvocationStyle() + + return target +} + +// Clone function +func (m *CloudProviderFilterOptions) Clone() proto.Message { + var target *CloudProviderFilterOptions + if m == nil { + return target + } + target = &CloudProviderFilterOptions{} + + switch m.ProviderOptions.(type) { + + case *CloudProviderFilterOptions_Aws: + + if h, ok := interface{}(m.GetAws()).(clone.Cloner); ok { + target.ProviderOptions = &CloudProviderFilterOptions_Aws{ + Aws: h.Clone().(*AWSFilterOptions), + } + } else { + target.ProviderOptions = &CloudProviderFilterOptions_Aws{ + Aws: proto.Clone(m.GetAws()).(*AWSFilterOptions), + } + } + + } + + return target +} + +// Clone function +func (m *AWSFilterOptions) Clone() proto.Message { + var target *AWSFilterOptions + if m == nil { + return target + } + target = &AWSFilterOptions{} + + if m.GetAccountIds() != nil { + target.AccountIds = make([]string, len(m.GetAccountIds())) + for idx, v := range m.GetAccountIds() { + + target.AccountIds[idx] = v + + } + } + + if m.GetIamRoles() != nil { + target.IamRoles = make([]string, len(m.GetIamRoles())) + for idx, v := range m.GetIamRoles() { + + target.IamRoles[idx] = v + + } + } + + if m.GetRegions() != nil { + target.Regions = make([]string, len(m.GetRegions())) + for idx, v := range m.GetRegions() { + + target.Regions[idx] = v + + } + } + + if m.GetLambdaFunctions() != nil { + target.LambdaFunctions = make([]string, len(m.GetLambdaFunctions())) + for idx, v := range m.GetLambdaFunctions() { + + target.LambdaFunctions[idx] = v + + } + } + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/cloud_provider_options.pb.equal.go b/client-go/common.gloo.solo.io/v2/cloud_provider_options.pb.equal.go new file mode 100644 index 000000000..b2b036059 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/cloud_provider_options.pb.equal.go @@ -0,0 +1,178 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/cloud_provider_options.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *LambdaOptions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*LambdaOptions) + if !ok { + that2, ok := that.(LambdaOptions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetRequestTransformation() != target.GetRequestTransformation() { + return false + } + + if m.GetResponseTransformation() != target.GetResponseTransformation() { + return false + } + + if m.GetInvocationStyle() != target.GetInvocationStyle() { + return false + } + + return true +} + +// Equal function +func (m *CloudProviderFilterOptions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CloudProviderFilterOptions) + if !ok { + that2, ok := that.(CloudProviderFilterOptions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.ProviderOptions.(type) { + + case *CloudProviderFilterOptions_Aws: + if _, ok := target.ProviderOptions.(*CloudProviderFilterOptions_Aws); !ok { + return false + } + + if h, ok := interface{}(m.GetAws()).(equality.Equalizer); ok { + if !h.Equal(target.GetAws()) { + return false + } + } else { + if !proto.Equal(m.GetAws(), target.GetAws()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ProviderOptions != target.ProviderOptions { + return false + } + } + + return true +} + +// Equal function +func (m *AWSFilterOptions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AWSFilterOptions) + if !ok { + that2, ok := that.(AWSFilterOptions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetAccountIds()) != len(target.GetAccountIds()) { + return false + } + for idx, v := range m.GetAccountIds() { + + if strings.Compare(v, target.GetAccountIds()[idx]) != 0 { + return false + } + + } + + if len(m.GetIamRoles()) != len(target.GetIamRoles()) { + return false + } + for idx, v := range m.GetIamRoles() { + + if strings.Compare(v, target.GetIamRoles()[idx]) != 0 { + return false + } + + } + + if len(m.GetRegions()) != len(target.GetRegions()) { + return false + } + for idx, v := range m.GetRegions() { + + if strings.Compare(v, target.GetRegions()[idx]) != 0 { + return false + } + + } + + if len(m.GetLambdaFunctions()) != len(target.GetLambdaFunctions()) { + return false + } + for idx, v := range m.GetLambdaFunctions() { + + if strings.Compare(v, target.GetLambdaFunctions()[idx]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/cloud_provider_options.pb.go b/client-go/common.gloo.solo.io/v2/cloud_provider_options.pb.go new file mode 100644 index 000000000..a51377187 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/cloud_provider_options.pb.go @@ -0,0 +1,549 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/cloud_provider_options.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type LambdaOptions_RequestTransformation int32 + +const ( + // Default value. include headers, querystring, request path, and request method in the event payload sent to aws lambda. + LambdaOptions_REQUEST_DEFAULT LambdaOptions_RequestTransformation = 0 + // Disable all transformations for the request to AWS Lambda. + LambdaOptions_REQUEST_DISABLE LambdaOptions_RequestTransformation = 1 +) + +// Enum value maps for LambdaOptions_RequestTransformation. +var ( + LambdaOptions_RequestTransformation_name = map[int32]string{ + 0: "REQUEST_DEFAULT", + 1: "REQUEST_DISABLE", + } + LambdaOptions_RequestTransformation_value = map[string]int32{ + "REQUEST_DEFAULT": 0, + "REQUEST_DISABLE": 1, + } +) + +func (x LambdaOptions_RequestTransformation) Enum() *LambdaOptions_RequestTransformation { + p := new(LambdaOptions_RequestTransformation) + *p = x + return p +} + +func (x LambdaOptions_RequestTransformation) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LambdaOptions_RequestTransformation) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_enumTypes[0].Descriptor() +} + +func (LambdaOptions_RequestTransformation) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_enumTypes[0] +} + +func (x LambdaOptions_RequestTransformation) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LambdaOptions_RequestTransformation.Descriptor instead. +func (LambdaOptions_RequestTransformation) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescGZIP(), []int{0, 0} +} + +type LambdaOptions_ResponseTransformation int32 + +const ( + // Default value. Unwrap the response as if the proxy was an AWS API Gateway. de-jsonify response bodies returned + // from aws lambda, sets response status code, and sets response headers from the JSON payload. + LambdaOptions_RESPONSE_DEFAULT LambdaOptions_ResponseTransformation = 0 + // Disable all transformations for the response from AWS Lambda. + LambdaOptions_RESPONSE_DISABLE LambdaOptions_ResponseTransformation = 1 +) + +// Enum value maps for LambdaOptions_ResponseTransformation. +var ( + LambdaOptions_ResponseTransformation_name = map[int32]string{ + 0: "RESPONSE_DEFAULT", + 1: "RESPONSE_DISABLE", + } + LambdaOptions_ResponseTransformation_value = map[string]int32{ + "RESPONSE_DEFAULT": 0, + "RESPONSE_DISABLE": 1, + } +) + +func (x LambdaOptions_ResponseTransformation) Enum() *LambdaOptions_ResponseTransformation { + p := new(LambdaOptions_ResponseTransformation) + *p = x + return p +} + +func (x LambdaOptions_ResponseTransformation) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LambdaOptions_ResponseTransformation) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_enumTypes[1].Descriptor() +} + +func (LambdaOptions_ResponseTransformation) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_enumTypes[1] +} + +func (x LambdaOptions_ResponseTransformation) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LambdaOptions_ResponseTransformation.Descriptor instead. +func (LambdaOptions_ResponseTransformation) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescGZIP(), []int{0, 1} +} + +type LambdaOptions_InvocationStyle int32 + +const ( + LambdaOptions_SYNC LambdaOptions_InvocationStyle = 0 + LambdaOptions_ASYNC LambdaOptions_InvocationStyle = 1 +) + +// Enum value maps for LambdaOptions_InvocationStyle. +var ( + LambdaOptions_InvocationStyle_name = map[int32]string{ + 0: "SYNC", + 1: "ASYNC", + } + LambdaOptions_InvocationStyle_value = map[string]int32{ + "SYNC": 0, + "ASYNC": 1, + } +) + +func (x LambdaOptions_InvocationStyle) Enum() *LambdaOptions_InvocationStyle { + p := new(LambdaOptions_InvocationStyle) + *p = x + return p +} + +func (x LambdaOptions_InvocationStyle) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LambdaOptions_InvocationStyle) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_enumTypes[2].Descriptor() +} + +func (LambdaOptions_InvocationStyle) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_enumTypes[2] +} + +func (x LambdaOptions_InvocationStyle) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LambdaOptions_InvocationStyle.Descriptor instead. +func (LambdaOptions_InvocationStyle) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescGZIP(), []int{0, 2} +} + +type LambdaOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RequestTransformation LambdaOptions_RequestTransformation `protobuf:"varint,1,opt,name=request_transformation,json=requestTransformation,proto3,enum=common.gloo.solo.io.LambdaOptions_RequestTransformation" json:"request_transformation,omitempty"` + ResponseTransformation LambdaOptions_ResponseTransformation `protobuf:"varint,2,opt,name=response_transformation,json=responseTransformation,proto3,enum=common.gloo.solo.io.LambdaOptions_ResponseTransformation" json:"response_transformation,omitempty"` + // Can be either Sync or Async. See [AWS Invoke](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) + // for more details. + InvocationStyle LambdaOptions_InvocationStyle `protobuf:"varint,3,opt,name=invocation_style,json=invocationStyle,proto3,enum=common.gloo.solo.io.LambdaOptions_InvocationStyle" json:"invocation_style,omitempty"` +} + +func (x *LambdaOptions) Reset() { + *x = LambdaOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LambdaOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LambdaOptions) ProtoMessage() {} + +func (x *LambdaOptions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LambdaOptions.ProtoReflect.Descriptor instead. +func (*LambdaOptions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescGZIP(), []int{0} +} + +func (x *LambdaOptions) GetRequestTransformation() LambdaOptions_RequestTransformation { + if x != nil { + return x.RequestTransformation + } + return LambdaOptions_REQUEST_DEFAULT +} + +func (x *LambdaOptions) GetResponseTransformation() LambdaOptions_ResponseTransformation { + if x != nil { + return x.ResponseTransformation + } + return LambdaOptions_RESPONSE_DEFAULT +} + +func (x *LambdaOptions) GetInvocationStyle() LambdaOptions_InvocationStyle { + if x != nil { + return x.InvocationStyle + } + return LambdaOptions_SYNC +} + +type CloudProviderFilterOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ProviderOptions: + // + // *CloudProviderFilterOptions_Aws + ProviderOptions isCloudProviderFilterOptions_ProviderOptions `protobuf_oneof:"provider_options"` +} + +func (x *CloudProviderFilterOptions) Reset() { + *x = CloudProviderFilterOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudProviderFilterOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudProviderFilterOptions) ProtoMessage() {} + +func (x *CloudProviderFilterOptions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudProviderFilterOptions.ProtoReflect.Descriptor instead. +func (*CloudProviderFilterOptions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescGZIP(), []int{1} +} + +func (m *CloudProviderFilterOptions) GetProviderOptions() isCloudProviderFilterOptions_ProviderOptions { + if m != nil { + return m.ProviderOptions + } + return nil +} + +func (x *CloudProviderFilterOptions) GetAws() *AWSFilterOptions { + if x, ok := x.GetProviderOptions().(*CloudProviderFilterOptions_Aws); ok { + return x.Aws + } + return nil +} + +type isCloudProviderFilterOptions_ProviderOptions interface { + isCloudProviderFilterOptions_ProviderOptions() +} + +type CloudProviderFilterOptions_Aws struct { + // Optional: filter out route tables that use AWS functionality, if provided. Each evaluated route must match at + // at least one of every repeated field provided, if not empty. + Aws *AWSFilterOptions `protobuf:"bytes,1,opt,name=aws,proto3,oneof"` +} + +func (*CloudProviderFilterOptions_Aws) isCloudProviderFilterOptions_ProviderOptions() {} + +type AWSFilterOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: filter out route tables that use an AWS account ID which does not match the selector, if provided. + AccountIds []string `protobuf:"bytes,1,rep,name=account_ids,json=accountIds,proto3" json:"account_ids,omitempty"` + // Optional: filter out route tables that use IAM invoke roles which do not match the selector, if provided. + // Regex supported. + IamRoles []string `protobuf:"bytes,2,rep,name=iam_roles,json=iamRoles,proto3" json:"iam_roles,omitempty"` + // Optional: filter out route tables that use regions which do not match the selector, if provided. + Regions []string `protobuf:"bytes,3,rep,name=regions,proto3" json:"regions,omitempty"` + // Optional: filter out route tables that use backend Lambda functions that do no match the selector, + // if provided. Regex supported. + LambdaFunctions []string `protobuf:"bytes,4,rep,name=lambda_functions,json=lambdaFunctions,proto3" json:"lambda_functions,omitempty"` +} + +func (x *AWSFilterOptions) Reset() { + *x = AWSFilterOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSFilterOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSFilterOptions) ProtoMessage() {} + +func (x *AWSFilterOptions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AWSFilterOptions.ProtoReflect.Descriptor instead. +func (*AWSFilterOptions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescGZIP(), []int{2} +} + +func (x *AWSFilterOptions) GetAccountIds() []string { + if x != nil { + return x.AccountIds + } + return nil +} + +func (x *AWSFilterOptions) GetIamRoles() []string { + if x != nil { + return x.IamRoles + } + return nil +} + +func (x *AWSFilterOptions) GetRegions() []string { + if x != nil { + return x.Regions + } + return nil +} + +func (x *AWSFilterOptions) GetLambdaFunctions() []string { + if x != nil { + return x.LambdaFunctions + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDesc = []byte{ + 0x0a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x04, 0x0a, 0x0d, 0x4c, + 0x61, 0x6d, 0x62, 0x64, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x6f, 0x0a, 0x16, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x72, 0x0a, + 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x5d, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, + 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x79, 0x6c, 0x65, + 0x22, 0x41, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x51, + 0x55, 0x45, 0x53, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x13, + 0x0a, 0x0f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, + 0x45, 0x10, 0x01, 0x22, 0x44, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, + 0x10, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, + 0x54, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, + 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x22, 0x26, 0x0a, 0x0f, 0x49, 0x6e, 0x76, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x08, 0x0a, 0x04, + 0x53, 0x59, 0x4e, 0x43, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x10, + 0x01, 0x22, 0x6b, 0x0a, 0x1a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x39, 0x0a, 0x03, 0x61, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x41, 0x57, 0x53, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x03, 0x61, 0x77, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x95, + 0x01, 0x0a, 0x10, 0x41, 0x57, 0x53, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x61, 0x6d, 0x5f, 0x72, 0x6f, 0x6c, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x69, 0x61, 0x6d, 0x52, 0x6f, 0x6c, 0x65, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6c, + 0x61, 0x6d, 0x62, 0x64, 0x61, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x46, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, + 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_goTypes = []interface{}{ + (LambdaOptions_RequestTransformation)(0), // 0: common.gloo.solo.io.LambdaOptions.RequestTransformation + (LambdaOptions_ResponseTransformation)(0), // 1: common.gloo.solo.io.LambdaOptions.ResponseTransformation + (LambdaOptions_InvocationStyle)(0), // 2: common.gloo.solo.io.LambdaOptions.InvocationStyle + (*LambdaOptions)(nil), // 3: common.gloo.solo.io.LambdaOptions + (*CloudProviderFilterOptions)(nil), // 4: common.gloo.solo.io.CloudProviderFilterOptions + (*AWSFilterOptions)(nil), // 5: common.gloo.solo.io.AWSFilterOptions +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_depIdxs = []int32{ + 0, // 0: common.gloo.solo.io.LambdaOptions.request_transformation:type_name -> common.gloo.solo.io.LambdaOptions.RequestTransformation + 1, // 1: common.gloo.solo.io.LambdaOptions.response_transformation:type_name -> common.gloo.solo.io.LambdaOptions.ResponseTransformation + 2, // 2: common.gloo.solo.io.LambdaOptions.invocation_style:type_name -> common.gloo.solo.io.LambdaOptions.InvocationStyle + 5, // 3: common.gloo.solo.io.CloudProviderFilterOptions.aws:type_name -> common.gloo.solo.io.AWSFilterOptions + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LambdaOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudProviderFilterOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AWSFilterOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*CloudProviderFilterOptions_Aws)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDesc, + NumEnums: 3, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/cloud_provider_options.pb.hash.go b/client-go/common.gloo.solo.io/v2/cloud_provider_options.pb.hash.go new file mode 100644 index 000000000..741ad917c --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/cloud_provider_options.pb.hash.go @@ -0,0 +1,147 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/cloud_provider_options.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *LambdaOptions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.LambdaOptions")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRequestTransformation()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetResponseTransformation()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetInvocationStyle()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CloudProviderFilterOptions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.CloudProviderFilterOptions")); err != nil { + return 0, err + } + + switch m.ProviderOptions.(type) { + + case *CloudProviderFilterOptions_Aws: + + if h, ok := interface{}(m.GetAws()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Aws")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAws(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Aws")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AWSFilterOptions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.AWSFilterOptions")); err != nil { + return 0, err + } + + for _, v := range m.GetAccountIds() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetIamRoles() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetRegions() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetLambdaFunctions() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/enforcement_layers.pb.clone.go b/client-go/common.gloo.solo.io/v2/enforcement_layers.pb.clone.go new file mode 100644 index 000000000..0def3ec40 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/enforcement_layers.pb.clone.go @@ -0,0 +1,41 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/enforcement_layers.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *EnforcementLayers) Clone() proto.Message { + var target *EnforcementLayers + if m == nil { + return target + } + target = &EnforcementLayers{} + + target.Cni = m.GetCni() + + target.Mesh = m.GetMesh() + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/enforcement_layers.pb.equal.go b/client-go/common.gloo.solo.io/v2/enforcement_layers.pb.equal.go new file mode 100644 index 000000000..f27d1e417 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/enforcement_layers.pb.equal.go @@ -0,0 +1,58 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/enforcement_layers.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *EnforcementLayers) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*EnforcementLayers) + if !ok { + that2, ok := that.(EnforcementLayers) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetCni() != target.GetCni() { + return false + } + + if m.GetMesh() != target.GetMesh() { + return false + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/enforcement_layers.pb.go b/client-go/common.gloo.solo.io/v2/enforcement_layers.pb.go new file mode 100644 index 000000000..54e9b32d1 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/enforcement_layers.pb.go @@ -0,0 +1,166 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/enforcement_layers.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type EnforcementLayers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cni bool `protobuf:"varint,1,opt,name=cni,proto3" json:"cni,omitempty"` + Mesh bool `protobuf:"varint,2,opt,name=mesh,proto3" json:"mesh,omitempty"` +} + +func (x *EnforcementLayers) Reset() { + *x = EnforcementLayers{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnforcementLayers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnforcementLayers) ProtoMessage() {} + +func (x *EnforcementLayers) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnforcementLayers.ProtoReflect.Descriptor instead. +func (*EnforcementLayers) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_rawDescGZIP(), []int{0} +} + +func (x *EnforcementLayers) GetCni() bool { + if x != nil { + return x.Cni + } + return false +} + +func (x *EnforcementLayers) GetMesh() bool { + if x != nil { + return x.Mesh + } + return false +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_rawDesc = []byte{ + 0x0a, 0x5b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x11, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, + 0x6e, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x63, 0x6e, 0x69, 0x12, 0x12, 0x0a, + 0x04, 0x6d, 0x65, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6d, 0x65, 0x73, + 0x68, 0x42, 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xd0, + 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_goTypes = []interface{}{ + (*EnforcementLayers)(nil), // 0: common.gloo.solo.io.EnforcementLayers +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnforcementLayers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_enforcement_layers_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/enforcement_layers.pb.hash.go b/client-go/common.gloo.solo.io/v2/enforcement_layers.pb.hash.go new file mode 100644 index 000000000..f04f29948 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/enforcement_layers.pb.hash.go @@ -0,0 +1,52 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/enforcement_layers.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *EnforcementLayers) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.EnforcementLayers")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetCni()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMesh()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/http_matchers.pb.clone.go b/client-go/common.gloo.solo.io/v2/http_matchers.pb.clone.go new file mode 100644 index 000000000..e0e228a92 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/http_matchers.pb.clone.go @@ -0,0 +1,126 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/http_matchers.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *HTTPRequestMatcher) Clone() proto.Message { + var target *HTTPRequestMatcher + if m == nil { + return target + } + target = &HTTPRequestMatcher{} + + target.Name = m.GetName() + + if h, ok := interface{}(m.GetUri()).(clone.Cloner); ok { + target.Uri = h.Clone().(*StringMatch) + } else { + target.Uri = proto.Clone(m.GetUri()).(*StringMatch) + } + + if m.GetHeaders() != nil { + target.Headers = make([]*HeaderMatcher, len(m.GetHeaders())) + for idx, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Headers[idx] = h.Clone().(*HeaderMatcher) + } else { + target.Headers[idx] = proto.Clone(v).(*HeaderMatcher) + } + + } + } + + if m.GetQueryParameters() != nil { + target.QueryParameters = make([]*HTTPRequestMatcher_QueryParameterMatcher, len(m.GetQueryParameters())) + for idx, v := range m.GetQueryParameters() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.QueryParameters[idx] = h.Clone().(*HTTPRequestMatcher_QueryParameterMatcher) + } else { + target.QueryParameters[idx] = proto.Clone(v).(*HTTPRequestMatcher_QueryParameterMatcher) + } + + } + } + + target.Method = m.GetMethod() + + target.Port = m.GetPort() + + return target +} + +// Clone function +func (m *HeaderMatcher) Clone() proto.Message { + var target *HeaderMatcher + if m == nil { + return target + } + target = &HeaderMatcher{} + + target.Name = m.GetName() + + target.Value = m.GetValue() + + target.Regex = m.GetRegex() + + target.InvertMatch = m.GetInvertMatch() + + return target +} + +// Clone function +func (m *StatusCodeMatcher) Clone() proto.Message { + var target *StatusCodeMatcher + if m == nil { + return target + } + target = &StatusCodeMatcher{} + + target.Value = m.GetValue() + + target.Comparator = m.GetComparator() + + return target +} + +// Clone function +func (m *HTTPRequestMatcher_QueryParameterMatcher) Clone() proto.Message { + var target *HTTPRequestMatcher_QueryParameterMatcher + if m == nil { + return target + } + target = &HTTPRequestMatcher_QueryParameterMatcher{} + + target.Name = m.GetName() + + target.Value = m.GetValue() + + target.Regex = m.GetRegex() + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/http_matchers.pb.equal.go b/client-go/common.gloo.solo.io/v2/http_matchers.pb.equal.go new file mode 100644 index 000000000..511524542 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/http_matchers.pb.equal.go @@ -0,0 +1,214 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/http_matchers.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *HTTPRequestMatcher) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HTTPRequestMatcher) + if !ok { + that2, ok := that.(HTTPRequestMatcher) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetUri()).(equality.Equalizer); ok { + if !h.Equal(target.GetUri()) { + return false + } + } else { + if !proto.Equal(m.GetUri(), target.GetUri()) { + return false + } + } + + if len(m.GetHeaders()) != len(target.GetHeaders()) { + return false + } + for idx, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetHeaders()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetHeaders()[idx]) { + return false + } + } + + } + + if len(m.GetQueryParameters()) != len(target.GetQueryParameters()) { + return false + } + for idx, v := range m.GetQueryParameters() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetQueryParameters()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetQueryParameters()[idx]) { + return false + } + } + + } + + if strings.Compare(m.GetMethod(), target.GetMethod()) != 0 { + return false + } + + if m.GetPort() != target.GetPort() { + return false + } + + return true +} + +// Equal function +func (m *HeaderMatcher) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HeaderMatcher) + if !ok { + that2, ok := that.(HeaderMatcher) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + if m.GetRegex() != target.GetRegex() { + return false + } + + if m.GetInvertMatch() != target.GetInvertMatch() { + return false + } + + return true +} + +// Equal function +func (m *StatusCodeMatcher) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*StatusCodeMatcher) + if !ok { + that2, ok := that.(StatusCodeMatcher) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetValue() != target.GetValue() { + return false + } + + if m.GetComparator() != target.GetComparator() { + return false + } + + return true +} + +// Equal function +func (m *HTTPRequestMatcher_QueryParameterMatcher) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HTTPRequestMatcher_QueryParameterMatcher) + if !ok { + that2, ok := that.(HTTPRequestMatcher_QueryParameterMatcher) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + if m.GetRegex() != target.GetRegex() { + return false + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/http_matchers.pb.go b/client-go/common.gloo.solo.io/v2/http_matchers.pb.go new file mode 100644 index 000000000..a51d99ecb --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/http_matchers.pb.go @@ -0,0 +1,557 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/http_matchers.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type StatusCodeMatcher_Comparator int32 + +const ( + // Strict equality. + StatusCodeMatcher_EQ StatusCodeMatcher_Comparator = 0 + // Greater than or equal to. + StatusCodeMatcher_GE StatusCodeMatcher_Comparator = 1 + // Less than or equal to. + StatusCodeMatcher_LE StatusCodeMatcher_Comparator = 2 +) + +// Enum value maps for StatusCodeMatcher_Comparator. +var ( + StatusCodeMatcher_Comparator_name = map[int32]string{ + 0: "EQ", + 1: "GE", + 2: "LE", + } + StatusCodeMatcher_Comparator_value = map[string]int32{ + "EQ": 0, + "GE": 1, + "LE": 2, + } +) + +func (x StatusCodeMatcher_Comparator) Enum() *StatusCodeMatcher_Comparator { + p := new(StatusCodeMatcher_Comparator) + *p = x + return p +} + +func (x StatusCodeMatcher_Comparator) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StatusCodeMatcher_Comparator) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_enumTypes[0].Descriptor() +} + +func (StatusCodeMatcher_Comparator) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_enumTypes[0] +} + +func (x StatusCodeMatcher_Comparator) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StatusCodeMatcher_Comparator.Descriptor instead. +func (StatusCodeMatcher_Comparator) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDescGZIP(), []int{2, 0} +} + +// Specify HTTP request level match criteria. All specified conditions must be satisfied for a match to occur. +type HTTPRequestMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // UNSUPPORTED: Name matching is currently unsupported. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional: Specify match criteria against the targeted path. + Uri *StringMatch `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // Optional: Specify a set of headers which requests must match in entirety (all headers must match). + Headers []*HeaderMatcher `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty"` + // Optional: Specify a set of URL query parameters which requests must match in entirety (all query params must match). + QueryParameters []*HTTPRequestMatcher_QueryParameterMatcher `protobuf:"bytes,6,rep,name=query_parameters,json=queryParameters,proto3" json:"query_parameters,omitempty"` + // Optional: Specify an HTTP method to match against. + Method string `protobuf:"bytes,7,opt,name=method,proto3" json:"method,omitempty"` + // Optional: Specifies ports on the host to match against. + Port uint32 `protobuf:"varint,8,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *HTTPRequestMatcher) Reset() { + *x = HTTPRequestMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HTTPRequestMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HTTPRequestMatcher) ProtoMessage() {} + +func (x *HTTPRequestMatcher) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HTTPRequestMatcher.ProtoReflect.Descriptor instead. +func (*HTTPRequestMatcher) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDescGZIP(), []int{0} +} + +func (x *HTTPRequestMatcher) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *HTTPRequestMatcher) GetUri() *StringMatch { + if x != nil { + return x.Uri + } + return nil +} + +func (x *HTTPRequestMatcher) GetHeaders() []*HeaderMatcher { + if x != nil { + return x.Headers + } + return nil +} + +func (x *HTTPRequestMatcher) GetQueryParameters() []*HTTPRequestMatcher_QueryParameterMatcher { + if x != nil { + return x.QueryParameters + } + return nil +} + +func (x *HTTPRequestMatcher) GetMethod() string { + if x != nil { + return x.Method + } + return "" +} + +func (x *HTTPRequestMatcher) GetPort() uint32 { + if x != nil { + return x.Port + } + return 0 +} + +// Describes a matcher against HTTP request headers. +type HeaderMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specify the name of the header in the request. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Specify the value of the header. If the value is absent a request that + // has the name header will match, regardless of the header’s value. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + // Specify whether the header value should be treated as regex. + Regex bool `protobuf:"varint,3,opt,name=regex,proto3" json:"regex,omitempty"` + // If set to true, the result of the match will be inverted. Defaults to false. + // + // Examples: + // + // - name=foo, invert_match=true: matches if no header named `foo` is present + // - name=foo, value=bar, invert_match=true: matches if no header named `foo` with value `bar` is present + // - name=foo, value=“\d{3}“, regex=true, invert_match=true: matches if no header named `foo` with a value consisting of three integers is present. + InvertMatch bool `protobuf:"varint,4,opt,name=invert_match,json=invertMatch,proto3" json:"invert_match,omitempty"` +} + +func (x *HeaderMatcher) Reset() { + *x = HeaderMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HeaderMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HeaderMatcher) ProtoMessage() {} + +func (x *HeaderMatcher) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HeaderMatcher.ProtoReflect.Descriptor instead. +func (*HeaderMatcher) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDescGZIP(), []int{1} +} + +func (x *HeaderMatcher) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *HeaderMatcher) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *HeaderMatcher) GetRegex() bool { + if x != nil { + return x.Regex + } + return false +} + +func (x *HeaderMatcher) GetInvertMatch() bool { + if x != nil { + return x.InvertMatch + } + return false +} + +// Describes a matcher against HTTP response status codes. +type StatusCodeMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status code value to match against. + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + // The comparison type used for matching. + Comparator StatusCodeMatcher_Comparator `protobuf:"varint,2,opt,name=comparator,proto3,enum=common.gloo.solo.io.StatusCodeMatcher_Comparator" json:"comparator,omitempty"` +} + +func (x *StatusCodeMatcher) Reset() { + *x = StatusCodeMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatusCodeMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatusCodeMatcher) ProtoMessage() {} + +func (x *StatusCodeMatcher) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatusCodeMatcher.ProtoReflect.Descriptor instead. +func (*StatusCodeMatcher) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDescGZIP(), []int{2} +} + +func (x *StatusCodeMatcher) GetValue() uint32 { + if x != nil { + return x.Value + } + return 0 +} + +func (x *StatusCodeMatcher) GetComparator() StatusCodeMatcher_Comparator { + if x != nil { + return x.Comparator + } + return StatusCodeMatcher_EQ +} + +// Specify match criteria against the target URL's query parameters. +type HTTPRequestMatcher_QueryParameterMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specify the name of a key that must be present in the requested path's query string. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Specify the value of the query parameter keyed on `name`. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + // If true, treat `value` as a regular expression. + Regex bool `protobuf:"varint,3,opt,name=regex,proto3" json:"regex,omitempty"` +} + +func (x *HTTPRequestMatcher_QueryParameterMatcher) Reset() { + *x = HTTPRequestMatcher_QueryParameterMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HTTPRequestMatcher_QueryParameterMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HTTPRequestMatcher_QueryParameterMatcher) ProtoMessage() {} + +func (x *HTTPRequestMatcher_QueryParameterMatcher) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HTTPRequestMatcher_QueryParameterMatcher.ProtoReflect.Descriptor instead. +func (*HTTPRequestMatcher_QueryParameterMatcher) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *HTTPRequestMatcher_QueryParameterMatcher) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *HTTPRequestMatcher_QueryParameterMatcher) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *HTTPRequestMatcher_QueryParameterMatcher) GetRegex() bool { + if x != nil { + return x.Regex + } + return false +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDesc = []byte{ + 0x0a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, + 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x03, 0x0a, 0x12, 0x48, 0x54, 0x54, + 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x3c, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x68, 0x0a, 0x10, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x57, 0x0a, 0x15, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, + 0x65, 0x67, 0x65, 0x78, 0x22, 0x72, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x51, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x24, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x00, 0x12, 0x06, 0x0a, + 0x02, 0x47, 0x45, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x45, 0x10, 0x02, 0x42, 0x54, 0x5a, + 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, + 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_goTypes = []interface{}{ + (StatusCodeMatcher_Comparator)(0), // 0: common.gloo.solo.io.StatusCodeMatcher.Comparator + (*HTTPRequestMatcher)(nil), // 1: common.gloo.solo.io.HTTPRequestMatcher + (*HeaderMatcher)(nil), // 2: common.gloo.solo.io.HeaderMatcher + (*StatusCodeMatcher)(nil), // 3: common.gloo.solo.io.StatusCodeMatcher + (*HTTPRequestMatcher_QueryParameterMatcher)(nil), // 4: common.gloo.solo.io.HTTPRequestMatcher.QueryParameterMatcher + (*StringMatch)(nil), // 5: common.gloo.solo.io.StringMatch +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_depIdxs = []int32{ + 5, // 0: common.gloo.solo.io.HTTPRequestMatcher.uri:type_name -> common.gloo.solo.io.StringMatch + 2, // 1: common.gloo.solo.io.HTTPRequestMatcher.headers:type_name -> common.gloo.solo.io.HeaderMatcher + 4, // 2: common.gloo.solo.io.HTTPRequestMatcher.query_parameters:type_name -> common.gloo.solo.io.HTTPRequestMatcher.QueryParameterMatcher + 0, // 3: common.gloo.solo.io.StatusCodeMatcher.comparator:type_name -> common.gloo.solo.io.StatusCodeMatcher.Comparator + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto != nil { + return + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_init() + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HTTPRequestMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HeaderMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatusCodeMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HTTPRequestMatcher_QueryParameterMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDesc, + NumEnums: 1, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_http_matchers_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/http_matchers.pb.hash.go b/client-go/common.gloo.solo.io/v2/http_matchers.pb.hash.go new file mode 100644 index 000000000..c83f27375 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/http_matchers.pb.hash.go @@ -0,0 +1,212 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/http_matchers.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *HTTPRequestMatcher) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.HTTPRequestMatcher")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetUri()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Uri")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetUri(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Uri")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetQueryParameters() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if _, err = hasher.Write([]byte(m.GetMethod())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPort()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HeaderMatcher) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.HeaderMatcher")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRegex()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetInvertMatch()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *StatusCodeMatcher) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.StatusCodeMatcher")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetValue()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetComparator()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HTTPRequestMatcher_QueryParameterMatcher) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.HTTPRequestMatcher_QueryParameterMatcher")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRegex()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/istio_operator.pb.equal.go b/client-go/common.gloo.solo.io/v2/istio_operator.pb.equal.go new file mode 100644 index 000000000..c4e579932 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/istio_operator.pb.equal.go @@ -0,0 +1,3721 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/istio_operator.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *IstioOperatorSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IstioOperatorSpec) + if !ok { + that2, ok := that.(IstioOperatorSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetProfile(), target.GetProfile()) != 0 { + return false + } + + if strings.Compare(m.GetInstallPackagePath(), target.GetInstallPackagePath()) != 0 { + return false + } + + if strings.Compare(m.GetHub(), target.GetHub()) != 0 { + return false + } + + if strings.Compare(m.GetTag(), target.GetTag()) != 0 { + return false + } + + if strings.Compare(m.GetResourceSuffix(), target.GetResourceSuffix()) != 0 { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetRevision(), target.GetRevision()) != 0 { + return false + } + + if m.GetDefaultRevision() != target.GetDefaultRevision() { + return false + } + + if h, ok := interface{}(m.GetMeshConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetMeshConfig()) { + return false + } + } else { + if !proto.Equal(m.GetMeshConfig(), target.GetMeshConfig()) { + return false + } + } + + if h, ok := interface{}(m.GetComponents()).(equality.Equalizer); ok { + if !h.Equal(target.GetComponents()) { + return false + } + } else { + if !proto.Equal(m.GetComponents(), target.GetComponents()) { + return false + } + } + + if len(m.GetAddonComponents()) != len(target.GetAddonComponents()) { + return false + } + for k, v := range m.GetAddonComponents() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAddonComponents()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetAddonComponents()[k]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetValues()).(equality.Equalizer); ok { + if !h.Equal(target.GetValues()) { + return false + } + } else { + if !proto.Equal(m.GetValues(), target.GetValues()) { + return false + } + } + + if h, ok := interface{}(m.GetUnvalidatedValues()).(equality.Equalizer); ok { + if !h.Equal(target.GetUnvalidatedValues()) { + return false + } + } else { + if !proto.Equal(m.GetUnvalidatedValues(), target.GetUnvalidatedValues()) { + return false + } + } + + return true +} + +// Equal function +func (m *InstallStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*InstallStatus) + if !ok { + that2, ok := that.(InstallStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetStatus() != target.GetStatus() { + return false + } + + if strings.Compare(m.GetMessage(), target.GetMessage()) != 0 { + return false + } + + if len(m.GetComponentStatus()) != len(target.GetComponentStatus()) { + return false + } + for k, v := range m.GetComponentStatus() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetComponentStatus()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetComponentStatus()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *IstioComponentSetSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IstioComponentSetSpec) + if !ok { + that2, ok := that.(IstioComponentSetSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetBase()).(equality.Equalizer); ok { + if !h.Equal(target.GetBase()) { + return false + } + } else { + if !proto.Equal(m.GetBase(), target.GetBase()) { + return false + } + } + + if h, ok := interface{}(m.GetPilot()).(equality.Equalizer); ok { + if !h.Equal(target.GetPilot()) { + return false + } + } else { + if !proto.Equal(m.GetPilot(), target.GetPilot()) { + return false + } + } + + if h, ok := interface{}(m.GetCni()).(equality.Equalizer); ok { + if !h.Equal(target.GetCni()) { + return false + } + } else { + if !proto.Equal(m.GetCni(), target.GetCni()) { + return false + } + } + + if h, ok := interface{}(m.GetIstiodRemote()).(equality.Equalizer); ok { + if !h.Equal(target.GetIstiodRemote()) { + return false + } + } else { + if !proto.Equal(m.GetIstiodRemote(), target.GetIstiodRemote()) { + return false + } + } + + if len(m.GetIngressGateways()) != len(target.GetIngressGateways()) { + return false + } + for idx, v := range m.GetIngressGateways() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetIngressGateways()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetIngressGateways()[idx]) { + return false + } + } + + } + + if len(m.GetEgressGateways()) != len(target.GetEgressGateways()) { + return false + } + for idx, v := range m.GetEgressGateways() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetEgressGateways()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetEgressGateways()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *BaseComponentSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*BaseComponentSpec) + if !ok { + that2, ok := that.(BaseComponentSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetEnabled()).(equality.Equalizer); ok { + if !h.Equal(target.GetEnabled()) { + return false + } + } else { + if !proto.Equal(m.GetEnabled(), target.GetEnabled()) { + return false + } + } + + if h, ok := interface{}(m.GetK8S()).(equality.Equalizer); ok { + if !h.Equal(target.GetK8S()) { + return false + } + } else { + if !proto.Equal(m.GetK8S(), target.GetK8S()) { + return false + } + } + + return true +} + +// Equal function +func (m *ComponentSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ComponentSpec) + if !ok { + that2, ok := that.(ComponentSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetEnabled()).(equality.Equalizer); ok { + if !h.Equal(target.GetEnabled()) { + return false + } + } else { + if !proto.Equal(m.GetEnabled(), target.GetEnabled()) { + return false + } + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetHub(), target.GetHub()) != 0 { + return false + } + + if strings.Compare(m.GetTag(), target.GetTag()) != 0 { + return false + } + + if h, ok := interface{}(m.GetSpec()).(equality.Equalizer); ok { + if !h.Equal(target.GetSpec()) { + return false + } + } else { + if !proto.Equal(m.GetSpec(), target.GetSpec()) { + return false + } + } + + if h, ok := interface{}(m.GetK8S()).(equality.Equalizer); ok { + if !h.Equal(target.GetK8S()) { + return false + } + } else { + if !proto.Equal(m.GetK8S(), target.GetK8S()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExternalComponentSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalComponentSpec) + if !ok { + that2, ok := that.(ExternalComponentSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetEnabled()).(equality.Equalizer); ok { + if !h.Equal(target.GetEnabled()) { + return false + } + } else { + if !proto.Equal(m.GetEnabled(), target.GetEnabled()) { + return false + } + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if h, ok := interface{}(m.GetSpec()).(equality.Equalizer); ok { + if !h.Equal(target.GetSpec()) { + return false + } + } else { + if !proto.Equal(m.GetSpec(), target.GetSpec()) { + return false + } + } + + if strings.Compare(m.GetChartPath(), target.GetChartPath()) != 0 { + return false + } + + if h, ok := interface{}(m.GetSchema()).(equality.Equalizer); ok { + if !h.Equal(target.GetSchema()) { + return false + } + } else { + if !proto.Equal(m.GetSchema(), target.GetSchema()) { + return false + } + } + + if h, ok := interface{}(m.GetK8S()).(equality.Equalizer); ok { + if !h.Equal(target.GetK8S()) { + return false + } + } else { + if !proto.Equal(m.GetK8S(), target.GetK8S()) { + return false + } + } + + return true +} + +// Equal function +func (m *GatewaySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GatewaySpec) + if !ok { + that2, ok := that.(GatewaySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetEnabled()).(equality.Equalizer); ok { + if !h.Equal(target.GetEnabled()) { + return false + } + } else { + if !proto.Equal(m.GetEnabled(), target.GetEnabled()) { + return false + } + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if len(m.GetLabel()) != len(target.GetLabel()) { + return false + } + for k, v := range m.GetLabel() { + + if strings.Compare(v, target.GetLabel()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetHub(), target.GetHub()) != 0 { + return false + } + + if strings.Compare(m.GetTag(), target.GetTag()) != 0 { + return false + } + + if h, ok := interface{}(m.GetK8S()).(equality.Equalizer); ok { + if !h.Equal(target.GetK8S()) { + return false + } + } else { + if !proto.Equal(m.GetK8S(), target.GetK8S()) { + return false + } + } + + return true +} + +// Equal function +func (m *KubernetesResourcesSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*KubernetesResourcesSpec) + if !ok { + that2, ok := that.(KubernetesResourcesSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetAffinity()).(equality.Equalizer); ok { + if !h.Equal(target.GetAffinity()) { + return false + } + } else { + if !proto.Equal(m.GetAffinity(), target.GetAffinity()) { + return false + } + } + + if len(m.GetEnv()) != len(target.GetEnv()) { + return false + } + for idx, v := range m.GetEnv() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetEnv()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetEnv()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetHpaSpec()).(equality.Equalizer); ok { + if !h.Equal(target.GetHpaSpec()) { + return false + } + } else { + if !proto.Equal(m.GetHpaSpec(), target.GetHpaSpec()) { + return false + } + } + + if strings.Compare(m.GetImagePullPolicy(), target.GetImagePullPolicy()) != 0 { + return false + } + + if len(m.GetNodeSelector()) != len(target.GetNodeSelector()) { + return false + } + for k, v := range m.GetNodeSelector() { + + if strings.Compare(v, target.GetNodeSelector()[k]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetPodDisruptionBudget()).(equality.Equalizer); ok { + if !h.Equal(target.GetPodDisruptionBudget()) { + return false + } + } else { + if !proto.Equal(m.GetPodDisruptionBudget(), target.GetPodDisruptionBudget()) { + return false + } + } + + if len(m.GetPodAnnotations()) != len(target.GetPodAnnotations()) { + return false + } + for k, v := range m.GetPodAnnotations() { + + if strings.Compare(v, target.GetPodAnnotations()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetPriorityClassName(), target.GetPriorityClassName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetReadinessProbe()).(equality.Equalizer); ok { + if !h.Equal(target.GetReadinessProbe()) { + return false + } + } else { + if !proto.Equal(m.GetReadinessProbe(), target.GetReadinessProbe()) { + return false + } + } + + if m.GetReplicaCount() != target.GetReplicaCount() { + return false + } + + if h, ok := interface{}(m.GetResources()).(equality.Equalizer); ok { + if !h.Equal(target.GetResources()) { + return false + } + } else { + if !proto.Equal(m.GetResources(), target.GetResources()) { + return false + } + } + + if h, ok := interface{}(m.GetService()).(equality.Equalizer); ok { + if !h.Equal(target.GetService()) { + return false + } + } else { + if !proto.Equal(m.GetService(), target.GetService()) { + return false + } + } + + if h, ok := interface{}(m.GetStrategy()).(equality.Equalizer); ok { + if !h.Equal(target.GetStrategy()) { + return false + } + } else { + if !proto.Equal(m.GetStrategy(), target.GetStrategy()) { + return false + } + } + + if len(m.GetTolerations()) != len(target.GetTolerations()) { + return false + } + for idx, v := range m.GetTolerations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetTolerations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetTolerations()[idx]) { + return false + } + } + + } + + if len(m.GetServiceAnnotations()) != len(target.GetServiceAnnotations()) { + return false + } + for k, v := range m.GetServiceAnnotations() { + + if strings.Compare(v, target.GetServiceAnnotations()[k]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetSecurityContext()).(equality.Equalizer); ok { + if !h.Equal(target.GetSecurityContext()) { + return false + } + } else { + if !proto.Equal(m.GetSecurityContext(), target.GetSecurityContext()) { + return false + } + } + + if len(m.GetVolumes()) != len(target.GetVolumes()) { + return false + } + for idx, v := range m.GetVolumes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetVolumes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetVolumes()[idx]) { + return false + } + } + + } + + if len(m.GetVolumeMounts()) != len(target.GetVolumeMounts()) { + return false + } + for idx, v := range m.GetVolumeMounts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetVolumeMounts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetVolumeMounts()[idx]) { + return false + } + } + + } + + if len(m.GetOverlays()) != len(target.GetOverlays()) { + return false + } + for idx, v := range m.GetOverlays() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetOverlays()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetOverlays()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *K8SObjectOverlay) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*K8SObjectOverlay) + if !ok { + that2, ok := that.(K8SObjectOverlay) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetApiVersion(), target.GetApiVersion()) != 0 { + return false + } + + if strings.Compare(m.GetKind(), target.GetKind()) != 0 { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if len(m.GetPatches()) != len(target.GetPatches()) { + return false + } + for idx, v := range m.GetPatches() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPatches()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPatches()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *Affinity) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Affinity) + if !ok { + that2, ok := that.(Affinity) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetNodeAffinity()).(equality.Equalizer); ok { + if !h.Equal(target.GetNodeAffinity()) { + return false + } + } else { + if !proto.Equal(m.GetNodeAffinity(), target.GetNodeAffinity()) { + return false + } + } + + if h, ok := interface{}(m.GetPodAffinity()).(equality.Equalizer); ok { + if !h.Equal(target.GetPodAffinity()) { + return false + } + } else { + if !proto.Equal(m.GetPodAffinity(), target.GetPodAffinity()) { + return false + } + } + + if h, ok := interface{}(m.GetPodAntiAffinity()).(equality.Equalizer); ok { + if !h.Equal(target.GetPodAntiAffinity()) { + return false + } + } else { + if !proto.Equal(m.GetPodAntiAffinity(), target.GetPodAntiAffinity()) { + return false + } + } + + return true +} + +// Equal function +func (m *ConfigMapKeySelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ConfigMapKeySelector) + if !ok { + that2, ok := that.(ConfigMapKeySelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetLocalObjectReference()).(equality.Equalizer); ok { + if !h.Equal(target.GetLocalObjectReference()) { + return false + } + } else { + if !proto.Equal(m.GetLocalObjectReference(), target.GetLocalObjectReference()) { + return false + } + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + if m.GetOptional() != target.GetOptional() { + return false + } + + return true +} + +// Equal function +func (m *ContainerResourceMetricSource) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ContainerResourceMetricSource) + if !ok { + that2, ok := that.(ContainerResourceMetricSource) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetTarget()).(equality.Equalizer); ok { + if !h.Equal(target.GetTarget()) { + return false + } + } else { + if !proto.Equal(m.GetTarget(), target.GetTarget()) { + return false + } + } + + if strings.Compare(m.GetContainer(), target.GetContainer()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ContainerResourceMetricStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ContainerResourceMetricStatus) + if !ok { + that2, ok := that.(ContainerResourceMetricStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetCurrent()).(equality.Equalizer); ok { + if !h.Equal(target.GetCurrent()) { + return false + } + } else { + if !proto.Equal(m.GetCurrent(), target.GetCurrent()) { + return false + } + } + + if strings.Compare(m.GetContainer(), target.GetContainer()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ClientIPConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClientIPConfig) + if !ok { + that2, ok := that.(ClientIPConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetTimeoutSeconds() != target.GetTimeoutSeconds() { + return false + } + + return true +} + +// Equal function +func (m *CrossVersionObjectReference) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CrossVersionObjectReference) + if !ok { + that2, ok := that.(CrossVersionObjectReference) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetKind(), target.GetKind()) != 0 { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetApiVersion(), target.GetApiVersion()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *DeploymentStrategy) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DeploymentStrategy) + if !ok { + that2, ok := that.(DeploymentStrategy) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetType(), target.GetType()) != 0 { + return false + } + + if h, ok := interface{}(m.GetRollingUpdate()).(equality.Equalizer); ok { + if !h.Equal(target.GetRollingUpdate()) { + return false + } + } else { + if !proto.Equal(m.GetRollingUpdate(), target.GetRollingUpdate()) { + return false + } + } + + return true +} + +// Equal function +func (m *EnvVar) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*EnvVar) + if !ok { + that2, ok := that.(EnvVar) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + if h, ok := interface{}(m.GetValueFrom()).(equality.Equalizer); ok { + if !h.Equal(target.GetValueFrom()) { + return false + } + } else { + if !proto.Equal(m.GetValueFrom(), target.GetValueFrom()) { + return false + } + } + + return true +} + +// Equal function +func (m *EnvVarSource) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*EnvVarSource) + if !ok { + that2, ok := that.(EnvVarSource) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetFieldRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetFieldRef()) { + return false + } + } else { + if !proto.Equal(m.GetFieldRef(), target.GetFieldRef()) { + return false + } + } + + if h, ok := interface{}(m.GetResourceFieldRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetResourceFieldRef()) { + return false + } + } else { + if !proto.Equal(m.GetResourceFieldRef(), target.GetResourceFieldRef()) { + return false + } + } + + if h, ok := interface{}(m.GetConfigMapKeyRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfigMapKeyRef()) { + return false + } + } else { + if !proto.Equal(m.GetConfigMapKeyRef(), target.GetConfigMapKeyRef()) { + return false + } + } + + if h, ok := interface{}(m.GetSecretKeyRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetSecretKeyRef()) { + return false + } + } else { + if !proto.Equal(m.GetSecretKeyRef(), target.GetSecretKeyRef()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExecAction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExecAction) + if !ok { + that2, ok := that.(ExecAction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetCommand()) != len(target.GetCommand()) { + return false + } + for idx, v := range m.GetCommand() { + + if strings.Compare(v, target.GetCommand()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ExternalMetricSource) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalMetricSource) + if !ok { + that2, ok := that.(ExternalMetricSource) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetMetricName(), target.GetMetricName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetMetricSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetMetricSelector()) { + return false + } + } else { + if !proto.Equal(m.GetMetricSelector(), target.GetMetricSelector()) { + return false + } + } + + if h, ok := interface{}(m.GetTargetValue()).(equality.Equalizer); ok { + if !h.Equal(target.GetTargetValue()) { + return false + } + } else { + if !proto.Equal(m.GetTargetValue(), target.GetTargetValue()) { + return false + } + } + + if h, ok := interface{}(m.GetTargetAverageValue()).(equality.Equalizer); ok { + if !h.Equal(target.GetTargetAverageValue()) { + return false + } + } else { + if !proto.Equal(m.GetTargetAverageValue(), target.GetTargetAverageValue()) { + return false + } + } + + if h, ok := interface{}(m.GetMetric()).(equality.Equalizer); ok { + if !h.Equal(target.GetMetric()) { + return false + } + } else { + if !proto.Equal(m.GetMetric(), target.GetMetric()) { + return false + } + } + + if h, ok := interface{}(m.GetTarget()).(equality.Equalizer); ok { + if !h.Equal(target.GetTarget()) { + return false + } + } else { + if !proto.Equal(m.GetTarget(), target.GetTarget()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExternalMetricStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalMetricStatus) + if !ok { + that2, ok := that.(ExternalMetricStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetMetric()).(equality.Equalizer); ok { + if !h.Equal(target.GetMetric()) { + return false + } + } else { + if !proto.Equal(m.GetMetric(), target.GetMetric()) { + return false + } + } + + if h, ok := interface{}(m.GetCurrent()).(equality.Equalizer); ok { + if !h.Equal(target.GetCurrent()) { + return false + } + } else { + if !proto.Equal(m.GetCurrent(), target.GetCurrent()) { + return false + } + } + + return true +} + +// Equal function +func (m *HTTPGetAction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HTTPGetAction) + if !ok { + that2, ok := that.(HTTPGetAction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetPath(), target.GetPath()) != 0 { + return false + } + + if h, ok := interface{}(m.GetPort()).(equality.Equalizer); ok { + if !h.Equal(target.GetPort()) { + return false + } + } else { + if !proto.Equal(m.GetPort(), target.GetPort()) { + return false + } + } + + if strings.Compare(m.GetHost(), target.GetHost()) != 0 { + return false + } + + if strings.Compare(m.GetScheme(), target.GetScheme()) != 0 { + return false + } + + if len(m.GetHttpHeaders()) != len(target.GetHttpHeaders()) { + return false + } + for idx, v := range m.GetHttpHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetHttpHeaders()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetHttpHeaders()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *HTTPHeader) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HTTPHeader) + if !ok { + that2, ok := that.(HTTPHeader) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *HorizontalPodAutoscalerSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HorizontalPodAutoscalerSpec) + if !ok { + that2, ok := that.(HorizontalPodAutoscalerSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetScaleTargetRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetScaleTargetRef()) { + return false + } + } else { + if !proto.Equal(m.GetScaleTargetRef(), target.GetScaleTargetRef()) { + return false + } + } + + if m.GetMinReplicas() != target.GetMinReplicas() { + return false + } + + if m.GetMaxReplicas() != target.GetMaxReplicas() { + return false + } + + if len(m.GetMetrics()) != len(target.GetMetrics()) { + return false + } + for idx, v := range m.GetMetrics() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetMetrics()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetMetrics()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetBehavior()).(equality.Equalizer); ok { + if !h.Equal(target.GetBehavior()) { + return false + } + } else { + if !proto.Equal(m.GetBehavior(), target.GetBehavior()) { + return false + } + } + + return true +} + +// Equal function +func (m *HorizontalPodAutoScalerBehavior) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HorizontalPodAutoScalerBehavior) + if !ok { + that2, ok := that.(HorizontalPodAutoScalerBehavior) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetScaleUp()).(equality.Equalizer); ok { + if !h.Equal(target.GetScaleUp()) { + return false + } + } else { + if !proto.Equal(m.GetScaleUp(), target.GetScaleUp()) { + return false + } + } + + if h, ok := interface{}(m.GetScaleDown()).(equality.Equalizer); ok { + if !h.Equal(target.GetScaleDown()) { + return false + } + } else { + if !proto.Equal(m.GetScaleDown(), target.GetScaleDown()) { + return false + } + } + + return true +} + +// Equal function +func (m *HPAScalingRules) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HPAScalingRules) + if !ok { + that2, ok := that.(HPAScalingRules) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetStabilizationWindowSeconds() != target.GetStabilizationWindowSeconds() { + return false + } + + if strings.Compare(m.GetSelectPolicy(), target.GetSelectPolicy()) != 0 { + return false + } + + if h, ok := interface{}(m.GetPolicies()).(equality.Equalizer); ok { + if !h.Equal(target.GetPolicies()) { + return false + } + } else { + if !proto.Equal(m.GetPolicies(), target.GetPolicies()) { + return false + } + } + + return true +} + +// Equal function +func (m *HPAScalingPolicy) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HPAScalingPolicy) + if !ok { + that2, ok := that.(HPAScalingPolicy) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetType(), target.GetType()) != 0 { + return false + } + + if m.GetValue() != target.GetValue() { + return false + } + + if m.GetPeriodSeconds() != target.GetPeriodSeconds() { + return false + } + + return true +} + +// Equal function +func (m *LocalObjectReference) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*LocalObjectReference) + if !ok { + that2, ok := that.(LocalObjectReference) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *MetricIdentifier) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MetricIdentifier) + if !ok { + that2, ok := that.(MetricIdentifier) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetSelector()) { + return false + } + } else { + if !proto.Equal(m.GetSelector(), target.GetSelector()) { + return false + } + } + + return true +} + +// Equal function +func (m *MetricSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MetricSpec) + if !ok { + that2, ok := that.(MetricSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetType(), target.GetType()) != 0 { + return false + } + + if h, ok := interface{}(m.GetObject()).(equality.Equalizer); ok { + if !h.Equal(target.GetObject()) { + return false + } + } else { + if !proto.Equal(m.GetObject(), target.GetObject()) { + return false + } + } + + if h, ok := interface{}(m.GetPods()).(equality.Equalizer); ok { + if !h.Equal(target.GetPods()) { + return false + } + } else { + if !proto.Equal(m.GetPods(), target.GetPods()) { + return false + } + } + + if h, ok := interface{}(m.GetResource()).(equality.Equalizer); ok { + if !h.Equal(target.GetResource()) { + return false + } + } else { + if !proto.Equal(m.GetResource(), target.GetResource()) { + return false + } + } + + if h, ok := interface{}(m.GetContainerResource()).(equality.Equalizer); ok { + if !h.Equal(target.GetContainerResource()) { + return false + } + } else { + if !proto.Equal(m.GetContainerResource(), target.GetContainerResource()) { + return false + } + } + + if h, ok := interface{}(m.GetExternal()).(equality.Equalizer); ok { + if !h.Equal(target.GetExternal()) { + return false + } + } else { + if !proto.Equal(m.GetExternal(), target.GetExternal()) { + return false + } + } + + return true +} + +// Equal function +func (m *MetricStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MetricStatus) + if !ok { + that2, ok := that.(MetricStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetType(), target.GetType()) != 0 { + return false + } + + if h, ok := interface{}(m.GetObject()).(equality.Equalizer); ok { + if !h.Equal(target.GetObject()) { + return false + } + } else { + if !proto.Equal(m.GetObject(), target.GetObject()) { + return false + } + } + + if h, ok := interface{}(m.GetPods()).(equality.Equalizer); ok { + if !h.Equal(target.GetPods()) { + return false + } + } else { + if !proto.Equal(m.GetPods(), target.GetPods()) { + return false + } + } + + if h, ok := interface{}(m.GetResource()).(equality.Equalizer); ok { + if !h.Equal(target.GetResource()) { + return false + } + } else { + if !proto.Equal(m.GetResource(), target.GetResource()) { + return false + } + } + + if h, ok := interface{}(m.GetContainerResource()).(equality.Equalizer); ok { + if !h.Equal(target.GetContainerResource()) { + return false + } + } else { + if !proto.Equal(m.GetContainerResource(), target.GetContainerResource()) { + return false + } + } + + if h, ok := interface{}(m.GetExternal()).(equality.Equalizer); ok { + if !h.Equal(target.GetExternal()) { + return false + } + } else { + if !proto.Equal(m.GetExternal(), target.GetExternal()) { + return false + } + } + + return true +} + +// Equal function +func (m *MetricTarget) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MetricTarget) + if !ok { + that2, ok := that.(MetricTarget) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetType(), target.GetType()) != 0 { + return false + } + + if h, ok := interface{}(m.GetValue()).(equality.Equalizer); ok { + if !h.Equal(target.GetValue()) { + return false + } + } else { + if !proto.Equal(m.GetValue(), target.GetValue()) { + return false + } + } + + if h, ok := interface{}(m.GetAverageValue()).(equality.Equalizer); ok { + if !h.Equal(target.GetAverageValue()) { + return false + } + } else { + if !proto.Equal(m.GetAverageValue(), target.GetAverageValue()) { + return false + } + } + + if m.GetAverageUtilization() != target.GetAverageUtilization() { + return false + } + + return true +} + +// Equal function +func (m *MetricValueStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MetricValueStatus) + if !ok { + that2, ok := that.(MetricValueStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetValue()).(equality.Equalizer); ok { + if !h.Equal(target.GetValue()) { + return false + } + } else { + if !proto.Equal(m.GetValue(), target.GetValue()) { + return false + } + } + + if h, ok := interface{}(m.GetAverageValue()).(equality.Equalizer); ok { + if !h.Equal(target.GetAverageValue()) { + return false + } + } else { + if !proto.Equal(m.GetAverageValue(), target.GetAverageValue()) { + return false + } + } + + if m.GetAverageUtilization() != target.GetAverageUtilization() { + return false + } + + return true +} + +// Equal function +func (m *NodeAffinity) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*NodeAffinity) + if !ok { + that2, ok := that.(NodeAffinity) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetRequiredDuringSchedulingIgnoredDuringExecution()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequiredDuringSchedulingIgnoredDuringExecution()) { + return false + } + } else { + if !proto.Equal(m.GetRequiredDuringSchedulingIgnoredDuringExecution(), target.GetRequiredDuringSchedulingIgnoredDuringExecution()) { + return false + } + } + + if len(m.GetPreferredDuringSchedulingIgnoredDuringExecution()) != len(target.GetPreferredDuringSchedulingIgnoredDuringExecution()) { + return false + } + for idx, v := range m.GetPreferredDuringSchedulingIgnoredDuringExecution() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPreferredDuringSchedulingIgnoredDuringExecution()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPreferredDuringSchedulingIgnoredDuringExecution()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *NodeSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*NodeSelector) + if !ok { + that2, ok := that.(NodeSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetNodeSelectorTerms()) != len(target.GetNodeSelectorTerms()) { + return false + } + for idx, v := range m.GetNodeSelectorTerms() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetNodeSelectorTerms()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetNodeSelectorTerms()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *NodeSelectorTerm) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*NodeSelectorTerm) + if !ok { + that2, ok := that.(NodeSelectorTerm) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetMatchExpressions()) != len(target.GetMatchExpressions()) { + return false + } + for idx, v := range m.GetMatchExpressions() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetMatchExpressions()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetMatchExpressions()[idx]) { + return false + } + } + + } + + if len(m.GetMatchFields()) != len(target.GetMatchFields()) { + return false + } + for idx, v := range m.GetMatchFields() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetMatchFields()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetMatchFields()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *NodeSelectorRequirement) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*NodeSelectorRequirement) + if !ok { + that2, ok := that.(NodeSelectorRequirement) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + if strings.Compare(m.GetOperator(), target.GetOperator()) != 0 { + return false + } + + if len(m.GetValues()) != len(target.GetValues()) { + return false + } + for idx, v := range m.GetValues() { + + if strings.Compare(v, target.GetValues()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ObjectFieldSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ObjectFieldSelector) + if !ok { + that2, ok := that.(ObjectFieldSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetApiVersion(), target.GetApiVersion()) != 0 { + return false + } + + if strings.Compare(m.GetFieldPath(), target.GetFieldPath()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ObjectMeta) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ObjectMeta) + if !ok { + that2, ok := that.(ObjectMeta) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ObjectMetricSource) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ObjectMetricSource) + if !ok { + that2, ok := that.(ObjectMetricSource) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetMetricName(), target.GetMetricName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetTargetValue()).(equality.Equalizer); ok { + if !h.Equal(target.GetTargetValue()) { + return false + } + } else { + if !proto.Equal(m.GetTargetValue(), target.GetTargetValue()) { + return false + } + } + + if h, ok := interface{}(m.GetSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetSelector()) { + return false + } + } else { + if !proto.Equal(m.GetSelector(), target.GetSelector()) { + return false + } + } + + if h, ok := interface{}(m.GetAverageValue()).(equality.Equalizer); ok { + if !h.Equal(target.GetAverageValue()) { + return false + } + } else { + if !proto.Equal(m.GetAverageValue(), target.GetAverageValue()) { + return false + } + } + + if h, ok := interface{}(m.GetTarget()).(equality.Equalizer); ok { + if !h.Equal(target.GetTarget()) { + return false + } + } else { + if !proto.Equal(m.GetTarget(), target.GetTarget()) { + return false + } + } + + if h, ok := interface{}(m.GetDescribedObject()).(equality.Equalizer); ok { + if !h.Equal(target.GetDescribedObject()) { + return false + } + } else { + if !proto.Equal(m.GetDescribedObject(), target.GetDescribedObject()) { + return false + } + } + + if h, ok := interface{}(m.GetMetric()).(equality.Equalizer); ok { + if !h.Equal(target.GetMetric()) { + return false + } + } else { + if !proto.Equal(m.GetMetric(), target.GetMetric()) { + return false + } + } + + return true +} + +// Equal function +func (m *ObjectMetricStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ObjectMetricStatus) + if !ok { + that2, ok := that.(ObjectMetricStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetMetric()).(equality.Equalizer); ok { + if !h.Equal(target.GetMetric()) { + return false + } + } else { + if !proto.Equal(m.GetMetric(), target.GetMetric()) { + return false + } + } + + if h, ok := interface{}(m.GetCurrent()).(equality.Equalizer); ok { + if !h.Equal(target.GetCurrent()) { + return false + } + } else { + if !proto.Equal(m.GetCurrent(), target.GetCurrent()) { + return false + } + } + + if h, ok := interface{}(m.GetDescribedObject()).(equality.Equalizer); ok { + if !h.Equal(target.GetDescribedObject()) { + return false + } + } else { + if !proto.Equal(m.GetDescribedObject(), target.GetDescribedObject()) { + return false + } + } + + return true +} + +// Equal function +func (m *PodAffinity) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PodAffinity) + if !ok { + that2, ok := that.(PodAffinity) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetRequiredDuringSchedulingIgnoredDuringExecution()) != len(target.GetRequiredDuringSchedulingIgnoredDuringExecution()) { + return false + } + for idx, v := range m.GetRequiredDuringSchedulingIgnoredDuringExecution() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetRequiredDuringSchedulingIgnoredDuringExecution()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetRequiredDuringSchedulingIgnoredDuringExecution()[idx]) { + return false + } + } + + } + + if len(m.GetPreferredDuringSchedulingIgnoredDuringExecution()) != len(target.GetPreferredDuringSchedulingIgnoredDuringExecution()) { + return false + } + for idx, v := range m.GetPreferredDuringSchedulingIgnoredDuringExecution() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPreferredDuringSchedulingIgnoredDuringExecution()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPreferredDuringSchedulingIgnoredDuringExecution()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *PodAntiAffinity) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PodAntiAffinity) + if !ok { + that2, ok := that.(PodAntiAffinity) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetRequiredDuringSchedulingIgnoredDuringExecution()) != len(target.GetRequiredDuringSchedulingIgnoredDuringExecution()) { + return false + } + for idx, v := range m.GetRequiredDuringSchedulingIgnoredDuringExecution() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetRequiredDuringSchedulingIgnoredDuringExecution()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetRequiredDuringSchedulingIgnoredDuringExecution()[idx]) { + return false + } + } + + } + + if len(m.GetPreferredDuringSchedulingIgnoredDuringExecution()) != len(target.GetPreferredDuringSchedulingIgnoredDuringExecution()) { + return false + } + for idx, v := range m.GetPreferredDuringSchedulingIgnoredDuringExecution() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPreferredDuringSchedulingIgnoredDuringExecution()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPreferredDuringSchedulingIgnoredDuringExecution()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *PodAffinityTerm) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PodAffinityTerm) + if !ok { + that2, ok := that.(PodAffinityTerm) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetLabelSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetLabelSelector()) { + return false + } + } else { + if !proto.Equal(m.GetLabelSelector(), target.GetLabelSelector()) { + return false + } + } + + if len(m.GetNamespaces()) != len(target.GetNamespaces()) { + return false + } + for idx, v := range m.GetNamespaces() { + + if strings.Compare(v, target.GetNamespaces()[idx]) != 0 { + return false + } + + } + + if strings.Compare(m.GetTopologyKey(), target.GetTopologyKey()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *PodDisruptionBudgetSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PodDisruptionBudgetSpec) + if !ok { + that2, ok := that.(PodDisruptionBudgetSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetMinAvailable()).(equality.Equalizer); ok { + if !h.Equal(target.GetMinAvailable()) { + return false + } + } else { + if !proto.Equal(m.GetMinAvailable(), target.GetMinAvailable()) { + return false + } + } + + if h, ok := interface{}(m.GetSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetSelector()) { + return false + } + } else { + if !proto.Equal(m.GetSelector(), target.GetSelector()) { + return false + } + } + + if h, ok := interface{}(m.GetMaxUnavailable()).(equality.Equalizer); ok { + if !h.Equal(target.GetMaxUnavailable()) { + return false + } + } else { + if !proto.Equal(m.GetMaxUnavailable(), target.GetMaxUnavailable()) { + return false + } + } + + return true +} + +// Equal function +func (m *PodsMetricSource) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PodsMetricSource) + if !ok { + that2, ok := that.(PodsMetricSource) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetMetricName(), target.GetMetricName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetTargetAverageValue()).(equality.Equalizer); ok { + if !h.Equal(target.GetTargetAverageValue()) { + return false + } + } else { + if !proto.Equal(m.GetTargetAverageValue(), target.GetTargetAverageValue()) { + return false + } + } + + if h, ok := interface{}(m.GetSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetSelector()) { + return false + } + } else { + if !proto.Equal(m.GetSelector(), target.GetSelector()) { + return false + } + } + + if h, ok := interface{}(m.GetMetric()).(equality.Equalizer); ok { + if !h.Equal(target.GetMetric()) { + return false + } + } else { + if !proto.Equal(m.GetMetric(), target.GetMetric()) { + return false + } + } + + if h, ok := interface{}(m.GetTarget()).(equality.Equalizer); ok { + if !h.Equal(target.GetTarget()) { + return false + } + } else { + if !proto.Equal(m.GetTarget(), target.GetTarget()) { + return false + } + } + + return true +} + +// Equal function +func (m *PodsMetricStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PodsMetricStatus) + if !ok { + that2, ok := that.(PodsMetricStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetMetric()).(equality.Equalizer); ok { + if !h.Equal(target.GetMetric()) { + return false + } + } else { + if !proto.Equal(m.GetMetric(), target.GetMetric()) { + return false + } + } + + if h, ok := interface{}(m.GetCurrent()).(equality.Equalizer); ok { + if !h.Equal(target.GetCurrent()) { + return false + } + } else { + if !proto.Equal(m.GetCurrent(), target.GetCurrent()) { + return false + } + } + + return true +} + +// Equal function +func (m *PreferredSchedulingTerm) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PreferredSchedulingTerm) + if !ok { + that2, ok := that.(PreferredSchedulingTerm) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetWeight() != target.GetWeight() { + return false + } + + if h, ok := interface{}(m.GetPreference()).(equality.Equalizer); ok { + if !h.Equal(target.GetPreference()) { + return false + } + } else { + if !proto.Equal(m.GetPreference(), target.GetPreference()) { + return false + } + } + + return true +} + +// Equal function +func (m *ReadinessProbe) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ReadinessProbe) + if !ok { + that2, ok := that.(ReadinessProbe) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetExec()).(equality.Equalizer); ok { + if !h.Equal(target.GetExec()) { + return false + } + } else { + if !proto.Equal(m.GetExec(), target.GetExec()) { + return false + } + } + + if h, ok := interface{}(m.GetHttpGet()).(equality.Equalizer); ok { + if !h.Equal(target.GetHttpGet()) { + return false + } + } else { + if !proto.Equal(m.GetHttpGet(), target.GetHttpGet()) { + return false + } + } + + if h, ok := interface{}(m.GetTcpSocket()).(equality.Equalizer); ok { + if !h.Equal(target.GetTcpSocket()) { + return false + } + } else { + if !proto.Equal(m.GetTcpSocket(), target.GetTcpSocket()) { + return false + } + } + + if m.GetInitialDelaySeconds() != target.GetInitialDelaySeconds() { + return false + } + + if m.GetTimeoutSeconds() != target.GetTimeoutSeconds() { + return false + } + + if m.GetPeriodSeconds() != target.GetPeriodSeconds() { + return false + } + + if m.GetSuccessThreshold() != target.GetSuccessThreshold() { + return false + } + + if m.GetFailureThreshold() != target.GetFailureThreshold() { + return false + } + + return true +} + +// Equal function +func (m *ResourceFieldSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ResourceFieldSelector) + if !ok { + that2, ok := that.(ResourceFieldSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetContainerName(), target.GetContainerName()) != 0 { + return false + } + + if strings.Compare(m.GetResource(), target.GetResource()) != 0 { + return false + } + + if h, ok := interface{}(m.GetDivisor()).(equality.Equalizer); ok { + if !h.Equal(target.GetDivisor()) { + return false + } + } else { + if !proto.Equal(m.GetDivisor(), target.GetDivisor()) { + return false + } + } + + return true +} + +// Equal function +func (m *ResourceMetricSource) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ResourceMetricSource) + if !ok { + that2, ok := that.(ResourceMetricSource) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if m.GetTargetAverageUtilization() != target.GetTargetAverageUtilization() { + return false + } + + if h, ok := interface{}(m.GetTargetAverageValue()).(equality.Equalizer); ok { + if !h.Equal(target.GetTargetAverageValue()) { + return false + } + } else { + if !proto.Equal(m.GetTargetAverageValue(), target.GetTargetAverageValue()) { + return false + } + } + + if h, ok := interface{}(m.GetTarget()).(equality.Equalizer); ok { + if !h.Equal(target.GetTarget()) { + return false + } + } else { + if !proto.Equal(m.GetTarget(), target.GetTarget()) { + return false + } + } + + return true +} + +// Equal function +func (m *ResourceMetricStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ResourceMetricStatus) + if !ok { + that2, ok := that.(ResourceMetricStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetCurrent()).(equality.Equalizer); ok { + if !h.Equal(target.GetCurrent()) { + return false + } + } else { + if !proto.Equal(m.GetCurrent(), target.GetCurrent()) { + return false + } + } + + return true +} + +// Equal function +func (m *Resources) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Resources) + if !ok { + that2, ok := that.(Resources) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetLimits()) != len(target.GetLimits()) { + return false + } + for k, v := range m.GetLimits() { + + if strings.Compare(v, target.GetLimits()[k]) != 0 { + return false + } + + } + + if len(m.GetRequests()) != len(target.GetRequests()) { + return false + } + for k, v := range m.GetRequests() { + + if strings.Compare(v, target.GetRequests()[k]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *RollingUpdateDeployment) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RollingUpdateDeployment) + if !ok { + that2, ok := that.(RollingUpdateDeployment) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetMaxUnavailable()).(equality.Equalizer); ok { + if !h.Equal(target.GetMaxUnavailable()) { + return false + } + } else { + if !proto.Equal(m.GetMaxUnavailable(), target.GetMaxUnavailable()) { + return false + } + } + + if h, ok := interface{}(m.GetMaxSurge()).(equality.Equalizer); ok { + if !h.Equal(target.GetMaxSurge()) { + return false + } + } else { + if !proto.Equal(m.GetMaxSurge(), target.GetMaxSurge()) { + return false + } + } + + return true +} + +// Equal function +func (m *SecretKeySelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SecretKeySelector) + if !ok { + that2, ok := that.(SecretKeySelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetLocalObjectReference()).(equality.Equalizer); ok { + if !h.Equal(target.GetLocalObjectReference()) { + return false + } + } else { + if !proto.Equal(m.GetLocalObjectReference(), target.GetLocalObjectReference()) { + return false + } + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + if m.GetOptional() != target.GetOptional() { + return false + } + + return true +} + +// Equal function +func (m *ServiceSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ServiceSpec) + if !ok { + that2, ok := that.(ServiceSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetPorts()) != len(target.GetPorts()) { + return false + } + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPorts()[idx]) { + return false + } + } + + } + + if len(m.GetSelector()) != len(target.GetSelector()) { + return false + } + for k, v := range m.GetSelector() { + + if strings.Compare(v, target.GetSelector()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetClusterIP(), target.GetClusterIP()) != 0 { + return false + } + + if strings.Compare(m.GetType(), target.GetType()) != 0 { + return false + } + + if len(m.GetExternalIPs()) != len(target.GetExternalIPs()) { + return false + } + for idx, v := range m.GetExternalIPs() { + + if strings.Compare(v, target.GetExternalIPs()[idx]) != 0 { + return false + } + + } + + if strings.Compare(m.GetSessionAffinity(), target.GetSessionAffinity()) != 0 { + return false + } + + if strings.Compare(m.GetLoadBalancerIP(), target.GetLoadBalancerIP()) != 0 { + return false + } + + if len(m.GetLoadBalancerSourceRanges()) != len(target.GetLoadBalancerSourceRanges()) { + return false + } + for idx, v := range m.GetLoadBalancerSourceRanges() { + + if strings.Compare(v, target.GetLoadBalancerSourceRanges()[idx]) != 0 { + return false + } + + } + + if strings.Compare(m.GetExternalName(), target.GetExternalName()) != 0 { + return false + } + + if strings.Compare(m.GetExternalTrafficPolicy(), target.GetExternalTrafficPolicy()) != 0 { + return false + } + + if m.GetHealthCheckNodePort() != target.GetHealthCheckNodePort() { + return false + } + + if m.GetPublishNotReadyAddresses() != target.GetPublishNotReadyAddresses() { + return false + } + + if h, ok := interface{}(m.GetSessionAffinityConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetSessionAffinityConfig()) { + return false + } + } else { + if !proto.Equal(m.GetSessionAffinityConfig(), target.GetSessionAffinityConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *ServicePort) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ServicePort) + if !ok { + that2, ok := that.(ServicePort) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetProtocol(), target.GetProtocol()) != 0 { + return false + } + + if m.GetPort() != target.GetPort() { + return false + } + + if h, ok := interface{}(m.GetTargetPort()).(equality.Equalizer); ok { + if !h.Equal(target.GetTargetPort()) { + return false + } + } else { + if !proto.Equal(m.GetTargetPort(), target.GetTargetPort()) { + return false + } + } + + if m.GetNodePort() != target.GetNodePort() { + return false + } + + return true +} + +// Equal function +func (m *SessionAffinityConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SessionAffinityConfig) + if !ok { + that2, ok := that.(SessionAffinityConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetClientIP()).(equality.Equalizer); ok { + if !h.Equal(target.GetClientIP()) { + return false + } + } else { + if !proto.Equal(m.GetClientIP(), target.GetClientIP()) { + return false + } + } + + return true +} + +// Equal function +func (m *TCPSocketAction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TCPSocketAction) + if !ok { + that2, ok := that.(TCPSocketAction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetPort()).(equality.Equalizer); ok { + if !h.Equal(target.GetPort()) { + return false + } + } else { + if !proto.Equal(m.GetPort(), target.GetPort()) { + return false + } + } + + if strings.Compare(m.GetHost(), target.GetHost()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *Toleration) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Toleration) + if !ok { + that2, ok := that.(Toleration) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + if strings.Compare(m.GetOperator(), target.GetOperator()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + if strings.Compare(m.GetEffect(), target.GetEffect()) != 0 { + return false + } + + if m.GetTolerationSeconds() != target.GetTolerationSeconds() { + return false + } + + return true +} + +// Equal function +func (m *WeightedPodAffinityTerm) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WeightedPodAffinityTerm) + if !ok { + that2, ok := that.(WeightedPodAffinityTerm) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetWeight() != target.GetWeight() { + return false + } + + if h, ok := interface{}(m.GetPodAffinityTerm()).(equality.Equalizer); ok { + if !h.Equal(target.GetPodAffinityTerm()) { + return false + } + } else { + if !proto.Equal(m.GetPodAffinityTerm(), target.GetPodAffinityTerm()) { + return false + } + } + + return true +} + +// Equal function +func (m *PodSecurityContext) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PodSecurityContext) + if !ok { + that2, ok := that.(PodSecurityContext) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetSeLinuxOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetSeLinuxOptions()) { + return false + } + } else { + if !proto.Equal(m.GetSeLinuxOptions(), target.GetSeLinuxOptions()) { + return false + } + } + + if m.GetRunAsUser() != target.GetRunAsUser() { + return false + } + + if m.GetRunAsNonRoot() != target.GetRunAsNonRoot() { + return false + } + + if len(m.GetSupplementalGroups()) != len(target.GetSupplementalGroups()) { + return false + } + for idx, v := range m.GetSupplementalGroups() { + + if v != target.GetSupplementalGroups()[idx] { + return false + } + + } + + if m.GetFsGroup() != target.GetFsGroup() { + return false + } + + if m.GetRunAsGroup() != target.GetRunAsGroup() { + return false + } + + if len(m.GetSysctls()) != len(target.GetSysctls()) { + return false + } + for idx, v := range m.GetSysctls() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSysctls()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSysctls()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetWindowsOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetWindowsOptions()) { + return false + } + } else { + if !proto.Equal(m.GetWindowsOptions(), target.GetWindowsOptions()) { + return false + } + } + + if strings.Compare(m.GetFsGroupChangePolicy(), target.GetFsGroupChangePolicy()) != 0 { + return false + } + + if h, ok := interface{}(m.GetSeccompProfile()).(equality.Equalizer); ok { + if !h.Equal(target.GetSeccompProfile()) { + return false + } + } else { + if !proto.Equal(m.GetSeccompProfile(), target.GetSeccompProfile()) { + return false + } + } + + return true +} + +// Equal function +func (m *SELinuxOptions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SELinuxOptions) + if !ok { + that2, ok := that.(SELinuxOptions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetUser(), target.GetUser()) != 0 { + return false + } + + if strings.Compare(m.GetRole(), target.GetRole()) != 0 { + return false + } + + if strings.Compare(m.GetType(), target.GetType()) != 0 { + return false + } + + if strings.Compare(m.GetLevel(), target.GetLevel()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *Sysctl) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Sysctl) + if !ok { + that2, ok := that.(Sysctl) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *WindowsSecurityContextOptions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WindowsSecurityContextOptions) + if !ok { + that2, ok := that.(WindowsSecurityContextOptions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetGmsaCredentialSpecName(), target.GetGmsaCredentialSpecName()) != 0 { + return false + } + + if strings.Compare(m.GetGmsaCredentialSpec(), target.GetGmsaCredentialSpec()) != 0 { + return false + } + + if strings.Compare(m.GetRunAsUserName(), target.GetRunAsUserName()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *SeccompProfile) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SeccompProfile) + if !ok { + that2, ok := that.(SeccompProfile) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetType(), target.GetType()) != 0 { + return false + } + + if strings.Compare(m.GetLocalhostProfile(), target.GetLocalhostProfile()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *InstallStatus_VersionStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*InstallStatus_VersionStatus) + if !ok { + that2, ok := that.(InstallStatus_VersionStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetVersion(), target.GetVersion()) != 0 { + return false + } + + if m.GetStatus() != target.GetStatus() { + return false + } + + if strings.Compare(m.GetError(), target.GetError()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *K8SObjectOverlay_PathValue) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*K8SObjectOverlay_PathValue) + if !ok { + that2, ok := that.(K8SObjectOverlay_PathValue) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetPath(), target.GetPath()) != 0 { + return false + } + + if h, ok := interface{}(m.GetValue()).(equality.Equalizer); ok { + if !h.Equal(target.GetValue()) { + return false + } + } else { + if !proto.Equal(m.GetValue(), target.GetValue()) { + return false + } + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/istio_operator.pb.go b/client-go/common.gloo.solo.io/v2/istio_operator.pb.go new file mode 100644 index 000000000..50c82b910 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/istio_operator.pb.go @@ -0,0 +1,7252 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/istio_operator.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + any1 "github.com/golang/protobuf/ptypes/any" + _struct "github.com/golang/protobuf/ptypes/struct" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + v1 "k8s.io/api/core/v1" + v11 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Status describes the current state of a component. +type InstallStatus_Status int32 + +const ( + // Component is not present. + InstallStatus_NONE InstallStatus_Status = 0 + // Component is being updated to a different version. + InstallStatus_UPDATING InstallStatus_Status = 1 + // Controller has started but not yet completed reconciliation loop for the component. + InstallStatus_RECONCILING InstallStatus_Status = 2 + // Component is healthy. + InstallStatus_HEALTHY InstallStatus_Status = 3 + // Component is in an error state. + InstallStatus_ERROR InstallStatus_Status = 4 + // Overall status only and would not be set as a component status. + // Action is needed from the user for reconciliation to proceed + // e.g. There are proxies still pointing to the control plane revision when try to remove an `IstioOperator` CR. + InstallStatus_ACTION_REQUIRED InstallStatus_Status = 5 +) + +// Enum value maps for InstallStatus_Status. +var ( + InstallStatus_Status_name = map[int32]string{ + 0: "NONE", + 1: "UPDATING", + 2: "RECONCILING", + 3: "HEALTHY", + 4: "ERROR", + 5: "ACTION_REQUIRED", + } + InstallStatus_Status_value = map[string]int32{ + "NONE": 0, + "UPDATING": 1, + "RECONCILING": 2, + "HEALTHY": 3, + "ERROR": 4, + "ACTION_REQUIRED": 5, + } +) + +func (x InstallStatus_Status) Enum() *InstallStatus_Status { + p := new(InstallStatus_Status) + *p = x + return p +} + +func (x InstallStatus_Status) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InstallStatus_Status) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_enumTypes[0].Descriptor() +} + +func (InstallStatus_Status) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_enumTypes[0] +} + +func (x InstallStatus_Status) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InstallStatus_Status.Descriptor instead. +func (InstallStatus_Status) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{1, 0} +} + +// Copied from https://github.com/istio/api/blob/master/operator/v1alpha1/operator.proto +type IstioOperatorSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Path or name for the profile e.g. + // + // * minimal (looks in profiles dir for a file called minimal.yaml) + // * /tmp/istio/install/values/custom/custom-install.yaml (local file path) + // + // default profile is used if this field is unset. + Profile string `protobuf:"bytes,10,opt,name=profile,proto3" json:"profile,omitempty"` + // Path for the install package. e.g. + // + // * /tmp/istio-installer/nightly (local file path) + InstallPackagePath string `protobuf:"bytes,11,opt,name=installPackagePath,proto3" json:"installPackagePath,omitempty"` + // Root for docker image paths e.g. `docker.io/istio` + Hub string `protobuf:"bytes,12,opt,name=hub,proto3" json:"hub,omitempty"` + // Version tag for docker images e.g. `1.7.2` + Tag string `protobuf:"bytes,13,opt,name=tag,proto3" json:"tag,omitempty"` + // $hide_from_docs + // Resource suffix is appended to all resources installed by each component. + // Never implemented; replaced by revision. + // + // Deprecated: Do not use. + ResourceSuffix string `protobuf:"bytes,14,opt,name=resourceSuffix,proto3" json:"resourceSuffix,omitempty"` + // Namespace to install control plane resources into. If unset, Istio will be installed into the same namespace + // as the `IstioOperator` CR. You must also set `values.global.istioNamespace` if you wish to install Istio in + // a custom namespace. + // If you have enabled CNI, you must exclude this namespace by adding it to the list `values.cni.excludeNamespaces`. + Namespace string `protobuf:"bytes,15,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Identify the revision this installation is associated with. + // This option is currently experimental. + Revision string `protobuf:"bytes,16,opt,name=revision,proto3" json:"revision,omitempty"` + // Identify whether this revision is the default revision for the cluster + // This option is currently experimental. + DefaultRevision bool `protobuf:"varint,17,opt,name=defaultRevision,proto3" json:"defaultRevision,omitempty"` + // Config used by control plane components internally. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct). + MeshConfig *_struct.Struct `protobuf:"bytes,40,opt,name=meshConfig,proto3" json:"meshConfig,omitempty"` + // Kubernetes resource settings, enablement and component-specific settings that are not internal to the + // component. + Components *IstioComponentSetSpec `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` + // Deprecated. + // Users should manage the installation of addon components on their own. + // Refer to samples/addons for demo installation of addon components. + // + // Deprecated: Do not use. + AddonComponents map[string]*ExternalComponentSpec `protobuf:"bytes,51,rep,name=addonComponents,proto3" json:"addonComponents,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Overrides for default `values.yaml`. This is a validated pass-through to Helm templates. + // See the [Helm installation options](https://istio.io/v1.5/docs/reference/config/installation-options/) for schema details. + // Anything that is available in `IstioOperatorSpec` should be set above rather than using the passthrough. This + // includes Kubernetes resource settings for components in `KubernetesResourcesSpec`. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct). + Values *_struct.Struct `protobuf:"bytes,100,opt,name=values,proto3" json:"values,omitempty"` + // Unvalidated overrides for default `values.yaml`. Used for custom templates where new parameters are added. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct). + UnvalidatedValues *_struct.Struct `protobuf:"bytes,101,opt,name=unvalidatedValues,proto3" json:"unvalidatedValues,omitempty"` +} + +func (x *IstioOperatorSpec) Reset() { + *x = IstioOperatorSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IstioOperatorSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IstioOperatorSpec) ProtoMessage() {} + +func (x *IstioOperatorSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IstioOperatorSpec.ProtoReflect.Descriptor instead. +func (*IstioOperatorSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{0} +} + +func (x *IstioOperatorSpec) GetProfile() string { + if x != nil { + return x.Profile + } + return "" +} + +func (x *IstioOperatorSpec) GetInstallPackagePath() string { + if x != nil { + return x.InstallPackagePath + } + return "" +} + +func (x *IstioOperatorSpec) GetHub() string { + if x != nil { + return x.Hub + } + return "" +} + +func (x *IstioOperatorSpec) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +// Deprecated: Do not use. +func (x *IstioOperatorSpec) GetResourceSuffix() string { + if x != nil { + return x.ResourceSuffix + } + return "" +} + +func (x *IstioOperatorSpec) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *IstioOperatorSpec) GetRevision() string { + if x != nil { + return x.Revision + } + return "" +} + +func (x *IstioOperatorSpec) GetDefaultRevision() bool { + if x != nil { + return x.DefaultRevision + } + return false +} + +func (x *IstioOperatorSpec) GetMeshConfig() *_struct.Struct { + if x != nil { + return x.MeshConfig + } + return nil +} + +func (x *IstioOperatorSpec) GetComponents() *IstioComponentSetSpec { + if x != nil { + return x.Components + } + return nil +} + +// Deprecated: Do not use. +func (x *IstioOperatorSpec) GetAddonComponents() map[string]*ExternalComponentSpec { + if x != nil { + return x.AddonComponents + } + return nil +} + +func (x *IstioOperatorSpec) GetValues() *_struct.Struct { + if x != nil { + return x.Values + } + return nil +} + +func (x *IstioOperatorSpec) GetUnvalidatedValues() *_struct.Struct { + if x != nil { + return x.UnvalidatedValues + } + return nil +} + +// Observed state of IstioOperator +type InstallStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Overall status of all components controlled by the operator. + // + // * If all components have status `NONE`, overall status is `NONE`. + // * If all components are `HEALTHY`, overall status is `HEALTHY`. + // * If one or more components are `RECONCILING` and others are `HEALTHY`, overall status is `RECONCILING`. + // * If one or more components are `UPDATING` and others are `HEALTHY`, overall status is `UPDATING`. + // * If components are a mix of `RECONCILING`, `UPDATING` and `HEALTHY`, overall status is `UPDATING`. + // * If any component is in `ERROR` state, overall status is `ERROR`. + // * If further action is needed for reconciliation to proceed, overall status is `ACTION_REQUIRED`. + Status InstallStatus_Status `protobuf:"varint,1,opt,name=status,proto3,enum=common.gloo.solo.io.InstallStatus_Status" json:"status,omitempty"` + // Optional message providing additional information about the existing overall status. + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + // Individual status of each component controlled by the operator. The map key is the name of the component. + ComponentStatus map[string]*InstallStatus_VersionStatus `protobuf:"bytes,2,rep,name=componentStatus,proto3" json:"componentStatus,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *InstallStatus) Reset() { + *x = InstallStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstallStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallStatus) ProtoMessage() {} + +func (x *InstallStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallStatus.ProtoReflect.Descriptor instead. +func (*InstallStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{1} +} + +func (x *InstallStatus) GetStatus() InstallStatus_Status { + if x != nil { + return x.Status + } + return InstallStatus_NONE +} + +func (x *InstallStatus) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *InstallStatus) GetComponentStatus() map[string]*InstallStatus_VersionStatus { + if x != nil { + return x.ComponentStatus + } + return nil +} + +// IstioComponentSpec defines the desired installed state of Istio components. +type IstioComponentSetSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Base *BaseComponentSpec `protobuf:"bytes,29,opt,name=base,proto3" json:"base,omitempty"` + Pilot *ComponentSpec `protobuf:"bytes,30,opt,name=pilot,proto3" json:"pilot,omitempty"` + Cni *ComponentSpec `protobuf:"bytes,38,opt,name=cni,proto3" json:"cni,omitempty"` + // Remote cluster using an external control plane. + IstiodRemote *ComponentSpec `protobuf:"bytes,39,opt,name=istiodRemote,proto3" json:"istiodRemote,omitempty"` + IngressGateways []*GatewaySpec `protobuf:"bytes,40,rep,name=ingressGateways,proto3" json:"ingressGateways,omitempty"` + EgressGateways []*GatewaySpec `protobuf:"bytes,41,rep,name=egressGateways,proto3" json:"egressGateways,omitempty"` +} + +func (x *IstioComponentSetSpec) Reset() { + *x = IstioComponentSetSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IstioComponentSetSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IstioComponentSetSpec) ProtoMessage() {} + +func (x *IstioComponentSetSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IstioComponentSetSpec.ProtoReflect.Descriptor instead. +func (*IstioComponentSetSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{2} +} + +func (x *IstioComponentSetSpec) GetBase() *BaseComponentSpec { + if x != nil { + return x.Base + } + return nil +} + +func (x *IstioComponentSetSpec) GetPilot() *ComponentSpec { + if x != nil { + return x.Pilot + } + return nil +} + +func (x *IstioComponentSetSpec) GetCni() *ComponentSpec { + if x != nil { + return x.Cni + } + return nil +} + +func (x *IstioComponentSetSpec) GetIstiodRemote() *ComponentSpec { + if x != nil { + return x.IstiodRemote + } + return nil +} + +func (x *IstioComponentSetSpec) GetIngressGateways() []*GatewaySpec { + if x != nil { + return x.IngressGateways + } + return nil +} + +func (x *IstioComponentSetSpec) GetEgressGateways() []*GatewaySpec { + if x != nil { + return x.EgressGateways + } + return nil +} + +// Configuration for base component. +type BaseComponentSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Selects whether this component is installed. + Enabled *wrappers.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // Kubernetes resource spec. + K8S *KubernetesResourcesSpec `protobuf:"bytes,50,opt,name=k8s,proto3" json:"k8s,omitempty"` +} + +func (x *BaseComponentSpec) Reset() { + *x = BaseComponentSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BaseComponentSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BaseComponentSpec) ProtoMessage() {} + +func (x *BaseComponentSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BaseComponentSpec.ProtoReflect.Descriptor instead. +func (*BaseComponentSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{3} +} + +func (x *BaseComponentSpec) GetEnabled() *wrappers.BoolValue { + if x != nil { + return x.Enabled + } + return nil +} + +func (x *BaseComponentSpec) GetK8S() *KubernetesResourcesSpec { + if x != nil { + return x.K8S + } + return nil +} + +// Configuration for internal components. +type ComponentSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Selects whether this component is installed. + Enabled *wrappers.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // Namespace for the component. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Hub for the component (overrides top level hub setting). + Hub string `protobuf:"bytes,10,opt,name=hub,proto3" json:"hub,omitempty"` + // Tag for the component (overrides top level tag setting). + Tag string `protobuf:"bytes,11,opt,name=tag,proto3" json:"tag,omitempty"` + // Arbitrary install time configuration for the component. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct). + Spec *_struct.Struct `protobuf:"bytes,30,opt,name=spec,proto3" json:"spec,omitempty"` + // Kubernetes resource spec. + K8S *KubernetesResourcesSpec `protobuf:"bytes,50,opt,name=k8s,proto3" json:"k8s,omitempty"` +} + +func (x *ComponentSpec) Reset() { + *x = ComponentSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComponentSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComponentSpec) ProtoMessage() {} + +func (x *ComponentSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComponentSpec.ProtoReflect.Descriptor instead. +func (*ComponentSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{4} +} + +func (x *ComponentSpec) GetEnabled() *wrappers.BoolValue { + if x != nil { + return x.Enabled + } + return nil +} + +func (x *ComponentSpec) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ComponentSpec) GetHub() string { + if x != nil { + return x.Hub + } + return "" +} + +func (x *ComponentSpec) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *ComponentSpec) GetSpec() *_struct.Struct { + if x != nil { + return x.Spec + } + return nil +} + +func (x *ComponentSpec) GetK8S() *KubernetesResourcesSpec { + if x != nil { + return x.K8S + } + return nil +} + +// Configuration for external components. +type ExternalComponentSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Selects whether this component is installed. + Enabled *wrappers.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // Namespace for the component. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Arbitrary install time configuration for the component. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct). + Spec *_struct.Struct `protobuf:"bytes,10,opt,name=spec,proto3" json:"spec,omitempty"` + // Chart path for addon components. + ChartPath string `protobuf:"bytes,30,opt,name=chartPath,proto3" json:"chartPath,omitempty"` + // Optional schema to validate spec against. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any). + Schema *any1.Any `protobuf:"bytes,35,opt,name=schema,proto3" json:"schema,omitempty"` + // Kubernetes resource spec. + K8S *KubernetesResourcesSpec `protobuf:"bytes,50,opt,name=k8s,proto3" json:"k8s,omitempty"` +} + +func (x *ExternalComponentSpec) Reset() { + *x = ExternalComponentSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalComponentSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalComponentSpec) ProtoMessage() {} + +func (x *ExternalComponentSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalComponentSpec.ProtoReflect.Descriptor instead. +func (*ExternalComponentSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{5} +} + +func (x *ExternalComponentSpec) GetEnabled() *wrappers.BoolValue { + if x != nil { + return x.Enabled + } + return nil +} + +func (x *ExternalComponentSpec) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ExternalComponentSpec) GetSpec() *_struct.Struct { + if x != nil { + return x.Spec + } + return nil +} + +func (x *ExternalComponentSpec) GetChartPath() string { + if x != nil { + return x.ChartPath + } + return "" +} + +func (x *ExternalComponentSpec) GetSchema() *any1.Any { + if x != nil { + return x.Schema + } + return nil +} + +func (x *ExternalComponentSpec) GetK8S() *KubernetesResourcesSpec { + if x != nil { + return x.K8S + } + return nil +} + +// Configuration for gateways. +type GatewaySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Selects whether this gateway is installed. + Enabled *wrappers.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // Namespace for the gateway. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Name for the gateway. + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // Labels for the gateway. + Label map[string]string `protobuf:"bytes,4,rep,name=label,proto3" json:"label,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Hub for the component (overrides top level hub setting). + Hub string `protobuf:"bytes,10,opt,name=hub,proto3" json:"hub,omitempty"` + // Tag for the component (overrides top level tag setting). + Tag string `protobuf:"bytes,11,opt,name=tag,proto3" json:"tag,omitempty"` + // Kubernetes resource spec. + K8S *KubernetesResourcesSpec `protobuf:"bytes,50,opt,name=k8s,proto3" json:"k8s,omitempty"` +} + +func (x *GatewaySpec) Reset() { + *x = GatewaySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GatewaySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GatewaySpec) ProtoMessage() {} + +func (x *GatewaySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GatewaySpec.ProtoReflect.Descriptor instead. +func (*GatewaySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{6} +} + +func (x *GatewaySpec) GetEnabled() *wrappers.BoolValue { + if x != nil { + return x.Enabled + } + return nil +} + +func (x *GatewaySpec) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *GatewaySpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GatewaySpec) GetLabel() map[string]string { + if x != nil { + return x.Label + } + return nil +} + +func (x *GatewaySpec) GetHub() string { + if x != nil { + return x.Hub + } + return "" +} + +func (x *GatewaySpec) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *GatewaySpec) GetK8S() *KubernetesResourcesSpec { + if x != nil { + return x.K8S + } + return nil +} + +// KubernetesResourcesConfig is a common set of k8s resource configs for components. +type KubernetesResourcesSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // k8s affinity. + // [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) + Affinity *Affinity `protobuf:"bytes,1,opt,name=affinity,proto3" json:"affinity,omitempty"` + // Deployment environment variables. + // [https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) + Env []*EnvVar `protobuf:"bytes,2,rep,name=env,proto3" json:"env,omitempty"` + // k8s HorizontalPodAutoscaler settings. + // [https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) + HpaSpec *HorizontalPodAutoscalerSpec `protobuf:"bytes,3,opt,name=hpaSpec,proto3" json:"hpaSpec,omitempty"` + // k8s imagePullPolicy. + // [https://kubernetes.io/docs/concepts/containers/images/](https://kubernetes.io/docs/concepts/containers/images/) + ImagePullPolicy string `protobuf:"bytes,4,opt,name=imagePullPolicy,proto3" json:"imagePullPolicy,omitempty"` + // k8s nodeSelector. + // [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) + NodeSelector map[string]string `protobuf:"bytes,5,rep,name=nodeSelector,proto3" json:"nodeSelector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // k8s PodDisruptionBudget settings. + // [https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work) + PodDisruptionBudget *PodDisruptionBudgetSpec `protobuf:"bytes,6,opt,name=podDisruptionBudget,proto3" json:"podDisruptionBudget,omitempty"` + // k8s pod annotations. + // [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) + PodAnnotations map[string]string `protobuf:"bytes,7,rep,name=podAnnotations,proto3" json:"podAnnotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // k8s priority_class_name. Default for all resources unless overridden. + // [https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) + PriorityClassName string `protobuf:"bytes,8,opt,name=priorityClassName,proto3" json:"priorityClassName,omitempty"` + // k8s readinessProbe settings. + // [https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) + // k8s.io.api.core.v1.Probe readiness_probe = 9; + ReadinessProbe *ReadinessProbe `protobuf:"bytes,9,opt,name=readinessProbe,proto3" json:"readinessProbe,omitempty"` + // k8s Deployment replicas setting. + // [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) + ReplicaCount uint32 `protobuf:"varint,10,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` + // k8s resources settings. + // [https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container) + Resources *Resources `protobuf:"bytes,11,opt,name=resources,proto3" json:"resources,omitempty"` + // k8s Service settings. + // [https://kubernetes.io/docs/concepts/services-networking/service/](https://kubernetes.io/docs/concepts/services-networking/service/) + Service *ServiceSpec `protobuf:"bytes,12,opt,name=service,proto3" json:"service,omitempty"` + // k8s deployment strategy. + // [https://kubernetes.io/docs/concepts/workloads/controllers/deployment/](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) + Strategy *DeploymentStrategy `protobuf:"bytes,13,opt,name=strategy,proto3" json:"strategy,omitempty"` + // k8s toleration + // [https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) + Tolerations []*Toleration `protobuf:"bytes,14,rep,name=tolerations,proto3" json:"tolerations,omitempty"` + // k8s service annotations. + // [https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) + ServiceAnnotations map[string]string `protobuf:"bytes,15,rep,name=serviceAnnotations,proto3" json:"serviceAnnotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // k8s pod security context + // [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) + SecurityContext *PodSecurityContext `protobuf:"bytes,16,opt,name=securityContext,proto3" json:"securityContext,omitempty"` + // k8s volume + // [https://kubernetes.io/docs/concepts/storage/volumes/](https://kubernetes.io/docs/concepts/storage/volumes/) + // Volumes defines the collection of Volume to inject into the pod. + Volumes []*v1.Volume `protobuf:"bytes,17,rep,name=volumes,proto3" json:"volumes,omitempty"` + // k8s volumeMounts + // VolumeMounts defines the collection of VolumeMount to inject into containers. + VolumeMounts []*v1.VolumeMount `protobuf:"bytes,18,rep,name=volumeMounts,proto3" json:"volumeMounts,omitempty"` + // Overlays for k8s resources in rendered manifests. + Overlays []*K8SObjectOverlay `protobuf:"bytes,100,rep,name=overlays,proto3" json:"overlays,omitempty"` +} + +func (x *KubernetesResourcesSpec) Reset() { + *x = KubernetesResourcesSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KubernetesResourcesSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KubernetesResourcesSpec) ProtoMessage() {} + +func (x *KubernetesResourcesSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KubernetesResourcesSpec.ProtoReflect.Descriptor instead. +func (*KubernetesResourcesSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{7} +} + +func (x *KubernetesResourcesSpec) GetAffinity() *Affinity { + if x != nil { + return x.Affinity + } + return nil +} + +func (x *KubernetesResourcesSpec) GetEnv() []*EnvVar { + if x != nil { + return x.Env + } + return nil +} + +func (x *KubernetesResourcesSpec) GetHpaSpec() *HorizontalPodAutoscalerSpec { + if x != nil { + return x.HpaSpec + } + return nil +} + +func (x *KubernetesResourcesSpec) GetImagePullPolicy() string { + if x != nil { + return x.ImagePullPolicy + } + return "" +} + +func (x *KubernetesResourcesSpec) GetNodeSelector() map[string]string { + if x != nil { + return x.NodeSelector + } + return nil +} + +func (x *KubernetesResourcesSpec) GetPodDisruptionBudget() *PodDisruptionBudgetSpec { + if x != nil { + return x.PodDisruptionBudget + } + return nil +} + +func (x *KubernetesResourcesSpec) GetPodAnnotations() map[string]string { + if x != nil { + return x.PodAnnotations + } + return nil +} + +func (x *KubernetesResourcesSpec) GetPriorityClassName() string { + if x != nil { + return x.PriorityClassName + } + return "" +} + +func (x *KubernetesResourcesSpec) GetReadinessProbe() *ReadinessProbe { + if x != nil { + return x.ReadinessProbe + } + return nil +} + +func (x *KubernetesResourcesSpec) GetReplicaCount() uint32 { + if x != nil { + return x.ReplicaCount + } + return 0 +} + +func (x *KubernetesResourcesSpec) GetResources() *Resources { + if x != nil { + return x.Resources + } + return nil +} + +func (x *KubernetesResourcesSpec) GetService() *ServiceSpec { + if x != nil { + return x.Service + } + return nil +} + +func (x *KubernetesResourcesSpec) GetStrategy() *DeploymentStrategy { + if x != nil { + return x.Strategy + } + return nil +} + +func (x *KubernetesResourcesSpec) GetTolerations() []*Toleration { + if x != nil { + return x.Tolerations + } + return nil +} + +func (x *KubernetesResourcesSpec) GetServiceAnnotations() map[string]string { + if x != nil { + return x.ServiceAnnotations + } + return nil +} + +func (x *KubernetesResourcesSpec) GetSecurityContext() *PodSecurityContext { + if x != nil { + return x.SecurityContext + } + return nil +} + +func (x *KubernetesResourcesSpec) GetVolumes() []*v1.Volume { + if x != nil { + return x.Volumes + } + return nil +} + +func (x *KubernetesResourcesSpec) GetVolumeMounts() []*v1.VolumeMount { + if x != nil { + return x.VolumeMounts + } + return nil +} + +func (x *KubernetesResourcesSpec) GetOverlays() []*K8SObjectOverlay { + if x != nil { + return x.Overlays + } + return nil +} + +// Patch for an existing k8s resource. +type K8SObjectOverlay struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Resource API version. + ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` + // Resource kind. + Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` + // Name of resource. + // Namespace is always the component namespace. + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // List of patches to apply to resource. + Patches []*K8SObjectOverlay_PathValue `protobuf:"bytes,4,rep,name=patches,proto3" json:"patches,omitempty"` +} + +func (x *K8SObjectOverlay) Reset() { + *x = K8SObjectOverlay{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *K8SObjectOverlay) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*K8SObjectOverlay) ProtoMessage() {} + +func (x *K8SObjectOverlay) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use K8SObjectOverlay.ProtoReflect.Descriptor instead. +func (*K8SObjectOverlay) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{8} +} + +func (x *K8SObjectOverlay) GetApiVersion() string { + if x != nil { + return x.ApiVersion + } + return "" +} + +func (x *K8SObjectOverlay) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *K8SObjectOverlay) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *K8SObjectOverlay) GetPatches() []*K8SObjectOverlay_PathValue { + if x != nil { + return x.Patches + } + return nil +} + +// See k8s.io.api.core.v1.Affinity. +type Affinity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeAffinity *NodeAffinity `protobuf:"bytes,1,opt,name=nodeAffinity,proto3" json:"nodeAffinity,omitempty"` + PodAffinity *PodAffinity `protobuf:"bytes,2,opt,name=podAffinity,proto3" json:"podAffinity,omitempty"` + PodAntiAffinity *PodAntiAffinity `protobuf:"bytes,3,opt,name=podAntiAffinity,proto3" json:"podAntiAffinity,omitempty"` +} + +func (x *Affinity) Reset() { + *x = Affinity{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Affinity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Affinity) ProtoMessage() {} + +func (x *Affinity) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Affinity.ProtoReflect.Descriptor instead. +func (*Affinity) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{9} +} + +func (x *Affinity) GetNodeAffinity() *NodeAffinity { + if x != nil { + return x.NodeAffinity + } + return nil +} + +func (x *Affinity) GetPodAffinity() *PodAffinity { + if x != nil { + return x.PodAffinity + } + return nil +} + +func (x *Affinity) GetPodAntiAffinity() *PodAntiAffinity { + if x != nil { + return x.PodAntiAffinity + } + return nil +} + +// See k8s.io.api.core.v1.ConfigMapKeySelector. +type ConfigMapKeySelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LocalObjectReference *LocalObjectReference `protobuf:"bytes,1,opt,name=localObjectReference,proto3" json:"localObjectReference,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + Optional bool `protobuf:"varint,3,opt,name=optional,proto3" json:"optional,omitempty"` +} + +func (x *ConfigMapKeySelector) Reset() { + *x = ConfigMapKeySelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigMapKeySelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigMapKeySelector) ProtoMessage() {} + +func (x *ConfigMapKeySelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigMapKeySelector.ProtoReflect.Descriptor instead. +func (*ConfigMapKeySelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{10} +} + +func (x *ConfigMapKeySelector) GetLocalObjectReference() *LocalObjectReference { + if x != nil { + return x.LocalObjectReference + } + return nil +} + +func (x *ConfigMapKeySelector) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *ConfigMapKeySelector) GetOptional() bool { + if x != nil { + return x.Optional + } + return false +} + +// See k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricSource. +type ContainerResourceMetricSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Target *MetricTarget `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` + Container string `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"` +} + +func (x *ContainerResourceMetricSource) Reset() { + *x = ContainerResourceMetricSource{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContainerResourceMetricSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContainerResourceMetricSource) ProtoMessage() {} + +func (x *ContainerResourceMetricSource) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContainerResourceMetricSource.ProtoReflect.Descriptor instead. +func (*ContainerResourceMetricSource) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{11} +} + +func (x *ContainerResourceMetricSource) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ContainerResourceMetricSource) GetTarget() *MetricTarget { + if x != nil { + return x.Target + } + return nil +} + +func (x *ContainerResourceMetricSource) GetContainer() string { + if x != nil { + return x.Container + } + return "" +} + +// See k8s.io.api.autoscaling.v2beta2.ContainerResourceMetricStatus. +type ContainerResourceMetricStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Current *MetricValueStatus `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"` + Container string `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"` +} + +func (x *ContainerResourceMetricStatus) Reset() { + *x = ContainerResourceMetricStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContainerResourceMetricStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContainerResourceMetricStatus) ProtoMessage() {} + +func (x *ContainerResourceMetricStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContainerResourceMetricStatus.ProtoReflect.Descriptor instead. +func (*ContainerResourceMetricStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{12} +} + +func (x *ContainerResourceMetricStatus) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ContainerResourceMetricStatus) GetCurrent() *MetricValueStatus { + if x != nil { + return x.Current + } + return nil +} + +func (x *ContainerResourceMetricStatus) GetContainer() string { + if x != nil { + return x.Container + } + return "" +} + +// See k8s.io.api.core.v1.ClientIPConfig. +type ClientIPConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TimeoutSeconds int32 `protobuf:"varint,1,opt,name=timeoutSeconds,proto3" json:"timeoutSeconds,omitempty"` +} + +func (x *ClientIPConfig) Reset() { + *x = ClientIPConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientIPConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientIPConfig) ProtoMessage() {} + +func (x *ClientIPConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientIPConfig.ProtoReflect.Descriptor instead. +func (*ClientIPConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{13} +} + +func (x *ClientIPConfig) GetTimeoutSeconds() int32 { + if x != nil { + return x.TimeoutSeconds + } + return 0 +} + +// See k8s.io.api.autoscaling.v2beta2.CrossVersionObjectReference. +type CrossVersionObjectReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + ApiVersion string `protobuf:"bytes,3,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` +} + +func (x *CrossVersionObjectReference) Reset() { + *x = CrossVersionObjectReference{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CrossVersionObjectReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CrossVersionObjectReference) ProtoMessage() {} + +func (x *CrossVersionObjectReference) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CrossVersionObjectReference.ProtoReflect.Descriptor instead. +func (*CrossVersionObjectReference) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{14} +} + +func (x *CrossVersionObjectReference) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *CrossVersionObjectReference) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CrossVersionObjectReference) GetApiVersion() string { + if x != nil { + return x.ApiVersion + } + return "" +} + +// See k8s.io.api.apps.v1.DeploymentStrategy. +type DeploymentStrategy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + RollingUpdate *RollingUpdateDeployment `protobuf:"bytes,2,opt,name=rollingUpdate,proto3" json:"rollingUpdate,omitempty"` +} + +func (x *DeploymentStrategy) Reset() { + *x = DeploymentStrategy{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeploymentStrategy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeploymentStrategy) ProtoMessage() {} + +func (x *DeploymentStrategy) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeploymentStrategy.ProtoReflect.Descriptor instead. +func (*DeploymentStrategy) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{15} +} + +func (x *DeploymentStrategy) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *DeploymentStrategy) GetRollingUpdate() *RollingUpdateDeployment { + if x != nil { + return x.RollingUpdate + } + return nil +} + +// See k8s.io.api.core.v1.EnvVar. +type EnvVar struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + ValueFrom *EnvVarSource `protobuf:"bytes,3,opt,name=valueFrom,proto3" json:"valueFrom,omitempty"` +} + +func (x *EnvVar) Reset() { + *x = EnvVar{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnvVar) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnvVar) ProtoMessage() {} + +func (x *EnvVar) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnvVar.ProtoReflect.Descriptor instead. +func (*EnvVar) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{16} +} + +func (x *EnvVar) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EnvVar) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *EnvVar) GetValueFrom() *EnvVarSource { + if x != nil { + return x.ValueFrom + } + return nil +} + +// See k8s.io.api.core.v1.EnvVarSource. +type EnvVarSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FieldRef *ObjectFieldSelector `protobuf:"bytes,1,opt,name=fieldRef,proto3" json:"fieldRef,omitempty"` + ResourceFieldRef *ResourceFieldSelector `protobuf:"bytes,2,opt,name=resourceFieldRef,proto3" json:"resourceFieldRef,omitempty"` + ConfigMapKeyRef *ConfigMapKeySelector `protobuf:"bytes,3,opt,name=configMapKeyRef,proto3" json:"configMapKeyRef,omitempty"` + SecretKeyRef *SecretKeySelector `protobuf:"bytes,4,opt,name=secretKeyRef,proto3" json:"secretKeyRef,omitempty"` +} + +func (x *EnvVarSource) Reset() { + *x = EnvVarSource{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnvVarSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnvVarSource) ProtoMessage() {} + +func (x *EnvVarSource) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnvVarSource.ProtoReflect.Descriptor instead. +func (*EnvVarSource) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{17} +} + +func (x *EnvVarSource) GetFieldRef() *ObjectFieldSelector { + if x != nil { + return x.FieldRef + } + return nil +} + +func (x *EnvVarSource) GetResourceFieldRef() *ResourceFieldSelector { + if x != nil { + return x.ResourceFieldRef + } + return nil +} + +func (x *EnvVarSource) GetConfigMapKeyRef() *ConfigMapKeySelector { + if x != nil { + return x.ConfigMapKeyRef + } + return nil +} + +func (x *EnvVarSource) GetSecretKeyRef() *SecretKeySelector { + if x != nil { + return x.SecretKeyRef + } + return nil +} + +// See k8s.io.api.core.v1.ExecAction. +type ExecAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Command []string `protobuf:"bytes,1,rep,name=command,proto3" json:"command,omitempty"` +} + +func (x *ExecAction) Reset() { + *x = ExecAction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecAction) ProtoMessage() {} + +func (x *ExecAction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecAction.ProtoReflect.Descriptor instead. +func (*ExecAction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{18} +} + +func (x *ExecAction) GetCommand() []string { + if x != nil { + return x.Command + } + return nil +} + +// See k8s.io.api.autoscaling.v2beta2.ExternalMetricSource. +type ExternalMetricSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated: Do not use. + MetricName string `protobuf:"bytes,1,opt,name=metricName,proto3" json:"metricName,omitempty"` + // For information about the value format, see the [Kubernetes API reference documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#labelselector-v1-meta). + // + // Deprecated: Do not use. + MetricSelector *v11.LabelSelector `protobuf:"bytes,2,opt,name=metricSelector,proto3" json:"metricSelector,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + // + // Deprecated: Do not use. + TargetValue *_struct.Value `protobuf:"bytes,3,opt,name=targetValue,proto3" json:"targetValue,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + // + // Deprecated: Do not use. + TargetAverageValue *_struct.Value `protobuf:"bytes,4,opt,name=targetAverageValue,proto3" json:"targetAverageValue,omitempty"` + Metric *MetricIdentifier `protobuf:"bytes,5,opt,name=metric,proto3" json:"metric,omitempty"` + Target *MetricTarget `protobuf:"bytes,6,opt,name=target,proto3" json:"target,omitempty"` +} + +func (x *ExternalMetricSource) Reset() { + *x = ExternalMetricSource{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalMetricSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalMetricSource) ProtoMessage() {} + +func (x *ExternalMetricSource) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalMetricSource.ProtoReflect.Descriptor instead. +func (*ExternalMetricSource) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{19} +} + +// Deprecated: Do not use. +func (x *ExternalMetricSource) GetMetricName() string { + if x != nil { + return x.MetricName + } + return "" +} + +// Deprecated: Do not use. +func (x *ExternalMetricSource) GetMetricSelector() *v11.LabelSelector { + if x != nil { + return x.MetricSelector + } + return nil +} + +// Deprecated: Do not use. +func (x *ExternalMetricSource) GetTargetValue() *_struct.Value { + if x != nil { + return x.TargetValue + } + return nil +} + +// Deprecated: Do not use. +func (x *ExternalMetricSource) GetTargetAverageValue() *_struct.Value { + if x != nil { + return x.TargetAverageValue + } + return nil +} + +func (x *ExternalMetricSource) GetMetric() *MetricIdentifier { + if x != nil { + return x.Metric + } + return nil +} + +func (x *ExternalMetricSource) GetTarget() *MetricTarget { + if x != nil { + return x.Target + } + return nil +} + +// See k8s.io.autoscaling.v2beta2.ExternalMetricStatus. +type ExternalMetricStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metric *MetricIdentifier `protobuf:"bytes,1,opt,name=metric,proto3" json:"metric,omitempty"` + Current *MetricValueStatus `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"` +} + +func (x *ExternalMetricStatus) Reset() { + *x = ExternalMetricStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalMetricStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalMetricStatus) ProtoMessage() {} + +func (x *ExternalMetricStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalMetricStatus.ProtoReflect.Descriptor instead. +func (*ExternalMetricStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{20} +} + +func (x *ExternalMetricStatus) GetMetric() *MetricIdentifier { + if x != nil { + return x.Metric + } + return nil +} + +func (x *ExternalMetricStatus) GetCurrent() *MetricValueStatus { + if x != nil { + return x.Current + } + return nil +} + +// See k8s.io.api.core.v1.HTTPGetAction. +type HTTPGetAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + Port *_struct.Value `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` + Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"` + Scheme string `protobuf:"bytes,4,opt,name=scheme,proto3" json:"scheme,omitempty"` + HttpHeaders []*HTTPHeader `protobuf:"bytes,5,rep,name=httpHeaders,proto3" json:"httpHeaders,omitempty"` +} + +func (x *HTTPGetAction) Reset() { + *x = HTTPGetAction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HTTPGetAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HTTPGetAction) ProtoMessage() {} + +func (x *HTTPGetAction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HTTPGetAction.ProtoReflect.Descriptor instead. +func (*HTTPGetAction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{21} +} + +func (x *HTTPGetAction) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *HTTPGetAction) GetPort() *_struct.Value { + if x != nil { + return x.Port + } + return nil +} + +func (x *HTTPGetAction) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +func (x *HTTPGetAction) GetScheme() string { + if x != nil { + return x.Scheme + } + return "" +} + +func (x *HTTPGetAction) GetHttpHeaders() []*HTTPHeader { + if x != nil { + return x.HttpHeaders + } + return nil +} + +// See k8s.io.api.core.v1.HTTPHeader. +type HTTPHeader struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *HTTPHeader) Reset() { + *x = HTTPHeader{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HTTPHeader) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HTTPHeader) ProtoMessage() {} + +func (x *HTTPHeader) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HTTPHeader.ProtoReflect.Descriptor instead. +func (*HTTPHeader) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{22} +} + +func (x *HTTPHeader) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *HTTPHeader) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +// See k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec. +type HorizontalPodAutoscalerSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ScaleTargetRef *CrossVersionObjectReference `protobuf:"bytes,1,opt,name=scaleTargetRef,proto3" json:"scaleTargetRef,omitempty"` + MinReplicas int32 `protobuf:"varint,2,opt,name=minReplicas,proto3" json:"minReplicas,omitempty"` + MaxReplicas int32 `protobuf:"varint,3,opt,name=maxReplicas,proto3" json:"maxReplicas,omitempty"` + Metrics []*MetricSpec `protobuf:"bytes,4,rep,name=metrics,proto3" json:"metrics,omitempty"` + Behavior *HorizontalPodAutoScalerBehavior `protobuf:"bytes,5,opt,name=behavior,proto3" json:"behavior,omitempty"` +} + +func (x *HorizontalPodAutoscalerSpec) Reset() { + *x = HorizontalPodAutoscalerSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HorizontalPodAutoscalerSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HorizontalPodAutoscalerSpec) ProtoMessage() {} + +func (x *HorizontalPodAutoscalerSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HorizontalPodAutoscalerSpec.ProtoReflect.Descriptor instead. +func (*HorizontalPodAutoscalerSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{23} +} + +func (x *HorizontalPodAutoscalerSpec) GetScaleTargetRef() *CrossVersionObjectReference { + if x != nil { + return x.ScaleTargetRef + } + return nil +} + +func (x *HorizontalPodAutoscalerSpec) GetMinReplicas() int32 { + if x != nil { + return x.MinReplicas + } + return 0 +} + +func (x *HorizontalPodAutoscalerSpec) GetMaxReplicas() int32 { + if x != nil { + return x.MaxReplicas + } + return 0 +} + +func (x *HorizontalPodAutoscalerSpec) GetMetrics() []*MetricSpec { + if x != nil { + return x.Metrics + } + return nil +} + +func (x *HorizontalPodAutoscalerSpec) GetBehavior() *HorizontalPodAutoScalerBehavior { + if x != nil { + return x.Behavior + } + return nil +} + +// See k8s.io.autoscaling.v2beta2.HorizontalPodAutoScalerBehavior. +type HorizontalPodAutoScalerBehavior struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ScaleUp *HPAScalingRules `protobuf:"bytes,1,opt,name=scaleUp,proto3" json:"scaleUp,omitempty"` + ScaleDown *HPAScalingRules `protobuf:"bytes,2,opt,name=scaleDown,proto3" json:"scaleDown,omitempty"` +} + +func (x *HorizontalPodAutoScalerBehavior) Reset() { + *x = HorizontalPodAutoScalerBehavior{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HorizontalPodAutoScalerBehavior) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HorizontalPodAutoScalerBehavior) ProtoMessage() {} + +func (x *HorizontalPodAutoScalerBehavior) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HorizontalPodAutoScalerBehavior.ProtoReflect.Descriptor instead. +func (*HorizontalPodAutoScalerBehavior) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{24} +} + +func (x *HorizontalPodAutoScalerBehavior) GetScaleUp() *HPAScalingRules { + if x != nil { + return x.ScaleUp + } + return nil +} + +func (x *HorizontalPodAutoScalerBehavior) GetScaleDown() *HPAScalingRules { + if x != nil { + return x.ScaleDown + } + return nil +} + +// See k8s.io.autoscaling.v2beta2.HPAScalingRules. +type HPAScalingRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StabilizationWindowSeconds int32 `protobuf:"varint,3,opt,name=stabilizationWindowSeconds,proto3" json:"stabilizationWindowSeconds,omitempty"` + SelectPolicy string `protobuf:"bytes,1,opt,name=selectPolicy,proto3" json:"selectPolicy,omitempty"` + Policies *HPAScalingPolicy `protobuf:"bytes,2,opt,name=policies,proto3" json:"policies,omitempty"` +} + +func (x *HPAScalingRules) Reset() { + *x = HPAScalingRules{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HPAScalingRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HPAScalingRules) ProtoMessage() {} + +func (x *HPAScalingRules) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HPAScalingRules.ProtoReflect.Descriptor instead. +func (*HPAScalingRules) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{25} +} + +func (x *HPAScalingRules) GetStabilizationWindowSeconds() int32 { + if x != nil { + return x.StabilizationWindowSeconds + } + return 0 +} + +func (x *HPAScalingRules) GetSelectPolicy() string { + if x != nil { + return x.SelectPolicy + } + return "" +} + +func (x *HPAScalingRules) GetPolicies() *HPAScalingPolicy { + if x != nil { + return x.Policies + } + return nil +} + +// See k8s.io.autoscaling.v2beta2.HPAScalingPolicy. +type HPAScalingPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` + PeriodSeconds int32 `protobuf:"varint,3,opt,name=periodSeconds,proto3" json:"periodSeconds,omitempty"` +} + +func (x *HPAScalingPolicy) Reset() { + *x = HPAScalingPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HPAScalingPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HPAScalingPolicy) ProtoMessage() {} + +func (x *HPAScalingPolicy) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HPAScalingPolicy.ProtoReflect.Descriptor instead. +func (*HPAScalingPolicy) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{26} +} + +func (x *HPAScalingPolicy) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *HPAScalingPolicy) GetValue() int32 { + if x != nil { + return x.Value + } + return 0 +} + +func (x *HPAScalingPolicy) GetPeriodSeconds() int32 { + if x != nil { + return x.PeriodSeconds + } + return 0 +} + +// See k8s.io.api.core.v1.LocalObjectReference. +type LocalObjectReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *LocalObjectReference) Reset() { + *x = LocalObjectReference{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LocalObjectReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LocalObjectReference) ProtoMessage() {} + +func (x *LocalObjectReference) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LocalObjectReference.ProtoReflect.Descriptor instead. +func (*LocalObjectReference) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{27} +} + +func (x *LocalObjectReference) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// See k8s.io.autoscaling.v2beta2.MetricIdentifier. +type MetricIdentifier struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // For information about the value format, see the [Kubernetes API reference documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#labelselector-v1-meta). + Selector *v11.LabelSelector `protobuf:"bytes,2,opt,name=selector,proto3" json:"selector,omitempty"` +} + +func (x *MetricIdentifier) Reset() { + *x = MetricIdentifier{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetricIdentifier) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricIdentifier) ProtoMessage() {} + +func (x *MetricIdentifier) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetricIdentifier.ProtoReflect.Descriptor instead. +func (*MetricIdentifier) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{28} +} + +func (x *MetricIdentifier) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MetricIdentifier) GetSelector() *v11.LabelSelector { + if x != nil { + return x.Selector + } + return nil +} + +// See k8s.io.autoscaling.v2beta2.MetricSpec. +type MetricSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Object *ObjectMetricSource `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + Pods *PodsMetricSource `protobuf:"bytes,3,opt,name=pods,proto3" json:"pods,omitempty"` + Resource *ResourceMetricSource `protobuf:"bytes,4,opt,name=resource,proto3" json:"resource,omitempty"` + ContainerResource *ContainerResourceMetricSource `protobuf:"bytes,7,opt,name=containerResource,proto3" json:"containerResource,omitempty"` + External *ExternalMetricSource `protobuf:"bytes,5,opt,name=external,proto3" json:"external,omitempty"` +} + +func (x *MetricSpec) Reset() { + *x = MetricSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetricSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricSpec) ProtoMessage() {} + +func (x *MetricSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetricSpec.ProtoReflect.Descriptor instead. +func (*MetricSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{29} +} + +func (x *MetricSpec) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *MetricSpec) GetObject() *ObjectMetricSource { + if x != nil { + return x.Object + } + return nil +} + +func (x *MetricSpec) GetPods() *PodsMetricSource { + if x != nil { + return x.Pods + } + return nil +} + +func (x *MetricSpec) GetResource() *ResourceMetricSource { + if x != nil { + return x.Resource + } + return nil +} + +func (x *MetricSpec) GetContainerResource() *ContainerResourceMetricSource { + if x != nil { + return x.ContainerResource + } + return nil +} + +func (x *MetricSpec) GetExternal() *ExternalMetricSource { + if x != nil { + return x.External + } + return nil +} + +// See k8s.io.autoscaling.v2beta2.MetricStatus. +type MetricStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Object *ObjectMetricStatus `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + Pods *PodsMetricStatus `protobuf:"bytes,3,opt,name=pods,proto3" json:"pods,omitempty"` + Resource *ResourceMetricStatus `protobuf:"bytes,4,opt,name=resource,proto3" json:"resource,omitempty"` + ContainerResource *ContainerResourceMetricStatus `protobuf:"bytes,7,opt,name=containerResource,proto3" json:"containerResource,omitempty"` + External *ExternalMetricStatus `protobuf:"bytes,5,opt,name=external,proto3" json:"external,omitempty"` +} + +func (x *MetricStatus) Reset() { + *x = MetricStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetricStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricStatus) ProtoMessage() {} + +func (x *MetricStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetricStatus.ProtoReflect.Descriptor instead. +func (*MetricStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{30} +} + +func (x *MetricStatus) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *MetricStatus) GetObject() *ObjectMetricStatus { + if x != nil { + return x.Object + } + return nil +} + +func (x *MetricStatus) GetPods() *PodsMetricStatus { + if x != nil { + return x.Pods + } + return nil +} + +func (x *MetricStatus) GetResource() *ResourceMetricStatus { + if x != nil { + return x.Resource + } + return nil +} + +func (x *MetricStatus) GetContainerResource() *ContainerResourceMetricStatus { + if x != nil { + return x.ContainerResource + } + return nil +} + +func (x *MetricStatus) GetExternal() *ExternalMetricStatus { + if x != nil { + return x.External + } + return nil +} + +// See k8s.io.autoscaling.v2beta2.MetricTarget. +type MetricTarget struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + Value *_struct.Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + AverageValue *_struct.Value `protobuf:"bytes,3,opt,name=averageValue,proto3" json:"averageValue,omitempty"` + AverageUtilization int32 `protobuf:"varint,4,opt,name=averageUtilization,proto3" json:"averageUtilization,omitempty"` +} + +func (x *MetricTarget) Reset() { + *x = MetricTarget{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetricTarget) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricTarget) ProtoMessage() {} + +func (x *MetricTarget) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetricTarget.ProtoReflect.Descriptor instead. +func (*MetricTarget) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{31} +} + +func (x *MetricTarget) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *MetricTarget) GetValue() *_struct.Value { + if x != nil { + return x.Value + } + return nil +} + +func (x *MetricTarget) GetAverageValue() *_struct.Value { + if x != nil { + return x.AverageValue + } + return nil +} + +func (x *MetricTarget) GetAverageUtilization() int32 { + if x != nil { + return x.AverageUtilization + } + return 0 +} + +// See k8s.io.autoscaling.v2beta2.MetricValueStatus. +type MetricValueStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + Value *_struct.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + AverageValue *_struct.Value `protobuf:"bytes,2,opt,name=averageValue,proto3" json:"averageValue,omitempty"` + AverageUtilization int32 `protobuf:"varint,3,opt,name=averageUtilization,proto3" json:"averageUtilization,omitempty"` +} + +func (x *MetricValueStatus) Reset() { + *x = MetricValueStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetricValueStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricValueStatus) ProtoMessage() {} + +func (x *MetricValueStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetricValueStatus.ProtoReflect.Descriptor instead. +func (*MetricValueStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{32} +} + +func (x *MetricValueStatus) GetValue() *_struct.Value { + if x != nil { + return x.Value + } + return nil +} + +func (x *MetricValueStatus) GetAverageValue() *_struct.Value { + if x != nil { + return x.AverageValue + } + return nil +} + +func (x *MetricValueStatus) GetAverageUtilization() int32 { + if x != nil { + return x.AverageUtilization + } + return 0 +} + +// See k8s.io.api.core.v1.NodeAffinity. +type NodeAffinity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RequiredDuringSchedulingIgnoredDuringExecution *NodeSelector `protobuf:"bytes,1,opt,name=requiredDuringSchedulingIgnoredDuringExecution,proto3" json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` + PreferredDuringSchedulingIgnoredDuringExecution []*PreferredSchedulingTerm `protobuf:"bytes,2,rep,name=preferredDuringSchedulingIgnoredDuringExecution,proto3" json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"` +} + +func (x *NodeAffinity) Reset() { + *x = NodeAffinity{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NodeAffinity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeAffinity) ProtoMessage() {} + +func (x *NodeAffinity) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeAffinity.ProtoReflect.Descriptor instead. +func (*NodeAffinity) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{33} +} + +func (x *NodeAffinity) GetRequiredDuringSchedulingIgnoredDuringExecution() *NodeSelector { + if x != nil { + return x.RequiredDuringSchedulingIgnoredDuringExecution + } + return nil +} + +func (x *NodeAffinity) GetPreferredDuringSchedulingIgnoredDuringExecution() []*PreferredSchedulingTerm { + if x != nil { + return x.PreferredDuringSchedulingIgnoredDuringExecution + } + return nil +} + +// See k8s.io.api.core.v1.NodeSelector. +type NodeSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeSelectorTerms []*NodeSelectorTerm `protobuf:"bytes,1,rep,name=nodeSelectorTerms,proto3" json:"nodeSelectorTerms,omitempty"` +} + +func (x *NodeSelector) Reset() { + *x = NodeSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NodeSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeSelector) ProtoMessage() {} + +func (x *NodeSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeSelector.ProtoReflect.Descriptor instead. +func (*NodeSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{34} +} + +func (x *NodeSelector) GetNodeSelectorTerms() []*NodeSelectorTerm { + if x != nil { + return x.NodeSelectorTerms + } + return nil +} + +// See k8s.io.api.core.v1.NodeSelectorTerm. +type NodeSelectorTerm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MatchExpressions []*NodeSelectorRequirement `protobuf:"bytes,1,rep,name=matchExpressions,proto3" json:"matchExpressions,omitempty"` + MatchFields []*NodeSelectorRequirement `protobuf:"bytes,2,rep,name=matchFields,proto3" json:"matchFields,omitempty"` +} + +func (x *NodeSelectorTerm) Reset() { + *x = NodeSelectorTerm{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NodeSelectorTerm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeSelectorTerm) ProtoMessage() {} + +func (x *NodeSelectorTerm) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeSelectorTerm.ProtoReflect.Descriptor instead. +func (*NodeSelectorTerm) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{35} +} + +func (x *NodeSelectorTerm) GetMatchExpressions() []*NodeSelectorRequirement { + if x != nil { + return x.MatchExpressions + } + return nil +} + +func (x *NodeSelectorTerm) GetMatchFields() []*NodeSelectorRequirement { + if x != nil { + return x.MatchFields + } + return nil +} + +// See k8s.io.api.core.v1.NodeSelectorRequirement. +type NodeSelectorRequirement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"` + Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *NodeSelectorRequirement) Reset() { + *x = NodeSelectorRequirement{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NodeSelectorRequirement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeSelectorRequirement) ProtoMessage() {} + +func (x *NodeSelectorRequirement) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeSelectorRequirement.ProtoReflect.Descriptor instead. +func (*NodeSelectorRequirement) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{36} +} + +func (x *NodeSelectorRequirement) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *NodeSelectorRequirement) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *NodeSelectorRequirement) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + +// See k8s.io.api.core.v1.ObjectFieldSelector. +type ObjectFieldSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` + FieldPath string `protobuf:"bytes,2,opt,name=fieldPath,proto3" json:"fieldPath,omitempty"` +} + +func (x *ObjectFieldSelector) Reset() { + *x = ObjectFieldSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ObjectFieldSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ObjectFieldSelector) ProtoMessage() {} + +func (x *ObjectFieldSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ObjectFieldSelector.ProtoReflect.Descriptor instead. +func (*ObjectFieldSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{37} +} + +func (x *ObjectFieldSelector) GetApiVersion() string { + if x != nil { + return x.ApiVersion + } + return "" +} + +func (x *ObjectFieldSelector) GetFieldPath() string { + if x != nil { + return x.FieldPath + } + return "" +} + +// From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta. +type ObjectMeta struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + Namespace string `protobuf:"bytes,6,opt,name=namespace,proto3" json:"namespace,omitempty"` +} + +func (x *ObjectMeta) Reset() { + *x = ObjectMeta{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ObjectMeta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ObjectMeta) ProtoMessage() {} + +func (x *ObjectMeta) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ObjectMeta.ProtoReflect.Descriptor instead. +func (*ObjectMeta) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{38} +} + +func (x *ObjectMeta) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ObjectMeta) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +// See k8s.io.autoscaling.v2beta2.ObjectMetricSource. +type ObjectMetricSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated: Do not use. + MetricName string `protobuf:"bytes,2,opt,name=metricName,proto3" json:"metricName,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + // + // Deprecated: Do not use. + TargetValue *_struct.Value `protobuf:"bytes,3,opt,name=targetValue,proto3" json:"targetValue,omitempty"` + // For information about the value format, see the [Kubernetes API reference documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#labelselector-v1-meta). + // + // Deprecated: Do not use. + Selector *v11.LabelSelector `protobuf:"bytes,4,opt,name=selector,proto3" json:"selector,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + // + // Deprecated: Do not use. + AverageValue *_struct.Value `protobuf:"bytes,5,opt,name=averageValue,proto3" json:"averageValue,omitempty"` + // Type changes from CrossVersionObjectReference to ResourceMetricTarget in autoscaling v2beta2/v2 compared with v2beta1 + // Change it to dynamic type to keep backward compatible + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + Target *_struct.Value `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` + DescribedObject *CrossVersionObjectReference `protobuf:"bytes,6,opt,name=describedObject,proto3" json:"describedObject,omitempty"` + Metric *MetricIdentifier `protobuf:"bytes,8,opt,name=metric,proto3" json:"metric,omitempty"` +} + +func (x *ObjectMetricSource) Reset() { + *x = ObjectMetricSource{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ObjectMetricSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ObjectMetricSource) ProtoMessage() {} + +func (x *ObjectMetricSource) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ObjectMetricSource.ProtoReflect.Descriptor instead. +func (*ObjectMetricSource) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{39} +} + +// Deprecated: Do not use. +func (x *ObjectMetricSource) GetMetricName() string { + if x != nil { + return x.MetricName + } + return "" +} + +// Deprecated: Do not use. +func (x *ObjectMetricSource) GetTargetValue() *_struct.Value { + if x != nil { + return x.TargetValue + } + return nil +} + +// Deprecated: Do not use. +func (x *ObjectMetricSource) GetSelector() *v11.LabelSelector { + if x != nil { + return x.Selector + } + return nil +} + +// Deprecated: Do not use. +func (x *ObjectMetricSource) GetAverageValue() *_struct.Value { + if x != nil { + return x.AverageValue + } + return nil +} + +func (x *ObjectMetricSource) GetTarget() *_struct.Value { + if x != nil { + return x.Target + } + return nil +} + +func (x *ObjectMetricSource) GetDescribedObject() *CrossVersionObjectReference { + if x != nil { + return x.DescribedObject + } + return nil +} + +func (x *ObjectMetricSource) GetMetric() *MetricIdentifier { + if x != nil { + return x.Metric + } + return nil +} + +// See k8s.io.autoscaling.v2beta2.ObjectMetricStatus. +type ObjectMetricStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metric *MetricIdentifier `protobuf:"bytes,1,opt,name=metric,proto3" json:"metric,omitempty"` + Current *MetricValueStatus `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"` + DescribedObject *CrossVersionObjectReference `protobuf:"bytes,3,opt,name=describedObject,proto3" json:"describedObject,omitempty"` +} + +func (x *ObjectMetricStatus) Reset() { + *x = ObjectMetricStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ObjectMetricStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ObjectMetricStatus) ProtoMessage() {} + +func (x *ObjectMetricStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ObjectMetricStatus.ProtoReflect.Descriptor instead. +func (*ObjectMetricStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{40} +} + +func (x *ObjectMetricStatus) GetMetric() *MetricIdentifier { + if x != nil { + return x.Metric + } + return nil +} + +func (x *ObjectMetricStatus) GetCurrent() *MetricValueStatus { + if x != nil { + return x.Current + } + return nil +} + +func (x *ObjectMetricStatus) GetDescribedObject() *CrossVersionObjectReference { + if x != nil { + return x.DescribedObject + } + return nil +} + +// See k8s.io.api.core.v1.PodAffinity. +type PodAffinity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RequiredDuringSchedulingIgnoredDuringExecution []*PodAffinityTerm `protobuf:"bytes,1,rep,name=requiredDuringSchedulingIgnoredDuringExecution,proto3" json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` + PreferredDuringSchedulingIgnoredDuringExecution []*WeightedPodAffinityTerm `protobuf:"bytes,2,rep,name=preferredDuringSchedulingIgnoredDuringExecution,proto3" json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"` +} + +func (x *PodAffinity) Reset() { + *x = PodAffinity{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PodAffinity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PodAffinity) ProtoMessage() {} + +func (x *PodAffinity) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PodAffinity.ProtoReflect.Descriptor instead. +func (*PodAffinity) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{41} +} + +func (x *PodAffinity) GetRequiredDuringSchedulingIgnoredDuringExecution() []*PodAffinityTerm { + if x != nil { + return x.RequiredDuringSchedulingIgnoredDuringExecution + } + return nil +} + +func (x *PodAffinity) GetPreferredDuringSchedulingIgnoredDuringExecution() []*WeightedPodAffinityTerm { + if x != nil { + return x.PreferredDuringSchedulingIgnoredDuringExecution + } + return nil +} + +// See k8s.io.api.core.v1.PodAntiAffinity. +type PodAntiAffinity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RequiredDuringSchedulingIgnoredDuringExecution []*PodAffinityTerm `protobuf:"bytes,1,rep,name=requiredDuringSchedulingIgnoredDuringExecution,proto3" json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` + PreferredDuringSchedulingIgnoredDuringExecution []*WeightedPodAffinityTerm `protobuf:"bytes,2,rep,name=preferredDuringSchedulingIgnoredDuringExecution,proto3" json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"` +} + +func (x *PodAntiAffinity) Reset() { + *x = PodAntiAffinity{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PodAntiAffinity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PodAntiAffinity) ProtoMessage() {} + +func (x *PodAntiAffinity) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PodAntiAffinity.ProtoReflect.Descriptor instead. +func (*PodAntiAffinity) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{42} +} + +func (x *PodAntiAffinity) GetRequiredDuringSchedulingIgnoredDuringExecution() []*PodAffinityTerm { + if x != nil { + return x.RequiredDuringSchedulingIgnoredDuringExecution + } + return nil +} + +func (x *PodAntiAffinity) GetPreferredDuringSchedulingIgnoredDuringExecution() []*WeightedPodAffinityTerm { + if x != nil { + return x.PreferredDuringSchedulingIgnoredDuringExecution + } + return nil +} + +// See k8s.io.api.core.v1.PodAntiAffinity. +type PodAffinityTerm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // For information about the value format, see the [Kubernetes API reference documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#labelselector-v1-meta). + LabelSelector *v11.LabelSelector `protobuf:"bytes,1,opt,name=labelSelector,proto3" json:"labelSelector,omitempty"` + Namespaces []string `protobuf:"bytes,2,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + TopologyKey string `protobuf:"bytes,3,opt,name=topologyKey,proto3" json:"topologyKey,omitempty"` +} + +func (x *PodAffinityTerm) Reset() { + *x = PodAffinityTerm{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PodAffinityTerm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PodAffinityTerm) ProtoMessage() {} + +func (x *PodAffinityTerm) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PodAffinityTerm.ProtoReflect.Descriptor instead. +func (*PodAffinityTerm) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{43} +} + +func (x *PodAffinityTerm) GetLabelSelector() *v11.LabelSelector { + if x != nil { + return x.LabelSelector + } + return nil +} + +func (x *PodAffinityTerm) GetNamespaces() []string { + if x != nil { + return x.Namespaces + } + return nil +} + +func (x *PodAffinityTerm) GetTopologyKey() string { + if x != nil { + return x.TopologyKey + } + return "" +} + +// See k8s.io.api.policy.v1beta1.PodDisruptionBudget. +type PodDisruptionBudgetSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + MinAvailable *_struct.Value `protobuf:"bytes,1,opt,name=minAvailable,proto3" json:"minAvailable,omitempty"` + // For information about the value format, see the [Kubernetes API reference documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#labelselector-v1-meta). + Selector *v11.LabelSelector `protobuf:"bytes,2,opt,name=selector,proto3" json:"selector,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + MaxUnavailable *_struct.Value `protobuf:"bytes,3,opt,name=maxUnavailable,proto3" json:"maxUnavailable,omitempty"` +} + +func (x *PodDisruptionBudgetSpec) Reset() { + *x = PodDisruptionBudgetSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PodDisruptionBudgetSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PodDisruptionBudgetSpec) ProtoMessage() {} + +func (x *PodDisruptionBudgetSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PodDisruptionBudgetSpec.ProtoReflect.Descriptor instead. +func (*PodDisruptionBudgetSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{44} +} + +func (x *PodDisruptionBudgetSpec) GetMinAvailable() *_struct.Value { + if x != nil { + return x.MinAvailable + } + return nil +} + +func (x *PodDisruptionBudgetSpec) GetSelector() *v11.LabelSelector { + if x != nil { + return x.Selector + } + return nil +} + +func (x *PodDisruptionBudgetSpec) GetMaxUnavailable() *_struct.Value { + if x != nil { + return x.MaxUnavailable + } + return nil +} + +// See k8s.io.autoscaling.v2beta2.PodsMetricSource. +type PodsMetricSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated: Do not use. + MetricName string `protobuf:"bytes,1,opt,name=metricName,proto3" json:"metricName,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + // + // Deprecated: Do not use. + TargetAverageValue *_struct.Value `protobuf:"bytes,2,opt,name=targetAverageValue,proto3" json:"targetAverageValue,omitempty"` + // For information about the value format, see the [Kubernetes API reference documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#labelselector-v1-meta). + // + // Deprecated: Do not use. + Selector *v11.LabelSelector `protobuf:"bytes,3,opt,name=selector,proto3" json:"selector,omitempty"` + // v2beta2/v2 fields + Metric *MetricIdentifier `protobuf:"bytes,4,opt,name=metric,proto3" json:"metric,omitempty"` + Target *MetricTarget `protobuf:"bytes,5,opt,name=target,proto3" json:"target,omitempty"` +} + +func (x *PodsMetricSource) Reset() { + *x = PodsMetricSource{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PodsMetricSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PodsMetricSource) ProtoMessage() {} + +func (x *PodsMetricSource) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PodsMetricSource.ProtoReflect.Descriptor instead. +func (*PodsMetricSource) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{45} +} + +// Deprecated: Do not use. +func (x *PodsMetricSource) GetMetricName() string { + if x != nil { + return x.MetricName + } + return "" +} + +// Deprecated: Do not use. +func (x *PodsMetricSource) GetTargetAverageValue() *_struct.Value { + if x != nil { + return x.TargetAverageValue + } + return nil +} + +// Deprecated: Do not use. +func (x *PodsMetricSource) GetSelector() *v11.LabelSelector { + if x != nil { + return x.Selector + } + return nil +} + +func (x *PodsMetricSource) GetMetric() *MetricIdentifier { + if x != nil { + return x.Metric + } + return nil +} + +func (x *PodsMetricSource) GetTarget() *MetricTarget { + if x != nil { + return x.Target + } + return nil +} + +// See k8s.io.autoscaling.v2beta2.PodsMetricStatus. +type PodsMetricStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metric *MetricIdentifier `protobuf:"bytes,1,opt,name=metric,proto3" json:"metric,omitempty"` + Current *MetricValueStatus `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"` +} + +func (x *PodsMetricStatus) Reset() { + *x = PodsMetricStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PodsMetricStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PodsMetricStatus) ProtoMessage() {} + +func (x *PodsMetricStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PodsMetricStatus.ProtoReflect.Descriptor instead. +func (*PodsMetricStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{46} +} + +func (x *PodsMetricStatus) GetMetric() *MetricIdentifier { + if x != nil { + return x.Metric + } + return nil +} + +func (x *PodsMetricStatus) GetCurrent() *MetricValueStatus { + if x != nil { + return x.Current + } + return nil +} + +// See k8s.io.api.core.v1.PreferredSchedulingTerm. +type PreferredSchedulingTerm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Weight int32 `protobuf:"varint,1,opt,name=weight,proto3" json:"weight,omitempty"` + Preference *NodeSelectorTerm `protobuf:"bytes,2,opt,name=preference,proto3" json:"preference,omitempty"` +} + +func (x *PreferredSchedulingTerm) Reset() { + *x = PreferredSchedulingTerm{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PreferredSchedulingTerm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreferredSchedulingTerm) ProtoMessage() {} + +func (x *PreferredSchedulingTerm) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PreferredSchedulingTerm.ProtoReflect.Descriptor instead. +func (*PreferredSchedulingTerm) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{47} +} + +func (x *PreferredSchedulingTerm) GetWeight() int32 { + if x != nil { + return x.Weight + } + return 0 +} + +func (x *PreferredSchedulingTerm) GetPreference() *NodeSelectorTerm { + if x != nil { + return x.Preference + } + return nil +} + +// See k8s.io.api.core.v1.ReadinessProbe. +type ReadinessProbe struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Exec *ExecAction `protobuf:"bytes,1,opt,name=exec,proto3" json:"exec,omitempty"` + HttpGet *HTTPGetAction `protobuf:"bytes,2,opt,name=httpGet,proto3" json:"httpGet,omitempty"` + TcpSocket *TCPSocketAction `protobuf:"bytes,3,opt,name=tcpSocket,proto3" json:"tcpSocket,omitempty"` + InitialDelaySeconds int32 `protobuf:"varint,4,opt,name=initialDelaySeconds,proto3" json:"initialDelaySeconds,omitempty"` + TimeoutSeconds int32 `protobuf:"varint,5,opt,name=timeoutSeconds,proto3" json:"timeoutSeconds,omitempty"` + PeriodSeconds int32 `protobuf:"varint,6,opt,name=periodSeconds,proto3" json:"periodSeconds,omitempty"` + SuccessThreshold int32 `protobuf:"varint,7,opt,name=successThreshold,proto3" json:"successThreshold,omitempty"` + FailureThreshold int32 `protobuf:"varint,8,opt,name=failureThreshold,proto3" json:"failureThreshold,omitempty"` +} + +func (x *ReadinessProbe) Reset() { + *x = ReadinessProbe{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadinessProbe) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadinessProbe) ProtoMessage() {} + +func (x *ReadinessProbe) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReadinessProbe.ProtoReflect.Descriptor instead. +func (*ReadinessProbe) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{48} +} + +func (x *ReadinessProbe) GetExec() *ExecAction { + if x != nil { + return x.Exec + } + return nil +} + +func (x *ReadinessProbe) GetHttpGet() *HTTPGetAction { + if x != nil { + return x.HttpGet + } + return nil +} + +func (x *ReadinessProbe) GetTcpSocket() *TCPSocketAction { + if x != nil { + return x.TcpSocket + } + return nil +} + +func (x *ReadinessProbe) GetInitialDelaySeconds() int32 { + if x != nil { + return x.InitialDelaySeconds + } + return 0 +} + +func (x *ReadinessProbe) GetTimeoutSeconds() int32 { + if x != nil { + return x.TimeoutSeconds + } + return 0 +} + +func (x *ReadinessProbe) GetPeriodSeconds() int32 { + if x != nil { + return x.PeriodSeconds + } + return 0 +} + +func (x *ReadinessProbe) GetSuccessThreshold() int32 { + if x != nil { + return x.SuccessThreshold + } + return 0 +} + +func (x *ReadinessProbe) GetFailureThreshold() int32 { + if x != nil { + return x.FailureThreshold + } + return 0 +} + +// See k8s.io.api.core.v1.. +type ResourceFieldSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContainerName string `protobuf:"bytes,1,opt,name=containerName,proto3" json:"containerName,omitempty"` + Resource string `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + Divisor *_struct.Value `protobuf:"bytes,3,opt,name=divisor,proto3" json:"divisor,omitempty"` +} + +func (x *ResourceFieldSelector) Reset() { + *x = ResourceFieldSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourceFieldSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceFieldSelector) ProtoMessage() {} + +func (x *ResourceFieldSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceFieldSelector.ProtoReflect.Descriptor instead. +func (*ResourceFieldSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{49} +} + +func (x *ResourceFieldSelector) GetContainerName() string { + if x != nil { + return x.ContainerName + } + return "" +} + +func (x *ResourceFieldSelector) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + +func (x *ResourceFieldSelector) GetDivisor() *_struct.Value { + if x != nil { + return x.Divisor + } + return nil +} + +// See k8s.io.autoscaling.v2beta2.ResourceMetricSource. +type ResourceMetricSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Deprecated: Do not use. + TargetAverageUtilization int32 `protobuf:"varint,2,opt,name=targetAverageUtilization,proto3" json:"targetAverageUtilization,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + // + // Deprecated: Do not use. + TargetAverageValue *_struct.Value `protobuf:"bytes,3,opt,name=targetAverageValue,proto3" json:"targetAverageValue,omitempty"` + Target *MetricTarget `protobuf:"bytes,4,opt,name=target,proto3" json:"target,omitempty"` +} + +func (x *ResourceMetricSource) Reset() { + *x = ResourceMetricSource{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourceMetricSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceMetricSource) ProtoMessage() {} + +func (x *ResourceMetricSource) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceMetricSource.ProtoReflect.Descriptor instead. +func (*ResourceMetricSource) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{50} +} + +func (x *ResourceMetricSource) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Deprecated: Do not use. +func (x *ResourceMetricSource) GetTargetAverageUtilization() int32 { + if x != nil { + return x.TargetAverageUtilization + } + return 0 +} + +// Deprecated: Do not use. +func (x *ResourceMetricSource) GetTargetAverageValue() *_struct.Value { + if x != nil { + return x.TargetAverageValue + } + return nil +} + +func (x *ResourceMetricSource) GetTarget() *MetricTarget { + if x != nil { + return x.Target + } + return nil +} + +// See k8s.io.autoscaling.v2beta2.ResourceMetricStatus. +type ResourceMetricStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Current *MetricValueStatus `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"` +} + +func (x *ResourceMetricStatus) Reset() { + *x = ResourceMetricStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourceMetricStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceMetricStatus) ProtoMessage() {} + +func (x *ResourceMetricStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceMetricStatus.ProtoReflect.Descriptor instead. +func (*ResourceMetricStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{51} +} + +func (x *ResourceMetricStatus) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResourceMetricStatus) GetCurrent() *MetricValueStatus { + if x != nil { + return x.Current + } + return nil +} + +// See k8s.io.api.core.v1.ResourceRequirements. +type Resources struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Limits map[string]string `protobuf:"bytes,1,rep,name=limits,proto3" json:"limits,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Requests map[string]string `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Resources) Reset() { + *x = Resources{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Resources) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Resources) ProtoMessage() {} + +func (x *Resources) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Resources.ProtoReflect.Descriptor instead. +func (*Resources) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{52} +} + +func (x *Resources) GetLimits() map[string]string { + if x != nil { + return x.Limits + } + return nil +} + +func (x *Resources) GetRequests() map[string]string { + if x != nil { + return x.Requests + } + return nil +} + +// See k8s.io.api.apps.v1.RollingUpdateDeployment. +type RollingUpdateDeployment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + MaxUnavailable *_struct.Value `protobuf:"bytes,1,opt,name=maxUnavailable,proto3" json:"maxUnavailable,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + MaxSurge *_struct.Value `protobuf:"bytes,2,opt,name=maxSurge,proto3" json:"maxSurge,omitempty"` +} + +func (x *RollingUpdateDeployment) Reset() { + *x = RollingUpdateDeployment{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RollingUpdateDeployment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RollingUpdateDeployment) ProtoMessage() {} + +func (x *RollingUpdateDeployment) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RollingUpdateDeployment.ProtoReflect.Descriptor instead. +func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{53} +} + +func (x *RollingUpdateDeployment) GetMaxUnavailable() *_struct.Value { + if x != nil { + return x.MaxUnavailable + } + return nil +} + +func (x *RollingUpdateDeployment) GetMaxSurge() *_struct.Value { + if x != nil { + return x.MaxSurge + } + return nil +} + +// See k8s.io.api.core.v1.SecretKeySelector. +type SecretKeySelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LocalObjectReference *LocalObjectReference `protobuf:"bytes,1,opt,name=localObjectReference,proto3" json:"localObjectReference,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + Optional bool `protobuf:"varint,3,opt,name=optional,proto3" json:"optional,omitempty"` +} + +func (x *SecretKeySelector) Reset() { + *x = SecretKeySelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SecretKeySelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SecretKeySelector) ProtoMessage() {} + +func (x *SecretKeySelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SecretKeySelector.ProtoReflect.Descriptor instead. +func (*SecretKeySelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{54} +} + +func (x *SecretKeySelector) GetLocalObjectReference() *LocalObjectReference { + if x != nil { + return x.LocalObjectReference + } + return nil +} + +func (x *SecretKeySelector) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *SecretKeySelector) GetOptional() bool { + if x != nil { + return x.Optional + } + return false +} + +// See k8s.io.api.core.v1.ServiceSpec. +type ServiceSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ports []*ServicePort `protobuf:"bytes,1,rep,name=ports,proto3" json:"ports,omitempty"` + Selector map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ClusterIP string `protobuf:"bytes,3,opt,name=clusterIP,proto3" json:"clusterIP,omitempty"` + Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` + ExternalIPs []string `protobuf:"bytes,5,rep,name=externalIPs,proto3" json:"externalIPs,omitempty"` + SessionAffinity string `protobuf:"bytes,7,opt,name=sessionAffinity,proto3" json:"sessionAffinity,omitempty"` + LoadBalancerIP string `protobuf:"bytes,8,opt,name=loadBalancerIP,proto3" json:"loadBalancerIP,omitempty"` + LoadBalancerSourceRanges []string `protobuf:"bytes,9,rep,name=loadBalancerSourceRanges,proto3" json:"loadBalancerSourceRanges,omitempty"` + ExternalName string `protobuf:"bytes,10,opt,name=externalName,proto3" json:"externalName,omitempty"` + ExternalTrafficPolicy string `protobuf:"bytes,11,opt,name=externalTrafficPolicy,proto3" json:"externalTrafficPolicy,omitempty"` + HealthCheckNodePort int32 `protobuf:"varint,12,opt,name=healthCheckNodePort,proto3" json:"healthCheckNodePort,omitempty"` + PublishNotReadyAddresses bool `protobuf:"varint,13,opt,name=publishNotReadyAddresses,proto3" json:"publishNotReadyAddresses,omitempty"` + SessionAffinityConfig *SessionAffinityConfig `protobuf:"bytes,14,opt,name=sessionAffinityConfig,proto3" json:"sessionAffinityConfig,omitempty"` +} + +func (x *ServiceSpec) Reset() { + *x = ServiceSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServiceSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceSpec) ProtoMessage() {} + +func (x *ServiceSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServiceSpec.ProtoReflect.Descriptor instead. +func (*ServiceSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{55} +} + +func (x *ServiceSpec) GetPorts() []*ServicePort { + if x != nil { + return x.Ports + } + return nil +} + +func (x *ServiceSpec) GetSelector() map[string]string { + if x != nil { + return x.Selector + } + return nil +} + +func (x *ServiceSpec) GetClusterIP() string { + if x != nil { + return x.ClusterIP + } + return "" +} + +func (x *ServiceSpec) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ServiceSpec) GetExternalIPs() []string { + if x != nil { + return x.ExternalIPs + } + return nil +} + +func (x *ServiceSpec) GetSessionAffinity() string { + if x != nil { + return x.SessionAffinity + } + return "" +} + +func (x *ServiceSpec) GetLoadBalancerIP() string { + if x != nil { + return x.LoadBalancerIP + } + return "" +} + +func (x *ServiceSpec) GetLoadBalancerSourceRanges() []string { + if x != nil { + return x.LoadBalancerSourceRanges + } + return nil +} + +func (x *ServiceSpec) GetExternalName() string { + if x != nil { + return x.ExternalName + } + return "" +} + +func (x *ServiceSpec) GetExternalTrafficPolicy() string { + if x != nil { + return x.ExternalTrafficPolicy + } + return "" +} + +func (x *ServiceSpec) GetHealthCheckNodePort() int32 { + if x != nil { + return x.HealthCheckNodePort + } + return 0 +} + +func (x *ServiceSpec) GetPublishNotReadyAddresses() bool { + if x != nil { + return x.PublishNotReadyAddresses + } + return false +} + +func (x *ServiceSpec) GetSessionAffinityConfig() *SessionAffinityConfig { + if x != nil { + return x.SessionAffinityConfig + } + return nil +} + +// See k8s.io.api.core.v1.. +type ServicePort struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"` + Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + TargetPort *_struct.Value `protobuf:"bytes,4,opt,name=targetPort,proto3" json:"targetPort,omitempty"` + NodePort int32 `protobuf:"varint,5,opt,name=nodePort,proto3" json:"nodePort,omitempty"` +} + +func (x *ServicePort) Reset() { + *x = ServicePort{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePort) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePort) ProtoMessage() {} + +func (x *ServicePort) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServicePort.ProtoReflect.Descriptor instead. +func (*ServicePort) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{56} +} + +func (x *ServicePort) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ServicePort) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *ServicePort) GetPort() int32 { + if x != nil { + return x.Port + } + return 0 +} + +func (x *ServicePort) GetTargetPort() *_struct.Value { + if x != nil { + return x.TargetPort + } + return nil +} + +func (x *ServicePort) GetNodePort() int32 { + if x != nil { + return x.NodePort + } + return 0 +} + +// See k8s.io.api.core.v1.SessionAffinityConfig. +type SessionAffinityConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientIP *ClientIPConfig `protobuf:"bytes,1,opt,name=clientIP,proto3" json:"clientIP,omitempty"` +} + +func (x *SessionAffinityConfig) Reset() { + *x = SessionAffinityConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SessionAffinityConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionAffinityConfig) ProtoMessage() {} + +func (x *SessionAffinityConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionAffinityConfig.ProtoReflect.Descriptor instead. +func (*SessionAffinityConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{57} +} + +func (x *SessionAffinityConfig) GetClientIP() *ClientIPConfig { + if x != nil { + return x.ClientIP + } + return nil +} + +// See k8s.io.api.core.v1.TCPSocketAction. +type TCPSocketAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + Port *_struct.Value `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` + Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` +} + +func (x *TCPSocketAction) Reset() { + *x = TCPSocketAction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TCPSocketAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TCPSocketAction) ProtoMessage() {} + +func (x *TCPSocketAction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TCPSocketAction.ProtoReflect.Descriptor instead. +func (*TCPSocketAction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{58} +} + +func (x *TCPSocketAction) GetPort() *_struct.Value { + if x != nil { + return x.Port + } + return nil +} + +func (x *TCPSocketAction) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +// See k8s.io.api.core.v1.Toleration. +type Toleration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Effect string `protobuf:"bytes,4,opt,name=effect,proto3" json:"effect,omitempty"` + TolerationSeconds int64 `protobuf:"varint,5,opt,name=tolerationSeconds,proto3" json:"tolerationSeconds,omitempty"` +} + +func (x *Toleration) Reset() { + *x = Toleration{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Toleration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Toleration) ProtoMessage() {} + +func (x *Toleration) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Toleration.ProtoReflect.Descriptor instead. +func (*Toleration) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{59} +} + +func (x *Toleration) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *Toleration) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *Toleration) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *Toleration) GetEffect() string { + if x != nil { + return x.Effect + } + return "" +} + +func (x *Toleration) GetTolerationSeconds() int64 { + if x != nil { + return x.TolerationSeconds + } + return 0 +} + +// See k8s.io.api.core.v1.WeightedPodAffinityTerm. +type WeightedPodAffinityTerm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Weight int32 `protobuf:"varint,1,opt,name=weight,proto3" json:"weight,omitempty"` + PodAffinityTerm *PodAffinityTerm `protobuf:"bytes,2,opt,name=podAffinityTerm,proto3" json:"podAffinityTerm,omitempty"` +} + +func (x *WeightedPodAffinityTerm) Reset() { + *x = WeightedPodAffinityTerm{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WeightedPodAffinityTerm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WeightedPodAffinityTerm) ProtoMessage() {} + +func (x *WeightedPodAffinityTerm) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WeightedPodAffinityTerm.ProtoReflect.Descriptor instead. +func (*WeightedPodAffinityTerm) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{60} +} + +func (x *WeightedPodAffinityTerm) GetWeight() int32 { + if x != nil { + return x.Weight + } + return 0 +} + +func (x *WeightedPodAffinityTerm) GetPodAffinityTerm() *PodAffinityTerm { + if x != nil { + return x.PodAffinityTerm + } + return nil +} + +// See k8s.io.api.core.v1.PodSecurityContext. +type PodSecurityContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SeLinuxOptions *SELinuxOptions `protobuf:"bytes,1,opt,name=seLinuxOptions,proto3" json:"seLinuxOptions,omitempty"` + RunAsUser int64 `protobuf:"varint,2,opt,name=runAsUser,proto3" json:"runAsUser,omitempty"` + RunAsNonRoot bool `protobuf:"varint,3,opt,name=runAsNonRoot,proto3" json:"runAsNonRoot,omitempty"` + SupplementalGroups []int64 `protobuf:"varint,4,rep,packed,name=supplementalGroups,proto3" json:"supplementalGroups,omitempty"` + FsGroup int64 `protobuf:"varint,5,opt,name=fsGroup,proto3" json:"fsGroup,omitempty"` + RunAsGroup int64 `protobuf:"varint,6,opt,name=runAsGroup,proto3" json:"runAsGroup,omitempty"` + Sysctls []*Sysctl `protobuf:"bytes,7,rep,name=sysctls,proto3" json:"sysctls,omitempty"` + WindowsOptions *WindowsSecurityContextOptions `protobuf:"bytes,8,opt,name=windowsOptions,proto3" json:"windowsOptions,omitempty"` + FsGroupChangePolicy string `protobuf:"bytes,9,opt,name=fsGroupChangePolicy,proto3" json:"fsGroupChangePolicy,omitempty"` + SeccompProfile *SeccompProfile `protobuf:"bytes,10,opt,name=seccompProfile,proto3" json:"seccompProfile,omitempty"` +} + +func (x *PodSecurityContext) Reset() { + *x = PodSecurityContext{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PodSecurityContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PodSecurityContext) ProtoMessage() {} + +func (x *PodSecurityContext) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PodSecurityContext.ProtoReflect.Descriptor instead. +func (*PodSecurityContext) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{61} +} + +func (x *PodSecurityContext) GetSeLinuxOptions() *SELinuxOptions { + if x != nil { + return x.SeLinuxOptions + } + return nil +} + +func (x *PodSecurityContext) GetRunAsUser() int64 { + if x != nil { + return x.RunAsUser + } + return 0 +} + +func (x *PodSecurityContext) GetRunAsNonRoot() bool { + if x != nil { + return x.RunAsNonRoot + } + return false +} + +func (x *PodSecurityContext) GetSupplementalGroups() []int64 { + if x != nil { + return x.SupplementalGroups + } + return nil +} + +func (x *PodSecurityContext) GetFsGroup() int64 { + if x != nil { + return x.FsGroup + } + return 0 +} + +func (x *PodSecurityContext) GetRunAsGroup() int64 { + if x != nil { + return x.RunAsGroup + } + return 0 +} + +func (x *PodSecurityContext) GetSysctls() []*Sysctl { + if x != nil { + return x.Sysctls + } + return nil +} + +func (x *PodSecurityContext) GetWindowsOptions() *WindowsSecurityContextOptions { + if x != nil { + return x.WindowsOptions + } + return nil +} + +func (x *PodSecurityContext) GetFsGroupChangePolicy() string { + if x != nil { + return x.FsGroupChangePolicy + } + return "" +} + +func (x *PodSecurityContext) GetSeccompProfile() *SeccompProfile { + if x != nil { + return x.SeccompProfile + } + return nil +} + +// See k8s.io.api.core.v1.SELinuxOptions. +type SELinuxOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` + Level string `protobuf:"bytes,4,opt,name=level,proto3" json:"level,omitempty"` +} + +func (x *SELinuxOptions) Reset() { + *x = SELinuxOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SELinuxOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SELinuxOptions) ProtoMessage() {} + +func (x *SELinuxOptions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SELinuxOptions.ProtoReflect.Descriptor instead. +func (*SELinuxOptions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{62} +} + +func (x *SELinuxOptions) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +func (x *SELinuxOptions) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +func (x *SELinuxOptions) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *SELinuxOptions) GetLevel() string { + if x != nil { + return x.Level + } + return "" +} + +// See k8s.io.api.core.v1.Sysctl. +type Sysctl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Sysctl) Reset() { + *x = Sysctl{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Sysctl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Sysctl) ProtoMessage() {} + +func (x *Sysctl) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Sysctl.ProtoReflect.Descriptor instead. +func (*Sysctl) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{63} +} + +func (x *Sysctl) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Sysctl) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +// See k8s.io.api.core.v1.WindowsSecurityContextOptions. +type WindowsSecurityContextOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GmsaCredentialSpecName string `protobuf:"bytes,1,opt,name=gmsaCredentialSpecName,proto3" json:"gmsaCredentialSpecName,omitempty"` + GmsaCredentialSpec string `protobuf:"bytes,2,opt,name=gmsaCredentialSpec,proto3" json:"gmsaCredentialSpec,omitempty"` + RunAsUserName string `protobuf:"bytes,3,opt,name=runAsUserName,proto3" json:"runAsUserName,omitempty"` +} + +func (x *WindowsSecurityContextOptions) Reset() { + *x = WindowsSecurityContextOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WindowsSecurityContextOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WindowsSecurityContextOptions) ProtoMessage() {} + +func (x *WindowsSecurityContextOptions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WindowsSecurityContextOptions.ProtoReflect.Descriptor instead. +func (*WindowsSecurityContextOptions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{64} +} + +func (x *WindowsSecurityContextOptions) GetGmsaCredentialSpecName() string { + if x != nil { + return x.GmsaCredentialSpecName + } + return "" +} + +func (x *WindowsSecurityContextOptions) GetGmsaCredentialSpec() string { + if x != nil { + return x.GmsaCredentialSpec + } + return "" +} + +func (x *WindowsSecurityContextOptions) GetRunAsUserName() string { + if x != nil { + return x.RunAsUserName + } + return "" +} + +// See k8s.io.api.core.v1.SeccompProfile. +type SeccompProfile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + LocalhostProfile string `protobuf:"bytes,2,opt,name=localhostProfile,proto3" json:"localhostProfile,omitempty"` +} + +func (x *SeccompProfile) Reset() { + *x = SeccompProfile{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SeccompProfile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SeccompProfile) ProtoMessage() {} + +func (x *SeccompProfile) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SeccompProfile.ProtoReflect.Descriptor instead. +func (*SeccompProfile) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{65} +} + +func (x *SeccompProfile) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *SeccompProfile) GetLocalhostProfile() string { + if x != nil { + return x.LocalhostProfile + } + return "" +} + +// VersionStatus is the status and version of a component. +type InstallStatus_VersionStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + Status InstallStatus_Status `protobuf:"varint,2,opt,name=status,proto3,enum=common.gloo.solo.io.InstallStatus_Status" json:"status,omitempty"` + Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *InstallStatus_VersionStatus) Reset() { + *x = InstallStatus_VersionStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstallStatus_VersionStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallStatus_VersionStatus) ProtoMessage() {} + +func (x *InstallStatus_VersionStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallStatus_VersionStatus.ProtoReflect.Descriptor instead. +func (*InstallStatus_VersionStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *InstallStatus_VersionStatus) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *InstallStatus_VersionStatus) GetStatus() InstallStatus_Status { + if x != nil { + return x.Status + } + return InstallStatus_NONE +} + +func (x *InstallStatus_VersionStatus) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +type K8SObjectOverlay_PathValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Path of the form a.[key1:value1].b.[:value2] + // Where [key1:value1] is a selector for a key-value pair to identify a list element and [:value] is a value + // selector to identify a list element in a leaf list. + // All path intermediate nodes must exist. + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + // Value to add, delete or replace. + // For add, the path should be a new leaf. + // For delete, value should be unset. + // For replace, path should reference an existing node. + // All values are strings but are converted into appropriate type based on schema. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + Value *_struct.Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *K8SObjectOverlay_PathValue) Reset() { + *x = K8SObjectOverlay_PathValue{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *K8SObjectOverlay_PathValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*K8SObjectOverlay_PathValue) ProtoMessage() {} + +func (x *K8SObjectOverlay_PathValue) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use K8SObjectOverlay_PathValue.ProtoReflect.Descriptor instead. +func (*K8SObjectOverlay_PathValue) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP(), []int{8, 0} +} + +func (x *K8SObjectOverlay_PathValue) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *K8SObjectOverlay_PathValue) GetValue() *_struct.Value { + if x != nil { + return x.Value + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDesc = []byte{ + 0x0a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x6b, 0x38, + 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x34, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, + 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x05, 0x0a, 0x11, 0x49, 0x73, 0x74, 0x69, 0x6f, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x75, 0x62, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x68, 0x75, 0x62, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x0e, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x6d, 0x65, + 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0a, + 0x6d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4a, 0x0a, 0x0a, 0x63, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x69, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x0f, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x64, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, + 0x01, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x11, 0x75, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x65, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x05, 0xea, + 0x42, 0x02, 0x10, 0x01, 0x52, 0x11, 0x75, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x6e, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x6f, 0x6e, + 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xaa, 0x04, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x61, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x37, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x82, 0x01, 0x0a, 0x0d, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x74, + 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, + 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, + 0x49, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, + 0x48, 0x59, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, + 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, + 0x45, 0x44, 0x10, 0x05, 0x22, 0x94, 0x04, 0x0a, 0x15, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x43, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3a, + 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x69, + 0x6c, 0x6f, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x05, 0x70, + 0x69, 0x6c, 0x6f, 0x74, 0x12, 0x34, 0x0a, 0x03, 0x63, 0x6e, 0x69, 0x18, 0x26, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x03, 0x63, 0x6e, 0x69, 0x12, 0x46, 0x0a, 0x0c, 0x69, 0x73, + 0x74, 0x69, 0x6f, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x53, 0x70, 0x65, 0x63, 0x52, 0x0c, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x64, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0f, 0x69, + 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x48, + 0x0a, 0x0e, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, + 0x18, 0x29, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x4a, 0x04, 0x08, 0x1f, 0x10, 0x20, 0x4a, 0x04, + 0x08, 0x20, 0x10, 0x21, 0x4a, 0x04, 0x08, 0x21, 0x10, 0x22, 0x4a, 0x04, 0x08, 0x22, 0x10, 0x23, + 0x4a, 0x04, 0x08, 0x23, 0x10, 0x24, 0x4a, 0x04, 0x08, 0x24, 0x10, 0x25, 0x4a, 0x04, 0x08, 0x25, + 0x10, 0x26, 0x52, 0x07, 0x63, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52, 0x06, + 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x79, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x10, 0x73, 0x69, 0x64, 0x65, 0x63, + 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x93, 0x01, 0x0a, 0x11, + 0x42, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x03, 0x6b, 0x38, 0x73, 0x18, 0x32, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, + 0x6e, 0x65, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x70, + 0x65, 0x63, 0x42, 0x08, 0xea, 0x42, 0x05, 0x1a, 0x03, 0x6b, 0x38, 0x73, 0x52, 0x03, 0x6b, 0x38, + 0x73, 0x22, 0x85, 0x02, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x75, 0x62, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x68, 0x75, 0x62, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x32, 0x0a, 0x04, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, + 0x48, 0x0a, 0x03, 0x6b, 0x38, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xea, 0x42, 0x05, 0x1a, + 0x03, 0x6b, 0x38, 0x73, 0x52, 0x03, 0x6b, 0x38, 0x73, 0x22, 0xbc, 0x02, 0x0a, 0x15, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x05, + 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x68, 0x61, 0x72, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x68, 0x61, 0x72, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, + 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x48, + 0x0a, 0x03, 0x6b, 0x38, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xea, 0x42, 0x05, 0x1a, 0x03, + 0x6b, 0x38, 0x73, 0x52, 0x03, 0x6b, 0x38, 0x73, 0x22, 0xe0, 0x02, 0x0a, 0x0b, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x41, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x75, 0x62, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x68, 0x75, 0x62, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x48, 0x0a, 0x03, 0x6b, 0x38, 0x73, 0x18, 0x32, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, + 0x6e, 0x65, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x70, + 0x65, 0x63, 0x42, 0x08, 0xea, 0x42, 0x05, 0x1a, 0x03, 0x6b, 0x38, 0x73, 0x52, 0x03, 0x6b, 0x38, + 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf5, 0x0c, 0x0a, 0x17, + 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x40, 0x0a, 0x08, 0x61, 0x66, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, + 0x08, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x03, 0x65, 0x6e, 0x76, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x6e, 0x76, + 0x56, 0x61, 0x72, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, + 0x51, 0x0a, 0x07, 0x68, 0x70, 0x61, 0x53, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, + 0x6c, 0x50, 0x6f, 0x64, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x53, 0x70, + 0x65, 0x63, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x07, 0x68, 0x70, 0x61, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x62, 0x0a, 0x0c, + 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x12, 0x65, 0x0a, 0x13, 0x70, 0x6f, 0x64, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x05, 0xea, 0x42, 0x02, + 0x10, 0x01, 0x52, 0x13, 0x70, 0x6f, 0x64, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x68, 0x0a, 0x0e, 0x70, 0x6f, 0x64, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x40, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x6f, + 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0e, 0x70, 0x6f, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x52, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, + 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x42, 0x05, 0xea, 0x42, + 0x02, 0x10, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, + 0x6f, 0x62, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, + 0x01, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x07, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, + 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x4a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, + 0x01, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x48, 0x0a, 0x0b, 0x74, + 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x74, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x0f, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x05, 0xea, + 0x42, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, + 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, + 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, + 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x48, + 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x38, 0x73, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x08, + 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x4e, 0x6f, 0x64, 0x65, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x50, 0x6f, 0x64, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x45, 0x0a, 0x17, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xfb, 0x01, 0x0a, 0x10, 0x4b, 0x38, 0x73, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, + 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x49, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x38, 0x73, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x07, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x1a, 0x54, 0x0a, 0x09, 0x50, + 0x61, 0x74, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x33, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x08, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x45, + 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x41, + 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0b, 0x70, 0x6f, 0x64, 0x41, 0x66, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x50, 0x6f, 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x70, 0x6f, + 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x4e, 0x0a, 0x0f, 0x70, 0x6f, 0x64, + 0x41, 0x6e, 0x74, 0x69, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x41, 0x6e, 0x74, 0x69, + 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x70, 0x6f, 0x64, 0x41, 0x6e, 0x74, + 0x69, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x22, 0xa3, 0x01, 0x0a, 0x14, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x12, 0x5d, 0x0a, 0x14, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x14, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, + 0x8c, 0x01, 0x0a, 0x1d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x93, + 0x01, 0x0a, 0x1d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x07, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x22, 0x38, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x65, + 0x0a, 0x1b, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x52, 0x0a, 0x0d, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x22, 0x73, 0x0a, 0x06, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x22, 0xcd, 0x02, 0x0a, 0x0c, 0x45, 0x6e, 0x76, + 0x56, 0x61, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x52, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x12, + 0x56, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x52, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x12, 0x53, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x4d, 0x61, 0x70, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, + 0x4b, 0x65, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x66, 0x12, 0x4a, 0x0a, 0x0c, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, + 0x65, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x66, 0x22, 0x26, 0x0a, 0x0a, 0x45, 0x78, 0x65, 0x63, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x22, 0xa9, 0x03, 0x0a, 0x14, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5f, 0x0a, + 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, + 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x41, + 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x18, 0x01, 0xea, + 0x42, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x4f, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x18, 0x01, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x12, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x97, 0x01, 0x0a, + 0x14, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x07, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xc5, 0x01, 0x0a, 0x0d, 0x48, 0x54, 0x54, 0x50, 0x47, + 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x31, 0x0a, 0x04, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, + 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x68, + 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x36, + 0x0a, 0x0a, 0x48, 0x54, 0x54, 0x50, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc8, 0x02, 0x0a, 0x1b, 0x48, 0x6f, 0x72, 0x69, 0x7a, + 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x64, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x58, 0x0a, 0x0e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x0e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, + 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, + 0x50, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, + 0x61, 0x6c, 0x50, 0x6f, 0x64, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x22, 0xa5, 0x01, 0x0a, 0x1f, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, + 0x50, 0x6f, 0x64, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x65, 0x68, + 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x07, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x55, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x50, 0x41, + 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x07, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x55, 0x70, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x44, 0x6f, + 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, + 0x50, 0x41, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x09, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0xb8, 0x01, 0x0a, 0x0f, 0x48, 0x50, + 0x41, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x3e, 0x0a, + 0x1a, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x1a, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x22, 0x0a, + 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x41, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x50, 0x41, 0x53, 0x63, 0x61, + 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x22, 0x62, 0x0a, 0x10, 0x48, 0x50, 0x41, 0x53, 0x63, 0x61, 0x6c, 0x69, + 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x69, 0x6f, + 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x2a, 0x0a, 0x14, 0x4c, 0x6f, 0x63, 0x61, + 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x77, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x08, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x8c, 0x03, + 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x39, 0x0a, 0x04, 0x70, 0x6f, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x70, 0x6f, 0x64, 0x73, 0x12, 0x45, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x60, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x22, 0x8e, 0x03, 0x0a, + 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x70, 0x6f, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x04, 0x70, 0x6f, 0x64, 0x73, 0x12, 0x45, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x60, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x22, 0xca, 0x01, + 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x61, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x61, 0x76, + 0x65, 0x72, 0x61, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x61, 0x76, + 0x65, 0x72, 0x61, 0x67, 0x65, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x55, + 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x01, 0x0a, 0x11, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x61, 0x76, 0x65, 0x72, + 0x61, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x61, 0x76, 0x65, 0x72, + 0x61, 0x67, 0x65, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x55, 0x74, 0x69, + 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x02, 0x0a, 0x0c, 0x4e, 0x6f, 0x64, + 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x89, 0x01, 0x0a, 0x2e, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, + 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x44, + 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x49, + 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x96, 0x01, 0x0a, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x69, 0x6e, 0x67, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x53, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x52, 0x2f, 0x70, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x44, + 0x75, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x63, + 0x0a, 0x0c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x53, + 0x0a, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x65, + 0x72, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x65, 0x72, 0x6d, + 0x52, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x65, + 0x72, 0x6d, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x10, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x54, 0x65, 0x72, 0x6d, 0x12, 0x58, 0x0a, 0x10, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x73, 0x22, 0x5f, 0x0a, 0x17, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x22, 0x53, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, + 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x22, 0x3e, 0x0a, 0x0a, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xe7, 0x03, 0x0a, 0x12, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x22, 0x0a, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x42, 0x07, 0x18, 0x01, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, + 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x18, 0x01, 0xea, 0x42, 0x02, + 0x10, 0x01, 0x52, 0x0c, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x35, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, + 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x5a, 0x0a, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x22, 0xf1, 0x01, 0x0a, 0x12, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5a, 0x0a, 0x0f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xb5, 0x02, 0x0a, 0x0b, 0x50, 0x6f, 0x64, 0x41, 0x66, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x8c, 0x01, 0x0a, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x69, 0x6e, 0x67, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x79, 0x54, 0x65, 0x72, 0x6d, 0x52, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x44, + 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x49, + 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x96, 0x01, 0x0a, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x69, 0x6e, 0x67, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x50, 0x6f, + 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x52, 0x2f, 0x70, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x44, + 0x75, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, + 0x02, 0x0a, 0x0f, 0x50, 0x6f, 0x64, 0x41, 0x6e, 0x74, 0x69, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x79, 0x12, 0x8c, 0x01, 0x0a, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x44, + 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x49, + 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x65, 0x72, + 0x6d, 0x52, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, + 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x67, 0x6e, 0x6f, 0x72, + 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x96, 0x01, 0x0a, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x44, + 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x49, + 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x64, 0x41, 0x66, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x52, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x75, 0x72, 0x69, 0x6e, + 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, 0x0a, 0x0f, 0x50, + 0x6f, 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x12, 0x59, + 0x0a, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, + 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x70, + 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x4b, 0x65, 0x79, 0x22, 0xf4, 0x01, 0x0a, 0x17, + 0x50, 0x6f, 0x64, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x64, + 0x67, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x41, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x6d, 0x69, + 0x6e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6b, + 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x45, 0x0a, 0x0e, 0x6d, + 0x61, 0x78, 0x55, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, + 0x10, 0x01, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x55, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x22, 0xd6, 0x02, 0x0a, 0x10, 0x50, 0x6f, 0x64, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, + 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x12, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x07, 0x18, 0x01, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x53, 0x0a, 0x08, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x3d, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x12, 0x39, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x93, 0x01, 0x0a, 0x10, + 0x50, 0x6f, 0x64, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x3d, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, + 0x40, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x22, 0x78, 0x0a, 0x17, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, + 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x65, 0x72, 0x6d, 0x52, + 0x0a, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x9f, 0x03, 0x0a, 0x0e, + 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x33, + 0x0a, 0x04, 0x65, 0x78, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x65, + 0x78, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x07, 0x68, 0x74, 0x74, 0x70, 0x47, 0x65, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x47, + 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x47, 0x65, + 0x74, 0x12, 0x42, 0x0a, 0x09, 0x74, 0x63, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x43, 0x50, 0x53, 0x6f, + 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x74, 0x63, 0x70, 0x53, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, + 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x66, 0x61, 0x69, + 0x6c, 0x75, 0x72, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x92, 0x01, + 0x0a, 0x15, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x64, 0x69, 0x76, + 0x69, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x07, 0x64, 0x69, 0x76, 0x69, 0x73, + 0x6f, 0x72, 0x22, 0xf6, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x3e, 0x0a, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x76, 0x65, + 0x72, 0x61, 0x67, 0x65, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x4f, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x07, 0x18, 0x01, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x12, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x39, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x6c, 0x0a, 0x14, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x91, 0x02, 0x0a, 0x09, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x3b, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9b, 0x01, + 0x0a, 0x17, 0x52, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x61, 0x78, + 0x55, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, + 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x55, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x39, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x75, 0x72, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, + 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x75, 0x72, 0x67, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x11, + 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x5d, 0x0a, 0x14, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x14, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0xda, + 0x05, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x36, + 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, + 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x50, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x50, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x49, 0x50, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x49, 0x50, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, + 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, + 0x49, 0x50, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x49, 0x50, 0x12, 0x3a, 0x0a, 0x18, 0x6c, 0x6f, 0x61, 0x64, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x6c, 0x6f, 0x61, 0x64, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, + 0x0a, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, + 0x65, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x3a, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x52, 0x65, + 0x61, 0x64, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x52, 0x65, + 0x61, 0x64, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x15, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x3b, + 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xac, 0x01, 0x0a, 0x0b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x3d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, + 0x10, 0x01, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x58, 0x0a, 0x15, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x50, 0x22, 0x58, 0x0a, 0x0f, 0x54, 0x43, 0x50, 0x53, 0x6f, 0x63, 0x6b, 0x65, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, + 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, + 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x22, 0x96, + 0x01, 0x0a, 0x0a, 0x54, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x6c, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x17, 0x57, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x54, + 0x65, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x4e, 0x0a, 0x0f, 0x70, + 0x6f, 0x64, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x41, 0x66, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x52, 0x0f, 0x70, 0x6f, 0x64, 0x41, + 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x22, 0x9f, 0x04, 0x0a, 0x12, + 0x50, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x12, 0x4b, 0x0a, 0x0e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x53, 0x45, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x0e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x41, 0x73, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x41, 0x73, 0x55, 0x73, 0x65, 0x72, 0x12, 0x22, 0x0a, + 0x0c, 0x72, 0x75, 0x6e, 0x41, 0x73, 0x4e, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x41, 0x73, 0x4e, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, + 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x12, 0x73, + 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x07, 0x66, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x72, + 0x75, 0x6e, 0x41, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0a, 0x72, 0x75, 0x6e, 0x41, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x35, 0x0a, 0x07, 0x73, + 0x79, 0x73, 0x63, 0x74, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x52, 0x07, 0x73, 0x79, 0x73, 0x63, 0x74, + 0x6c, 0x73, 0x12, 0x5a, 0x0a, 0x0e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, + 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, + 0x0a, 0x13, 0x66, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x66, 0x73, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x4b, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, + 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0e, 0x73, + 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x62, 0x0a, + 0x0e, 0x53, 0x45, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x22, 0x32, 0x0a, 0x06, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xad, 0x01, 0x0a, 0x1d, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x73, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x67, 0x6d, 0x73, 0x61, 0x43, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x67, 0x6d, 0x73, 0x61, 0x43, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x2e, 0x0a, 0x12, 0x67, 0x6d, 0x73, 0x61, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x53, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x67, 0x6d, 0x73, + 0x61, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x24, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x41, 0x73, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x41, 0x73, 0x55, 0x73, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, + 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x00, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes = make([]protoimpl.MessageInfo, 77) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_goTypes = []interface{}{ + (InstallStatus_Status)(0), // 0: common.gloo.solo.io.InstallStatus.Status + (*IstioOperatorSpec)(nil), // 1: common.gloo.solo.io.IstioOperatorSpec + (*InstallStatus)(nil), // 2: common.gloo.solo.io.InstallStatus + (*IstioComponentSetSpec)(nil), // 3: common.gloo.solo.io.IstioComponentSetSpec + (*BaseComponentSpec)(nil), // 4: common.gloo.solo.io.BaseComponentSpec + (*ComponentSpec)(nil), // 5: common.gloo.solo.io.ComponentSpec + (*ExternalComponentSpec)(nil), // 6: common.gloo.solo.io.ExternalComponentSpec + (*GatewaySpec)(nil), // 7: common.gloo.solo.io.GatewaySpec + (*KubernetesResourcesSpec)(nil), // 8: common.gloo.solo.io.KubernetesResourcesSpec + (*K8SObjectOverlay)(nil), // 9: common.gloo.solo.io.K8sObjectOverlay + (*Affinity)(nil), // 10: common.gloo.solo.io.Affinity + (*ConfigMapKeySelector)(nil), // 11: common.gloo.solo.io.ConfigMapKeySelector + (*ContainerResourceMetricSource)(nil), // 12: common.gloo.solo.io.ContainerResourceMetricSource + (*ContainerResourceMetricStatus)(nil), // 13: common.gloo.solo.io.ContainerResourceMetricStatus + (*ClientIPConfig)(nil), // 14: common.gloo.solo.io.ClientIPConfig + (*CrossVersionObjectReference)(nil), // 15: common.gloo.solo.io.CrossVersionObjectReference + (*DeploymentStrategy)(nil), // 16: common.gloo.solo.io.DeploymentStrategy + (*EnvVar)(nil), // 17: common.gloo.solo.io.EnvVar + (*EnvVarSource)(nil), // 18: common.gloo.solo.io.EnvVarSource + (*ExecAction)(nil), // 19: common.gloo.solo.io.ExecAction + (*ExternalMetricSource)(nil), // 20: common.gloo.solo.io.ExternalMetricSource + (*ExternalMetricStatus)(nil), // 21: common.gloo.solo.io.ExternalMetricStatus + (*HTTPGetAction)(nil), // 22: common.gloo.solo.io.HTTPGetAction + (*HTTPHeader)(nil), // 23: common.gloo.solo.io.HTTPHeader + (*HorizontalPodAutoscalerSpec)(nil), // 24: common.gloo.solo.io.HorizontalPodAutoscalerSpec + (*HorizontalPodAutoScalerBehavior)(nil), // 25: common.gloo.solo.io.HorizontalPodAutoScalerBehavior + (*HPAScalingRules)(nil), // 26: common.gloo.solo.io.HPAScalingRules + (*HPAScalingPolicy)(nil), // 27: common.gloo.solo.io.HPAScalingPolicy + (*LocalObjectReference)(nil), // 28: common.gloo.solo.io.LocalObjectReference + (*MetricIdentifier)(nil), // 29: common.gloo.solo.io.MetricIdentifier + (*MetricSpec)(nil), // 30: common.gloo.solo.io.MetricSpec + (*MetricStatus)(nil), // 31: common.gloo.solo.io.MetricStatus + (*MetricTarget)(nil), // 32: common.gloo.solo.io.MetricTarget + (*MetricValueStatus)(nil), // 33: common.gloo.solo.io.MetricValueStatus + (*NodeAffinity)(nil), // 34: common.gloo.solo.io.NodeAffinity + (*NodeSelector)(nil), // 35: common.gloo.solo.io.NodeSelector + (*NodeSelectorTerm)(nil), // 36: common.gloo.solo.io.NodeSelectorTerm + (*NodeSelectorRequirement)(nil), // 37: common.gloo.solo.io.NodeSelectorRequirement + (*ObjectFieldSelector)(nil), // 38: common.gloo.solo.io.ObjectFieldSelector + (*ObjectMeta)(nil), // 39: common.gloo.solo.io.ObjectMeta + (*ObjectMetricSource)(nil), // 40: common.gloo.solo.io.ObjectMetricSource + (*ObjectMetricStatus)(nil), // 41: common.gloo.solo.io.ObjectMetricStatus + (*PodAffinity)(nil), // 42: common.gloo.solo.io.PodAffinity + (*PodAntiAffinity)(nil), // 43: common.gloo.solo.io.PodAntiAffinity + (*PodAffinityTerm)(nil), // 44: common.gloo.solo.io.PodAffinityTerm + (*PodDisruptionBudgetSpec)(nil), // 45: common.gloo.solo.io.PodDisruptionBudgetSpec + (*PodsMetricSource)(nil), // 46: common.gloo.solo.io.PodsMetricSource + (*PodsMetricStatus)(nil), // 47: common.gloo.solo.io.PodsMetricStatus + (*PreferredSchedulingTerm)(nil), // 48: common.gloo.solo.io.PreferredSchedulingTerm + (*ReadinessProbe)(nil), // 49: common.gloo.solo.io.ReadinessProbe + (*ResourceFieldSelector)(nil), // 50: common.gloo.solo.io.ResourceFieldSelector + (*ResourceMetricSource)(nil), // 51: common.gloo.solo.io.ResourceMetricSource + (*ResourceMetricStatus)(nil), // 52: common.gloo.solo.io.ResourceMetricStatus + (*Resources)(nil), // 53: common.gloo.solo.io.Resources + (*RollingUpdateDeployment)(nil), // 54: common.gloo.solo.io.RollingUpdateDeployment + (*SecretKeySelector)(nil), // 55: common.gloo.solo.io.SecretKeySelector + (*ServiceSpec)(nil), // 56: common.gloo.solo.io.ServiceSpec + (*ServicePort)(nil), // 57: common.gloo.solo.io.ServicePort + (*SessionAffinityConfig)(nil), // 58: common.gloo.solo.io.SessionAffinityConfig + (*TCPSocketAction)(nil), // 59: common.gloo.solo.io.TCPSocketAction + (*Toleration)(nil), // 60: common.gloo.solo.io.Toleration + (*WeightedPodAffinityTerm)(nil), // 61: common.gloo.solo.io.WeightedPodAffinityTerm + (*PodSecurityContext)(nil), // 62: common.gloo.solo.io.PodSecurityContext + (*SELinuxOptions)(nil), // 63: common.gloo.solo.io.SELinuxOptions + (*Sysctl)(nil), // 64: common.gloo.solo.io.Sysctl + (*WindowsSecurityContextOptions)(nil), // 65: common.gloo.solo.io.WindowsSecurityContextOptions + (*SeccompProfile)(nil), // 66: common.gloo.solo.io.SeccompProfile + nil, // 67: common.gloo.solo.io.IstioOperatorSpec.AddonComponentsEntry + (*InstallStatus_VersionStatus)(nil), // 68: common.gloo.solo.io.InstallStatus.VersionStatus + nil, // 69: common.gloo.solo.io.InstallStatus.ComponentStatusEntry + nil, // 70: common.gloo.solo.io.GatewaySpec.LabelEntry + nil, // 71: common.gloo.solo.io.KubernetesResourcesSpec.NodeSelectorEntry + nil, // 72: common.gloo.solo.io.KubernetesResourcesSpec.PodAnnotationsEntry + nil, // 73: common.gloo.solo.io.KubernetesResourcesSpec.ServiceAnnotationsEntry + (*K8SObjectOverlay_PathValue)(nil), // 74: common.gloo.solo.io.K8sObjectOverlay.PathValue + nil, // 75: common.gloo.solo.io.Resources.LimitsEntry + nil, // 76: common.gloo.solo.io.Resources.RequestsEntry + nil, // 77: common.gloo.solo.io.ServiceSpec.SelectorEntry + (*_struct.Struct)(nil), // 78: google.protobuf.Struct + (*wrappers.BoolValue)(nil), // 79: google.protobuf.BoolValue + (*any1.Any)(nil), // 80: google.protobuf.Any + (*v1.Volume)(nil), // 81: k8s.io.api.core.v1.Volume + (*v1.VolumeMount)(nil), // 82: k8s.io.api.core.v1.VolumeMount + (*v11.LabelSelector)(nil), // 83: k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector + (*_struct.Value)(nil), // 84: google.protobuf.Value +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_depIdxs = []int32{ + 78, // 0: common.gloo.solo.io.IstioOperatorSpec.meshConfig:type_name -> google.protobuf.Struct + 3, // 1: common.gloo.solo.io.IstioOperatorSpec.components:type_name -> common.gloo.solo.io.IstioComponentSetSpec + 67, // 2: common.gloo.solo.io.IstioOperatorSpec.addonComponents:type_name -> common.gloo.solo.io.IstioOperatorSpec.AddonComponentsEntry + 78, // 3: common.gloo.solo.io.IstioOperatorSpec.values:type_name -> google.protobuf.Struct + 78, // 4: common.gloo.solo.io.IstioOperatorSpec.unvalidatedValues:type_name -> google.protobuf.Struct + 0, // 5: common.gloo.solo.io.InstallStatus.status:type_name -> common.gloo.solo.io.InstallStatus.Status + 69, // 6: common.gloo.solo.io.InstallStatus.componentStatus:type_name -> common.gloo.solo.io.InstallStatus.ComponentStatusEntry + 4, // 7: common.gloo.solo.io.IstioComponentSetSpec.base:type_name -> common.gloo.solo.io.BaseComponentSpec + 5, // 8: common.gloo.solo.io.IstioComponentSetSpec.pilot:type_name -> common.gloo.solo.io.ComponentSpec + 5, // 9: common.gloo.solo.io.IstioComponentSetSpec.cni:type_name -> common.gloo.solo.io.ComponentSpec + 5, // 10: common.gloo.solo.io.IstioComponentSetSpec.istiodRemote:type_name -> common.gloo.solo.io.ComponentSpec + 7, // 11: common.gloo.solo.io.IstioComponentSetSpec.ingressGateways:type_name -> common.gloo.solo.io.GatewaySpec + 7, // 12: common.gloo.solo.io.IstioComponentSetSpec.egressGateways:type_name -> common.gloo.solo.io.GatewaySpec + 79, // 13: common.gloo.solo.io.BaseComponentSpec.enabled:type_name -> google.protobuf.BoolValue + 8, // 14: common.gloo.solo.io.BaseComponentSpec.k8s:type_name -> common.gloo.solo.io.KubernetesResourcesSpec + 79, // 15: common.gloo.solo.io.ComponentSpec.enabled:type_name -> google.protobuf.BoolValue + 78, // 16: common.gloo.solo.io.ComponentSpec.spec:type_name -> google.protobuf.Struct + 8, // 17: common.gloo.solo.io.ComponentSpec.k8s:type_name -> common.gloo.solo.io.KubernetesResourcesSpec + 79, // 18: common.gloo.solo.io.ExternalComponentSpec.enabled:type_name -> google.protobuf.BoolValue + 78, // 19: common.gloo.solo.io.ExternalComponentSpec.spec:type_name -> google.protobuf.Struct + 80, // 20: common.gloo.solo.io.ExternalComponentSpec.schema:type_name -> google.protobuf.Any + 8, // 21: common.gloo.solo.io.ExternalComponentSpec.k8s:type_name -> common.gloo.solo.io.KubernetesResourcesSpec + 79, // 22: common.gloo.solo.io.GatewaySpec.enabled:type_name -> google.protobuf.BoolValue + 70, // 23: common.gloo.solo.io.GatewaySpec.label:type_name -> common.gloo.solo.io.GatewaySpec.LabelEntry + 8, // 24: common.gloo.solo.io.GatewaySpec.k8s:type_name -> common.gloo.solo.io.KubernetesResourcesSpec + 10, // 25: common.gloo.solo.io.KubernetesResourcesSpec.affinity:type_name -> common.gloo.solo.io.Affinity + 17, // 26: common.gloo.solo.io.KubernetesResourcesSpec.env:type_name -> common.gloo.solo.io.EnvVar + 24, // 27: common.gloo.solo.io.KubernetesResourcesSpec.hpaSpec:type_name -> common.gloo.solo.io.HorizontalPodAutoscalerSpec + 71, // 28: common.gloo.solo.io.KubernetesResourcesSpec.nodeSelector:type_name -> common.gloo.solo.io.KubernetesResourcesSpec.NodeSelectorEntry + 45, // 29: common.gloo.solo.io.KubernetesResourcesSpec.podDisruptionBudget:type_name -> common.gloo.solo.io.PodDisruptionBudgetSpec + 72, // 30: common.gloo.solo.io.KubernetesResourcesSpec.podAnnotations:type_name -> common.gloo.solo.io.KubernetesResourcesSpec.PodAnnotationsEntry + 49, // 31: common.gloo.solo.io.KubernetesResourcesSpec.readinessProbe:type_name -> common.gloo.solo.io.ReadinessProbe + 53, // 32: common.gloo.solo.io.KubernetesResourcesSpec.resources:type_name -> common.gloo.solo.io.Resources + 56, // 33: common.gloo.solo.io.KubernetesResourcesSpec.service:type_name -> common.gloo.solo.io.ServiceSpec + 16, // 34: common.gloo.solo.io.KubernetesResourcesSpec.strategy:type_name -> common.gloo.solo.io.DeploymentStrategy + 60, // 35: common.gloo.solo.io.KubernetesResourcesSpec.tolerations:type_name -> common.gloo.solo.io.Toleration + 73, // 36: common.gloo.solo.io.KubernetesResourcesSpec.serviceAnnotations:type_name -> common.gloo.solo.io.KubernetesResourcesSpec.ServiceAnnotationsEntry + 62, // 37: common.gloo.solo.io.KubernetesResourcesSpec.securityContext:type_name -> common.gloo.solo.io.PodSecurityContext + 81, // 38: common.gloo.solo.io.KubernetesResourcesSpec.volumes:type_name -> k8s.io.api.core.v1.Volume + 82, // 39: common.gloo.solo.io.KubernetesResourcesSpec.volumeMounts:type_name -> k8s.io.api.core.v1.VolumeMount + 9, // 40: common.gloo.solo.io.KubernetesResourcesSpec.overlays:type_name -> common.gloo.solo.io.K8sObjectOverlay + 74, // 41: common.gloo.solo.io.K8sObjectOverlay.patches:type_name -> common.gloo.solo.io.K8sObjectOverlay.PathValue + 34, // 42: common.gloo.solo.io.Affinity.nodeAffinity:type_name -> common.gloo.solo.io.NodeAffinity + 42, // 43: common.gloo.solo.io.Affinity.podAffinity:type_name -> common.gloo.solo.io.PodAffinity + 43, // 44: common.gloo.solo.io.Affinity.podAntiAffinity:type_name -> common.gloo.solo.io.PodAntiAffinity + 28, // 45: common.gloo.solo.io.ConfigMapKeySelector.localObjectReference:type_name -> common.gloo.solo.io.LocalObjectReference + 32, // 46: common.gloo.solo.io.ContainerResourceMetricSource.target:type_name -> common.gloo.solo.io.MetricTarget + 33, // 47: common.gloo.solo.io.ContainerResourceMetricStatus.current:type_name -> common.gloo.solo.io.MetricValueStatus + 54, // 48: common.gloo.solo.io.DeploymentStrategy.rollingUpdate:type_name -> common.gloo.solo.io.RollingUpdateDeployment + 18, // 49: common.gloo.solo.io.EnvVar.valueFrom:type_name -> common.gloo.solo.io.EnvVarSource + 38, // 50: common.gloo.solo.io.EnvVarSource.fieldRef:type_name -> common.gloo.solo.io.ObjectFieldSelector + 50, // 51: common.gloo.solo.io.EnvVarSource.resourceFieldRef:type_name -> common.gloo.solo.io.ResourceFieldSelector + 11, // 52: common.gloo.solo.io.EnvVarSource.configMapKeyRef:type_name -> common.gloo.solo.io.ConfigMapKeySelector + 55, // 53: common.gloo.solo.io.EnvVarSource.secretKeyRef:type_name -> common.gloo.solo.io.SecretKeySelector + 83, // 54: common.gloo.solo.io.ExternalMetricSource.metricSelector:type_name -> k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector + 84, // 55: common.gloo.solo.io.ExternalMetricSource.targetValue:type_name -> google.protobuf.Value + 84, // 56: common.gloo.solo.io.ExternalMetricSource.targetAverageValue:type_name -> google.protobuf.Value + 29, // 57: common.gloo.solo.io.ExternalMetricSource.metric:type_name -> common.gloo.solo.io.MetricIdentifier + 32, // 58: common.gloo.solo.io.ExternalMetricSource.target:type_name -> common.gloo.solo.io.MetricTarget + 29, // 59: common.gloo.solo.io.ExternalMetricStatus.metric:type_name -> common.gloo.solo.io.MetricIdentifier + 33, // 60: common.gloo.solo.io.ExternalMetricStatus.current:type_name -> common.gloo.solo.io.MetricValueStatus + 84, // 61: common.gloo.solo.io.HTTPGetAction.port:type_name -> google.protobuf.Value + 23, // 62: common.gloo.solo.io.HTTPGetAction.httpHeaders:type_name -> common.gloo.solo.io.HTTPHeader + 15, // 63: common.gloo.solo.io.HorizontalPodAutoscalerSpec.scaleTargetRef:type_name -> common.gloo.solo.io.CrossVersionObjectReference + 30, // 64: common.gloo.solo.io.HorizontalPodAutoscalerSpec.metrics:type_name -> common.gloo.solo.io.MetricSpec + 25, // 65: common.gloo.solo.io.HorizontalPodAutoscalerSpec.behavior:type_name -> common.gloo.solo.io.HorizontalPodAutoScalerBehavior + 26, // 66: common.gloo.solo.io.HorizontalPodAutoScalerBehavior.scaleUp:type_name -> common.gloo.solo.io.HPAScalingRules + 26, // 67: common.gloo.solo.io.HorizontalPodAutoScalerBehavior.scaleDown:type_name -> common.gloo.solo.io.HPAScalingRules + 27, // 68: common.gloo.solo.io.HPAScalingRules.policies:type_name -> common.gloo.solo.io.HPAScalingPolicy + 83, // 69: common.gloo.solo.io.MetricIdentifier.selector:type_name -> k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector + 40, // 70: common.gloo.solo.io.MetricSpec.object:type_name -> common.gloo.solo.io.ObjectMetricSource + 46, // 71: common.gloo.solo.io.MetricSpec.pods:type_name -> common.gloo.solo.io.PodsMetricSource + 51, // 72: common.gloo.solo.io.MetricSpec.resource:type_name -> common.gloo.solo.io.ResourceMetricSource + 12, // 73: common.gloo.solo.io.MetricSpec.containerResource:type_name -> common.gloo.solo.io.ContainerResourceMetricSource + 20, // 74: common.gloo.solo.io.MetricSpec.external:type_name -> common.gloo.solo.io.ExternalMetricSource + 41, // 75: common.gloo.solo.io.MetricStatus.object:type_name -> common.gloo.solo.io.ObjectMetricStatus + 47, // 76: common.gloo.solo.io.MetricStatus.pods:type_name -> common.gloo.solo.io.PodsMetricStatus + 52, // 77: common.gloo.solo.io.MetricStatus.resource:type_name -> common.gloo.solo.io.ResourceMetricStatus + 13, // 78: common.gloo.solo.io.MetricStatus.containerResource:type_name -> common.gloo.solo.io.ContainerResourceMetricStatus + 21, // 79: common.gloo.solo.io.MetricStatus.external:type_name -> common.gloo.solo.io.ExternalMetricStatus + 84, // 80: common.gloo.solo.io.MetricTarget.value:type_name -> google.protobuf.Value + 84, // 81: common.gloo.solo.io.MetricTarget.averageValue:type_name -> google.protobuf.Value + 84, // 82: common.gloo.solo.io.MetricValueStatus.value:type_name -> google.protobuf.Value + 84, // 83: common.gloo.solo.io.MetricValueStatus.averageValue:type_name -> google.protobuf.Value + 35, // 84: common.gloo.solo.io.NodeAffinity.requiredDuringSchedulingIgnoredDuringExecution:type_name -> common.gloo.solo.io.NodeSelector + 48, // 85: common.gloo.solo.io.NodeAffinity.preferredDuringSchedulingIgnoredDuringExecution:type_name -> common.gloo.solo.io.PreferredSchedulingTerm + 36, // 86: common.gloo.solo.io.NodeSelector.nodeSelectorTerms:type_name -> common.gloo.solo.io.NodeSelectorTerm + 37, // 87: common.gloo.solo.io.NodeSelectorTerm.matchExpressions:type_name -> common.gloo.solo.io.NodeSelectorRequirement + 37, // 88: common.gloo.solo.io.NodeSelectorTerm.matchFields:type_name -> common.gloo.solo.io.NodeSelectorRequirement + 84, // 89: common.gloo.solo.io.ObjectMetricSource.targetValue:type_name -> google.protobuf.Value + 83, // 90: common.gloo.solo.io.ObjectMetricSource.selector:type_name -> k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector + 84, // 91: common.gloo.solo.io.ObjectMetricSource.averageValue:type_name -> google.protobuf.Value + 84, // 92: common.gloo.solo.io.ObjectMetricSource.target:type_name -> google.protobuf.Value + 15, // 93: common.gloo.solo.io.ObjectMetricSource.describedObject:type_name -> common.gloo.solo.io.CrossVersionObjectReference + 29, // 94: common.gloo.solo.io.ObjectMetricSource.metric:type_name -> common.gloo.solo.io.MetricIdentifier + 29, // 95: common.gloo.solo.io.ObjectMetricStatus.metric:type_name -> common.gloo.solo.io.MetricIdentifier + 33, // 96: common.gloo.solo.io.ObjectMetricStatus.current:type_name -> common.gloo.solo.io.MetricValueStatus + 15, // 97: common.gloo.solo.io.ObjectMetricStatus.describedObject:type_name -> common.gloo.solo.io.CrossVersionObjectReference + 44, // 98: common.gloo.solo.io.PodAffinity.requiredDuringSchedulingIgnoredDuringExecution:type_name -> common.gloo.solo.io.PodAffinityTerm + 61, // 99: common.gloo.solo.io.PodAffinity.preferredDuringSchedulingIgnoredDuringExecution:type_name -> common.gloo.solo.io.WeightedPodAffinityTerm + 44, // 100: common.gloo.solo.io.PodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution:type_name -> common.gloo.solo.io.PodAffinityTerm + 61, // 101: common.gloo.solo.io.PodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution:type_name -> common.gloo.solo.io.WeightedPodAffinityTerm + 83, // 102: common.gloo.solo.io.PodAffinityTerm.labelSelector:type_name -> k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector + 84, // 103: common.gloo.solo.io.PodDisruptionBudgetSpec.minAvailable:type_name -> google.protobuf.Value + 83, // 104: common.gloo.solo.io.PodDisruptionBudgetSpec.selector:type_name -> k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector + 84, // 105: common.gloo.solo.io.PodDisruptionBudgetSpec.maxUnavailable:type_name -> google.protobuf.Value + 84, // 106: common.gloo.solo.io.PodsMetricSource.targetAverageValue:type_name -> google.protobuf.Value + 83, // 107: common.gloo.solo.io.PodsMetricSource.selector:type_name -> k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector + 29, // 108: common.gloo.solo.io.PodsMetricSource.metric:type_name -> common.gloo.solo.io.MetricIdentifier + 32, // 109: common.gloo.solo.io.PodsMetricSource.target:type_name -> common.gloo.solo.io.MetricTarget + 29, // 110: common.gloo.solo.io.PodsMetricStatus.metric:type_name -> common.gloo.solo.io.MetricIdentifier + 33, // 111: common.gloo.solo.io.PodsMetricStatus.current:type_name -> common.gloo.solo.io.MetricValueStatus + 36, // 112: common.gloo.solo.io.PreferredSchedulingTerm.preference:type_name -> common.gloo.solo.io.NodeSelectorTerm + 19, // 113: common.gloo.solo.io.ReadinessProbe.exec:type_name -> common.gloo.solo.io.ExecAction + 22, // 114: common.gloo.solo.io.ReadinessProbe.httpGet:type_name -> common.gloo.solo.io.HTTPGetAction + 59, // 115: common.gloo.solo.io.ReadinessProbe.tcpSocket:type_name -> common.gloo.solo.io.TCPSocketAction + 84, // 116: common.gloo.solo.io.ResourceFieldSelector.divisor:type_name -> google.protobuf.Value + 84, // 117: common.gloo.solo.io.ResourceMetricSource.targetAverageValue:type_name -> google.protobuf.Value + 32, // 118: common.gloo.solo.io.ResourceMetricSource.target:type_name -> common.gloo.solo.io.MetricTarget + 33, // 119: common.gloo.solo.io.ResourceMetricStatus.current:type_name -> common.gloo.solo.io.MetricValueStatus + 75, // 120: common.gloo.solo.io.Resources.limits:type_name -> common.gloo.solo.io.Resources.LimitsEntry + 76, // 121: common.gloo.solo.io.Resources.requests:type_name -> common.gloo.solo.io.Resources.RequestsEntry + 84, // 122: common.gloo.solo.io.RollingUpdateDeployment.maxUnavailable:type_name -> google.protobuf.Value + 84, // 123: common.gloo.solo.io.RollingUpdateDeployment.maxSurge:type_name -> google.protobuf.Value + 28, // 124: common.gloo.solo.io.SecretKeySelector.localObjectReference:type_name -> common.gloo.solo.io.LocalObjectReference + 57, // 125: common.gloo.solo.io.ServiceSpec.ports:type_name -> common.gloo.solo.io.ServicePort + 77, // 126: common.gloo.solo.io.ServiceSpec.selector:type_name -> common.gloo.solo.io.ServiceSpec.SelectorEntry + 58, // 127: common.gloo.solo.io.ServiceSpec.sessionAffinityConfig:type_name -> common.gloo.solo.io.SessionAffinityConfig + 84, // 128: common.gloo.solo.io.ServicePort.targetPort:type_name -> google.protobuf.Value + 14, // 129: common.gloo.solo.io.SessionAffinityConfig.clientIP:type_name -> common.gloo.solo.io.ClientIPConfig + 84, // 130: common.gloo.solo.io.TCPSocketAction.port:type_name -> google.protobuf.Value + 44, // 131: common.gloo.solo.io.WeightedPodAffinityTerm.podAffinityTerm:type_name -> common.gloo.solo.io.PodAffinityTerm + 63, // 132: common.gloo.solo.io.PodSecurityContext.seLinuxOptions:type_name -> common.gloo.solo.io.SELinuxOptions + 64, // 133: common.gloo.solo.io.PodSecurityContext.sysctls:type_name -> common.gloo.solo.io.Sysctl + 65, // 134: common.gloo.solo.io.PodSecurityContext.windowsOptions:type_name -> common.gloo.solo.io.WindowsSecurityContextOptions + 66, // 135: common.gloo.solo.io.PodSecurityContext.seccompProfile:type_name -> common.gloo.solo.io.SeccompProfile + 6, // 136: common.gloo.solo.io.IstioOperatorSpec.AddonComponentsEntry.value:type_name -> common.gloo.solo.io.ExternalComponentSpec + 0, // 137: common.gloo.solo.io.InstallStatus.VersionStatus.status:type_name -> common.gloo.solo.io.InstallStatus.Status + 68, // 138: common.gloo.solo.io.InstallStatus.ComponentStatusEntry.value:type_name -> common.gloo.solo.io.InstallStatus.VersionStatus + 84, // 139: common.gloo.solo.io.K8sObjectOverlay.PathValue.value:type_name -> google.protobuf.Value + 140, // [140:140] is the sub-list for method output_type + 140, // [140:140] is the sub-list for method input_type + 140, // [140:140] is the sub-list for extension type_name + 140, // [140:140] is the sub-list for extension extendee + 0, // [0:140] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IstioOperatorSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstallStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IstioComponentSetSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BaseComponentSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComponentSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalComponentSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GatewaySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KubernetesResourcesSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*K8SObjectOverlay); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Affinity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigMapKeySelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContainerResourceMetricSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContainerResourceMetricStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientIPConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CrossVersionObjectReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeploymentStrategy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnvVar); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnvVarSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalMetricSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalMetricStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HTTPGetAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HTTPHeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HorizontalPodAutoscalerSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HorizontalPodAutoScalerBehavior); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HPAScalingRules); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HPAScalingPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LocalObjectReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricIdentifier); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricTarget); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricValueStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NodeAffinity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NodeSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NodeSelectorTerm); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NodeSelectorRequirement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ObjectFieldSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ObjectMeta); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ObjectMetricSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ObjectMetricStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PodAffinity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PodAntiAffinity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PodAffinityTerm); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PodDisruptionBudgetSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PodsMetricSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PodsMetricStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PreferredSchedulingTerm); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadinessProbe); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourceFieldSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourceMetricSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourceMetricStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Resources); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RollingUpdateDeployment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SecretKeySelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePort); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SessionAffinityConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TCPSocketAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Toleration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WeightedPodAffinityTerm); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PodSecurityContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SELinuxOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Sysctl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WindowsSecurityContextOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SeccompProfile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstallStatus_VersionStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*K8SObjectOverlay_PathValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDesc, + NumEnums: 1, + NumMessages: 77, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_istio_operator_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/istio_operator.pb.hash.go b/client-go/common.gloo.solo.io/v2/istio_operator.pb.hash.go new file mode 100644 index 000000000..3b2cdb15c --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/istio_operator.pb.hash.go @@ -0,0 +1,4525 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/istio_operator.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *IstioOperatorSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.IstioOperatorSpec")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetProfile())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetInstallPackagePath())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHub())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTag())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetResourceSuffix())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRevision())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetDefaultRevision()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMeshConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MeshConfig")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMeshConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MeshConfig")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetComponents()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Components")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetComponents(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Components")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAddonComponents() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetValues()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Values")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetValues(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Values")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetUnvalidatedValues()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("UnvalidatedValues")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetUnvalidatedValues(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("UnvalidatedValues")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *InstallStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.InstallStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetStatus()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMessage())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetComponentStatus() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IstioComponentSetSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.IstioComponentSetSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetBase()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Base")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetBase(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Base")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPilot()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Pilot")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPilot(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Pilot")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetCni()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Cni")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCni(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Cni")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetIstiodRemote()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("IstiodRemote")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIstiodRemote(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("IstiodRemote")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetIngressGateways() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetEgressGateways() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *BaseComponentSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.BaseComponentSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetEnabled()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Enabled")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetEnabled(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Enabled")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetK8S()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("K8S")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetK8S(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("K8S")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ComponentSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ComponentSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetEnabled()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Enabled")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetEnabled(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Enabled")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHub())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTag())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSpec()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Spec")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSpec(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Spec")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetK8S()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("K8S")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetK8S(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("K8S")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalComponentSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ExternalComponentSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetEnabled()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Enabled")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetEnabled(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Enabled")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSpec()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Spec")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSpec(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Spec")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetChartPath())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSchema()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Schema")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSchema(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Schema")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetK8S()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("K8S")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetK8S(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("K8S")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GatewaySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.GatewaySpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetEnabled()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Enabled")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetEnabled(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Enabled")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLabel() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetHub())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTag())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetK8S()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("K8S")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetK8S(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("K8S")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *KubernetesResourcesSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.KubernetesResourcesSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetAffinity()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Affinity")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAffinity(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Affinity")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetEnv() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetHpaSpec()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HpaSpec")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHpaSpec(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HpaSpec")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetImagePullPolicy())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetNodeSelector() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetPodDisruptionBudget()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PodDisruptionBudget")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPodDisruptionBudget(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PodDisruptionBudget")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetPodAnnotations() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetPriorityClassName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetReadinessProbe()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ReadinessProbe")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetReadinessProbe(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ReadinessProbe")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetReplicaCount()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetResources()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Resources")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResources(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Resources")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetService()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Service")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetService(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Service")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetStrategy()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Strategy")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetStrategy(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Strategy")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetTolerations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetServiceAnnotations() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetSecurityContext()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SecurityContext")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSecurityContext(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SecurityContext")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetVolumes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetVolumeMounts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetOverlays() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *K8SObjectOverlay) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.K8SObjectOverlay")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetApiVersion())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKind())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + for _, v := range m.GetPatches() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Affinity) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.Affinity")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetNodeAffinity()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("NodeAffinity")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetNodeAffinity(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("NodeAffinity")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPodAffinity()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PodAffinity")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPodAffinity(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PodAffinity")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPodAntiAffinity()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PodAntiAffinity")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPodAntiAffinity(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PodAntiAffinity")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ConfigMapKeySelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ConfigMapKeySelector")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetLocalObjectReference()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("LocalObjectReference")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLocalObjectReference(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("LocalObjectReference")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetOptional()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ContainerResourceMetricSource) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ContainerResourceMetricSource")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTarget()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Target")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTarget(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Target")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetContainer())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ContainerResourceMetricStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ContainerResourceMetricStatus")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCurrent()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Current")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCurrent(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Current")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetContainer())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ClientIPConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ClientIPConfig")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetTimeoutSeconds()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CrossVersionObjectReference) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.CrossVersionObjectReference")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKind())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetApiVersion())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DeploymentStrategy) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.DeploymentStrategy")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetType())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRollingUpdate()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RollingUpdate")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRollingUpdate(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RollingUpdate")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *EnvVar) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.EnvVar")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetValueFrom()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ValueFrom")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetValueFrom(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ValueFrom")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *EnvVarSource) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.EnvVarSource")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetFieldRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("FieldRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetFieldRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("FieldRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetResourceFieldRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ResourceFieldRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResourceFieldRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ResourceFieldRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetConfigMapKeyRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ConfigMapKeyRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfigMapKeyRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ConfigMapKeyRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetSecretKeyRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SecretKeyRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSecretKeyRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SecretKeyRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExecAction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ExecAction")); err != nil { + return 0, err + } + + for _, v := range m.GetCommand() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalMetricSource) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ExternalMetricSource")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMetricName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMetricSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MetricSelector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMetricSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MetricSelector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTargetValue()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TargetValue")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTargetValue(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TargetValue")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTargetAverageValue()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TargetAverageValue")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTargetAverageValue(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TargetAverageValue")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetMetric()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Metric")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMetric(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Metric")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTarget()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Target")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTarget(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Target")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalMetricStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ExternalMetricStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMetric()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Metric")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMetric(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Metric")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetCurrent()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Current")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCurrent(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Current")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HTTPGetAction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.HTTPGetAction")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPath())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetHost())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetScheme())); err != nil { + return 0, err + } + + for _, v := range m.GetHttpHeaders() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HTTPHeader) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.HTTPHeader")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HorizontalPodAutoscalerSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.HorizontalPodAutoscalerSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetScaleTargetRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ScaleTargetRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetScaleTargetRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ScaleTargetRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMinReplicas()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMaxReplicas()) + if err != nil { + return 0, err + } + + for _, v := range m.GetMetrics() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetBehavior()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Behavior")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetBehavior(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Behavior")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HorizontalPodAutoScalerBehavior) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.HorizontalPodAutoScalerBehavior")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetScaleUp()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ScaleUp")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetScaleUp(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ScaleUp")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetScaleDown()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ScaleDown")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetScaleDown(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ScaleDown")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HPAScalingRules) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.HPAScalingRules")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetStabilizationWindowSeconds()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSelectPolicy())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPolicies()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Policies")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPolicies(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Policies")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HPAScalingPolicy) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.HPAScalingPolicy")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetType())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetValue()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPeriodSeconds()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *LocalObjectReference) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.LocalObjectReference")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MetricIdentifier) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.MetricIdentifier")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MetricSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.MetricSpec")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetType())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetObject()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Object")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetObject(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Object")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPods()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Pods")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPods(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Pods")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetResource()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Resource")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResource(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Resource")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetContainerResource()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ContainerResource")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetContainerResource(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ContainerResource")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetExternal()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("External")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetExternal(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("External")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MetricStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.MetricStatus")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetType())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetObject()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Object")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetObject(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Object")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPods()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Pods")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPods(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Pods")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetResource()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Resource")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResource(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Resource")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetContainerResource()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ContainerResource")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetContainerResource(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ContainerResource")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetExternal()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("External")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetExternal(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("External")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MetricTarget) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.MetricTarget")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetType())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetValue()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Value")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetValue(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Value")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetAverageValue()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AverageValue")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAverageValue(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AverageValue")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAverageUtilization()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MetricValueStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.MetricValueStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetValue()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Value")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetValue(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Value")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetAverageValue()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AverageValue")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAverageValue(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AverageValue")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAverageUtilization()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *NodeAffinity) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.NodeAffinity")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRequiredDuringSchedulingIgnoredDuringExecution()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RequiredDuringSchedulingIgnoredDuringExecution")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequiredDuringSchedulingIgnoredDuringExecution(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RequiredDuringSchedulingIgnoredDuringExecution")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetPreferredDuringSchedulingIgnoredDuringExecution() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *NodeSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.NodeSelector")); err != nil { + return 0, err + } + + for _, v := range m.GetNodeSelectorTerms() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *NodeSelectorTerm) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.NodeSelectorTerm")); err != nil { + return 0, err + } + + for _, v := range m.GetMatchExpressions() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetMatchFields() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *NodeSelectorRequirement) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.NodeSelectorRequirement")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetOperator())); err != nil { + return 0, err + } + + for _, v := range m.GetValues() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ObjectFieldSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ObjectFieldSelector")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetApiVersion())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetFieldPath())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ObjectMeta) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ObjectMeta")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ObjectMetricSource) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ObjectMetricSource")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMetricName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTargetValue()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TargetValue")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTargetValue(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TargetValue")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetAverageValue()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AverageValue")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAverageValue(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AverageValue")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTarget()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Target")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTarget(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Target")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetDescribedObject()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DescribedObject")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDescribedObject(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DescribedObject")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetMetric()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Metric")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMetric(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Metric")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ObjectMetricStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ObjectMetricStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMetric()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Metric")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMetric(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Metric")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetCurrent()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Current")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCurrent(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Current")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetDescribedObject()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DescribedObject")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDescribedObject(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DescribedObject")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PodAffinity) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.PodAffinity")); err != nil { + return 0, err + } + + for _, v := range m.GetRequiredDuringSchedulingIgnoredDuringExecution() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetPreferredDuringSchedulingIgnoredDuringExecution() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PodAntiAffinity) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.PodAntiAffinity")); err != nil { + return 0, err + } + + for _, v := range m.GetRequiredDuringSchedulingIgnoredDuringExecution() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetPreferredDuringSchedulingIgnoredDuringExecution() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PodAffinityTerm) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.PodAffinityTerm")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetLabelSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("LabelSelector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLabelSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("LabelSelector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetNamespaces() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetTopologyKey())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PodDisruptionBudgetSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.PodDisruptionBudgetSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMinAvailable()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MinAvailable")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMinAvailable(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MinAvailable")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetMaxUnavailable()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MaxUnavailable")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMaxUnavailable(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MaxUnavailable")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PodsMetricSource) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.PodsMetricSource")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMetricName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTargetAverageValue()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TargetAverageValue")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTargetAverageValue(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TargetAverageValue")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetMetric()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Metric")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMetric(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Metric")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTarget()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Target")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTarget(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Target")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PodsMetricStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.PodsMetricStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMetric()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Metric")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMetric(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Metric")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetCurrent()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Current")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCurrent(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Current")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PreferredSchedulingTerm) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.PreferredSchedulingTerm")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetWeight()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPreference()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Preference")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPreference(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Preference")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ReadinessProbe) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ReadinessProbe")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetExec()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Exec")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetExec(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Exec")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetHttpGet()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HttpGet")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHttpGet(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HttpGet")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTcpSocket()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TcpSocket")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTcpSocket(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TcpSocket")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetInitialDelaySeconds()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetTimeoutSeconds()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPeriodSeconds()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSuccessThreshold()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetFailureThreshold()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ResourceFieldSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ResourceFieldSelector")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetContainerName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetResource())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetDivisor()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Divisor")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDivisor(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Divisor")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ResourceMetricSource) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ResourceMetricSource")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetTargetAverageUtilization()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTargetAverageValue()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TargetAverageValue")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTargetAverageValue(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TargetAverageValue")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTarget()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Target")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTarget(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Target")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ResourceMetricStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ResourceMetricStatus")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCurrent()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Current")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCurrent(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Current")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Resources) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.Resources")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLimits() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetRequests() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RollingUpdateDeployment) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.RollingUpdateDeployment")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMaxUnavailable()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MaxUnavailable")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMaxUnavailable(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MaxUnavailable")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetMaxSurge()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MaxSurge")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMaxSurge(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MaxSurge")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SecretKeySelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.SecretKeySelector")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetLocalObjectReference()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("LocalObjectReference")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLocalObjectReference(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("LocalObjectReference")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetOptional()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ServiceSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ServiceSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetSelector() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetClusterIP())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetType())); err != nil { + return 0, err + } + + for _, v := range m.GetExternalIPs() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetSessionAffinity())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetLoadBalancerIP())); err != nil { + return 0, err + } + + for _, v := range m.GetLoadBalancerSourceRanges() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetExternalName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetExternalTrafficPolicy())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetHealthCheckNodePort()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPublishNotReadyAddresses()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSessionAffinityConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SessionAffinityConfig")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSessionAffinityConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SessionAffinityConfig")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ServicePort) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ServicePort")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetProtocol())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPort()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTargetPort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TargetPort")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTargetPort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TargetPort")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNodePort()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SessionAffinityConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.SessionAffinityConfig")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetClientIP()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClientIP")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClientIP(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClientIP")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TCPSocketAction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.TCPSocketAction")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetHost())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Toleration) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.Toleration")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetOperator())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetEffect())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetTolerationSeconds()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WeightedPodAffinityTerm) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.WeightedPodAffinityTerm")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetWeight()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPodAffinityTerm()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PodAffinityTerm")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPodAffinityTerm(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PodAffinityTerm")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PodSecurityContext) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.PodSecurityContext")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSeLinuxOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SeLinuxOptions")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSeLinuxOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SeLinuxOptions")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRunAsUser()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRunAsNonRoot()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSupplementalGroups()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetFsGroup()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRunAsGroup()) + if err != nil { + return 0, err + } + + for _, v := range m.GetSysctls() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetWindowsOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("WindowsOptions")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetWindowsOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("WindowsOptions")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetFsGroupChangePolicy())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSeccompProfile()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SeccompProfile")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSeccompProfile(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SeccompProfile")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SELinuxOptions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.SELinuxOptions")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUser())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRole())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetType())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetLevel())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Sysctl) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.Sysctl")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WindowsSecurityContextOptions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.WindowsSecurityContextOptions")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetGmsaCredentialSpecName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetGmsaCredentialSpec())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRunAsUserName())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SeccompProfile) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.SeccompProfile")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetType())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetLocalhostProfile())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *InstallStatus_VersionStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.InstallStatus_VersionStatus")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetVersion())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetStatus()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetError())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *K8SObjectOverlay_PathValue) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.K8SObjectOverlay_PathValue")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPath())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetValue()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Value")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetValue(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Value")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/keepalive.pb.clone.go b/client-go/common.gloo.solo.io/v2/keepalive.pb.clone.go new file mode 100644 index 000000000..7935a9794 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/keepalive.pb.clone.go @@ -0,0 +1,53 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/keepalive.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *TCPKeepalive) Clone() proto.Message { + var target *TCPKeepalive + if m == nil { + return target + } + target = &TCPKeepalive{} + + target.Probes = m.GetProbes() + + if h, ok := interface{}(m.GetTime()).(clone.Cloner); ok { + target.Time = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.Time = proto.Clone(m.GetTime()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if h, ok := interface{}(m.GetInterval()).(clone.Cloner); ok { + target.Interval = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.Interval = proto.Clone(m.GetInterval()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/keepalive.pb.equal.go b/client-go/common.gloo.solo.io/v2/keepalive.pb.equal.go new file mode 100644 index 000000000..2b54b5cc9 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/keepalive.pb.equal.go @@ -0,0 +1,74 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/keepalive.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *TCPKeepalive) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TCPKeepalive) + if !ok { + that2, ok := that.(TCPKeepalive) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetProbes() != target.GetProbes() { + return false + } + + if h, ok := interface{}(m.GetTime()).(equality.Equalizer); ok { + if !h.Equal(target.GetTime()) { + return false + } + } else { + if !proto.Equal(m.GetTime(), target.GetTime()) { + return false + } + } + + if h, ok := interface{}(m.GetInterval()).(equality.Equalizer); ok { + if !h.Equal(target.GetInterval()) { + return false + } + } else { + if !proto.Equal(m.GetInterval(), target.GetInterval()) { + return false + } + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/keepalive.pb.go b/client-go/common.gloo.solo.io/v2/keepalive.pb.go new file mode 100644 index 000000000..ea2862df3 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/keepalive.pb.go @@ -0,0 +1,193 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/keepalive.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Configure TCP keepalive for the ingress gateways of all meshes in this VirtualMesh. +type TCPKeepalive struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Maximum number of TCP keepalive probes to send before determining that connection is dead. + Probes uint32 `protobuf:"varint,1,opt,name=probes,proto3" json:"probes,omitempty"` + // The time duration a connection needs to be idle before keep-alive probes start being sent. + // Format examples: `1h`/`1m`/`1s`/`1ms`. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + Time *duration.Duration `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"` + // The time duration between keep-alive probes. + // Format examples: `1h`/`1m`/`1s`/`1ms` + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + Interval *duration.Duration `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval,omitempty"` +} + +func (x *TCPKeepalive) Reset() { + *x = TCPKeepalive{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TCPKeepalive) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TCPKeepalive) ProtoMessage() {} + +func (x *TCPKeepalive) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TCPKeepalive.ProtoReflect.Descriptor instead. +func (*TCPKeepalive) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_rawDescGZIP(), []int{0} +} + +func (x *TCPKeepalive) GetProbes() uint32 { + if x != nil { + return x.Probes + } + return 0 +} + +func (x *TCPKeepalive) GetTime() *duration.Duration { + if x != nil { + return x.Time + } + return nil +} + +func (x *TCPKeepalive) GetInterval() *duration.Duration { + if x != nil { + return x.Interval + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_rawDesc = []byte{ + 0x0a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, + 0x0a, 0x0c, 0x54, 0x43, 0x50, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x54, 0x5a, 0x46, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, + 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_goTypes = []interface{}{ + (*TCPKeepalive)(nil), // 0: common.gloo.solo.io.TCPKeepalive + (*duration.Duration)(nil), // 1: google.protobuf.Duration +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_depIdxs = []int32{ + 1, // 0: common.gloo.solo.io.TCPKeepalive.time:type_name -> google.protobuf.Duration + 1, // 1: common.gloo.solo.io.TCPKeepalive.interval:type_name -> google.protobuf.Duration + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TCPKeepalive); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_keepalive_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/keepalive.pb.hash.go b/client-go/common.gloo.solo.io/v2/keepalive.pb.hash.go new file mode 100644 index 000000000..1b5e36273 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/keepalive.pb.hash.go @@ -0,0 +1,87 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/keepalive.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *TCPKeepalive) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.TCPKeepalive")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetProbes()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTime()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Time")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTime(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Time")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetInterval()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Interval")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetInterval(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Interval")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/locality.pb.clone.go b/client-go/common.gloo.solo.io/v2/locality.pb.clone.go new file mode 100644 index 000000000..7623fc7b0 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/locality.pb.clone.go @@ -0,0 +1,43 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/locality.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *Locality) Clone() proto.Message { + var target *Locality + if m == nil { + return target + } + target = &Locality{} + + target.Region = m.GetRegion() + + target.Zone = m.GetZone() + + target.SubZone = m.GetSubZone() + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/locality.pb.equal.go b/client-go/common.gloo.solo.io/v2/locality.pb.equal.go new file mode 100644 index 000000000..cc39159fd --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/locality.pb.equal.go @@ -0,0 +1,62 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/locality.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *Locality) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Locality) + if !ok { + that2, ok := that.(Locality) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetRegion(), target.GetRegion()) != 0 { + return false + } + + if strings.Compare(m.GetZone(), target.GetZone()) != 0 { + return false + } + + if strings.Compare(m.GetSubZone(), target.GetSubZone()) != 0 { + return false + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/locality.pb.go b/client-go/common.gloo.solo.io/v2/locality.pb.go new file mode 100644 index 000000000..ef736adfc --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/locality.pb.go @@ -0,0 +1,186 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/locality.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A locality defines the geographic location of a workload instance. +type Locality struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Represents a large geographic area, such as us-east1. A region typically contains a number of availability zones. + // A workload's region is determined by the value of the "topology.kubernetes.io/region" label (or the deprecated + // "failure-domain.beta.kubernetes.io/region" one) of the Node + // that is running it. + Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` + // Represents an availability zone within a region, e.g. us-east-1a. + // A workload's zone is determined by the value of the "topology.kubernetes.io/zone" label (or the deprecated + // "failure-domain.beta.kubernetes.io/zone" one) of the Node that is running it. + Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` + // A zone can be divided into sub-zones to have even more fine-grained control over load balancing behavior. + // The sub-zone concept doesn't exist in Kubernetes. This value is derived by the Istio-specific + // "topology.istio.io/subzone" Node label. + SubZone string `protobuf:"bytes,3,opt,name=sub_zone,json=subZone,proto3" json:"sub_zone,omitempty"` +} + +func (x *Locality) Reset() { + *x = Locality{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Locality) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Locality) ProtoMessage() {} + +func (x *Locality) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Locality.ProtoReflect.Descriptor instead. +func (*Locality) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_rawDescGZIP(), []int{0} +} + +func (x *Locality) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *Locality) GetZone() string { + if x != nil { + return x.Zone + } + return "" +} + +func (x *Locality) GetSubZone() string { + if x != nil { + return x.SubZone + } + return "" +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_rawDesc = []byte{ + 0x0a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x08, + 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x5a, 0x6f, 0x6e, 0x65, 0x42, + 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, + 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_goTypes = []interface{}{ + (*Locality)(nil), // 0: common.gloo.solo.io.Locality +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Locality); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_locality_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/locality.pb.hash.go b/client-go/common.gloo.solo.io/v2/locality.pb.hash.go new file mode 100644 index 000000000..ef110f357 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/locality.pb.hash.go @@ -0,0 +1,54 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/locality.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *Locality) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.Locality")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRegion())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetZone())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSubZone())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/phase.pb.clone.go b/client-go/common.gloo.solo.io/v2/phase.pb.clone.go new file mode 100644 index 000000000..7140d3395 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/phase.pb.clone.go @@ -0,0 +1,84 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/phase.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *PrioritizedPhase) Clone() proto.Message { + var target *PrioritizedPhase + if m == nil { + return target + } + target = &PrioritizedPhase{} + + switch m.Phase.(type) { + + case *PrioritizedPhase_PreAuthz: + + if h, ok := interface{}(m.GetPreAuthz()).(clone.Cloner); ok { + target.Phase = &PrioritizedPhase_PreAuthz{ + PreAuthz: h.Clone().(*PrioritizedPhase_Phase), + } + } else { + target.Phase = &PrioritizedPhase_PreAuthz{ + PreAuthz: proto.Clone(m.GetPreAuthz()).(*PrioritizedPhase_Phase), + } + } + + case *PrioritizedPhase_PostAuthz: + + if h, ok := interface{}(m.GetPostAuthz()).(clone.Cloner); ok { + target.Phase = &PrioritizedPhase_PostAuthz{ + PostAuthz: h.Clone().(*PrioritizedPhase_Phase), + } + } else { + target.Phase = &PrioritizedPhase_PostAuthz{ + PostAuthz: proto.Clone(m.GetPostAuthz()).(*PrioritizedPhase_Phase), + } + } + + } + + return target +} + +// Clone function +func (m *PrioritizedPhase_Phase) Clone() proto.Message { + var target *PrioritizedPhase_Phase + if m == nil { + return target + } + target = &PrioritizedPhase_Phase{} + + if h, ok := interface{}(m.GetPriority()).(clone.Cloner); ok { + target.Priority = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.Int32Value) + } else { + target.Priority = proto.Clone(m.GetPriority()).(*github_com_golang_protobuf_ptypes_wrappers.Int32Value) + } + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/phase.pb.equal.go b/client-go/common.gloo.solo.io/v2/phase.pb.equal.go new file mode 100644 index 000000000..38dca3c38 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/phase.pb.equal.go @@ -0,0 +1,123 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/phase.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *PrioritizedPhase) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PrioritizedPhase) + if !ok { + that2, ok := that.(PrioritizedPhase) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Phase.(type) { + + case *PrioritizedPhase_PreAuthz: + if _, ok := target.Phase.(*PrioritizedPhase_PreAuthz); !ok { + return false + } + + if h, ok := interface{}(m.GetPreAuthz()).(equality.Equalizer); ok { + if !h.Equal(target.GetPreAuthz()) { + return false + } + } else { + if !proto.Equal(m.GetPreAuthz(), target.GetPreAuthz()) { + return false + } + } + + case *PrioritizedPhase_PostAuthz: + if _, ok := target.Phase.(*PrioritizedPhase_PostAuthz); !ok { + return false + } + + if h, ok := interface{}(m.GetPostAuthz()).(equality.Equalizer); ok { + if !h.Equal(target.GetPostAuthz()) { + return false + } + } else { + if !proto.Equal(m.GetPostAuthz(), target.GetPostAuthz()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Phase != target.Phase { + return false + } + } + + return true +} + +// Equal function +func (m *PrioritizedPhase_Phase) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PrioritizedPhase_Phase) + if !ok { + that2, ok := that.(PrioritizedPhase_Phase) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetPriority()).(equality.Equalizer); ok { + if !h.Equal(target.GetPriority()) { + return false + } + } else { + if !proto.Equal(m.GetPriority(), target.GetPriority()) { + return false + } + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/phase.pb.go b/client-go/common.gloo.solo.io/v2/phase.pb.go new file mode 100644 index 000000000..3ca91f253 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/phase.pb.go @@ -0,0 +1,312 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/phase.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Prioritized phase is the phase at which a given policy should be applied. +// The 2 pre-defined phases are "pre" and "post" AuthZ. In addition to the phase, you can +// specify a priority to indicate at what point this policy should be applied relative to other policies +// defined in the same phase. +// For Example, if you have the following policies defined with phases and priorities: +// ``` +// 1. +// phase: +// +// preAuthz: +// priority: 1 +// +// 2. +// phase: +// +// preAuthz: +// priority: -1 +// +// 3. +// phase: +// +// preAuthz: {} +// +// ``` +// The policies will be run in the following order: `(2, 3, 1)`. +// +// Note: The default phase is defined per policy type which you can find in the policy reference documentation. +// The following policies currently implement prioritized staging: +// - RateLimit +// - JwtAuth +// - Transformation +type PrioritizedPhase struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Phase: + // + // *PrioritizedPhase_PreAuthz + // *PrioritizedPhase_PostAuthz + Phase isPrioritizedPhase_Phase `protobuf_oneof:"phase"` +} + +func (x *PrioritizedPhase) Reset() { + *x = PrioritizedPhase{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrioritizedPhase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrioritizedPhase) ProtoMessage() {} + +func (x *PrioritizedPhase) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrioritizedPhase.ProtoReflect.Descriptor instead. +func (*PrioritizedPhase) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDescGZIP(), []int{0} +} + +func (m *PrioritizedPhase) GetPhase() isPrioritizedPhase_Phase { + if m != nil { + return m.Phase + } + return nil +} + +func (x *PrioritizedPhase) GetPreAuthz() *PrioritizedPhase_Phase { + if x, ok := x.GetPhase().(*PrioritizedPhase_PreAuthz); ok { + return x.PreAuthz + } + return nil +} + +func (x *PrioritizedPhase) GetPostAuthz() *PrioritizedPhase_Phase { + if x, ok := x.GetPhase().(*PrioritizedPhase_PostAuthz); ok { + return x.PostAuthz + } + return nil +} + +type isPrioritizedPhase_Phase interface { + isPrioritizedPhase_Phase() +} + +type PrioritizedPhase_PreAuthz struct { + // Apply this policy before Authorization policies are applied. + PreAuthz *PrioritizedPhase_Phase `protobuf:"bytes,1,opt,name=pre_authz,json=preAuthz,proto3,oneof"` +} + +type PrioritizedPhase_PostAuthz struct { + // Apply this policy after Authorization policies are applied. + PostAuthz *PrioritizedPhase_Phase `protobuf:"bytes,2,opt,name=post_authz,json=postAuthz,proto3,oneof"` +} + +func (*PrioritizedPhase_PreAuthz) isPrioritizedPhase_Phase() {} + +func (*PrioritizedPhase_PostAuthz) isPrioritizedPhase_Phase() {} + +// A message that describes each individual phase. +type PrioritizedPhase_Phase struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The priority at which this policy should be applied relative to other policies defined in the same phase. + // The lowest priority will be run first and the default priority value is 0. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/int32-value). + Priority *wrappers.Int32Value `protobuf:"bytes,1,opt,name=priority,proto3" json:"priority,omitempty"` +} + +func (x *PrioritizedPhase_Phase) Reset() { + *x = PrioritizedPhase_Phase{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrioritizedPhase_Phase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrioritizedPhase_Phase) ProtoMessage() {} + +func (x *PrioritizedPhase_Phase) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrioritizedPhase_Phase.ProtoReflect.Descriptor instead. +func (*PrioritizedPhase_Phase) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *PrioritizedPhase_Phase) GetPriority() *wrappers.Int32Value { + if x != nil { + return x.Priority + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDesc = []byte{ + 0x0a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, + 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x01, 0x0a, 0x10, 0x50, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x4a, + 0x0a, 0x09, 0x70, 0x72, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, + 0x7a, 0x65, 0x64, 0x50, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x48, 0x00, + 0x52, 0x08, 0x70, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x12, 0x4c, 0x0a, 0x0a, 0x70, 0x6f, + 0x73, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, + 0x50, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x48, 0x00, 0x52, 0x09, 0x70, + 0x6f, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x1a, 0x40, 0x0a, 0x05, 0x50, 0x68, 0x61, 0x73, + 0x65, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x70, 0x68, + 0x61, 0x73, 0x65, 0x42, 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, + 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_goTypes = []interface{}{ + (*PrioritizedPhase)(nil), // 0: common.gloo.solo.io.PrioritizedPhase + (*PrioritizedPhase_Phase)(nil), // 1: common.gloo.solo.io.PrioritizedPhase.Phase + (*wrappers.Int32Value)(nil), // 2: google.protobuf.Int32Value +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_depIdxs = []int32{ + 1, // 0: common.gloo.solo.io.PrioritizedPhase.pre_authz:type_name -> common.gloo.solo.io.PrioritizedPhase.Phase + 1, // 1: common.gloo.solo.io.PrioritizedPhase.post_authz:type_name -> common.gloo.solo.io.PrioritizedPhase.Phase + 2, // 2: common.gloo.solo.io.PrioritizedPhase.Phase.priority:type_name -> google.protobuf.Int32Value + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrioritizedPhase); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrioritizedPhase_Phase); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*PrioritizedPhase_PreAuthz)(nil), + (*PrioritizedPhase_PostAuthz)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_phase_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/phase.pb.hash.go b/client-go/common.gloo.solo.io/v2/phase.pb.hash.go new file mode 100644 index 000000000..454f6d176 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/phase.pb.hash.go @@ -0,0 +1,126 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/phase.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *PrioritizedPhase) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.PrioritizedPhase")); err != nil { + return 0, err + } + + switch m.Phase.(type) { + + case *PrioritizedPhase_PreAuthz: + + if h, ok := interface{}(m.GetPreAuthz()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PreAuthz")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPreAuthz(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PreAuthz")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *PrioritizedPhase_PostAuthz: + + if h, ok := interface{}(m.GetPostAuthz()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PostAuthz")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPostAuthz(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PostAuthz")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PrioritizedPhase_Phase) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.PrioritizedPhase_Phase")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPriority()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Priority")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPriority(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Priority")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/port.pb.clone.go b/client-go/common.gloo.solo.io/v2/port.pb.clone.go new file mode 100644 index 000000000..34dda1427 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/port.pb.clone.go @@ -0,0 +1,53 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/port.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *PortSelector) Clone() proto.Message { + var target *PortSelector + if m == nil { + return target + } + target = &PortSelector{} + + switch m.Specifier.(type) { + + case *PortSelector_Number: + + target.Specifier = &PortSelector_Number{ + Number: m.GetNumber(), + } + + case *PortSelector_Name: + + target.Specifier = &PortSelector_Name{ + Name: m.GetName(), + } + + } + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/port.pb.equal.go b/client-go/common.gloo.solo.io/v2/port.pb.equal.go new file mode 100644 index 000000000..1c9f23651 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/port.pb.equal.go @@ -0,0 +1,77 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/port.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *PortSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortSelector) + if !ok { + that2, ok := that.(PortSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Specifier.(type) { + + case *PortSelector_Number: + if _, ok := target.Specifier.(*PortSelector_Number); !ok { + return false + } + + if m.GetNumber() != target.GetNumber() { + return false + } + + case *PortSelector_Name: + if _, ok := target.Specifier.(*PortSelector_Name); !ok { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.Specifier != target.Specifier { + return false + } + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/port.pb.go b/client-go/common.gloo.solo.io/v2/port.pb.go new file mode 100644 index 000000000..d3f65c6c8 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/port.pb.go @@ -0,0 +1,200 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/port.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// selects an individual port by number or name +type PortSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Specifier: + // + // *PortSelector_Number + // *PortSelector_Name + Specifier isPortSelector_Specifier `protobuf_oneof:"specifier"` +} + +func (x *PortSelector) Reset() { + *x = PortSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortSelector) ProtoMessage() {} + +func (x *PortSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortSelector.ProtoReflect.Descriptor instead. +func (*PortSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_rawDescGZIP(), []int{0} +} + +func (m *PortSelector) GetSpecifier() isPortSelector_Specifier { + if m != nil { + return m.Specifier + } + return nil +} + +func (x *PortSelector) GetNumber() uint32 { + if x, ok := x.GetSpecifier().(*PortSelector_Number); ok { + return x.Number + } + return 0 +} + +func (x *PortSelector) GetName() string { + if x, ok := x.GetSpecifier().(*PortSelector_Name); ok { + return x.Name + } + return "" +} + +type isPortSelector_Specifier interface { + isPortSelector_Specifier() +} + +type PortSelector_Number struct { + // the number of the port on the destination objects being targeted. + Number uint32 `protobuf:"varint,4,opt,name=number,proto3,oneof"` +} + +type PortSelector_Name struct { + // the name of the port on the destination objects being targeted. + Name string `protobuf:"bytes,5,opt,name=name,proto3,oneof"` +} + +func (*PortSelector_Number) isPortSelector_Specifier() {} + +func (*PortSelector_Name) isPortSelector_Specifier() {} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_rawDesc = []byte{ + 0x0a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, + 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x14, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, + 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_goTypes = []interface{}{ + (*PortSelector)(nil), // 0: common.gloo.solo.io.PortSelector +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*PortSelector_Number)(nil), + (*PortSelector_Name)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/port.pb.hash.go b/client-go/common.gloo.solo.io/v2/port.pb.hash.go new file mode 100644 index 000000000..75cd3decf --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/port.pb.hash.go @@ -0,0 +1,59 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/port.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *PortSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.PortSelector")); err != nil { + return 0, err + } + + switch m.Specifier.(type) { + + case *PortSelector_Number: + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumber()) + if err != nil { + return 0, err + } + + case *PortSelector_Name: + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/portal_metadata.pb.clone.go b/client-go/common.gloo.solo.io/v2/portal_metadata.pb.clone.go new file mode 100644 index 000000000..f9a7257bd --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/portal_metadata.pb.clone.go @@ -0,0 +1,64 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/portal_metadata.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *PortalMetadata) Clone() proto.Message { + var target *PortalMetadata + if m == nil { + return target + } + target = &PortalMetadata{} + + target.ApiProductId = m.GetApiProductId() + + target.ApiProductDisplayName = m.GetApiProductDisplayName() + + target.ApiVersion = m.GetApiVersion() + + target.Title = m.GetTitle() + + target.Description = m.GetDescription() + + target.TermsOfService = m.GetTermsOfService() + + target.Contact = m.GetContact() + + target.License = m.GetLicense() + + target.Lifecycle = m.GetLifecycle() + + if m.GetCustomMetadata() != nil { + target.CustomMetadata = make(map[string]string, len(m.GetCustomMetadata())) + for k, v := range m.GetCustomMetadata() { + + target.CustomMetadata[k] = v + + } + } + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/portal_metadata.pb.equal.go b/client-go/common.gloo.solo.io/v2/portal_metadata.pb.equal.go new file mode 100644 index 000000000..087f7d52e --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/portal_metadata.pb.equal.go @@ -0,0 +1,97 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/portal_metadata.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *PortalMetadata) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalMetadata) + if !ok { + that2, ok := that.(PortalMetadata) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetApiProductId(), target.GetApiProductId()) != 0 { + return false + } + + if strings.Compare(m.GetApiProductDisplayName(), target.GetApiProductDisplayName()) != 0 { + return false + } + + if strings.Compare(m.GetApiVersion(), target.GetApiVersion()) != 0 { + return false + } + + if strings.Compare(m.GetTitle(), target.GetTitle()) != 0 { + return false + } + + if strings.Compare(m.GetDescription(), target.GetDescription()) != 0 { + return false + } + + if strings.Compare(m.GetTermsOfService(), target.GetTermsOfService()) != 0 { + return false + } + + if strings.Compare(m.GetContact(), target.GetContact()) != 0 { + return false + } + + if strings.Compare(m.GetLicense(), target.GetLicense()) != 0 { + return false + } + + if strings.Compare(m.GetLifecycle(), target.GetLifecycle()) != 0 { + return false + } + + if len(m.GetCustomMetadata()) != len(target.GetCustomMetadata()) { + return false + } + for k, v := range m.GetCustomMetadata() { + + if strings.Compare(v, target.GetCustomMetadata()[k]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/portal_metadata.pb.go b/client-go/common.gloo.solo.io/v2/portal_metadata.pb.go new file mode 100644 index 000000000..7bf6d5f98 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/portal_metadata.pb.go @@ -0,0 +1,289 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/portal_metadata.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// With [Portal](https://docs.solo.io/gloo-gateway/main/portal/) installed as part of Gloo Platform, +// you can use route tables to bundle together individual routes into an API product. +// When the Portal resource selects your route table, Gloo automatically generates an OpenAPI specification for the API product, +// which includes all of the routes. You can use this `PortalMetadata` setting to customize details about your API product, +// such as by providing a title, description, terms of service, licensing, and lifecycle management information. +// After you deploy a frontend application for your portal, your end users can review the metadata in the portal to help them use your API products. +type PortalMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // This field is required to enable the Portal feature. + // Group APIs from multiple route tables together as an API product in the portal. + // For example, you might have separate route tables that route to different `v1` and `v2` versions of your `billing` services that have their own OpenAPI specs. + // By setting the `apiProductId` metadata to the same `billing-api` value in each route table, + // the [/apis](https://docs.solo.io/gloo-gateway/main/portal/openapi/redocly/#tag/APIs/operation/ListAPIs) endpoint in the portal server returns the same `apiProduct` in the response. + // Then, these APIs are grouped together and shown as a single `billing` API product with multiple `v1` and `v2` versions in the frontend portal for your end users to discover and use. + ApiProductId string `protobuf:"bytes,1,opt,name=api_product_id,json=apiProductId,proto3" json:"api_product_id,omitempty"` + // Optional: Give a name for the API product to display in the frontend portal. If omitted, the `apiProductId` value is used as the display name. + // If `api_product_display_name` is set to a different value in each route table that has the same `apiProductId` value, + // then the `api_product_display_name` value from the route table with the oldest creation timestamp is used. + ApiProductDisplayName string `protobuf:"bytes,2,opt,name=api_product_display_name,json=apiProductDisplayName,proto3" json:"api_product_display_name,omitempty"` + // This field is required to enable the Portal feature. + // The version of the API in context of the api product. + // You cannot have multiple `apiVersion` values for the same `apiProductId` value, and you must set `apiProductId` to use `apiVersion`. + // For example, if you have two route tables that both set `apiProductId` to `billing-api`, then one route table can also set `apiVersion` to `v1` and the other to `v2`. + // But both route tables cannot set the `apiVersion` to `v1`. + ApiVersion string `protobuf:"bytes,3,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"` + // The title of the openAPI specification for this API. + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + // The description of the openAPI specification for this API. + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + // The terms of service of the openAPI specification for this API. + TermsOfService string `protobuf:"bytes,6,opt,name=terms_of_service,json=termsOfService,proto3" json:"terms_of_service,omitempty"` + // The contact information of the openAPI specification for this API. + Contact string `protobuf:"bytes,7,opt,name=contact,proto3" json:"contact,omitempty"` + // The license of the openAPI specification for this API. + License string `protobuf:"bytes,8,opt,name=license,proto3" json:"license,omitempty"` + // Describes the current lifecycle stage of the API. + Lifecycle string `protobuf:"bytes,9,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"` + // Provide key-value pairs of any custom metadata that you want to show end users in the frontend portal for this API product. + // In particular, you might provide information about your API lifecycle management policies, + // such as `phase=supported`, `phase=deprecated`, `compatibility=backwards`, or other product information. + // Furthermore, the key-value pairs are added to the API Usage & Analytics data for incoming requests to this API product. + CustomMetadata map[string]string `protobuf:"bytes,10,rep,name=custom_metadata,json=customMetadata,proto3" json:"custom_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PortalMetadata) Reset() { + *x = PortalMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalMetadata) ProtoMessage() {} + +func (x *PortalMetadata) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalMetadata.ProtoReflect.Descriptor instead. +func (*PortalMetadata) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_rawDescGZIP(), []int{0} +} + +func (x *PortalMetadata) GetApiProductId() string { + if x != nil { + return x.ApiProductId + } + return "" +} + +func (x *PortalMetadata) GetApiProductDisplayName() string { + if x != nil { + return x.ApiProductDisplayName + } + return "" +} + +func (x *PortalMetadata) GetApiVersion() string { + if x != nil { + return x.ApiVersion + } + return "" +} + +func (x *PortalMetadata) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PortalMetadata) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *PortalMetadata) GetTermsOfService() string { + if x != nil { + return x.TermsOfService + } + return "" +} + +func (x *PortalMetadata) GetContact() string { + if x != nil { + return x.Contact + } + return "" +} + +func (x *PortalMetadata) GetLicense() string { + if x != nil { + return x.License + } + return "" +} + +func (x *PortalMetadata) GetLifecycle() string { + if x != nil { + return x.Lifecycle + } + return "" +} + +func (x *PortalMetadata) GetCustomMetadata() map[string]string { + if x != nil { + return x.CustomMetadata + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_rawDesc = []byte{ + 0x0a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, + 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x03, 0x0a, 0x0e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x61, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, + 0x61, 0x70, 0x69, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, + 0x61, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, + 0x0a, 0x10, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x4f, + 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x41, 0x0a, 0x13, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, + 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, + 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_goTypes = []interface{}{ + (*PortalMetadata)(nil), // 0: common.gloo.solo.io.PortalMetadata + nil, // 1: common.gloo.solo.io.PortalMetadata.CustomMetadataEntry +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_depIdxs = []int32{ + 1, // 0: common.gloo.solo.io.PortalMetadata.custom_metadata:type_name -> common.gloo.solo.io.PortalMetadata.CustomMetadataEntry + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_portal_metadata_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/portal_metadata.pb.hash.go b/client-go/common.gloo.solo.io/v2/portal_metadata.pb.hash.go new file mode 100644 index 000000000..5b2955d01 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/portal_metadata.pb.hash.go @@ -0,0 +1,101 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/portal_metadata.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *PortalMetadata) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.PortalMetadata")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetApiProductId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetApiProductDisplayName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetApiVersion())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTitle())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetDescription())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTermsOfService())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetContact())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetLicense())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetLifecycle())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetCustomMetadata() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/references.pb.clone.go b/client-go/common.gloo.solo.io/v2/references.pb.clone.go new file mode 100644 index 000000000..5bf8b8110 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/references.pb.clone.go @@ -0,0 +1,166 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *WorkloadReference) Clone() proto.Message { + var target *WorkloadReference + if m == nil { + return target + } + target = &WorkloadReference{} + + if h, ok := interface{}(m.GetRef()).(clone.Cloner); ok { + target.Ref = h.Clone().(*ObjectReference) + } else { + target.Ref = proto.Clone(m.GetRef()).(*ObjectReference) + } + + target.Kind = m.GetKind() + + return target +} + +// Clone function +func (m *ObjectReference) Clone() proto.Message { + var target *ObjectReference + if m == nil { + return target + } + target = &ObjectReference{} + + target.Name = m.GetName() + + target.Namespace = m.GetNamespace() + + target.Cluster = m.GetCluster() + + return target +} + +// Clone function +func (m *DestinationReference) Clone() proto.Message { + var target *DestinationReference + if m == nil { + return target + } + target = &DestinationReference{} + + target.Kind = m.GetKind() + + if h, ok := interface{}(m.GetPort()).(clone.Cloner); ok { + target.Port = h.Clone().(*PortSelector) + } else { + target.Port = proto.Clone(m.GetPort()).(*PortSelector) + } + + if m.GetSubset() != nil { + target.Subset = make(map[string]string, len(m.GetSubset())) + for k, v := range m.GetSubset() { + + target.Subset[k] = v + + } + } + + target.Weight = m.GetWeight() + + switch m.RefKind.(type) { + + case *DestinationReference_Ref: + + if h, ok := interface{}(m.GetRef()).(clone.Cloner); ok { + target.RefKind = &DestinationReference_Ref{ + Ref: h.Clone().(*ObjectReference), + } + } else { + target.RefKind = &DestinationReference_Ref{ + Ref: proto.Clone(m.GetRef()).(*ObjectReference), + } + } + + case *DestinationReference_AwsLambda: + + if h, ok := interface{}(m.GetAwsLambda()).(clone.Cloner); ok { + target.RefKind = &DestinationReference_AwsLambda{ + AwsLambda: h.Clone().(*AWSLambdaReference), + } + } else { + target.RefKind = &DestinationReference_AwsLambda{ + AwsLambda: proto.Clone(m.GetAwsLambda()).(*AWSLambdaReference), + } + } + + } + + return target +} + +// Clone function +func (m *AWSLambdaReference) Clone() proto.Message { + var target *AWSLambdaReference + if m == nil { + return target + } + target = &AWSLambdaReference{} + + if h, ok := interface{}(m.GetCloudProvider()).(clone.Cloner); ok { + target.CloudProvider = h.Clone().(*ObjectReference) + } else { + target.CloudProvider = proto.Clone(m.GetCloudProvider()).(*ObjectReference) + } + + target.Function = m.GetFunction() + + target.Qualifier = m.GetQualifier() + + if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { + target.Options = h.Clone().(*LambdaOptions) + } else { + target.Options = proto.Clone(m.GetOptions()).(*LambdaOptions) + } + + return target +} + +// Clone function +func (m *ListenerPortReference) Clone() proto.Message { + var target *ListenerPortReference + if m == nil { + return target + } + target = &ListenerPortReference{} + + if h, ok := interface{}(m.GetGatewayRef()).(clone.Cloner); ok { + target.GatewayRef = h.Clone().(*ObjectReference) + } else { + target.GatewayRef = proto.Clone(m.GetGatewayRef()).(*ObjectReference) + } + + target.Port = m.GetPort() + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/references.pb.equal.go b/client-go/common.gloo.solo.io/v2/references.pb.equal.go new file mode 100644 index 000000000..740973003 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/references.pb.equal.go @@ -0,0 +1,282 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *WorkloadReference) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkloadReference) + if !ok { + that2, ok := that.(WorkloadReference) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetRef()) { + return false + } + } else { + if !proto.Equal(m.GetRef(), target.GetRef()) { + return false + } + } + + if m.GetKind() != target.GetKind() { + return false + } + + return true +} + +// Equal function +func (m *ObjectReference) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ObjectReference) + if !ok { + that2, ok := that.(ObjectReference) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetCluster(), target.GetCluster()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *DestinationReference) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DestinationReference) + if !ok { + that2, ok := that.(DestinationReference) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetKind() != target.GetKind() { + return false + } + + if h, ok := interface{}(m.GetPort()).(equality.Equalizer); ok { + if !h.Equal(target.GetPort()) { + return false + } + } else { + if !proto.Equal(m.GetPort(), target.GetPort()) { + return false + } + } + + if len(m.GetSubset()) != len(target.GetSubset()) { + return false + } + for k, v := range m.GetSubset() { + + if strings.Compare(v, target.GetSubset()[k]) != 0 { + return false + } + + } + + if m.GetWeight() != target.GetWeight() { + return false + } + + switch m.RefKind.(type) { + + case *DestinationReference_Ref: + if _, ok := target.RefKind.(*DestinationReference_Ref); !ok { + return false + } + + if h, ok := interface{}(m.GetRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetRef()) { + return false + } + } else { + if !proto.Equal(m.GetRef(), target.GetRef()) { + return false + } + } + + case *DestinationReference_AwsLambda: + if _, ok := target.RefKind.(*DestinationReference_AwsLambda); !ok { + return false + } + + if h, ok := interface{}(m.GetAwsLambda()).(equality.Equalizer); ok { + if !h.Equal(target.GetAwsLambda()) { + return false + } + } else { + if !proto.Equal(m.GetAwsLambda(), target.GetAwsLambda()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.RefKind != target.RefKind { + return false + } + } + + return true +} + +// Equal function +func (m *AWSLambdaReference) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AWSLambdaReference) + if !ok { + that2, ok := that.(AWSLambdaReference) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCloudProvider()).(equality.Equalizer); ok { + if !h.Equal(target.GetCloudProvider()) { + return false + } + } else { + if !proto.Equal(m.GetCloudProvider(), target.GetCloudProvider()) { + return false + } + } + + if strings.Compare(m.GetFunction(), target.GetFunction()) != 0 { + return false + } + + if strings.Compare(m.GetQualifier(), target.GetQualifier()) != 0 { + return false + } + + if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetOptions()) { + return false + } + } else { + if !proto.Equal(m.GetOptions(), target.GetOptions()) { + return false + } + } + + return true +} + +// Equal function +func (m *ListenerPortReference) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ListenerPortReference) + if !ok { + that2, ok := that.(ListenerPortReference) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetGatewayRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetGatewayRef()) { + return false + } + } else { + if !proto.Equal(m.GetGatewayRef(), target.GetGatewayRef()) { + return false + } + } + + if m.GetPort() != target.GetPort() { + return false + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/references.pb.go b/client-go/common.gloo.solo.io/v2/references.pb.go new file mode 100644 index 000000000..4dcccaa40 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/references.pb.go @@ -0,0 +1,719 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// References the supported types for the Workload interface in pkg/utils/workloadutils/workload_types.go +type WorkloadReference_WorkloadKind int32 + +const ( + WorkloadReference_DEPLOYMENT WorkloadReference_WorkloadKind = 0 + WorkloadReference_DAEMON_SET WorkloadReference_WorkloadKind = 1 + WorkloadReference_STATEFUL_SET WorkloadReference_WorkloadKind = 2 + WorkloadReference_REPLICA_SET WorkloadReference_WorkloadKind = 3 +) + +// Enum value maps for WorkloadReference_WorkloadKind. +var ( + WorkloadReference_WorkloadKind_name = map[int32]string{ + 0: "DEPLOYMENT", + 1: "DAEMON_SET", + 2: "STATEFUL_SET", + 3: "REPLICA_SET", + } + WorkloadReference_WorkloadKind_value = map[string]int32{ + "DEPLOYMENT": 0, + "DAEMON_SET": 1, + "STATEFUL_SET": 2, + "REPLICA_SET": 3, + } +) + +func (x WorkloadReference_WorkloadKind) Enum() *WorkloadReference_WorkloadKind { + p := new(WorkloadReference_WorkloadKind) + *p = x + return p +} + +func (x WorkloadReference_WorkloadKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WorkloadReference_WorkloadKind) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_enumTypes[0].Descriptor() +} + +func (WorkloadReference_WorkloadKind) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_enumTypes[0] +} + +func (x WorkloadReference_WorkloadKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WorkloadReference_WorkloadKind.Descriptor instead. +func (WorkloadReference_WorkloadKind) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescGZIP(), []int{0, 0} +} + +type WorkloadReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ref *ObjectReference `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` + Kind WorkloadReference_WorkloadKind `protobuf:"varint,2,opt,name=kind,proto3,enum=common.gloo.solo.io.WorkloadReference_WorkloadKind" json:"kind,omitempty"` +} + +func (x *WorkloadReference) Reset() { + *x = WorkloadReference{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkloadReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkloadReference) ProtoMessage() {} + +func (x *WorkloadReference) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkloadReference.ProtoReflect.Descriptor instead. +func (*WorkloadReference) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkloadReference) GetRef() *ObjectReference { + if x != nil { + return x.Ref + } + return nil +} + +func (x *WorkloadReference) GetKind() WorkloadReference_WorkloadKind { + if x != nil { + return x.Kind + } + return WorkloadReference_DEPLOYMENT +} + +// reference to a Kubernetes API object. +// Kube API objects are referenced explicitly by the namespace and cluster containing them. +type ObjectReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // the name of the object + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // the namespace of the object. If omitted, Gloo Mesh will use the same namespace as the parent object containing this reference. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + // the cluster of the object. If omitted, Gloo Mesh will use the same cluster as the parent object containing this reference. + Cluster string `protobuf:"bytes,3,opt,name=cluster,proto3" json:"cluster,omitempty"` +} + +func (x *ObjectReference) Reset() { + *x = ObjectReference{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ObjectReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ObjectReference) ProtoMessage() {} + +func (x *ObjectReference) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ObjectReference.ProtoReflect.Descriptor instead. +func (*ObjectReference) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescGZIP(), []int{1} +} + +func (x *ObjectReference) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ObjectReference) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ObjectReference) GetCluster() string { + if x != nil { + return x.Cluster + } + return "" +} + +// Destinations point to the upstream services that fulfill client requests on matching routes that you set up, such as in a route table. Each destination must resolve to one and only one hostname. +// +// Destinations can refer to a variety of resources. The behavior of the route action +// varies depending on the kind of destination. +// +// Currently supported destination types are: +// - Kubernetes `Service`, the default destination. +// - Gloo `VirtualDestination` to route traffic to one of the VirtualDestination's backing Kubernetes services. +// - Gloo `ExternalService` to route traffic to a static set of service endpoints that are external to your mesh setup. +// - Gloo `ExternalWorkload` to route traffic to external workloads that are part of your mesh. +// - Gloo `CloudProvider` to route traffic to a cloud provider function such as AWS Lambdas, selected by using the `functionCall` field. +// +// HTTP routes support all destinations. TCP routes support only Kubernetes `Service` and Gloo `VirtualDestination` destinations. +type DestinationReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // reference used to match destination objects by their metadata + // + // Types that are assignable to RefKind: + // + // *DestinationReference_Ref + // *DestinationReference_AwsLambda + RefKind isDestinationReference_RefKind `protobuf_oneof:"ref_kind"` + // the kind of Kubernetes destination being referenced. defaults to Service. + // Only applicable for Kubernetes destinations. For non Kubernetes destinations, this field is ignored. + Kind DestinationKind `protobuf:"varint,2,opt,name=kind,proto3,enum=common.gloo.solo.io.DestinationKind" json:"kind,omitempty"` + // the port on the destination object being targeted. required if the object provides more than one port. + Port *PortSelector `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"` + // select a subset of the destination's endpoints for routing based on their labels. + // Only applicable for Kubernetes destinations. + Subset map[string]string `protobuf:"bytes,4,rep,name=subset,proto3" json:"subset,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Specify the proportion of traffic to be forwarded to this destination. + // Weights across all of the `destinations` must sum to 100. + // Weight is only relevant when used in the context of a route with multiple destinations. + Weight uint32 `protobuf:"varint,5,opt,name=weight,proto3" json:"weight,omitempty"` +} + +func (x *DestinationReference) Reset() { + *x = DestinationReference{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DestinationReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DestinationReference) ProtoMessage() {} + +func (x *DestinationReference) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DestinationReference.ProtoReflect.Descriptor instead. +func (*DestinationReference) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescGZIP(), []int{2} +} + +func (m *DestinationReference) GetRefKind() isDestinationReference_RefKind { + if m != nil { + return m.RefKind + } + return nil +} + +func (x *DestinationReference) GetRef() *ObjectReference { + if x, ok := x.GetRefKind().(*DestinationReference_Ref); ok { + return x.Ref + } + return nil +} + +func (x *DestinationReference) GetAwsLambda() *AWSLambdaReference { + if x, ok := x.GetRefKind().(*DestinationReference_AwsLambda); ok { + return x.AwsLambda + } + return nil +} + +func (x *DestinationReference) GetKind() DestinationKind { + if x != nil { + return x.Kind + } + return DestinationKind_SERVICE +} + +func (x *DestinationReference) GetPort() *PortSelector { + if x != nil { + return x.Port + } + return nil +} + +func (x *DestinationReference) GetSubset() map[string]string { + if x != nil { + return x.Subset + } + return nil +} + +func (x *DestinationReference) GetWeight() uint32 { + if x != nil { + return x.Weight + } + return 0 +} + +type isDestinationReference_RefKind interface { + isDestinationReference_RefKind() +} + +type DestinationReference_Ref struct { + // reference to a Kubernetes destination object by its metadata + Ref *ObjectReference `protobuf:"bytes,1,opt,name=ref,proto3,oneof"` +} + +type DestinationReference_AwsLambda struct { + // Reference an AWS Lambda function. + AwsLambda *AWSLambdaReference `protobuf:"bytes,6,opt,name=aws_lambda,json=awsLambda,proto3,oneof"` +} + +func (*DestinationReference_Ref) isDestinationReference_RefKind() {} + +func (*DestinationReference_AwsLambda) isDestinationReference_RefKind() {} + +// A reference to an AWS Lambda Function to use as a routing destination +type AWSLambdaReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Reference to the AWS Cloud Provider. + CloudProvider *ObjectReference `protobuf:"bytes,1,opt,name=cloud_provider,json=cloudProvider,proto3" json:"cloud_provider,omitempty"` + // Name of the function to reference. + Function string `protobuf:"bytes,2,opt,name=function,proto3" json:"function,omitempty"` + // Qualifier of the function to reference. Defaults to $LATEST + Qualifier string `protobuf:"bytes,3,opt,name=qualifier,proto3" json:"qualifier,omitempty"` + // Specify how the destinations should be configured, for configuring lambda functions. + // If the destination config is required for the destination and not provided by the user, Gloo will invalidate the + // destination and its parent resources. + Options *LambdaOptions `protobuf:"bytes,4,opt,name=options,proto3" json:"options,omitempty"` +} + +func (x *AWSLambdaReference) Reset() { + *x = AWSLambdaReference{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSLambdaReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSLambdaReference) ProtoMessage() {} + +func (x *AWSLambdaReference) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AWSLambdaReference.ProtoReflect.Descriptor instead. +func (*AWSLambdaReference) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescGZIP(), []int{3} +} + +func (x *AWSLambdaReference) GetCloudProvider() *ObjectReference { + if x != nil { + return x.CloudProvider + } + return nil +} + +func (x *AWSLambdaReference) GetFunction() string { + if x != nil { + return x.Function + } + return "" +} + +func (x *AWSLambdaReference) GetQualifier() string { + if x != nil { + return x.Qualifier + } + return "" +} + +func (x *AWSLambdaReference) GetOptions() *LambdaOptions { + if x != nil { + return x.Options + } + return nil +} + +// ListenerPortReference identifies a single listener in a VirtualGateway by port number +type ListenerPortReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The gateway containing the listener. + GatewayRef *ObjectReference `protobuf:"bytes,1,opt,name=gateway_ref,json=gatewayRef,proto3" json:"gateway_ref,omitempty"` + // The port of the listener on the gateway. + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *ListenerPortReference) Reset() { + *x = ListenerPortReference{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListenerPortReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenerPortReference) ProtoMessage() {} + +func (x *ListenerPortReference) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListenerPortReference.ProtoReflect.Descriptor instead. +func (*ListenerPortReference) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescGZIP(), []int{4} +} + +func (x *ListenerPortReference) GetGatewayRef() *ObjectReference { + if x != nil { + return x.GatewayRef + } + return nil +} + +func (x *ListenerPortReference) GetPort() uint32 { + if x != nil { + return x.Port + } + return 0 +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDesc = []byte{ + 0x0a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4d, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, + 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xe7, 0x01, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x03, 0x72, 0x65, 0x66, + 0x12, 0x47, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4b, + 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x51, 0x0a, 0x0c, 0x57, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, + 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x41, 0x45, + 0x4d, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x46, 0x55, 0x4c, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x52, + 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x03, 0x22, 0x5d, 0x0a, 0x0f, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0xb9, 0x03, 0x0a, 0x14, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x48, + 0x0a, 0x0a, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x57, 0x53, 0x4c, 0x61, 0x6d, 0x62, + 0x64, 0x61, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x61, + 0x77, 0x73, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x12, 0x38, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x12, 0x35, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x4d, 0x0a, 0x06, 0x73, 0x75, 0x62, + 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x1a, 0x39, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x72, + 0x65, 0x66, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x12, 0x41, 0x57, 0x53, 0x4c, + 0x61, 0x6d, 0x62, 0x64, 0x61, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x4b, + 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x61, 0x6c, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x61, 0x6c, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x61, 0x6d, + 0x62, 0x64, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x22, 0x72, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x50, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x0b, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x52, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, + 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_goTypes = []interface{}{ + (WorkloadReference_WorkloadKind)(0), // 0: common.gloo.solo.io.WorkloadReference.WorkloadKind + (*WorkloadReference)(nil), // 1: common.gloo.solo.io.WorkloadReference + (*ObjectReference)(nil), // 2: common.gloo.solo.io.ObjectReference + (*DestinationReference)(nil), // 3: common.gloo.solo.io.DestinationReference + (*AWSLambdaReference)(nil), // 4: common.gloo.solo.io.AWSLambdaReference + (*ListenerPortReference)(nil), // 5: common.gloo.solo.io.ListenerPortReference + nil, // 6: common.gloo.solo.io.DestinationReference.SubsetEntry + (DestinationKind)(0), // 7: common.gloo.solo.io.DestinationKind + (*PortSelector)(nil), // 8: common.gloo.solo.io.PortSelector + (*LambdaOptions)(nil), // 9: common.gloo.solo.io.LambdaOptions +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_depIdxs = []int32{ + 2, // 0: common.gloo.solo.io.WorkloadReference.ref:type_name -> common.gloo.solo.io.ObjectReference + 0, // 1: common.gloo.solo.io.WorkloadReference.kind:type_name -> common.gloo.solo.io.WorkloadReference.WorkloadKind + 2, // 2: common.gloo.solo.io.DestinationReference.ref:type_name -> common.gloo.solo.io.ObjectReference + 4, // 3: common.gloo.solo.io.DestinationReference.aws_lambda:type_name -> common.gloo.solo.io.AWSLambdaReference + 7, // 4: common.gloo.solo.io.DestinationReference.kind:type_name -> common.gloo.solo.io.DestinationKind + 8, // 5: common.gloo.solo.io.DestinationReference.port:type_name -> common.gloo.solo.io.PortSelector + 6, // 6: common.gloo.solo.io.DestinationReference.subset:type_name -> common.gloo.solo.io.DestinationReference.SubsetEntry + 2, // 7: common.gloo.solo.io.AWSLambdaReference.cloud_provider:type_name -> common.gloo.solo.io.ObjectReference + 9, // 8: common.gloo.solo.io.AWSLambdaReference.options:type_name -> common.gloo.solo.io.LambdaOptions + 2, // 9: common.gloo.solo.io.ListenerPortReference.gateway_ref:type_name -> common.gloo.solo.io.ObjectReference + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto != nil { + return + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_init() + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_init() + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_init() + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkloadReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ObjectReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DestinationReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AWSLambdaReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListenerPortReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*DestinationReference_Ref)(nil), + (*DestinationReference_AwsLambda)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDesc, + NumEnums: 1, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/references.pb.hash.go b/client-go/common.gloo.solo.io/v2/references.pb.hash.go new file mode 100644 index 000000000..32d3f2273 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/references.pb.hash.go @@ -0,0 +1,317 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/references.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *WorkloadReference) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.WorkloadReference")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Ref")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Ref")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetKind()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ObjectReference) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ObjectReference")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCluster())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DestinationReference) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.DestinationReference")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetKind()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetSubset() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetWeight()) + if err != nil { + return 0, err + } + + switch m.RefKind.(type) { + + case *DestinationReference_Ref: + + if h, ok := interface{}(m.GetRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Ref")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Ref")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *DestinationReference_AwsLambda: + + if h, ok := interface{}(m.GetAwsLambda()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AwsLambda")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAwsLambda(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AwsLambda")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AWSLambdaReference) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.AWSLambdaReference")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCloudProvider()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CloudProvider")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCloudProvider(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CloudProvider")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetFunction())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetQualifier())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ListenerPortReference) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ListenerPortReference")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetGatewayRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("GatewayRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGatewayRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("GatewayRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPort()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/selectors.pb.clone.go b/client-go/common.gloo.solo.io/v2/selectors.pb.clone.go new file mode 100644 index 000000000..04d3917a2 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/selectors.pb.clone.go @@ -0,0 +1,461 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ObjectSelector) Clone() proto.Message { + var target *ObjectSelector + if m == nil { + return target + } + target = &ObjectSelector{} + + if m.GetLabels() != nil { + target.Labels = make(map[string]string, len(m.GetLabels())) + for k, v := range m.GetLabels() { + + target.Labels[k] = v + + } + } + + target.Name = m.GetName() + + target.Namespace = m.GetNamespace() + + target.Cluster = m.GetCluster() + + target.Workspace = m.GetWorkspace() + + return target +} + +// Clone function +func (m *DestinationSelector) Clone() proto.Message { + var target *DestinationSelector + if m == nil { + return target + } + target = &DestinationSelector{} + + if h, ok := interface{}(m.GetSelector()).(clone.Cloner); ok { + target.Selector = h.Clone().(*ObjectSelector) + } else { + target.Selector = proto.Clone(m.GetSelector()).(*ObjectSelector) + } + + target.Kind = m.GetKind() + + if h, ok := interface{}(m.GetPort()).(clone.Cloner); ok { + target.Port = h.Clone().(*PortSelector) + } else { + target.Port = proto.Clone(m.GetPort()).(*PortSelector) + } + + return target +} + +// Clone function +func (m *RouteDestinationSelector) Clone() proto.Message { + var target *RouteDestinationSelector + if m == nil { + return target + } + target = &RouteDestinationSelector{} + + if h, ok := interface{}(m.GetRoute()).(clone.Cloner); ok { + target.Route = h.Clone().(*RouteLabelSelector) + } else { + target.Route = proto.Clone(m.GetRoute()).(*RouteLabelSelector) + } + + if m.GetOnDestinations() != nil { + target.OnDestinations = make([]*DestinationSelector, len(m.GetOnDestinations())) + for idx, v := range m.GetOnDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.OnDestinations[idx] = h.Clone().(*DestinationSelector) + } else { + target.OnDestinations[idx] = proto.Clone(v).(*DestinationSelector) + } + + } + } + + return target +} + +// Clone function +func (m *RouteLabelSelector) Clone() proto.Message { + var target *RouteLabelSelector + if m == nil { + return target + } + target = &RouteLabelSelector{} + + if m.GetLabels() != nil { + target.Labels = make(map[string]string, len(m.GetLabels())) + for k, v := range m.GetLabels() { + + target.Labels[k] = v + + } + } + + target.Namespace = m.GetNamespace() + + target.Cluster = m.GetCluster() + + target.Workspace = m.GetWorkspace() + + return target +} + +// Clone function +func (m *RouteSelector) Clone() proto.Message { + var target *RouteSelector + if m == nil { + return target + } + target = &RouteSelector{} + + switch m.SelectorType.(type) { + + case *RouteSelector_Route: + + if h, ok := interface{}(m.GetRoute()).(clone.Cloner); ok { + target.SelectorType = &RouteSelector_Route{ + Route: h.Clone().(*RouteLabelSelector), + } + } else { + target.SelectorType = &RouteSelector_Route{ + Route: proto.Clone(m.GetRoute()).(*RouteLabelSelector), + } + } + + case *RouteSelector_WithDestinations: + + if h, ok := interface{}(m.GetWithDestinations()).(clone.Cloner); ok { + target.SelectorType = &RouteSelector_WithDestinations{ + WithDestinations: h.Clone().(*DestinationSelector), + } + } else { + target.SelectorType = &RouteSelector_WithDestinations{ + WithDestinations: proto.Clone(m.GetWithDestinations()).(*DestinationSelector), + } + } + + } + + return target +} + +// Clone function +func (m *RouteFilter) Clone() proto.Message { + var target *RouteFilter + if m == nil { + return target + } + target = &RouteFilter{} + + if h, ok := interface{}(m.GetCloudProvider()).(clone.Cloner); ok { + target.CloudProvider = h.Clone().(*CloudProviderFilterOptions) + } else { + target.CloudProvider = proto.Clone(m.GetCloudProvider()).(*CloudProviderFilterOptions) + } + + return target +} + +// Clone function +func (m *ListenerSelector) Clone() proto.Message { + var target *ListenerSelector + if m == nil { + return target + } + target = &ListenerSelector{} + + if h, ok := interface{}(m.GetVirtualGateway()).(clone.Cloner); ok { + target.VirtualGateway = h.Clone().(*ObjectSelector) + } else { + target.VirtualGateway = proto.Clone(m.GetVirtualGateway()).(*ObjectSelector) + } + + if h, ok := interface{}(m.GetPort()).(clone.Cloner); ok { + target.Port = h.Clone().(*PortSelector) + } else { + target.Port = proto.Clone(m.GetPort()).(*PortSelector) + } + + return target +} + +// Clone function +func (m *WorkloadSelector) Clone() proto.Message { + var target *WorkloadSelector + if m == nil { + return target + } + target = &WorkloadSelector{} + + if h, ok := interface{}(m.GetSelector()).(clone.Cloner); ok { + target.Selector = h.Clone().(*ObjectSelector) + } else { + target.Selector = proto.Clone(m.GetSelector()).(*ObjectSelector) + } + + target.Kind = m.GetKind() + + if h, ok := interface{}(m.GetPort()).(clone.Cloner); ok { + target.Port = h.Clone().(*PortSelector) + } else { + target.Port = proto.Clone(m.GetPort()).(*PortSelector) + } + + return target +} + +// Clone function +func (m *IdentitySelector) Clone() proto.Message { + var target *IdentitySelector + if m == nil { + return target + } + target = &IdentitySelector{} + + if h, ok := interface{}(m.GetServiceAccountSelector()).(clone.Cloner); ok { + target.ServiceAccountSelector = h.Clone().(*ObjectSelector) + } else { + target.ServiceAccountSelector = proto.Clone(m.GetServiceAccountSelector()).(*ObjectSelector) + } + + if h, ok := interface{}(m.GetExternalWorkloadSelector()).(clone.Cloner); ok { + target.ExternalWorkloadSelector = h.Clone().(*ObjectSelector) + } else { + target.ExternalWorkloadSelector = proto.Clone(m.GetExternalWorkloadSelector()).(*ObjectSelector) + } + + if h, ok := interface{}(m.GetRequestIdentityMatcher()).(clone.Cloner); ok { + target.RequestIdentityMatcher = h.Clone().(*IdentitySelector_RequestIdentityMatcher) + } else { + target.RequestIdentityMatcher = proto.Clone(m.GetRequestIdentityMatcher()).(*IdentitySelector_RequestIdentityMatcher) + } + + return target +} + +// Clone function +func (m *ClusterSelector) Clone() proto.Message { + var target *ClusterSelector + if m == nil { + return target + } + target = &ClusterSelector{} + + target.Name = m.GetName() + + if m.GetSelector() != nil { + target.Selector = make(map[string]string, len(m.GetSelector())) + for k, v := range m.GetSelector() { + + target.Selector[k] = v + + } + } + + if m.GetNamespaces() != nil { + target.Namespaces = make([]*ClusterSelector_NamespaceSelector, len(m.GetNamespaces())) + for idx, v := range m.GetNamespaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Namespaces[idx] = h.Clone().(*ClusterSelector_NamespaceSelector) + } else { + target.Namespaces[idx] = proto.Clone(v).(*ClusterSelector_NamespaceSelector) + } + + } + } + + target.ConfigEnabled = m.GetConfigEnabled() + + return target +} + +// Clone function +func (m *MeshSelector) Clone() proto.Message { + var target *MeshSelector + if m == nil { + return target + } + target = &MeshSelector{} + + switch m.MeshType.(type) { + + case *MeshSelector_Istio_: + + if h, ok := interface{}(m.GetIstio()).(clone.Cloner); ok { + target.MeshType = &MeshSelector_Istio_{ + Istio: h.Clone().(*MeshSelector_Istio), + } + } else { + target.MeshType = &MeshSelector_Istio_{ + Istio: proto.Clone(m.GetIstio()).(*MeshSelector_Istio), + } + } + + } + + return target +} + +// Clone function +func (m *WorkspaceSelector) Clone() proto.Message { + var target *WorkspaceSelector + if m == nil { + return target + } + target = &WorkspaceSelector{} + + target.Name = m.GetName() + + if m.GetSelector() != nil { + target.Selector = make(map[string]string, len(m.GetSelector())) + for k, v := range m.GetSelector() { + + target.Selector[k] = v + + } + } + + return target +} + +// Clone function +func (m *TargetRef) Clone() proto.Message { + var target *TargetRef + if m == nil { + return target + } + target = &TargetRef{} + + target.Group = m.GetGroup() + + target.Kind = m.GetKind() + + target.Name = m.GetName() + + target.Namespace = m.GetNamespace() + + target.SectionName = m.GetSectionName() + + return target +} + +// Clone function +func (m *IdentitySelector_RequestIdentityMatcher) Clone() proto.Message { + var target *IdentitySelector_RequestIdentityMatcher + if m == nil { + return target + } + target = &IdentitySelector_RequestIdentityMatcher{} + + if m.GetRequestPrincipals() != nil { + target.RequestPrincipals = make([]string, len(m.GetRequestPrincipals())) + for idx, v := range m.GetRequestPrincipals() { + + target.RequestPrincipals[idx] = v + + } + } + + if m.GetNotRequestPrincipals() != nil { + target.NotRequestPrincipals = make([]string, len(m.GetNotRequestPrincipals())) + for idx, v := range m.GetNotRequestPrincipals() { + + target.NotRequestPrincipals[idx] = v + + } + } + + return target +} + +// Clone function +func (m *ClusterSelector_NamespaceSelector) Clone() proto.Message { + var target *ClusterSelector_NamespaceSelector + if m == nil { + return target + } + target = &ClusterSelector_NamespaceSelector{} + + target.Name = m.GetName() + + target.ConfigEnabled = m.GetConfigEnabled() + + if m.GetLabels() != nil { + target.Labels = make(map[string]string, len(m.GetLabels())) + for k, v := range m.GetLabels() { + + target.Labels[k] = v + + } + } + + return target +} + +// Clone function +func (m *MeshSelector_Istio) Clone() proto.Message { + var target *MeshSelector_Istio + if m == nil { + return target + } + target = &MeshSelector_Istio{} + + target.Revision = m.GetRevision() + + target.Namespace = m.GetNamespace() + + if m.GetClusterSelector() != nil { + target.ClusterSelector = make(map[string]string, len(m.GetClusterSelector())) + for k, v := range m.GetClusterSelector() { + + target.ClusterSelector[k] = v + + } + } + + if m.GetSelector() != nil { + target.Selector = make(map[string]string, len(m.GetSelector())) + for k, v := range m.GetSelector() { + + target.Selector[k] = v + + } + } + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/selectors.pb.equal.go b/client-go/common.gloo.solo.io/v2/selectors.pb.equal.go new file mode 100644 index 000000000..be16fb867 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/selectors.pb.equal.go @@ -0,0 +1,800 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ObjectSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ObjectSelector) + if !ok { + that2, ok := that.(ObjectSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetLabels()) != len(target.GetLabels()) { + return false + } + for k, v := range m.GetLabels() { + + if strings.Compare(v, target.GetLabels()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetCluster(), target.GetCluster()) != 0 { + return false + } + + if strings.Compare(m.GetWorkspace(), target.GetWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *DestinationSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DestinationSelector) + if !ok { + that2, ok := that.(DestinationSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetSelector()) { + return false + } + } else { + if !proto.Equal(m.GetSelector(), target.GetSelector()) { + return false + } + } + + if m.GetKind() != target.GetKind() { + return false + } + + if h, ok := interface{}(m.GetPort()).(equality.Equalizer); ok { + if !h.Equal(target.GetPort()) { + return false + } + } else { + if !proto.Equal(m.GetPort(), target.GetPort()) { + return false + } + } + + return true +} + +// Equal function +func (m *RouteDestinationSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RouteDestinationSelector) + if !ok { + that2, ok := that.(RouteDestinationSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetRoute()).(equality.Equalizer); ok { + if !h.Equal(target.GetRoute()) { + return false + } + } else { + if !proto.Equal(m.GetRoute(), target.GetRoute()) { + return false + } + } + + if len(m.GetOnDestinations()) != len(target.GetOnDestinations()) { + return false + } + for idx, v := range m.GetOnDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetOnDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetOnDestinations()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *RouteLabelSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RouteLabelSelector) + if !ok { + that2, ok := that.(RouteLabelSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetLabels()) != len(target.GetLabels()) { + return false + } + for k, v := range m.GetLabels() { + + if strings.Compare(v, target.GetLabels()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetCluster(), target.GetCluster()) != 0 { + return false + } + + if strings.Compare(m.GetWorkspace(), target.GetWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *RouteSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RouteSelector) + if !ok { + that2, ok := that.(RouteSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.SelectorType.(type) { + + case *RouteSelector_Route: + if _, ok := target.SelectorType.(*RouteSelector_Route); !ok { + return false + } + + if h, ok := interface{}(m.GetRoute()).(equality.Equalizer); ok { + if !h.Equal(target.GetRoute()) { + return false + } + } else { + if !proto.Equal(m.GetRoute(), target.GetRoute()) { + return false + } + } + + case *RouteSelector_WithDestinations: + if _, ok := target.SelectorType.(*RouteSelector_WithDestinations); !ok { + return false + } + + if h, ok := interface{}(m.GetWithDestinations()).(equality.Equalizer); ok { + if !h.Equal(target.GetWithDestinations()) { + return false + } + } else { + if !proto.Equal(m.GetWithDestinations(), target.GetWithDestinations()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.SelectorType != target.SelectorType { + return false + } + } + + return true +} + +// Equal function +func (m *RouteFilter) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RouteFilter) + if !ok { + that2, ok := that.(RouteFilter) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCloudProvider()).(equality.Equalizer); ok { + if !h.Equal(target.GetCloudProvider()) { + return false + } + } else { + if !proto.Equal(m.GetCloudProvider(), target.GetCloudProvider()) { + return false + } + } + + return true +} + +// Equal function +func (m *ListenerSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ListenerSelector) + if !ok { + that2, ok := that.(ListenerSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetVirtualGateway()).(equality.Equalizer); ok { + if !h.Equal(target.GetVirtualGateway()) { + return false + } + } else { + if !proto.Equal(m.GetVirtualGateway(), target.GetVirtualGateway()) { + return false + } + } + + if h, ok := interface{}(m.GetPort()).(equality.Equalizer); ok { + if !h.Equal(target.GetPort()) { + return false + } + } else { + if !proto.Equal(m.GetPort(), target.GetPort()) { + return false + } + } + + return true +} + +// Equal function +func (m *WorkloadSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkloadSelector) + if !ok { + that2, ok := that.(WorkloadSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetSelector()) { + return false + } + } else { + if !proto.Equal(m.GetSelector(), target.GetSelector()) { + return false + } + } + + if m.GetKind() != target.GetKind() { + return false + } + + if h, ok := interface{}(m.GetPort()).(equality.Equalizer); ok { + if !h.Equal(target.GetPort()) { + return false + } + } else { + if !proto.Equal(m.GetPort(), target.GetPort()) { + return false + } + } + + return true +} + +// Equal function +func (m *IdentitySelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IdentitySelector) + if !ok { + that2, ok := that.(IdentitySelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetServiceAccountSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetServiceAccountSelector()) { + return false + } + } else { + if !proto.Equal(m.GetServiceAccountSelector(), target.GetServiceAccountSelector()) { + return false + } + } + + if h, ok := interface{}(m.GetExternalWorkloadSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetExternalWorkloadSelector()) { + return false + } + } else { + if !proto.Equal(m.GetExternalWorkloadSelector(), target.GetExternalWorkloadSelector()) { + return false + } + } + + if h, ok := interface{}(m.GetRequestIdentityMatcher()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequestIdentityMatcher()) { + return false + } + } else { + if !proto.Equal(m.GetRequestIdentityMatcher(), target.GetRequestIdentityMatcher()) { + return false + } + } + + return true +} + +// Equal function +func (m *ClusterSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClusterSelector) + if !ok { + that2, ok := that.(ClusterSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if len(m.GetSelector()) != len(target.GetSelector()) { + return false + } + for k, v := range m.GetSelector() { + + if strings.Compare(v, target.GetSelector()[k]) != 0 { + return false + } + + } + + if len(m.GetNamespaces()) != len(target.GetNamespaces()) { + return false + } + for idx, v := range m.GetNamespaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetNamespaces()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetNamespaces()[idx]) { + return false + } + } + + } + + if m.GetConfigEnabled() != target.GetConfigEnabled() { + return false + } + + return true +} + +// Equal function +func (m *MeshSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MeshSelector) + if !ok { + that2, ok := that.(MeshSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.MeshType.(type) { + + case *MeshSelector_Istio_: + if _, ok := target.MeshType.(*MeshSelector_Istio_); !ok { + return false + } + + if h, ok := interface{}(m.GetIstio()).(equality.Equalizer); ok { + if !h.Equal(target.GetIstio()) { + return false + } + } else { + if !proto.Equal(m.GetIstio(), target.GetIstio()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.MeshType != target.MeshType { + return false + } + } + + return true +} + +// Equal function +func (m *WorkspaceSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WorkspaceSelector) + if !ok { + that2, ok := that.(WorkspaceSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if len(m.GetSelector()) != len(target.GetSelector()) { + return false + } + for k, v := range m.GetSelector() { + + if strings.Compare(v, target.GetSelector()[k]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *TargetRef) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TargetRef) + if !ok { + that2, ok := that.(TargetRef) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetGroup(), target.GetGroup()) != 0 { + return false + } + + if strings.Compare(m.GetKind(), target.GetKind()) != 0 { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetSectionName(), target.GetSectionName()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *IdentitySelector_RequestIdentityMatcher) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IdentitySelector_RequestIdentityMatcher) + if !ok { + that2, ok := that.(IdentitySelector_RequestIdentityMatcher) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetRequestPrincipals()) != len(target.GetRequestPrincipals()) { + return false + } + for idx, v := range m.GetRequestPrincipals() { + + if strings.Compare(v, target.GetRequestPrincipals()[idx]) != 0 { + return false + } + + } + + if len(m.GetNotRequestPrincipals()) != len(target.GetNotRequestPrincipals()) { + return false + } + for idx, v := range m.GetNotRequestPrincipals() { + + if strings.Compare(v, target.GetNotRequestPrincipals()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ClusterSelector_NamespaceSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClusterSelector_NamespaceSelector) + if !ok { + that2, ok := that.(ClusterSelector_NamespaceSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if m.GetConfigEnabled() != target.GetConfigEnabled() { + return false + } + + if len(m.GetLabels()) != len(target.GetLabels()) { + return false + } + for k, v := range m.GetLabels() { + + if strings.Compare(v, target.GetLabels()[k]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *MeshSelector_Istio) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MeshSelector_Istio) + if !ok { + that2, ok := that.(MeshSelector_Istio) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetRevision(), target.GetRevision()) != 0 { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if len(m.GetClusterSelector()) != len(target.GetClusterSelector()) { + return false + } + for k, v := range m.GetClusterSelector() { + + if strings.Compare(v, target.GetClusterSelector()[k]) != 0 { + return false + } + + } + + if len(m.GetSelector()) != len(target.GetSelector()) { + return false + } + for k, v := range m.GetSelector() { + + if strings.Compare(v, target.GetSelector()[k]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/selectors.pb.go b/client-go/common.gloo.solo.io/v2/selectors.pb.go new file mode 100644 index 000000000..7505f7da0 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/selectors.pb.go @@ -0,0 +1,1820 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Supported Kinds which can be selected by routes. +type DestinationKind int32 + +const ( + // Select a Kubernetes Service + DestinationKind_SERVICE DestinationKind = 0 + // Select a Virtual Destination + DestinationKind_VIRTUAL_DESTINATION DestinationKind = 1 + // Select an External Service + DestinationKind_EXTERNAL_SERVICE DestinationKind = 2 +) + +// Enum value maps for DestinationKind. +var ( + DestinationKind_name = map[int32]string{ + 0: "SERVICE", + 1: "VIRTUAL_DESTINATION", + 2: "EXTERNAL_SERVICE", + } + DestinationKind_value = map[string]int32{ + "SERVICE": 0, + "VIRTUAL_DESTINATION": 1, + "EXTERNAL_SERVICE": 2, + } +) + +func (x DestinationKind) Enum() *DestinationKind { + p := new(DestinationKind) + *p = x + return p +} + +func (x DestinationKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DestinationKind) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_enumTypes[0].Descriptor() +} + +func (DestinationKind) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_enumTypes[0] +} + +func (x DestinationKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DestinationKind.Descriptor instead. +func (DestinationKind) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{0} +} + +type WorkloadSelector_WorkloadKind int32 + +const ( + // Select kubernetes workloads (deployment, statefulset, daemonset, etc.). + WorkloadSelector_KUBE WorkloadSelector_WorkloadKind = 0 + // Select vms which are external, non-kube workloads. + WorkloadSelector_VM WorkloadSelector_WorkloadKind = 1 +) + +// Enum value maps for WorkloadSelector_WorkloadKind. +var ( + WorkloadSelector_WorkloadKind_name = map[int32]string{ + 0: "KUBE", + 1: "VM", + } + WorkloadSelector_WorkloadKind_value = map[string]int32{ + "KUBE": 0, + "VM": 1, + } +) + +func (x WorkloadSelector_WorkloadKind) Enum() *WorkloadSelector_WorkloadKind { + p := new(WorkloadSelector_WorkloadKind) + *p = x + return p +} + +func (x WorkloadSelector_WorkloadKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WorkloadSelector_WorkloadKind) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_enumTypes[1].Descriptor() +} + +func (WorkloadSelector_WorkloadKind) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_enumTypes[1] +} + +func (x WorkloadSelector_WorkloadKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WorkloadSelector_WorkloadKind.Descriptor instead. +func (WorkloadSelector_WorkloadKind) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{7, 0} +} + +// selects zero or more Kubernetes API resources by matching on labels, name, namespace, cluster, and workspace. +type ObjectSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // labels matching those of the object + Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Only select objects with the matching name. If omitted, Gloo selects + // matching objects with any name available in the parent object's workspace. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // Only select objects in the matching namespace. If omitted, Gloo selects + // matching objects across all namespaces available in the parent object's workspace. + Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Only select objects in the matching cluster. If omitted, Gloo selects + // matching objects across all clusters available in the parent object's workspace. + Cluster string `protobuf:"bytes,4,opt,name=cluster,proto3" json:"cluster,omitempty"` + // Only select objects in the given workspace. If omitted, Gloo selects + // matching objects across all workspaces available in the parent object's workspace. + Workspace string `protobuf:"bytes,5,opt,name=workspace,proto3" json:"workspace,omitempty"` +} + +func (x *ObjectSelector) Reset() { + *x = ObjectSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ObjectSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ObjectSelector) ProtoMessage() {} + +func (x *ObjectSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ObjectSelector.ProtoReflect.Descriptor instead. +func (*ObjectSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{0} +} + +func (x *ObjectSelector) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *ObjectSelector) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ObjectSelector) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ObjectSelector) GetCluster() string { + if x != nil { + return x.Cluster + } + return "" +} + +func (x *ObjectSelector) GetWorkspace() string { + if x != nil { + return x.Workspace + } + return "" +} + +// DestinationSelector is a selector for matching routable destinations for routes. +// DestinationSelectors can select a variety of object types. The behavior of the route action +// will vary depending on the type of destination selected. Defaults to the kubernetes `v1/Service`. +// Currently supported destination types: +// - v1 Service +// - networking.gloo.solo.io/v2 VirtualDestination (route traffic to a group of backing destinations) +// - networking.gloo.solo.io/v2 ExternalService (route traffic to a static set of service endpoints external to the mesh) +type DestinationSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The selector used to match destination objects by their metadata + Selector *ObjectSelector `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"` + // The kind of destination being selected. defaults to Kubernetes Service. + Kind DestinationKind `protobuf:"varint,2,opt,name=kind,proto3,enum=common.gloo.solo.io.DestinationKind" json:"kind,omitempty"` + // The port on the Destination which receives traffic. + // All ports on the Destination will be selected if left empty. + Port *PortSelector `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *DestinationSelector) Reset() { + *x = DestinationSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DestinationSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DestinationSelector) ProtoMessage() {} + +func (x *DestinationSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DestinationSelector.ProtoReflect.Descriptor instead. +func (*DestinationSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{1} +} + +func (x *DestinationSelector) GetSelector() *ObjectSelector { + if x != nil { + return x.Selector + } + return nil +} + +func (x *DestinationSelector) GetKind() DestinationKind { + if x != nil { + return x.Kind + } + return DestinationKind_SERVICE +} + +func (x *DestinationSelector) GetPort() *PortSelector { + if x != nil { + return x.Port + } + return nil +} + +// RouteDestinationSelector is a Selector specifically built for individual destinations on individual Routes inside of RouteTables. +type RouteDestinationSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // select routes based on their labels. + // these labels can be used to match route tables or individual routes within route tables. + // If empty, configuration will apply to all specified destinations on all routes in the workspace. + Route *RouteLabelSelector `protobuf:"bytes,1,opt,name=route,proto3" json:"route,omitempty"` + // for the selected routes, select destinations on which to apply this policy + OnDestinations []*DestinationSelector `protobuf:"bytes,2,rep,name=on_destinations,json=onDestinations,proto3" json:"on_destinations,omitempty"` +} + +func (x *RouteDestinationSelector) Reset() { + *x = RouteDestinationSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteDestinationSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteDestinationSelector) ProtoMessage() {} + +func (x *RouteDestinationSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteDestinationSelector.ProtoReflect.Descriptor instead. +func (*RouteDestinationSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{2} +} + +func (x *RouteDestinationSelector) GetRoute() *RouteLabelSelector { + if x != nil { + return x.Route + } + return nil +} + +func (x *RouteDestinationSelector) GetOnDestinations() []*DestinationSelector { + if x != nil { + return x.OnDestinations + } + return nil +} + +// RouteLabelSelector is used to select the details of a route primarily by label. The selection may be further +// restricted by namespace, cluster, and workspace. +type RouteLabelSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select routes including all specified labels on the route or route table. + Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Only select routes attached to route tables matching the namespace. + Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Only select routes attached to route tables matching the cluster. + Cluster string `protobuf:"bytes,4,opt,name=cluster,proto3" json:"cluster,omitempty"` + // Only select routes attached to route tables matching the workspace. + Workspace string `protobuf:"bytes,5,opt,name=workspace,proto3" json:"workspace,omitempty"` +} + +func (x *RouteLabelSelector) Reset() { + *x = RouteLabelSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteLabelSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteLabelSelector) ProtoMessage() {} + +func (x *RouteLabelSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteLabelSelector.ProtoReflect.Descriptor instead. +func (*RouteLabelSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{3} +} + +func (x *RouteLabelSelector) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *RouteLabelSelector) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RouteLabelSelector) GetCluster() string { + if x != nil { + return x.Cluster + } + return "" +} + +func (x *RouteLabelSelector) GetWorkspace() string { + if x != nil { + return x.Workspace + } + return "" +} + +// RouteSelector is a Selector specifically built for individual Routes inside of RouteTables. +// +// This selector can be used to select individual routes or entire route tables using the same label selector. +type RouteSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // routes can be selected based on properties of routes or the destinations to which the routes point (if they are using `forwardTo` actions). + // + // Types that are assignable to SelectorType: + // + // *RouteSelector_Route + // *RouteSelector_WithDestinations + SelectorType isRouteSelector_SelectorType `protobuf_oneof:"selector_type"` +} + +func (x *RouteSelector) Reset() { + *x = RouteSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteSelector) ProtoMessage() {} + +func (x *RouteSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteSelector.ProtoReflect.Descriptor instead. +func (*RouteSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{4} +} + +func (m *RouteSelector) GetSelectorType() isRouteSelector_SelectorType { + if m != nil { + return m.SelectorType + } + return nil +} + +func (x *RouteSelector) GetRoute() *RouteLabelSelector { + if x, ok := x.GetSelectorType().(*RouteSelector_Route); ok { + return x.Route + } + return nil +} + +func (x *RouteSelector) GetWithDestinations() *DestinationSelector { + if x, ok := x.GetSelectorType().(*RouteSelector_WithDestinations); ok { + return x.WithDestinations + } + return nil +} + +type isRouteSelector_SelectorType interface { + isRouteSelector_SelectorType() +} + +type RouteSelector_Route struct { + // select routes based on their labels. + // these labels can be used to match route tables or individual routes within route tables. + Route *RouteLabelSelector `protobuf:"bytes,1,opt,name=route,proto3,oneof"` +} + +type RouteSelector_WithDestinations struct { + // select routes with `forwardTo` actions based on their destinations. + // this can be used to apply policy to routes regardless of + // their labels + WithDestinations *DestinationSelector `protobuf:"bytes,2,opt,name=with_destinations,json=withDestinations,proto3,oneof"` +} + +func (*RouteSelector_Route) isRouteSelector_SelectorType() {} + +func (*RouteSelector_WithDestinations) isRouteSelector_SelectorType() {} + +type RouteFilter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: filter out route tables that specify CloudProvider functionality, if provided. + CloudProvider *CloudProviderFilterOptions `protobuf:"bytes,3,opt,name=cloud_provider,json=cloudProvider,proto3" json:"cloud_provider,omitempty"` +} + +func (x *RouteFilter) Reset() { + *x = RouteFilter{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteFilter) ProtoMessage() {} + +func (x *RouteFilter) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteFilter.ProtoReflect.Descriptor instead. +func (*RouteFilter) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{5} +} + +func (x *RouteFilter) GetCloudProvider() *CloudProviderFilterOptions { + if x != nil { + return x.CloudProvider + } + return nil +} + +// ListenerSelector is a selector for a listener on a VirtualGateway. +type ListenerSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The virtual gateway on which to select a listener. + VirtualGateway *ObjectSelector `protobuf:"bytes,1,opt,name=virtual_gateway,json=virtualGateway,proto3" json:"virtual_gateway,omitempty"` + // The port to select on the selected listener. + Port *PortSelector `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *ListenerSelector) Reset() { + *x = ListenerSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListenerSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenerSelector) ProtoMessage() {} + +func (x *ListenerSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListenerSelector.ProtoReflect.Descriptor instead. +func (*ListenerSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{6} +} + +func (x *ListenerSelector) GetVirtualGateway() *ObjectSelector { + if x != nil { + return x.VirtualGateway + } + return nil +} + +func (x *ListenerSelector) GetPort() *PortSelector { + if x != nil { + return x.Port + } + return nil +} + +// WorkloadSelector is a Selector specifically built for selecting individual workloads. +// Workloads must have injected (sidecars) or be standalone proxies (gateways) to be selected by Gloo Mesh policies. +// +// This selector can be used to select pods or injected external endpoints (vms). +type WorkloadSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Selector used to match Workload objects by their metadata. + Selector *ObjectSelector `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"` + // The kind of workload being selected. Defaults to Kube. + Kind WorkloadSelector_WorkloadKind `protobuf:"varint,2,opt,name=kind,proto3,enum=common.gloo.solo.io.WorkloadSelector_WorkloadKind" json:"kind,omitempty"` + // The port to select on the selected workloads. + // Only applies to policies which select specific workload ports, such as the WasmDeploymentPolicy. + Port *PortSelector `protobuf:"bytes,4,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *WorkloadSelector) Reset() { + *x = WorkloadSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkloadSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkloadSelector) ProtoMessage() {} + +func (x *WorkloadSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkloadSelector.ProtoReflect.Descriptor instead. +func (*WorkloadSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{7} +} + +func (x *WorkloadSelector) GetSelector() *ObjectSelector { + if x != nil { + return x.Selector + } + return nil +} + +func (x *WorkloadSelector) GetKind() WorkloadSelector_WorkloadKind { + if x != nil { + return x.Kind + } + return WorkloadSelector_KUBE +} + +func (x *WorkloadSelector) GetPort() *PortSelector { + if x != nil { + return x.Port + } + return nil +} + +// IdentitySelector is a Selector specifically built for selecting client identities for security policies. +type IdentitySelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select kubernetes service accounts as identities. + // When selecting a service account that will be created in the future for use in a AuthorizationPolicy, ONLY provide the name, namespace and cluster where the service account will exist in the selector. + // Providing labels and/or the workspace, or omitting the name, namespace or cluster for a service account that does not exist in the selector will not result in that service account being added to the resulting AuthorizationPolicy. + ServiceAccountSelector *ObjectSelector `protobuf:"bytes,1,opt,name=service_account_selector,json=serviceAccountSelector,proto3" json:"service_account_selector,omitempty"` + // Select external workloads. + ExternalWorkloadSelector *ObjectSelector `protobuf:"bytes,3,opt,name=external_workload_selector,json=externalWorkloadSelector,proto3" json:"external_workload_selector,omitempty"` + // Select identities based on properties of the request. If multiple fields are set, they are ANDed together. + // More information about the individual values can be found here: https://istio.io/latest/docs/reference/config/security/authorization-policy/#Source + RequestIdentityMatcher *IdentitySelector_RequestIdentityMatcher `protobuf:"bytes,2,opt,name=request_identity_matcher,json=requestIdentityMatcher,proto3" json:"request_identity_matcher,omitempty"` +} + +func (x *IdentitySelector) Reset() { + *x = IdentitySelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IdentitySelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IdentitySelector) ProtoMessage() {} + +func (x *IdentitySelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IdentitySelector.ProtoReflect.Descriptor instead. +func (*IdentitySelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{8} +} + +func (x *IdentitySelector) GetServiceAccountSelector() *ObjectSelector { + if x != nil { + return x.ServiceAccountSelector + } + return nil +} + +func (x *IdentitySelector) GetExternalWorkloadSelector() *ObjectSelector { + if x != nil { + return x.ExternalWorkloadSelector + } + return nil +} + +func (x *IdentitySelector) GetRequestIdentityMatcher() *IdentitySelector_RequestIdentityMatcher { + if x != nil { + return x.RequestIdentityMatcher + } + return nil +} + +// Select clusters and namespaces for a workspace +type ClusterSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: Name of the cluster to select. + // Use * to match name patterns in multiple clusters name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional: Include workload clusters in the workspace by using a selector. + // The selector matches the selector values in the KubernetesCluster resource on the management cluster. + // Selector is a map of {key,value} pairs. A single {key,value} in the selector + // map is equivalent to an element of labelRequirements, whose key field is "key", the + // operator is "In", and the values array contains only "value". The requirements are ANDed. + Selector map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Select the namespaces in the cluster(s) to include in the workspace. If you do not select any namespaces, the workspace is empty and results in an error. + Namespaces []*ClusterSelector_NamespaceSelector `protobuf:"bytes,4,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + // Optional: Read Gloo configuration from specific clusters and namespaces that are included in a workspace. + // If this field is omitted and not explicitly set for any cluster or namespace in a workspace, config_enabled is + // automatically set to true, and Gloo configuration is read for all clusters and namespaces in that workspace. + // If set to true on a specific namespace or cluster, Gloo configuration is read for that particular namespace or cluster, + // but ignored from all other namespaces and clusters in that workspace that do not explicitly set config_enabled to true. + ConfigEnabled bool `protobuf:"varint,5,opt,name=config_enabled,json=configEnabled,proto3" json:"config_enabled,omitempty"` +} + +func (x *ClusterSelector) Reset() { + *x = ClusterSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterSelector) ProtoMessage() {} + +func (x *ClusterSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterSelector.ProtoReflect.Descriptor instead. +func (*ClusterSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{9} +} + +func (x *ClusterSelector) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ClusterSelector) GetSelector() map[string]string { + if x != nil { + return x.Selector + } + return nil +} + +func (x *ClusterSelector) GetNamespaces() []*ClusterSelector_NamespaceSelector { + if x != nil { + return x.Namespaces + } + return nil +} + +func (x *ClusterSelector) GetConfigEnabled() bool { + if x != nil { + return x.ConfigEnabled + } + return false +} + +// MeshSelector is a Selector built for selecting instances of Mesh control planes. A control plane is understood to have a single domain and provide a single root of trust for the data plane proxies it is managing. Each revision of Istiod maps +type MeshSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // includes all supported meshes (e.g. Istio) + // + // Types that are assignable to MeshType: + // + // *MeshSelector_Istio_ + MeshType isMeshSelector_MeshType `protobuf_oneof:"mesh_type"` +} + +func (x *MeshSelector) Reset() { + *x = MeshSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MeshSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MeshSelector) ProtoMessage() {} + +func (x *MeshSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MeshSelector.ProtoReflect.Descriptor instead. +func (*MeshSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{10} +} + +func (m *MeshSelector) GetMeshType() isMeshSelector_MeshType { + if m != nil { + return m.MeshType + } + return nil +} + +func (x *MeshSelector) GetIstio() *MeshSelector_Istio { + if x, ok := x.GetMeshType().(*MeshSelector_Istio_); ok { + return x.Istio + } + return nil +} + +type isMeshSelector_MeshType interface { + isMeshSelector_MeshType() +} + +type MeshSelector_Istio_ struct { + // options for selecting istio Mesh control planes. + Istio *MeshSelector_Istio `protobuf:"bytes,1,opt,name=istio,proto3,oneof"` +} + +func (*MeshSelector_Istio_) isMeshSelector_MeshType() {} + +// WorkspaceSelector is a selector for workspaces. +type WorkspaceSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: Name of the workspace to select. + // Use * to match name patterns in multiple workspace names. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional: Select workspaces based on their labels, + // such as setting `selector` to `team: backend`. + Selector map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *WorkspaceSelector) Reset() { + *x = WorkspaceSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkspaceSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkspaceSelector) ProtoMessage() {} + +func (x *WorkspaceSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkspaceSelector.ProtoReflect.Descriptor instead. +func (*WorkspaceSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{11} +} + +func (x *WorkspaceSelector) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WorkspaceSelector) GetSelector() map[string]string { + if x != nil { + return x.Selector + } + return nil +} + +// TargetRef is mirrored from the Kubernetes Gateway API. +// $hide_from_docs +type TargetRef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Group string `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"` + Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + SectionName string `protobuf:"bytes,5,opt,name=section_name,json=sectionName,proto3" json:"section_name,omitempty"` +} + +func (x *TargetRef) Reset() { + *x = TargetRef{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TargetRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TargetRef) ProtoMessage() {} + +func (x *TargetRef) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TargetRef.ProtoReflect.Descriptor instead. +func (*TargetRef) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{12} +} + +func (x *TargetRef) GetGroup() string { + if x != nil { + return x.Group + } + return "" +} + +func (x *TargetRef) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *TargetRef) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *TargetRef) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *TargetRef) GetSectionName() string { + if x != nil { + return x.SectionName + } + return "" +} + +type IdentitySelector_RequestIdentityMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: A list of identities to match the request identity ("iss/sub" from the JWT). + // If omitted all request identity values will be accepted. + RequestPrincipals []string `protobuf:"bytes,3,rep,name=requestPrincipals,proto3" json:"requestPrincipals,omitempty"` + // Optional: A list of identities to negative match the request identity. + NotRequestPrincipals []string `protobuf:"bytes,4,rep,name=notRequestPrincipals,proto3" json:"notRequestPrincipals,omitempty"` +} + +func (x *IdentitySelector_RequestIdentityMatcher) Reset() { + *x = IdentitySelector_RequestIdentityMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IdentitySelector_RequestIdentityMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IdentitySelector_RequestIdentityMatcher) ProtoMessage() {} + +func (x *IdentitySelector_RequestIdentityMatcher) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IdentitySelector_RequestIdentityMatcher.ProtoReflect.Descriptor instead. +func (*IdentitySelector_RequestIdentityMatcher) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{8, 0} +} + +func (x *IdentitySelector_RequestIdentityMatcher) GetRequestPrincipals() []string { + if x != nil { + return x.RequestPrincipals + } + return nil +} + +func (x *IdentitySelector_RequestIdentityMatcher) GetNotRequestPrincipals() []string { + if x != nil { + return x.NotRequestPrincipals + } + return nil +} + +// Select namespaces for the selected cluster(s) +type ClusterSelector_NamespaceSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the namespace to select. + // Can use * to match name patterns in multiple namespaces. + // Note: When this field is used in conjunction with "labels", both conditions are ANDed together. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional: Enable configuration from this namespace. (default: true unless explicitly enabled for any selected clusters or namespaces) + ConfigEnabled bool `protobuf:"varint,2,opt,name=config_enabled,json=configEnabled,proto3" json:"config_enabled,omitempty"` + // Optional: Select groups of namespaces via labels. + // Leaving this field empty will NOT select all namespaces, but rather be ignored. + // Note: When this field is used in conjunction with "name", both conditions are ANDed together. + Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ClusterSelector_NamespaceSelector) Reset() { + *x = ClusterSelector_NamespaceSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterSelector_NamespaceSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterSelector_NamespaceSelector) ProtoMessage() {} + +func (x *ClusterSelector_NamespaceSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterSelector_NamespaceSelector.ProtoReflect.Descriptor instead. +func (*ClusterSelector_NamespaceSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{9, 1} +} + +func (x *ClusterSelector_NamespaceSelector) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ClusterSelector_NamespaceSelector) GetConfigEnabled() bool { + if x != nil { + return x.ConfigEnabled + } + return false +} + +func (x *ClusterSelector_NamespaceSelector) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +type MeshSelector_Istio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // istio.io/revision of Istio to select. regex supported. + // omit to select across all revisions. + Revision string `protobuf:"bytes,1,opt,name=revision,proto3" json:"revision,omitempty"` + // match the name of the namespace where istiod is deployed. + // omit to select across all namespaces. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + // match the labels of the cluster where istiod is deployed. + // omit to select across all clusters. + ClusterSelector map[string]string `protobuf:"bytes,3,rep,name=cluster_selector,json=clusterSelector,proto3" json:"cluster_selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // select via the labels of the istiod deployment. + // omit to select across all labels. + Selector map[string]string `protobuf:"bytes,4,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *MeshSelector_Istio) Reset() { + *x = MeshSelector_Istio{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MeshSelector_Istio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MeshSelector_Istio) ProtoMessage() {} + +func (x *MeshSelector_Istio) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MeshSelector_Istio.ProtoReflect.Descriptor instead. +func (*MeshSelector_Istio) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP(), []int{10, 0} +} + +func (x *MeshSelector_Istio) GetRevision() string { + if x != nil { + return x.Revision + } + return "" +} + +func (x *MeshSelector_Istio) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *MeshSelector_Istio) GetClusterSelector() map[string]string { + if x != nil { + return x.ClusterSelector + } + return nil +} + +func (x *MeshSelector_Istio) GetSelector() map[string]string { + if x != nil { + return x.Selector + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDesc = []byte{ + 0x0a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4d, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, + 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x5f, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x01, + 0x0a, 0x0e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x12, 0x47, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc7, + 0x01, 0x0a, 0x13, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x12, 0x35, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x18, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x3d, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x05, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x0f, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf2, 0x01, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x4b, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xba, 0x01, 0x0a, + 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x3f, + 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, + 0x57, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x10, 0x77, 0x69, 0x74, 0x68, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x65, 0x0a, 0x0b, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x22, 0x97, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, + 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x12, 0x35, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xf4, 0x01, 0x0a, 0x10, 0x57, + 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, + 0x3f, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x12, 0x46, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x69, + 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x35, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, + 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, + 0x20, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x69, 0x6e, 0x64, 0x12, + 0x08, 0x0a, 0x04, 0x4b, 0x55, 0x42, 0x45, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x4d, 0x10, + 0x01, 0x22, 0xc8, 0x03, 0x0a, 0x10, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x5d, 0x0a, 0x18, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x16, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x61, 0x0a, 0x1a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x18, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x76, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x1a, 0x7a, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, + 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x6e, 0x6f, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x73, 0x22, 0x99, 0x04, 0x0a, + 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0xe5, 0x01, 0x0a, 0x11, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x12, 0x5a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, + 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdd, 0x03, 0x0a, 0x0c, 0x4d, 0x65, 0x73, + 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x3f, 0x0a, 0x05, 0x69, 0x73, 0x74, + 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, + 0x65, 0x73, 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x49, 0x73, 0x74, 0x69, + 0x6f, 0x48, 0x00, 0x52, 0x05, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x1a, 0xfe, 0x02, 0x0a, 0x05, 0x49, + 0x73, 0x74, 0x69, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x67, + 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, + 0x65, 0x73, 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x49, 0x73, 0x74, 0x69, + 0x6f, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4d, 0x65, 0x73, 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x49, 0x73, 0x74, + 0x69, 0x6f, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0x42, 0x0a, 0x14, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, + 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x6d, + 0x65, 0x73, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x11, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x1a, 0x3b, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x8a, 0x01, 0x0a, 0x09, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, + 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x2a, 0x4d, + 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, + 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x00, 0x12, 0x17, + 0x0a, 0x13, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x58, 0x54, 0x45, 0x52, + 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x02, 0x42, 0x54, 0x5a, + 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, + 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_goTypes = []interface{}{ + (DestinationKind)(0), // 0: common.gloo.solo.io.DestinationKind + (WorkloadSelector_WorkloadKind)(0), // 1: common.gloo.solo.io.WorkloadSelector.WorkloadKind + (*ObjectSelector)(nil), // 2: common.gloo.solo.io.ObjectSelector + (*DestinationSelector)(nil), // 3: common.gloo.solo.io.DestinationSelector + (*RouteDestinationSelector)(nil), // 4: common.gloo.solo.io.RouteDestinationSelector + (*RouteLabelSelector)(nil), // 5: common.gloo.solo.io.RouteLabelSelector + (*RouteSelector)(nil), // 6: common.gloo.solo.io.RouteSelector + (*RouteFilter)(nil), // 7: common.gloo.solo.io.RouteFilter + (*ListenerSelector)(nil), // 8: common.gloo.solo.io.ListenerSelector + (*WorkloadSelector)(nil), // 9: common.gloo.solo.io.WorkloadSelector + (*IdentitySelector)(nil), // 10: common.gloo.solo.io.IdentitySelector + (*ClusterSelector)(nil), // 11: common.gloo.solo.io.ClusterSelector + (*MeshSelector)(nil), // 12: common.gloo.solo.io.MeshSelector + (*WorkspaceSelector)(nil), // 13: common.gloo.solo.io.WorkspaceSelector + (*TargetRef)(nil), // 14: common.gloo.solo.io.TargetRef + nil, // 15: common.gloo.solo.io.ObjectSelector.LabelsEntry + nil, // 16: common.gloo.solo.io.RouteLabelSelector.LabelsEntry + (*IdentitySelector_RequestIdentityMatcher)(nil), // 17: common.gloo.solo.io.IdentitySelector.RequestIdentityMatcher + nil, // 18: common.gloo.solo.io.ClusterSelector.SelectorEntry + (*ClusterSelector_NamespaceSelector)(nil), // 19: common.gloo.solo.io.ClusterSelector.NamespaceSelector + nil, // 20: common.gloo.solo.io.ClusterSelector.NamespaceSelector.LabelsEntry + (*MeshSelector_Istio)(nil), // 21: common.gloo.solo.io.MeshSelector.Istio + nil, // 22: common.gloo.solo.io.MeshSelector.Istio.ClusterSelectorEntry + nil, // 23: common.gloo.solo.io.MeshSelector.Istio.SelectorEntry + nil, // 24: common.gloo.solo.io.WorkspaceSelector.SelectorEntry + (*PortSelector)(nil), // 25: common.gloo.solo.io.PortSelector + (*CloudProviderFilterOptions)(nil), // 26: common.gloo.solo.io.CloudProviderFilterOptions +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_depIdxs = []int32{ + 15, // 0: common.gloo.solo.io.ObjectSelector.labels:type_name -> common.gloo.solo.io.ObjectSelector.LabelsEntry + 2, // 1: common.gloo.solo.io.DestinationSelector.selector:type_name -> common.gloo.solo.io.ObjectSelector + 0, // 2: common.gloo.solo.io.DestinationSelector.kind:type_name -> common.gloo.solo.io.DestinationKind + 25, // 3: common.gloo.solo.io.DestinationSelector.port:type_name -> common.gloo.solo.io.PortSelector + 5, // 4: common.gloo.solo.io.RouteDestinationSelector.route:type_name -> common.gloo.solo.io.RouteLabelSelector + 3, // 5: common.gloo.solo.io.RouteDestinationSelector.on_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 16, // 6: common.gloo.solo.io.RouteLabelSelector.labels:type_name -> common.gloo.solo.io.RouteLabelSelector.LabelsEntry + 5, // 7: common.gloo.solo.io.RouteSelector.route:type_name -> common.gloo.solo.io.RouteLabelSelector + 3, // 8: common.gloo.solo.io.RouteSelector.with_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 26, // 9: common.gloo.solo.io.RouteFilter.cloud_provider:type_name -> common.gloo.solo.io.CloudProviderFilterOptions + 2, // 10: common.gloo.solo.io.ListenerSelector.virtual_gateway:type_name -> common.gloo.solo.io.ObjectSelector + 25, // 11: common.gloo.solo.io.ListenerSelector.port:type_name -> common.gloo.solo.io.PortSelector + 2, // 12: common.gloo.solo.io.WorkloadSelector.selector:type_name -> common.gloo.solo.io.ObjectSelector + 1, // 13: common.gloo.solo.io.WorkloadSelector.kind:type_name -> common.gloo.solo.io.WorkloadSelector.WorkloadKind + 25, // 14: common.gloo.solo.io.WorkloadSelector.port:type_name -> common.gloo.solo.io.PortSelector + 2, // 15: common.gloo.solo.io.IdentitySelector.service_account_selector:type_name -> common.gloo.solo.io.ObjectSelector + 2, // 16: common.gloo.solo.io.IdentitySelector.external_workload_selector:type_name -> common.gloo.solo.io.ObjectSelector + 17, // 17: common.gloo.solo.io.IdentitySelector.request_identity_matcher:type_name -> common.gloo.solo.io.IdentitySelector.RequestIdentityMatcher + 18, // 18: common.gloo.solo.io.ClusterSelector.selector:type_name -> common.gloo.solo.io.ClusterSelector.SelectorEntry + 19, // 19: common.gloo.solo.io.ClusterSelector.namespaces:type_name -> common.gloo.solo.io.ClusterSelector.NamespaceSelector + 21, // 20: common.gloo.solo.io.MeshSelector.istio:type_name -> common.gloo.solo.io.MeshSelector.Istio + 24, // 21: common.gloo.solo.io.WorkspaceSelector.selector:type_name -> common.gloo.solo.io.WorkspaceSelector.SelectorEntry + 20, // 22: common.gloo.solo.io.ClusterSelector.NamespaceSelector.labels:type_name -> common.gloo.solo.io.ClusterSelector.NamespaceSelector.LabelsEntry + 22, // 23: common.gloo.solo.io.MeshSelector.Istio.cluster_selector:type_name -> common.gloo.solo.io.MeshSelector.Istio.ClusterSelectorEntry + 23, // 24: common.gloo.solo.io.MeshSelector.Istio.selector:type_name -> common.gloo.solo.io.MeshSelector.Istio.SelectorEntry + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto != nil { + return + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_port_proto_init() + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_cloud_provider_options_proto_init() + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ObjectSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DestinationSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteDestinationSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteLabelSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListenerSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkloadSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IdentitySelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MeshSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkspaceSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TargetRef); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IdentitySelector_RequestIdentityMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterSelector_NamespaceSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MeshSelector_Istio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*RouteSelector_Route)(nil), + (*RouteSelector_WithDestinations)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes[10].OneofWrappers = []interface{}{ + (*MeshSelector_Istio_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDesc, + NumEnums: 2, + NumMessages: 23, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/selectors.pb.hash.go b/client-go/common.gloo.solo.io/v2/selectors.pb.hash.go new file mode 100644 index 000000000..465d90462 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/selectors.pb.hash.go @@ -0,0 +1,889 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/selectors.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ObjectSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ObjectSelector")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLabels() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCluster())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DestinationSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.DestinationSelector")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetKind()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RouteDestinationSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.RouteDestinationSelector")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRoute()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Route")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRoute(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Route")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetOnDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RouteLabelSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.RouteLabelSelector")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLabels() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCluster())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RouteSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.RouteSelector")); err != nil { + return 0, err + } + + switch m.SelectorType.(type) { + + case *RouteSelector_Route: + + if h, ok := interface{}(m.GetRoute()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Route")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRoute(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Route")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *RouteSelector_WithDestinations: + + if h, ok := interface{}(m.GetWithDestinations()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("WithDestinations")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetWithDestinations(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("WithDestinations")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RouteFilter) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.RouteFilter")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCloudProvider()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CloudProvider")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCloudProvider(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CloudProvider")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ListenerSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ListenerSelector")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetVirtualGateway()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("VirtualGateway")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetVirtualGateway(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("VirtualGateway")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkloadSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.WorkloadSelector")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetKind()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IdentitySelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.IdentitySelector")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetServiceAccountSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ServiceAccountSelector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetServiceAccountSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ServiceAccountSelector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetExternalWorkloadSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ExternalWorkloadSelector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetExternalWorkloadSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ExternalWorkloadSelector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetRequestIdentityMatcher()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RequestIdentityMatcher")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequestIdentityMatcher(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RequestIdentityMatcher")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ClusterSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ClusterSelector")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetSelector() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetNamespaces() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetConfigEnabled()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MeshSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.MeshSelector")); err != nil { + return 0, err + } + + switch m.MeshType.(type) { + + case *MeshSelector_Istio_: + + if h, ok := interface{}(m.GetIstio()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Istio")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIstio(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Istio")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WorkspaceSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.WorkspaceSelector")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetSelector() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TargetRef) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.TargetRef")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetGroup())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKind())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSectionName())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IdentitySelector_RequestIdentityMatcher) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.IdentitySelector_RequestIdentityMatcher")); err != nil { + return 0, err + } + + for _, v := range m.GetRequestPrincipals() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetNotRequestPrincipals() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ClusterSelector_NamespaceSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.ClusterSelector_NamespaceSelector")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetConfigEnabled()) + if err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLabels() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MeshSelector_Istio) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.MeshSelector_Istio")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRevision())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetClusterSelector() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetSelector() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/status.pb.clone.go b/client-go/common.gloo.solo.io/v2/status.pb.clone.go new file mode 100644 index 000000000..1e5da140b --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/status.pb.clone.go @@ -0,0 +1,228 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *Status) Clone() proto.Message { + var target *Status + if m == nil { + return target + } + target = &Status{} + + if h, ok := interface{}(m.GetState()).(clone.Cloner); ok { + target.State = h.Clone().(*State) + } else { + target.State = proto.Clone(m.GetState()).(*State) + } + + if m.GetWorkspaceConditions() != nil { + target.WorkspaceConditions = make(map[string]uint32, len(m.GetWorkspaceConditions())) + for k, v := range m.GetWorkspaceConditions() { + + target.WorkspaceConditions[k] = v + + } + } + + return target +} + +// Clone function +func (m *State) Clone() proto.Message { + var target *State + if m == nil { + return target + } + target = &State{} + + target.ObservedGeneration = m.GetObservedGeneration() + + target.Approval = m.GetApproval() + + target.Message = m.GetMessage() + + return target +} + +// Clone function +func (m *Report) Clone() proto.Message { + var target *Report + if m == nil { + return target + } + target = &Report{} + + if m.GetClusters() != nil { + target.Clusters = make(map[string]*State, len(m.GetClusters())) + for k, v := range m.GetClusters() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Clusters[k] = h.Clone().(*State) + } else { + target.Clusters[k] = proto.Clone(v).(*State) + } + + } + } + + return target +} + +// Clone function +func (m *RouteReference) Clone() proto.Message { + var target *RouteReference + if m == nil { + return target + } + target = &RouteReference{} + + target.RouteName = m.GetRouteName() + + target.RouteIndex = m.GetRouteIndex() + + if h, ok := interface{}(m.GetRouteTable()).(clone.Cloner); ok { + target.RouteTable = h.Clone().(*ObjectReference) + } else { + target.RouteTable = proto.Clone(m.GetRouteTable()).(*ObjectReference) + } + + return target +} + +// Clone function +func (m *AppliedDestinationPortPolicies) Clone() proto.Message { + var target *AppliedDestinationPortPolicies + if m == nil { + return target + } + target = &AppliedDestinationPortPolicies{} + + if m.GetPolicies() != nil { + target.Policies = make([]*AppliedDestinationPortPolicies_DestinationPolicyReference, len(m.GetPolicies())) + for idx, v := range m.GetPolicies() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Policies[idx] = h.Clone().(*AppliedDestinationPortPolicies_DestinationPolicyReference) + } else { + target.Policies[idx] = proto.Clone(v).(*AppliedDestinationPortPolicies_DestinationPolicyReference) + } + + } + } + + return target +} + +// Clone function +func (m *AppliedRoutePolicies) Clone() proto.Message { + var target *AppliedRoutePolicies + if m == nil { + return target + } + target = &AppliedRoutePolicies{} + + if m.GetPolicies() != nil { + target.Policies = make([]*AppliedRoutePolicies_RoutePolicyReference, len(m.GetPolicies())) + for idx, v := range m.GetPolicies() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Policies[idx] = h.Clone().(*AppliedRoutePolicies_RoutePolicyReference) + } else { + target.Policies[idx] = proto.Clone(v).(*AppliedRoutePolicies_RoutePolicyReference) + } + + } + } + + return target +} + +// Clone function +func (m *AppliedWorkloadPolicies) Clone() proto.Message { + var target *AppliedWorkloadPolicies + if m == nil { + return target + } + target = &AppliedWorkloadPolicies{} + + if m.GetPolicies() != nil { + target.Policies = make([]*ObjectReference, len(m.GetPolicies())) + for idx, v := range m.GetPolicies() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Policies[idx] = h.Clone().(*ObjectReference) + } else { + target.Policies[idx] = proto.Clone(v).(*ObjectReference) + } + + } + } + + return target +} + +// Clone function +func (m *AppliedDestinationPortPolicies_DestinationPolicyReference) Clone() proto.Message { + var target *AppliedDestinationPortPolicies_DestinationPolicyReference + if m == nil { + return target + } + target = &AppliedDestinationPortPolicies_DestinationPolicyReference{} + + target.DestinationPort = m.GetDestinationPort() + + target.DestinationKind = m.GetDestinationKind() + + if h, ok := interface{}(m.GetPolicy()).(clone.Cloner); ok { + target.Policy = h.Clone().(*ObjectReference) + } else { + target.Policy = proto.Clone(m.GetPolicy()).(*ObjectReference) + } + + return target +} + +// Clone function +func (m *AppliedRoutePolicies_RoutePolicyReference) Clone() proto.Message { + var target *AppliedRoutePolicies_RoutePolicyReference + if m == nil { + return target + } + target = &AppliedRoutePolicies_RoutePolicyReference{} + + target.RouteName = m.GetRouteName() + + target.RouteIndex = m.GetRouteIndex() + + if h, ok := interface{}(m.GetPolicy()).(clone.Cloner); ok { + target.Policy = h.Clone().(*ObjectReference) + } else { + target.Policy = proto.Clone(m.GetPolicy()).(*ObjectReference) + } + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/status.pb.equal.go b/client-go/common.gloo.solo.io/v2/status.pb.equal.go new file mode 100644 index 000000000..5f237dbf9 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/status.pb.equal.go @@ -0,0 +1,397 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *Status) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Status) + if !ok { + that2, ok := that.(Status) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetState()).(equality.Equalizer); ok { + if !h.Equal(target.GetState()) { + return false + } + } else { + if !proto.Equal(m.GetState(), target.GetState()) { + return false + } + } + + if len(m.GetWorkspaceConditions()) != len(target.GetWorkspaceConditions()) { + return false + } + for k, v := range m.GetWorkspaceConditions() { + + if v != target.GetWorkspaceConditions()[k] { + return false + } + + } + + return true +} + +// Equal function +func (m *State) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*State) + if !ok { + that2, ok := that.(State) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetObservedGeneration() != target.GetObservedGeneration() { + return false + } + + if m.GetApproval() != target.GetApproval() { + return false + } + + if strings.Compare(m.GetMessage(), target.GetMessage()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *Report) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Report) + if !ok { + that2, ok := that.(Report) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetClusters()) != len(target.GetClusters()) { + return false + } + for k, v := range m.GetClusters() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetClusters()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetClusters()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *RouteReference) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RouteReference) + if !ok { + that2, ok := that.(RouteReference) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetRouteName(), target.GetRouteName()) != 0 { + return false + } + + if m.GetRouteIndex() != target.GetRouteIndex() { + return false + } + + if h, ok := interface{}(m.GetRouteTable()).(equality.Equalizer); ok { + if !h.Equal(target.GetRouteTable()) { + return false + } + } else { + if !proto.Equal(m.GetRouteTable(), target.GetRouteTable()) { + return false + } + } + + return true +} + +// Equal function +func (m *AppliedDestinationPortPolicies) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AppliedDestinationPortPolicies) + if !ok { + that2, ok := that.(AppliedDestinationPortPolicies) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetPolicies()) != len(target.GetPolicies()) { + return false + } + for idx, v := range m.GetPolicies() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPolicies()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPolicies()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *AppliedRoutePolicies) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AppliedRoutePolicies) + if !ok { + that2, ok := that.(AppliedRoutePolicies) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetPolicies()) != len(target.GetPolicies()) { + return false + } + for idx, v := range m.GetPolicies() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPolicies()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPolicies()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *AppliedWorkloadPolicies) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AppliedWorkloadPolicies) + if !ok { + that2, ok := that.(AppliedWorkloadPolicies) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetPolicies()) != len(target.GetPolicies()) { + return false + } + for idx, v := range m.GetPolicies() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPolicies()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPolicies()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *AppliedDestinationPortPolicies_DestinationPolicyReference) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AppliedDestinationPortPolicies_DestinationPolicyReference) + if !ok { + that2, ok := that.(AppliedDestinationPortPolicies_DestinationPolicyReference) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetDestinationPort() != target.GetDestinationPort() { + return false + } + + if m.GetDestinationKind() != target.GetDestinationKind() { + return false + } + + if h, ok := interface{}(m.GetPolicy()).(equality.Equalizer); ok { + if !h.Equal(target.GetPolicy()) { + return false + } + } else { + if !proto.Equal(m.GetPolicy(), target.GetPolicy()) { + return false + } + } + + return true +} + +// Equal function +func (m *AppliedRoutePolicies_RoutePolicyReference) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AppliedRoutePolicies_RoutePolicyReference) + if !ok { + that2, ok := that.(AppliedRoutePolicies_RoutePolicyReference) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetRouteName(), target.GetRouteName()) != 0 { + return false + } + + if m.GetRouteIndex() != target.GetRouteIndex() { + return false + } + + if h, ok := interface{}(m.GetPolicy()).(equality.Equalizer); ok { + if !h.Equal(target.GetPolicy()) { + return false + } + } else { + if !proto.Equal(m.GetPolicy(), target.GetPolicy()) { + return false + } + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/status.pb.go b/client-go/common.gloo.solo.io/v2/status.pb.go new file mode 100644 index 000000000..44f93922f --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/status.pb.go @@ -0,0 +1,856 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Status struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State *State `protobuf:"bytes,1,opt,name=State,proto3" json:"State,omitempty"` + // A map of ApprovalState to the number of workspaces in this condition, e.g., + // "Accepted" -> 2 + // "Pending" -> 1 + WorkspaceConditions map[string]uint32 `protobuf:"bytes,2,rep,name=workspace_conditions,json=workspaceConditions,proto3" json:"workspace_conditions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *Status) Reset() { + *x = Status{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Status) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Status) ProtoMessage() {} + +func (x *Status) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Status.ProtoReflect.Descriptor instead. +func (*Status) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescGZIP(), []int{0} +} + +func (x *Status) GetState() *State { + if x != nil { + return x.State + } + return nil +} + +func (x *Status) GetWorkspaceConditions() map[string]uint32 { + if x != nil { + return x.WorkspaceConditions + } + return nil +} + +type State struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The most recent generation observed in the object's metadata. + // If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh + // has not processed the most recent version of this object. + ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` + // Whether the resource has been accepted as valid and processed in the Gloo + // Mesh config translation. + Approval ApprovalState `protobuf:"varint,2,opt,name=approval,proto3,enum=common.gloo.solo.io.ApprovalState" json:"approval,omitempty"` + // Additional information about the current state of the resource. + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` +} + +func (x *State) Reset() { + *x = State{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *State) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*State) ProtoMessage() {} + +func (x *State) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use State.ProtoReflect.Descriptor instead. +func (*State) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescGZIP(), []int{1} +} + +func (x *State) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +func (x *State) GetApproval() ApprovalState { + if x != nil { + return x.Approval + } + return ApprovalState_PENDING +} + +func (x *State) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +// $hide_from_docs +type Report struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state of the resource in each cluster that receives its configuration. + Clusters map[string]*State `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Report) Reset() { + *x = Report{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Report) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Report) ProtoMessage() {} + +func (x *Report) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Report.ProtoReflect.Descriptor instead. +func (*Report) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescGZIP(), []int{2} +} + +func (x *Report) GetClusters() map[string]*State { + if x != nil { + return x.Clusters + } + return nil +} + +// Indicates selected routes on status messages. +type RouteReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the route + RouteName string `protobuf:"bytes,1,opt,name=route_name,json=routeName,proto3" json:"route_name,omitempty"` + // The index of the route on the route table + RouteIndex int32 `protobuf:"varint,2,opt,name=route_index,json=routeIndex,proto3" json:"route_index,omitempty"` + // The route table containing the route + RouteTable *ObjectReference `protobuf:"bytes,3,opt,name=route_table,json=routeTable,proto3" json:"route_table,omitempty"` +} + +func (x *RouteReference) Reset() { + *x = RouteReference{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteReference) ProtoMessage() {} + +func (x *RouteReference) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteReference.ProtoReflect.Descriptor instead. +func (*RouteReference) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescGZIP(), []int{3} +} + +func (x *RouteReference) GetRouteName() string { + if x != nil { + return x.RouteName + } + return "" +} + +func (x *RouteReference) GetRouteIndex() int32 { + if x != nil { + return x.RouteIndex + } + return 0 +} + +func (x *RouteReference) GetRouteTable() *ObjectReference { + if x != nil { + return x.RouteTable + } + return nil +} + +type AppliedDestinationPortPolicies struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of applied destination port policies + Policies []*AppliedDestinationPortPolicies_DestinationPolicyReference `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` +} + +func (x *AppliedDestinationPortPolicies) Reset() { + *x = AppliedDestinationPortPolicies{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AppliedDestinationPortPolicies) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppliedDestinationPortPolicies) ProtoMessage() {} + +func (x *AppliedDestinationPortPolicies) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AppliedDestinationPortPolicies.ProtoReflect.Descriptor instead. +func (*AppliedDestinationPortPolicies) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescGZIP(), []int{4} +} + +func (x *AppliedDestinationPortPolicies) GetPolicies() []*AppliedDestinationPortPolicies_DestinationPolicyReference { + if x != nil { + return x.Policies + } + return nil +} + +type AppliedRoutePolicies struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of applied route policies + Policies []*AppliedRoutePolicies_RoutePolicyReference `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` +} + +func (x *AppliedRoutePolicies) Reset() { + *x = AppliedRoutePolicies{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AppliedRoutePolicies) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppliedRoutePolicies) ProtoMessage() {} + +func (x *AppliedRoutePolicies) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AppliedRoutePolicies.ProtoReflect.Descriptor instead. +func (*AppliedRoutePolicies) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescGZIP(), []int{5} +} + +func (x *AppliedRoutePolicies) GetPolicies() []*AppliedRoutePolicies_RoutePolicyReference { + if x != nil { + return x.Policies + } + return nil +} + +type AppliedWorkloadPolicies struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Policies on the workload + Policies []*ObjectReference `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` +} + +func (x *AppliedWorkloadPolicies) Reset() { + *x = AppliedWorkloadPolicies{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AppliedWorkloadPolicies) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppliedWorkloadPolicies) ProtoMessage() {} + +func (x *AppliedWorkloadPolicies) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AppliedWorkloadPolicies.ProtoReflect.Descriptor instead. +func (*AppliedWorkloadPolicies) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescGZIP(), []int{6} +} + +func (x *AppliedWorkloadPolicies) GetPolicies() []*ObjectReference { + if x != nil { + return x.Policies + } + return nil +} + +type AppliedDestinationPortPolicies_DestinationPolicyReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // the port on the destination object that the policy applies to + DestinationPort int32 `protobuf:"varint,1,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"` + // the kind of destination object that the policy applies to + DestinationKind DestinationKind `protobuf:"varint,2,opt,name=destination_kind,json=destinationKind,proto3,enum=common.gloo.solo.io.DestinationKind" json:"destination_kind,omitempty"` + // The reference to the policy + Policy *ObjectReference `protobuf:"bytes,3,opt,name=policy,proto3" json:"policy,omitempty"` +} + +func (x *AppliedDestinationPortPolicies_DestinationPolicyReference) Reset() { + *x = AppliedDestinationPortPolicies_DestinationPolicyReference{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AppliedDestinationPortPolicies_DestinationPolicyReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppliedDestinationPortPolicies_DestinationPolicyReference) ProtoMessage() {} + +func (x *AppliedDestinationPortPolicies_DestinationPolicyReference) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AppliedDestinationPortPolicies_DestinationPolicyReference.ProtoReflect.Descriptor instead. +func (*AppliedDestinationPortPolicies_DestinationPolicyReference) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *AppliedDestinationPortPolicies_DestinationPolicyReference) GetDestinationPort() int32 { + if x != nil { + return x.DestinationPort + } + return 0 +} + +func (x *AppliedDestinationPortPolicies_DestinationPolicyReference) GetDestinationKind() DestinationKind { + if x != nil { + return x.DestinationKind + } + return DestinationKind_SERVICE +} + +func (x *AppliedDestinationPortPolicies_DestinationPolicyReference) GetPolicy() *ObjectReference { + if x != nil { + return x.Policy + } + return nil +} + +type AppliedRoutePolicies_RoutePolicyReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the route that the policy is applied to + RouteName string `protobuf:"bytes,1,opt,name=route_name,json=routeName,proto3" json:"route_name,omitempty"` + // The index of the route on the route table + RouteIndex int32 `protobuf:"varint,2,opt,name=route_index,json=routeIndex,proto3" json:"route_index,omitempty"` + // The reference to the policy + Policy *ObjectReference `protobuf:"bytes,3,opt,name=policy,proto3" json:"policy,omitempty"` +} + +func (x *AppliedRoutePolicies_RoutePolicyReference) Reset() { + *x = AppliedRoutePolicies_RoutePolicyReference{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AppliedRoutePolicies_RoutePolicyReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppliedRoutePolicies_RoutePolicyReference) ProtoMessage() {} + +func (x *AppliedRoutePolicies_RoutePolicyReference) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AppliedRoutePolicies_RoutePolicyReference.ProtoReflect.Descriptor instead. +func (*AppliedRoutePolicies_RoutePolicyReference) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *AppliedRoutePolicies_RoutePolicyReference) GetRouteName() string { + if x != nil { + return x.RouteName + } + return "" +} + +func (x *AppliedRoutePolicies_RoutePolicyReference) GetRouteIndex() int32 { + if x != nil { + return x.RouteIndex + } + return 0 +} + +func (x *AppliedRoutePolicies_RoutePolicyReference) GetPolicy() *ObjectReference { + if x != nil { + return x.Policy + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDesc = []byte{ + 0x0a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xeb, 0x01, 0x0a, + 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x30, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x67, 0x0a, 0x14, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x1a, 0x46, 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x92, 0x01, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, + 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0xa8, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x1a, 0x57, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x97, 0x01, 0x0a, 0x0e, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x45, 0x0a, + 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x22, 0xe5, 0x02, 0x0a, 0x1e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x6a, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x1a, 0xd6, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x4f, 0x0a, + 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0f, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x3c, + 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x89, 0x02, 0x0a, + 0x14, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x1a, 0x94, 0x01, 0x0a, 0x14, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x5b, 0x0a, 0x17, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x42, 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, + 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_goTypes = []interface{}{ + (*Status)(nil), // 0: common.gloo.solo.io.Status + (*State)(nil), // 1: common.gloo.solo.io.State + (*Report)(nil), // 2: common.gloo.solo.io.Report + (*RouteReference)(nil), // 3: common.gloo.solo.io.RouteReference + (*AppliedDestinationPortPolicies)(nil), // 4: common.gloo.solo.io.AppliedDestinationPortPolicies + (*AppliedRoutePolicies)(nil), // 5: common.gloo.solo.io.AppliedRoutePolicies + (*AppliedWorkloadPolicies)(nil), // 6: common.gloo.solo.io.AppliedWorkloadPolicies + nil, // 7: common.gloo.solo.io.Status.WorkspaceConditionsEntry + nil, // 8: common.gloo.solo.io.Report.ClustersEntry + (*AppliedDestinationPortPolicies_DestinationPolicyReference)(nil), // 9: common.gloo.solo.io.AppliedDestinationPortPolicies.DestinationPolicyReference + (*AppliedRoutePolicies_RoutePolicyReference)(nil), // 10: common.gloo.solo.io.AppliedRoutePolicies.RoutePolicyReference + (ApprovalState)(0), // 11: common.gloo.solo.io.ApprovalState + (*ObjectReference)(nil), // 12: common.gloo.solo.io.ObjectReference + (DestinationKind)(0), // 13: common.gloo.solo.io.DestinationKind +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_depIdxs = []int32{ + 1, // 0: common.gloo.solo.io.Status.State:type_name -> common.gloo.solo.io.State + 7, // 1: common.gloo.solo.io.Status.workspace_conditions:type_name -> common.gloo.solo.io.Status.WorkspaceConditionsEntry + 11, // 2: common.gloo.solo.io.State.approval:type_name -> common.gloo.solo.io.ApprovalState + 8, // 3: common.gloo.solo.io.Report.clusters:type_name -> common.gloo.solo.io.Report.ClustersEntry + 12, // 4: common.gloo.solo.io.RouteReference.route_table:type_name -> common.gloo.solo.io.ObjectReference + 9, // 5: common.gloo.solo.io.AppliedDestinationPortPolicies.policies:type_name -> common.gloo.solo.io.AppliedDestinationPortPolicies.DestinationPolicyReference + 10, // 6: common.gloo.solo.io.AppliedRoutePolicies.policies:type_name -> common.gloo.solo.io.AppliedRoutePolicies.RoutePolicyReference + 12, // 7: common.gloo.solo.io.AppliedWorkloadPolicies.policies:type_name -> common.gloo.solo.io.ObjectReference + 1, // 8: common.gloo.solo.io.Report.ClustersEntry.value:type_name -> common.gloo.solo.io.State + 13, // 9: common.gloo.solo.io.AppliedDestinationPortPolicies.DestinationPolicyReference.destination_kind:type_name -> common.gloo.solo.io.DestinationKind + 12, // 10: common.gloo.solo.io.AppliedDestinationPortPolicies.DestinationPolicyReference.policy:type_name -> common.gloo.solo.io.ObjectReference + 12, // 11: common.gloo.solo.io.AppliedRoutePolicies.RoutePolicyReference.policy:type_name -> common.gloo.solo.io.ObjectReference + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto != nil { + return + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_approval_state_proto_init() + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_references_proto_init() + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_selectors_proto_init() + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Status); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*State); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Report); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AppliedDestinationPortPolicies); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AppliedRoutePolicies); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AppliedWorkloadPolicies); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AppliedDestinationPortPolicies_DestinationPolicyReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AppliedRoutePolicies_RoutePolicyReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDesc, + NumEnums: 0, + NumMessages: 11, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_status_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/status.pb.hash.go b/client-go/common.gloo.solo.io/v2/status.pb.hash.go new file mode 100644 index 000000000..ceab66236 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/status.pb.hash.go @@ -0,0 +1,427 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/status.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *Status) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.Status")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetState()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("State")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetState(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("State")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaceConditions() { + innerHash.Reset() + + err = binary.Write(innerHash, binary.LittleEndian, v) + if err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *State) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.State")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetObservedGeneration()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetApproval()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMessage())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Report) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.Report")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetClusters() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RouteReference) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.RouteReference")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRouteName())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRouteIndex()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRouteTable()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RouteTable")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRouteTable(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RouteTable")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AppliedDestinationPortPolicies) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.AppliedDestinationPortPolicies")); err != nil { + return 0, err + } + + for _, v := range m.GetPolicies() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AppliedRoutePolicies) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.AppliedRoutePolicies")); err != nil { + return 0, err + } + + for _, v := range m.GetPolicies() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AppliedWorkloadPolicies) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.AppliedWorkloadPolicies")); err != nil { + return 0, err + } + + for _, v := range m.GetPolicies() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AppliedDestinationPortPolicies_DestinationPolicyReference) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.AppliedDestinationPortPolicies_DestinationPolicyReference")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetDestinationPort()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetDestinationKind()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPolicy()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Policy")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPolicy(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Policy")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AppliedRoutePolicies_RoutePolicyReference) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.AppliedRoutePolicies_RoutePolicyReference")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRouteName())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRouteIndex()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPolicy()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Policy")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPolicy(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Policy")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/string_match.pb.clone.go b/client-go/common.gloo.solo.io/v2/string_match.pb.clone.go new file mode 100644 index 000000000..f9594b8c1 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/string_match.pb.clone.go @@ -0,0 +1,67 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/string_match.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *StringMatch) Clone() proto.Message { + var target *StringMatch + if m == nil { + return target + } + target = &StringMatch{} + + target.IgnoreCase = m.GetIgnoreCase() + + switch m.MatchType.(type) { + + case *StringMatch_Exact: + + target.MatchType = &StringMatch_Exact{ + Exact: m.GetExact(), + } + + case *StringMatch_Prefix: + + target.MatchType = &StringMatch_Prefix{ + Prefix: m.GetPrefix(), + } + + case *StringMatch_Regex: + + target.MatchType = &StringMatch_Regex{ + Regex: m.GetRegex(), + } + + case *StringMatch_Suffix: + + target.MatchType = &StringMatch_Suffix{ + Suffix: m.GetSuffix(), + } + + } + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/string_match.pb.equal.go b/client-go/common.gloo.solo.io/v2/string_match.pb.equal.go new file mode 100644 index 000000000..379e79d5c --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/string_match.pb.equal.go @@ -0,0 +1,99 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/string_match.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *StringMatch) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*StringMatch) + if !ok { + that2, ok := that.(StringMatch) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetIgnoreCase() != target.GetIgnoreCase() { + return false + } + + switch m.MatchType.(type) { + + case *StringMatch_Exact: + if _, ok := target.MatchType.(*StringMatch_Exact); !ok { + return false + } + + if strings.Compare(m.GetExact(), target.GetExact()) != 0 { + return false + } + + case *StringMatch_Prefix: + if _, ok := target.MatchType.(*StringMatch_Prefix); !ok { + return false + } + + if strings.Compare(m.GetPrefix(), target.GetPrefix()) != 0 { + return false + } + + case *StringMatch_Regex: + if _, ok := target.MatchType.(*StringMatch_Regex); !ok { + return false + } + + if strings.Compare(m.GetRegex(), target.GetRegex()) != 0 { + return false + } + + case *StringMatch_Suffix: + if _, ok := target.MatchType.(*StringMatch_Suffix); !ok { + return false + } + + if strings.Compare(m.GetSuffix(), target.GetSuffix()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.MatchType != target.MatchType { + return false + } + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/string_match.pb.go b/client-go/common.gloo.solo.io/v2/string_match.pb.go new file mode 100644 index 000000000..25c8ca065 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/string_match.pb.go @@ -0,0 +1,249 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/string_match.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes how to match a given string in HTTP headers. Match is case-sensitive. +type StringMatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The string match type. + // + // Types that are assignable to MatchType: + // + // *StringMatch_Exact + // *StringMatch_Prefix + // *StringMatch_Regex + // *StringMatch_Suffix + MatchType isStringMatch_MatchType `protobuf_oneof:"match_type"` + // If true, indicates the exact/prefix/suffix matching should be case insensitive. This has no effect for the regex match. + IgnoreCase bool `protobuf:"varint,5,opt,name=ignore_case,json=ignoreCase,proto3" json:"ignore_case,omitempty"` +} + +func (x *StringMatch) Reset() { + *x = StringMatch{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringMatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringMatch) ProtoMessage() {} + +func (x *StringMatch) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StringMatch.ProtoReflect.Descriptor instead. +func (*StringMatch) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_rawDescGZIP(), []int{0} +} + +func (m *StringMatch) GetMatchType() isStringMatch_MatchType { + if m != nil { + return m.MatchType + } + return nil +} + +func (x *StringMatch) GetExact() string { + if x, ok := x.GetMatchType().(*StringMatch_Exact); ok { + return x.Exact + } + return "" +} + +func (x *StringMatch) GetPrefix() string { + if x, ok := x.GetMatchType().(*StringMatch_Prefix); ok { + return x.Prefix + } + return "" +} + +func (x *StringMatch) GetRegex() string { + if x, ok := x.GetMatchType().(*StringMatch_Regex); ok { + return x.Regex + } + return "" +} + +func (x *StringMatch) GetSuffix() string { + if x, ok := x.GetMatchType().(*StringMatch_Suffix); ok { + return x.Suffix + } + return "" +} + +func (x *StringMatch) GetIgnoreCase() bool { + if x != nil { + return x.IgnoreCase + } + return false +} + +type isStringMatch_MatchType interface { + isStringMatch_MatchType() +} + +type StringMatch_Exact struct { + // Exact string match. + Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof"` +} + +type StringMatch_Prefix struct { + // Prefix-based match. + Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof"` +} + +type StringMatch_Regex struct { + // [Re2 style regex-based match](https://github.com/google/re2/wiki/). + Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"` +} + +type StringMatch_Suffix struct { + // Warning! Suffix-based matching is not currently supported in Gloo Platform. + Suffix string `protobuf:"bytes,4,opt,name=suffix,proto3,oneof"` +} + +func (*StringMatch_Exact) isStringMatch_MatchType() {} + +func (*StringMatch_Prefix) isStringMatch_MatchType() {} + +func (*StringMatch_Regex) isStringMatch_MatchType() {} + +func (*StringMatch_Suffix) isStringMatch_MatchType() {} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_rawDesc = []byte{ + 0x0a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, + 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xa0, 0x01, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x16, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x12, 0x16, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x75, + 0x66, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x75, + 0x66, 0x66, 0x69, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, + 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, + 0x65, 0x43, 0x61, 0x73, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x42, 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, + 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_goTypes = []interface{}{ + (*StringMatch)(nil), // 0: common.gloo.solo.io.StringMatch +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StringMatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*StringMatch_Exact)(nil), + (*StringMatch_Prefix)(nil), + (*StringMatch_Regex)(nil), + (*StringMatch_Suffix)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/string_match.pb.hash.go b/client-go/common.gloo.solo.io/v2/string_match.pb.hash.go new file mode 100644 index 000000000..e6f3eaed1 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/string_match.pb.hash.go @@ -0,0 +1,75 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/string_match.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *StringMatch) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.StringMatch")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetIgnoreCase()) + if err != nil { + return 0, err + } + + switch m.MatchType.(type) { + + case *StringMatch_Exact: + + if _, err = hasher.Write([]byte(m.GetExact())); err != nil { + return 0, err + } + + case *StringMatch_Prefix: + + if _, err = hasher.Write([]byte(m.GetPrefix())); err != nil { + return 0, err + } + + case *StringMatch_Regex: + + if _, err = hasher.Write([]byte(m.GetRegex())); err != nil { + return 0, err + } + + case *StringMatch_Suffix: + + if _, err = hasher.Write([]byte(m.GetSuffix())); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/tcp_matchers.pb.clone.go b/client-go/common.gloo.solo.io/v2/tcp_matchers.pb.clone.go new file mode 100644 index 000000000..c595eb408 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/tcp_matchers.pb.clone.go @@ -0,0 +1,39 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/tcp_matchers.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *TCPRequestMatcher) Clone() proto.Message { + var target *TCPRequestMatcher + if m == nil { + return target + } + target = &TCPRequestMatcher{} + + target.Port = m.GetPort() + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/tcp_matchers.pb.equal.go b/client-go/common.gloo.solo.io/v2/tcp_matchers.pb.equal.go new file mode 100644 index 000000000..32d3836e9 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/tcp_matchers.pb.equal.go @@ -0,0 +1,54 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/tcp_matchers.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *TCPRequestMatcher) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TCPRequestMatcher) + if !ok { + that2, ok := that.(TCPRequestMatcher) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetPort() != target.GetPort() { + return false + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/tcp_matchers.pb.go b/client-go/common.gloo.solo.io/v2/tcp_matchers.pb.go new file mode 100644 index 000000000..be0aeff3c --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/tcp_matchers.pb.go @@ -0,0 +1,165 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/tcp_matchers.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Specify TCP request matchers. Matchers are criteria such as a port to match with an incoming request. +type TCPRequestMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specify the port on the host defined in the route table to match with incoming TCP requests. + Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *TCPRequestMatcher) Reset() { + *x = TCPRequestMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TCPRequestMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TCPRequestMatcher) ProtoMessage() {} + +func (x *TCPRequestMatcher) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TCPRequestMatcher.ProtoReflect.Descriptor instead. +func (*TCPRequestMatcher) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_rawDescGZIP(), []int{0} +} + +func (x *TCPRequestMatcher) GetPort() uint32 { + if x != nil { + return x.Port + } + return 0 +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_rawDesc = []byte{ + 0x0a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, + 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x27, 0x0a, 0x11, 0x54, 0x43, 0x50, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x42, 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, + 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_goTypes = []interface{}{ + (*TCPRequestMatcher)(nil), // 0: common.gloo.solo.io.TCPRequestMatcher +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto != nil { + return + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_string_match_proto_init() + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TCPRequestMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tcp_matchers_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/tcp_matchers.pb.hash.go b/client-go/common.gloo.solo.io/v2/tcp_matchers.pb.hash.go new file mode 100644 index 000000000..d4381a688 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/tcp_matchers.pb.hash.go @@ -0,0 +1,47 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/tcp_matchers.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *TCPRequestMatcher) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.TCPRequestMatcher")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPort()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/common.gloo.solo.io/v2/tls_matchers.pb.clone.go b/client-go/common.gloo.solo.io/v2/tls_matchers.pb.clone.go new file mode 100644 index 000000000..bbaaa65d6 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/tls_matchers.pb.clone.go @@ -0,0 +1,48 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/tls_matchers.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *TLSRequestMatcher) Clone() proto.Message { + var target *TLSRequestMatcher + if m == nil { + return target + } + target = &TLSRequestMatcher{} + + if m.GetSniHosts() != nil { + target.SniHosts = make([]string, len(m.GetSniHosts())) + for idx, v := range m.GetSniHosts() { + + target.SniHosts[idx] = v + + } + } + + target.Port = m.GetPort() + + return target +} diff --git a/client-go/common.gloo.solo.io/v2/tls_matchers.pb.equal.go b/client-go/common.gloo.solo.io/v2/tls_matchers.pb.equal.go new file mode 100644 index 000000000..22d149449 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/tls_matchers.pb.equal.go @@ -0,0 +1,65 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/tls_matchers.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *TLSRequestMatcher) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TLSRequestMatcher) + if !ok { + that2, ok := that.(TLSRequestMatcher) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetSniHosts()) != len(target.GetSniHosts()) { + return false + } + for idx, v := range m.GetSniHosts() { + + if strings.Compare(v, target.GetSniHosts()[idx]) != 0 { + return false + } + + } + + if m.GetPort() != target.GetPort() { + return false + } + + return true +} diff --git a/client-go/common.gloo.solo.io/v2/tls_matchers.pb.go b/client-go/common.gloo.solo.io/v2/tls_matchers.pb.go new file mode 100644 index 000000000..082a6b495 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/tls_matchers.pb.go @@ -0,0 +1,172 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/tls_matchers.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Specify TLS request matchers. Must provide an SNI host to match with an incoming request. +type TLSRequestMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: SNI (server name indicator) to match on. Wildcard prefixes can be used in the SNI value. + // For example, '*.com' matches 'foo.example.com' as well as 'example.com'. + // The SNI value must be a subset of the corresponding virtual service’s hosts. + SniHosts []string `protobuf:"bytes,1,rep,name=sni_hosts,json=sniHosts,proto3" json:"sni_hosts,omitempty"` + // Optional: Port on the host to match against. + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *TLSRequestMatcher) Reset() { + *x = TLSRequestMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TLSRequestMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TLSRequestMatcher) ProtoMessage() {} + +func (x *TLSRequestMatcher) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TLSRequestMatcher.ProtoReflect.Descriptor instead. +func (*TLSRequestMatcher) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_rawDescGZIP(), []int{0} +} + +func (x *TLSRequestMatcher) GetSniHosts() []string { + if x != nil { + return x.SniHosts + } + return nil +} + +func (x *TLSRequestMatcher) GetPort() uint32 { + if x != nil { + return x.Port + } + return 0 +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_rawDesc = []byte{ + 0x0a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, + 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x44, 0x0a, 0x11, 0x54, 0x4c, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6e, 0x69, 0x5f, 0x68, 0x6f, 0x73, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6e, 0x69, 0x48, 0x6f, 0x73, + 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x54, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, + 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_goTypes = []interface{}{ + (*TLSRequestMatcher)(nil), // 0: common.gloo.solo.io.TLSRequestMatcher +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TLSRequestMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_common_v2_tls_matchers_proto_depIdxs = nil +} diff --git a/client-go/common.gloo.solo.io/v2/tls_matchers.pb.hash.go b/client-go/common.gloo.solo.io/v2/tls_matchers.pb.hash.go new file mode 100644 index 000000000..f3e8b1dc5 --- /dev/null +++ b/client-go/common.gloo.solo.io/v2/tls_matchers.pb.hash.go @@ -0,0 +1,55 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/common/v2/tls_matchers.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *TLSRequestMatcher) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("common.gloo.solo.io.github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2.TLSRequestMatcher")); err != nil { + return 0, err + } + + for _, v := range m.GetSniHosts() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPort()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/enterprise.gloo.solo.io/v1/auth_config.pb.clone.go b/client-go/enterprise.gloo.solo.io/v1/auth_config.pb.clone.go new file mode 100644 index 000000000..f2f90f261 --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/auth_config.pb.clone.go @@ -0,0 +1,4153 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/vendor_any/github.com/solo-io/solo-apis/api/gloo/enterprise.gloo/v1/auth_config.proto + +package v1 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_golang_protobuf_ptypes_empty "github.com/golang/protobuf/ptypes/empty" + + github_com_golang_protobuf_ptypes_struct "github.com/golang/protobuf/ptypes/struct" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_solo_kit_pkg_api_v1_resources_core "github.com/solo-io/solo-kit/pkg/api/v1/resources/core" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *AuthConfigSpec) Clone() proto.Message { + var target *AuthConfigSpec + if m == nil { + return target + } + target = &AuthConfigSpec{} + + if m.GetConfigs() != nil { + target.Configs = make([]*AuthConfigSpec_Config, len(m.GetConfigs())) + for idx, v := range m.GetConfigs() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Configs[idx] = h.Clone().(*AuthConfigSpec_Config) + } else { + target.Configs[idx] = proto.Clone(v).(*AuthConfigSpec_Config) + } + + } + } + + if h, ok := interface{}(m.GetBooleanExpr()).(clone.Cloner); ok { + target.BooleanExpr = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.BooleanExpr = proto.Clone(m.GetBooleanExpr()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + target.FailOnRedirect = m.GetFailOnRedirect() + + return target +} + +// Clone function +func (m *ExtAuthExtension) Clone() proto.Message { + var target *ExtAuthExtension + if m == nil { + return target + } + target = &ExtAuthExtension{} + + switch m.Spec.(type) { + + case *ExtAuthExtension_Disable: + + target.Spec = &ExtAuthExtension_Disable{ + Disable: m.GetDisable(), + } + + case *ExtAuthExtension_ConfigRef: + + if h, ok := interface{}(m.GetConfigRef()).(clone.Cloner); ok { + target.Spec = &ExtAuthExtension_ConfigRef{ + ConfigRef: h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef), + } + } else { + target.Spec = &ExtAuthExtension_ConfigRef{ + ConfigRef: proto.Clone(m.GetConfigRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef), + } + } + + case *ExtAuthExtension_CustomAuth: + + if h, ok := interface{}(m.GetCustomAuth()).(clone.Cloner); ok { + target.Spec = &ExtAuthExtension_CustomAuth{ + CustomAuth: h.Clone().(*CustomAuth), + } + } else { + target.Spec = &ExtAuthExtension_CustomAuth{ + CustomAuth: proto.Clone(m.GetCustomAuth()).(*CustomAuth), + } + } + + } + + return target +} + +// Clone function +func (m *Settings) Clone() proto.Message { + var target *Settings + if m == nil { + return target + } + target = &Settings{} + + if h, ok := interface{}(m.GetExtauthzServerRef()).(clone.Cloner); ok { + target.ExtauthzServerRef = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.ExtauthzServerRef = proto.Clone(m.GetExtauthzServerRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + target.UserIdHeader = m.GetUserIdHeader() + + if h, ok := interface{}(m.GetRequestTimeout()).(clone.Cloner); ok { + target.RequestTimeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.RequestTimeout = proto.Clone(m.GetRequestTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + target.FailureModeAllow = m.GetFailureModeAllow() + + if h, ok := interface{}(m.GetRequestBody()).(clone.Cloner); ok { + target.RequestBody = h.Clone().(*BufferSettings) + } else { + target.RequestBody = proto.Clone(m.GetRequestBody()).(*BufferSettings) + } + + target.ClearRouteCache = m.GetClearRouteCache() + + target.StatusOnError = m.GetStatusOnError() + + target.TransportApiVersion = m.GetTransportApiVersion() + + target.StatPrefix = m.GetStatPrefix() + + switch m.ServiceType.(type) { + + case *Settings_HttpService: + + if h, ok := interface{}(m.GetHttpService()).(clone.Cloner); ok { + target.ServiceType = &Settings_HttpService{ + HttpService: h.Clone().(*HttpService), + } + } else { + target.ServiceType = &Settings_HttpService{ + HttpService: proto.Clone(m.GetHttpService()).(*HttpService), + } + } + + case *Settings_GrpcService: + + if h, ok := interface{}(m.GetGrpcService()).(clone.Cloner); ok { + target.ServiceType = &Settings_GrpcService{ + GrpcService: h.Clone().(*GrpcService), + } + } else { + target.ServiceType = &Settings_GrpcService{ + GrpcService: proto.Clone(m.GetGrpcService()).(*GrpcService), + } + } + + } + + return target +} + +// Clone function +func (m *GrpcService) Clone() proto.Message { + var target *GrpcService + if m == nil { + return target + } + target = &GrpcService{} + + target.Authority = m.GetAuthority() + + return target +} + +// Clone function +func (m *HttpService) Clone() proto.Message { + var target *HttpService + if m == nil { + return target + } + target = &HttpService{} + + target.PathPrefix = m.GetPathPrefix() + + if h, ok := interface{}(m.GetRequest()).(clone.Cloner); ok { + target.Request = h.Clone().(*HttpService_Request) + } else { + target.Request = proto.Clone(m.GetRequest()).(*HttpService_Request) + } + + if h, ok := interface{}(m.GetResponse()).(clone.Cloner); ok { + target.Response = h.Clone().(*HttpService_Response) + } else { + target.Response = proto.Clone(m.GetResponse()).(*HttpService_Response) + } + + return target +} + +// Clone function +func (m *BufferSettings) Clone() proto.Message { + var target *BufferSettings + if m == nil { + return target + } + target = &BufferSettings{} + + target.MaxRequestBytes = m.GetMaxRequestBytes() + + target.AllowPartialMessage = m.GetAllowPartialMessage() + + target.PackAsBytes = m.GetPackAsBytes() + + return target +} + +// Clone function +func (m *CustomAuth) Clone() proto.Message { + var target *CustomAuth + if m == nil { + return target + } + target = &CustomAuth{} + + if m.GetContextExtensions() != nil { + target.ContextExtensions = make(map[string]string, len(m.GetContextExtensions())) + for k, v := range m.GetContextExtensions() { + + target.ContextExtensions[k] = v + + } + } + + target.Name = m.GetName() + + return target +} + +// Clone function +func (m *AuthPlugin) Clone() proto.Message { + var target *AuthPlugin + if m == nil { + return target + } + target = &AuthPlugin{} + + target.Name = m.GetName() + + target.PluginFileName = m.GetPluginFileName() + + target.ExportedSymbolName = m.GetExportedSymbolName() + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*github_com_golang_protobuf_ptypes_struct.Struct) + } else { + target.Config = proto.Clone(m.GetConfig()).(*github_com_golang_protobuf_ptypes_struct.Struct) + } + + return target +} + +// Clone function +func (m *BasicAuth) Clone() proto.Message { + var target *BasicAuth + if m == nil { + return target + } + target = &BasicAuth{} + + target.Realm = m.GetRealm() + + if h, ok := interface{}(m.GetApr()).(clone.Cloner); ok { + target.Apr = h.Clone().(*BasicAuth_Apr) + } else { + target.Apr = proto.Clone(m.GetApr()).(*BasicAuth_Apr) + } + + if h, ok := interface{}(m.GetEncryption()).(clone.Cloner); ok { + target.Encryption = h.Clone().(*BasicAuth_EncryptionType) + } else { + target.Encryption = proto.Clone(m.GetEncryption()).(*BasicAuth_EncryptionType) + } + + switch m.UserSource.(type) { + + case *BasicAuth_UserList_: + + if h, ok := interface{}(m.GetUserList()).(clone.Cloner); ok { + target.UserSource = &BasicAuth_UserList_{ + UserList: h.Clone().(*BasicAuth_UserList), + } + } else { + target.UserSource = &BasicAuth_UserList_{ + UserList: proto.Clone(m.GetUserList()).(*BasicAuth_UserList), + } + } + + } + + return target +} + +// Clone function +func (m *HmacAuth) Clone() proto.Message { + var target *HmacAuth + if m == nil { + return target + } + target = &HmacAuth{} + + switch m.SecretStorage.(type) { + + case *HmacAuth_SecretRefs: + + if h, ok := interface{}(m.GetSecretRefs()).(clone.Cloner); ok { + target.SecretStorage = &HmacAuth_SecretRefs{ + SecretRefs: h.Clone().(*SecretRefList), + } + } else { + target.SecretStorage = &HmacAuth_SecretRefs{ + SecretRefs: proto.Clone(m.GetSecretRefs()).(*SecretRefList), + } + } + + } + + switch m.ImplementationType.(type) { + + case *HmacAuth_ParametersInHeaders: + + if h, ok := interface{}(m.GetParametersInHeaders()).(clone.Cloner); ok { + target.ImplementationType = &HmacAuth_ParametersInHeaders{ + ParametersInHeaders: h.Clone().(*HmacParametersInHeaders), + } + } else { + target.ImplementationType = &HmacAuth_ParametersInHeaders{ + ParametersInHeaders: proto.Clone(m.GetParametersInHeaders()).(*HmacParametersInHeaders), + } + } + + } + + return target +} + +// Clone function +func (m *SecretRefList) Clone() proto.Message { + var target *SecretRefList + if m == nil { + return target + } + target = &SecretRefList{} + + if m.GetSecretRefs() != nil { + target.SecretRefs = make([]*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef, len(m.GetSecretRefs())) + for idx, v := range m.GetSecretRefs() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SecretRefs[idx] = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.SecretRefs[idx] = proto.Clone(v).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + } + } + + return target +} + +// Clone function +func (m *HmacParametersInHeaders) Clone() proto.Message { + var target *HmacParametersInHeaders + if m == nil { + return target + } + target = &HmacParametersInHeaders{} + + return target +} + +// Clone function +func (m *OAuth) Clone() proto.Message { + var target *OAuth + if m == nil { + return target + } + target = &OAuth{} + + target.ClientId = m.GetClientId() + + if h, ok := interface{}(m.GetClientSecretRef()).(clone.Cloner); ok { + target.ClientSecretRef = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.ClientSecretRef = proto.Clone(m.GetClientSecretRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + target.IssuerUrl = m.GetIssuerUrl() + + if m.GetAuthEndpointQueryParams() != nil { + target.AuthEndpointQueryParams = make(map[string]string, len(m.GetAuthEndpointQueryParams())) + for k, v := range m.GetAuthEndpointQueryParams() { + + target.AuthEndpointQueryParams[k] = v + + } + } + + target.AppUrl = m.GetAppUrl() + + target.CallbackPath = m.GetCallbackPath() + + if m.GetScopes() != nil { + target.Scopes = make([]string, len(m.GetScopes())) + for idx, v := range m.GetScopes() { + + target.Scopes[idx] = v + + } + } + + return target +} + +// Clone function +func (m *OAuth2) Clone() proto.Message { + var target *OAuth2 + if m == nil { + return target + } + target = &OAuth2{} + + switch m.OauthType.(type) { + + case *OAuth2_OidcAuthorizationCode: + + if h, ok := interface{}(m.GetOidcAuthorizationCode()).(clone.Cloner); ok { + target.OauthType = &OAuth2_OidcAuthorizationCode{ + OidcAuthorizationCode: h.Clone().(*OidcAuthorizationCode), + } + } else { + target.OauthType = &OAuth2_OidcAuthorizationCode{ + OidcAuthorizationCode: proto.Clone(m.GetOidcAuthorizationCode()).(*OidcAuthorizationCode), + } + } + + case *OAuth2_AccessTokenValidation: + + if h, ok := interface{}(m.GetAccessTokenValidation()).(clone.Cloner); ok { + target.OauthType = &OAuth2_AccessTokenValidation{ + AccessTokenValidation: h.Clone().(*AccessTokenValidation), + } + } else { + target.OauthType = &OAuth2_AccessTokenValidation{ + AccessTokenValidation: proto.Clone(m.GetAccessTokenValidation()).(*AccessTokenValidation), + } + } + + case *OAuth2_Oauth2: + + if h, ok := interface{}(m.GetOauth2()).(clone.Cloner); ok { + target.OauthType = &OAuth2_Oauth2{ + Oauth2: h.Clone().(*PlainOAuth2), + } + } else { + target.OauthType = &OAuth2_Oauth2{ + Oauth2: proto.Clone(m.GetOauth2()).(*PlainOAuth2), + } + } + + } + + return target +} + +// Clone function +func (m *RedisOptions) Clone() proto.Message { + var target *RedisOptions + if m == nil { + return target + } + target = &RedisOptions{} + + target.Host = m.GetHost() + + target.Db = m.GetDb() + + target.PoolSize = m.GetPoolSize() + + target.TlsCertMountPath = m.GetTlsCertMountPath() + + target.SocketType = m.GetSocketType() + + return target +} + +// Clone function +func (m *UserSession) Clone() proto.Message { + var target *UserSession + if m == nil { + return target + } + target = &UserSession{} + + target.FailOnFetchFailure = m.GetFailOnFetchFailure() + + if h, ok := interface{}(m.GetCookieOptions()).(clone.Cloner); ok { + target.CookieOptions = h.Clone().(*UserSession_CookieOptions) + } else { + target.CookieOptions = proto.Clone(m.GetCookieOptions()).(*UserSession_CookieOptions) + } + + if h, ok := interface{}(m.GetCipherConfig()).(clone.Cloner); ok { + target.CipherConfig = h.Clone().(*UserSession_CipherConfig) + } else { + target.CipherConfig = proto.Clone(m.GetCipherConfig()).(*UserSession_CipherConfig) + } + + switch m.Session.(type) { + + case *UserSession_Cookie: + + if h, ok := interface{}(m.GetCookie()).(clone.Cloner); ok { + target.Session = &UserSession_Cookie{ + Cookie: h.Clone().(*UserSession_InternalSession), + } + } else { + target.Session = &UserSession_Cookie{ + Cookie: proto.Clone(m.GetCookie()).(*UserSession_InternalSession), + } + } + + case *UserSession_Redis: + + if h, ok := interface{}(m.GetRedis()).(clone.Cloner); ok { + target.Session = &UserSession_Redis{ + Redis: h.Clone().(*UserSession_RedisSession), + } + } else { + target.Session = &UserSession_Redis{ + Redis: proto.Clone(m.GetRedis()).(*UserSession_RedisSession), + } + } + + } + + return target +} + +// Clone function +func (m *HeaderConfiguration) Clone() proto.Message { + var target *HeaderConfiguration + if m == nil { + return target + } + target = &HeaderConfiguration{} + + target.IdTokenHeader = m.GetIdTokenHeader() + + target.AccessTokenHeader = m.GetAccessTokenHeader() + + if h, ok := interface{}(m.GetUseBearerSchemaForAuthorization()).(clone.Cloner); ok { + target.UseBearerSchemaForAuthorization = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.UseBearerSchemaForAuthorization = proto.Clone(m.GetUseBearerSchemaForAuthorization()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + return target +} + +// Clone function +func (m *DiscoveryOverride) Clone() proto.Message { + var target *DiscoveryOverride + if m == nil { + return target + } + target = &DiscoveryOverride{} + + target.AuthEndpoint = m.GetAuthEndpoint() + + target.TokenEndpoint = m.GetTokenEndpoint() + + target.JwksUri = m.GetJwksUri() + + if m.GetScopes() != nil { + target.Scopes = make([]string, len(m.GetScopes())) + for idx, v := range m.GetScopes() { + + target.Scopes[idx] = v + + } + } + + if m.GetResponseTypes() != nil { + target.ResponseTypes = make([]string, len(m.GetResponseTypes())) + for idx, v := range m.GetResponseTypes() { + + target.ResponseTypes[idx] = v + + } + } + + if m.GetSubjects() != nil { + target.Subjects = make([]string, len(m.GetSubjects())) + for idx, v := range m.GetSubjects() { + + target.Subjects[idx] = v + + } + } + + if m.GetIdTokenAlgs() != nil { + target.IdTokenAlgs = make([]string, len(m.GetIdTokenAlgs())) + for idx, v := range m.GetIdTokenAlgs() { + + target.IdTokenAlgs[idx] = v + + } + } + + if m.GetAuthMethods() != nil { + target.AuthMethods = make([]string, len(m.GetAuthMethods())) + for idx, v := range m.GetAuthMethods() { + + target.AuthMethods[idx] = v + + } + } + + if m.GetClaims() != nil { + target.Claims = make([]string, len(m.GetClaims())) + for idx, v := range m.GetClaims() { + + target.Claims[idx] = v + + } + } + + target.RevocationEndpoint = m.GetRevocationEndpoint() + + target.EndSessionEndpoint = m.GetEndSessionEndpoint() + + return target +} + +// Clone function +func (m *JwksOnDemandCacheRefreshPolicy) Clone() proto.Message { + var target *JwksOnDemandCacheRefreshPolicy + if m == nil { + return target + } + target = &JwksOnDemandCacheRefreshPolicy{} + + switch m.Policy.(type) { + + case *JwksOnDemandCacheRefreshPolicy_Never: + + if h, ok := interface{}(m.GetNever()).(clone.Cloner); ok { + target.Policy = &JwksOnDemandCacheRefreshPolicy_Never{ + Never: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.Policy = &JwksOnDemandCacheRefreshPolicy_Never{ + Never: proto.Clone(m.GetNever()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + case *JwksOnDemandCacheRefreshPolicy_Always: + + if h, ok := interface{}(m.GetAlways()).(clone.Cloner); ok { + target.Policy = &JwksOnDemandCacheRefreshPolicy_Always{ + Always: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.Policy = &JwksOnDemandCacheRefreshPolicy_Always{ + Always: proto.Clone(m.GetAlways()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + case *JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval: + + target.Policy = &JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval{ + MaxIdpReqPerPollingInterval: m.GetMaxIdpReqPerPollingInterval(), + } + + } + + return target +} + +// Clone function +func (m *AutoMapFromMetadata) Clone() proto.Message { + var target *AutoMapFromMetadata + if m == nil { + return target + } + target = &AutoMapFromMetadata{} + + target.Namespace = m.GetNamespace() + + return target +} + +// Clone function +func (m *EndSessionProperties) Clone() proto.Message { + var target *EndSessionProperties + if m == nil { + return target + } + target = &EndSessionProperties{} + + target.MethodType = m.GetMethodType() + + return target +} + +// Clone function +func (m *ClaimToHeader) Clone() proto.Message { + var target *ClaimToHeader + if m == nil { + return target + } + target = &ClaimToHeader{} + + target.Claim = m.GetClaim() + + target.Header = m.GetHeader() + + target.Append = m.GetAppend() + + return target +} + +// Clone function +func (m *OidcAuthorizationCode) Clone() proto.Message { + var target *OidcAuthorizationCode + if m == nil { + return target + } + target = &OidcAuthorizationCode{} + + target.ClientId = m.GetClientId() + + if h, ok := interface{}(m.GetClientSecretRef()).(clone.Cloner); ok { + target.ClientSecretRef = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.ClientSecretRef = proto.Clone(m.GetClientSecretRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + target.IssuerUrl = m.GetIssuerUrl() + + if m.GetAuthEndpointQueryParams() != nil { + target.AuthEndpointQueryParams = make(map[string]string, len(m.GetAuthEndpointQueryParams())) + for k, v := range m.GetAuthEndpointQueryParams() { + + target.AuthEndpointQueryParams[k] = v + + } + } + + if m.GetTokenEndpointQueryParams() != nil { + target.TokenEndpointQueryParams = make(map[string]string, len(m.GetTokenEndpointQueryParams())) + for k, v := range m.GetTokenEndpointQueryParams() { + + target.TokenEndpointQueryParams[k] = v + + } + } + + target.AppUrl = m.GetAppUrl() + + target.CallbackPath = m.GetCallbackPath() + + target.LogoutPath = m.GetLogoutPath() + + target.AfterLogoutUrl = m.GetAfterLogoutUrl() + + if m.GetScopes() != nil { + target.Scopes = make([]string, len(m.GetScopes())) + for idx, v := range m.GetScopes() { + + target.Scopes[idx] = v + + } + } + + if h, ok := interface{}(m.GetSession()).(clone.Cloner); ok { + target.Session = h.Clone().(*UserSession) + } else { + target.Session = proto.Clone(m.GetSession()).(*UserSession) + } + + if h, ok := interface{}(m.GetHeaders()).(clone.Cloner); ok { + target.Headers = h.Clone().(*HeaderConfiguration) + } else { + target.Headers = proto.Clone(m.GetHeaders()).(*HeaderConfiguration) + } + + if h, ok := interface{}(m.GetDiscoveryOverride()).(clone.Cloner); ok { + target.DiscoveryOverride = h.Clone().(*DiscoveryOverride) + } else { + target.DiscoveryOverride = proto.Clone(m.GetDiscoveryOverride()).(*DiscoveryOverride) + } + + if h, ok := interface{}(m.GetDiscoveryPollInterval()).(clone.Cloner); ok { + target.DiscoveryPollInterval = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.DiscoveryPollInterval = proto.Clone(m.GetDiscoveryPollInterval()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if h, ok := interface{}(m.GetJwksCacheRefreshPolicy()).(clone.Cloner); ok { + target.JwksCacheRefreshPolicy = h.Clone().(*JwksOnDemandCacheRefreshPolicy) + } else { + target.JwksCacheRefreshPolicy = proto.Clone(m.GetJwksCacheRefreshPolicy()).(*JwksOnDemandCacheRefreshPolicy) + } + + target.SessionIdHeaderName = m.GetSessionIdHeaderName() + + target.ParseCallbackPathAsRegex = m.GetParseCallbackPathAsRegex() + + if h, ok := interface{}(m.GetAutoMapFromMetadata()).(clone.Cloner); ok { + target.AutoMapFromMetadata = h.Clone().(*AutoMapFromMetadata) + } else { + target.AutoMapFromMetadata = proto.Clone(m.GetAutoMapFromMetadata()).(*AutoMapFromMetadata) + } + + if h, ok := interface{}(m.GetEndSessionProperties()).(clone.Cloner); ok { + target.EndSessionProperties = h.Clone().(*EndSessionProperties) + } else { + target.EndSessionProperties = proto.Clone(m.GetEndSessionProperties()).(*EndSessionProperties) + } + + if m.GetDynamicMetadataFromClaims() != nil { + target.DynamicMetadataFromClaims = make(map[string]string, len(m.GetDynamicMetadataFromClaims())) + for k, v := range m.GetDynamicMetadataFromClaims() { + + target.DynamicMetadataFromClaims[k] = v + + } + } + + if h, ok := interface{}(m.GetDisableClientSecret()).(clone.Cloner); ok { + target.DisableClientSecret = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.DisableClientSecret = proto.Clone(m.GetDisableClientSecret()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + if h, ok := interface{}(m.GetAccessToken()).(clone.Cloner); ok { + target.AccessToken = h.Clone().(*OidcAuthorizationCode_AccessToken) + } else { + target.AccessToken = proto.Clone(m.GetAccessToken()).(*OidcAuthorizationCode_AccessToken) + } + + if h, ok := interface{}(m.GetIdentityToken()).(clone.Cloner); ok { + target.IdentityToken = h.Clone().(*OidcAuthorizationCode_IdentityToken) + } else { + target.IdentityToken = proto.Clone(m.GetIdentityToken()).(*OidcAuthorizationCode_IdentityToken) + } + + if h, ok := interface{}(m.GetClientAuthentication()).(clone.Cloner); ok { + target.ClientAuthentication = h.Clone().(*OidcAuthorizationCode_ClientAuthentication) + } else { + target.ClientAuthentication = proto.Clone(m.GetClientAuthentication()).(*OidcAuthorizationCode_ClientAuthentication) + } + + switch m.Provider.(type) { + + case *OidcAuthorizationCode_Default_: + + if h, ok := interface{}(m.GetDefault()).(clone.Cloner); ok { + target.Provider = &OidcAuthorizationCode_Default_{ + Default: h.Clone().(*OidcAuthorizationCode_Default), + } + } else { + target.Provider = &OidcAuthorizationCode_Default_{ + Default: proto.Clone(m.GetDefault()).(*OidcAuthorizationCode_Default), + } + } + + case *OidcAuthorizationCode_Azure_: + + if h, ok := interface{}(m.GetAzure()).(clone.Cloner); ok { + target.Provider = &OidcAuthorizationCode_Azure_{ + Azure: h.Clone().(*OidcAuthorizationCode_Azure), + } + } else { + target.Provider = &OidcAuthorizationCode_Azure_{ + Azure: proto.Clone(m.GetAzure()).(*OidcAuthorizationCode_Azure), + } + } + + } + + return target +} + +// Clone function +func (m *PlainOAuth2) Clone() proto.Message { + var target *PlainOAuth2 + if m == nil { + return target + } + target = &PlainOAuth2{} + + target.ClientId = m.GetClientId() + + if h, ok := interface{}(m.GetClientSecretRef()).(clone.Cloner); ok { + target.ClientSecretRef = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.ClientSecretRef = proto.Clone(m.GetClientSecretRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + if m.GetAuthEndpointQueryParams() != nil { + target.AuthEndpointQueryParams = make(map[string]string, len(m.GetAuthEndpointQueryParams())) + for k, v := range m.GetAuthEndpointQueryParams() { + + target.AuthEndpointQueryParams[k] = v + + } + } + + target.AppUrl = m.GetAppUrl() + + target.CallbackPath = m.GetCallbackPath() + + if m.GetScopes() != nil { + target.Scopes = make([]string, len(m.GetScopes())) + for idx, v := range m.GetScopes() { + + target.Scopes[idx] = v + + } + } + + if h, ok := interface{}(m.GetSession()).(clone.Cloner); ok { + target.Session = h.Clone().(*UserSession) + } else { + target.Session = proto.Clone(m.GetSession()).(*UserSession) + } + + target.LogoutPath = m.GetLogoutPath() + + if m.GetTokenEndpointQueryParams() != nil { + target.TokenEndpointQueryParams = make(map[string]string, len(m.GetTokenEndpointQueryParams())) + for k, v := range m.GetTokenEndpointQueryParams() { + + target.TokenEndpointQueryParams[k] = v + + } + } + + target.AfterLogoutUrl = m.GetAfterLogoutUrl() + + target.AuthEndpoint = m.GetAuthEndpoint() + + target.TokenEndpoint = m.GetTokenEndpoint() + + target.RevocationEndpoint = m.GetRevocationEndpoint() + + if h, ok := interface{}(m.GetDisableClientSecret()).(clone.Cloner); ok { + target.DisableClientSecret = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.DisableClientSecret = proto.Clone(m.GetDisableClientSecret()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + return target +} + +// Clone function +func (m *JwtValidation) Clone() proto.Message { + var target *JwtValidation + if m == nil { + return target + } + target = &JwtValidation{} + + target.Issuer = m.GetIssuer() + + switch m.JwksSourceSpecifier.(type) { + + case *JwtValidation_RemoteJwks_: + + if h, ok := interface{}(m.GetRemoteJwks()).(clone.Cloner); ok { + target.JwksSourceSpecifier = &JwtValidation_RemoteJwks_{ + RemoteJwks: h.Clone().(*JwtValidation_RemoteJwks), + } + } else { + target.JwksSourceSpecifier = &JwtValidation_RemoteJwks_{ + RemoteJwks: proto.Clone(m.GetRemoteJwks()).(*JwtValidation_RemoteJwks), + } + } + + case *JwtValidation_LocalJwks_: + + if h, ok := interface{}(m.GetLocalJwks()).(clone.Cloner); ok { + target.JwksSourceSpecifier = &JwtValidation_LocalJwks_{ + LocalJwks: h.Clone().(*JwtValidation_LocalJwks), + } + } else { + target.JwksSourceSpecifier = &JwtValidation_LocalJwks_{ + LocalJwks: proto.Clone(m.GetLocalJwks()).(*JwtValidation_LocalJwks), + } + } + + } + + return target +} + +// Clone function +func (m *IntrospectionValidation) Clone() proto.Message { + var target *IntrospectionValidation + if m == nil { + return target + } + target = &IntrospectionValidation{} + + target.IntrospectionUrl = m.GetIntrospectionUrl() + + target.ClientId = m.GetClientId() + + if h, ok := interface{}(m.GetClientSecretRef()).(clone.Cloner); ok { + target.ClientSecretRef = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.ClientSecretRef = proto.Clone(m.GetClientSecretRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + target.UserIdAttributeName = m.GetUserIdAttributeName() + + if h, ok := interface{}(m.GetDisableClientSecret()).(clone.Cloner); ok { + target.DisableClientSecret = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.DisableClientSecret = proto.Clone(m.GetDisableClientSecret()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + return target +} + +// Clone function +func (m *AccessTokenValidation) Clone() proto.Message { + var target *AccessTokenValidation + if m == nil { + return target + } + target = &AccessTokenValidation{} + + target.UserinfoUrl = m.GetUserinfoUrl() + + if h, ok := interface{}(m.GetCacheTimeout()).(clone.Cloner); ok { + target.CacheTimeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.CacheTimeout = proto.Clone(m.GetCacheTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if m.GetDynamicMetadataFromClaims() != nil { + target.DynamicMetadataFromClaims = make(map[string]string, len(m.GetDynamicMetadataFromClaims())) + for k, v := range m.GetDynamicMetadataFromClaims() { + + target.DynamicMetadataFromClaims[k] = v + + } + } + + switch m.ValidationType.(type) { + + case *AccessTokenValidation_IntrospectionUrl: + + target.ValidationType = &AccessTokenValidation_IntrospectionUrl{ + IntrospectionUrl: m.GetIntrospectionUrl(), + } + + case *AccessTokenValidation_Jwt: + + if h, ok := interface{}(m.GetJwt()).(clone.Cloner); ok { + target.ValidationType = &AccessTokenValidation_Jwt{ + Jwt: h.Clone().(*JwtValidation), + } + } else { + target.ValidationType = &AccessTokenValidation_Jwt{ + Jwt: proto.Clone(m.GetJwt()).(*JwtValidation), + } + } + + case *AccessTokenValidation_Introspection: + + if h, ok := interface{}(m.GetIntrospection()).(clone.Cloner); ok { + target.ValidationType = &AccessTokenValidation_Introspection{ + Introspection: h.Clone().(*IntrospectionValidation), + } + } else { + target.ValidationType = &AccessTokenValidation_Introspection{ + Introspection: proto.Clone(m.GetIntrospection()).(*IntrospectionValidation), + } + } + + } + + switch m.ScopeValidation.(type) { + + case *AccessTokenValidation_RequiredScopes: + + if h, ok := interface{}(m.GetRequiredScopes()).(clone.Cloner); ok { + target.ScopeValidation = &AccessTokenValidation_RequiredScopes{ + RequiredScopes: h.Clone().(*AccessTokenValidation_ScopeList), + } + } else { + target.ScopeValidation = &AccessTokenValidation_RequiredScopes{ + RequiredScopes: proto.Clone(m.GetRequiredScopes()).(*AccessTokenValidation_ScopeList), + } + } + + } + + return target +} + +// Clone function +func (m *OauthSecret) Clone() proto.Message { + var target *OauthSecret + if m == nil { + return target + } + target = &OauthSecret{} + + target.ClientSecret = m.GetClientSecret() + + return target +} + +// Clone function +func (m *ApiKeyAuth) Clone() proto.Message { + var target *ApiKeyAuth + if m == nil { + return target + } + target = &ApiKeyAuth{} + + if m.GetLabelSelector() != nil { + target.LabelSelector = make(map[string]string, len(m.GetLabelSelector())) + for k, v := range m.GetLabelSelector() { + + target.LabelSelector[k] = v + + } + } + + if m.GetApiKeySecretRefs() != nil { + target.ApiKeySecretRefs = make([]*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef, len(m.GetApiKeySecretRefs())) + for idx, v := range m.GetApiKeySecretRefs() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApiKeySecretRefs[idx] = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.ApiKeySecretRefs[idx] = proto.Clone(v).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + } + } + + target.HeaderName = m.GetHeaderName() + + if m.GetHeadersFromMetadata() != nil { + target.HeadersFromMetadata = make(map[string]*ApiKeyAuth_SecretKey, len(m.GetHeadersFromMetadata())) + for k, v := range m.GetHeadersFromMetadata() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.HeadersFromMetadata[k] = h.Clone().(*ApiKeyAuth_SecretKey) + } else { + target.HeadersFromMetadata[k] = proto.Clone(v).(*ApiKeyAuth_SecretKey) + } + + } + } + + if m.GetHeadersFromMetadataEntry() != nil { + target.HeadersFromMetadataEntry = make(map[string]*ApiKeyAuth_MetadataEntry, len(m.GetHeadersFromMetadataEntry())) + for k, v := range m.GetHeadersFromMetadataEntry() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.HeadersFromMetadataEntry[k] = h.Clone().(*ApiKeyAuth_MetadataEntry) + } else { + target.HeadersFromMetadataEntry[k] = proto.Clone(v).(*ApiKeyAuth_MetadataEntry) + } + + } + } + + switch m.StorageBackend.(type) { + + case *ApiKeyAuth_K8SSecretApikeyStorage: + + if h, ok := interface{}(m.GetK8SSecretApikeyStorage()).(clone.Cloner); ok { + target.StorageBackend = &ApiKeyAuth_K8SSecretApikeyStorage{ + K8SSecretApikeyStorage: h.Clone().(*K8SSecretApiKeyStorage), + } + } else { + target.StorageBackend = &ApiKeyAuth_K8SSecretApikeyStorage{ + K8SSecretApikeyStorage: proto.Clone(m.GetK8SSecretApikeyStorage()).(*K8SSecretApiKeyStorage), + } + } + + case *ApiKeyAuth_AerospikeApikeyStorage: + + if h, ok := interface{}(m.GetAerospikeApikeyStorage()).(clone.Cloner); ok { + target.StorageBackend = &ApiKeyAuth_AerospikeApikeyStorage{ + AerospikeApikeyStorage: h.Clone().(*AerospikeApiKeyStorage), + } + } else { + target.StorageBackend = &ApiKeyAuth_AerospikeApikeyStorage{ + AerospikeApikeyStorage: proto.Clone(m.GetAerospikeApikeyStorage()).(*AerospikeApiKeyStorage), + } + } + + } + + return target +} + +// Clone function +func (m *K8SSecretApiKeyStorage) Clone() proto.Message { + var target *K8SSecretApiKeyStorage + if m == nil { + return target + } + target = &K8SSecretApiKeyStorage{} + + if m.GetLabelSelector() != nil { + target.LabelSelector = make(map[string]string, len(m.GetLabelSelector())) + for k, v := range m.GetLabelSelector() { + + target.LabelSelector[k] = v + + } + } + + if m.GetApiKeySecretRefs() != nil { + target.ApiKeySecretRefs = make([]*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef, len(m.GetApiKeySecretRefs())) + for idx, v := range m.GetApiKeySecretRefs() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApiKeySecretRefs[idx] = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.ApiKeySecretRefs[idx] = proto.Clone(v).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + } + } + + return target +} + +// Clone function +func (m *AerospikeApiKeyStorage) Clone() proto.Message { + var target *AerospikeApiKeyStorage + if m == nil { + return target + } + target = &AerospikeApiKeyStorage{} + + target.Hostname = m.GetHostname() + + target.Namespace = m.GetNamespace() + + target.Set = m.GetSet() + + target.Port = m.GetPort() + + target.BatchSize = m.GetBatchSize() + + if h, ok := interface{}(m.GetReadModeSc()).(clone.Cloner); ok { + target.ReadModeSc = h.Clone().(*AerospikeApiKeyStorageReadModeSc) + } else { + target.ReadModeSc = proto.Clone(m.GetReadModeSc()).(*AerospikeApiKeyStorageReadModeSc) + } + + if h, ok := interface{}(m.GetReadModeAp()).(clone.Cloner); ok { + target.ReadModeAp = h.Clone().(*AerospikeApiKeyStorageReadModeAp) + } else { + target.ReadModeAp = proto.Clone(m.GetReadModeAp()).(*AerospikeApiKeyStorageReadModeAp) + } + + target.NodeTlsName = m.GetNodeTlsName() + + target.CertPath = m.GetCertPath() + + target.KeyPath = m.GetKeyPath() + + target.AllowInsecure = m.GetAllowInsecure() + + target.RootCaPath = m.GetRootCaPath() + + target.TlsVersion = m.GetTlsVersion() + + if m.GetTlsCurveGroups() != nil { + target.TlsCurveGroups = make([]*AerospikeApiKeyStorageTlsCurveID, len(m.GetTlsCurveGroups())) + for idx, v := range m.GetTlsCurveGroups() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.TlsCurveGroups[idx] = h.Clone().(*AerospikeApiKeyStorageTlsCurveID) + } else { + target.TlsCurveGroups[idx] = proto.Clone(v).(*AerospikeApiKeyStorageTlsCurveID) + } + + } + } + + if m.GetLabelSelector() != nil { + target.LabelSelector = make(map[string]string, len(m.GetLabelSelector())) + for k, v := range m.GetLabelSelector() { + + target.LabelSelector[k] = v + + } + } + + switch m.CommitLevel.(type) { + + case *AerospikeApiKeyStorage_CommitAll: + + target.CommitLevel = &AerospikeApiKeyStorage_CommitAll{ + CommitAll: m.GetCommitAll(), + } + + case *AerospikeApiKeyStorage_CommitMaster: + + target.CommitLevel = &AerospikeApiKeyStorage_CommitMaster{ + CommitMaster: m.GetCommitMaster(), + } + + } + + return target +} + +// Clone function +func (m *ApiKey) Clone() proto.Message { + var target *ApiKey + if m == nil { + return target + } + target = &ApiKey{} + + target.ApiKey = m.GetApiKey() + + if m.GetLabels() != nil { + target.Labels = make([]string, len(m.GetLabels())) + for idx, v := range m.GetLabels() { + + target.Labels[idx] = v + + } + } + + if m.GetMetadata() != nil { + target.Metadata = make(map[string]string, len(m.GetMetadata())) + for k, v := range m.GetMetadata() { + + target.Metadata[k] = v + + } + } + + target.Uuid = m.GetUuid() + + return target +} + +// Clone function +func (m *ApiKeySecret) Clone() proto.Message { + var target *ApiKeySecret + if m == nil { + return target + } + target = &ApiKeySecret{} + + target.ApiKey = m.GetApiKey() + + if m.GetLabels() != nil { + target.Labels = make([]string, len(m.GetLabels())) + for idx, v := range m.GetLabels() { + + target.Labels[idx] = v + + } + } + + if m.GetMetadata() != nil { + target.Metadata = make(map[string]string, len(m.GetMetadata())) + for k, v := range m.GetMetadata() { + + target.Metadata[k] = v + + } + } + + return target +} + +// Clone function +func (m *OpaAuth) Clone() proto.Message { + var target *OpaAuth + if m == nil { + return target + } + target = &OpaAuth{} + + if m.GetModules() != nil { + target.Modules = make([]*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef, len(m.GetModules())) + for idx, v := range m.GetModules() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Modules[idx] = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.Modules[idx] = proto.Clone(v).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + } + } + + target.Query = m.GetQuery() + + if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { + target.Options = h.Clone().(*OpaAuthOptions) + } else { + target.Options = proto.Clone(m.GetOptions()).(*OpaAuthOptions) + } + + return target +} + +// Clone function +func (m *OpaAuthOptions) Clone() proto.Message { + var target *OpaAuthOptions + if m == nil { + return target + } + target = &OpaAuthOptions{} + + target.FastInputConversion = m.GetFastInputConversion() + + target.ReturnDecisionReason = m.GetReturnDecisionReason() + + return target +} + +// Clone function +func (m *OpaServerAuth) Clone() proto.Message { + var target *OpaServerAuth + if m == nil { + return target + } + target = &OpaServerAuth{} + + target.Package = m.GetPackage() + + target.RuleName = m.GetRuleName() + + target.ServerAddr = m.GetServerAddr() + + if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { + target.Options = h.Clone().(*OpaAuthOptions) + } else { + target.Options = proto.Clone(m.GetOptions()).(*OpaAuthOptions) + } + + return target +} + +// Clone function +func (m *Ldap) Clone() proto.Message { + var target *Ldap + if m == nil { + return target + } + target = &Ldap{} + + target.Address = m.GetAddress() + + target.UserDnTemplate = m.GetUserDnTemplate() + + target.MembershipAttributeName = m.GetMembershipAttributeName() + + if m.GetAllowedGroups() != nil { + target.AllowedGroups = make([]string, len(m.GetAllowedGroups())) + for idx, v := range m.GetAllowedGroups() { + + target.AllowedGroups[idx] = v + + } + } + + if h, ok := interface{}(m.GetPool()).(clone.Cloner); ok { + target.Pool = h.Clone().(*Ldap_ConnectionPool) + } else { + target.Pool = proto.Clone(m.GetPool()).(*Ldap_ConnectionPool) + } + + target.SearchFilter = m.GetSearchFilter() + + target.DisableGroupChecking = m.GetDisableGroupChecking() + + if h, ok := interface{}(m.GetGroupLookupSettings()).(clone.Cloner); ok { + target.GroupLookupSettings = h.Clone().(*LdapServiceAccount) + } else { + target.GroupLookupSettings = proto.Clone(m.GetGroupLookupSettings()).(*LdapServiceAccount) + } + + return target +} + +// Clone function +func (m *LdapServiceAccount) Clone() proto.Message { + var target *LdapServiceAccount + if m == nil { + return target + } + target = &LdapServiceAccount{} + + if h, ok := interface{}(m.GetCredentialsSecretRef()).(clone.Cloner); ok { + target.CredentialsSecretRef = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.CredentialsSecretRef = proto.Clone(m.GetCredentialsSecretRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + target.CheckGroupsWithServiceAccount = m.GetCheckGroupsWithServiceAccount() + + return target +} + +// Clone function +func (m *PassThroughAuth) Clone() proto.Message { + var target *PassThroughAuth + if m == nil { + return target + } + target = &PassThroughAuth{} + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*github_com_golang_protobuf_ptypes_struct.Struct) + } else { + target.Config = proto.Clone(m.GetConfig()).(*github_com_golang_protobuf_ptypes_struct.Struct) + } + + target.FailureModeAllow = m.GetFailureModeAllow() + + switch m.Protocol.(type) { + + case *PassThroughAuth_Grpc: + + if h, ok := interface{}(m.GetGrpc()).(clone.Cloner); ok { + target.Protocol = &PassThroughAuth_Grpc{ + Grpc: h.Clone().(*PassThroughGrpc), + } + } else { + target.Protocol = &PassThroughAuth_Grpc{ + Grpc: proto.Clone(m.GetGrpc()).(*PassThroughGrpc), + } + } + + case *PassThroughAuth_Http: + + if h, ok := interface{}(m.GetHttp()).(clone.Cloner); ok { + target.Protocol = &PassThroughAuth_Http{ + Http: h.Clone().(*PassThroughHttp), + } + } else { + target.Protocol = &PassThroughAuth_Http{ + Http: proto.Clone(m.GetHttp()).(*PassThroughHttp), + } + } + + } + + return target +} + +// Clone function +func (m *PassThroughGrpc) Clone() proto.Message { + var target *PassThroughGrpc + if m == nil { + return target + } + target = &PassThroughGrpc{} + + target.Address = m.GetAddress() + + if h, ok := interface{}(m.GetConnectionTimeout()).(clone.Cloner); ok { + target.ConnectionTimeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.ConnectionTimeout = proto.Clone(m.GetConnectionTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if h, ok := interface{}(m.GetTlsConfig()).(clone.Cloner); ok { + target.TlsConfig = h.Clone().(*PassThroughGrpcTLSConfig) + } else { + target.TlsConfig = proto.Clone(m.GetTlsConfig()).(*PassThroughGrpcTLSConfig) + } + + return target +} + +// Clone function +func (m *PassThroughGrpcTLSConfig) Clone() proto.Message { + var target *PassThroughGrpcTLSConfig + if m == nil { + return target + } + target = &PassThroughGrpcTLSConfig{} + + return target +} + +// Clone function +func (m *PassThroughHttp) Clone() proto.Message { + var target *PassThroughHttp + if m == nil { + return target + } + target = &PassThroughHttp{} + + target.Url = m.GetUrl() + + if h, ok := interface{}(m.GetRequest()).(clone.Cloner); ok { + target.Request = h.Clone().(*PassThroughHttp_Request) + } else { + target.Request = proto.Clone(m.GetRequest()).(*PassThroughHttp_Request) + } + + if h, ok := interface{}(m.GetResponse()).(clone.Cloner); ok { + target.Response = h.Clone().(*PassThroughHttp_Response) + } else { + target.Response = proto.Clone(m.GetResponse()).(*PassThroughHttp_Response) + } + + if h, ok := interface{}(m.GetConnectionTimeout()).(clone.Cloner); ok { + target.ConnectionTimeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.ConnectionTimeout = proto.Clone(m.GetConnectionTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + return target +} + +// Clone function +func (m *ExtAuthConfig) Clone() proto.Message { + var target *ExtAuthConfig + if m == nil { + return target + } + target = &ExtAuthConfig{} + + target.AuthConfigRefName = m.GetAuthConfigRefName() + + if m.GetConfigs() != nil { + target.Configs = make([]*ExtAuthConfig_Config, len(m.GetConfigs())) + for idx, v := range m.GetConfigs() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Configs[idx] = h.Clone().(*ExtAuthConfig_Config) + } else { + target.Configs[idx] = proto.Clone(v).(*ExtAuthConfig_Config) + } + + } + } + + if h, ok := interface{}(m.GetBooleanExpr()).(clone.Cloner); ok { + target.BooleanExpr = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.BooleanExpr = proto.Clone(m.GetBooleanExpr()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + target.FailOnRedirect = m.GetFailOnRedirect() + + return target +} + +// Clone function +func (m *ApiKeyCreateRequest) Clone() proto.Message { + var target *ApiKeyCreateRequest + if m == nil { + return target + } + target = &ApiKeyCreateRequest{} + + if m.GetApiKeys() != nil { + target.ApiKeys = make([]*ApiKey, len(m.GetApiKeys())) + for idx, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApiKeys[idx] = h.Clone().(*ApiKey) + } else { + target.ApiKeys[idx] = proto.Clone(v).(*ApiKey) + } + + } + } + + if m.GetRawApiKeys() != nil { + target.RawApiKeys = make([]string, len(m.GetRawApiKeys())) + for idx, v := range m.GetRawApiKeys() { + + target.RawApiKeys[idx] = v + + } + } + + return target +} + +// Clone function +func (m *ApiKeyCreateResponse) Clone() proto.Message { + var target *ApiKeyCreateResponse + if m == nil { + return target + } + target = &ApiKeyCreateResponse{} + + if m.GetApiKeys() != nil { + target.ApiKeys = make([]*ApiKey, len(m.GetApiKeys())) + for idx, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApiKeys[idx] = h.Clone().(*ApiKey) + } else { + target.ApiKeys[idx] = proto.Clone(v).(*ApiKey) + } + + } + } + + return target +} + +// Clone function +func (m *ApiKeyReadRequest) Clone() proto.Message { + var target *ApiKeyReadRequest + if m == nil { + return target + } + target = &ApiKeyReadRequest{} + + if m.GetRawApiKeys() != nil { + target.RawApiKeys = make([]string, len(m.GetRawApiKeys())) + for idx, v := range m.GetRawApiKeys() { + + target.RawApiKeys[idx] = v + + } + } + + if m.GetLabels() != nil { + target.Labels = make([]string, len(m.GetLabels())) + for idx, v := range m.GetLabels() { + + target.Labels[idx] = v + + } + } + + return target +} + +// Clone function +func (m *ApiKeyReadResponse) Clone() proto.Message { + var target *ApiKeyReadResponse + if m == nil { + return target + } + target = &ApiKeyReadResponse{} + + if m.GetApiKeys() != nil { + target.ApiKeys = make([]*ApiKey, len(m.GetApiKeys())) + for idx, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApiKeys[idx] = h.Clone().(*ApiKey) + } else { + target.ApiKeys[idx] = proto.Clone(v).(*ApiKey) + } + + } + } + + return target +} + +// Clone function +func (m *ApiKeyUpdateRequest) Clone() proto.Message { + var target *ApiKeyUpdateRequest + if m == nil { + return target + } + target = &ApiKeyUpdateRequest{} + + target.Upsert = m.GetUpsert() + + if m.GetApiKeys() != nil { + target.ApiKeys = make([]*ApiKey, len(m.GetApiKeys())) + for idx, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApiKeys[idx] = h.Clone().(*ApiKey) + } else { + target.ApiKeys[idx] = proto.Clone(v).(*ApiKey) + } + + } + } + + if m.GetRawApiKeys() != nil { + target.RawApiKeys = make([]string, len(m.GetRawApiKeys())) + for idx, v := range m.GetRawApiKeys() { + + target.RawApiKeys[idx] = v + + } + } + + return target +} + +// Clone function +func (m *ApiKeyUpdateResponse) Clone() proto.Message { + var target *ApiKeyUpdateResponse + if m == nil { + return target + } + target = &ApiKeyUpdateResponse{} + + if m.GetApiKeys() != nil { + target.ApiKeys = make([]*ApiKey, len(m.GetApiKeys())) + for idx, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApiKeys[idx] = h.Clone().(*ApiKey) + } else { + target.ApiKeys[idx] = proto.Clone(v).(*ApiKey) + } + + } + } + + return target +} + +// Clone function +func (m *ApiKeyDeleteRequest) Clone() proto.Message { + var target *ApiKeyDeleteRequest + if m == nil { + return target + } + target = &ApiKeyDeleteRequest{} + + if m.GetRawApiKeys() != nil { + target.RawApiKeys = make([]string, len(m.GetRawApiKeys())) + for idx, v := range m.GetRawApiKeys() { + + target.RawApiKeys[idx] = v + + } + } + + if m.GetLabels() != nil { + target.Labels = make([]string, len(m.GetLabels())) + for idx, v := range m.GetLabels() { + + target.Labels[idx] = v + + } + } + + return target +} + +// Clone function +func (m *ApiKeyDeleteResponse) Clone() proto.Message { + var target *ApiKeyDeleteResponse + if m == nil { + return target + } + target = &ApiKeyDeleteResponse{} + + return target +} + +// Clone function +func (m *AuthConfigStatus) Clone() proto.Message { + var target *AuthConfigStatus + if m == nil { + return target + } + target = &AuthConfigStatus{} + + target.State = m.GetState() + + target.Reason = m.GetReason() + + target.ReportedBy = m.GetReportedBy() + + if m.GetSubresourceStatuses() != nil { + target.SubresourceStatuses = make(map[string]*AuthConfigStatus, len(m.GetSubresourceStatuses())) + for k, v := range m.GetSubresourceStatuses() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SubresourceStatuses[k] = h.Clone().(*AuthConfigStatus) + } else { + target.SubresourceStatuses[k] = proto.Clone(v).(*AuthConfigStatus) + } + + } + } + + if h, ok := interface{}(m.GetDetails()).(clone.Cloner); ok { + target.Details = h.Clone().(*github_com_golang_protobuf_ptypes_struct.Struct) + } else { + target.Details = proto.Clone(m.GetDetails()).(*github_com_golang_protobuf_ptypes_struct.Struct) + } + + return target +} + +// Clone function +func (m *AuthConfigNamespacedStatuses) Clone() proto.Message { + var target *AuthConfigNamespacedStatuses + if m == nil { + return target + } + target = &AuthConfigNamespacedStatuses{} + + if m.GetStatuses() != nil { + target.Statuses = make(map[string]*AuthConfigStatus, len(m.GetStatuses())) + for k, v := range m.GetStatuses() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Statuses[k] = h.Clone().(*AuthConfigStatus) + } else { + target.Statuses[k] = proto.Clone(v).(*AuthConfigStatus) + } + + } + } + + return target +} + +// Clone function +func (m *AuthConfigSpec_Config) Clone() proto.Message { + var target *AuthConfigSpec_Config + if m == nil { + return target + } + target = &AuthConfigSpec_Config{} + + if h, ok := interface{}(m.GetName()).(clone.Cloner); ok { + target.Name = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.Name = proto.Clone(m.GetName()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + switch m.AuthConfig.(type) { + + case *AuthConfigSpec_Config_BasicAuth: + + if h, ok := interface{}(m.GetBasicAuth()).(clone.Cloner); ok { + target.AuthConfig = &AuthConfigSpec_Config_BasicAuth{ + BasicAuth: h.Clone().(*BasicAuth), + } + } else { + target.AuthConfig = &AuthConfigSpec_Config_BasicAuth{ + BasicAuth: proto.Clone(m.GetBasicAuth()).(*BasicAuth), + } + } + + case *AuthConfigSpec_Config_Oauth: + + if h, ok := interface{}(m.GetOauth()).(clone.Cloner); ok { + target.AuthConfig = &AuthConfigSpec_Config_Oauth{ + Oauth: h.Clone().(*OAuth), + } + } else { + target.AuthConfig = &AuthConfigSpec_Config_Oauth{ + Oauth: proto.Clone(m.GetOauth()).(*OAuth), + } + } + + case *AuthConfigSpec_Config_Oauth2: + + if h, ok := interface{}(m.GetOauth2()).(clone.Cloner); ok { + target.AuthConfig = &AuthConfigSpec_Config_Oauth2{ + Oauth2: h.Clone().(*OAuth2), + } + } else { + target.AuthConfig = &AuthConfigSpec_Config_Oauth2{ + Oauth2: proto.Clone(m.GetOauth2()).(*OAuth2), + } + } + + case *AuthConfigSpec_Config_ApiKeyAuth: + + if h, ok := interface{}(m.GetApiKeyAuth()).(clone.Cloner); ok { + target.AuthConfig = &AuthConfigSpec_Config_ApiKeyAuth{ + ApiKeyAuth: h.Clone().(*ApiKeyAuth), + } + } else { + target.AuthConfig = &AuthConfigSpec_Config_ApiKeyAuth{ + ApiKeyAuth: proto.Clone(m.GetApiKeyAuth()).(*ApiKeyAuth), + } + } + + case *AuthConfigSpec_Config_PluginAuth: + + if h, ok := interface{}(m.GetPluginAuth()).(clone.Cloner); ok { + target.AuthConfig = &AuthConfigSpec_Config_PluginAuth{ + PluginAuth: h.Clone().(*AuthPlugin), + } + } else { + target.AuthConfig = &AuthConfigSpec_Config_PluginAuth{ + PluginAuth: proto.Clone(m.GetPluginAuth()).(*AuthPlugin), + } + } + + case *AuthConfigSpec_Config_OpaAuth: + + if h, ok := interface{}(m.GetOpaAuth()).(clone.Cloner); ok { + target.AuthConfig = &AuthConfigSpec_Config_OpaAuth{ + OpaAuth: h.Clone().(*OpaAuth), + } + } else { + target.AuthConfig = &AuthConfigSpec_Config_OpaAuth{ + OpaAuth: proto.Clone(m.GetOpaAuth()).(*OpaAuth), + } + } + + case *AuthConfigSpec_Config_Ldap: + + if h, ok := interface{}(m.GetLdap()).(clone.Cloner); ok { + target.AuthConfig = &AuthConfigSpec_Config_Ldap{ + Ldap: h.Clone().(*Ldap), + } + } else { + target.AuthConfig = &AuthConfigSpec_Config_Ldap{ + Ldap: proto.Clone(m.GetLdap()).(*Ldap), + } + } + + case *AuthConfigSpec_Config_Jwt: + + if h, ok := interface{}(m.GetJwt()).(clone.Cloner); ok { + target.AuthConfig = &AuthConfigSpec_Config_Jwt{ + Jwt: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.AuthConfig = &AuthConfigSpec_Config_Jwt{ + Jwt: proto.Clone(m.GetJwt()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + case *AuthConfigSpec_Config_PassThroughAuth: + + if h, ok := interface{}(m.GetPassThroughAuth()).(clone.Cloner); ok { + target.AuthConfig = &AuthConfigSpec_Config_PassThroughAuth{ + PassThroughAuth: h.Clone().(*PassThroughAuth), + } + } else { + target.AuthConfig = &AuthConfigSpec_Config_PassThroughAuth{ + PassThroughAuth: proto.Clone(m.GetPassThroughAuth()).(*PassThroughAuth), + } + } + + case *AuthConfigSpec_Config_HmacAuth: + + if h, ok := interface{}(m.GetHmacAuth()).(clone.Cloner); ok { + target.AuthConfig = &AuthConfigSpec_Config_HmacAuth{ + HmacAuth: h.Clone().(*HmacAuth), + } + } else { + target.AuthConfig = &AuthConfigSpec_Config_HmacAuth{ + HmacAuth: proto.Clone(m.GetHmacAuth()).(*HmacAuth), + } + } + + case *AuthConfigSpec_Config_OpaServerAuth: + + if h, ok := interface{}(m.GetOpaServerAuth()).(clone.Cloner); ok { + target.AuthConfig = &AuthConfigSpec_Config_OpaServerAuth{ + OpaServerAuth: h.Clone().(*OpaServerAuth), + } + } else { + target.AuthConfig = &AuthConfigSpec_Config_OpaServerAuth{ + OpaServerAuth: proto.Clone(m.GetOpaServerAuth()).(*OpaServerAuth), + } + } + + } + + return target +} + +// Clone function +func (m *HttpService_Request) Clone() proto.Message { + var target *HttpService_Request + if m == nil { + return target + } + target = &HttpService_Request{} + + if m.GetAllowedHeaders() != nil { + target.AllowedHeaders = make([]string, len(m.GetAllowedHeaders())) + for idx, v := range m.GetAllowedHeaders() { + + target.AllowedHeaders[idx] = v + + } + } + + if m.GetHeadersToAdd() != nil { + target.HeadersToAdd = make(map[string]string, len(m.GetHeadersToAdd())) + for k, v := range m.GetHeadersToAdd() { + + target.HeadersToAdd[k] = v + + } + } + + if m.GetAllowedHeadersRegex() != nil { + target.AllowedHeadersRegex = make([]string, len(m.GetAllowedHeadersRegex())) + for idx, v := range m.GetAllowedHeadersRegex() { + + target.AllowedHeadersRegex[idx] = v + + } + } + + return target +} + +// Clone function +func (m *HttpService_Response) Clone() proto.Message { + var target *HttpService_Response + if m == nil { + return target + } + target = &HttpService_Response{} + + if m.GetAllowedUpstreamHeaders() != nil { + target.AllowedUpstreamHeaders = make([]string, len(m.GetAllowedUpstreamHeaders())) + for idx, v := range m.GetAllowedUpstreamHeaders() { + + target.AllowedUpstreamHeaders[idx] = v + + } + } + + if m.GetAllowedClientHeaders() != nil { + target.AllowedClientHeaders = make([]string, len(m.GetAllowedClientHeaders())) + for idx, v := range m.GetAllowedClientHeaders() { + + target.AllowedClientHeaders[idx] = v + + } + } + + if m.GetAllowedUpstreamHeadersToAppend() != nil { + target.AllowedUpstreamHeadersToAppend = make([]string, len(m.GetAllowedUpstreamHeadersToAppend())) + for idx, v := range m.GetAllowedUpstreamHeadersToAppend() { + + target.AllowedUpstreamHeadersToAppend[idx] = v + + } + } + + return target +} + +// Clone function +func (m *BasicAuth_Apr) Clone() proto.Message { + var target *BasicAuth_Apr + if m == nil { + return target + } + target = &BasicAuth_Apr{} + + if m.GetUsers() != nil { + target.Users = make(map[string]*BasicAuth_Apr_SaltedHashedPassword, len(m.GetUsers())) + for k, v := range m.GetUsers() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Users[k] = h.Clone().(*BasicAuth_Apr_SaltedHashedPassword) + } else { + target.Users[k] = proto.Clone(v).(*BasicAuth_Apr_SaltedHashedPassword) + } + + } + } + + return target +} + +// Clone function +func (m *BasicAuth_EncryptionType) Clone() proto.Message { + var target *BasicAuth_EncryptionType + if m == nil { + return target + } + target = &BasicAuth_EncryptionType{} + + switch m.Algorithm.(type) { + + case *BasicAuth_EncryptionType_Apr_: + + if h, ok := interface{}(m.GetApr()).(clone.Cloner); ok { + target.Algorithm = &BasicAuth_EncryptionType_Apr_{ + Apr: h.Clone().(*BasicAuth_EncryptionType_Apr), + } + } else { + target.Algorithm = &BasicAuth_EncryptionType_Apr_{ + Apr: proto.Clone(m.GetApr()).(*BasicAuth_EncryptionType_Apr), + } + } + + case *BasicAuth_EncryptionType_Sha1_: + + if h, ok := interface{}(m.GetSha1()).(clone.Cloner); ok { + target.Algorithm = &BasicAuth_EncryptionType_Sha1_{ + Sha1: h.Clone().(*BasicAuth_EncryptionType_Sha1), + } + } else { + target.Algorithm = &BasicAuth_EncryptionType_Sha1_{ + Sha1: proto.Clone(m.GetSha1()).(*BasicAuth_EncryptionType_Sha1), + } + } + + } + + return target +} + +// Clone function +func (m *BasicAuth_User) Clone() proto.Message { + var target *BasicAuth_User + if m == nil { + return target + } + target = &BasicAuth_User{} + + target.Salt = m.GetSalt() + + target.HashedPassword = m.GetHashedPassword() + + return target +} + +// Clone function +func (m *BasicAuth_UserList) Clone() proto.Message { + var target *BasicAuth_UserList + if m == nil { + return target + } + target = &BasicAuth_UserList{} + + if m.GetUsers() != nil { + target.Users = make(map[string]*BasicAuth_User, len(m.GetUsers())) + for k, v := range m.GetUsers() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Users[k] = h.Clone().(*BasicAuth_User) + } else { + target.Users[k] = proto.Clone(v).(*BasicAuth_User) + } + + } + } + + return target +} + +// Clone function +func (m *BasicAuth_Apr_SaltedHashedPassword) Clone() proto.Message { + var target *BasicAuth_Apr_SaltedHashedPassword + if m == nil { + return target + } + target = &BasicAuth_Apr_SaltedHashedPassword{} + + target.Salt = m.GetSalt() + + target.HashedPassword = m.GetHashedPassword() + + return target +} + +// Clone function +func (m *BasicAuth_EncryptionType_Sha1) Clone() proto.Message { + var target *BasicAuth_EncryptionType_Sha1 + if m == nil { + return target + } + target = &BasicAuth_EncryptionType_Sha1{} + + return target +} + +// Clone function +func (m *BasicAuth_EncryptionType_Apr) Clone() proto.Message { + var target *BasicAuth_EncryptionType_Apr + if m == nil { + return target + } + target = &BasicAuth_EncryptionType_Apr{} + + return target +} + +// Clone function +func (m *UserSession_InternalSession) Clone() proto.Message { + var target *UserSession_InternalSession + if m == nil { + return target + } + target = &UserSession_InternalSession{} + + if h, ok := interface{}(m.GetAllowRefreshing()).(clone.Cloner); ok { + target.AllowRefreshing = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.AllowRefreshing = proto.Clone(m.GetAllowRefreshing()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + target.KeyPrefix = m.GetKeyPrefix() + + target.TargetDomain = m.GetTargetDomain() + + return target +} + +// Clone function +func (m *UserSession_RedisSession) Clone() proto.Message { + var target *UserSession_RedisSession + if m == nil { + return target + } + target = &UserSession_RedisSession{} + + if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { + target.Options = h.Clone().(*RedisOptions) + } else { + target.Options = proto.Clone(m.GetOptions()).(*RedisOptions) + } + + target.KeyPrefix = m.GetKeyPrefix() + + target.CookieName = m.GetCookieName() + + if h, ok := interface{}(m.GetAllowRefreshing()).(clone.Cloner); ok { + target.AllowRefreshing = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.AllowRefreshing = proto.Clone(m.GetAllowRefreshing()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + if h, ok := interface{}(m.GetPreExpiryBuffer()).(clone.Cloner); ok { + target.PreExpiryBuffer = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.PreExpiryBuffer = proto.Clone(m.GetPreExpiryBuffer()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + target.TargetDomain = m.GetTargetDomain() + + target.HeaderName = m.GetHeaderName() + + return target +} + +// Clone function +func (m *UserSession_CookieOptions) Clone() proto.Message { + var target *UserSession_CookieOptions + if m == nil { + return target + } + target = &UserSession_CookieOptions{} + + if h, ok := interface{}(m.GetMaxAge()).(clone.Cloner); ok { + target.MaxAge = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.MaxAge = proto.Clone(m.GetMaxAge()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + target.NotSecure = m.GetNotSecure() + + if h, ok := interface{}(m.GetHttpOnly()).(clone.Cloner); ok { + target.HttpOnly = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.HttpOnly = proto.Clone(m.GetHttpOnly()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + if h, ok := interface{}(m.GetPath()).(clone.Cloner); ok { + target.Path = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.Path = proto.Clone(m.GetPath()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + target.SameSite = m.GetSameSite() + + target.Domain = m.GetDomain() + + return target +} + +// Clone function +func (m *UserSession_CipherConfig) Clone() proto.Message { + var target *UserSession_CipherConfig + if m == nil { + return target + } + target = &UserSession_CipherConfig{} + + switch m.Key.(type) { + + case *UserSession_CipherConfig_KeyRef: + + if h, ok := interface{}(m.GetKeyRef()).(clone.Cloner); ok { + target.Key = &UserSession_CipherConfig_KeyRef{ + KeyRef: h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef), + } + } else { + target.Key = &UserSession_CipherConfig_KeyRef{ + KeyRef: proto.Clone(m.GetKeyRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef), + } + } + + } + + return target +} + +// Clone function +func (m *OidcAuthorizationCode_AccessToken) Clone() proto.Message { + var target *OidcAuthorizationCode_AccessToken + if m == nil { + return target + } + target = &OidcAuthorizationCode_AccessToken{} + + if m.GetClaimsToHeaders() != nil { + target.ClaimsToHeaders = make([]*ClaimToHeader, len(m.GetClaimsToHeaders())) + for idx, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ClaimsToHeaders[idx] = h.Clone().(*ClaimToHeader) + } else { + target.ClaimsToHeaders[idx] = proto.Clone(v).(*ClaimToHeader) + } + + } + } + + return target +} + +// Clone function +func (m *OidcAuthorizationCode_IdentityToken) Clone() proto.Message { + var target *OidcAuthorizationCode_IdentityToken + if m == nil { + return target + } + target = &OidcAuthorizationCode_IdentityToken{} + + if m.GetClaimsToHeaders() != nil { + target.ClaimsToHeaders = make([]*ClaimToHeader, len(m.GetClaimsToHeaders())) + for idx, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ClaimsToHeaders[idx] = h.Clone().(*ClaimToHeader) + } else { + target.ClaimsToHeaders[idx] = proto.Clone(v).(*ClaimToHeader) + } + + } + } + + return target +} + +// Clone function +func (m *OidcAuthorizationCode_ClientAuthentication) Clone() proto.Message { + var target *OidcAuthorizationCode_ClientAuthentication + if m == nil { + return target + } + target = &OidcAuthorizationCode_ClientAuthentication{} + + switch m.ClientAuthenticationConfig.(type) { + + case *OidcAuthorizationCode_ClientAuthentication_ClientSecret_: + + if h, ok := interface{}(m.GetClientSecret()).(clone.Cloner); ok { + target.ClientAuthenticationConfig = &OidcAuthorizationCode_ClientAuthentication_ClientSecret_{ + ClientSecret: h.Clone().(*OidcAuthorizationCode_ClientAuthentication_ClientSecret), + } + } else { + target.ClientAuthenticationConfig = &OidcAuthorizationCode_ClientAuthentication_ClientSecret_{ + ClientSecret: proto.Clone(m.GetClientSecret()).(*OidcAuthorizationCode_ClientAuthentication_ClientSecret), + } + } + + case *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt_: + + if h, ok := interface{}(m.GetPrivateKeyJwt()).(clone.Cloner); ok { + target.ClientAuthenticationConfig = &OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt_{ + PrivateKeyJwt: h.Clone().(*OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt), + } + } else { + target.ClientAuthenticationConfig = &OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt_{ + PrivateKeyJwt: proto.Clone(m.GetPrivateKeyJwt()).(*OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt), + } + } + + } + + return target +} + +// Clone function +func (m *OidcAuthorizationCode_Default) Clone() proto.Message { + var target *OidcAuthorizationCode_Default + if m == nil { + return target + } + target = &OidcAuthorizationCode_Default{} + + return target +} + +// Clone function +func (m *OidcAuthorizationCode_Azure) Clone() proto.Message { + var target *OidcAuthorizationCode_Azure + if m == nil { + return target + } + target = &OidcAuthorizationCode_Azure{} + + target.ClientId = m.GetClientId() + + target.TenantId = m.GetTenantId() + + if h, ok := interface{}(m.GetClientSecret()).(clone.Cloner); ok { + target.ClientSecret = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.ClientSecret = proto.Clone(m.GetClientSecret()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + if h, ok := interface{}(m.GetClaimsCachingOptions()).(clone.Cloner); ok { + target.ClaimsCachingOptions = h.Clone().(*RedisOptions) + } else { + target.ClaimsCachingOptions = proto.Clone(m.GetClaimsCachingOptions()).(*RedisOptions) + } + + return target +} + +// Clone function +func (m *OidcAuthorizationCode_ClientAuthentication_ClientSecret) Clone() proto.Message { + var target *OidcAuthorizationCode_ClientAuthentication_ClientSecret + if m == nil { + return target + } + target = &OidcAuthorizationCode_ClientAuthentication_ClientSecret{} + + if h, ok := interface{}(m.GetClientSecretRef()).(clone.Cloner); ok { + target.ClientSecretRef = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.ClientSecretRef = proto.Clone(m.GetClientSecretRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + if h, ok := interface{}(m.GetDisableClientSecret()).(clone.Cloner); ok { + target.DisableClientSecret = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.DisableClientSecret = proto.Clone(m.GetDisableClientSecret()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + return target +} + +// Clone function +func (m *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt) Clone() proto.Message { + var target *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt + if m == nil { + return target + } + target = &OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt{} + + if h, ok := interface{}(m.GetSigningKeyRef()).(clone.Cloner); ok { + target.SigningKeyRef = h.Clone().(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } else { + target.SigningKeyRef = proto.Clone(m.GetSigningKeyRef()).(*github_com_solo_io_solo_kit_pkg_api_v1_resources_core.ResourceRef) + } + + if h, ok := interface{}(m.GetValidFor()).(clone.Cloner); ok { + target.ValidFor = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.ValidFor = proto.Clone(m.GetValidFor()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + return target +} + +// Clone function +func (m *JwtValidation_RemoteJwks) Clone() proto.Message { + var target *JwtValidation_RemoteJwks + if m == nil { + return target + } + target = &JwtValidation_RemoteJwks{} + + target.Url = m.GetUrl() + + if h, ok := interface{}(m.GetRefreshInterval()).(clone.Cloner); ok { + target.RefreshInterval = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.RefreshInterval = proto.Clone(m.GetRefreshInterval()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + return target +} + +// Clone function +func (m *JwtValidation_LocalJwks) Clone() proto.Message { + var target *JwtValidation_LocalJwks + if m == nil { + return target + } + target = &JwtValidation_LocalJwks{} + + target.InlineString = m.GetInlineString() + + return target +} + +// Clone function +func (m *AccessTokenValidation_ScopeList) Clone() proto.Message { + var target *AccessTokenValidation_ScopeList + if m == nil { + return target + } + target = &AccessTokenValidation_ScopeList{} + + if m.GetScope() != nil { + target.Scope = make([]string, len(m.GetScope())) + for idx, v := range m.GetScope() { + + target.Scope[idx] = v + + } + } + + return target +} + +// Clone function +func (m *ApiKeyAuth_SecretKey) Clone() proto.Message { + var target *ApiKeyAuth_SecretKey + if m == nil { + return target + } + target = &ApiKeyAuth_SecretKey{} + + target.Name = m.GetName() + + target.Required = m.GetRequired() + + return target +} + +// Clone function +func (m *ApiKeyAuth_MetadataEntry) Clone() proto.Message { + var target *ApiKeyAuth_MetadataEntry + if m == nil { + return target + } + target = &ApiKeyAuth_MetadataEntry{} + + target.Name = m.GetName() + + target.Required = m.GetRequired() + + return target +} + +// Clone function +func (m *AerospikeApiKeyStorageReadModeSc) Clone() proto.Message { + var target *AerospikeApiKeyStorageReadModeSc + if m == nil { + return target + } + target = &AerospikeApiKeyStorageReadModeSc{} + + switch m.ReadModeSc.(type) { + + case *AerospikeApiKeyStorageReadModeSc_ReadModeScSession: + + target.ReadModeSc = &AerospikeApiKeyStorageReadModeSc_ReadModeScSession{ + ReadModeScSession: m.GetReadModeScSession(), + } + + case *AerospikeApiKeyStorageReadModeSc_ReadModeScLinearize: + + target.ReadModeSc = &AerospikeApiKeyStorageReadModeSc_ReadModeScLinearize{ + ReadModeScLinearize: m.GetReadModeScLinearize(), + } + + case *AerospikeApiKeyStorageReadModeSc_ReadModeScReplica: + + target.ReadModeSc = &AerospikeApiKeyStorageReadModeSc_ReadModeScReplica{ + ReadModeScReplica: m.GetReadModeScReplica(), + } + + case *AerospikeApiKeyStorageReadModeSc_ReadModeScAllowUnavailable: + + target.ReadModeSc = &AerospikeApiKeyStorageReadModeSc_ReadModeScAllowUnavailable{ + ReadModeScAllowUnavailable: m.GetReadModeScAllowUnavailable(), + } + + } + + return target +} + +// Clone function +func (m *AerospikeApiKeyStorageReadModeAp) Clone() proto.Message { + var target *AerospikeApiKeyStorageReadModeAp + if m == nil { + return target + } + target = &AerospikeApiKeyStorageReadModeAp{} + + switch m.ReadModeAp.(type) { + + case *AerospikeApiKeyStorageReadModeAp_ReadModeApOne: + + target.ReadModeAp = &AerospikeApiKeyStorageReadModeAp_ReadModeApOne{ + ReadModeApOne: m.GetReadModeApOne(), + } + + case *AerospikeApiKeyStorageReadModeAp_ReadModeApAll: + + target.ReadModeAp = &AerospikeApiKeyStorageReadModeAp_ReadModeApAll{ + ReadModeApAll: m.GetReadModeApAll(), + } + + } + + return target +} + +// Clone function +func (m *AerospikeApiKeyStorageTlsCurveID) Clone() proto.Message { + var target *AerospikeApiKeyStorageTlsCurveID + if m == nil { + return target + } + target = &AerospikeApiKeyStorageTlsCurveID{} + + switch m.CurveId.(type) { + + case *AerospikeApiKeyStorageTlsCurveID_CurveP256: + + target.CurveId = &AerospikeApiKeyStorageTlsCurveID_CurveP256{ + CurveP256: m.GetCurveP256(), + } + + case *AerospikeApiKeyStorageTlsCurveID_CurveP384: + + target.CurveId = &AerospikeApiKeyStorageTlsCurveID_CurveP384{ + CurveP384: m.GetCurveP384(), + } + + case *AerospikeApiKeyStorageTlsCurveID_CurveP521: + + target.CurveId = &AerospikeApiKeyStorageTlsCurveID_CurveP521{ + CurveP521: m.GetCurveP521(), + } + + case *AerospikeApiKeyStorageTlsCurveID_X_25519: + + target.CurveId = &AerospikeApiKeyStorageTlsCurveID_X_25519{ + X_25519: m.GetX_25519(), + } + + } + + return target +} + +// Clone function +func (m *Ldap_ConnectionPool) Clone() proto.Message { + var target *Ldap_ConnectionPool + if m == nil { + return target + } + target = &Ldap_ConnectionPool{} + + if h, ok := interface{}(m.GetMaxSize()).(clone.Cloner); ok { + target.MaxSize = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.MaxSize = proto.Clone(m.GetMaxSize()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + if h, ok := interface{}(m.GetInitialSize()).(clone.Cloner); ok { + target.InitialSize = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.InitialSize = proto.Clone(m.GetInitialSize()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + return target +} + +// Clone function +func (m *PassThroughHttp_Request) Clone() proto.Message { + var target *PassThroughHttp_Request + if m == nil { + return target + } + target = &PassThroughHttp_Request{} + + if m.GetAllowedHeaders() != nil { + target.AllowedHeaders = make([]string, len(m.GetAllowedHeaders())) + for idx, v := range m.GetAllowedHeaders() { + + target.AllowedHeaders[idx] = v + + } + } + + if m.GetHeadersToAdd() != nil { + target.HeadersToAdd = make(map[string]string, len(m.GetHeadersToAdd())) + for k, v := range m.GetHeadersToAdd() { + + target.HeadersToAdd[k] = v + + } + } + + target.PassThroughState = m.GetPassThroughState() + + target.PassThroughFilterMetadata = m.GetPassThroughFilterMetadata() + + target.PassThroughBody = m.GetPassThroughBody() + + return target +} + +// Clone function +func (m *PassThroughHttp_Response) Clone() proto.Message { + var target *PassThroughHttp_Response + if m == nil { + return target + } + target = &PassThroughHttp_Response{} + + if m.GetAllowedUpstreamHeaders() != nil { + target.AllowedUpstreamHeaders = make([]string, len(m.GetAllowedUpstreamHeaders())) + for idx, v := range m.GetAllowedUpstreamHeaders() { + + target.AllowedUpstreamHeaders[idx] = v + + } + } + + if m.GetAllowedClientHeadersOnDenied() != nil { + target.AllowedClientHeadersOnDenied = make([]string, len(m.GetAllowedClientHeadersOnDenied())) + for idx, v := range m.GetAllowedClientHeadersOnDenied() { + + target.AllowedClientHeadersOnDenied[idx] = v + + } + } + + target.ReadStateFromResponse = m.GetReadStateFromResponse() + + if m.GetAllowedUpstreamHeadersToOverwrite() != nil { + target.AllowedUpstreamHeadersToOverwrite = make([]string, len(m.GetAllowedUpstreamHeadersToOverwrite())) + for idx, v := range m.GetAllowedUpstreamHeadersToOverwrite() { + + target.AllowedUpstreamHeadersToOverwrite[idx] = v + + } + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_BasicAuthInternal) Clone() proto.Message { + var target *ExtAuthConfig_BasicAuthInternal + if m == nil { + return target + } + target = &ExtAuthConfig_BasicAuthInternal{} + + target.Realm = m.GetRealm() + + if h, ok := interface{}(m.GetEncryption()).(clone.Cloner); ok { + target.Encryption = h.Clone().(*ExtAuthConfig_BasicAuthInternal_EncryptionType) + } else { + target.Encryption = proto.Clone(m.GetEncryption()).(*ExtAuthConfig_BasicAuthInternal_EncryptionType) + } + + switch m.UserSource.(type) { + + case *ExtAuthConfig_BasicAuthInternal_UserList_: + + if h, ok := interface{}(m.GetUserList()).(clone.Cloner); ok { + target.UserSource = &ExtAuthConfig_BasicAuthInternal_UserList_{ + UserList: h.Clone().(*ExtAuthConfig_BasicAuthInternal_UserList), + } + } else { + target.UserSource = &ExtAuthConfig_BasicAuthInternal_UserList_{ + UserList: proto.Clone(m.GetUserList()).(*ExtAuthConfig_BasicAuthInternal_UserList), + } + } + + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_OAuthConfig) Clone() proto.Message { + var target *ExtAuthConfig_OAuthConfig + if m == nil { + return target + } + target = &ExtAuthConfig_OAuthConfig{} + + target.ClientId = m.GetClientId() + + target.ClientSecret = m.GetClientSecret() + + target.IssuerUrl = m.GetIssuerUrl() + + if m.GetAuthEndpointQueryParams() != nil { + target.AuthEndpointQueryParams = make(map[string]string, len(m.GetAuthEndpointQueryParams())) + for k, v := range m.GetAuthEndpointQueryParams() { + + target.AuthEndpointQueryParams[k] = v + + } + } + + target.AppUrl = m.GetAppUrl() + + target.CallbackPath = m.GetCallbackPath() + + if m.GetScopes() != nil { + target.Scopes = make([]string, len(m.GetScopes())) + for idx, v := range m.GetScopes() { + + target.Scopes[idx] = v + + } + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_UserSessionConfig) Clone() proto.Message { + var target *ExtAuthConfig_UserSessionConfig + if m == nil { + return target + } + target = &ExtAuthConfig_UserSessionConfig{} + + target.FailOnFetchFailure = m.GetFailOnFetchFailure() + + if h, ok := interface{}(m.GetCookieOptions()).(clone.Cloner); ok { + target.CookieOptions = h.Clone().(*UserSession_CookieOptions) + } else { + target.CookieOptions = proto.Clone(m.GetCookieOptions()).(*UserSession_CookieOptions) + } + + if h, ok := interface{}(m.GetCipherConfig()).(clone.Cloner); ok { + target.CipherConfig = h.Clone().(*ExtAuthConfig_UserSessionConfig_CipherConfig) + } else { + target.CipherConfig = proto.Clone(m.GetCipherConfig()).(*ExtAuthConfig_UserSessionConfig_CipherConfig) + } + + switch m.Session.(type) { + + case *ExtAuthConfig_UserSessionConfig_Cookie: + + if h, ok := interface{}(m.GetCookie()).(clone.Cloner); ok { + target.Session = &ExtAuthConfig_UserSessionConfig_Cookie{ + Cookie: h.Clone().(*UserSession_InternalSession), + } + } else { + target.Session = &ExtAuthConfig_UserSessionConfig_Cookie{ + Cookie: proto.Clone(m.GetCookie()).(*UserSession_InternalSession), + } + } + + case *ExtAuthConfig_UserSessionConfig_Redis: + + if h, ok := interface{}(m.GetRedis()).(clone.Cloner); ok { + target.Session = &ExtAuthConfig_UserSessionConfig_Redis{ + Redis: h.Clone().(*UserSession_RedisSession), + } + } else { + target.Session = &ExtAuthConfig_UserSessionConfig_Redis{ + Redis: proto.Clone(m.GetRedis()).(*UserSession_RedisSession), + } + } + + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig) Clone() proto.Message { + var target *ExtAuthConfig_OidcAuthorizationCodeConfig + if m == nil { + return target + } + target = &ExtAuthConfig_OidcAuthorizationCodeConfig{} + + target.ClientId = m.GetClientId() + + target.ClientSecret = m.GetClientSecret() + + target.IssuerUrl = m.GetIssuerUrl() + + if m.GetAuthEndpointQueryParams() != nil { + target.AuthEndpointQueryParams = make(map[string]string, len(m.GetAuthEndpointQueryParams())) + for k, v := range m.GetAuthEndpointQueryParams() { + + target.AuthEndpointQueryParams[k] = v + + } + } + + if m.GetTokenEndpointQueryParams() != nil { + target.TokenEndpointQueryParams = make(map[string]string, len(m.GetTokenEndpointQueryParams())) + for k, v := range m.GetTokenEndpointQueryParams() { + + target.TokenEndpointQueryParams[k] = v + + } + } + + target.AppUrl = m.GetAppUrl() + + target.CallbackPath = m.GetCallbackPath() + + target.LogoutPath = m.GetLogoutPath() + + target.AfterLogoutUrl = m.GetAfterLogoutUrl() + + if m.GetScopes() != nil { + target.Scopes = make([]string, len(m.GetScopes())) + for idx, v := range m.GetScopes() { + + target.Scopes[idx] = v + + } + } + + if h, ok := interface{}(m.GetSession()).(clone.Cloner); ok { + target.Session = h.Clone().(*UserSession) + } else { + target.Session = proto.Clone(m.GetSession()).(*UserSession) + } + + if h, ok := interface{}(m.GetHeaders()).(clone.Cloner); ok { + target.Headers = h.Clone().(*HeaderConfiguration) + } else { + target.Headers = proto.Clone(m.GetHeaders()).(*HeaderConfiguration) + } + + if h, ok := interface{}(m.GetDiscoveryOverride()).(clone.Cloner); ok { + target.DiscoveryOverride = h.Clone().(*DiscoveryOverride) + } else { + target.DiscoveryOverride = proto.Clone(m.GetDiscoveryOverride()).(*DiscoveryOverride) + } + + if h, ok := interface{}(m.GetDiscoveryPollInterval()).(clone.Cloner); ok { + target.DiscoveryPollInterval = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.DiscoveryPollInterval = proto.Clone(m.GetDiscoveryPollInterval()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if h, ok := interface{}(m.GetJwksCacheRefreshPolicy()).(clone.Cloner); ok { + target.JwksCacheRefreshPolicy = h.Clone().(*JwksOnDemandCacheRefreshPolicy) + } else { + target.JwksCacheRefreshPolicy = proto.Clone(m.GetJwksCacheRefreshPolicy()).(*JwksOnDemandCacheRefreshPolicy) + } + + target.SessionIdHeaderName = m.GetSessionIdHeaderName() + + target.ParseCallbackPathAsRegex = m.GetParseCallbackPathAsRegex() + + if h, ok := interface{}(m.GetAutoMapFromMetadata()).(clone.Cloner); ok { + target.AutoMapFromMetadata = h.Clone().(*AutoMapFromMetadata) + } else { + target.AutoMapFromMetadata = proto.Clone(m.GetAutoMapFromMetadata()).(*AutoMapFromMetadata) + } + + if h, ok := interface{}(m.GetEndSessionProperties()).(clone.Cloner); ok { + target.EndSessionProperties = h.Clone().(*EndSessionProperties) + } else { + target.EndSessionProperties = proto.Clone(m.GetEndSessionProperties()).(*EndSessionProperties) + } + + if h, ok := interface{}(m.GetUserSession()).(clone.Cloner); ok { + target.UserSession = h.Clone().(*ExtAuthConfig_UserSessionConfig) + } else { + target.UserSession = proto.Clone(m.GetUserSession()).(*ExtAuthConfig_UserSessionConfig) + } + + if h, ok := interface{}(m.GetPkJwtClientAuthenticationConfig()).(clone.Cloner); ok { + target.PkJwtClientAuthenticationConfig = h.Clone().(*ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) + } else { + target.PkJwtClientAuthenticationConfig = proto.Clone(m.GetPkJwtClientAuthenticationConfig()).(*ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) + } + + if h, ok := interface{}(m.GetAccessToken()).(clone.Cloner); ok { + target.AccessToken = h.Clone().(*ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) + } else { + target.AccessToken = proto.Clone(m.GetAccessToken()).(*ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) + } + + if h, ok := interface{}(m.GetIdentityToken()).(clone.Cloner); ok { + target.IdentityToken = h.Clone().(*ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) + } else { + target.IdentityToken = proto.Clone(m.GetIdentityToken()).(*ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) + } + + switch m.Provider.(type) { + + case *ExtAuthConfig_OidcAuthorizationCodeConfig_Default_: + + if h, ok := interface{}(m.GetDefault()).(clone.Cloner); ok { + target.Provider = &ExtAuthConfig_OidcAuthorizationCodeConfig_Default_{ + Default: h.Clone().(*ExtAuthConfig_OidcAuthorizationCodeConfig_Default), + } + } else { + target.Provider = &ExtAuthConfig_OidcAuthorizationCodeConfig_Default_{ + Default: proto.Clone(m.GetDefault()).(*ExtAuthConfig_OidcAuthorizationCodeConfig_Default), + } + } + + case *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure_: + + if h, ok := interface{}(m.GetAzure()).(clone.Cloner); ok { + target.Provider = &ExtAuthConfig_OidcAuthorizationCodeConfig_Azure_{ + Azure: h.Clone().(*ExtAuthConfig_OidcAuthorizationCodeConfig_Azure), + } + } else { + target.Provider = &ExtAuthConfig_OidcAuthorizationCodeConfig_Azure_{ + Azure: proto.Clone(m.GetAzure()).(*ExtAuthConfig_OidcAuthorizationCodeConfig_Azure), + } + } + + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_AccessTokenValidationConfig) Clone() proto.Message { + var target *ExtAuthConfig_AccessTokenValidationConfig + if m == nil { + return target + } + target = &ExtAuthConfig_AccessTokenValidationConfig{} + + target.UserinfoUrl = m.GetUserinfoUrl() + + if h, ok := interface{}(m.GetCacheTimeout()).(clone.Cloner); ok { + target.CacheTimeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.CacheTimeout = proto.Clone(m.GetCacheTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + switch m.ValidationType.(type) { + + case *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionUrl: + + target.ValidationType = &ExtAuthConfig_AccessTokenValidationConfig_IntrospectionUrl{ + IntrospectionUrl: m.GetIntrospectionUrl(), + } + + case *ExtAuthConfig_AccessTokenValidationConfig_Jwt: + + if h, ok := interface{}(m.GetJwt()).(clone.Cloner); ok { + target.ValidationType = &ExtAuthConfig_AccessTokenValidationConfig_Jwt{ + Jwt: h.Clone().(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation), + } + } else { + target.ValidationType = &ExtAuthConfig_AccessTokenValidationConfig_Jwt{ + Jwt: proto.Clone(m.GetJwt()).(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation), + } + } + + case *ExtAuthConfig_AccessTokenValidationConfig_Introspection: + + if h, ok := interface{}(m.GetIntrospection()).(clone.Cloner); ok { + target.ValidationType = &ExtAuthConfig_AccessTokenValidationConfig_Introspection{ + Introspection: h.Clone().(*ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation), + } + } else { + target.ValidationType = &ExtAuthConfig_AccessTokenValidationConfig_Introspection{ + Introspection: proto.Clone(m.GetIntrospection()).(*ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation), + } + } + + } + + switch m.ScopeValidation.(type) { + + case *ExtAuthConfig_AccessTokenValidationConfig_RequiredScopes: + + if h, ok := interface{}(m.GetRequiredScopes()).(clone.Cloner); ok { + target.ScopeValidation = &ExtAuthConfig_AccessTokenValidationConfig_RequiredScopes{ + RequiredScopes: h.Clone().(*ExtAuthConfig_AccessTokenValidationConfig_ScopeList), + } + } else { + target.ScopeValidation = &ExtAuthConfig_AccessTokenValidationConfig_RequiredScopes{ + RequiredScopes: proto.Clone(m.GetRequiredScopes()).(*ExtAuthConfig_AccessTokenValidationConfig_ScopeList), + } + } + + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_PlainOAuth2Config) Clone() proto.Message { + var target *ExtAuthConfig_PlainOAuth2Config + if m == nil { + return target + } + target = &ExtAuthConfig_PlainOAuth2Config{} + + target.ClientId = m.GetClientId() + + target.ClientSecret = m.GetClientSecret() + + if m.GetAuthEndpointQueryParams() != nil { + target.AuthEndpointQueryParams = make(map[string]string, len(m.GetAuthEndpointQueryParams())) + for k, v := range m.GetAuthEndpointQueryParams() { + + target.AuthEndpointQueryParams[k] = v + + } + } + + target.AppUrl = m.GetAppUrl() + + target.CallbackPath = m.GetCallbackPath() + + if m.GetScopes() != nil { + target.Scopes = make([]string, len(m.GetScopes())) + for idx, v := range m.GetScopes() { + + target.Scopes[idx] = v + + } + } + + if h, ok := interface{}(m.GetSession()).(clone.Cloner); ok { + target.Session = h.Clone().(*UserSession) + } else { + target.Session = proto.Clone(m.GetSession()).(*UserSession) + } + + target.LogoutPath = m.GetLogoutPath() + + if m.GetTokenEndpointQueryParams() != nil { + target.TokenEndpointQueryParams = make(map[string]string, len(m.GetTokenEndpointQueryParams())) + for k, v := range m.GetTokenEndpointQueryParams() { + + target.TokenEndpointQueryParams[k] = v + + } + } + + target.AfterLogoutUrl = m.GetAfterLogoutUrl() + + target.AuthEndpoint = m.GetAuthEndpoint() + + target.TokenEndpoint = m.GetTokenEndpoint() + + target.RevocationEndpoint = m.GetRevocationEndpoint() + + if h, ok := interface{}(m.GetUserSession()).(clone.Cloner); ok { + target.UserSession = h.Clone().(*ExtAuthConfig_UserSessionConfig) + } else { + target.UserSession = proto.Clone(m.GetUserSession()).(*ExtAuthConfig_UserSessionConfig) + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_OAuth2Config) Clone() proto.Message { + var target *ExtAuthConfig_OAuth2Config + if m == nil { + return target + } + target = &ExtAuthConfig_OAuth2Config{} + + switch m.OauthType.(type) { + + case *ExtAuthConfig_OAuth2Config_OidcAuthorizationCode: + + if h, ok := interface{}(m.GetOidcAuthorizationCode()).(clone.Cloner); ok { + target.OauthType = &ExtAuthConfig_OAuth2Config_OidcAuthorizationCode{ + OidcAuthorizationCode: h.Clone().(*ExtAuthConfig_OidcAuthorizationCodeConfig), + } + } else { + target.OauthType = &ExtAuthConfig_OAuth2Config_OidcAuthorizationCode{ + OidcAuthorizationCode: proto.Clone(m.GetOidcAuthorizationCode()).(*ExtAuthConfig_OidcAuthorizationCodeConfig), + } + } + + case *ExtAuthConfig_OAuth2Config_AccessTokenValidationConfig: + + if h, ok := interface{}(m.GetAccessTokenValidationConfig()).(clone.Cloner); ok { + target.OauthType = &ExtAuthConfig_OAuth2Config_AccessTokenValidationConfig{ + AccessTokenValidationConfig: h.Clone().(*ExtAuthConfig_AccessTokenValidationConfig), + } + } else { + target.OauthType = &ExtAuthConfig_OAuth2Config_AccessTokenValidationConfig{ + AccessTokenValidationConfig: proto.Clone(m.GetAccessTokenValidationConfig()).(*ExtAuthConfig_AccessTokenValidationConfig), + } + } + + case *ExtAuthConfig_OAuth2Config_Oauth2Config: + + if h, ok := interface{}(m.GetOauth2Config()).(clone.Cloner); ok { + target.OauthType = &ExtAuthConfig_OAuth2Config_Oauth2Config{ + Oauth2Config: h.Clone().(*ExtAuthConfig_PlainOAuth2Config), + } + } else { + target.OauthType = &ExtAuthConfig_OAuth2Config_Oauth2Config{ + Oauth2Config: proto.Clone(m.GetOauth2Config()).(*ExtAuthConfig_PlainOAuth2Config), + } + } + + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_ApiKeyAuthConfig) Clone() proto.Message { + var target *ExtAuthConfig_ApiKeyAuthConfig + if m == nil { + return target + } + target = &ExtAuthConfig_ApiKeyAuthConfig{} + + if m.GetValidApiKeys() != nil { + target.ValidApiKeys = make(map[string]*ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata, len(m.GetValidApiKeys())) + for k, v := range m.GetValidApiKeys() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ValidApiKeys[k] = h.Clone().(*ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) + } else { + target.ValidApiKeys[k] = proto.Clone(v).(*ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) + } + + } + } + + target.HeaderName = m.GetHeaderName() + + if m.GetHeadersFromKeyMetadata() != nil { + target.HeadersFromKeyMetadata = make(map[string]string, len(m.GetHeadersFromKeyMetadata())) + for k, v := range m.GetHeadersFromKeyMetadata() { + + target.HeadersFromKeyMetadata[k] = v + + } + } + + switch m.StorageBackend.(type) { + + case *ExtAuthConfig_ApiKeyAuthConfig_K8SSecretApikeyStorage: + + if h, ok := interface{}(m.GetK8SSecretApikeyStorage()).(clone.Cloner); ok { + target.StorageBackend = &ExtAuthConfig_ApiKeyAuthConfig_K8SSecretApikeyStorage{ + K8SSecretApikeyStorage: h.Clone().(*K8SSecretApiKeyStorage), + } + } else { + target.StorageBackend = &ExtAuthConfig_ApiKeyAuthConfig_K8SSecretApikeyStorage{ + K8SSecretApikeyStorage: proto.Clone(m.GetK8SSecretApikeyStorage()).(*K8SSecretApiKeyStorage), + } + } + + case *ExtAuthConfig_ApiKeyAuthConfig_AerospikeApikeyStorage: + + if h, ok := interface{}(m.GetAerospikeApikeyStorage()).(clone.Cloner); ok { + target.StorageBackend = &ExtAuthConfig_ApiKeyAuthConfig_AerospikeApikeyStorage{ + AerospikeApikeyStorage: h.Clone().(*AerospikeApiKeyStorage), + } + } else { + target.StorageBackend = &ExtAuthConfig_ApiKeyAuthConfig_AerospikeApikeyStorage{ + AerospikeApikeyStorage: proto.Clone(m.GetAerospikeApikeyStorage()).(*AerospikeApiKeyStorage), + } + } + + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_OpaAuthConfig) Clone() proto.Message { + var target *ExtAuthConfig_OpaAuthConfig + if m == nil { + return target + } + target = &ExtAuthConfig_OpaAuthConfig{} + + if m.GetModules() != nil { + target.Modules = make(map[string]string, len(m.GetModules())) + for k, v := range m.GetModules() { + + target.Modules[k] = v + + } + } + + target.Query = m.GetQuery() + + if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { + target.Options = h.Clone().(*OpaAuthOptions) + } else { + target.Options = proto.Clone(m.GetOptions()).(*OpaAuthOptions) + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_OpaServerAuthConfig) Clone() proto.Message { + var target *ExtAuthConfig_OpaServerAuthConfig + if m == nil { + return target + } + target = &ExtAuthConfig_OpaServerAuthConfig{} + + target.Package = m.GetPackage() + + target.RuleName = m.GetRuleName() + + target.ServerAddr = m.GetServerAddr() + + if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { + target.Options = h.Clone().(*OpaAuthOptions) + } else { + target.Options = proto.Clone(m.GetOptions()).(*OpaAuthOptions) + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_LdapConfig) Clone() proto.Message { + var target *ExtAuthConfig_LdapConfig + if m == nil { + return target + } + target = &ExtAuthConfig_LdapConfig{} + + target.Address = m.GetAddress() + + target.UserDnTemplate = m.GetUserDnTemplate() + + target.MembershipAttributeName = m.GetMembershipAttributeName() + + if m.GetAllowedGroups() != nil { + target.AllowedGroups = make([]string, len(m.GetAllowedGroups())) + for idx, v := range m.GetAllowedGroups() { + + target.AllowedGroups[idx] = v + + } + } + + if h, ok := interface{}(m.GetPool()).(clone.Cloner); ok { + target.Pool = h.Clone().(*Ldap_ConnectionPool) + } else { + target.Pool = proto.Clone(m.GetPool()).(*Ldap_ConnectionPool) + } + + target.SearchFilter = m.GetSearchFilter() + + target.DisableGroupChecking = m.GetDisableGroupChecking() + + if h, ok := interface{}(m.GetGroupLookupSettings()).(clone.Cloner); ok { + target.GroupLookupSettings = h.Clone().(*ExtAuthConfig_LdapServiceAccountConfig) + } else { + target.GroupLookupSettings = proto.Clone(m.GetGroupLookupSettings()).(*ExtAuthConfig_LdapServiceAccountConfig) + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_LdapServiceAccountConfig) Clone() proto.Message { + var target *ExtAuthConfig_LdapServiceAccountConfig + if m == nil { + return target + } + target = &ExtAuthConfig_LdapServiceAccountConfig{} + + target.Username = m.GetUsername() + + target.Password = m.GetPassword() + + target.CheckGroupsWithServiceAccount = m.GetCheckGroupsWithServiceAccount() + + return target +} + +// Clone function +func (m *ExtAuthConfig_HmacAuthConfig) Clone() proto.Message { + var target *ExtAuthConfig_HmacAuthConfig + if m == nil { + return target + } + target = &ExtAuthConfig_HmacAuthConfig{} + + switch m.SecretStorage.(type) { + + case *ExtAuthConfig_HmacAuthConfig_SecretList: + + if h, ok := interface{}(m.GetSecretList()).(clone.Cloner); ok { + target.SecretStorage = &ExtAuthConfig_HmacAuthConfig_SecretList{ + SecretList: h.Clone().(*ExtAuthConfig_InMemorySecretList), + } + } else { + target.SecretStorage = &ExtAuthConfig_HmacAuthConfig_SecretList{ + SecretList: proto.Clone(m.GetSecretList()).(*ExtAuthConfig_InMemorySecretList), + } + } + + } + + switch m.ImplementationType.(type) { + + case *ExtAuthConfig_HmacAuthConfig_ParametersInHeaders: + + if h, ok := interface{}(m.GetParametersInHeaders()).(clone.Cloner); ok { + target.ImplementationType = &ExtAuthConfig_HmacAuthConfig_ParametersInHeaders{ + ParametersInHeaders: h.Clone().(*HmacParametersInHeaders), + } + } else { + target.ImplementationType = &ExtAuthConfig_HmacAuthConfig_ParametersInHeaders{ + ParametersInHeaders: proto.Clone(m.GetParametersInHeaders()).(*HmacParametersInHeaders), + } + } + + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_InMemorySecretList) Clone() proto.Message { + var target *ExtAuthConfig_InMemorySecretList + if m == nil { + return target + } + target = &ExtAuthConfig_InMemorySecretList{} + + if m.GetSecretList() != nil { + target.SecretList = make(map[string]string, len(m.GetSecretList())) + for k, v := range m.GetSecretList() { + + target.SecretList[k] = v + + } + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_Config) Clone() proto.Message { + var target *ExtAuthConfig_Config + if m == nil { + return target + } + target = &ExtAuthConfig_Config{} + + if h, ok := interface{}(m.GetName()).(clone.Cloner); ok { + target.Name = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.Name = proto.Clone(m.GetName()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + switch m.AuthConfig.(type) { + + case *ExtAuthConfig_Config_Oauth: + + if h, ok := interface{}(m.GetOauth()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_Oauth{ + Oauth: h.Clone().(*ExtAuthConfig_OAuthConfig), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_Oauth{ + Oauth: proto.Clone(m.GetOauth()).(*ExtAuthConfig_OAuthConfig), + } + } + + case *ExtAuthConfig_Config_Oauth2: + + if h, ok := interface{}(m.GetOauth2()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_Oauth2{ + Oauth2: h.Clone().(*ExtAuthConfig_OAuth2Config), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_Oauth2{ + Oauth2: proto.Clone(m.GetOauth2()).(*ExtAuthConfig_OAuth2Config), + } + } + + case *ExtAuthConfig_Config_BasicAuth: + + if h, ok := interface{}(m.GetBasicAuth()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_BasicAuth{ + BasicAuth: h.Clone().(*BasicAuth), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_BasicAuth{ + BasicAuth: proto.Clone(m.GetBasicAuth()).(*BasicAuth), + } + } + + case *ExtAuthConfig_Config_BasicAuthInternal: + + if h, ok := interface{}(m.GetBasicAuthInternal()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_BasicAuthInternal{ + BasicAuthInternal: h.Clone().(*ExtAuthConfig_BasicAuthInternal), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_BasicAuthInternal{ + BasicAuthInternal: proto.Clone(m.GetBasicAuthInternal()).(*ExtAuthConfig_BasicAuthInternal), + } + } + + case *ExtAuthConfig_Config_ApiKeyAuth: + + if h, ok := interface{}(m.GetApiKeyAuth()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_ApiKeyAuth{ + ApiKeyAuth: h.Clone().(*ExtAuthConfig_ApiKeyAuthConfig), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_ApiKeyAuth{ + ApiKeyAuth: proto.Clone(m.GetApiKeyAuth()).(*ExtAuthConfig_ApiKeyAuthConfig), + } + } + + case *ExtAuthConfig_Config_PluginAuth: + + if h, ok := interface{}(m.GetPluginAuth()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_PluginAuth{ + PluginAuth: h.Clone().(*AuthPlugin), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_PluginAuth{ + PluginAuth: proto.Clone(m.GetPluginAuth()).(*AuthPlugin), + } + } + + case *ExtAuthConfig_Config_OpaAuth: + + if h, ok := interface{}(m.GetOpaAuth()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_OpaAuth{ + OpaAuth: h.Clone().(*ExtAuthConfig_OpaAuthConfig), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_OpaAuth{ + OpaAuth: proto.Clone(m.GetOpaAuth()).(*ExtAuthConfig_OpaAuthConfig), + } + } + + case *ExtAuthConfig_Config_Ldap: + + if h, ok := interface{}(m.GetLdap()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_Ldap{ + Ldap: h.Clone().(*Ldap), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_Ldap{ + Ldap: proto.Clone(m.GetLdap()).(*Ldap), + } + } + + case *ExtAuthConfig_Config_LdapInternal: + + if h, ok := interface{}(m.GetLdapInternal()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_LdapInternal{ + LdapInternal: h.Clone().(*ExtAuthConfig_LdapConfig), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_LdapInternal{ + LdapInternal: proto.Clone(m.GetLdapInternal()).(*ExtAuthConfig_LdapConfig), + } + } + + case *ExtAuthConfig_Config_Jwt: + + if h, ok := interface{}(m.GetJwt()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_Jwt{ + Jwt: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_Jwt{ + Jwt: proto.Clone(m.GetJwt()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + case *ExtAuthConfig_Config_PassThroughAuth: + + if h, ok := interface{}(m.GetPassThroughAuth()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_PassThroughAuth{ + PassThroughAuth: h.Clone().(*PassThroughAuth), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_PassThroughAuth{ + PassThroughAuth: proto.Clone(m.GetPassThroughAuth()).(*PassThroughAuth), + } + } + + case *ExtAuthConfig_Config_HmacAuth: + + if h, ok := interface{}(m.GetHmacAuth()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_HmacAuth{ + HmacAuth: h.Clone().(*ExtAuthConfig_HmacAuthConfig), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_HmacAuth{ + HmacAuth: proto.Clone(m.GetHmacAuth()).(*ExtAuthConfig_HmacAuthConfig), + } + } + + case *ExtAuthConfig_Config_OpaServerAuth: + + if h, ok := interface{}(m.GetOpaServerAuth()).(clone.Cloner); ok { + target.AuthConfig = &ExtAuthConfig_Config_OpaServerAuth{ + OpaServerAuth: h.Clone().(*ExtAuthConfig_OpaServerAuthConfig), + } + } else { + target.AuthConfig = &ExtAuthConfig_Config_OpaServerAuth{ + OpaServerAuth: proto.Clone(m.GetOpaServerAuth()).(*ExtAuthConfig_OpaServerAuthConfig), + } + } + + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_BasicAuthInternal_EncryptionType) Clone() proto.Message { + var target *ExtAuthConfig_BasicAuthInternal_EncryptionType + if m == nil { + return target + } + target = &ExtAuthConfig_BasicAuthInternal_EncryptionType{} + + switch m.Algorithm.(type) { + + case *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr_: + + if h, ok := interface{}(m.GetApr()).(clone.Cloner); ok { + target.Algorithm = &ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr_{ + Apr: h.Clone().(*ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr), + } + } else { + target.Algorithm = &ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr_{ + Apr: proto.Clone(m.GetApr()).(*ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr), + } + } + + case *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1_: + + if h, ok := interface{}(m.GetSha1()).(clone.Cloner); ok { + target.Algorithm = &ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1_{ + Sha1: h.Clone().(*ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1), + } + } else { + target.Algorithm = &ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1_{ + Sha1: proto.Clone(m.GetSha1()).(*ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1), + } + } + + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_BasicAuthInternal_User) Clone() proto.Message { + var target *ExtAuthConfig_BasicAuthInternal_User + if m == nil { + return target + } + target = &ExtAuthConfig_BasicAuthInternal_User{} + + target.Salt = m.GetSalt() + + target.HashedPassword = m.GetHashedPassword() + + return target +} + +// Clone function +func (m *ExtAuthConfig_BasicAuthInternal_UserList) Clone() proto.Message { + var target *ExtAuthConfig_BasicAuthInternal_UserList + if m == nil { + return target + } + target = &ExtAuthConfig_BasicAuthInternal_UserList{} + + if m.GetUsers() != nil { + target.Users = make(map[string]*ExtAuthConfig_BasicAuthInternal_User, len(m.GetUsers())) + for k, v := range m.GetUsers() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Users[k] = h.Clone().(*ExtAuthConfig_BasicAuthInternal_User) + } else { + target.Users[k] = proto.Clone(v).(*ExtAuthConfig_BasicAuthInternal_User) + } + + } + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1) Clone() proto.Message { + var target *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1 + if m == nil { + return target + } + target = &ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1{} + + return target +} + +// Clone function +func (m *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr) Clone() proto.Message { + var target *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr + if m == nil { + return target + } + target = &ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr{} + + return target +} + +// Clone function +func (m *ExtAuthConfig_UserSessionConfig_CipherConfig) Clone() proto.Message { + var target *ExtAuthConfig_UserSessionConfig_CipherConfig + if m == nil { + return target + } + target = &ExtAuthConfig_UserSessionConfig_CipherConfig{} + + target.Key = m.GetKey() + + return target +} + +// Clone function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) Clone() proto.Message { + var target *ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig + if m == nil { + return target + } + target = &ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig{} + + target.SigningKey = m.GetSigningKey() + + if h, ok := interface{}(m.GetValidFor()).(clone.Cloner); ok { + target.ValidFor = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.ValidFor = proto.Clone(m.GetValidFor()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) Clone() proto.Message { + var target *ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader + if m == nil { + return target + } + target = &ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader{} + + target.Claim = m.GetClaim() + + target.Header = m.GetHeader() + + target.Append = m.GetAppend() + + return target +} + +// Clone function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) Clone() proto.Message { + var target *ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken + if m == nil { + return target + } + target = &ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken{} + + if m.GetClaimsToHeaders() != nil { + target.ClaimsToHeaders = make([]*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader, len(m.GetClaimsToHeaders())) + for idx, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ClaimsToHeaders[idx] = h.Clone().(*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) + } else { + target.ClaimsToHeaders[idx] = proto.Clone(v).(*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) + } + + } + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) Clone() proto.Message { + var target *ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken + if m == nil { + return target + } + target = &ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken{} + + if m.GetClaimsToHeaders() != nil { + target.ClaimsToHeaders = make([]*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader, len(m.GetClaimsToHeaders())) + for idx, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ClaimsToHeaders[idx] = h.Clone().(*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) + } else { + target.ClaimsToHeaders[idx] = proto.Clone(v).(*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) + } + + } + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_Default) Clone() proto.Message { + var target *ExtAuthConfig_OidcAuthorizationCodeConfig_Default + if m == nil { + return target + } + target = &ExtAuthConfig_OidcAuthorizationCodeConfig_Default{} + + return target +} + +// Clone function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) Clone() proto.Message { + var target *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure + if m == nil { + return target + } + target = &ExtAuthConfig_OidcAuthorizationCodeConfig_Azure{} + + target.ClientId = m.GetClientId() + + target.TenantId = m.GetTenantId() + + target.ClientSecret = m.GetClientSecret() + + if h, ok := interface{}(m.GetClaimsCachingOptions()).(clone.Cloner); ok { + target.ClaimsCachingOptions = h.Clone().(*RedisOptions) + } else { + target.ClaimsCachingOptions = proto.Clone(m.GetClaimsCachingOptions()).(*RedisOptions) + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) Clone() proto.Message { + var target *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation + if m == nil { + return target + } + target = &ExtAuthConfig_AccessTokenValidationConfig_JwtValidation{} + + target.Issuer = m.GetIssuer() + + switch m.JwksSourceSpecifier.(type) { + + case *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks_: + + if h, ok := interface{}(m.GetRemoteJwks()).(clone.Cloner); ok { + target.JwksSourceSpecifier = &ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks_{ + RemoteJwks: h.Clone().(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks), + } + } else { + target.JwksSourceSpecifier = &ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks_{ + RemoteJwks: proto.Clone(m.GetRemoteJwks()).(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks), + } + } + + case *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks_: + + if h, ok := interface{}(m.GetLocalJwks()).(clone.Cloner); ok { + target.JwksSourceSpecifier = &ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks_{ + LocalJwks: h.Clone().(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks), + } + } else { + target.JwksSourceSpecifier = &ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks_{ + LocalJwks: proto.Clone(m.GetLocalJwks()).(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks), + } + } + + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) Clone() proto.Message { + var target *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation + if m == nil { + return target + } + target = &ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation{} + + target.IntrospectionUrl = m.GetIntrospectionUrl() + + target.ClientId = m.GetClientId() + + target.ClientSecret = m.GetClientSecret() + + target.UserIdAttributeName = m.GetUserIdAttributeName() + + return target +} + +// Clone function +func (m *ExtAuthConfig_AccessTokenValidationConfig_ScopeList) Clone() proto.Message { + var target *ExtAuthConfig_AccessTokenValidationConfig_ScopeList + if m == nil { + return target + } + target = &ExtAuthConfig_AccessTokenValidationConfig_ScopeList{} + + if m.GetScope() != nil { + target.Scope = make([]string, len(m.GetScope())) + for idx, v := range m.GetScope() { + + target.Scope[idx] = v + + } + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks) Clone() proto.Message { + var target *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks + if m == nil { + return target + } + target = &ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks{} + + target.Url = m.GetUrl() + + if h, ok := interface{}(m.GetRefreshInterval()).(clone.Cloner); ok { + target.RefreshInterval = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.RefreshInterval = proto.Clone(m.GetRefreshInterval()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + return target +} + +// Clone function +func (m *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks) Clone() proto.Message { + var target *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks + if m == nil { + return target + } + target = &ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks{} + + target.InlineString = m.GetInlineString() + + return target +} + +// Clone function +func (m *ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) Clone() proto.Message { + var target *ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata + if m == nil { + return target + } + target = &ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata{} + + target.Username = m.GetUsername() + + if m.GetMetadata() != nil { + target.Metadata = make(map[string]string, len(m.GetMetadata())) + for k, v := range m.GetMetadata() { + + target.Metadata[k] = v + + } + } + + return target +} diff --git a/client-go/enterprise.gloo.solo.io/v1/auth_config.pb.equal.go b/client-go/enterprise.gloo.solo.io/v1/auth_config.pb.equal.go new file mode 100644 index 000000000..140a22102 --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/auth_config.pb.equal.go @@ -0,0 +1,7034 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/vendor_any/github.com/solo-io/solo-apis/api/gloo/enterprise.gloo/v1/auth_config.proto + +package v1 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *AuthConfigSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AuthConfigSpec) + if !ok { + that2, ok := that.(AuthConfigSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetConfigs()) != len(target.GetConfigs()) { + return false + } + for idx, v := range m.GetConfigs() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetConfigs()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetConfigs()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetBooleanExpr()).(equality.Equalizer); ok { + if !h.Equal(target.GetBooleanExpr()) { + return false + } + } else { + if !proto.Equal(m.GetBooleanExpr(), target.GetBooleanExpr()) { + return false + } + } + + if m.GetFailOnRedirect() != target.GetFailOnRedirect() { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthExtension) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthExtension) + if !ok { + that2, ok := that.(ExtAuthExtension) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Spec.(type) { + + case *ExtAuthExtension_Disable: + if _, ok := target.Spec.(*ExtAuthExtension_Disable); !ok { + return false + } + + if m.GetDisable() != target.GetDisable() { + return false + } + + case *ExtAuthExtension_ConfigRef: + if _, ok := target.Spec.(*ExtAuthExtension_ConfigRef); !ok { + return false + } + + if h, ok := interface{}(m.GetConfigRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfigRef()) { + return false + } + } else { + if !proto.Equal(m.GetConfigRef(), target.GetConfigRef()) { + return false + } + } + + case *ExtAuthExtension_CustomAuth: + if _, ok := target.Spec.(*ExtAuthExtension_CustomAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetCustomAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetCustomAuth()) { + return false + } + } else { + if !proto.Equal(m.GetCustomAuth(), target.GetCustomAuth()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Spec != target.Spec { + return false + } + } + + return true +} + +// Equal function +func (m *Settings) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Settings) + if !ok { + that2, ok := that.(Settings) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetExtauthzServerRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetExtauthzServerRef()) { + return false + } + } else { + if !proto.Equal(m.GetExtauthzServerRef(), target.GetExtauthzServerRef()) { + return false + } + } + + if strings.Compare(m.GetUserIdHeader(), target.GetUserIdHeader()) != 0 { + return false + } + + if h, ok := interface{}(m.GetRequestTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequestTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetRequestTimeout(), target.GetRequestTimeout()) { + return false + } + } + + if m.GetFailureModeAllow() != target.GetFailureModeAllow() { + return false + } + + if h, ok := interface{}(m.GetRequestBody()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequestBody()) { + return false + } + } else { + if !proto.Equal(m.GetRequestBody(), target.GetRequestBody()) { + return false + } + } + + if m.GetClearRouteCache() != target.GetClearRouteCache() { + return false + } + + if m.GetStatusOnError() != target.GetStatusOnError() { + return false + } + + if m.GetTransportApiVersion() != target.GetTransportApiVersion() { + return false + } + + if strings.Compare(m.GetStatPrefix(), target.GetStatPrefix()) != 0 { + return false + } + + switch m.ServiceType.(type) { + + case *Settings_HttpService: + if _, ok := target.ServiceType.(*Settings_HttpService); !ok { + return false + } + + if h, ok := interface{}(m.GetHttpService()).(equality.Equalizer); ok { + if !h.Equal(target.GetHttpService()) { + return false + } + } else { + if !proto.Equal(m.GetHttpService(), target.GetHttpService()) { + return false + } + } + + case *Settings_GrpcService: + if _, ok := target.ServiceType.(*Settings_GrpcService); !ok { + return false + } + + if h, ok := interface{}(m.GetGrpcService()).(equality.Equalizer); ok { + if !h.Equal(target.GetGrpcService()) { + return false + } + } else { + if !proto.Equal(m.GetGrpcService(), target.GetGrpcService()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ServiceType != target.ServiceType { + return false + } + } + + return true +} + +// Equal function +func (m *GrpcService) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GrpcService) + if !ok { + that2, ok := that.(GrpcService) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetAuthority(), target.GetAuthority()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *HttpService) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HttpService) + if !ok { + that2, ok := that.(HttpService) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetPathPrefix(), target.GetPathPrefix()) != 0 { + return false + } + + if h, ok := interface{}(m.GetRequest()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequest()) { + return false + } + } else { + if !proto.Equal(m.GetRequest(), target.GetRequest()) { + return false + } + } + + if h, ok := interface{}(m.GetResponse()).(equality.Equalizer); ok { + if !h.Equal(target.GetResponse()) { + return false + } + } else { + if !proto.Equal(m.GetResponse(), target.GetResponse()) { + return false + } + } + + return true +} + +// Equal function +func (m *BufferSettings) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*BufferSettings) + if !ok { + that2, ok := that.(BufferSettings) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetMaxRequestBytes() != target.GetMaxRequestBytes() { + return false + } + + if m.GetAllowPartialMessage() != target.GetAllowPartialMessage() { + return false + } + + if m.GetPackAsBytes() != target.GetPackAsBytes() { + return false + } + + return true +} + +// Equal function +func (m *CustomAuth) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CustomAuth) + if !ok { + that2, ok := that.(CustomAuth) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetContextExtensions()) != len(target.GetContextExtensions()) { + return false + } + for k, v := range m.GetContextExtensions() { + + if strings.Compare(v, target.GetContextExtensions()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *AuthPlugin) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AuthPlugin) + if !ok { + that2, ok := that.(AuthPlugin) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetPluginFileName(), target.GetPluginFileName()) != 0 { + return false + } + + if strings.Compare(m.GetExportedSymbolName(), target.GetExportedSymbolName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *BasicAuth) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*BasicAuth) + if !ok { + that2, ok := that.(BasicAuth) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetRealm(), target.GetRealm()) != 0 { + return false + } + + if h, ok := interface{}(m.GetApr()).(equality.Equalizer); ok { + if !h.Equal(target.GetApr()) { + return false + } + } else { + if !proto.Equal(m.GetApr(), target.GetApr()) { + return false + } + } + + if h, ok := interface{}(m.GetEncryption()).(equality.Equalizer); ok { + if !h.Equal(target.GetEncryption()) { + return false + } + } else { + if !proto.Equal(m.GetEncryption(), target.GetEncryption()) { + return false + } + } + + switch m.UserSource.(type) { + + case *BasicAuth_UserList_: + if _, ok := target.UserSource.(*BasicAuth_UserList_); !ok { + return false + } + + if h, ok := interface{}(m.GetUserList()).(equality.Equalizer); ok { + if !h.Equal(target.GetUserList()) { + return false + } + } else { + if !proto.Equal(m.GetUserList(), target.GetUserList()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.UserSource != target.UserSource { + return false + } + } + + return true +} + +// Equal function +func (m *HmacAuth) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HmacAuth) + if !ok { + that2, ok := that.(HmacAuth) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.SecretStorage.(type) { + + case *HmacAuth_SecretRefs: + if _, ok := target.SecretStorage.(*HmacAuth_SecretRefs); !ok { + return false + } + + if h, ok := interface{}(m.GetSecretRefs()).(equality.Equalizer); ok { + if !h.Equal(target.GetSecretRefs()) { + return false + } + } else { + if !proto.Equal(m.GetSecretRefs(), target.GetSecretRefs()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.SecretStorage != target.SecretStorage { + return false + } + } + + switch m.ImplementationType.(type) { + + case *HmacAuth_ParametersInHeaders: + if _, ok := target.ImplementationType.(*HmacAuth_ParametersInHeaders); !ok { + return false + } + + if h, ok := interface{}(m.GetParametersInHeaders()).(equality.Equalizer); ok { + if !h.Equal(target.GetParametersInHeaders()) { + return false + } + } else { + if !proto.Equal(m.GetParametersInHeaders(), target.GetParametersInHeaders()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ImplementationType != target.ImplementationType { + return false + } + } + + return true +} + +// Equal function +func (m *SecretRefList) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SecretRefList) + if !ok { + that2, ok := that.(SecretRefList) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetSecretRefs()) != len(target.GetSecretRefs()) { + return false + } + for idx, v := range m.GetSecretRefs() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSecretRefs()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSecretRefs()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *HmacParametersInHeaders) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HmacParametersInHeaders) + if !ok { + that2, ok := that.(HmacParametersInHeaders) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *OAuth) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OAuth) + if !ok { + that2, ok := that.(OAuth) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClientId(), target.GetClientId()) != 0 { + return false + } + + if h, ok := interface{}(m.GetClientSecretRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetClientSecretRef()) { + return false + } + } else { + if !proto.Equal(m.GetClientSecretRef(), target.GetClientSecretRef()) { + return false + } + } + + if strings.Compare(m.GetIssuerUrl(), target.GetIssuerUrl()) != 0 { + return false + } + + if len(m.GetAuthEndpointQueryParams()) != len(target.GetAuthEndpointQueryParams()) { + return false + } + for k, v := range m.GetAuthEndpointQueryParams() { + + if strings.Compare(v, target.GetAuthEndpointQueryParams()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetAppUrl(), target.GetAppUrl()) != 0 { + return false + } + + if strings.Compare(m.GetCallbackPath(), target.GetCallbackPath()) != 0 { + return false + } + + if len(m.GetScopes()) != len(target.GetScopes()) { + return false + } + for idx, v := range m.GetScopes() { + + if strings.Compare(v, target.GetScopes()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *OAuth2) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OAuth2) + if !ok { + that2, ok := that.(OAuth2) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.OauthType.(type) { + + case *OAuth2_OidcAuthorizationCode: + if _, ok := target.OauthType.(*OAuth2_OidcAuthorizationCode); !ok { + return false + } + + if h, ok := interface{}(m.GetOidcAuthorizationCode()).(equality.Equalizer); ok { + if !h.Equal(target.GetOidcAuthorizationCode()) { + return false + } + } else { + if !proto.Equal(m.GetOidcAuthorizationCode(), target.GetOidcAuthorizationCode()) { + return false + } + } + + case *OAuth2_AccessTokenValidation: + if _, ok := target.OauthType.(*OAuth2_AccessTokenValidation); !ok { + return false + } + + if h, ok := interface{}(m.GetAccessTokenValidation()).(equality.Equalizer); ok { + if !h.Equal(target.GetAccessTokenValidation()) { + return false + } + } else { + if !proto.Equal(m.GetAccessTokenValidation(), target.GetAccessTokenValidation()) { + return false + } + } + + case *OAuth2_Oauth2: + if _, ok := target.OauthType.(*OAuth2_Oauth2); !ok { + return false + } + + if h, ok := interface{}(m.GetOauth2()).(equality.Equalizer); ok { + if !h.Equal(target.GetOauth2()) { + return false + } + } else { + if !proto.Equal(m.GetOauth2(), target.GetOauth2()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.OauthType != target.OauthType { + return false + } + } + + return true +} + +// Equal function +func (m *RedisOptions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RedisOptions) + if !ok { + that2, ok := that.(RedisOptions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetHost(), target.GetHost()) != 0 { + return false + } + + if m.GetDb() != target.GetDb() { + return false + } + + if m.GetPoolSize() != target.GetPoolSize() { + return false + } + + if strings.Compare(m.GetTlsCertMountPath(), target.GetTlsCertMountPath()) != 0 { + return false + } + + if m.GetSocketType() != target.GetSocketType() { + return false + } + + return true +} + +// Equal function +func (m *UserSession) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*UserSession) + if !ok { + that2, ok := that.(UserSession) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetFailOnFetchFailure() != target.GetFailOnFetchFailure() { + return false + } + + if h, ok := interface{}(m.GetCookieOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetCookieOptions()) { + return false + } + } else { + if !proto.Equal(m.GetCookieOptions(), target.GetCookieOptions()) { + return false + } + } + + if h, ok := interface{}(m.GetCipherConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetCipherConfig()) { + return false + } + } else { + if !proto.Equal(m.GetCipherConfig(), target.GetCipherConfig()) { + return false + } + } + + switch m.Session.(type) { + + case *UserSession_Cookie: + if _, ok := target.Session.(*UserSession_Cookie); !ok { + return false + } + + if h, ok := interface{}(m.GetCookie()).(equality.Equalizer); ok { + if !h.Equal(target.GetCookie()) { + return false + } + } else { + if !proto.Equal(m.GetCookie(), target.GetCookie()) { + return false + } + } + + case *UserSession_Redis: + if _, ok := target.Session.(*UserSession_Redis); !ok { + return false + } + + if h, ok := interface{}(m.GetRedis()).(equality.Equalizer); ok { + if !h.Equal(target.GetRedis()) { + return false + } + } else { + if !proto.Equal(m.GetRedis(), target.GetRedis()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Session != target.Session { + return false + } + } + + return true +} + +// Equal function +func (m *HeaderConfiguration) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HeaderConfiguration) + if !ok { + that2, ok := that.(HeaderConfiguration) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetIdTokenHeader(), target.GetIdTokenHeader()) != 0 { + return false + } + + if strings.Compare(m.GetAccessTokenHeader(), target.GetAccessTokenHeader()) != 0 { + return false + } + + if h, ok := interface{}(m.GetUseBearerSchemaForAuthorization()).(equality.Equalizer); ok { + if !h.Equal(target.GetUseBearerSchemaForAuthorization()) { + return false + } + } else { + if !proto.Equal(m.GetUseBearerSchemaForAuthorization(), target.GetUseBearerSchemaForAuthorization()) { + return false + } + } + + return true +} + +// Equal function +func (m *DiscoveryOverride) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DiscoveryOverride) + if !ok { + that2, ok := that.(DiscoveryOverride) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetAuthEndpoint(), target.GetAuthEndpoint()) != 0 { + return false + } + + if strings.Compare(m.GetTokenEndpoint(), target.GetTokenEndpoint()) != 0 { + return false + } + + if strings.Compare(m.GetJwksUri(), target.GetJwksUri()) != 0 { + return false + } + + if len(m.GetScopes()) != len(target.GetScopes()) { + return false + } + for idx, v := range m.GetScopes() { + + if strings.Compare(v, target.GetScopes()[idx]) != 0 { + return false + } + + } + + if len(m.GetResponseTypes()) != len(target.GetResponseTypes()) { + return false + } + for idx, v := range m.GetResponseTypes() { + + if strings.Compare(v, target.GetResponseTypes()[idx]) != 0 { + return false + } + + } + + if len(m.GetSubjects()) != len(target.GetSubjects()) { + return false + } + for idx, v := range m.GetSubjects() { + + if strings.Compare(v, target.GetSubjects()[idx]) != 0 { + return false + } + + } + + if len(m.GetIdTokenAlgs()) != len(target.GetIdTokenAlgs()) { + return false + } + for idx, v := range m.GetIdTokenAlgs() { + + if strings.Compare(v, target.GetIdTokenAlgs()[idx]) != 0 { + return false + } + + } + + if len(m.GetAuthMethods()) != len(target.GetAuthMethods()) { + return false + } + for idx, v := range m.GetAuthMethods() { + + if strings.Compare(v, target.GetAuthMethods()[idx]) != 0 { + return false + } + + } + + if len(m.GetClaims()) != len(target.GetClaims()) { + return false + } + for idx, v := range m.GetClaims() { + + if strings.Compare(v, target.GetClaims()[idx]) != 0 { + return false + } + + } + + if strings.Compare(m.GetRevocationEndpoint(), target.GetRevocationEndpoint()) != 0 { + return false + } + + if strings.Compare(m.GetEndSessionEndpoint(), target.GetEndSessionEndpoint()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *JwksOnDemandCacheRefreshPolicy) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JwksOnDemandCacheRefreshPolicy) + if !ok { + that2, ok := that.(JwksOnDemandCacheRefreshPolicy) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Policy.(type) { + + case *JwksOnDemandCacheRefreshPolicy_Never: + if _, ok := target.Policy.(*JwksOnDemandCacheRefreshPolicy_Never); !ok { + return false + } + + if h, ok := interface{}(m.GetNever()).(equality.Equalizer); ok { + if !h.Equal(target.GetNever()) { + return false + } + } else { + if !proto.Equal(m.GetNever(), target.GetNever()) { + return false + } + } + + case *JwksOnDemandCacheRefreshPolicy_Always: + if _, ok := target.Policy.(*JwksOnDemandCacheRefreshPolicy_Always); !ok { + return false + } + + if h, ok := interface{}(m.GetAlways()).(equality.Equalizer); ok { + if !h.Equal(target.GetAlways()) { + return false + } + } else { + if !proto.Equal(m.GetAlways(), target.GetAlways()) { + return false + } + } + + case *JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval: + if _, ok := target.Policy.(*JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval); !ok { + return false + } + + if m.GetMaxIdpReqPerPollingInterval() != target.GetMaxIdpReqPerPollingInterval() { + return false + } + + default: + // m is nil but target is not nil + if m.Policy != target.Policy { + return false + } + } + + return true +} + +// Equal function +func (m *AutoMapFromMetadata) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AutoMapFromMetadata) + if !ok { + that2, ok := that.(AutoMapFromMetadata) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *EndSessionProperties) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*EndSessionProperties) + if !ok { + that2, ok := that.(EndSessionProperties) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetMethodType() != target.GetMethodType() { + return false + } + + return true +} + +// Equal function +func (m *ClaimToHeader) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClaimToHeader) + if !ok { + that2, ok := that.(ClaimToHeader) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClaim(), target.GetClaim()) != 0 { + return false + } + + if strings.Compare(m.GetHeader(), target.GetHeader()) != 0 { + return false + } + + if m.GetAppend() != target.GetAppend() { + return false + } + + return true +} + +// Equal function +func (m *OidcAuthorizationCode) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OidcAuthorizationCode) + if !ok { + that2, ok := that.(OidcAuthorizationCode) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClientId(), target.GetClientId()) != 0 { + return false + } + + if h, ok := interface{}(m.GetClientSecretRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetClientSecretRef()) { + return false + } + } else { + if !proto.Equal(m.GetClientSecretRef(), target.GetClientSecretRef()) { + return false + } + } + + if strings.Compare(m.GetIssuerUrl(), target.GetIssuerUrl()) != 0 { + return false + } + + if len(m.GetAuthEndpointQueryParams()) != len(target.GetAuthEndpointQueryParams()) { + return false + } + for k, v := range m.GetAuthEndpointQueryParams() { + + if strings.Compare(v, target.GetAuthEndpointQueryParams()[k]) != 0 { + return false + } + + } + + if len(m.GetTokenEndpointQueryParams()) != len(target.GetTokenEndpointQueryParams()) { + return false + } + for k, v := range m.GetTokenEndpointQueryParams() { + + if strings.Compare(v, target.GetTokenEndpointQueryParams()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetAppUrl(), target.GetAppUrl()) != 0 { + return false + } + + if strings.Compare(m.GetCallbackPath(), target.GetCallbackPath()) != 0 { + return false + } + + if strings.Compare(m.GetLogoutPath(), target.GetLogoutPath()) != 0 { + return false + } + + if strings.Compare(m.GetAfterLogoutUrl(), target.GetAfterLogoutUrl()) != 0 { + return false + } + + if len(m.GetScopes()) != len(target.GetScopes()) { + return false + } + for idx, v := range m.GetScopes() { + + if strings.Compare(v, target.GetScopes()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetSession()).(equality.Equalizer); ok { + if !h.Equal(target.GetSession()) { + return false + } + } else { + if !proto.Equal(m.GetSession(), target.GetSession()) { + return false + } + } + + if h, ok := interface{}(m.GetHeaders()).(equality.Equalizer); ok { + if !h.Equal(target.GetHeaders()) { + return false + } + } else { + if !proto.Equal(m.GetHeaders(), target.GetHeaders()) { + return false + } + } + + if h, ok := interface{}(m.GetDiscoveryOverride()).(equality.Equalizer); ok { + if !h.Equal(target.GetDiscoveryOverride()) { + return false + } + } else { + if !proto.Equal(m.GetDiscoveryOverride(), target.GetDiscoveryOverride()) { + return false + } + } + + if h, ok := interface{}(m.GetDiscoveryPollInterval()).(equality.Equalizer); ok { + if !h.Equal(target.GetDiscoveryPollInterval()) { + return false + } + } else { + if !proto.Equal(m.GetDiscoveryPollInterval(), target.GetDiscoveryPollInterval()) { + return false + } + } + + if h, ok := interface{}(m.GetJwksCacheRefreshPolicy()).(equality.Equalizer); ok { + if !h.Equal(target.GetJwksCacheRefreshPolicy()) { + return false + } + } else { + if !proto.Equal(m.GetJwksCacheRefreshPolicy(), target.GetJwksCacheRefreshPolicy()) { + return false + } + } + + if strings.Compare(m.GetSessionIdHeaderName(), target.GetSessionIdHeaderName()) != 0 { + return false + } + + if m.GetParseCallbackPathAsRegex() != target.GetParseCallbackPathAsRegex() { + return false + } + + if h, ok := interface{}(m.GetAutoMapFromMetadata()).(equality.Equalizer); ok { + if !h.Equal(target.GetAutoMapFromMetadata()) { + return false + } + } else { + if !proto.Equal(m.GetAutoMapFromMetadata(), target.GetAutoMapFromMetadata()) { + return false + } + } + + if h, ok := interface{}(m.GetEndSessionProperties()).(equality.Equalizer); ok { + if !h.Equal(target.GetEndSessionProperties()) { + return false + } + } else { + if !proto.Equal(m.GetEndSessionProperties(), target.GetEndSessionProperties()) { + return false + } + } + + if len(m.GetDynamicMetadataFromClaims()) != len(target.GetDynamicMetadataFromClaims()) { + return false + } + for k, v := range m.GetDynamicMetadataFromClaims() { + + if strings.Compare(v, target.GetDynamicMetadataFromClaims()[k]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetDisableClientSecret()).(equality.Equalizer); ok { + if !h.Equal(target.GetDisableClientSecret()) { + return false + } + } else { + if !proto.Equal(m.GetDisableClientSecret(), target.GetDisableClientSecret()) { + return false + } + } + + if h, ok := interface{}(m.GetAccessToken()).(equality.Equalizer); ok { + if !h.Equal(target.GetAccessToken()) { + return false + } + } else { + if !proto.Equal(m.GetAccessToken(), target.GetAccessToken()) { + return false + } + } + + if h, ok := interface{}(m.GetIdentityToken()).(equality.Equalizer); ok { + if !h.Equal(target.GetIdentityToken()) { + return false + } + } else { + if !proto.Equal(m.GetIdentityToken(), target.GetIdentityToken()) { + return false + } + } + + if h, ok := interface{}(m.GetClientAuthentication()).(equality.Equalizer); ok { + if !h.Equal(target.GetClientAuthentication()) { + return false + } + } else { + if !proto.Equal(m.GetClientAuthentication(), target.GetClientAuthentication()) { + return false + } + } + + switch m.Provider.(type) { + + case *OidcAuthorizationCode_Default_: + if _, ok := target.Provider.(*OidcAuthorizationCode_Default_); !ok { + return false + } + + if h, ok := interface{}(m.GetDefault()).(equality.Equalizer); ok { + if !h.Equal(target.GetDefault()) { + return false + } + } else { + if !proto.Equal(m.GetDefault(), target.GetDefault()) { + return false + } + } + + case *OidcAuthorizationCode_Azure_: + if _, ok := target.Provider.(*OidcAuthorizationCode_Azure_); !ok { + return false + } + + if h, ok := interface{}(m.GetAzure()).(equality.Equalizer); ok { + if !h.Equal(target.GetAzure()) { + return false + } + } else { + if !proto.Equal(m.GetAzure(), target.GetAzure()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Provider != target.Provider { + return false + } + } + + return true +} + +// Equal function +func (m *PlainOAuth2) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PlainOAuth2) + if !ok { + that2, ok := that.(PlainOAuth2) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClientId(), target.GetClientId()) != 0 { + return false + } + + if h, ok := interface{}(m.GetClientSecretRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetClientSecretRef()) { + return false + } + } else { + if !proto.Equal(m.GetClientSecretRef(), target.GetClientSecretRef()) { + return false + } + } + + if len(m.GetAuthEndpointQueryParams()) != len(target.GetAuthEndpointQueryParams()) { + return false + } + for k, v := range m.GetAuthEndpointQueryParams() { + + if strings.Compare(v, target.GetAuthEndpointQueryParams()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetAppUrl(), target.GetAppUrl()) != 0 { + return false + } + + if strings.Compare(m.GetCallbackPath(), target.GetCallbackPath()) != 0 { + return false + } + + if len(m.GetScopes()) != len(target.GetScopes()) { + return false + } + for idx, v := range m.GetScopes() { + + if strings.Compare(v, target.GetScopes()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetSession()).(equality.Equalizer); ok { + if !h.Equal(target.GetSession()) { + return false + } + } else { + if !proto.Equal(m.GetSession(), target.GetSession()) { + return false + } + } + + if strings.Compare(m.GetLogoutPath(), target.GetLogoutPath()) != 0 { + return false + } + + if len(m.GetTokenEndpointQueryParams()) != len(target.GetTokenEndpointQueryParams()) { + return false + } + for k, v := range m.GetTokenEndpointQueryParams() { + + if strings.Compare(v, target.GetTokenEndpointQueryParams()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetAfterLogoutUrl(), target.GetAfterLogoutUrl()) != 0 { + return false + } + + if strings.Compare(m.GetAuthEndpoint(), target.GetAuthEndpoint()) != 0 { + return false + } + + if strings.Compare(m.GetTokenEndpoint(), target.GetTokenEndpoint()) != 0 { + return false + } + + if strings.Compare(m.GetRevocationEndpoint(), target.GetRevocationEndpoint()) != 0 { + return false + } + + if h, ok := interface{}(m.GetDisableClientSecret()).(equality.Equalizer); ok { + if !h.Equal(target.GetDisableClientSecret()) { + return false + } + } else { + if !proto.Equal(m.GetDisableClientSecret(), target.GetDisableClientSecret()) { + return false + } + } + + return true +} + +// Equal function +func (m *JwtValidation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JwtValidation) + if !ok { + that2, ok := that.(JwtValidation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetIssuer(), target.GetIssuer()) != 0 { + return false + } + + switch m.JwksSourceSpecifier.(type) { + + case *JwtValidation_RemoteJwks_: + if _, ok := target.JwksSourceSpecifier.(*JwtValidation_RemoteJwks_); !ok { + return false + } + + if h, ok := interface{}(m.GetRemoteJwks()).(equality.Equalizer); ok { + if !h.Equal(target.GetRemoteJwks()) { + return false + } + } else { + if !proto.Equal(m.GetRemoteJwks(), target.GetRemoteJwks()) { + return false + } + } + + case *JwtValidation_LocalJwks_: + if _, ok := target.JwksSourceSpecifier.(*JwtValidation_LocalJwks_); !ok { + return false + } + + if h, ok := interface{}(m.GetLocalJwks()).(equality.Equalizer); ok { + if !h.Equal(target.GetLocalJwks()) { + return false + } + } else { + if !proto.Equal(m.GetLocalJwks(), target.GetLocalJwks()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.JwksSourceSpecifier != target.JwksSourceSpecifier { + return false + } + } + + return true +} + +// Equal function +func (m *IntrospectionValidation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IntrospectionValidation) + if !ok { + that2, ok := that.(IntrospectionValidation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetIntrospectionUrl(), target.GetIntrospectionUrl()) != 0 { + return false + } + + if strings.Compare(m.GetClientId(), target.GetClientId()) != 0 { + return false + } + + if h, ok := interface{}(m.GetClientSecretRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetClientSecretRef()) { + return false + } + } else { + if !proto.Equal(m.GetClientSecretRef(), target.GetClientSecretRef()) { + return false + } + } + + if strings.Compare(m.GetUserIdAttributeName(), target.GetUserIdAttributeName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetDisableClientSecret()).(equality.Equalizer); ok { + if !h.Equal(target.GetDisableClientSecret()) { + return false + } + } else { + if !proto.Equal(m.GetDisableClientSecret(), target.GetDisableClientSecret()) { + return false + } + } + + return true +} + +// Equal function +func (m *AccessTokenValidation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessTokenValidation) + if !ok { + that2, ok := that.(AccessTokenValidation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetUserinfoUrl(), target.GetUserinfoUrl()) != 0 { + return false + } + + if h, ok := interface{}(m.GetCacheTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetCacheTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetCacheTimeout(), target.GetCacheTimeout()) { + return false + } + } + + if len(m.GetDynamicMetadataFromClaims()) != len(target.GetDynamicMetadataFromClaims()) { + return false + } + for k, v := range m.GetDynamicMetadataFromClaims() { + + if strings.Compare(v, target.GetDynamicMetadataFromClaims()[k]) != 0 { + return false + } + + } + + switch m.ValidationType.(type) { + + case *AccessTokenValidation_IntrospectionUrl: + if _, ok := target.ValidationType.(*AccessTokenValidation_IntrospectionUrl); !ok { + return false + } + + if strings.Compare(m.GetIntrospectionUrl(), target.GetIntrospectionUrl()) != 0 { + return false + } + + case *AccessTokenValidation_Jwt: + if _, ok := target.ValidationType.(*AccessTokenValidation_Jwt); !ok { + return false + } + + if h, ok := interface{}(m.GetJwt()).(equality.Equalizer); ok { + if !h.Equal(target.GetJwt()) { + return false + } + } else { + if !proto.Equal(m.GetJwt(), target.GetJwt()) { + return false + } + } + + case *AccessTokenValidation_Introspection: + if _, ok := target.ValidationType.(*AccessTokenValidation_Introspection); !ok { + return false + } + + if h, ok := interface{}(m.GetIntrospection()).(equality.Equalizer); ok { + if !h.Equal(target.GetIntrospection()) { + return false + } + } else { + if !proto.Equal(m.GetIntrospection(), target.GetIntrospection()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ValidationType != target.ValidationType { + return false + } + } + + switch m.ScopeValidation.(type) { + + case *AccessTokenValidation_RequiredScopes: + if _, ok := target.ScopeValidation.(*AccessTokenValidation_RequiredScopes); !ok { + return false + } + + if h, ok := interface{}(m.GetRequiredScopes()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequiredScopes()) { + return false + } + } else { + if !proto.Equal(m.GetRequiredScopes(), target.GetRequiredScopes()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ScopeValidation != target.ScopeValidation { + return false + } + } + + return true +} + +// Equal function +func (m *OauthSecret) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OauthSecret) + if !ok { + that2, ok := that.(OauthSecret) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClientSecret(), target.GetClientSecret()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ApiKeyAuth) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKeyAuth) + if !ok { + that2, ok := that.(ApiKeyAuth) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetLabelSelector()) != len(target.GetLabelSelector()) { + return false + } + for k, v := range m.GetLabelSelector() { + + if strings.Compare(v, target.GetLabelSelector()[k]) != 0 { + return false + } + + } + + if len(m.GetApiKeySecretRefs()) != len(target.GetApiKeySecretRefs()) { + return false + } + for idx, v := range m.GetApiKeySecretRefs() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApiKeySecretRefs()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApiKeySecretRefs()[idx]) { + return false + } + } + + } + + if strings.Compare(m.GetHeaderName(), target.GetHeaderName()) != 0 { + return false + } + + if len(m.GetHeadersFromMetadata()) != len(target.GetHeadersFromMetadata()) { + return false + } + for k, v := range m.GetHeadersFromMetadata() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetHeadersFromMetadata()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetHeadersFromMetadata()[k]) { + return false + } + } + + } + + if len(m.GetHeadersFromMetadataEntry()) != len(target.GetHeadersFromMetadataEntry()) { + return false + } + for k, v := range m.GetHeadersFromMetadataEntry() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetHeadersFromMetadataEntry()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetHeadersFromMetadataEntry()[k]) { + return false + } + } + + } + + switch m.StorageBackend.(type) { + + case *ApiKeyAuth_K8SSecretApikeyStorage: + if _, ok := target.StorageBackend.(*ApiKeyAuth_K8SSecretApikeyStorage); !ok { + return false + } + + if h, ok := interface{}(m.GetK8SSecretApikeyStorage()).(equality.Equalizer); ok { + if !h.Equal(target.GetK8SSecretApikeyStorage()) { + return false + } + } else { + if !proto.Equal(m.GetK8SSecretApikeyStorage(), target.GetK8SSecretApikeyStorage()) { + return false + } + } + + case *ApiKeyAuth_AerospikeApikeyStorage: + if _, ok := target.StorageBackend.(*ApiKeyAuth_AerospikeApikeyStorage); !ok { + return false + } + + if h, ok := interface{}(m.GetAerospikeApikeyStorage()).(equality.Equalizer); ok { + if !h.Equal(target.GetAerospikeApikeyStorage()) { + return false + } + } else { + if !proto.Equal(m.GetAerospikeApikeyStorage(), target.GetAerospikeApikeyStorage()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.StorageBackend != target.StorageBackend { + return false + } + } + + return true +} + +// Equal function +func (m *K8SSecretApiKeyStorage) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*K8SSecretApiKeyStorage) + if !ok { + that2, ok := that.(K8SSecretApiKeyStorage) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetLabelSelector()) != len(target.GetLabelSelector()) { + return false + } + for k, v := range m.GetLabelSelector() { + + if strings.Compare(v, target.GetLabelSelector()[k]) != 0 { + return false + } + + } + + if len(m.GetApiKeySecretRefs()) != len(target.GetApiKeySecretRefs()) { + return false + } + for idx, v := range m.GetApiKeySecretRefs() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApiKeySecretRefs()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApiKeySecretRefs()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *AerospikeApiKeyStorage) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AerospikeApiKeyStorage) + if !ok { + that2, ok := that.(AerospikeApiKeyStorage) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetHostname(), target.GetHostname()) != 0 { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetSet(), target.GetSet()) != 0 { + return false + } + + if m.GetPort() != target.GetPort() { + return false + } + + if m.GetBatchSize() != target.GetBatchSize() { + return false + } + + if h, ok := interface{}(m.GetReadModeSc()).(equality.Equalizer); ok { + if !h.Equal(target.GetReadModeSc()) { + return false + } + } else { + if !proto.Equal(m.GetReadModeSc(), target.GetReadModeSc()) { + return false + } + } + + if h, ok := interface{}(m.GetReadModeAp()).(equality.Equalizer); ok { + if !h.Equal(target.GetReadModeAp()) { + return false + } + } else { + if !proto.Equal(m.GetReadModeAp(), target.GetReadModeAp()) { + return false + } + } + + if strings.Compare(m.GetNodeTlsName(), target.GetNodeTlsName()) != 0 { + return false + } + + if strings.Compare(m.GetCertPath(), target.GetCertPath()) != 0 { + return false + } + + if strings.Compare(m.GetKeyPath(), target.GetKeyPath()) != 0 { + return false + } + + if m.GetAllowInsecure() != target.GetAllowInsecure() { + return false + } + + if strings.Compare(m.GetRootCaPath(), target.GetRootCaPath()) != 0 { + return false + } + + if strings.Compare(m.GetTlsVersion(), target.GetTlsVersion()) != 0 { + return false + } + + if len(m.GetTlsCurveGroups()) != len(target.GetTlsCurveGroups()) { + return false + } + for idx, v := range m.GetTlsCurveGroups() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetTlsCurveGroups()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetTlsCurveGroups()[idx]) { + return false + } + } + + } + + if len(m.GetLabelSelector()) != len(target.GetLabelSelector()) { + return false + } + for k, v := range m.GetLabelSelector() { + + if strings.Compare(v, target.GetLabelSelector()[k]) != 0 { + return false + } + + } + + switch m.CommitLevel.(type) { + + case *AerospikeApiKeyStorage_CommitAll: + if _, ok := target.CommitLevel.(*AerospikeApiKeyStorage_CommitAll); !ok { + return false + } + + if m.GetCommitAll() != target.GetCommitAll() { + return false + } + + case *AerospikeApiKeyStorage_CommitMaster: + if _, ok := target.CommitLevel.(*AerospikeApiKeyStorage_CommitMaster); !ok { + return false + } + + if m.GetCommitMaster() != target.GetCommitMaster() { + return false + } + + default: + // m is nil but target is not nil + if m.CommitLevel != target.CommitLevel { + return false + } + } + + return true +} + +// Equal function +func (m *ApiKey) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKey) + if !ok { + that2, ok := that.(ApiKey) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetApiKey(), target.GetApiKey()) != 0 { + return false + } + + if len(m.GetLabels()) != len(target.GetLabels()) { + return false + } + for idx, v := range m.GetLabels() { + + if strings.Compare(v, target.GetLabels()[idx]) != 0 { + return false + } + + } + + if len(m.GetMetadata()) != len(target.GetMetadata()) { + return false + } + for k, v := range m.GetMetadata() { + + if strings.Compare(v, target.GetMetadata()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetUuid(), target.GetUuid()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ApiKeySecret) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKeySecret) + if !ok { + that2, ok := that.(ApiKeySecret) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetApiKey(), target.GetApiKey()) != 0 { + return false + } + + if len(m.GetLabels()) != len(target.GetLabels()) { + return false + } + for idx, v := range m.GetLabels() { + + if strings.Compare(v, target.GetLabels()[idx]) != 0 { + return false + } + + } + + if len(m.GetMetadata()) != len(target.GetMetadata()) { + return false + } + for k, v := range m.GetMetadata() { + + if strings.Compare(v, target.GetMetadata()[k]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *OpaAuth) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OpaAuth) + if !ok { + that2, ok := that.(OpaAuth) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetModules()) != len(target.GetModules()) { + return false + } + for idx, v := range m.GetModules() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetModules()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetModules()[idx]) { + return false + } + } + + } + + if strings.Compare(m.GetQuery(), target.GetQuery()) != 0 { + return false + } + + if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetOptions()) { + return false + } + } else { + if !proto.Equal(m.GetOptions(), target.GetOptions()) { + return false + } + } + + return true +} + +// Equal function +func (m *OpaAuthOptions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OpaAuthOptions) + if !ok { + that2, ok := that.(OpaAuthOptions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetFastInputConversion() != target.GetFastInputConversion() { + return false + } + + if m.GetReturnDecisionReason() != target.GetReturnDecisionReason() { + return false + } + + return true +} + +// Equal function +func (m *OpaServerAuth) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OpaServerAuth) + if !ok { + that2, ok := that.(OpaServerAuth) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetPackage(), target.GetPackage()) != 0 { + return false + } + + if strings.Compare(m.GetRuleName(), target.GetRuleName()) != 0 { + return false + } + + if strings.Compare(m.GetServerAddr(), target.GetServerAddr()) != 0 { + return false + } + + if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetOptions()) { + return false + } + } else { + if !proto.Equal(m.GetOptions(), target.GetOptions()) { + return false + } + } + + return true +} + +// Equal function +func (m *Ldap) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Ldap) + if !ok { + that2, ok := that.(Ldap) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetAddress(), target.GetAddress()) != 0 { + return false + } + + if strings.Compare(m.GetUserDnTemplate(), target.GetUserDnTemplate()) != 0 { + return false + } + + if strings.Compare(m.GetMembershipAttributeName(), target.GetMembershipAttributeName()) != 0 { + return false + } + + if len(m.GetAllowedGroups()) != len(target.GetAllowedGroups()) { + return false + } + for idx, v := range m.GetAllowedGroups() { + + if strings.Compare(v, target.GetAllowedGroups()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetPool()).(equality.Equalizer); ok { + if !h.Equal(target.GetPool()) { + return false + } + } else { + if !proto.Equal(m.GetPool(), target.GetPool()) { + return false + } + } + + if strings.Compare(m.GetSearchFilter(), target.GetSearchFilter()) != 0 { + return false + } + + if m.GetDisableGroupChecking() != target.GetDisableGroupChecking() { + return false + } + + if h, ok := interface{}(m.GetGroupLookupSettings()).(equality.Equalizer); ok { + if !h.Equal(target.GetGroupLookupSettings()) { + return false + } + } else { + if !proto.Equal(m.GetGroupLookupSettings(), target.GetGroupLookupSettings()) { + return false + } + } + + return true +} + +// Equal function +func (m *LdapServiceAccount) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*LdapServiceAccount) + if !ok { + that2, ok := that.(LdapServiceAccount) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCredentialsSecretRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetCredentialsSecretRef()) { + return false + } + } else { + if !proto.Equal(m.GetCredentialsSecretRef(), target.GetCredentialsSecretRef()) { + return false + } + } + + if m.GetCheckGroupsWithServiceAccount() != target.GetCheckGroupsWithServiceAccount() { + return false + } + + return true +} + +// Equal function +func (m *PassThroughAuth) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PassThroughAuth) + if !ok { + that2, ok := that.(PassThroughAuth) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + if m.GetFailureModeAllow() != target.GetFailureModeAllow() { + return false + } + + switch m.Protocol.(type) { + + case *PassThroughAuth_Grpc: + if _, ok := target.Protocol.(*PassThroughAuth_Grpc); !ok { + return false + } + + if h, ok := interface{}(m.GetGrpc()).(equality.Equalizer); ok { + if !h.Equal(target.GetGrpc()) { + return false + } + } else { + if !proto.Equal(m.GetGrpc(), target.GetGrpc()) { + return false + } + } + + case *PassThroughAuth_Http: + if _, ok := target.Protocol.(*PassThroughAuth_Http); !ok { + return false + } + + if h, ok := interface{}(m.GetHttp()).(equality.Equalizer); ok { + if !h.Equal(target.GetHttp()) { + return false + } + } else { + if !proto.Equal(m.GetHttp(), target.GetHttp()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Protocol != target.Protocol { + return false + } + } + + return true +} + +// Equal function +func (m *PassThroughGrpc) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PassThroughGrpc) + if !ok { + that2, ok := that.(PassThroughGrpc) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetAddress(), target.GetAddress()) != 0 { + return false + } + + if h, ok := interface{}(m.GetConnectionTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetConnectionTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetConnectionTimeout(), target.GetConnectionTimeout()) { + return false + } + } + + if h, ok := interface{}(m.GetTlsConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetTlsConfig()) { + return false + } + } else { + if !proto.Equal(m.GetTlsConfig(), target.GetTlsConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *PassThroughGrpcTLSConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PassThroughGrpcTLSConfig) + if !ok { + that2, ok := that.(PassThroughGrpcTLSConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *PassThroughHttp) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PassThroughHttp) + if !ok { + that2, ok := that.(PassThroughHttp) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetUrl(), target.GetUrl()) != 0 { + return false + } + + if h, ok := interface{}(m.GetRequest()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequest()) { + return false + } + } else { + if !proto.Equal(m.GetRequest(), target.GetRequest()) { + return false + } + } + + if h, ok := interface{}(m.GetResponse()).(equality.Equalizer); ok { + if !h.Equal(target.GetResponse()) { + return false + } + } else { + if !proto.Equal(m.GetResponse(), target.GetResponse()) { + return false + } + } + + if h, ok := interface{}(m.GetConnectionTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetConnectionTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetConnectionTimeout(), target.GetConnectionTimeout()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig) + if !ok { + that2, ok := that.(ExtAuthConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetAuthConfigRefName(), target.GetAuthConfigRefName()) != 0 { + return false + } + + if len(m.GetConfigs()) != len(target.GetConfigs()) { + return false + } + for idx, v := range m.GetConfigs() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetConfigs()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetConfigs()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetBooleanExpr()).(equality.Equalizer); ok { + if !h.Equal(target.GetBooleanExpr()) { + return false + } + } else { + if !proto.Equal(m.GetBooleanExpr(), target.GetBooleanExpr()) { + return false + } + } + + if m.GetFailOnRedirect() != target.GetFailOnRedirect() { + return false + } + + return true +} + +// Equal function +func (m *ApiKeyCreateRequest) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKeyCreateRequest) + if !ok { + that2, ok := that.(ApiKeyCreateRequest) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApiKeys()) != len(target.GetApiKeys()) { + return false + } + for idx, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApiKeys()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApiKeys()[idx]) { + return false + } + } + + } + + if len(m.GetRawApiKeys()) != len(target.GetRawApiKeys()) { + return false + } + for idx, v := range m.GetRawApiKeys() { + + if strings.Compare(v, target.GetRawApiKeys()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ApiKeyCreateResponse) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKeyCreateResponse) + if !ok { + that2, ok := that.(ApiKeyCreateResponse) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApiKeys()) != len(target.GetApiKeys()) { + return false + } + for idx, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApiKeys()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApiKeys()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ApiKeyReadRequest) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKeyReadRequest) + if !ok { + that2, ok := that.(ApiKeyReadRequest) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetRawApiKeys()) != len(target.GetRawApiKeys()) { + return false + } + for idx, v := range m.GetRawApiKeys() { + + if strings.Compare(v, target.GetRawApiKeys()[idx]) != 0 { + return false + } + + } + + if len(m.GetLabels()) != len(target.GetLabels()) { + return false + } + for idx, v := range m.GetLabels() { + + if strings.Compare(v, target.GetLabels()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ApiKeyReadResponse) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKeyReadResponse) + if !ok { + that2, ok := that.(ApiKeyReadResponse) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApiKeys()) != len(target.GetApiKeys()) { + return false + } + for idx, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApiKeys()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApiKeys()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ApiKeyUpdateRequest) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKeyUpdateRequest) + if !ok { + that2, ok := that.(ApiKeyUpdateRequest) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetUpsert() != target.GetUpsert() { + return false + } + + if len(m.GetApiKeys()) != len(target.GetApiKeys()) { + return false + } + for idx, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApiKeys()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApiKeys()[idx]) { + return false + } + } + + } + + if len(m.GetRawApiKeys()) != len(target.GetRawApiKeys()) { + return false + } + for idx, v := range m.GetRawApiKeys() { + + if strings.Compare(v, target.GetRawApiKeys()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ApiKeyUpdateResponse) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKeyUpdateResponse) + if !ok { + that2, ok := that.(ApiKeyUpdateResponse) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApiKeys()) != len(target.GetApiKeys()) { + return false + } + for idx, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApiKeys()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApiKeys()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ApiKeyDeleteRequest) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKeyDeleteRequest) + if !ok { + that2, ok := that.(ApiKeyDeleteRequest) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetRawApiKeys()) != len(target.GetRawApiKeys()) { + return false + } + for idx, v := range m.GetRawApiKeys() { + + if strings.Compare(v, target.GetRawApiKeys()[idx]) != 0 { + return false + } + + } + + if len(m.GetLabels()) != len(target.GetLabels()) { + return false + } + for idx, v := range m.GetLabels() { + + if strings.Compare(v, target.GetLabels()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ApiKeyDeleteResponse) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKeyDeleteResponse) + if !ok { + that2, ok := that.(ApiKeyDeleteResponse) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *AuthConfigStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AuthConfigStatus) + if !ok { + that2, ok := that.(AuthConfigStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + if strings.Compare(m.GetReason(), target.GetReason()) != 0 { + return false + } + + if strings.Compare(m.GetReportedBy(), target.GetReportedBy()) != 0 { + return false + } + + if len(m.GetSubresourceStatuses()) != len(target.GetSubresourceStatuses()) { + return false + } + for k, v := range m.GetSubresourceStatuses() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSubresourceStatuses()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetSubresourceStatuses()[k]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetDetails()).(equality.Equalizer); ok { + if !h.Equal(target.GetDetails()) { + return false + } + } else { + if !proto.Equal(m.GetDetails(), target.GetDetails()) { + return false + } + } + + return true +} + +// Equal function +func (m *AuthConfigNamespacedStatuses) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AuthConfigNamespacedStatuses) + if !ok { + that2, ok := that.(AuthConfigNamespacedStatuses) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetStatuses()) != len(target.GetStatuses()) { + return false + } + for k, v := range m.GetStatuses() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetStatuses()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetStatuses()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *AuthConfigSpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AuthConfigSpec_Config) + if !ok { + that2, ok := that.(AuthConfigSpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetName()).(equality.Equalizer); ok { + if !h.Equal(target.GetName()) { + return false + } + } else { + if !proto.Equal(m.GetName(), target.GetName()) { + return false + } + } + + switch m.AuthConfig.(type) { + + case *AuthConfigSpec_Config_BasicAuth: + if _, ok := target.AuthConfig.(*AuthConfigSpec_Config_BasicAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetBasicAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetBasicAuth()) { + return false + } + } else { + if !proto.Equal(m.GetBasicAuth(), target.GetBasicAuth()) { + return false + } + } + + case *AuthConfigSpec_Config_Oauth: + if _, ok := target.AuthConfig.(*AuthConfigSpec_Config_Oauth); !ok { + return false + } + + if h, ok := interface{}(m.GetOauth()).(equality.Equalizer); ok { + if !h.Equal(target.GetOauth()) { + return false + } + } else { + if !proto.Equal(m.GetOauth(), target.GetOauth()) { + return false + } + } + + case *AuthConfigSpec_Config_Oauth2: + if _, ok := target.AuthConfig.(*AuthConfigSpec_Config_Oauth2); !ok { + return false + } + + if h, ok := interface{}(m.GetOauth2()).(equality.Equalizer); ok { + if !h.Equal(target.GetOauth2()) { + return false + } + } else { + if !proto.Equal(m.GetOauth2(), target.GetOauth2()) { + return false + } + } + + case *AuthConfigSpec_Config_ApiKeyAuth: + if _, ok := target.AuthConfig.(*AuthConfigSpec_Config_ApiKeyAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetApiKeyAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetApiKeyAuth()) { + return false + } + } else { + if !proto.Equal(m.GetApiKeyAuth(), target.GetApiKeyAuth()) { + return false + } + } + + case *AuthConfigSpec_Config_PluginAuth: + if _, ok := target.AuthConfig.(*AuthConfigSpec_Config_PluginAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetPluginAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetPluginAuth()) { + return false + } + } else { + if !proto.Equal(m.GetPluginAuth(), target.GetPluginAuth()) { + return false + } + } + + case *AuthConfigSpec_Config_OpaAuth: + if _, ok := target.AuthConfig.(*AuthConfigSpec_Config_OpaAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetOpaAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetOpaAuth()) { + return false + } + } else { + if !proto.Equal(m.GetOpaAuth(), target.GetOpaAuth()) { + return false + } + } + + case *AuthConfigSpec_Config_Ldap: + if _, ok := target.AuthConfig.(*AuthConfigSpec_Config_Ldap); !ok { + return false + } + + if h, ok := interface{}(m.GetLdap()).(equality.Equalizer); ok { + if !h.Equal(target.GetLdap()) { + return false + } + } else { + if !proto.Equal(m.GetLdap(), target.GetLdap()) { + return false + } + } + + case *AuthConfigSpec_Config_Jwt: + if _, ok := target.AuthConfig.(*AuthConfigSpec_Config_Jwt); !ok { + return false + } + + if h, ok := interface{}(m.GetJwt()).(equality.Equalizer); ok { + if !h.Equal(target.GetJwt()) { + return false + } + } else { + if !proto.Equal(m.GetJwt(), target.GetJwt()) { + return false + } + } + + case *AuthConfigSpec_Config_PassThroughAuth: + if _, ok := target.AuthConfig.(*AuthConfigSpec_Config_PassThroughAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetPassThroughAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetPassThroughAuth()) { + return false + } + } else { + if !proto.Equal(m.GetPassThroughAuth(), target.GetPassThroughAuth()) { + return false + } + } + + case *AuthConfigSpec_Config_HmacAuth: + if _, ok := target.AuthConfig.(*AuthConfigSpec_Config_HmacAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetHmacAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetHmacAuth()) { + return false + } + } else { + if !proto.Equal(m.GetHmacAuth(), target.GetHmacAuth()) { + return false + } + } + + case *AuthConfigSpec_Config_OpaServerAuth: + if _, ok := target.AuthConfig.(*AuthConfigSpec_Config_OpaServerAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetOpaServerAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetOpaServerAuth()) { + return false + } + } else { + if !proto.Equal(m.GetOpaServerAuth(), target.GetOpaServerAuth()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.AuthConfig != target.AuthConfig { + return false + } + } + + return true +} + +// Equal function +func (m *HttpService_Request) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HttpService_Request) + if !ok { + that2, ok := that.(HttpService_Request) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetAllowedHeaders()) != len(target.GetAllowedHeaders()) { + return false + } + for idx, v := range m.GetAllowedHeaders() { + + if strings.Compare(v, target.GetAllowedHeaders()[idx]) != 0 { + return false + } + + } + + if len(m.GetHeadersToAdd()) != len(target.GetHeadersToAdd()) { + return false + } + for k, v := range m.GetHeadersToAdd() { + + if strings.Compare(v, target.GetHeadersToAdd()[k]) != 0 { + return false + } + + } + + if len(m.GetAllowedHeadersRegex()) != len(target.GetAllowedHeadersRegex()) { + return false + } + for idx, v := range m.GetAllowedHeadersRegex() { + + if strings.Compare(v, target.GetAllowedHeadersRegex()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *HttpService_Response) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HttpService_Response) + if !ok { + that2, ok := that.(HttpService_Response) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetAllowedUpstreamHeaders()) != len(target.GetAllowedUpstreamHeaders()) { + return false + } + for idx, v := range m.GetAllowedUpstreamHeaders() { + + if strings.Compare(v, target.GetAllowedUpstreamHeaders()[idx]) != 0 { + return false + } + + } + + if len(m.GetAllowedClientHeaders()) != len(target.GetAllowedClientHeaders()) { + return false + } + for idx, v := range m.GetAllowedClientHeaders() { + + if strings.Compare(v, target.GetAllowedClientHeaders()[idx]) != 0 { + return false + } + + } + + if len(m.GetAllowedUpstreamHeadersToAppend()) != len(target.GetAllowedUpstreamHeadersToAppend()) { + return false + } + for idx, v := range m.GetAllowedUpstreamHeadersToAppend() { + + if strings.Compare(v, target.GetAllowedUpstreamHeadersToAppend()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *BasicAuth_Apr) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*BasicAuth_Apr) + if !ok { + that2, ok := that.(BasicAuth_Apr) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetUsers()) != len(target.GetUsers()) { + return false + } + for k, v := range m.GetUsers() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetUsers()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetUsers()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *BasicAuth_EncryptionType) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*BasicAuth_EncryptionType) + if !ok { + that2, ok := that.(BasicAuth_EncryptionType) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Algorithm.(type) { + + case *BasicAuth_EncryptionType_Apr_: + if _, ok := target.Algorithm.(*BasicAuth_EncryptionType_Apr_); !ok { + return false + } + + if h, ok := interface{}(m.GetApr()).(equality.Equalizer); ok { + if !h.Equal(target.GetApr()) { + return false + } + } else { + if !proto.Equal(m.GetApr(), target.GetApr()) { + return false + } + } + + case *BasicAuth_EncryptionType_Sha1_: + if _, ok := target.Algorithm.(*BasicAuth_EncryptionType_Sha1_); !ok { + return false + } + + if h, ok := interface{}(m.GetSha1()).(equality.Equalizer); ok { + if !h.Equal(target.GetSha1()) { + return false + } + } else { + if !proto.Equal(m.GetSha1(), target.GetSha1()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Algorithm != target.Algorithm { + return false + } + } + + return true +} + +// Equal function +func (m *BasicAuth_User) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*BasicAuth_User) + if !ok { + that2, ok := that.(BasicAuth_User) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetSalt(), target.GetSalt()) != 0 { + return false + } + + if strings.Compare(m.GetHashedPassword(), target.GetHashedPassword()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *BasicAuth_UserList) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*BasicAuth_UserList) + if !ok { + that2, ok := that.(BasicAuth_UserList) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetUsers()) != len(target.GetUsers()) { + return false + } + for k, v := range m.GetUsers() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetUsers()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetUsers()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *BasicAuth_Apr_SaltedHashedPassword) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*BasicAuth_Apr_SaltedHashedPassword) + if !ok { + that2, ok := that.(BasicAuth_Apr_SaltedHashedPassword) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetSalt(), target.GetSalt()) != 0 { + return false + } + + if strings.Compare(m.GetHashedPassword(), target.GetHashedPassword()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *BasicAuth_EncryptionType_Sha1) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*BasicAuth_EncryptionType_Sha1) + if !ok { + that2, ok := that.(BasicAuth_EncryptionType_Sha1) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *BasicAuth_EncryptionType_Apr) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*BasicAuth_EncryptionType_Apr) + if !ok { + that2, ok := that.(BasicAuth_EncryptionType_Apr) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *UserSession_InternalSession) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*UserSession_InternalSession) + if !ok { + that2, ok := that.(UserSession_InternalSession) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetAllowRefreshing()).(equality.Equalizer); ok { + if !h.Equal(target.GetAllowRefreshing()) { + return false + } + } else { + if !proto.Equal(m.GetAllowRefreshing(), target.GetAllowRefreshing()) { + return false + } + } + + if strings.Compare(m.GetKeyPrefix(), target.GetKeyPrefix()) != 0 { + return false + } + + if strings.Compare(m.GetTargetDomain(), target.GetTargetDomain()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *UserSession_RedisSession) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*UserSession_RedisSession) + if !ok { + that2, ok := that.(UserSession_RedisSession) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetOptions()) { + return false + } + } else { + if !proto.Equal(m.GetOptions(), target.GetOptions()) { + return false + } + } + + if strings.Compare(m.GetKeyPrefix(), target.GetKeyPrefix()) != 0 { + return false + } + + if strings.Compare(m.GetCookieName(), target.GetCookieName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetAllowRefreshing()).(equality.Equalizer); ok { + if !h.Equal(target.GetAllowRefreshing()) { + return false + } + } else { + if !proto.Equal(m.GetAllowRefreshing(), target.GetAllowRefreshing()) { + return false + } + } + + if h, ok := interface{}(m.GetPreExpiryBuffer()).(equality.Equalizer); ok { + if !h.Equal(target.GetPreExpiryBuffer()) { + return false + } + } else { + if !proto.Equal(m.GetPreExpiryBuffer(), target.GetPreExpiryBuffer()) { + return false + } + } + + if strings.Compare(m.GetTargetDomain(), target.GetTargetDomain()) != 0 { + return false + } + + if strings.Compare(m.GetHeaderName(), target.GetHeaderName()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *UserSession_CookieOptions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*UserSession_CookieOptions) + if !ok { + that2, ok := that.(UserSession_CookieOptions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetMaxAge()).(equality.Equalizer); ok { + if !h.Equal(target.GetMaxAge()) { + return false + } + } else { + if !proto.Equal(m.GetMaxAge(), target.GetMaxAge()) { + return false + } + } + + if m.GetNotSecure() != target.GetNotSecure() { + return false + } + + if h, ok := interface{}(m.GetHttpOnly()).(equality.Equalizer); ok { + if !h.Equal(target.GetHttpOnly()) { + return false + } + } else { + if !proto.Equal(m.GetHttpOnly(), target.GetHttpOnly()) { + return false + } + } + + if h, ok := interface{}(m.GetPath()).(equality.Equalizer); ok { + if !h.Equal(target.GetPath()) { + return false + } + } else { + if !proto.Equal(m.GetPath(), target.GetPath()) { + return false + } + } + + if m.GetSameSite() != target.GetSameSite() { + return false + } + + if strings.Compare(m.GetDomain(), target.GetDomain()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *UserSession_CipherConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*UserSession_CipherConfig) + if !ok { + that2, ok := that.(UserSession_CipherConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Key.(type) { + + case *UserSession_CipherConfig_KeyRef: + if _, ok := target.Key.(*UserSession_CipherConfig_KeyRef); !ok { + return false + } + + if h, ok := interface{}(m.GetKeyRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetKeyRef()) { + return false + } + } else { + if !proto.Equal(m.GetKeyRef(), target.GetKeyRef()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Key != target.Key { + return false + } + } + + return true +} + +// Equal function +func (m *OidcAuthorizationCode_AccessToken) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OidcAuthorizationCode_AccessToken) + if !ok { + that2, ok := that.(OidcAuthorizationCode_AccessToken) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetClaimsToHeaders()) != len(target.GetClaimsToHeaders()) { + return false + } + for idx, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetClaimsToHeaders()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetClaimsToHeaders()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *OidcAuthorizationCode_IdentityToken) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OidcAuthorizationCode_IdentityToken) + if !ok { + that2, ok := that.(OidcAuthorizationCode_IdentityToken) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetClaimsToHeaders()) != len(target.GetClaimsToHeaders()) { + return false + } + for idx, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetClaimsToHeaders()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetClaimsToHeaders()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *OidcAuthorizationCode_ClientAuthentication) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OidcAuthorizationCode_ClientAuthentication) + if !ok { + that2, ok := that.(OidcAuthorizationCode_ClientAuthentication) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.ClientAuthenticationConfig.(type) { + + case *OidcAuthorizationCode_ClientAuthentication_ClientSecret_: + if _, ok := target.ClientAuthenticationConfig.(*OidcAuthorizationCode_ClientAuthentication_ClientSecret_); !ok { + return false + } + + if h, ok := interface{}(m.GetClientSecret()).(equality.Equalizer); ok { + if !h.Equal(target.GetClientSecret()) { + return false + } + } else { + if !proto.Equal(m.GetClientSecret(), target.GetClientSecret()) { + return false + } + } + + case *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt_: + if _, ok := target.ClientAuthenticationConfig.(*OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt_); !ok { + return false + } + + if h, ok := interface{}(m.GetPrivateKeyJwt()).(equality.Equalizer); ok { + if !h.Equal(target.GetPrivateKeyJwt()) { + return false + } + } else { + if !proto.Equal(m.GetPrivateKeyJwt(), target.GetPrivateKeyJwt()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ClientAuthenticationConfig != target.ClientAuthenticationConfig { + return false + } + } + + return true +} + +// Equal function +func (m *OidcAuthorizationCode_Default) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OidcAuthorizationCode_Default) + if !ok { + that2, ok := that.(OidcAuthorizationCode_Default) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *OidcAuthorizationCode_Azure) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OidcAuthorizationCode_Azure) + if !ok { + that2, ok := that.(OidcAuthorizationCode_Azure) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClientId(), target.GetClientId()) != 0 { + return false + } + + if strings.Compare(m.GetTenantId(), target.GetTenantId()) != 0 { + return false + } + + if h, ok := interface{}(m.GetClientSecret()).(equality.Equalizer); ok { + if !h.Equal(target.GetClientSecret()) { + return false + } + } else { + if !proto.Equal(m.GetClientSecret(), target.GetClientSecret()) { + return false + } + } + + if h, ok := interface{}(m.GetClaimsCachingOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetClaimsCachingOptions()) { + return false + } + } else { + if !proto.Equal(m.GetClaimsCachingOptions(), target.GetClaimsCachingOptions()) { + return false + } + } + + return true +} + +// Equal function +func (m *OidcAuthorizationCode_ClientAuthentication_ClientSecret) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OidcAuthorizationCode_ClientAuthentication_ClientSecret) + if !ok { + that2, ok := that.(OidcAuthorizationCode_ClientAuthentication_ClientSecret) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetClientSecretRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetClientSecretRef()) { + return false + } + } else { + if !proto.Equal(m.GetClientSecretRef(), target.GetClientSecretRef()) { + return false + } + } + + if h, ok := interface{}(m.GetDisableClientSecret()).(equality.Equalizer); ok { + if !h.Equal(target.GetDisableClientSecret()) { + return false + } + } else { + if !proto.Equal(m.GetDisableClientSecret(), target.GetDisableClientSecret()) { + return false + } + } + + return true +} + +// Equal function +func (m *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt) + if !ok { + that2, ok := that.(OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetSigningKeyRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetSigningKeyRef()) { + return false + } + } else { + if !proto.Equal(m.GetSigningKeyRef(), target.GetSigningKeyRef()) { + return false + } + } + + if h, ok := interface{}(m.GetValidFor()).(equality.Equalizer); ok { + if !h.Equal(target.GetValidFor()) { + return false + } + } else { + if !proto.Equal(m.GetValidFor(), target.GetValidFor()) { + return false + } + } + + return true +} + +// Equal function +func (m *JwtValidation_RemoteJwks) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JwtValidation_RemoteJwks) + if !ok { + that2, ok := that.(JwtValidation_RemoteJwks) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetUrl(), target.GetUrl()) != 0 { + return false + } + + if h, ok := interface{}(m.GetRefreshInterval()).(equality.Equalizer); ok { + if !h.Equal(target.GetRefreshInterval()) { + return false + } + } else { + if !proto.Equal(m.GetRefreshInterval(), target.GetRefreshInterval()) { + return false + } + } + + return true +} + +// Equal function +func (m *JwtValidation_LocalJwks) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JwtValidation_LocalJwks) + if !ok { + that2, ok := that.(JwtValidation_LocalJwks) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetInlineString(), target.GetInlineString()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *AccessTokenValidation_ScopeList) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessTokenValidation_ScopeList) + if !ok { + that2, ok := that.(AccessTokenValidation_ScopeList) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetScope()) != len(target.GetScope()) { + return false + } + for idx, v := range m.GetScope() { + + if strings.Compare(v, target.GetScope()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ApiKeyAuth_SecretKey) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKeyAuth_SecretKey) + if !ok { + that2, ok := that.(ApiKeyAuth_SecretKey) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if m.GetRequired() != target.GetRequired() { + return false + } + + return true +} + +// Equal function +func (m *ApiKeyAuth_MetadataEntry) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ApiKeyAuth_MetadataEntry) + if !ok { + that2, ok := that.(ApiKeyAuth_MetadataEntry) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if m.GetRequired() != target.GetRequired() { + return false + } + + return true +} + +// Equal function +func (m *AerospikeApiKeyStorageReadModeSc) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AerospikeApiKeyStorageReadModeSc) + if !ok { + that2, ok := that.(AerospikeApiKeyStorageReadModeSc) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.ReadModeSc.(type) { + + case *AerospikeApiKeyStorageReadModeSc_ReadModeScSession: + if _, ok := target.ReadModeSc.(*AerospikeApiKeyStorageReadModeSc_ReadModeScSession); !ok { + return false + } + + if m.GetReadModeScSession() != target.GetReadModeScSession() { + return false + } + + case *AerospikeApiKeyStorageReadModeSc_ReadModeScLinearize: + if _, ok := target.ReadModeSc.(*AerospikeApiKeyStorageReadModeSc_ReadModeScLinearize); !ok { + return false + } + + if m.GetReadModeScLinearize() != target.GetReadModeScLinearize() { + return false + } + + case *AerospikeApiKeyStorageReadModeSc_ReadModeScReplica: + if _, ok := target.ReadModeSc.(*AerospikeApiKeyStorageReadModeSc_ReadModeScReplica); !ok { + return false + } + + if m.GetReadModeScReplica() != target.GetReadModeScReplica() { + return false + } + + case *AerospikeApiKeyStorageReadModeSc_ReadModeScAllowUnavailable: + if _, ok := target.ReadModeSc.(*AerospikeApiKeyStorageReadModeSc_ReadModeScAllowUnavailable); !ok { + return false + } + + if m.GetReadModeScAllowUnavailable() != target.GetReadModeScAllowUnavailable() { + return false + } + + default: + // m is nil but target is not nil + if m.ReadModeSc != target.ReadModeSc { + return false + } + } + + return true +} + +// Equal function +func (m *AerospikeApiKeyStorageReadModeAp) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AerospikeApiKeyStorageReadModeAp) + if !ok { + that2, ok := that.(AerospikeApiKeyStorageReadModeAp) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.ReadModeAp.(type) { + + case *AerospikeApiKeyStorageReadModeAp_ReadModeApOne: + if _, ok := target.ReadModeAp.(*AerospikeApiKeyStorageReadModeAp_ReadModeApOne); !ok { + return false + } + + if m.GetReadModeApOne() != target.GetReadModeApOne() { + return false + } + + case *AerospikeApiKeyStorageReadModeAp_ReadModeApAll: + if _, ok := target.ReadModeAp.(*AerospikeApiKeyStorageReadModeAp_ReadModeApAll); !ok { + return false + } + + if m.GetReadModeApAll() != target.GetReadModeApAll() { + return false + } + + default: + // m is nil but target is not nil + if m.ReadModeAp != target.ReadModeAp { + return false + } + } + + return true +} + +// Equal function +func (m *AerospikeApiKeyStorageTlsCurveID) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AerospikeApiKeyStorageTlsCurveID) + if !ok { + that2, ok := that.(AerospikeApiKeyStorageTlsCurveID) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.CurveId.(type) { + + case *AerospikeApiKeyStorageTlsCurveID_CurveP256: + if _, ok := target.CurveId.(*AerospikeApiKeyStorageTlsCurveID_CurveP256); !ok { + return false + } + + if m.GetCurveP256() != target.GetCurveP256() { + return false + } + + case *AerospikeApiKeyStorageTlsCurveID_CurveP384: + if _, ok := target.CurveId.(*AerospikeApiKeyStorageTlsCurveID_CurveP384); !ok { + return false + } + + if m.GetCurveP384() != target.GetCurveP384() { + return false + } + + case *AerospikeApiKeyStorageTlsCurveID_CurveP521: + if _, ok := target.CurveId.(*AerospikeApiKeyStorageTlsCurveID_CurveP521); !ok { + return false + } + + if m.GetCurveP521() != target.GetCurveP521() { + return false + } + + case *AerospikeApiKeyStorageTlsCurveID_X_25519: + if _, ok := target.CurveId.(*AerospikeApiKeyStorageTlsCurveID_X_25519); !ok { + return false + } + + if m.GetX_25519() != target.GetX_25519() { + return false + } + + default: + // m is nil but target is not nil + if m.CurveId != target.CurveId { + return false + } + } + + return true +} + +// Equal function +func (m *Ldap_ConnectionPool) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Ldap_ConnectionPool) + if !ok { + that2, ok := that.(Ldap_ConnectionPool) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetMaxSize()).(equality.Equalizer); ok { + if !h.Equal(target.GetMaxSize()) { + return false + } + } else { + if !proto.Equal(m.GetMaxSize(), target.GetMaxSize()) { + return false + } + } + + if h, ok := interface{}(m.GetInitialSize()).(equality.Equalizer); ok { + if !h.Equal(target.GetInitialSize()) { + return false + } + } else { + if !proto.Equal(m.GetInitialSize(), target.GetInitialSize()) { + return false + } + } + + return true +} + +// Equal function +func (m *PassThroughHttp_Request) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PassThroughHttp_Request) + if !ok { + that2, ok := that.(PassThroughHttp_Request) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetAllowedHeaders()) != len(target.GetAllowedHeaders()) { + return false + } + for idx, v := range m.GetAllowedHeaders() { + + if strings.Compare(v, target.GetAllowedHeaders()[idx]) != 0 { + return false + } + + } + + if len(m.GetHeadersToAdd()) != len(target.GetHeadersToAdd()) { + return false + } + for k, v := range m.GetHeadersToAdd() { + + if strings.Compare(v, target.GetHeadersToAdd()[k]) != 0 { + return false + } + + } + + if m.GetPassThroughState() != target.GetPassThroughState() { + return false + } + + if m.GetPassThroughFilterMetadata() != target.GetPassThroughFilterMetadata() { + return false + } + + if m.GetPassThroughBody() != target.GetPassThroughBody() { + return false + } + + return true +} + +// Equal function +func (m *PassThroughHttp_Response) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PassThroughHttp_Response) + if !ok { + that2, ok := that.(PassThroughHttp_Response) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetAllowedUpstreamHeaders()) != len(target.GetAllowedUpstreamHeaders()) { + return false + } + for idx, v := range m.GetAllowedUpstreamHeaders() { + + if strings.Compare(v, target.GetAllowedUpstreamHeaders()[idx]) != 0 { + return false + } + + } + + if len(m.GetAllowedClientHeadersOnDenied()) != len(target.GetAllowedClientHeadersOnDenied()) { + return false + } + for idx, v := range m.GetAllowedClientHeadersOnDenied() { + + if strings.Compare(v, target.GetAllowedClientHeadersOnDenied()[idx]) != 0 { + return false + } + + } + + if m.GetReadStateFromResponse() != target.GetReadStateFromResponse() { + return false + } + + if len(m.GetAllowedUpstreamHeadersToOverwrite()) != len(target.GetAllowedUpstreamHeadersToOverwrite()) { + return false + } + for idx, v := range m.GetAllowedUpstreamHeadersToOverwrite() { + + if strings.Compare(v, target.GetAllowedUpstreamHeadersToOverwrite()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_BasicAuthInternal) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_BasicAuthInternal) + if !ok { + that2, ok := that.(ExtAuthConfig_BasicAuthInternal) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetRealm(), target.GetRealm()) != 0 { + return false + } + + if h, ok := interface{}(m.GetEncryption()).(equality.Equalizer); ok { + if !h.Equal(target.GetEncryption()) { + return false + } + } else { + if !proto.Equal(m.GetEncryption(), target.GetEncryption()) { + return false + } + } + + switch m.UserSource.(type) { + + case *ExtAuthConfig_BasicAuthInternal_UserList_: + if _, ok := target.UserSource.(*ExtAuthConfig_BasicAuthInternal_UserList_); !ok { + return false + } + + if h, ok := interface{}(m.GetUserList()).(equality.Equalizer); ok { + if !h.Equal(target.GetUserList()) { + return false + } + } else { + if !proto.Equal(m.GetUserList(), target.GetUserList()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.UserSource != target.UserSource { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_OAuthConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_OAuthConfig) + if !ok { + that2, ok := that.(ExtAuthConfig_OAuthConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClientId(), target.GetClientId()) != 0 { + return false + } + + if strings.Compare(m.GetClientSecret(), target.GetClientSecret()) != 0 { + return false + } + + if strings.Compare(m.GetIssuerUrl(), target.GetIssuerUrl()) != 0 { + return false + } + + if len(m.GetAuthEndpointQueryParams()) != len(target.GetAuthEndpointQueryParams()) { + return false + } + for k, v := range m.GetAuthEndpointQueryParams() { + + if strings.Compare(v, target.GetAuthEndpointQueryParams()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetAppUrl(), target.GetAppUrl()) != 0 { + return false + } + + if strings.Compare(m.GetCallbackPath(), target.GetCallbackPath()) != 0 { + return false + } + + if len(m.GetScopes()) != len(target.GetScopes()) { + return false + } + for idx, v := range m.GetScopes() { + + if strings.Compare(v, target.GetScopes()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_UserSessionConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_UserSessionConfig) + if !ok { + that2, ok := that.(ExtAuthConfig_UserSessionConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetFailOnFetchFailure() != target.GetFailOnFetchFailure() { + return false + } + + if h, ok := interface{}(m.GetCookieOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetCookieOptions()) { + return false + } + } else { + if !proto.Equal(m.GetCookieOptions(), target.GetCookieOptions()) { + return false + } + } + + if h, ok := interface{}(m.GetCipherConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetCipherConfig()) { + return false + } + } else { + if !proto.Equal(m.GetCipherConfig(), target.GetCipherConfig()) { + return false + } + } + + switch m.Session.(type) { + + case *ExtAuthConfig_UserSessionConfig_Cookie: + if _, ok := target.Session.(*ExtAuthConfig_UserSessionConfig_Cookie); !ok { + return false + } + + if h, ok := interface{}(m.GetCookie()).(equality.Equalizer); ok { + if !h.Equal(target.GetCookie()) { + return false + } + } else { + if !proto.Equal(m.GetCookie(), target.GetCookie()) { + return false + } + } + + case *ExtAuthConfig_UserSessionConfig_Redis: + if _, ok := target.Session.(*ExtAuthConfig_UserSessionConfig_Redis); !ok { + return false + } + + if h, ok := interface{}(m.GetRedis()).(equality.Equalizer); ok { + if !h.Equal(target.GetRedis()) { + return false + } + } else { + if !proto.Equal(m.GetRedis(), target.GetRedis()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Session != target.Session { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_OidcAuthorizationCodeConfig) + if !ok { + that2, ok := that.(ExtAuthConfig_OidcAuthorizationCodeConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClientId(), target.GetClientId()) != 0 { + return false + } + + if strings.Compare(m.GetClientSecret(), target.GetClientSecret()) != 0 { + return false + } + + if strings.Compare(m.GetIssuerUrl(), target.GetIssuerUrl()) != 0 { + return false + } + + if len(m.GetAuthEndpointQueryParams()) != len(target.GetAuthEndpointQueryParams()) { + return false + } + for k, v := range m.GetAuthEndpointQueryParams() { + + if strings.Compare(v, target.GetAuthEndpointQueryParams()[k]) != 0 { + return false + } + + } + + if len(m.GetTokenEndpointQueryParams()) != len(target.GetTokenEndpointQueryParams()) { + return false + } + for k, v := range m.GetTokenEndpointQueryParams() { + + if strings.Compare(v, target.GetTokenEndpointQueryParams()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetAppUrl(), target.GetAppUrl()) != 0 { + return false + } + + if strings.Compare(m.GetCallbackPath(), target.GetCallbackPath()) != 0 { + return false + } + + if strings.Compare(m.GetLogoutPath(), target.GetLogoutPath()) != 0 { + return false + } + + if strings.Compare(m.GetAfterLogoutUrl(), target.GetAfterLogoutUrl()) != 0 { + return false + } + + if len(m.GetScopes()) != len(target.GetScopes()) { + return false + } + for idx, v := range m.GetScopes() { + + if strings.Compare(v, target.GetScopes()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetSession()).(equality.Equalizer); ok { + if !h.Equal(target.GetSession()) { + return false + } + } else { + if !proto.Equal(m.GetSession(), target.GetSession()) { + return false + } + } + + if h, ok := interface{}(m.GetHeaders()).(equality.Equalizer); ok { + if !h.Equal(target.GetHeaders()) { + return false + } + } else { + if !proto.Equal(m.GetHeaders(), target.GetHeaders()) { + return false + } + } + + if h, ok := interface{}(m.GetDiscoveryOverride()).(equality.Equalizer); ok { + if !h.Equal(target.GetDiscoveryOverride()) { + return false + } + } else { + if !proto.Equal(m.GetDiscoveryOverride(), target.GetDiscoveryOverride()) { + return false + } + } + + if h, ok := interface{}(m.GetDiscoveryPollInterval()).(equality.Equalizer); ok { + if !h.Equal(target.GetDiscoveryPollInterval()) { + return false + } + } else { + if !proto.Equal(m.GetDiscoveryPollInterval(), target.GetDiscoveryPollInterval()) { + return false + } + } + + if h, ok := interface{}(m.GetJwksCacheRefreshPolicy()).(equality.Equalizer); ok { + if !h.Equal(target.GetJwksCacheRefreshPolicy()) { + return false + } + } else { + if !proto.Equal(m.GetJwksCacheRefreshPolicy(), target.GetJwksCacheRefreshPolicy()) { + return false + } + } + + if strings.Compare(m.GetSessionIdHeaderName(), target.GetSessionIdHeaderName()) != 0 { + return false + } + + if m.GetParseCallbackPathAsRegex() != target.GetParseCallbackPathAsRegex() { + return false + } + + if h, ok := interface{}(m.GetAutoMapFromMetadata()).(equality.Equalizer); ok { + if !h.Equal(target.GetAutoMapFromMetadata()) { + return false + } + } else { + if !proto.Equal(m.GetAutoMapFromMetadata(), target.GetAutoMapFromMetadata()) { + return false + } + } + + if h, ok := interface{}(m.GetEndSessionProperties()).(equality.Equalizer); ok { + if !h.Equal(target.GetEndSessionProperties()) { + return false + } + } else { + if !proto.Equal(m.GetEndSessionProperties(), target.GetEndSessionProperties()) { + return false + } + } + + if h, ok := interface{}(m.GetUserSession()).(equality.Equalizer); ok { + if !h.Equal(target.GetUserSession()) { + return false + } + } else { + if !proto.Equal(m.GetUserSession(), target.GetUserSession()) { + return false + } + } + + if h, ok := interface{}(m.GetPkJwtClientAuthenticationConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetPkJwtClientAuthenticationConfig()) { + return false + } + } else { + if !proto.Equal(m.GetPkJwtClientAuthenticationConfig(), target.GetPkJwtClientAuthenticationConfig()) { + return false + } + } + + if h, ok := interface{}(m.GetAccessToken()).(equality.Equalizer); ok { + if !h.Equal(target.GetAccessToken()) { + return false + } + } else { + if !proto.Equal(m.GetAccessToken(), target.GetAccessToken()) { + return false + } + } + + if h, ok := interface{}(m.GetIdentityToken()).(equality.Equalizer); ok { + if !h.Equal(target.GetIdentityToken()) { + return false + } + } else { + if !proto.Equal(m.GetIdentityToken(), target.GetIdentityToken()) { + return false + } + } + + switch m.Provider.(type) { + + case *ExtAuthConfig_OidcAuthorizationCodeConfig_Default_: + if _, ok := target.Provider.(*ExtAuthConfig_OidcAuthorizationCodeConfig_Default_); !ok { + return false + } + + if h, ok := interface{}(m.GetDefault()).(equality.Equalizer); ok { + if !h.Equal(target.GetDefault()) { + return false + } + } else { + if !proto.Equal(m.GetDefault(), target.GetDefault()) { + return false + } + } + + case *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure_: + if _, ok := target.Provider.(*ExtAuthConfig_OidcAuthorizationCodeConfig_Azure_); !ok { + return false + } + + if h, ok := interface{}(m.GetAzure()).(equality.Equalizer); ok { + if !h.Equal(target.GetAzure()) { + return false + } + } else { + if !proto.Equal(m.GetAzure(), target.GetAzure()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Provider != target.Provider { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_AccessTokenValidationConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_AccessTokenValidationConfig) + if !ok { + that2, ok := that.(ExtAuthConfig_AccessTokenValidationConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetUserinfoUrl(), target.GetUserinfoUrl()) != 0 { + return false + } + + if h, ok := interface{}(m.GetCacheTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetCacheTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetCacheTimeout(), target.GetCacheTimeout()) { + return false + } + } + + switch m.ValidationType.(type) { + + case *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionUrl: + if _, ok := target.ValidationType.(*ExtAuthConfig_AccessTokenValidationConfig_IntrospectionUrl); !ok { + return false + } + + if strings.Compare(m.GetIntrospectionUrl(), target.GetIntrospectionUrl()) != 0 { + return false + } + + case *ExtAuthConfig_AccessTokenValidationConfig_Jwt: + if _, ok := target.ValidationType.(*ExtAuthConfig_AccessTokenValidationConfig_Jwt); !ok { + return false + } + + if h, ok := interface{}(m.GetJwt()).(equality.Equalizer); ok { + if !h.Equal(target.GetJwt()) { + return false + } + } else { + if !proto.Equal(m.GetJwt(), target.GetJwt()) { + return false + } + } + + case *ExtAuthConfig_AccessTokenValidationConfig_Introspection: + if _, ok := target.ValidationType.(*ExtAuthConfig_AccessTokenValidationConfig_Introspection); !ok { + return false + } + + if h, ok := interface{}(m.GetIntrospection()).(equality.Equalizer); ok { + if !h.Equal(target.GetIntrospection()) { + return false + } + } else { + if !proto.Equal(m.GetIntrospection(), target.GetIntrospection()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ValidationType != target.ValidationType { + return false + } + } + + switch m.ScopeValidation.(type) { + + case *ExtAuthConfig_AccessTokenValidationConfig_RequiredScopes: + if _, ok := target.ScopeValidation.(*ExtAuthConfig_AccessTokenValidationConfig_RequiredScopes); !ok { + return false + } + + if h, ok := interface{}(m.GetRequiredScopes()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequiredScopes()) { + return false + } + } else { + if !proto.Equal(m.GetRequiredScopes(), target.GetRequiredScopes()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ScopeValidation != target.ScopeValidation { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_PlainOAuth2Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_PlainOAuth2Config) + if !ok { + that2, ok := that.(ExtAuthConfig_PlainOAuth2Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClientId(), target.GetClientId()) != 0 { + return false + } + + if strings.Compare(m.GetClientSecret(), target.GetClientSecret()) != 0 { + return false + } + + if len(m.GetAuthEndpointQueryParams()) != len(target.GetAuthEndpointQueryParams()) { + return false + } + for k, v := range m.GetAuthEndpointQueryParams() { + + if strings.Compare(v, target.GetAuthEndpointQueryParams()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetAppUrl(), target.GetAppUrl()) != 0 { + return false + } + + if strings.Compare(m.GetCallbackPath(), target.GetCallbackPath()) != 0 { + return false + } + + if len(m.GetScopes()) != len(target.GetScopes()) { + return false + } + for idx, v := range m.GetScopes() { + + if strings.Compare(v, target.GetScopes()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetSession()).(equality.Equalizer); ok { + if !h.Equal(target.GetSession()) { + return false + } + } else { + if !proto.Equal(m.GetSession(), target.GetSession()) { + return false + } + } + + if strings.Compare(m.GetLogoutPath(), target.GetLogoutPath()) != 0 { + return false + } + + if len(m.GetTokenEndpointQueryParams()) != len(target.GetTokenEndpointQueryParams()) { + return false + } + for k, v := range m.GetTokenEndpointQueryParams() { + + if strings.Compare(v, target.GetTokenEndpointQueryParams()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetAfterLogoutUrl(), target.GetAfterLogoutUrl()) != 0 { + return false + } + + if strings.Compare(m.GetAuthEndpoint(), target.GetAuthEndpoint()) != 0 { + return false + } + + if strings.Compare(m.GetTokenEndpoint(), target.GetTokenEndpoint()) != 0 { + return false + } + + if strings.Compare(m.GetRevocationEndpoint(), target.GetRevocationEndpoint()) != 0 { + return false + } + + if h, ok := interface{}(m.GetUserSession()).(equality.Equalizer); ok { + if !h.Equal(target.GetUserSession()) { + return false + } + } else { + if !proto.Equal(m.GetUserSession(), target.GetUserSession()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_OAuth2Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_OAuth2Config) + if !ok { + that2, ok := that.(ExtAuthConfig_OAuth2Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.OauthType.(type) { + + case *ExtAuthConfig_OAuth2Config_OidcAuthorizationCode: + if _, ok := target.OauthType.(*ExtAuthConfig_OAuth2Config_OidcAuthorizationCode); !ok { + return false + } + + if h, ok := interface{}(m.GetOidcAuthorizationCode()).(equality.Equalizer); ok { + if !h.Equal(target.GetOidcAuthorizationCode()) { + return false + } + } else { + if !proto.Equal(m.GetOidcAuthorizationCode(), target.GetOidcAuthorizationCode()) { + return false + } + } + + case *ExtAuthConfig_OAuth2Config_AccessTokenValidationConfig: + if _, ok := target.OauthType.(*ExtAuthConfig_OAuth2Config_AccessTokenValidationConfig); !ok { + return false + } + + if h, ok := interface{}(m.GetAccessTokenValidationConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetAccessTokenValidationConfig()) { + return false + } + } else { + if !proto.Equal(m.GetAccessTokenValidationConfig(), target.GetAccessTokenValidationConfig()) { + return false + } + } + + case *ExtAuthConfig_OAuth2Config_Oauth2Config: + if _, ok := target.OauthType.(*ExtAuthConfig_OAuth2Config_Oauth2Config); !ok { + return false + } + + if h, ok := interface{}(m.GetOauth2Config()).(equality.Equalizer); ok { + if !h.Equal(target.GetOauth2Config()) { + return false + } + } else { + if !proto.Equal(m.GetOauth2Config(), target.GetOauth2Config()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.OauthType != target.OauthType { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_ApiKeyAuthConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_ApiKeyAuthConfig) + if !ok { + that2, ok := that.(ExtAuthConfig_ApiKeyAuthConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetValidApiKeys()) != len(target.GetValidApiKeys()) { + return false + } + for k, v := range m.GetValidApiKeys() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetValidApiKeys()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetValidApiKeys()[k]) { + return false + } + } + + } + + if strings.Compare(m.GetHeaderName(), target.GetHeaderName()) != 0 { + return false + } + + if len(m.GetHeadersFromKeyMetadata()) != len(target.GetHeadersFromKeyMetadata()) { + return false + } + for k, v := range m.GetHeadersFromKeyMetadata() { + + if strings.Compare(v, target.GetHeadersFromKeyMetadata()[k]) != 0 { + return false + } + + } + + switch m.StorageBackend.(type) { + + case *ExtAuthConfig_ApiKeyAuthConfig_K8SSecretApikeyStorage: + if _, ok := target.StorageBackend.(*ExtAuthConfig_ApiKeyAuthConfig_K8SSecretApikeyStorage); !ok { + return false + } + + if h, ok := interface{}(m.GetK8SSecretApikeyStorage()).(equality.Equalizer); ok { + if !h.Equal(target.GetK8SSecretApikeyStorage()) { + return false + } + } else { + if !proto.Equal(m.GetK8SSecretApikeyStorage(), target.GetK8SSecretApikeyStorage()) { + return false + } + } + + case *ExtAuthConfig_ApiKeyAuthConfig_AerospikeApikeyStorage: + if _, ok := target.StorageBackend.(*ExtAuthConfig_ApiKeyAuthConfig_AerospikeApikeyStorage); !ok { + return false + } + + if h, ok := interface{}(m.GetAerospikeApikeyStorage()).(equality.Equalizer); ok { + if !h.Equal(target.GetAerospikeApikeyStorage()) { + return false + } + } else { + if !proto.Equal(m.GetAerospikeApikeyStorage(), target.GetAerospikeApikeyStorage()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.StorageBackend != target.StorageBackend { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_OpaAuthConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_OpaAuthConfig) + if !ok { + that2, ok := that.(ExtAuthConfig_OpaAuthConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetModules()) != len(target.GetModules()) { + return false + } + for k, v := range m.GetModules() { + + if strings.Compare(v, target.GetModules()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetQuery(), target.GetQuery()) != 0 { + return false + } + + if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetOptions()) { + return false + } + } else { + if !proto.Equal(m.GetOptions(), target.GetOptions()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_OpaServerAuthConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_OpaServerAuthConfig) + if !ok { + that2, ok := that.(ExtAuthConfig_OpaServerAuthConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetPackage(), target.GetPackage()) != 0 { + return false + } + + if strings.Compare(m.GetRuleName(), target.GetRuleName()) != 0 { + return false + } + + if strings.Compare(m.GetServerAddr(), target.GetServerAddr()) != 0 { + return false + } + + if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetOptions()) { + return false + } + } else { + if !proto.Equal(m.GetOptions(), target.GetOptions()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_LdapConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_LdapConfig) + if !ok { + that2, ok := that.(ExtAuthConfig_LdapConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetAddress(), target.GetAddress()) != 0 { + return false + } + + if strings.Compare(m.GetUserDnTemplate(), target.GetUserDnTemplate()) != 0 { + return false + } + + if strings.Compare(m.GetMembershipAttributeName(), target.GetMembershipAttributeName()) != 0 { + return false + } + + if len(m.GetAllowedGroups()) != len(target.GetAllowedGroups()) { + return false + } + for idx, v := range m.GetAllowedGroups() { + + if strings.Compare(v, target.GetAllowedGroups()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetPool()).(equality.Equalizer); ok { + if !h.Equal(target.GetPool()) { + return false + } + } else { + if !proto.Equal(m.GetPool(), target.GetPool()) { + return false + } + } + + if strings.Compare(m.GetSearchFilter(), target.GetSearchFilter()) != 0 { + return false + } + + if m.GetDisableGroupChecking() != target.GetDisableGroupChecking() { + return false + } + + if h, ok := interface{}(m.GetGroupLookupSettings()).(equality.Equalizer); ok { + if !h.Equal(target.GetGroupLookupSettings()) { + return false + } + } else { + if !proto.Equal(m.GetGroupLookupSettings(), target.GetGroupLookupSettings()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_LdapServiceAccountConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_LdapServiceAccountConfig) + if !ok { + that2, ok := that.(ExtAuthConfig_LdapServiceAccountConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetUsername(), target.GetUsername()) != 0 { + return false + } + + if strings.Compare(m.GetPassword(), target.GetPassword()) != 0 { + return false + } + + if m.GetCheckGroupsWithServiceAccount() != target.GetCheckGroupsWithServiceAccount() { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_HmacAuthConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_HmacAuthConfig) + if !ok { + that2, ok := that.(ExtAuthConfig_HmacAuthConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.SecretStorage.(type) { + + case *ExtAuthConfig_HmacAuthConfig_SecretList: + if _, ok := target.SecretStorage.(*ExtAuthConfig_HmacAuthConfig_SecretList); !ok { + return false + } + + if h, ok := interface{}(m.GetSecretList()).(equality.Equalizer); ok { + if !h.Equal(target.GetSecretList()) { + return false + } + } else { + if !proto.Equal(m.GetSecretList(), target.GetSecretList()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.SecretStorage != target.SecretStorage { + return false + } + } + + switch m.ImplementationType.(type) { + + case *ExtAuthConfig_HmacAuthConfig_ParametersInHeaders: + if _, ok := target.ImplementationType.(*ExtAuthConfig_HmacAuthConfig_ParametersInHeaders); !ok { + return false + } + + if h, ok := interface{}(m.GetParametersInHeaders()).(equality.Equalizer); ok { + if !h.Equal(target.GetParametersInHeaders()) { + return false + } + } else { + if !proto.Equal(m.GetParametersInHeaders(), target.GetParametersInHeaders()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ImplementationType != target.ImplementationType { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_InMemorySecretList) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_InMemorySecretList) + if !ok { + that2, ok := that.(ExtAuthConfig_InMemorySecretList) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetSecretList()) != len(target.GetSecretList()) { + return false + } + for k, v := range m.GetSecretList() { + + if strings.Compare(v, target.GetSecretList()[k]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_Config) + if !ok { + that2, ok := that.(ExtAuthConfig_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetName()).(equality.Equalizer); ok { + if !h.Equal(target.GetName()) { + return false + } + } else { + if !proto.Equal(m.GetName(), target.GetName()) { + return false + } + } + + switch m.AuthConfig.(type) { + + case *ExtAuthConfig_Config_Oauth: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_Oauth); !ok { + return false + } + + if h, ok := interface{}(m.GetOauth()).(equality.Equalizer); ok { + if !h.Equal(target.GetOauth()) { + return false + } + } else { + if !proto.Equal(m.GetOauth(), target.GetOauth()) { + return false + } + } + + case *ExtAuthConfig_Config_Oauth2: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_Oauth2); !ok { + return false + } + + if h, ok := interface{}(m.GetOauth2()).(equality.Equalizer); ok { + if !h.Equal(target.GetOauth2()) { + return false + } + } else { + if !proto.Equal(m.GetOauth2(), target.GetOauth2()) { + return false + } + } + + case *ExtAuthConfig_Config_BasicAuth: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_BasicAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetBasicAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetBasicAuth()) { + return false + } + } else { + if !proto.Equal(m.GetBasicAuth(), target.GetBasicAuth()) { + return false + } + } + + case *ExtAuthConfig_Config_BasicAuthInternal: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_BasicAuthInternal); !ok { + return false + } + + if h, ok := interface{}(m.GetBasicAuthInternal()).(equality.Equalizer); ok { + if !h.Equal(target.GetBasicAuthInternal()) { + return false + } + } else { + if !proto.Equal(m.GetBasicAuthInternal(), target.GetBasicAuthInternal()) { + return false + } + } + + case *ExtAuthConfig_Config_ApiKeyAuth: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_ApiKeyAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetApiKeyAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetApiKeyAuth()) { + return false + } + } else { + if !proto.Equal(m.GetApiKeyAuth(), target.GetApiKeyAuth()) { + return false + } + } + + case *ExtAuthConfig_Config_PluginAuth: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_PluginAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetPluginAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetPluginAuth()) { + return false + } + } else { + if !proto.Equal(m.GetPluginAuth(), target.GetPluginAuth()) { + return false + } + } + + case *ExtAuthConfig_Config_OpaAuth: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_OpaAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetOpaAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetOpaAuth()) { + return false + } + } else { + if !proto.Equal(m.GetOpaAuth(), target.GetOpaAuth()) { + return false + } + } + + case *ExtAuthConfig_Config_Ldap: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_Ldap); !ok { + return false + } + + if h, ok := interface{}(m.GetLdap()).(equality.Equalizer); ok { + if !h.Equal(target.GetLdap()) { + return false + } + } else { + if !proto.Equal(m.GetLdap(), target.GetLdap()) { + return false + } + } + + case *ExtAuthConfig_Config_LdapInternal: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_LdapInternal); !ok { + return false + } + + if h, ok := interface{}(m.GetLdapInternal()).(equality.Equalizer); ok { + if !h.Equal(target.GetLdapInternal()) { + return false + } + } else { + if !proto.Equal(m.GetLdapInternal(), target.GetLdapInternal()) { + return false + } + } + + case *ExtAuthConfig_Config_Jwt: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_Jwt); !ok { + return false + } + + if h, ok := interface{}(m.GetJwt()).(equality.Equalizer); ok { + if !h.Equal(target.GetJwt()) { + return false + } + } else { + if !proto.Equal(m.GetJwt(), target.GetJwt()) { + return false + } + } + + case *ExtAuthConfig_Config_PassThroughAuth: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_PassThroughAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetPassThroughAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetPassThroughAuth()) { + return false + } + } else { + if !proto.Equal(m.GetPassThroughAuth(), target.GetPassThroughAuth()) { + return false + } + } + + case *ExtAuthConfig_Config_HmacAuth: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_HmacAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetHmacAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetHmacAuth()) { + return false + } + } else { + if !proto.Equal(m.GetHmacAuth(), target.GetHmacAuth()) { + return false + } + } + + case *ExtAuthConfig_Config_OpaServerAuth: + if _, ok := target.AuthConfig.(*ExtAuthConfig_Config_OpaServerAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetOpaServerAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetOpaServerAuth()) { + return false + } + } else { + if !proto.Equal(m.GetOpaServerAuth(), target.GetOpaServerAuth()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.AuthConfig != target.AuthConfig { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_BasicAuthInternal_EncryptionType) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_BasicAuthInternal_EncryptionType) + if !ok { + that2, ok := that.(ExtAuthConfig_BasicAuthInternal_EncryptionType) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Algorithm.(type) { + + case *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr_: + if _, ok := target.Algorithm.(*ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr_); !ok { + return false + } + + if h, ok := interface{}(m.GetApr()).(equality.Equalizer); ok { + if !h.Equal(target.GetApr()) { + return false + } + } else { + if !proto.Equal(m.GetApr(), target.GetApr()) { + return false + } + } + + case *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1_: + if _, ok := target.Algorithm.(*ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1_); !ok { + return false + } + + if h, ok := interface{}(m.GetSha1()).(equality.Equalizer); ok { + if !h.Equal(target.GetSha1()) { + return false + } + } else { + if !proto.Equal(m.GetSha1(), target.GetSha1()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Algorithm != target.Algorithm { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_BasicAuthInternal_User) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_BasicAuthInternal_User) + if !ok { + that2, ok := that.(ExtAuthConfig_BasicAuthInternal_User) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetSalt(), target.GetSalt()) != 0 { + return false + } + + if strings.Compare(m.GetHashedPassword(), target.GetHashedPassword()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_BasicAuthInternal_UserList) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_BasicAuthInternal_UserList) + if !ok { + that2, ok := that.(ExtAuthConfig_BasicAuthInternal_UserList) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetUsers()) != len(target.GetUsers()) { + return false + } + for k, v := range m.GetUsers() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetUsers()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetUsers()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1) + if !ok { + that2, ok := that.(ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr) + if !ok { + that2, ok := that.(ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_UserSessionConfig_CipherConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_UserSessionConfig_CipherConfig) + if !ok { + that2, ok := that.(ExtAuthConfig_UserSessionConfig_CipherConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) + if !ok { + that2, ok := that.(ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetSigningKey(), target.GetSigningKey()) != 0 { + return false + } + + if h, ok := interface{}(m.GetValidFor()).(equality.Equalizer); ok { + if !h.Equal(target.GetValidFor()) { + return false + } + } else { + if !proto.Equal(m.GetValidFor(), target.GetValidFor()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) + if !ok { + that2, ok := that.(ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClaim(), target.GetClaim()) != 0 { + return false + } + + if strings.Compare(m.GetHeader(), target.GetHeader()) != 0 { + return false + } + + if m.GetAppend() != target.GetAppend() { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) + if !ok { + that2, ok := that.(ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetClaimsToHeaders()) != len(target.GetClaimsToHeaders()) { + return false + } + for idx, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetClaimsToHeaders()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetClaimsToHeaders()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) + if !ok { + that2, ok := that.(ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetClaimsToHeaders()) != len(target.GetClaimsToHeaders()) { + return false + } + for idx, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetClaimsToHeaders()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetClaimsToHeaders()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_Default) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_OidcAuthorizationCodeConfig_Default) + if !ok { + that2, ok := that.(ExtAuthConfig_OidcAuthorizationCodeConfig_Default) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) + if !ok { + that2, ok := that.(ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClientId(), target.GetClientId()) != 0 { + return false + } + + if strings.Compare(m.GetTenantId(), target.GetTenantId()) != 0 { + return false + } + + if strings.Compare(m.GetClientSecret(), target.GetClientSecret()) != 0 { + return false + } + + if h, ok := interface{}(m.GetClaimsCachingOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetClaimsCachingOptions()) { + return false + } + } else { + if !proto.Equal(m.GetClaimsCachingOptions(), target.GetClaimsCachingOptions()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) + if !ok { + that2, ok := that.(ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetIssuer(), target.GetIssuer()) != 0 { + return false + } + + switch m.JwksSourceSpecifier.(type) { + + case *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks_: + if _, ok := target.JwksSourceSpecifier.(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks_); !ok { + return false + } + + if h, ok := interface{}(m.GetRemoteJwks()).(equality.Equalizer); ok { + if !h.Equal(target.GetRemoteJwks()) { + return false + } + } else { + if !proto.Equal(m.GetRemoteJwks(), target.GetRemoteJwks()) { + return false + } + } + + case *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks_: + if _, ok := target.JwksSourceSpecifier.(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks_); !ok { + return false + } + + if h, ok := interface{}(m.GetLocalJwks()).(equality.Equalizer); ok { + if !h.Equal(target.GetLocalJwks()) { + return false + } + } else { + if !proto.Equal(m.GetLocalJwks(), target.GetLocalJwks()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.JwksSourceSpecifier != target.JwksSourceSpecifier { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) + if !ok { + that2, ok := that.(ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetIntrospectionUrl(), target.GetIntrospectionUrl()) != 0 { + return false + } + + if strings.Compare(m.GetClientId(), target.GetClientId()) != 0 { + return false + } + + if strings.Compare(m.GetClientSecret(), target.GetClientSecret()) != 0 { + return false + } + + if strings.Compare(m.GetUserIdAttributeName(), target.GetUserIdAttributeName()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_AccessTokenValidationConfig_ScopeList) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_AccessTokenValidationConfig_ScopeList) + if !ok { + that2, ok := that.(ExtAuthConfig_AccessTokenValidationConfig_ScopeList) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetScope()) != len(target.GetScope()) { + return false + } + for idx, v := range m.GetScope() { + + if strings.Compare(v, target.GetScope()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks) + if !ok { + that2, ok := that.(ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetUrl(), target.GetUrl()) != 0 { + return false + } + + if h, ok := interface{}(m.GetRefreshInterval()).(equality.Equalizer); ok { + if !h.Equal(target.GetRefreshInterval()) { + return false + } + } else { + if !proto.Equal(m.GetRefreshInterval(), target.GetRefreshInterval()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks) + if !ok { + that2, ok := that.(ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetInlineString(), target.GetInlineString()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) + if !ok { + that2, ok := that.(ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetUsername(), target.GetUsername()) != 0 { + return false + } + + if len(m.GetMetadata()) != len(target.GetMetadata()) { + return false + } + for k, v := range m.GetMetadata() { + + if strings.Compare(v, target.GetMetadata()[k]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/enterprise.gloo.solo.io/v1/auth_config.pb.go b/client-go/enterprise.gloo.solo.io/v1/auth_config.pb.go new file mode 100644 index 000000000..54e00ff3f --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/auth_config.pb.go @@ -0,0 +1,15056 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/vendor_any/github.com/solo-io/solo-apis/api/gloo/enterprise.gloo/v1/auth_config.proto + +package v1 + +import ( + context "context" + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + empty "github.com/golang/protobuf/ptypes/empty" + _struct "github.com/golang/protobuf/ptypes/struct" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + v2 "github.com/solo-io/solo-kit/pkg/api/external/envoy/api/v2" + core "github.com/solo-io/solo-kit/pkg/api/v1/resources/core" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes the transport protocol version to use when connecting to the ext auth server. +type Settings_ApiVersion int32 + +const ( + // Use v3 API. + Settings_V3 Settings_ApiVersion = 0 +) + +// Enum value maps for Settings_ApiVersion. +var ( + Settings_ApiVersion_name = map[int32]string{ + 0: "V3", + } + Settings_ApiVersion_value = map[string]int32{ + "V3": 0, + } +) + +func (x Settings_ApiVersion) Enum() *Settings_ApiVersion { + p := new(Settings_ApiVersion) + *p = x + return p +} + +func (x Settings_ApiVersion) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Settings_ApiVersion) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_enumTypes[0].Descriptor() +} + +func (Settings_ApiVersion) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_enumTypes[0] +} + +func (x Settings_ApiVersion) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Settings_ApiVersion.Descriptor instead. +func (Settings_ApiVersion) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{2, 0} +} + +// redis socket types +type RedisOptions_SocketType int32 + +const ( + // TCP connection socket, this is the default. + RedisOptions_TCP RedisOptions_SocketType = 0 + // TLS connection socket. + RedisOptions_TLS RedisOptions_SocketType = 1 +) + +// Enum value maps for RedisOptions_SocketType. +var ( + RedisOptions_SocketType_name = map[int32]string{ + 0: "TCP", + 1: "TLS", + } + RedisOptions_SocketType_value = map[string]int32{ + "TCP": 0, + "TLS": 1, + } +) + +func (x RedisOptions_SocketType) Enum() *RedisOptions_SocketType { + p := new(RedisOptions_SocketType) + *p = x + return p +} + +func (x RedisOptions_SocketType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RedisOptions_SocketType) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_enumTypes[1].Descriptor() +} + +func (RedisOptions_SocketType) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_enumTypes[1] +} + +func (x RedisOptions_SocketType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RedisOptions_SocketType.Descriptor instead. +func (RedisOptions_SocketType) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{14, 0} +} + +// The SameSite options. The default value is LaxMode. +type UserSession_CookieOptions_SameSite int32 + +const ( + // Default Mode is the same as LaxMode but will not show up in the Cookie Header. This value is ignored. + UserSession_CookieOptions_DefaultMode UserSession_CookieOptions_SameSite = 0 + // Cookies are not sent on normal cross-site subrequests, but are sent when + // navigating to the origin site. + UserSession_CookieOptions_LaxMode UserSession_CookieOptions_SameSite = 1 + // Only be sent in a first-party context and not be sent along with requests + // initiated by third party websites. + UserSession_CookieOptions_StrictMode UserSession_CookieOptions_SameSite = 2 + // Cookies are sent in all contexts. Cookie NotSecure must be unset. + UserSession_CookieOptions_NoneMode UserSession_CookieOptions_SameSite = 3 +) + +// Enum value maps for UserSession_CookieOptions_SameSite. +var ( + UserSession_CookieOptions_SameSite_name = map[int32]string{ + 0: "DefaultMode", + 1: "LaxMode", + 2: "StrictMode", + 3: "NoneMode", + } + UserSession_CookieOptions_SameSite_value = map[string]int32{ + "DefaultMode": 0, + "LaxMode": 1, + "StrictMode": 2, + "NoneMode": 3, + } +) + +func (x UserSession_CookieOptions_SameSite) Enum() *UserSession_CookieOptions_SameSite { + p := new(UserSession_CookieOptions_SameSite) + *p = x + return p +} + +func (x UserSession_CookieOptions_SameSite) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (UserSession_CookieOptions_SameSite) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_enumTypes[2].Descriptor() +} + +func (UserSession_CookieOptions_SameSite) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_enumTypes[2] +} + +func (x UserSession_CookieOptions_SameSite) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use UserSession_CookieOptions_SameSite.Descriptor instead. +func (UserSession_CookieOptions_SameSite) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{15, 2, 0} +} + +// The Method used to make the request. +type EndSessionProperties_MethodType int32 + +const ( + // Uses GET method when making the request + EndSessionProperties_GetMethod EndSessionProperties_MethodType = 0 + // Uses POST method when making the request + EndSessionProperties_PostMethod EndSessionProperties_MethodType = 1 +) + +// Enum value maps for EndSessionProperties_MethodType. +var ( + EndSessionProperties_MethodType_name = map[int32]string{ + 0: "GetMethod", + 1: "PostMethod", + } + EndSessionProperties_MethodType_value = map[string]int32{ + "GetMethod": 0, + "PostMethod": 1, + } +) + +func (x EndSessionProperties_MethodType) Enum() *EndSessionProperties_MethodType { + p := new(EndSessionProperties_MethodType) + *p = x + return p +} + +func (x EndSessionProperties_MethodType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EndSessionProperties_MethodType) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_enumTypes[3].Descriptor() +} + +func (EndSessionProperties_MethodType) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_enumTypes[3] +} + +func (x EndSessionProperties_MethodType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EndSessionProperties_MethodType.Descriptor instead. +func (EndSessionProperties_MethodType) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{20, 0} +} + +type AuthConfigStatus_State int32 + +const ( + // Pending status indicates the resource has not yet been validated + AuthConfigStatus_Pending AuthConfigStatus_State = 0 + // Accepted indicates the resource has been validated + AuthConfigStatus_Accepted AuthConfigStatus_State = 1 + // Rejected indicates an invalid configuration by the user + // Rejected resources may be propagated to the xDS server depending on their severity + AuthConfigStatus_Rejected AuthConfigStatus_State = 2 + // Warning indicates a partially invalid configuration by the user + // Resources with Warnings may be partially accepted by a controller, depending on the implementation + AuthConfigStatus_Warning AuthConfigStatus_State = 3 +) + +// Enum value maps for AuthConfigStatus_State. +var ( + AuthConfigStatus_State_name = map[int32]string{ + 0: "Pending", + 1: "Accepted", + 2: "Rejected", + 3: "Warning", + } + AuthConfigStatus_State_value = map[string]int32{ + "Pending": 0, + "Accepted": 1, + "Rejected": 2, + "Warning": 3, + } +) + +func (x AuthConfigStatus_State) Enum() *AuthConfigStatus_State { + p := new(AuthConfigStatus_State) + *p = x + return p +} + +func (x AuthConfigStatus_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AuthConfigStatus_State) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_enumTypes[4].Descriptor() +} + +func (AuthConfigStatus_State) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_enumTypes[4] +} + +func (x AuthConfigStatus_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AuthConfigStatus_State.Descriptor instead. +func (AuthConfigStatus_State) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{51, 0} +} + +// This is the user-facing auth configuration. When processed by Gloo, certain configuration types (i.a. oauth, opa) +// will be translated, e.g. to resolve resource references. See the `ExtAuthConfig.AuthConfig` for the final config +// format that will be included in the extauth snapshot. +type AuthConfigSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of auth configs to be checked for requests on a route referencing this auth config, + // By default, every config must be authorized for the entire request to be authorized. This + // behavior can be changed by defining names for each config and defining `boolean_expr` below. + // + // State is shared between successful requests on the chain, i.e., the headers returned from each + // successful auth service get appended into the final auth response. + Configs []*AuthConfigSpec_Config `protobuf:"bytes,3,rep,name=configs,proto3" json:"configs,omitempty"` + // How to handle processing of named configs within an auth config chain. + // An example config might be: `( basic1 || basic2 || (oidc1 && !oidc2) )` + // The boolean expression is evaluated left to right but honors parenthesis and short-circuiting. + BooleanExpr *wrappers.StringValue `protobuf:"bytes,10,opt,name=boolean_expr,json=booleanExpr,proto3" json:"boolean_expr,omitempty"` + // How the service should handle a redirect response from an OIDC issuer. In the default false mode, + // the redirect will be considered a successful response, and the client will receive a 302 with a location header. + // If this is set to true, the client will instead receive a 401 unauthorized response. This is useful in cases where + // API calls are being made or other such occurrences where the client cannot handle the redirect. + FailOnRedirect bool `protobuf:"varint,11,opt,name=fail_on_redirect,json=failOnRedirect,proto3" json:"fail_on_redirect,omitempty"` +} + +func (x *AuthConfigSpec) Reset() { + *x = AuthConfigSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthConfigSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthConfigSpec) ProtoMessage() {} + +func (x *AuthConfigSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthConfigSpec.ProtoReflect.Descriptor instead. +func (*AuthConfigSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{0} +} + +func (x *AuthConfigSpec) GetConfigs() []*AuthConfigSpec_Config { + if x != nil { + return x.Configs + } + return nil +} + +func (x *AuthConfigSpec) GetBooleanExpr() *wrappers.StringValue { + if x != nil { + return x.BooleanExpr + } + return nil +} + +func (x *AuthConfigSpec) GetFailOnRedirect() bool { + if x != nil { + return x.FailOnRedirect + } + return false +} + +// Auth configurations defined on virtual hosts, routes, and weighted destinations will be unmarshalled to this message. +type ExtAuthExtension struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Spec: + // + // *ExtAuthExtension_Disable + // *ExtAuthExtension_ConfigRef + // *ExtAuthExtension_CustomAuth + Spec isExtAuthExtension_Spec `protobuf_oneof:"spec"` +} + +func (x *ExtAuthExtension) Reset() { + *x = ExtAuthExtension{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthExtension) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthExtension) ProtoMessage() {} + +func (x *ExtAuthExtension) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthExtension.ProtoReflect.Descriptor instead. +func (*ExtAuthExtension) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{1} +} + +func (m *ExtAuthExtension) GetSpec() isExtAuthExtension_Spec { + if m != nil { + return m.Spec + } + return nil +} + +func (x *ExtAuthExtension) GetDisable() bool { + if x, ok := x.GetSpec().(*ExtAuthExtension_Disable); ok { + return x.Disable + } + return false +} + +func (x *ExtAuthExtension) GetConfigRef() *core.ResourceRef { + if x, ok := x.GetSpec().(*ExtAuthExtension_ConfigRef); ok { + return x.ConfigRef + } + return nil +} + +func (x *ExtAuthExtension) GetCustomAuth() *CustomAuth { + if x, ok := x.GetSpec().(*ExtAuthExtension_CustomAuth); ok { + return x.CustomAuth + } + return nil +} + +type isExtAuthExtension_Spec interface { + isExtAuthExtension_Spec() +} + +type ExtAuthExtension_Disable struct { + // Set to true to disable auth on the virtual host/route. + Disable bool `protobuf:"varint,1,opt,name=disable,proto3,oneof"` +} + +type ExtAuthExtension_ConfigRef struct { + // A reference to an AuthConfig. This is used to configure the Gloo Edge Enterprise extauth server. + ConfigRef *core.ResourceRef `protobuf:"bytes,2,opt,name=config_ref,json=configRef,proto3,oneof"` +} + +type ExtAuthExtension_CustomAuth struct { + // Use this field if you are running your own custom extauth server. + CustomAuth *CustomAuth `protobuf:"bytes,3,opt,name=custom_auth,json=customAuth,proto3,oneof"` +} + +func (*ExtAuthExtension_Disable) isExtAuthExtension_Spec() {} + +func (*ExtAuthExtension_ConfigRef) isExtAuthExtension_Spec() {} + +func (*ExtAuthExtension_CustomAuth) isExtAuthExtension_Spec() {} + +// Global external auth settings +type Settings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The upstream to ask about auth decisions + ExtauthzServerRef *core.ResourceRef `protobuf:"bytes,1,opt,name=extauthz_server_ref,json=extauthzServerRef,proto3" json:"extauthz_server_ref,omitempty"` + // Types that are assignable to ServiceType: + // + // *Settings_HttpService + // *Settings_GrpcService + ServiceType isSettings_ServiceType `protobuf_oneof:"service_type"` + // If the auth server trusted id of the user, it will be set in this header. + // Specifically this means that this header will be sanitized form the incoming request. + UserIdHeader string `protobuf:"bytes,3,opt,name=user_id_header,json=userIdHeader,proto3" json:"user_id_header,omitempty"` + // Timeout for the ext auth service to respond. Defaults to 200ms + RequestTimeout *duration.Duration `protobuf:"bytes,4,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"` + // In case of a failure or timeout querying the auth server, normally a request is denied. + // if this is set to true, the request will be allowed. + FailureModeAllow bool `protobuf:"varint,5,opt,name=failure_mode_allow,json=failureModeAllow,proto3" json:"failure_mode_allow,omitempty"` + // Set this if you also want to send the body of the request, and not just the headers. + RequestBody *BufferSettings `protobuf:"bytes,6,opt,name=request_body,json=requestBody,proto3" json:"request_body,omitempty"` + // Clears route cache in order to allow the external authorization service to correctly affect + // routing decisions. Filter clears all cached routes when: + // + // 1. The field is set to *true*. + // + // 2. The status returned from the authorization service is a HTTP 200 or gRPC 0. + // + // 3. At least one *authorization response header* is added to the client request, or is used for + // altering another client request header. + ClearRouteCache bool `protobuf:"varint,7,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"` + // Sets the HTTP status that is returned to the client when there is a network error between the + // filter and the authorization server. The default status is HTTP 403 Forbidden. + // If set, this must be one of the following: + // - 100 + // - 200 201 202 203 204 205 206 207 208 226 + // - 300 301 302 303 304 305 307 308 + // - 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 421 422 423 424 426 428 429 431 + // - 500 501 502 503 504 505 506 507 508 510 511 + StatusOnError uint32 `protobuf:"varint,8,opt,name=status_on_error,json=statusOnError,proto3" json:"status_on_error,omitempty"` + // Determines the API version for the `ext_authz` transport protocol that will be used by Envoy + // to communicate with the auth server. Defaults to `V2`. For more info, see the `transport_api_version` field + // [here](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/ext_authz/v3/ext_authz.proto#extensions-filters-http-ext-authz-v3-extauthz). + TransportApiVersion Settings_ApiVersion `protobuf:"varint,9,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=enterprise.gloo.solo.io.Settings_ApiVersion" json:"transport_api_version,omitempty"` + // Optional additional prefix to use when emitting statistics. + // This allows to distinguish emitted statistics between configured ext_authz filters in an HTTP filter chain. + StatPrefix string `protobuf:"bytes,10,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` +} + +func (x *Settings) Reset() { + *x = Settings{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Settings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Settings) ProtoMessage() {} + +func (x *Settings) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Settings.ProtoReflect.Descriptor instead. +func (*Settings) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{2} +} + +func (x *Settings) GetExtauthzServerRef() *core.ResourceRef { + if x != nil { + return x.ExtauthzServerRef + } + return nil +} + +func (m *Settings) GetServiceType() isSettings_ServiceType { + if m != nil { + return m.ServiceType + } + return nil +} + +func (x *Settings) GetHttpService() *HttpService { + if x, ok := x.GetServiceType().(*Settings_HttpService); ok { + return x.HttpService + } + return nil +} + +func (x *Settings) GetGrpcService() *GrpcService { + if x, ok := x.GetServiceType().(*Settings_GrpcService); ok { + return x.GrpcService + } + return nil +} + +func (x *Settings) GetUserIdHeader() string { + if x != nil { + return x.UserIdHeader + } + return "" +} + +func (x *Settings) GetRequestTimeout() *duration.Duration { + if x != nil { + return x.RequestTimeout + } + return nil +} + +func (x *Settings) GetFailureModeAllow() bool { + if x != nil { + return x.FailureModeAllow + } + return false +} + +func (x *Settings) GetRequestBody() *BufferSettings { + if x != nil { + return x.RequestBody + } + return nil +} + +func (x *Settings) GetClearRouteCache() bool { + if x != nil { + return x.ClearRouteCache + } + return false +} + +func (x *Settings) GetStatusOnError() uint32 { + if x != nil { + return x.StatusOnError + } + return 0 +} + +func (x *Settings) GetTransportApiVersion() Settings_ApiVersion { + if x != nil { + return x.TransportApiVersion + } + return Settings_V3 +} + +func (x *Settings) GetStatPrefix() string { + if x != nil { + return x.StatPrefix + } + return "" +} + +type isSettings_ServiceType interface { + isSettings_ServiceType() +} + +type Settings_HttpService struct { + // If this is set, communication to the upstream will be via HTTP and not GRPC (default). + HttpService *HttpService `protobuf:"bytes,2,opt,name=http_service,json=httpService,proto3,oneof"` +} + +type Settings_GrpcService struct { + // Optional, if set the communication to the upstream will be via GRPC. + GrpcService *GrpcService `protobuf:"bytes,11,opt,name=grpc_service,json=grpcService,proto3,oneof"` +} + +func (*Settings_HttpService) isSettings_ServiceType() {} + +func (*Settings_GrpcService) isSettings_ServiceType() {} + +type GrpcService struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Set the authority header when calling the GRPC service. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` +} + +func (x *GrpcService) Reset() { + *x = GrpcService{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrpcService) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcService) ProtoMessage() {} + +func (x *GrpcService) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcService.ProtoReflect.Descriptor instead. +func (*GrpcService) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{3} +} + +func (x *GrpcService) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +type HttpService struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Sets a prefix to the value of authorization request header *Path*. + PathPrefix string `protobuf:"bytes,1,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"` + Request *HttpService_Request `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` + Response *HttpService_Response `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"` +} + +func (x *HttpService) Reset() { + *x = HttpService{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HttpService) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HttpService) ProtoMessage() {} + +func (x *HttpService) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HttpService.ProtoReflect.Descriptor instead. +func (*HttpService) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{4} +} + +func (x *HttpService) GetPathPrefix() string { + if x != nil { + return x.PathPrefix + } + return "" +} + +func (x *HttpService) GetRequest() *HttpService_Request { + if x != nil { + return x.Request + } + return nil +} + +func (x *HttpService) GetResponse() *HttpService_Response { + if x != nil { + return x.Response + } + return nil +} + +// Configuration for buffering the request data. +type BufferSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Sets the maximum size of a message body that the filter will hold in memory. Envoy will return + // *HTTP 413* and will *not* initiate the authorization process when buffer reaches the number + // set in this field. Note that this setting will have precedence over failure_mode_allow. + // Defaults to 4KB. + MaxRequestBytes uint32 `protobuf:"varint,1,opt,name=max_request_bytes,json=maxRequestBytes,proto3" json:"max_request_bytes,omitempty"` + // When this field is true, Envoy will buffer the message until *max_request_bytes* is reached. + // The authorization request will be dispatched and no 413 HTTP error will be returned by the + // filter. + AllowPartialMessage bool `protobuf:"varint,2,opt,name=allow_partial_message,json=allowPartialMessage,proto3" json:"allow_partial_message,omitempty"` + // When this field is true, Envoy will send the body sent to the external authorization service with raw bytes. + PackAsBytes bool `protobuf:"varint,3,opt,name=pack_as_bytes,json=packAsBytes,proto3" json:"pack_as_bytes,omitempty"` +} + +func (x *BufferSettings) Reset() { + *x = BufferSettings{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BufferSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BufferSettings) ProtoMessage() {} + +func (x *BufferSettings) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BufferSettings.ProtoReflect.Descriptor instead. +func (*BufferSettings) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{5} +} + +func (x *BufferSettings) GetMaxRequestBytes() uint32 { + if x != nil { + return x.MaxRequestBytes + } + return 0 +} + +func (x *BufferSettings) GetAllowPartialMessage() bool { + if x != nil { + return x.AllowPartialMessage + } + return false +} + +func (x *BufferSettings) GetPackAsBytes() bool { + if x != nil { + return x.PackAsBytes + } + return false +} + +// Gloo is not expected to configure the ext auth server in this case. +// This is used with custom auth servers. +type CustomAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // When a request matches the virtual host, route, or weighted destination on which this configuration is defined, + // Gloo will add the given context_extensions to the request that is sent to the external authorization server. + // This allows the server to base the auth decision on metadata that you define on the source of the request. + // + // This attribute is analogous to Envoy's config.filter.http.ext_authz.v2.CheckSettings. See the official + // [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/ext_authz/v2/ext_authz.proto.html?highlight=ext_authz#config-filter-http-ext-authz-v2-checksettings) + // for more details. + ContextExtensions map[string]string `protobuf:"bytes,1,rep,name=context_extensions,json=contextExtensions,proto3" json:"context_extensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // [Enterprise-only] + // Only required in the case where multiple auth servers are configured in Settings + // This name must match a key in the named_extauth Settings. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *CustomAuth) Reset() { + *x = CustomAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomAuth) ProtoMessage() {} + +func (x *CustomAuth) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CustomAuth.ProtoReflect.Descriptor instead. +func (*CustomAuth) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{6} +} + +func (x *CustomAuth) GetContextExtensions() map[string]string { + if x != nil { + return x.ContextExtensions + } + return nil +} + +func (x *CustomAuth) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type AuthPlugin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the plugin + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Name of the compiled plugin file. If not specified, Gloo Edge will look for an ".so" file with same name as the plugin. + PluginFileName string `protobuf:"bytes,2,opt,name=plugin_file_name,json=pluginFileName,proto3" json:"plugin_file_name,omitempty"` + // Name of the exported symbol that implements the plugin interface in the plugin. + // If not specified, defaults to the name of the plugin + ExportedSymbolName string `protobuf:"bytes,3,opt,name=exported_symbol_name,json=exportedSymbolName,proto3" json:"exported_symbol_name,omitempty"` + Config *_struct.Struct `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *AuthPlugin) Reset() { + *x = AuthPlugin{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthPlugin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthPlugin) ProtoMessage() {} + +func (x *AuthPlugin) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthPlugin.ProtoReflect.Descriptor instead. +func (*AuthPlugin) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{7} +} + +func (x *AuthPlugin) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AuthPlugin) GetPluginFileName() string { + if x != nil { + return x.PluginFileName + } + return "" +} + +func (x *AuthPlugin) GetExportedSymbolName() string { + if x != nil { + return x.ExportedSymbolName + } + return "" +} + +func (x *AuthPlugin) GetConfig() *_struct.Struct { + if x != nil { + return x.Config + } + return nil +} + +type BasicAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Realm string `protobuf:"bytes,1,opt,name=realm,proto3" json:"realm,omitempty"` + Apr *BasicAuth_Apr `protobuf:"bytes,2,opt,name=apr,proto3" json:"apr,omitempty"` + // The encryption type to use to store the password on the server + // If 'encryption' is defined, 'user_source' must be defined and the top level 'apr' field must not be defined or the config will fail validation + Encryption *BasicAuth_EncryptionType `protobuf:"bytes,3,opt,name=encryption,proto3" json:"encryption,omitempty"` + // Source of user credential data + // If 'user_source' is defined, 'encryption' must be defined and the top level 'apr” field must not be defined or the config will fail validation + // + // Types that are assignable to UserSource: + // + // *BasicAuth_UserList_ + UserSource isBasicAuth_UserSource `protobuf_oneof:"user_source"` +} + +func (x *BasicAuth) Reset() { + *x = BasicAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BasicAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BasicAuth) ProtoMessage() {} + +func (x *BasicAuth) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BasicAuth.ProtoReflect.Descriptor instead. +func (*BasicAuth) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{8} +} + +func (x *BasicAuth) GetRealm() string { + if x != nil { + return x.Realm + } + return "" +} + +func (x *BasicAuth) GetApr() *BasicAuth_Apr { + if x != nil { + return x.Apr + } + return nil +} + +func (x *BasicAuth) GetEncryption() *BasicAuth_EncryptionType { + if x != nil { + return x.Encryption + } + return nil +} + +func (m *BasicAuth) GetUserSource() isBasicAuth_UserSource { + if m != nil { + return m.UserSource + } + return nil +} + +func (x *BasicAuth) GetUserList() *BasicAuth_UserList { + if x, ok := x.GetUserSource().(*BasicAuth_UserList_); ok { + return x.UserList + } + return nil +} + +type isBasicAuth_UserSource interface { + isBasicAuth_UserSource() +} + +type BasicAuth_UserList_ struct { + UserList *BasicAuth_UserList `protobuf:"bytes,4,opt,name=user_list,json=userList,proto3,oneof"` +} + +func (*BasicAuth_UserList_) isBasicAuth_UserSource() {} + +// HMAC is a message authentication technique that can use multiple algorithms for finding credentials and generating signed messages. +// It conforms to https://www.ietf.org/rfc/rfc2104.txt +type HmacAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Configuration for how secrets are stored. + // + // Types that are assignable to SecretStorage: + // + // *HmacAuth_SecretRefs + SecretStorage isHmacAuth_SecretStorage `protobuf_oneof:"secret_storage"` + // Algorithm to use to turn the request into a hashable string + // + // Types that are assignable to ImplementationType: + // + // *HmacAuth_ParametersInHeaders + ImplementationType isHmacAuth_ImplementationType `protobuf_oneof:"implementation_type"` +} + +func (x *HmacAuth) Reset() { + *x = HmacAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HmacAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HmacAuth) ProtoMessage() {} + +func (x *HmacAuth) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HmacAuth.ProtoReflect.Descriptor instead. +func (*HmacAuth) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{9} +} + +func (m *HmacAuth) GetSecretStorage() isHmacAuth_SecretStorage { + if m != nil { + return m.SecretStorage + } + return nil +} + +func (x *HmacAuth) GetSecretRefs() *SecretRefList { + if x, ok := x.GetSecretStorage().(*HmacAuth_SecretRefs); ok { + return x.SecretRefs + } + return nil +} + +func (m *HmacAuth) GetImplementationType() isHmacAuth_ImplementationType { + if m != nil { + return m.ImplementationType + } + return nil +} + +func (x *HmacAuth) GetParametersInHeaders() *HmacParametersInHeaders { + if x, ok := x.GetImplementationType().(*HmacAuth_ParametersInHeaders); ok { + return x.ParametersInHeaders + } + return nil +} + +type isHmacAuth_SecretStorage interface { + isHmacAuth_SecretStorage() +} + +type HmacAuth_SecretRefs struct { + SecretRefs *SecretRefList `protobuf:"bytes,1,opt,name=secret_refs,json=secretRefs,proto3,oneof"` +} + +func (*HmacAuth_SecretRefs) isHmacAuth_SecretStorage() {} + +type isHmacAuth_ImplementationType interface { + isHmacAuth_ImplementationType() +} + +type HmacAuth_ParametersInHeaders struct { + ParametersInHeaders *HmacParametersInHeaders `protobuf:"bytes,2,opt,name=parameters_in_headers,json=parametersInHeaders,proto3,oneof"` +} + +func (*HmacAuth_ParametersInHeaders) isHmacAuth_ImplementationType() {} + +type SecretRefList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // list of secrets as registered with the issuer + SecretRefs []*core.ResourceRef `protobuf:"bytes,1,rep,name=secret_refs,json=secretRefs,proto3" json:"secret_refs,omitempty"` +} + +func (x *SecretRefList) Reset() { + *x = SecretRefList{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SecretRefList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SecretRefList) ProtoMessage() {} + +func (x *SecretRefList) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SecretRefList.ProtoReflect.Descriptor instead. +func (*SecretRefList) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{10} +} + +func (x *SecretRefList) GetSecretRefs() []*core.ResourceRef { + if x != nil { + return x.SecretRefs + } + return nil +} + +// Extract the HMAC parameters from the HTTP headers and use SHA-1 hashing +type HmacParametersInHeaders struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *HmacParametersInHeaders) Reset() { + *x = HmacParametersInHeaders{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HmacParametersInHeaders) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HmacParametersInHeaders) ProtoMessage() {} + +func (x *HmacParametersInHeaders) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HmacParametersInHeaders.ProtoReflect.Descriptor instead. +func (*HmacParametersInHeaders) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{11} +} + +// Deprecated: Prefer OAuth2 +type OAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // your client id as registered with the issuer + // + // Deprecated: Do not use. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // your client secret as registered with the issuer + // + // Deprecated: Do not use. + ClientSecretRef *core.ResourceRef `protobuf:"bytes,2,opt,name=client_secret_ref,json=clientSecretRef,proto3" json:"client_secret_ref,omitempty"` + // The url of the issuer. We will look for OIDC information in issuerUrl+ + // ".well-known/openid-configuration" + // + // Deprecated: Do not use. + IssuerUrl string `protobuf:"bytes,3,opt,name=issuer_url,json=issuerUrl,proto3" json:"issuer_url,omitempty"` + // extra query parameters to apply to the Ext-Auth service's authorization request to the identity provider. + // + // Deprecated: Do not use. + AuthEndpointQueryParams map[string]string `protobuf:"bytes,7,rep,name=auth_endpoint_query_params,json=authEndpointQueryParams,proto3" json:"auth_endpoint_query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // we to redirect after successful auth, if we can't determine the original + // url this should be your publicly available app url. + // + // Deprecated: Do not use. + AppUrl string `protobuf:"bytes,4,opt,name=app_url,json=appUrl,proto3" json:"app_url,omitempty"` + // a callback path relative to app url that will be used for OIDC callbacks. + // needs to not be used by the application + // + // Deprecated: Do not use. + CallbackPath string `protobuf:"bytes,5,opt,name=callback_path,json=callbackPath,proto3" json:"callback_path,omitempty"` + // Scopes to request in addition to openid scope. + // + // Deprecated: Do not use. + Scopes []string `protobuf:"bytes,6,rep,name=scopes,proto3" json:"scopes,omitempty"` +} + +func (x *OAuth) Reset() { + *x = OAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OAuth) ProtoMessage() {} + +func (x *OAuth) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OAuth.ProtoReflect.Descriptor instead. +func (*OAuth) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{12} +} + +// Deprecated: Do not use. +func (x *OAuth) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +// Deprecated: Do not use. +func (x *OAuth) GetClientSecretRef() *core.ResourceRef { + if x != nil { + return x.ClientSecretRef + } + return nil +} + +// Deprecated: Do not use. +func (x *OAuth) GetIssuerUrl() string { + if x != nil { + return x.IssuerUrl + } + return "" +} + +// Deprecated: Do not use. +func (x *OAuth) GetAuthEndpointQueryParams() map[string]string { + if x != nil { + return x.AuthEndpointQueryParams + } + return nil +} + +// Deprecated: Do not use. +func (x *OAuth) GetAppUrl() string { + if x != nil { + return x.AppUrl + } + return "" +} + +// Deprecated: Do not use. +func (x *OAuth) GetCallbackPath() string { + if x != nil { + return x.CallbackPath + } + return "" +} + +// Deprecated: Do not use. +func (x *OAuth) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +type OAuth2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to OauthType: + // + // *OAuth2_OidcAuthorizationCode + // *OAuth2_AccessTokenValidation + // *OAuth2_Oauth2 + OauthType isOAuth2_OauthType `protobuf_oneof:"oauth_type"` +} + +func (x *OAuth2) Reset() { + *x = OAuth2{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OAuth2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OAuth2) ProtoMessage() {} + +func (x *OAuth2) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OAuth2.ProtoReflect.Descriptor instead. +func (*OAuth2) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{13} +} + +func (m *OAuth2) GetOauthType() isOAuth2_OauthType { + if m != nil { + return m.OauthType + } + return nil +} + +func (x *OAuth2) GetOidcAuthorizationCode() *OidcAuthorizationCode { + if x, ok := x.GetOauthType().(*OAuth2_OidcAuthorizationCode); ok { + return x.OidcAuthorizationCode + } + return nil +} + +func (x *OAuth2) GetAccessTokenValidation() *AccessTokenValidation { + if x, ok := x.GetOauthType().(*OAuth2_AccessTokenValidation); ok { + return x.AccessTokenValidation + } + return nil +} + +func (x *OAuth2) GetOauth2() *PlainOAuth2 { + if x, ok := x.GetOauthType().(*OAuth2_Oauth2); ok { + return x.Oauth2 + } + return nil +} + +type isOAuth2_OauthType interface { + isOAuth2_OauthType() +} + +type OAuth2_OidcAuthorizationCode struct { + // provide issuer location and let gloo handle OIDC flow for you. + // requests authorized by validating the contents of ID token. + // can also authorize the access token if configured. + OidcAuthorizationCode *OidcAuthorizationCode `protobuf:"bytes,1,opt,name=oidc_authorization_code,json=oidcAuthorizationCode,proto3,oneof"` +} + +type OAuth2_AccessTokenValidation struct { + // provide the access token on the request and let gloo handle authorization. + // + // according to https://tools.ietf.org/html/rfc6750 you can pass tokens through: + // - form-encoded body parameter. recommended, more likely to appear. e.g.: Authorization: Bearer mytoken123 + // - URI query parameter e.g. access_token=mytoken123 + // - and (preferably) secure cookies + AccessTokenValidation *AccessTokenValidation `protobuf:"bytes,2,opt,name=access_token_validation,json=accessTokenValidation,proto3,oneof"` +} + +type OAuth2_Oauth2 struct { + // Enterprise-Only: THIS FEATURE IS IN TECH PREVIEW. APIs are versioned as alpha and subject to change. + // provide issuer location and let Gloo handle Oauth2 flow for you. + // requests authorized by validating the contents of access token. + // Prefer to use OIDC for better security. + Oauth2 *PlainOAuth2 `protobuf:"bytes,3,opt,name=oauth2,proto3,oneof"` +} + +func (*OAuth2_OidcAuthorizationCode) isOAuth2_OauthType() {} + +func (*OAuth2_AccessTokenValidation) isOAuth2_OauthType() {} + +func (*OAuth2_Oauth2) isOAuth2_OauthType() {} + +type RedisOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // address of the redis. can be address:port or unix://path/to/unix.sock + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + // db to use. can leave unset for db 0. + Db int32 `protobuf:"varint,2,opt,name=db,proto3" json:"db,omitempty"` + // size of the connection pool. can leave unset for default. + // defaults to 10 connections per every CPU + PoolSize int32 `protobuf:"varint,3,opt,name=pool_size,json=poolSize,proto3" json:"pool_size,omitempty"` + // enabled with a socket type of TLS. this is the tls cert mount path for this particular host. + // the generic secret can include the keys 'ca.crt', 'tls.crt', and 'tls.key'. + // the secret can contain the root-ca ,'ca.crt', at minimum. If a + // certificate is needed, both the 'tls.crt' and 'tls.key' need to be included. + // reference this to equal the 'mountPath' on the 'redis.certs[x].mountPath' in the helm chart values. + // an example of a mount path is '/certs'. + TlsCertMountPath string `protobuf:"bytes,4,opt,name=tls_cert_mount_path,json=tlsCertMountPath,proto3" json:"tls_cert_mount_path,omitempty"` + // the socket type, default is TCP. + SocketType RedisOptions_SocketType `protobuf:"varint,5,opt,name=socket_type,json=socketType,proto3,enum=enterprise.gloo.solo.io.RedisOptions_SocketType" json:"socket_type,omitempty"` +} + +func (x *RedisOptions) Reset() { + *x = RedisOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedisOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedisOptions) ProtoMessage() {} + +func (x *RedisOptions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RedisOptions.ProtoReflect.Descriptor instead. +func (*RedisOptions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{14} +} + +func (x *RedisOptions) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +func (x *RedisOptions) GetDb() int32 { + if x != nil { + return x.Db + } + return 0 +} + +func (x *RedisOptions) GetPoolSize() int32 { + if x != nil { + return x.PoolSize + } + return 0 +} + +func (x *RedisOptions) GetTlsCertMountPath() string { + if x != nil { + return x.TlsCertMountPath + } + return "" +} + +func (x *RedisOptions) GetSocketType() RedisOptions_SocketType { + if x != nil { + return x.SocketType + } + return RedisOptions_TCP +} + +type UserSession struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // should we fail auth flow when failing to get a session from redis, or allow it to continue, + // potentially starting a new auth flow and setting a new session. + FailOnFetchFailure bool `protobuf:"varint,1,opt,name=fail_on_fetch_failure,json=failOnFetchFailure,proto3" json:"fail_on_fetch_failure,omitempty"` + // Set-Cookie options + CookieOptions *UserSession_CookieOptions `protobuf:"bytes,2,opt,name=cookie_options,json=cookieOptions,proto3" json:"cookie_options,omitempty"` + // Types that are assignable to Session: + // + // *UserSession_Cookie + // *UserSession_Redis + Session isUserSession_Session `protobuf_oneof:"session"` + // the cipher config enables the symmetric key encryption of the cookie values of the user session. + CipherConfig *UserSession_CipherConfig `protobuf:"bytes,5,opt,name=cipher_config,json=cipherConfig,proto3" json:"cipher_config,omitempty"` +} + +func (x *UserSession) Reset() { + *x = UserSession{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserSession) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserSession) ProtoMessage() {} + +func (x *UserSession) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserSession.ProtoReflect.Descriptor instead. +func (*UserSession) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{15} +} + +func (x *UserSession) GetFailOnFetchFailure() bool { + if x != nil { + return x.FailOnFetchFailure + } + return false +} + +func (x *UserSession) GetCookieOptions() *UserSession_CookieOptions { + if x != nil { + return x.CookieOptions + } + return nil +} + +func (m *UserSession) GetSession() isUserSession_Session { + if m != nil { + return m.Session + } + return nil +} + +func (x *UserSession) GetCookie() *UserSession_InternalSession { + if x, ok := x.GetSession().(*UserSession_Cookie); ok { + return x.Cookie + } + return nil +} + +func (x *UserSession) GetRedis() *UserSession_RedisSession { + if x, ok := x.GetSession().(*UserSession_Redis); ok { + return x.Redis + } + return nil +} + +func (x *UserSession) GetCipherConfig() *UserSession_CipherConfig { + if x != nil { + return x.CipherConfig + } + return nil +} + +type isUserSession_Session interface { + isUserSession_Session() +} + +type UserSession_Cookie struct { + // Set the tokens in the cookie itself. No need for server side state. + Cookie *UserSession_InternalSession `protobuf:"bytes,3,opt,name=cookie,proto3,oneof"` +} + +type UserSession_Redis struct { + // Use redis to store the tokens and just store a random id in the cookie. + Redis *UserSession_RedisSession `protobuf:"bytes,4,opt,name=redis,proto3,oneof"` +} + +func (*UserSession_Cookie) isUserSession_Session() {} + +func (*UserSession_Redis) isUserSession_Session() {} + +type HeaderConfiguration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If set, the id token will be forward upstream using this header name. + IdTokenHeader string `protobuf:"bytes,1,opt,name=id_token_header,json=idTokenHeader,proto3" json:"id_token_header,omitempty"` + // If set, the access token will be forward upstream using this header name. + AccessTokenHeader string `protobuf:"bytes,2,opt,name=access_token_header,json=accessTokenHeader,proto3" json:"access_token_header,omitempty"` + // If true, adds the "Bearer" prefix to the upstream access token header value. + UseBearerSchemaForAuthorization *wrappers.BoolValue `protobuf:"bytes,3,opt,name=use_bearer_schema_for_authorization,json=useBearerSchemaForAuthorization,proto3" json:"use_bearer_schema_for_authorization,omitempty"` +} + +func (x *HeaderConfiguration) Reset() { + *x = HeaderConfiguration{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HeaderConfiguration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HeaderConfiguration) ProtoMessage() {} + +func (x *HeaderConfiguration) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HeaderConfiguration.ProtoReflect.Descriptor instead. +func (*HeaderConfiguration) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{16} +} + +func (x *HeaderConfiguration) GetIdTokenHeader() string { + if x != nil { + return x.IdTokenHeader + } + return "" +} + +func (x *HeaderConfiguration) GetAccessTokenHeader() string { + if x != nil { + return x.AccessTokenHeader + } + return "" +} + +func (x *HeaderConfiguration) GetUseBearerSchemaForAuthorization() *wrappers.BoolValue { + if x != nil { + return x.UseBearerSchemaForAuthorization + } + return nil +} + +// OIDC configuration is discovered at /.well-known/openid-configuration +// The discovery override defines any properties that should override this discovery configuration +// https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata +type DiscoveryOverride struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // url of the provider authorization endpoint + AuthEndpoint string `protobuf:"bytes,1,opt,name=auth_endpoint,json=authEndpoint,proto3" json:"auth_endpoint,omitempty"` + // url of the provider token endpoint + TokenEndpoint string `protobuf:"bytes,2,opt,name=token_endpoint,json=tokenEndpoint,proto3" json:"token_endpoint,omitempty"` + // url of the provider json web key set + JwksUri string `protobuf:"bytes,3,opt,name=jwks_uri,json=jwksUri,proto3" json:"jwks_uri,omitempty"` + // list of scope values that the provider supports + Scopes []string `protobuf:"bytes,4,rep,name=scopes,proto3" json:"scopes,omitempty"` + // list of response types that the provider supports + ResponseTypes []string `protobuf:"bytes,5,rep,name=response_types,json=responseTypes,proto3" json:"response_types,omitempty"` + // list of subject identifier types that the provider supports + Subjects []string `protobuf:"bytes,6,rep,name=subjects,proto3" json:"subjects,omitempty"` + // list of json web signature signing algorithms that the provider supports for encoding claims in a jwt + IdTokenAlgs []string `protobuf:"bytes,7,rep,name=id_token_algs,json=idTokenAlgs,proto3" json:"id_token_algs,omitempty"` + // list of client authentication methods supported by the provider token endpoint + AuthMethods []string `protobuf:"bytes,8,rep,name=auth_methods,json=authMethods,proto3" json:"auth_methods,omitempty"` + // list of claim types that the provider supports + Claims []string `protobuf:"bytes,9,rep,name=claims,proto3" json:"claims,omitempty"` + // url of the provider token revocation endpoint + RevocationEndpoint string `protobuf:"bytes,10,opt,name=revocation_endpoint,json=revocationEndpoint,proto3" json:"revocation_endpoint,omitempty"` + // url of the provider end session endpoint + EndSessionEndpoint string `protobuf:"bytes,11,opt,name=end_session_endpoint,json=endSessionEndpoint,proto3" json:"end_session_endpoint,omitempty"` +} + +func (x *DiscoveryOverride) Reset() { + *x = DiscoveryOverride{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveryOverride) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveryOverride) ProtoMessage() {} + +func (x *DiscoveryOverride) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveryOverride.ProtoReflect.Descriptor instead. +func (*DiscoveryOverride) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{17} +} + +func (x *DiscoveryOverride) GetAuthEndpoint() string { + if x != nil { + return x.AuthEndpoint + } + return "" +} + +func (x *DiscoveryOverride) GetTokenEndpoint() string { + if x != nil { + return x.TokenEndpoint + } + return "" +} + +func (x *DiscoveryOverride) GetJwksUri() string { + if x != nil { + return x.JwksUri + } + return "" +} + +func (x *DiscoveryOverride) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *DiscoveryOverride) GetResponseTypes() []string { + if x != nil { + return x.ResponseTypes + } + return nil +} + +func (x *DiscoveryOverride) GetSubjects() []string { + if x != nil { + return x.Subjects + } + return nil +} + +func (x *DiscoveryOverride) GetIdTokenAlgs() []string { + if x != nil { + return x.IdTokenAlgs + } + return nil +} + +func (x *DiscoveryOverride) GetAuthMethods() []string { + if x != nil { + return x.AuthMethods + } + return nil +} + +func (x *DiscoveryOverride) GetClaims() []string { + if x != nil { + return x.Claims + } + return nil +} + +func (x *DiscoveryOverride) GetRevocationEndpoint() string { + if x != nil { + return x.RevocationEndpoint + } + return "" +} + +func (x *DiscoveryOverride) GetEndSessionEndpoint() string { + if x != nil { + return x.EndSessionEndpoint + } + return "" +} + +// The json web key set (JWKS) (https://tools.ietf.org/html/rfc7517) is discovered at an interval +// from a remote source. When keys rotate in the remote source, there may be a delay in the +// local source picking up those new keys. Therefore, a user could execute a request with a token +// that has been signed by a key in the remote JWKS, but the local cache doesn't have the key yet. +// The request would fail because the key isn't contained in the local set. Since most IdPs publish key +// keys in their remote JWKS before they are used, this is not an issue most of the time. +// This policy lets you define the behavior for when a user has a token with a key +// not yet in the local cache. +type JwksOnDemandCacheRefreshPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Policy: + // + // *JwksOnDemandCacheRefreshPolicy_Never + // *JwksOnDemandCacheRefreshPolicy_Always + // *JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval + Policy isJwksOnDemandCacheRefreshPolicy_Policy `protobuf_oneof:"policy"` +} + +func (x *JwksOnDemandCacheRefreshPolicy) Reset() { + *x = JwksOnDemandCacheRefreshPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JwksOnDemandCacheRefreshPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JwksOnDemandCacheRefreshPolicy) ProtoMessage() {} + +func (x *JwksOnDemandCacheRefreshPolicy) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JwksOnDemandCacheRefreshPolicy.ProtoReflect.Descriptor instead. +func (*JwksOnDemandCacheRefreshPolicy) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{18} +} + +func (m *JwksOnDemandCacheRefreshPolicy) GetPolicy() isJwksOnDemandCacheRefreshPolicy_Policy { + if m != nil { + return m.Policy + } + return nil +} + +func (x *JwksOnDemandCacheRefreshPolicy) GetNever() *empty.Empty { + if x, ok := x.GetPolicy().(*JwksOnDemandCacheRefreshPolicy_Never); ok { + return x.Never + } + return nil +} + +func (x *JwksOnDemandCacheRefreshPolicy) GetAlways() *empty.Empty { + if x, ok := x.GetPolicy().(*JwksOnDemandCacheRefreshPolicy_Always); ok { + return x.Always + } + return nil +} + +func (x *JwksOnDemandCacheRefreshPolicy) GetMaxIdpReqPerPollingInterval() uint32 { + if x, ok := x.GetPolicy().(*JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval); ok { + return x.MaxIdpReqPerPollingInterval + } + return 0 +} + +type isJwksOnDemandCacheRefreshPolicy_Policy interface { + isJwksOnDemandCacheRefreshPolicy_Policy() +} + +type JwksOnDemandCacheRefreshPolicy_Never struct { + // Never refresh the local JWKS cache on demand. If a key is not in the cache, it is assumed to be malicious. + // This is the default policy since we assume that IdPs publish keys before they rotate them, + // and frequent polling finds the newest keys. + Never *empty.Empty `protobuf:"bytes,1,opt,name=never,proto3,oneof"` +} + +type JwksOnDemandCacheRefreshPolicy_Always struct { + // If a key is not in the cache, fetch the most recent keys from the IdP and update the cache. + // NOTE: This should only be done in trusted environments, since missing keys will each trigger + // a request to the IdP. Using this in an environment exposed to the internet will allow malicious agents to + // execute a DDoS attack by spamming protected endpoints with tokens signed by invalid keys. + Always *empty.Empty `protobuf:"bytes,2,opt,name=always,proto3,oneof"` +} + +type JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval struct { + // If a key is not in the cache, fetch the most recent keys from the IdP and update the cache. + // This value sets the number of requests to the IdP per polling interval. If that limit is exceeded, + // we will stop fetching from the IdP for the remainder of the polling interval. + MaxIdpReqPerPollingInterval uint32 `protobuf:"varint,3,opt,name=max_idp_req_per_polling_interval,json=maxIdpReqPerPollingInterval,proto3,oneof"` +} + +func (*JwksOnDemandCacheRefreshPolicy_Never) isJwksOnDemandCacheRefreshPolicy_Policy() {} + +func (*JwksOnDemandCacheRefreshPolicy_Always) isJwksOnDemandCacheRefreshPolicy_Policy() {} + +func (*JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval) isJwksOnDemandCacheRefreshPolicy_Policy() { +} + +type AutoMapFromMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace from which to map metadata + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` +} + +func (x *AutoMapFromMetadata) Reset() { + *x = AutoMapFromMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AutoMapFromMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AutoMapFromMetadata) ProtoMessage() {} + +func (x *AutoMapFromMetadata) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AutoMapFromMetadata.ProtoReflect.Descriptor instead. +func (*AutoMapFromMetadata) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{19} +} + +func (x *AutoMapFromMetadata) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +type EndSessionProperties struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The method type used by the end session endpoint, defaults to GET. + MethodType EndSessionProperties_MethodType `protobuf:"varint,1,opt,name=methodType,proto3,enum=enterprise.gloo.solo.io.EndSessionProperties_MethodType" json:"methodType,omitempty"` +} + +func (x *EndSessionProperties) Reset() { + *x = EndSessionProperties{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EndSessionProperties) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EndSessionProperties) ProtoMessage() {} + +func (x *EndSessionProperties) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EndSessionProperties.ProtoReflect.Descriptor instead. +func (*EndSessionProperties) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{20} +} + +func (x *EndSessionProperties) GetMethodType() EndSessionProperties_MethodType { + if x != nil { + return x.MethodType + } + return EndSessionProperties_GetMethod +} + +// Map a single claim from an OAuth2 or OIDC token to a header in the request to the upstream destination. +type ClaimToHeader struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The claim name from the token, such as `sub`. + Claim string `protobuf:"bytes,1,opt,name=claim,proto3" json:"claim,omitempty"` + // The header to copy the claim to, such as `x-sub`. + Header string `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"` + // If the header exists, append the claim value to the header (true), or overwrite any existing value (false). The default behavior is to overwrite any existing value (false). + Append bool `protobuf:"varint,3,opt,name=append,proto3" json:"append,omitempty"` +} + +func (x *ClaimToHeader) Reset() { + *x = ClaimToHeader{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClaimToHeader) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClaimToHeader) ProtoMessage() {} + +func (x *ClaimToHeader) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClaimToHeader.ProtoReflect.Descriptor instead. +func (*ClaimToHeader) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{21} +} + +func (x *ClaimToHeader) GetClaim() string { + if x != nil { + return x.Claim + } + return "" +} + +func (x *ClaimToHeader) GetHeader() string { + if x != nil { + return x.Header + } + return "" +} + +func (x *ClaimToHeader) GetAppend() bool { + if x != nil { + return x.Append + } + return false +} + +type OidcAuthorizationCode struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // your client id as registered with the issuer + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // your client secret as registered with the issuer. + // This is required unless `disable_client_secret` is true + // This field has been deprecated and can be set in the client_secret option of client_authentication + // + // Deprecated: Do not use. + ClientSecretRef *core.ResourceRef `protobuf:"bytes,2,opt,name=client_secret_ref,json=clientSecretRef,proto3" json:"client_secret_ref,omitempty"` + // The url of the issuer. We will look for OIDC information in issuerUrl+ + // ".well-known/openid-configuration" + IssuerUrl string `protobuf:"bytes,3,opt,name=issuer_url,json=issuerUrl,proto3" json:"issuer_url,omitempty"` + // extra query parameters to apply to the Ext-Auth service's authorization request to the identity provider. + // this can be useful for flows such as PKCE (https://www.oauth.com/oauth2-servers/pkce/authorization-request/) + // to set the `code_challenge` and `code_challenge_method`. + AuthEndpointQueryParams map[string]string `protobuf:"bytes,4,rep,name=auth_endpoint_query_params,json=authEndpointQueryParams,proto3" json:"auth_endpoint_query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // extra query parameters to apply to the Ext-Auth service's token request to the identity provider. + // this can be useful for flows such as PKCE (https://www.oauth.com/oauth2-servers/pkce/authorization-request/) + // to set the `code_verifier`. + TokenEndpointQueryParams map[string]string `protobuf:"bytes,14,rep,name=token_endpoint_query_params,json=tokenEndpointQueryParams,proto3" json:"token_endpoint_query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // where to redirect after successful auth, if we can't determine the original url. + // this should be your publicly available app url. + AppUrl string `protobuf:"bytes,5,opt,name=app_url,json=appUrl,proto3" json:"app_url,omitempty"` + // a callback path relative to app url that will be used for OIDC callbacks. + // should not be used by the application. + CallbackPath string `protobuf:"bytes,6,opt,name=callback_path,json=callbackPath,proto3" json:"callback_path,omitempty"` + // a path relative to app url that will be used for logging out from an OIDC session. + // should not be used by the application. + // If not provided, logout functionality will be disabled. + LogoutPath string `protobuf:"bytes,9,opt,name=logout_path,json=logoutPath,proto3" json:"logout_path,omitempty"` + // url to redirect to after logout. + // This should be a publicly available URL. If not provided, will default to the `app_url`. + AfterLogoutUrl string `protobuf:"bytes,15,opt,name=after_logout_url,json=afterLogoutUrl,proto3" json:"after_logout_url,omitempty"` + // Scopes to request in addition to openid scope. + Scopes []string `protobuf:"bytes,7,rep,name=scopes,proto3" json:"scopes,omitempty"` + // Configuration related to the user session. + Session *UserSession `protobuf:"bytes,8,opt,name=session,proto3" json:"session,omitempty"` + // Configures headers added to requests. + Headers *HeaderConfiguration `protobuf:"bytes,10,opt,name=headers,proto3" json:"headers,omitempty"` + // OIDC configuration is discovered at /.well-known/openid-configuration + // The discovery override defines any properties that should override this discovery configuration + // For example, the following AuthConfig CRD could be defined as: + // + // ```yaml + // apiVersion: enterprise.gloo.solo.io/v1 + // kind: AuthConfig + // metadata: + // name: google-oidc + // namespace: gloo-system + // spec: + // configs: + // - oauth: + // app_url: http://localhost:8080 + // callback_path: /callback + // client_id: $CLIENT_ID + // client_secret_ref: + // name: google + // namespace: gloo-system + // issuer_url: https://accounts.google.com + // discovery_override: + // token_endpoint: "https://token.url/gettoken" + // ``` + // + // And this will ensure that regardless of what value is discovered at + // /.well-known/openid-configuration, "https://token.url/gettoken" will be used as the token endpoint + DiscoveryOverride *DiscoveryOverride `protobuf:"bytes,11,opt,name=discovery_override,json=discoveryOverride,proto3" json:"discovery_override,omitempty"` + // The interval at which OIDC configuration is discovered at /.well-known/openid-configuration + // If not specified, the default value is 30 minutes. + DiscoveryPollInterval *duration.Duration `protobuf:"bytes,12,opt,name=discovery_poll_interval,json=discoveryPollInterval,proto3" json:"discovery_poll_interval,omitempty"` + // If a user executes a request with a key that is not found in the JWKS, it could be + // that the keys have rotated on the remote source, and not yet in the local cache. + // This policy lets you define the behavior for how to refresh the local cache during a request + // where an invalid key is provided + JwksCacheRefreshPolicy *JwksOnDemandCacheRefreshPolicy `protobuf:"bytes,13,opt,name=jwks_cache_refresh_policy,json=jwksCacheRefreshPolicy,proto3" json:"jwks_cache_refresh_policy,omitempty"` + // DEPRECATED: Prefer the RedisSession.HeaderName field + // If set, the randomly generated session id will be sent to the token endpoint as part of the code exchange + // The session id is used as the key for sessions in Redis + // + // Deprecated: Do not use. + SessionIdHeaderName string `protobuf:"bytes,16,opt,name=session_id_header_name,json=sessionIdHeaderName,proto3" json:"session_id_header_name,omitempty"` + // If set, CallbackPath will be evaluated as a regular expression + ParseCallbackPathAsRegex bool `protobuf:"varint,17,opt,name=parse_callback_path_as_regex,json=parseCallbackPathAsRegex,proto3" json:"parse_callback_path_as_regex,omitempty"` + // If specified, authEndpointQueryParams and tokenEndpointQueryParams will be populated using dynamic metadata values. + // By default parameters will be extracted from the solo_authconfig_oidc namespace + // this behavior can be overridden by explicitly specifying a namespace + AutoMapFromMetadata *AutoMapFromMetadata `protobuf:"bytes,18,opt,name=auto_map_from_metadata,json=autoMapFromMetadata,proto3" json:"auto_map_from_metadata,omitempty"` + // If specified, these are properties defined for the end session endpoint + // specifications. Noted [here](https://openid.net/specs/openid-connect-rpinitiated-1_0.html) + // in the OIDC documentation. + EndSessionProperties *EndSessionProperties `protobuf:"bytes,19,opt,name=end_session_properties,json=endSessionProperties,proto3" json:"end_session_properties,omitempty"` + // Map of metadata key to claim. Ie: + // dynamic_metadata_from_claims: + // + // issuer: iss + // email: email + // + // When specified, the matching claims from the ID token will be emitted as dynamic metadata. + // Note that metadata keys must be unique, and the claim names must be alphanumeric and use `-` or `_` as separators. + // The metadata will live in a namespace specified by the canonical name of the ext auth filter (in our case `envoy.filters.http.ext_authz`), + // and the structure of the claim value will be preserved in the metadata struct. + DynamicMetadataFromClaims map[string]string `protobuf:"bytes,20,rep,name=dynamic_metadata_from_claims,json=dynamicMetadataFromClaims,proto3" json:"dynamic_metadata_from_claims,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // If true, do not check for or use the client secret. + // Generally the client secret is required and AuthConfigs will be rejected if it isn't set. + // However certain implementations of the PKCE flow do not use a client secret (including Okta) so this setting allows configuring Oidc without a client secret. + // This field has been deprecated and can be set in the client_secret option of client_authentication + // + // Deprecated: Do not use. + DisableClientSecret *wrappers.BoolValue `protobuf:"bytes,21,opt,name=disable_client_secret,json=disableClientSecret,proto3" json:"disable_client_secret,omitempty"` + // Optional: Configuration specific to the OAuth2 access token received and processed by the ext-auth-service. + AccessToken *OidcAuthorizationCode_AccessToken `protobuf:"bytes,23,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + // Optional: Configuration specific to the OIDC identity token received and processed by the ext-auth-service. + IdentityToken *OidcAuthorizationCode_IdentityToken `protobuf:"bytes,24,opt,name=identity_token,json=identityToken,proto3" json:"identity_token,omitempty"` + ClientAuthentication *OidcAuthorizationCode_ClientAuthentication `protobuf:"bytes,25,opt,name=client_authentication,json=clientAuthentication,proto3" json:"client_authentication,omitempty"` + // Types that are assignable to Provider: + // + // *OidcAuthorizationCode_Default_ + // *OidcAuthorizationCode_Azure_ + Provider isOidcAuthorizationCode_Provider `protobuf_oneof:"Provider"` +} + +func (x *OidcAuthorizationCode) Reset() { + *x = OidcAuthorizationCode{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OidcAuthorizationCode) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OidcAuthorizationCode) ProtoMessage() {} + +func (x *OidcAuthorizationCode) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OidcAuthorizationCode.ProtoReflect.Descriptor instead. +func (*OidcAuthorizationCode) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{22} +} + +func (x *OidcAuthorizationCode) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +// Deprecated: Do not use. +func (x *OidcAuthorizationCode) GetClientSecretRef() *core.ResourceRef { + if x != nil { + return x.ClientSecretRef + } + return nil +} + +func (x *OidcAuthorizationCode) GetIssuerUrl() string { + if x != nil { + return x.IssuerUrl + } + return "" +} + +func (x *OidcAuthorizationCode) GetAuthEndpointQueryParams() map[string]string { + if x != nil { + return x.AuthEndpointQueryParams + } + return nil +} + +func (x *OidcAuthorizationCode) GetTokenEndpointQueryParams() map[string]string { + if x != nil { + return x.TokenEndpointQueryParams + } + return nil +} + +func (x *OidcAuthorizationCode) GetAppUrl() string { + if x != nil { + return x.AppUrl + } + return "" +} + +func (x *OidcAuthorizationCode) GetCallbackPath() string { + if x != nil { + return x.CallbackPath + } + return "" +} + +func (x *OidcAuthorizationCode) GetLogoutPath() string { + if x != nil { + return x.LogoutPath + } + return "" +} + +func (x *OidcAuthorizationCode) GetAfterLogoutUrl() string { + if x != nil { + return x.AfterLogoutUrl + } + return "" +} + +func (x *OidcAuthorizationCode) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *OidcAuthorizationCode) GetSession() *UserSession { + if x != nil { + return x.Session + } + return nil +} + +func (x *OidcAuthorizationCode) GetHeaders() *HeaderConfiguration { + if x != nil { + return x.Headers + } + return nil +} + +func (x *OidcAuthorizationCode) GetDiscoveryOverride() *DiscoveryOverride { + if x != nil { + return x.DiscoveryOverride + } + return nil +} + +func (x *OidcAuthorizationCode) GetDiscoveryPollInterval() *duration.Duration { + if x != nil { + return x.DiscoveryPollInterval + } + return nil +} + +func (x *OidcAuthorizationCode) GetJwksCacheRefreshPolicy() *JwksOnDemandCacheRefreshPolicy { + if x != nil { + return x.JwksCacheRefreshPolicy + } + return nil +} + +// Deprecated: Do not use. +func (x *OidcAuthorizationCode) GetSessionIdHeaderName() string { + if x != nil { + return x.SessionIdHeaderName + } + return "" +} + +func (x *OidcAuthorizationCode) GetParseCallbackPathAsRegex() bool { + if x != nil { + return x.ParseCallbackPathAsRegex + } + return false +} + +func (x *OidcAuthorizationCode) GetAutoMapFromMetadata() *AutoMapFromMetadata { + if x != nil { + return x.AutoMapFromMetadata + } + return nil +} + +func (x *OidcAuthorizationCode) GetEndSessionProperties() *EndSessionProperties { + if x != nil { + return x.EndSessionProperties + } + return nil +} + +func (x *OidcAuthorizationCode) GetDynamicMetadataFromClaims() map[string]string { + if x != nil { + return x.DynamicMetadataFromClaims + } + return nil +} + +// Deprecated: Do not use. +func (x *OidcAuthorizationCode) GetDisableClientSecret() *wrappers.BoolValue { + if x != nil { + return x.DisableClientSecret + } + return nil +} + +func (x *OidcAuthorizationCode) GetAccessToken() *OidcAuthorizationCode_AccessToken { + if x != nil { + return x.AccessToken + } + return nil +} + +func (x *OidcAuthorizationCode) GetIdentityToken() *OidcAuthorizationCode_IdentityToken { + if x != nil { + return x.IdentityToken + } + return nil +} + +func (x *OidcAuthorizationCode) GetClientAuthentication() *OidcAuthorizationCode_ClientAuthentication { + if x != nil { + return x.ClientAuthentication + } + return nil +} + +func (m *OidcAuthorizationCode) GetProvider() isOidcAuthorizationCode_Provider { + if m != nil { + return m.Provider + } + return nil +} + +func (x *OidcAuthorizationCode) GetDefault() *OidcAuthorizationCode_Default { + if x, ok := x.GetProvider().(*OidcAuthorizationCode_Default_); ok { + return x.Default + } + return nil +} + +func (x *OidcAuthorizationCode) GetAzure() *OidcAuthorizationCode_Azure { + if x, ok := x.GetProvider().(*OidcAuthorizationCode_Azure_); ok { + return x.Azure + } + return nil +} + +type isOidcAuthorizationCode_Provider interface { + isOidcAuthorizationCode_Provider() +} + +type OidcAuthorizationCode_Default_ struct { + Default *OidcAuthorizationCode_Default `protobuf:"bytes,26,opt,name=default,proto3,oneof"` +} + +type OidcAuthorizationCode_Azure_ struct { + Azure *OidcAuthorizationCode_Azure `protobuf:"bytes,27,opt,name=azure,proto3,oneof"` +} + +func (*OidcAuthorizationCode_Default_) isOidcAuthorizationCode_Provider() {} + +func (*OidcAuthorizationCode_Azure_) isOidcAuthorizationCode_Provider() {} + +type PlainOAuth2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Your client ID as registered with the issuer + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // Your client secret as registered with the issuer. + // This is required unless `disable_client_secret` is set. + ClientSecretRef *core.ResourceRef `protobuf:"bytes,2,opt,name=client_secret_ref,json=clientSecretRef,proto3" json:"client_secret_ref,omitempty"` + // Extra query parameters to apply to the Ext-Auth service's authorization request to the identity provider. + // These parameters can be useful for flows such as [PKCE](https://www.oauth.com/oauth2-servers/pkce/authorization-request/) + // to set the `code_challenge` and `code_challenge_method`. + AuthEndpointQueryParams map[string]string `protobuf:"bytes,3,rep,name=auth_endpoint_query_params,json=authEndpointQueryParams,proto3" json:"auth_endpoint_query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Where to redirect after successful auth, if Gloo can't determine the original URL. + // Set this field to your publicly available app URL. + AppUrl string `protobuf:"bytes,4,opt,name=app_url,json=appUrl,proto3" json:"app_url,omitempty"` + // A callback path relative to the app URL to be used for OAuth2 callbacks. + // Do not use this path in the application itself. + CallbackPath string `protobuf:"bytes,5,opt,name=callback_path,json=callbackPath,proto3" json:"callback_path,omitempty"` + // Scopes to request for. + Scopes []string `protobuf:"bytes,6,rep,name=scopes,proto3" json:"scopes,omitempty"` + // Configuration related to the user session. + Session *UserSession `protobuf:"bytes,7,opt,name=session,proto3" json:"session,omitempty"` + // A path relative to the app URL to use for logging out from an OAuth2 session. + // Do not use this path in the application itself. + // If not provided, logout functionality is disabled. + LogoutPath string `protobuf:"bytes,8,opt,name=logout_path,json=logoutPath,proto3" json:"logout_path,omitempty"` + // Extra query parameters to apply to the Ext-Auth service's token request to the identity provider. + // These parameters can be useful for flows such as [PKCE](https://www.oauth.com/oauth2-servers/pkce/authorization-request/) + // to set the `code_verifier`. + TokenEndpointQueryParams map[string]string `protobuf:"bytes,9,rep,name=token_endpoint_query_params,json=tokenEndpointQueryParams,proto3" json:"token_endpoint_query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // URL to redirect to after logout. + // Set this field to a publicly available URL. If not provided, this value defaults to the `app_url` value. + AfterLogoutUrl string `protobuf:"bytes,10,opt,name=after_logout_url,json=afterLogoutUrl,proto3" json:"after_logout_url,omitempty"` + // The URL of the provider authorization endpoint. + AuthEndpoint string `protobuf:"bytes,11,opt,name=auth_endpoint,json=authEndpoint,proto3" json:"auth_endpoint,omitempty"` + // The URL of the provider token endpoint. + TokenEndpoint string `protobuf:"bytes,12,opt,name=token_endpoint,json=tokenEndpoint,proto3" json:"token_endpoint,omitempty"` + // The URL of the provider token revocation endpoint. + // For more information, refer to https://www.rfc-editor.org/rfc/rfc7009. + RevocationEndpoint string `protobuf:"bytes,13,opt,name=revocation_endpoint,json=revocationEndpoint,proto3" json:"revocation_endpoint,omitempty"` + // If true, do not check for or use the client secret. + // Generally the client secret is required and AuthConfigs will be rejected if it isn't set. + // However certain implementations of the PKCE flow do not use a client secret (including Okta) so this setting allows configuring Oauth2 without a client secret. + DisableClientSecret *wrappers.BoolValue `protobuf:"bytes,14,opt,name=disable_client_secret,json=disableClientSecret,proto3" json:"disable_client_secret,omitempty"` +} + +func (x *PlainOAuth2) Reset() { + *x = PlainOAuth2{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PlainOAuth2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlainOAuth2) ProtoMessage() {} + +func (x *PlainOAuth2) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlainOAuth2.ProtoReflect.Descriptor instead. +func (*PlainOAuth2) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{23} +} + +func (x *PlainOAuth2) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *PlainOAuth2) GetClientSecretRef() *core.ResourceRef { + if x != nil { + return x.ClientSecretRef + } + return nil +} + +func (x *PlainOAuth2) GetAuthEndpointQueryParams() map[string]string { + if x != nil { + return x.AuthEndpointQueryParams + } + return nil +} + +func (x *PlainOAuth2) GetAppUrl() string { + if x != nil { + return x.AppUrl + } + return "" +} + +func (x *PlainOAuth2) GetCallbackPath() string { + if x != nil { + return x.CallbackPath + } + return "" +} + +func (x *PlainOAuth2) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *PlainOAuth2) GetSession() *UserSession { + if x != nil { + return x.Session + } + return nil +} + +func (x *PlainOAuth2) GetLogoutPath() string { + if x != nil { + return x.LogoutPath + } + return "" +} + +func (x *PlainOAuth2) GetTokenEndpointQueryParams() map[string]string { + if x != nil { + return x.TokenEndpointQueryParams + } + return nil +} + +func (x *PlainOAuth2) GetAfterLogoutUrl() string { + if x != nil { + return x.AfterLogoutUrl + } + return "" +} + +func (x *PlainOAuth2) GetAuthEndpoint() string { + if x != nil { + return x.AuthEndpoint + } + return "" +} + +func (x *PlainOAuth2) GetTokenEndpoint() string { + if x != nil { + return x.TokenEndpoint + } + return "" +} + +func (x *PlainOAuth2) GetRevocationEndpoint() string { + if x != nil { + return x.RevocationEndpoint + } + return "" +} + +func (x *PlainOAuth2) GetDisableClientSecret() *wrappers.BoolValue { + if x != nil { + return x.DisableClientSecret + } + return nil +} + +// Defines how JSON Web Token (JWT) access tokens are validated. +// +// Tokens are validated using a JSON Web Key Set (as defined in +// [Section 5 of RFC7517](https://tools.ietf.org/html/rfc7517#section-5)), +// which can be either inlined in the configuration or fetched from a remote location via HTTP. +// Any keys in the JWKS that are not intended for signature verification (i.e. whose +// ["use" parameter](https://tools.ietf.org/html/rfc7517#section-4.2) is not "sig") +// will be ignored by the system, as will keys that do not specify a +// ["kid" (Key ID) parameter](https://tools.ietf.org/html/rfc7517#section-4.2). +// +// The JWT to be validated must define non-empty "kid" and "alg" headers. The "kid" header +// determines which key in the JWKS will be used to verify the signature of the token; +// if no matching key is found, the token will be rejected. +// +// If present, the server will verify the "exp", "iat", and "nbf" standard JWT claims. +// Validation of the "iss" claim and of token scopes can be configured as well. +// If the JWT has been successfully validated, its set of claims will be added to the +// `AuthorizationRequest` state under the "jwtAccessToken" key. +type JwtValidation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to JwksSourceSpecifier: + // + // *JwtValidation_RemoteJwks_ + // *JwtValidation_LocalJwks_ + JwksSourceSpecifier isJwtValidation_JwksSourceSpecifier `protobuf_oneof:"jwks_source_specifier"` + // Allow only tokens that have been issued by this principal (i.e. whose "iss" claim matches this value). + // If empty, issuer validation will be skipped. + Issuer string `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"` +} + +func (x *JwtValidation) Reset() { + *x = JwtValidation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JwtValidation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JwtValidation) ProtoMessage() {} + +func (x *JwtValidation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JwtValidation.ProtoReflect.Descriptor instead. +func (*JwtValidation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{24} +} + +func (m *JwtValidation) GetJwksSourceSpecifier() isJwtValidation_JwksSourceSpecifier { + if m != nil { + return m.JwksSourceSpecifier + } + return nil +} + +func (x *JwtValidation) GetRemoteJwks() *JwtValidation_RemoteJwks { + if x, ok := x.GetJwksSourceSpecifier().(*JwtValidation_RemoteJwks_); ok { + return x.RemoteJwks + } + return nil +} + +func (x *JwtValidation) GetLocalJwks() *JwtValidation_LocalJwks { + if x, ok := x.GetJwksSourceSpecifier().(*JwtValidation_LocalJwks_); ok { + return x.LocalJwks + } + return nil +} + +func (x *JwtValidation) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +type isJwtValidation_JwksSourceSpecifier interface { + isJwtValidation_JwksSourceSpecifier() +} + +type JwtValidation_RemoteJwks_ struct { + // Fetches the JWKS from a remote location. + RemoteJwks *JwtValidation_RemoteJwks `protobuf:"bytes,1,opt,name=remote_jwks,json=remoteJwks,proto3,oneof"` +} + +type JwtValidation_LocalJwks_ struct { + // Loads the JWKS from a local data source. + LocalJwks *JwtValidation_LocalJwks `protobuf:"bytes,2,opt,name=local_jwks,json=localJwks,proto3,oneof"` +} + +func (*JwtValidation_RemoteJwks_) isJwtValidation_JwksSourceSpecifier() {} + +func (*JwtValidation_LocalJwks_) isJwtValidation_JwksSourceSpecifier() {} + +// Defines how (opaque) access tokens, received from the oauth authorization endpoint, are validated +// [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) +// +// If the token introspection url requires client authentication, both the client_id and client_secret +// are required. Unless disable_client_secret is set, when only one is provided, the config will be rejected. +// These values will be encoded in a basic auth header in order to authenticate the client. +type IntrospectionValidation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The URL for the [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) endpoint. + // If provided, the (opaque) access token provided or received from the oauth authorization endpoint + // will be validated against this endpoint, or locally cached responses for this access token. + IntrospectionUrl string `protobuf:"bytes,1,opt,name=introspection_url,json=introspectionUrl,proto3" json:"introspection_url,omitempty"` + // Your client id as registered with the issuer. + // Optional: Use if the token introspection url requires client authentication. + ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // Your client secret as registered with the issuer. + // Optional: Use if the token introspection url requires client authentication. + ClientSecretRef *core.ResourceRef `protobuf:"bytes,3,opt,name=client_secret_ref,json=clientSecretRef,proto3" json:"client_secret_ref,omitempty"` + // The name of the [introspection response](https://tools.ietf.org/html/rfc7662#section-2.2) + // attribute that contains the ID of the resource owner (e.g. `sub`, `username`). + // If specified, the external auth server will use the value of the attribute as the identifier of the + // authenticated user and add it to the request headers and/or dynamic metadata (depending on how the + // server is configured); if the field is set and the attribute cannot be found, the request will be denied. + // This field is optional and by default the server will not try to derive the user ID. + UserIdAttributeName string `protobuf:"bytes,4,opt,name=user_id_attribute_name,json=userIdAttributeName,proto3" json:"user_id_attribute_name,omitempty"` + // Allows setting a client id but not a client secret. + DisableClientSecret *wrappers.BoolValue `protobuf:"bytes,5,opt,name=disable_client_secret,json=disableClientSecret,proto3" json:"disable_client_secret,omitempty"` +} + +func (x *IntrospectionValidation) Reset() { + *x = IntrospectionValidation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IntrospectionValidation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IntrospectionValidation) ProtoMessage() {} + +func (x *IntrospectionValidation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IntrospectionValidation.ProtoReflect.Descriptor instead. +func (*IntrospectionValidation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{25} +} + +func (x *IntrospectionValidation) GetIntrospectionUrl() string { + if x != nil { + return x.IntrospectionUrl + } + return "" +} + +func (x *IntrospectionValidation) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *IntrospectionValidation) GetClientSecretRef() *core.ResourceRef { + if x != nil { + return x.ClientSecretRef + } + return nil +} + +func (x *IntrospectionValidation) GetUserIdAttributeName() string { + if x != nil { + return x.UserIdAttributeName + } + return "" +} + +func (x *IntrospectionValidation) GetDisableClientSecret() *wrappers.BoolValue { + if x != nil { + return x.DisableClientSecret + } + return nil +} + +type AccessTokenValidation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ValidationType: + // + // *AccessTokenValidation_IntrospectionUrl + // *AccessTokenValidation_Jwt + // *AccessTokenValidation_Introspection + ValidationType isAccessTokenValidation_ValidationType `protobuf_oneof:"validation_type"` + // The URL for the OIDC userinfo endpoint. + // If provided, the (opaque) access token provided or received from the oauth endpoint + // will be queried and the userinfo response (or cached response) will be added to the + // `AuthorizationRequest` state under the "introspection" key. + // This can be useful to leverage the userinfo response in, for example, an external auth server plugin. + UserinfoUrl string `protobuf:"bytes,4,opt,name=userinfo_url,json=userinfoUrl,proto3" json:"userinfo_url,omitempty"` + // How long the token introspection and userinfo endpoint response for a specific access token should be kept + // in the in-memory cache. The result will be invalidated at this timeout, or at "exp" time from the introspection + // result, whichever comes sooner. If omitted, defaults to 10 minutes. If zero, then no caching will be done. + CacheTimeout *duration.Duration `protobuf:"bytes,5,opt,name=cache_timeout,json=cacheTimeout,proto3" json:"cache_timeout,omitempty"` + // Optional criteria for validating the scopes of a token. + // + // Types that are assignable to ScopeValidation: + // + // *AccessTokenValidation_RequiredScopes + ScopeValidation isAccessTokenValidation_ScopeValidation `protobuf_oneof:"scope_validation"` + // Map of metadata key to claim. Ie: + // dynamic_metadata_from_claims: + // + // issuer: iss + // email: email + // + // When specified, the matching claims from the access token will be emitted as dynamic metadata. + // Note that metadata keys must be unique, and the claim names must be alphanumeric and use `-` or `_` as separators. + // Works when the access token is a JWT or when the access token is opaque, in which case the claims will refer to field in the response from the token introspection endpoint. + // The metadata will live in a namespace specified by the canonical name of the ext auth filter (in our case `envoy.filters.http.ext_authz`), + // and the structure of the claim value will be preserved in the metadata struct. + DynamicMetadataFromClaims map[string]string `protobuf:"bytes,7,rep,name=dynamic_metadata_from_claims,json=dynamicMetadataFromClaims,proto3" json:"dynamic_metadata_from_claims,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AccessTokenValidation) Reset() { + *x = AccessTokenValidation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessTokenValidation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessTokenValidation) ProtoMessage() {} + +func (x *AccessTokenValidation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessTokenValidation.ProtoReflect.Descriptor instead. +func (*AccessTokenValidation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{26} +} + +func (m *AccessTokenValidation) GetValidationType() isAccessTokenValidation_ValidationType { + if m != nil { + return m.ValidationType + } + return nil +} + +// Deprecated: Do not use. +func (x *AccessTokenValidation) GetIntrospectionUrl() string { + if x, ok := x.GetValidationType().(*AccessTokenValidation_IntrospectionUrl); ok { + return x.IntrospectionUrl + } + return "" +} + +func (x *AccessTokenValidation) GetJwt() *JwtValidation { + if x, ok := x.GetValidationType().(*AccessTokenValidation_Jwt); ok { + return x.Jwt + } + return nil +} + +func (x *AccessTokenValidation) GetIntrospection() *IntrospectionValidation { + if x, ok := x.GetValidationType().(*AccessTokenValidation_Introspection); ok { + return x.Introspection + } + return nil +} + +func (x *AccessTokenValidation) GetUserinfoUrl() string { + if x != nil { + return x.UserinfoUrl + } + return "" +} + +func (x *AccessTokenValidation) GetCacheTimeout() *duration.Duration { + if x != nil { + return x.CacheTimeout + } + return nil +} + +func (m *AccessTokenValidation) GetScopeValidation() isAccessTokenValidation_ScopeValidation { + if m != nil { + return m.ScopeValidation + } + return nil +} + +func (x *AccessTokenValidation) GetRequiredScopes() *AccessTokenValidation_ScopeList { + if x, ok := x.GetScopeValidation().(*AccessTokenValidation_RequiredScopes); ok { + return x.RequiredScopes + } + return nil +} + +func (x *AccessTokenValidation) GetDynamicMetadataFromClaims() map[string]string { + if x != nil { + return x.DynamicMetadataFromClaims + } + return nil +} + +type isAccessTokenValidation_ValidationType interface { + isAccessTokenValidation_ValidationType() +} + +type AccessTokenValidation_IntrospectionUrl struct { + // The URL for the [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) endpoint. + // If provided, the (opaque) access token provided or received from the oauth authorization endpoint + // will be validated against this endpoint, or locally cached responses for this access token. + // This field is deprecated as it does not support authenticated introspection requests + // + // Deprecated: Do not use. + IntrospectionUrl string `protobuf:"bytes,1,opt,name=introspection_url,json=introspectionUrl,proto3,oneof"` +} + +type AccessTokenValidation_Jwt struct { + // Validate access tokens that conform to the + // [JSON Web Token (JWT)](https://datatracker.ietf.org/doc/rfc7662/) specification. + Jwt *JwtValidation `protobuf:"bytes,2,opt,name=jwt,proto3,oneof"` +} + +type AccessTokenValidation_Introspection struct { + // Defines how (opaque) access tokens, received from the oauth authorization endpoint, are validated + // [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) specification. + Introspection *IntrospectionValidation `protobuf:"bytes,3,opt,name=introspection,proto3,oneof"` +} + +func (*AccessTokenValidation_IntrospectionUrl) isAccessTokenValidation_ValidationType() {} + +func (*AccessTokenValidation_Jwt) isAccessTokenValidation_ValidationType() {} + +func (*AccessTokenValidation_Introspection) isAccessTokenValidation_ValidationType() {} + +type isAccessTokenValidation_ScopeValidation interface { + isAccessTokenValidation_ScopeValidation() +} + +type AccessTokenValidation_RequiredScopes struct { + // Require access token to have all of the scopes in the given list. + // This configuration applies to both opaque and JWT tokens. In the case of opaque tokens, + // this will check the scopes returned in the "scope" member of introspection response + // (as described in [Section 2.2 of RFC7662](https://tools.ietf.org/html/rfc7662#section-2.2). + // In case of JWTs the scopes to be validated are expected to be contained in the "scope" claim of the + // token in the form of a space-separated string. + // Omitting this field means that scope validation will be skipped. + RequiredScopes *AccessTokenValidation_ScopeList `protobuf:"bytes,6,opt,name=required_scopes,json=requiredScopes,proto3,oneof"` +} + +func (*AccessTokenValidation_RequiredScopes) isAccessTokenValidation_ScopeValidation() {} + +type OauthSecret struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientSecret string `protobuf:"bytes,1,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` +} + +func (x *OauthSecret) Reset() { + *x = OauthSecret{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OauthSecret) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OauthSecret) ProtoMessage() {} + +func (x *OauthSecret) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OauthSecret.ProtoReflect.Descriptor instead. +func (*OauthSecret) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{27} +} + +func (x *OauthSecret) GetClientSecret() string { + if x != nil { + return x.ClientSecret + } + return "" +} + +// Defines how API keys are validated. +// +// When the provided API key token has been successfully validated, it's token will be +// added to the `AuthorizationRequest` state under the "api_key_value" key name. +type ApiKeyAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // DEPRECATED: use K8sSecretApiKeyStorage to configure secrets storage backend. Values here + // will be overwritten if values are specified in the storage backend. + // Identify all valid API key secrets that match the provided label selector. + // API key secrets must be in one of the watch namespaces for gloo to locate them. + // + // Deprecated: Do not use. + LabelSelector map[string]string `protobuf:"bytes,1,rep,name=label_selector,json=labelSelector,proto3" json:"label_selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // DEPRECATED: use K8sSecretApiKeyStorage to configure secrets storage backend. Values here + // will be overwritten if values are specified in the storage backend. + // A way to directly reference API key secrets. This configuration can be useful for testing, + // but in general the more flexible label selector should be preferred. + // + // Deprecated: Do not use. + ApiKeySecretRefs []*core.ResourceRef `protobuf:"bytes,2,rep,name=api_key_secret_refs,json=apiKeySecretRefs,proto3" json:"api_key_secret_refs,omitempty"` + // When receiving a request, the Gloo Edge Enterprise external auth server will look for an API key in a header + // with this name. This field is optional; if not provided it defaults to `api-key`. + HeaderName string `protobuf:"bytes,3,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` + // DEPRECATED: use headers_from_metadata_entry + // + // Deprecated: Do not use. + HeadersFromMetadata map[string]*ApiKeyAuth_SecretKey `protobuf:"bytes,4,rep,name=headers_from_metadata,json=headersFromMetadata,proto3" json:"headers_from_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // API key structures might contain additional data (e.g. the ID of the user that the API key belongs to) + // in the form of extra fields included in the API key metadata structure. + // This configuration can be used to add this data to the headers of successfully authenticated requests. + // Each key in the map represents the name of header to be added; the corresponding value determines the key + // in the API key metadata structure that will be inspected to determine the value for the header. + // + // When the provided API key token has been successfully validated, and this field has been configured, then + // any extra API key metadata fields that were able to be discovered will be added to the `AuthorizationRequest` + // state under the key name that was configured. For example, using the `x-user-name` string as the header name, + // and referencing an existing "user-email" API key metadata entry will result in the value of this "user-email" + // metadata entry being accessable in other auth modules in the `AuthorizationRequest.State["x-user-name"]` key. + // This behavior allows other modules (e.g. OPA) to build more powerful rules to further validate the contents + // of the extra API key metadata than what's possible using the standalone API key module. + HeadersFromMetadataEntry map[string]*ApiKeyAuth_MetadataEntry `protobuf:"bytes,5,rep,name=headers_from_metadata_entry,json=headersFromMetadataEntry,proto3" json:"headers_from_metadata_entry,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Types that are assignable to StorageBackend: + // + // *ApiKeyAuth_K8SSecretApikeyStorage + // *ApiKeyAuth_AerospikeApikeyStorage + StorageBackend isApiKeyAuth_StorageBackend `protobuf_oneof:"storage_backend"` +} + +func (x *ApiKeyAuth) Reset() { + *x = ApiKeyAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKeyAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeyAuth) ProtoMessage() {} + +func (x *ApiKeyAuth) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeyAuth.ProtoReflect.Descriptor instead. +func (*ApiKeyAuth) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{28} +} + +// Deprecated: Do not use. +func (x *ApiKeyAuth) GetLabelSelector() map[string]string { + if x != nil { + return x.LabelSelector + } + return nil +} + +// Deprecated: Do not use. +func (x *ApiKeyAuth) GetApiKeySecretRefs() []*core.ResourceRef { + if x != nil { + return x.ApiKeySecretRefs + } + return nil +} + +func (x *ApiKeyAuth) GetHeaderName() string { + if x != nil { + return x.HeaderName + } + return "" +} + +// Deprecated: Do not use. +func (x *ApiKeyAuth) GetHeadersFromMetadata() map[string]*ApiKeyAuth_SecretKey { + if x != nil { + return x.HeadersFromMetadata + } + return nil +} + +func (x *ApiKeyAuth) GetHeadersFromMetadataEntry() map[string]*ApiKeyAuth_MetadataEntry { + if x != nil { + return x.HeadersFromMetadataEntry + } + return nil +} + +func (m *ApiKeyAuth) GetStorageBackend() isApiKeyAuth_StorageBackend { + if m != nil { + return m.StorageBackend + } + return nil +} + +func (x *ApiKeyAuth) GetK8SSecretApikeyStorage() *K8SSecretApiKeyStorage { + if x, ok := x.GetStorageBackend().(*ApiKeyAuth_K8SSecretApikeyStorage); ok { + return x.K8SSecretApikeyStorage + } + return nil +} + +func (x *ApiKeyAuth) GetAerospikeApikeyStorage() *AerospikeApiKeyStorage { + if x, ok := x.GetStorageBackend().(*ApiKeyAuth_AerospikeApikeyStorage); ok { + return x.AerospikeApikeyStorage + } + return nil +} + +type isApiKeyAuth_StorageBackend interface { + isApiKeyAuth_StorageBackend() +} + +type ApiKeyAuth_K8SSecretApikeyStorage struct { + K8SSecretApikeyStorage *K8SSecretApiKeyStorage `protobuf:"bytes,6,opt,name=k8s_secret_apikey_storage,json=k8sSecretApikeyStorage,proto3,oneof"` +} + +type ApiKeyAuth_AerospikeApikeyStorage struct { + AerospikeApikeyStorage *AerospikeApiKeyStorage `protobuf:"bytes,7,opt,name=aerospike_apikey_storage,json=aerospikeApikeyStorage,proto3,oneof"` +} + +func (*ApiKeyAuth_K8SSecretApikeyStorage) isApiKeyAuth_StorageBackend() {} + +func (*ApiKeyAuth_AerospikeApikeyStorage) isApiKeyAuth_StorageBackend() {} + +type K8SSecretApiKeyStorage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identify all valid API key secrets that match the provided label selector.
+ // API key secrets must be in one of the watch namespaces for gloo to locate them. + LabelSelector map[string]string `protobuf:"bytes,1,rep,name=label_selector,json=labelSelector,proto3" json:"label_selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A way to directly reference API key secrets. This configuration can be useful for testing, + // but in general the more flexible label selector should be preferred. + ApiKeySecretRefs []*core.ResourceRef `protobuf:"bytes,2,rep,name=api_key_secret_refs,json=apiKeySecretRefs,proto3" json:"api_key_secret_refs,omitempty"` +} + +func (x *K8SSecretApiKeyStorage) Reset() { + *x = K8SSecretApiKeyStorage{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *K8SSecretApiKeyStorage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*K8SSecretApiKeyStorage) ProtoMessage() {} + +func (x *K8SSecretApiKeyStorage) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use K8SSecretApiKeyStorage.ProtoReflect.Descriptor instead. +func (*K8SSecretApiKeyStorage) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{29} +} + +func (x *K8SSecretApiKeyStorage) GetLabelSelector() map[string]string { + if x != nil { + return x.LabelSelector + } + return nil +} + +func (x *K8SSecretApiKeyStorage) GetApiKeySecretRefs() []*core.ResourceRef { + if x != nil { + return x.ApiKeySecretRefs + } + return nil +} + +type AerospikeApiKeyStorage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The IP address or hostname of one of the cluster members of your Aerospike database. The address must be reachable from Gloo Edge, such as in a virtual machine with a public IP address or in a pod in the cluster. + // The client automatically discovers other members of the cluster after establishing a connection. + Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` + // The Aerospike namespace of the database. Defaults to "solo-namespace". + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The Aerospike set to use for storage of API keys. Defaults to "apikeys". + Set string `protobuf:"bytes,3,opt,name=set,proto3" json:"set,omitempty"` + // The port on which to connect to the Aerospike server. Defaults to 3000. + Port int32 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"` + // The size of the batch, which is the number of keys sent in the request. Defaults to 5000. + BatchSize int32 `protobuf:"varint,5,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"` + // The write settings for guaranteed consistency when committing a transaction on the Aerospike server. For more information, see the [Aerospike commit policy](https://github.com/aerospike/aerospike-client-go/blob/master/commit_policy.go). + // Defaults to "commit_all". + // + // Types that are assignable to CommitLevel: + // + // *AerospikeApiKeyStorage_CommitAll + // *AerospikeApiKeyStorage_CommitMaster + CommitLevel isAerospikeApiKeyStorage_CommitLevel `protobuf_oneof:"commit_level"` + // The read settings for strong consistency (SC). For possible values, see the [Aerospike read mode SC](https://github.com/aerospike/aerospike-client-go/blob/master/read_mode_sc.go). + // Defaults to "read_mode_sc_session". + ReadModeSc *AerospikeApiKeyStorageReadModeSc `protobuf:"bytes,8,opt,name=read_mode_sc,json=readModeSc,proto3" json:"read_mode_sc,omitempty"` + // The read settings for availability (AP). For possible values, see the [Aerospike read mode AP](https://github.com/aerospike/aerospike-client-go/blob/master/read_mode_ap.go). + // Defaults to "read_mode_ap_one". + ReadModeAp *AerospikeApiKeyStorageReadModeAp `protobuf:"bytes,9,opt,name=read_mode_ap,json=readModeAp,proto3" json:"read_mode_ap,omitempty"` + // TLS settings to enable mutual TLS (mTLS) on the server side. These configuration options must match what you configured in your Aerospike setup. For more information, see the Aerospike [security](https://docs.aerospike.com/server/guide/security/tls) and [network TLS](https://docs.aerospike.com/server/operations/configure/network/tls) guides. + // The subject name of the TLS authority. For more information, see the [Aerospike docs](https://docs.aerospike.com/reference/configuration#tls-name). + NodeTlsName string `protobuf:"bytes,10,opt,name=node_tls_name,json=nodeTlsName,proto3" json:"node_tls_name,omitempty"` + // The path to the TLS certfiicate. + CertPath string `protobuf:"bytes,11,opt,name=cert_path,json=certPath,proto3" json:"cert_path,omitempty"` + // The path to the key. + KeyPath string `protobuf:"bytes,12,opt,name=key_path,json=keyPath,proto3" json:"key_path,omitempty"` + // The TLS insecure setting. If set to `true`, the authority of the certificate on the client's end is not authenticated. You might use insecure mode in non-production environments when the certificate is not known. + AllowInsecure bool `protobuf:"varint,13,opt,name=allow_insecure,json=allowInsecure,proto3" json:"allow_insecure,omitempty"` + // If the root certificate authority (CA) is not set, add the system certs by default. + RootCaPath string `protobuf:"bytes,14,opt,name=root_ca_path,json=rootCaPath,proto3" json:"root_ca_path,omitempty"` + // The TLS version. Versions 1.0, 1.1, 1.2, and 1.3 are supported. Defaults to 1.3 + TlsVersion string `protobuf:"bytes,15,opt,name=tls_version,json=tlsVersion,proto3" json:"tls_version,omitempty"` + // The TLS identifier for an elliptic curve. For more information, see [TLS supported groups](https://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-8). + TlsCurveGroups []*AerospikeApiKeyStorageTlsCurveID `protobuf:"bytes,16,rep,name=tls_curve_groups,json=tlsCurveGroups,proto3" json:"tls_curve_groups,omitempty"` + // Identify the set of required labels (key/value) which an Aerospike secret must contain + // If a secret contains the provided set of labels, it will be considered valid when authorizing an ApiKey provided in a request + LabelSelector map[string]string `protobuf:"bytes,17,rep,name=label_selector,json=labelSelector,proto3" json:"label_selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AerospikeApiKeyStorage) Reset() { + *x = AerospikeApiKeyStorage{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AerospikeApiKeyStorage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AerospikeApiKeyStorage) ProtoMessage() {} + +func (x *AerospikeApiKeyStorage) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AerospikeApiKeyStorage.ProtoReflect.Descriptor instead. +func (*AerospikeApiKeyStorage) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{30} +} + +func (x *AerospikeApiKeyStorage) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *AerospikeApiKeyStorage) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *AerospikeApiKeyStorage) GetSet() string { + if x != nil { + return x.Set + } + return "" +} + +func (x *AerospikeApiKeyStorage) GetPort() int32 { + if x != nil { + return x.Port + } + return 0 +} + +func (x *AerospikeApiKeyStorage) GetBatchSize() int32 { + if x != nil { + return x.BatchSize + } + return 0 +} + +func (m *AerospikeApiKeyStorage) GetCommitLevel() isAerospikeApiKeyStorage_CommitLevel { + if m != nil { + return m.CommitLevel + } + return nil +} + +func (x *AerospikeApiKeyStorage) GetCommitAll() uint32 { + if x, ok := x.GetCommitLevel().(*AerospikeApiKeyStorage_CommitAll); ok { + return x.CommitAll + } + return 0 +} + +func (x *AerospikeApiKeyStorage) GetCommitMaster() uint32 { + if x, ok := x.GetCommitLevel().(*AerospikeApiKeyStorage_CommitMaster); ok { + return x.CommitMaster + } + return 0 +} + +func (x *AerospikeApiKeyStorage) GetReadModeSc() *AerospikeApiKeyStorageReadModeSc { + if x != nil { + return x.ReadModeSc + } + return nil +} + +func (x *AerospikeApiKeyStorage) GetReadModeAp() *AerospikeApiKeyStorageReadModeAp { + if x != nil { + return x.ReadModeAp + } + return nil +} + +func (x *AerospikeApiKeyStorage) GetNodeTlsName() string { + if x != nil { + return x.NodeTlsName + } + return "" +} + +func (x *AerospikeApiKeyStorage) GetCertPath() string { + if x != nil { + return x.CertPath + } + return "" +} + +func (x *AerospikeApiKeyStorage) GetKeyPath() string { + if x != nil { + return x.KeyPath + } + return "" +} + +func (x *AerospikeApiKeyStorage) GetAllowInsecure() bool { + if x != nil { + return x.AllowInsecure + } + return false +} + +func (x *AerospikeApiKeyStorage) GetRootCaPath() string { + if x != nil { + return x.RootCaPath + } + return "" +} + +func (x *AerospikeApiKeyStorage) GetTlsVersion() string { + if x != nil { + return x.TlsVersion + } + return "" +} + +func (x *AerospikeApiKeyStorage) GetTlsCurveGroups() []*AerospikeApiKeyStorageTlsCurveID { + if x != nil { + return x.TlsCurveGroups + } + return nil +} + +func (x *AerospikeApiKeyStorage) GetLabelSelector() map[string]string { + if x != nil { + return x.LabelSelector + } + return nil +} + +type isAerospikeApiKeyStorage_CommitLevel interface { + isAerospikeApiKeyStorage_CommitLevel() +} + +type AerospikeApiKeyStorage_CommitAll struct { + // "commit_all" indicates that the server waits until successfully committing the master and all replicas. + CommitAll uint32 `protobuf:"varint,6,opt,name=commit_all,json=commitAll,proto3,oneof"` +} + +type AerospikeApiKeyStorage_CommitMaster struct { + // "commit_master" indicates that the server waits until successfully committing the master only. + CommitMaster uint32 `protobuf:"varint,7,opt,name=commit_master,json=commitMaster,proto3,oneof"` +} + +func (*AerospikeApiKeyStorage_CommitAll) isAerospikeApiKeyStorage_CommitLevel() {} + +func (*AerospikeApiKeyStorage_CommitMaster) isAerospikeApiKeyStorage_CommitLevel() {} + +type ApiKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The string value of the API key. + ApiKey string `protobuf:"bytes,2,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"` + // A list of labels (key=value) for the apikey secret. + // These labels are used by the storage driver to facilitate lookups by label + Labels []string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty"` + // additional data the client needs associated with this API key + Metadata map[string]string `protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional: Unique identifier for the API key + Uuid string `protobuf:"bytes,5,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *ApiKey) Reset() { + *x = ApiKey{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKey) ProtoMessage() {} + +func (x *ApiKey) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKey.ProtoReflect.Descriptor instead. +func (*ApiKey) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{31} +} + +func (x *ApiKey) GetApiKey() string { + if x != nil { + return x.ApiKey + } + return "" +} + +func (x *ApiKey) GetLabels() []string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *ApiKey) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *ApiKey) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +// DEPRECATED: use ApiKey +type ApiKeySecret struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The string value of the API key. + ApiKey string `protobuf:"bytes,2,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"` + // A list of labels (key=value) for the apikey secret. + // These labels are used by the storage driver to facilitate lookups by label + Labels []string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty"` + // additional data the client needs associated with this API key + Metadata map[string]string `protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ApiKeySecret) Reset() { + *x = ApiKeySecret{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKeySecret) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeySecret) ProtoMessage() {} + +func (x *ApiKeySecret) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeySecret.ProtoReflect.Descriptor instead. +func (*ApiKeySecret) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{32} +} + +func (x *ApiKeySecret) GetApiKey() string { + if x != nil { + return x.ApiKey + } + return "" +} + +func (x *ApiKeySecret) GetLabels() []string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *ApiKeySecret) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +// Enforce Open Policy Agent (OPA) policies in Gloo Edge environments. +// For Gloo Platform environments, use OpaServerAuth instead. +type OpaAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // An optional resource reference to config maps containing modules to assist in the resolution of `query`. + Modules []*core.ResourceRef `protobuf:"bytes,1,rep,name=modules,proto3" json:"modules,omitempty"` + // The query that determines the auth decision. The result of this query + // must be either a boolean or an array with boolean as the first element. A boolean `true` value means that + // the request will be authorized. Any other value, or error, means that the request will be denied. + Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + // Additional Options for Opa Auth configuration. + Options *OpaAuthOptions `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"` +} + +func (x *OpaAuth) Reset() { + *x = OpaAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpaAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpaAuth) ProtoMessage() {} + +func (x *OpaAuth) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OpaAuth.ProtoReflect.Descriptor instead. +func (*OpaAuth) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{33} +} + +func (x *OpaAuth) GetModules() []*core.ResourceRef { + if x != nil { + return x.Modules + } + return nil +} + +func (x *OpaAuth) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *OpaAuth) GetOptions() *OpaAuthOptions { + if x != nil { + return x.Options + } + return nil +} + +type OpaAuthOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Decreases OPA latency by speeding up conversion of input to the OPA engine. + // If this is set to true, only http_request and state fields which are a scalar, map, or string array + // are included in the request input. All other fields are dropped. Dropped fields will not be evaluated by the OPA engine. + // By default, this is set to false and all fields are evaluated by OPA. + FastInputConversion bool `protobuf:"varint,1,opt,name=fast_input_conversion,json=fastInputConversion,proto3" json:"fast_input_conversion,omitempty"` + // DEPRECATED: It's recommended to use the `dynamic_metadata` field within Rego policies to specify the decision reason. To learn more about this approach, see the [OPA Envoy Plugin docs](https://github.com/open-policy-agent/opa/blob/c12463c/docs/content/envoy-primer.md#example-policy-with-additional-controls). + // + // When `returnDecisionReason` is set to true, the decision reason is stored in the Envoy Dynamic Metadata and has the following properties:
    + //
  • `body` - a textual explanation of the decision
  • + //
  • `allowed` - whether the request was allowed or rejected
+ // + // When using OpaAuth, the `body` field must be the second parameter of the query. + // + // Both the OpaAuth and OpaServerAuth approaches use the `allowed` and `body` values from the OPA response in the decision reason. + // You can find the `body` and `allowed` fields in the Envoy Filter Dynamic Metadata under the `envoy.filters.http.ext_authz..reason` section. + // + // If, however, `returnDecisionReason` is set to false, OPA's decision to allow or reject a request is made according to the Rego policy rules, and no explanation is provided. + // Despite of this, the `dynamic_metadata` field can still be used to convey any necessary information to the Envoy Dynamic Metadata, including the decision reason. + ReturnDecisionReason bool `protobuf:"varint,2,opt,name=return_decision_reason,json=returnDecisionReason,proto3" json:"return_decision_reason,omitempty"` +} + +func (x *OpaAuthOptions) Reset() { + *x = OpaAuthOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpaAuthOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpaAuthOptions) ProtoMessage() {} + +func (x *OpaAuthOptions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OpaAuthOptions.ProtoReflect.Descriptor instead. +func (*OpaAuthOptions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{34} +} + +func (x *OpaAuthOptions) GetFastInputConversion() bool { + if x != nil { + return x.FastInputConversion + } + return false +} + +func (x *OpaAuthOptions) GetReturnDecisionReason() bool { + if x != nil { + return x.ReturnDecisionReason + } + return false +} + +// Enforce Open Policy Agent (OPA) policies through an OPA sidecar as part of the external +// auth server in Gloo Platform environments. For Gloo Edge environments, use OpaAuth instead. +type OpaServerAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The package from your Rego policy bundle used to query the OPA data API. + Package string `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"` + // The rule in your Rego policy bundle used to query the OPA data API. Supports querying subfields with a `/`. For more information, see the [OPA docs for the Data API](https://www.openpolicyagent.org/docs/latest/rest-api/#data-api). + RuleName string `protobuf:"bytes,2,opt,name=rule_name,json=ruleName,proto3" json:"rule_name,omitempty"` + // The address of the OPA server to query, in the format `ADDRESS:PORT`. + // For OPA servers within the cluster, the address is the pod's service address, + // such as `default.svc.cluster.local:8181`. For OPA servers outside the cluster, + // the server must be accessible to the cluster, such as through an ExternalService. + // If you do not have your own OPA server instance, omit this field. + // When the external auth service has the OPA server sidecar enabled, the OPA server + // sidecar will be used instead. + ServerAddr string `protobuf:"bytes,3,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"` + // Additional options for OPA Auth configuration. + Options *OpaAuthOptions `protobuf:"bytes,4,opt,name=options,proto3" json:"options,omitempty"` +} + +func (x *OpaServerAuth) Reset() { + *x = OpaServerAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpaServerAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpaServerAuth) ProtoMessage() {} + +func (x *OpaServerAuth) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OpaServerAuth.ProtoReflect.Descriptor instead. +func (*OpaServerAuth) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{35} +} + +func (x *OpaServerAuth) GetPackage() string { + if x != nil { + return x.Package + } + return "" +} + +func (x *OpaServerAuth) GetRuleName() string { + if x != nil { + return x.RuleName + } + return "" +} + +func (x *OpaServerAuth) GetServerAddr() string { + if x != nil { + return x.ServerAddr + } + return "" +} + +func (x *OpaServerAuth) GetOptions() *OpaAuthOptions { + if x != nil { + return x.Options + } + return nil +} + +// Authenticates and authorizes requests by querying an LDAP server. Gloo makes the following assumptions: +// - Requests provide credentials via the basic HTTP authentication header. Gloo will BIND to the LDAP server using the +// credentials extracted from the header. +// - Your LDAP server is configured so that each entry you want to authorize has an attribute that indicates its group +// memberships. A common way of achieving this is by using the [*memberof* overlay](http://www.openldap.org/software/man.cgi?query=slapo-memberof). +type Ldap struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Address of the LDAP server to query. Should be in the form ADDRESS:PORT, e.g. `ldap.default.svc.cluster.local:389`. + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Template to build user entry distinguished names (DN). This must contains a single occurrence of the "%s" placeholder. + // When processing a request, Gloo will substitute the name of the user (extracted from the auth header) for the + // placeholder and issue a search request with the resulting DN as baseDN (and 'base' search scope). + // E.g. "uid=%s,ou=people,dc=solo,dc=io" + UserDnTemplate string `protobuf:"bytes,2,opt,name=userDnTemplate,proto3" json:"userDnTemplate,omitempty"` + // Case-insensitive name of the attribute that contains the names of the groups an entry is member of. Gloo will look + // for attributes with the given name to determine which groups the user entry belongs to. Defaults to 'memberOf' if not provided. + MembershipAttributeName string `protobuf:"bytes,3,opt,name=membershipAttributeName,proto3" json:"membershipAttributeName,omitempty"` + // In order for the request to be authenticated, the membership attribute (e.g. *memberOf*) on the user entry must + // contain at least of one of the group DNs specified via this option. + // E.g. []string{ "cn=managers,ou=groups,dc=solo,dc=io", "cn=developers,ou=groups,dc=solo,dc=io" } + AllowedGroups []string `protobuf:"bytes,4,rep,name=allowedGroups,proto3" json:"allowedGroups,omitempty"` + // Use this property to tune the pool of connections to the LDAP server that Gloo maintains. + Pool *Ldap_ConnectionPool `protobuf:"bytes,5,opt,name=pool,proto3" json:"pool,omitempty"` + // Use to set a custom filter when searching a member. Defaults to "(uid=*)". + SearchFilter string `protobuf:"bytes,6,opt,name=searchFilter,proto3" json:"searchFilter,omitempty"` + // Disables group checking, regardless of the value for allowedGroups, + // and disables validation for the membership attribute of the user entry. + // Group checking is enabled by default. + DisableGroupChecking bool `protobuf:"varint,7,opt,name=disable_group_checking,json=disableGroupChecking,proto3" json:"disable_group_checking,omitempty"` + // Settings for using a separate service account for looking up group membership + // To use this, you also need to configure credentials in a secret + GroupLookupSettings *LdapServiceAccount `protobuf:"bytes,8,opt,name=group_lookup_settings,json=groupLookupSettings,proto3" json:"group_lookup_settings,omitempty"` +} + +func (x *Ldap) Reset() { + *x = Ldap{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Ldap) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ldap) ProtoMessage() {} + +func (x *Ldap) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Ldap.ProtoReflect.Descriptor instead. +func (*Ldap) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{36} +} + +func (x *Ldap) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *Ldap) GetUserDnTemplate() string { + if x != nil { + return x.UserDnTemplate + } + return "" +} + +func (x *Ldap) GetMembershipAttributeName() string { + if x != nil { + return x.MembershipAttributeName + } + return "" +} + +func (x *Ldap) GetAllowedGroups() []string { + if x != nil { + return x.AllowedGroups + } + return nil +} + +func (x *Ldap) GetPool() *Ldap_ConnectionPool { + if x != nil { + return x.Pool + } + return nil +} + +func (x *Ldap) GetSearchFilter() string { + if x != nil { + return x.SearchFilter + } + return "" +} + +func (x *Ldap) GetDisableGroupChecking() bool { + if x != nil { + return x.DisableGroupChecking + } + return false +} + +func (x *Ldap) GetGroupLookupSettings() *LdapServiceAccount { + if x != nil { + return x.GroupLookupSettings + } + return nil +} + +type LdapServiceAccount struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Reference to an AccountCredentialsSecret to use to authenticate as the service account + CredentialsSecretRef *core.ResourceRef `protobuf:"bytes,1,opt,name=credentials_secret_ref,json=credentialsSecretRef,proto3" json:"credentials_secret_ref,omitempty"` + // If true, Gloo will use the service account to check group membership + CheckGroupsWithServiceAccount bool `protobuf:"varint,2,opt,name=check_groups_with_service_account,json=checkGroupsWithServiceAccount,proto3" json:"check_groups_with_service_account,omitempty"` +} + +func (x *LdapServiceAccount) Reset() { + *x = LdapServiceAccount{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LdapServiceAccount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LdapServiceAccount) ProtoMessage() {} + +func (x *LdapServiceAccount) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LdapServiceAccount.ProtoReflect.Descriptor instead. +func (*LdapServiceAccount) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{37} +} + +func (x *LdapServiceAccount) GetCredentialsSecretRef() *core.ResourceRef { + if x != nil { + return x.CredentialsSecretRef + } + return nil +} + +func (x *LdapServiceAccount) GetCheckGroupsWithServiceAccount() bool { + if x != nil { + return x.CheckGroupsWithServiceAccount + } + return false +} + +// Authorizes requests by querying a custom extauth server. +type PassThroughAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Protocol: + // + // *PassThroughAuth_Grpc + // *PassThroughAuth_Http + Protocol isPassThroughAuth_Protocol `protobuf_oneof:"protocol"` + // Custom config to be passed per request to the passthrough auth service. + Config *_struct.Struct `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` + // If set to true, the service will accept client request even if the communication with + // + // the authorization service has failed, or if the authorization service has returned a server error. + // + // Defaults to false. + FailureModeAllow bool `protobuf:"varint,5,opt,name=failure_mode_allow,json=failureModeAllow,proto3" json:"failure_mode_allow,omitempty"` +} + +func (x *PassThroughAuth) Reset() { + *x = PassThroughAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PassThroughAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PassThroughAuth) ProtoMessage() {} + +func (x *PassThroughAuth) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PassThroughAuth.ProtoReflect.Descriptor instead. +func (*PassThroughAuth) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{38} +} + +func (m *PassThroughAuth) GetProtocol() isPassThroughAuth_Protocol { + if m != nil { + return m.Protocol + } + return nil +} + +func (x *PassThroughAuth) GetGrpc() *PassThroughGrpc { + if x, ok := x.GetProtocol().(*PassThroughAuth_Grpc); ok { + return x.Grpc + } + return nil +} + +func (x *PassThroughAuth) GetHttp() *PassThroughHttp { + if x, ok := x.GetProtocol().(*PassThroughAuth_Http); ok { + return x.Http + } + return nil +} + +func (x *PassThroughAuth) GetConfig() *_struct.Struct { + if x != nil { + return x.Config + } + return nil +} + +func (x *PassThroughAuth) GetFailureModeAllow() bool { + if x != nil { + return x.FailureModeAllow + } + return false +} + +type isPassThroughAuth_Protocol interface { + isPassThroughAuth_Protocol() +} + +type PassThroughAuth_Grpc struct { + Grpc *PassThroughGrpc `protobuf:"bytes,1,opt,name=grpc,proto3,oneof"` +} + +type PassThroughAuth_Http struct { + Http *PassThroughHttp `protobuf:"bytes,2,opt,name=http,proto3,oneof"` +} + +func (*PassThroughAuth_Grpc) isPassThroughAuth_Protocol() {} + +func (*PassThroughAuth_Http) isPassThroughAuth_Protocol() {} + +// Authorizes requests by querying a custom extauth grpc server +// Assumes that the server implements the envoy external authorization spec: +// https://github.com/envoyproxy/envoy/blob/ae1ed1fa74f096dabe8dd5b19fc70333621b0309/api/envoy/service/auth/v3/external_auth.proto#L29 +type PassThroughGrpc struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Address of the auth server to query. Should be in the form ADDRESS:PORT, e.g. `default.svc.cluster.local:389`. + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Timeout for the auth server to respond. Defaults to 5s + ConnectionTimeout *duration.Duration `protobuf:"bytes,2,opt,name=connection_timeout,json=connectionTimeout,proto3" json:"connection_timeout,omitempty"` + // TLS config for the Grpc passthrough, if not configured the connection will use insecure. + TlsConfig *PassThroughGrpcTLSConfig `protobuf:"bytes,3,opt,name=tlsConfig,proto3" json:"tlsConfig,omitempty"` +} + +func (x *PassThroughGrpc) Reset() { + *x = PassThroughGrpc{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PassThroughGrpc) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PassThroughGrpc) ProtoMessage() {} + +func (x *PassThroughGrpc) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PassThroughGrpc.ProtoReflect.Descriptor instead. +func (*PassThroughGrpc) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{39} +} + +func (x *PassThroughGrpc) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *PassThroughGrpc) GetConnectionTimeout() *duration.Duration { + if x != nil { + return x.ConnectionTimeout + } + return nil +} + +func (x *PassThroughGrpc) GetTlsConfig() *PassThroughGrpcTLSConfig { + if x != nil { + return x.TlsConfig + } + return nil +} + +// TLS configuration for the extauth grpc passthrough connection +type PassThroughGrpcTLSConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PassThroughGrpcTLSConfig) Reset() { + *x = PassThroughGrpcTLSConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PassThroughGrpcTLSConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PassThroughGrpcTLSConfig) ProtoMessage() {} + +func (x *PassThroughGrpcTLSConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PassThroughGrpcTLSConfig.ProtoReflect.Descriptor instead. +func (*PassThroughGrpcTLSConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{40} +} + +// Authorizes requests by making a POST HTTP/1 request to a custom HTTP auth server +// Assumes the request is authorized if the server returns a OK (200) status code, +// else the request is unauthorized. +type PassThroughHttp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: URL of the passthrough http service, is a fully qualified domain name. + // Example: http://ext-auth-service.svc.local:9001. Path provided in the URL will be respected. + // To use https, provide the cert in the HTTPS_PASSTHROUGH_CA_CERT environment variable to the ext-auth-service + // pod as a base64-encoded string + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + // Pass through the incoming request body, ext auth state, and filter metadata. + // For more information, see the [PassThrough Http Request description](#request-1). + Request *PassThroughHttp_Request `protobuf:"bytes,3,opt,name=request,proto3" json:"request,omitempty"` + // Pass through response information such as the headers and body to downstream clients. + // For more information, see the [PassThrough Http Response description](#response-1). + Response *PassThroughHttp_Response `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"` + // Timeout for the auth server to respond. Defaults to 5s + ConnectionTimeout *duration.Duration `protobuf:"bytes,8,opt,name=connection_timeout,json=connectionTimeout,proto3" json:"connection_timeout,omitempty"` +} + +func (x *PassThroughHttp) Reset() { + *x = PassThroughHttp{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PassThroughHttp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PassThroughHttp) ProtoMessage() {} + +func (x *PassThroughHttp) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PassThroughHttp.ProtoReflect.Descriptor instead. +func (*PassThroughHttp) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{41} +} + +func (x *PassThroughHttp) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PassThroughHttp) GetRequest() *PassThroughHttp_Request { + if x != nil { + return x.Request + } + return nil +} + +func (x *PassThroughHttp) GetResponse() *PassThroughHttp_Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *PassThroughHttp) GetConnectionTimeout() *duration.Duration { + if x != nil { + return x.ConnectionTimeout + } + return nil +} + +// @solo-kit:xds-service=ExtAuthDiscoveryService +// @solo-kit:resource.no_references +// +// This is an internal API used to share configuration between gloo-ee and extauth. Although this API is only used in gloo-ee, +// rules about breaking changes still apply to ensure we do not get errors during upgrade and downgrade. +type ExtAuthConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // @solo-kit:resource.name + // This is the identifier of the AuthConfig resource that this configuration is associated with. + // Any request to the external auth server includes an identifier that is matched against this field to determine + // which AuthConfig should be applied to it. + AuthConfigRefName string `protobuf:"bytes,1,opt,name=auth_config_ref_name,json=authConfigRefName,proto3" json:"auth_config_ref_name,omitempty"` + // List of auth configs to be checked for requests on a route referencing this auth config, + // By default, every config must be authorized for the entire request to be authorized. This + // behavior can be changed by defining names for each config and defining `boolean_expr` below. + // + // State is shared between successful requests on the chain, i.e., the headers returned from each + // successful auth service get appended into the final auth response. + Configs []*ExtAuthConfig_Config `protobuf:"bytes,8,rep,name=configs,proto3" json:"configs,omitempty"` + // How to handle processing of named configs within an auth config chain. + // An example config might be: `( basic1 || basic2 || (oidc1 && !oidc2) )` + // The boolean expression is evaluated left to right but honors parenthesis and short-circuiting. + // Defaults to an empty string, which is interpreted as `and`-ing the configs. + BooleanExpr *wrappers.StringValue `protobuf:"bytes,10,opt,name=boolean_expr,json=booleanExpr,proto3" json:"boolean_expr,omitempty"` + // How the service should handle a redirect response from an OIDC issuer. In the default false mode, + // the redirect will be considered a successful response, and the client will receive a 302 with a location header. + // If this is set to true, the client will instead receive a 401 unauthorized response. This is useful in cases where + // API calls are being made or other such occurrences where the client cannot handle the redirect. + FailOnRedirect bool `protobuf:"varint,11,opt,name=fail_on_redirect,json=failOnRedirect,proto3" json:"fail_on_redirect,omitempty"` +} + +func (x *ExtAuthConfig) Reset() { + *x = ExtAuthConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig) ProtoMessage() {} + +func (x *ExtAuthConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42} +} + +func (x *ExtAuthConfig) GetAuthConfigRefName() string { + if x != nil { + return x.AuthConfigRefName + } + return "" +} + +func (x *ExtAuthConfig) GetConfigs() []*ExtAuthConfig_Config { + if x != nil { + return x.Configs + } + return nil +} + +func (x *ExtAuthConfig) GetBooleanExpr() *wrappers.StringValue { + if x != nil { + return x.BooleanExpr + } + return nil +} + +func (x *ExtAuthConfig) GetFailOnRedirect() bool { + if x != nil { + return x.FailOnRedirect + } + return false +} + +type ApiKeyCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApiKeys []*ApiKey `protobuf:"bytes,1,rep,name=api_keys,json=apiKeys,proto3" json:"api_keys,omitempty"` + RawApiKeys []string `protobuf:"bytes,2,rep,name=raw_api_keys,json=rawApiKeys,proto3" json:"raw_api_keys,omitempty"` +} + +func (x *ApiKeyCreateRequest) Reset() { + *x = ApiKeyCreateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKeyCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeyCreateRequest) ProtoMessage() {} + +func (x *ApiKeyCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeyCreateRequest.ProtoReflect.Descriptor instead. +func (*ApiKeyCreateRequest) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{43} +} + +func (x *ApiKeyCreateRequest) GetApiKeys() []*ApiKey { + if x != nil { + return x.ApiKeys + } + return nil +} + +func (x *ApiKeyCreateRequest) GetRawApiKeys() []string { + if x != nil { + return x.RawApiKeys + } + return nil +} + +type ApiKeyCreateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApiKeys []*ApiKey `protobuf:"bytes,1,rep,name=api_keys,json=apiKeys,proto3" json:"api_keys,omitempty"` +} + +func (x *ApiKeyCreateResponse) Reset() { + *x = ApiKeyCreateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKeyCreateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeyCreateResponse) ProtoMessage() {} + +func (x *ApiKeyCreateResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeyCreateResponse.ProtoReflect.Descriptor instead. +func (*ApiKeyCreateResponse) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{44} +} + +func (x *ApiKeyCreateResponse) GetApiKeys() []*ApiKey { + if x != nil { + return x.ApiKeys + } + return nil +} + +type ApiKeyReadRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RawApiKeys []string `protobuf:"bytes,1,rep,name=raw_api_keys,json=rawApiKeys,proto3" json:"raw_api_keys,omitempty"` + Labels []string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty"` +} + +func (x *ApiKeyReadRequest) Reset() { + *x = ApiKeyReadRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKeyReadRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeyReadRequest) ProtoMessage() {} + +func (x *ApiKeyReadRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeyReadRequest.ProtoReflect.Descriptor instead. +func (*ApiKeyReadRequest) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{45} +} + +func (x *ApiKeyReadRequest) GetRawApiKeys() []string { + if x != nil { + return x.RawApiKeys + } + return nil +} + +func (x *ApiKeyReadRequest) GetLabels() []string { + if x != nil { + return x.Labels + } + return nil +} + +type ApiKeyReadResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApiKeys []*ApiKey `protobuf:"bytes,1,rep,name=api_keys,json=apiKeys,proto3" json:"api_keys,omitempty"` +} + +func (x *ApiKeyReadResponse) Reset() { + *x = ApiKeyReadResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKeyReadResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeyReadResponse) ProtoMessage() {} + +func (x *ApiKeyReadResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeyReadResponse.ProtoReflect.Descriptor instead. +func (*ApiKeyReadResponse) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{46} +} + +func (x *ApiKeyReadResponse) GetApiKeys() []*ApiKey { + if x != nil { + return x.ApiKeys + } + return nil +} + +type ApiKeyUpdateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Upsert bool `protobuf:"varint,1,opt,name=upsert,proto3" json:"upsert,omitempty"` + ApiKeys []*ApiKey `protobuf:"bytes,2,rep,name=api_keys,json=apiKeys,proto3" json:"api_keys,omitempty"` + RawApiKeys []string `protobuf:"bytes,3,rep,name=raw_api_keys,json=rawApiKeys,proto3" json:"raw_api_keys,omitempty"` +} + +func (x *ApiKeyUpdateRequest) Reset() { + *x = ApiKeyUpdateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKeyUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeyUpdateRequest) ProtoMessage() {} + +func (x *ApiKeyUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeyUpdateRequest.ProtoReflect.Descriptor instead. +func (*ApiKeyUpdateRequest) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{47} +} + +func (x *ApiKeyUpdateRequest) GetUpsert() bool { + if x != nil { + return x.Upsert + } + return false +} + +func (x *ApiKeyUpdateRequest) GetApiKeys() []*ApiKey { + if x != nil { + return x.ApiKeys + } + return nil +} + +func (x *ApiKeyUpdateRequest) GetRawApiKeys() []string { + if x != nil { + return x.RawApiKeys + } + return nil +} + +type ApiKeyUpdateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApiKeys []*ApiKey `protobuf:"bytes,1,rep,name=api_keys,json=apiKeys,proto3" json:"api_keys,omitempty"` +} + +func (x *ApiKeyUpdateResponse) Reset() { + *x = ApiKeyUpdateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKeyUpdateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeyUpdateResponse) ProtoMessage() {} + +func (x *ApiKeyUpdateResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeyUpdateResponse.ProtoReflect.Descriptor instead. +func (*ApiKeyUpdateResponse) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{48} +} + +func (x *ApiKeyUpdateResponse) GetApiKeys() []*ApiKey { + if x != nil { + return x.ApiKeys + } + return nil +} + +type ApiKeyDeleteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RawApiKeys []string `protobuf:"bytes,1,rep,name=raw_api_keys,json=rawApiKeys,proto3" json:"raw_api_keys,omitempty"` + Labels []string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty"` +} + +func (x *ApiKeyDeleteRequest) Reset() { + *x = ApiKeyDeleteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKeyDeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeyDeleteRequest) ProtoMessage() {} + +func (x *ApiKeyDeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeyDeleteRequest.ProtoReflect.Descriptor instead. +func (*ApiKeyDeleteRequest) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{49} +} + +func (x *ApiKeyDeleteRequest) GetRawApiKeys() []string { + if x != nil { + return x.RawApiKeys + } + return nil +} + +func (x *ApiKeyDeleteRequest) GetLabels() []string { + if x != nil { + return x.Labels + } + return nil +} + +type ApiKeyDeleteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ApiKeyDeleteResponse) Reset() { + *x = ApiKeyDeleteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKeyDeleteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeyDeleteResponse) ProtoMessage() {} + +func (x *ApiKeyDeleteResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeyDeleteResponse.ProtoReflect.Descriptor instead. +func (*ApiKeyDeleteResponse) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{50} +} + +type AuthConfigStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // State is the enum indicating the state of the resource + State AuthConfigStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=enterprise.gloo.solo.io.AuthConfigStatus_State" json:"state,omitempty"` + // Reason is a description of the error for Rejected resources. If the resource is pending or accepted, this field will be empty + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + // Reference to the reporter who wrote this status + ReportedBy string `protobuf:"bytes,3,opt,name=reported_by,json=reportedBy,proto3" json:"reported_by,omitempty"` + // Reference to statuses (by resource-ref string: "Kind.Namespace.Name") of subresources of the parent resource + SubresourceStatuses map[string]*AuthConfigStatus `protobuf:"bytes,4,rep,name=subresource_statuses,json=subresourceStatuses,proto3" json:"subresource_statuses,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Opaque details about status results + Details *_struct.Struct `protobuf:"bytes,5,opt,name=details,proto3" json:"details,omitempty"` +} + +func (x *AuthConfigStatus) Reset() { + *x = AuthConfigStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthConfigStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthConfigStatus) ProtoMessage() {} + +func (x *AuthConfigStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthConfigStatus.ProtoReflect.Descriptor instead. +func (*AuthConfigStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{51} +} + +func (x *AuthConfigStatus) GetState() AuthConfigStatus_State { + if x != nil { + return x.State + } + return AuthConfigStatus_Pending +} + +func (x *AuthConfigStatus) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *AuthConfigStatus) GetReportedBy() string { + if x != nil { + return x.ReportedBy + } + return "" +} + +func (x *AuthConfigStatus) GetSubresourceStatuses() map[string]*AuthConfigStatus { + if x != nil { + return x.SubresourceStatuses + } + return nil +} + +func (x *AuthConfigStatus) GetDetails() *_struct.Struct { + if x != nil { + return x.Details + } + return nil +} + +type AuthConfigNamespacedStatuses struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Statuses map[string]*AuthConfigStatus `protobuf:"bytes,1,rep,name=statuses,proto3" json:"statuses,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AuthConfigNamespacedStatuses) Reset() { + *x = AuthConfigNamespacedStatuses{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthConfigNamespacedStatuses) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthConfigNamespacedStatuses) ProtoMessage() {} + +func (x *AuthConfigNamespacedStatuses) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthConfigNamespacedStatuses.ProtoReflect.Descriptor instead. +func (*AuthConfigNamespacedStatuses) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{52} +} + +func (x *AuthConfigNamespacedStatuses) GetStatuses() map[string]*AuthConfigStatus { + if x != nil { + return x.Statuses + } + return nil +} + +type AuthConfigSpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // optional: used when defining complex boolean logic, if `boolean_expr` is defined below. Also used + // in logging. If omitted, an automatically generated name will be used (e.g. config_0, of the + // pattern 'config_$INDEX_IN_CHAIN'). In the case of plugin auth, this field is ignored in favor of + // the name assigned on the plugin config itself. + Name *wrappers.StringValue `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` + // Types that are assignable to AuthConfig: + // + // *AuthConfigSpec_Config_BasicAuth + // *AuthConfigSpec_Config_Oauth + // *AuthConfigSpec_Config_Oauth2 + // *AuthConfigSpec_Config_ApiKeyAuth + // *AuthConfigSpec_Config_PluginAuth + // *AuthConfigSpec_Config_OpaAuth + // *AuthConfigSpec_Config_Ldap + // *AuthConfigSpec_Config_Jwt + // *AuthConfigSpec_Config_PassThroughAuth + // *AuthConfigSpec_Config_HmacAuth + // *AuthConfigSpec_Config_OpaServerAuth + AuthConfig isAuthConfigSpec_Config_AuthConfig `protobuf_oneof:"auth_config"` +} + +func (x *AuthConfigSpec_Config) Reset() { + *x = AuthConfigSpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthConfigSpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthConfigSpec_Config) ProtoMessage() {} + +func (x *AuthConfigSpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthConfigSpec_Config.ProtoReflect.Descriptor instead. +func (*AuthConfigSpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *AuthConfigSpec_Config) GetName() *wrappers.StringValue { + if x != nil { + return x.Name + } + return nil +} + +func (m *AuthConfigSpec_Config) GetAuthConfig() isAuthConfigSpec_Config_AuthConfig { + if m != nil { + return m.AuthConfig + } + return nil +} + +func (x *AuthConfigSpec_Config) GetBasicAuth() *BasicAuth { + if x, ok := x.GetAuthConfig().(*AuthConfigSpec_Config_BasicAuth); ok { + return x.BasicAuth + } + return nil +} + +// Deprecated: Do not use. +func (x *AuthConfigSpec_Config) GetOauth() *OAuth { + if x, ok := x.GetAuthConfig().(*AuthConfigSpec_Config_Oauth); ok { + return x.Oauth + } + return nil +} + +func (x *AuthConfigSpec_Config) GetOauth2() *OAuth2 { + if x, ok := x.GetAuthConfig().(*AuthConfigSpec_Config_Oauth2); ok { + return x.Oauth2 + } + return nil +} + +func (x *AuthConfigSpec_Config) GetApiKeyAuth() *ApiKeyAuth { + if x, ok := x.GetAuthConfig().(*AuthConfigSpec_Config_ApiKeyAuth); ok { + return x.ApiKeyAuth + } + return nil +} + +func (x *AuthConfigSpec_Config) GetPluginAuth() *AuthPlugin { + if x, ok := x.GetAuthConfig().(*AuthConfigSpec_Config_PluginAuth); ok { + return x.PluginAuth + } + return nil +} + +func (x *AuthConfigSpec_Config) GetOpaAuth() *OpaAuth { + if x, ok := x.GetAuthConfig().(*AuthConfigSpec_Config_OpaAuth); ok { + return x.OpaAuth + } + return nil +} + +func (x *AuthConfigSpec_Config) GetLdap() *Ldap { + if x, ok := x.GetAuthConfig().(*AuthConfigSpec_Config_Ldap); ok { + return x.Ldap + } + return nil +} + +func (x *AuthConfigSpec_Config) GetJwt() *empty.Empty { + if x, ok := x.GetAuthConfig().(*AuthConfigSpec_Config_Jwt); ok { + return x.Jwt + } + return nil +} + +func (x *AuthConfigSpec_Config) GetPassThroughAuth() *PassThroughAuth { + if x, ok := x.GetAuthConfig().(*AuthConfigSpec_Config_PassThroughAuth); ok { + return x.PassThroughAuth + } + return nil +} + +func (x *AuthConfigSpec_Config) GetHmacAuth() *HmacAuth { + if x, ok := x.GetAuthConfig().(*AuthConfigSpec_Config_HmacAuth); ok { + return x.HmacAuth + } + return nil +} + +func (x *AuthConfigSpec_Config) GetOpaServerAuth() *OpaServerAuth { + if x, ok := x.GetAuthConfig().(*AuthConfigSpec_Config_OpaServerAuth); ok { + return x.OpaServerAuth + } + return nil +} + +type isAuthConfigSpec_Config_AuthConfig interface { + isAuthConfigSpec_Config_AuthConfig() +} + +type AuthConfigSpec_Config_BasicAuth struct { + BasicAuth *BasicAuth `protobuf:"bytes,1,opt,name=basic_auth,json=basicAuth,proto3,oneof"` +} + +type AuthConfigSpec_Config_Oauth struct { + // Deprecated: Do not use. + Oauth *OAuth `protobuf:"bytes,2,opt,name=oauth,proto3,oneof"` +} + +type AuthConfigSpec_Config_Oauth2 struct { + Oauth2 *OAuth2 `protobuf:"bytes,8,opt,name=oauth2,proto3,oneof"` +} + +type AuthConfigSpec_Config_ApiKeyAuth struct { + ApiKeyAuth *ApiKeyAuth `protobuf:"bytes,4,opt,name=api_key_auth,json=apiKeyAuth,proto3,oneof"` +} + +type AuthConfigSpec_Config_PluginAuth struct { + PluginAuth *AuthPlugin `protobuf:"bytes,5,opt,name=plugin_auth,json=pluginAuth,proto3,oneof"` +} + +type AuthConfigSpec_Config_OpaAuth struct { + OpaAuth *OpaAuth `protobuf:"bytes,6,opt,name=opa_auth,json=opaAuth,proto3,oneof"` +} + +type AuthConfigSpec_Config_Ldap struct { + Ldap *Ldap `protobuf:"bytes,7,opt,name=ldap,proto3,oneof"` +} + +type AuthConfigSpec_Config_Jwt struct { + // This is a "dummy" extauth service which can be used to support multiple auth mechanisms with JWT authentication. + // If Jwt authentication is to be used in the [boolean expression](https://docs.solo.io/gloo-edge/latest/reference/api/github.com/solo-io/solo-apis/api/gloo/enterprise.gloo/v1/auth_config.proto.sk/#authconfig) in an AuthConfig, you can use this auth config type to include Jwt as an Auth config. + // In addition, `allow_missing_or_failed_jwt` must be set on the Virtual Host or Route that uses JWT auth or else the JWT filter will short circuit this behaviour. + Jwt *empty.Empty `protobuf:"bytes,11,opt,name=jwt,proto3,oneof"` +} + +type AuthConfigSpec_Config_PassThroughAuth struct { + PassThroughAuth *PassThroughAuth `protobuf:"bytes,12,opt,name=pass_through_auth,json=passThroughAuth,proto3,oneof"` +} + +type AuthConfigSpec_Config_HmacAuth struct { + HmacAuth *HmacAuth `protobuf:"bytes,13,opt,name=hmac_auth,json=hmacAuth,proto3,oneof"` +} + +type AuthConfigSpec_Config_OpaServerAuth struct { + OpaServerAuth *OpaServerAuth `protobuf:"bytes,14,opt,name=opa_server_auth,json=opaServerAuth,proto3,oneof"` +} + +func (*AuthConfigSpec_Config_BasicAuth) isAuthConfigSpec_Config_AuthConfig() {} + +func (*AuthConfigSpec_Config_Oauth) isAuthConfigSpec_Config_AuthConfig() {} + +func (*AuthConfigSpec_Config_Oauth2) isAuthConfigSpec_Config_AuthConfig() {} + +func (*AuthConfigSpec_Config_ApiKeyAuth) isAuthConfigSpec_Config_AuthConfig() {} + +func (*AuthConfigSpec_Config_PluginAuth) isAuthConfigSpec_Config_AuthConfig() {} + +func (*AuthConfigSpec_Config_OpaAuth) isAuthConfigSpec_Config_AuthConfig() {} + +func (*AuthConfigSpec_Config_Ldap) isAuthConfigSpec_Config_AuthConfig() {} + +func (*AuthConfigSpec_Config_Jwt) isAuthConfigSpec_Config_AuthConfig() {} + +func (*AuthConfigSpec_Config_PassThroughAuth) isAuthConfigSpec_Config_AuthConfig() {} + +func (*AuthConfigSpec_Config_HmacAuth) isAuthConfigSpec_Config_AuthConfig() {} + +func (*AuthConfigSpec_Config_OpaServerAuth) isAuthConfigSpec_Config_AuthConfig() {} + +type HttpService_Request struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // These headers will be copied from the incoming request to the request going + // to the auth server. Note that in addition to the user's supplied matchers: + // + // 1. *Host*, *Method*, *Path* and *Content-Length* are automatically included to the list. + // + // 2. *Content-Length* will be set to 0 and the request to the authorization service will not have + // a message body. + AllowedHeaders []string `protobuf:"bytes,1,rep,name=allowed_headers,json=allowedHeaders,proto3" json:"allowed_headers,omitempty"` + // These headers that will be included to the request to authorization service. Note that + // client request of the same key will be overridden. + HeadersToAdd map[string]string `protobuf:"bytes,2,rep,name=headers_to_add,json=headersToAdd,proto3" json:"headers_to_add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Headers that match these regex patterns will be copied from the incoming request + // to the request going to the auth server. + AllowedHeadersRegex []string `protobuf:"bytes,3,rep,name=allowed_headers_regex,json=allowedHeadersRegex,proto3" json:"allowed_headers_regex,omitempty"` +} + +func (x *HttpService_Request) Reset() { + *x = HttpService_Request{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HttpService_Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HttpService_Request) ProtoMessage() {} + +func (x *HttpService_Request) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HttpService_Request.ProtoReflect.Descriptor instead. +func (*HttpService_Request) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *HttpService_Request) GetAllowedHeaders() []string { + if x != nil { + return x.AllowedHeaders + } + return nil +} + +func (x *HttpService_Request) GetHeadersToAdd() map[string]string { + if x != nil { + return x.HeadersToAdd + } + return nil +} + +func (x *HttpService_Request) GetAllowedHeadersRegex() []string { + if x != nil { + return x.AllowedHeadersRegex + } + return nil +} + +type HttpService_Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // When this is set, authorization response headers that have a header in this list will be added to the original client request and sent to the upstream. + // Note that coexistent headers will be overridden. + AllowedUpstreamHeaders []string `protobuf:"bytes,1,rep,name=allowed_upstream_headers,json=allowedUpstreamHeaders,proto3" json:"allowed_upstream_headers,omitempty"` + // When this is set, authorization response headers in this list will be added to the client's response when the auth request is denied. + // Note that when this list is *not* set, all the authorization response headers, except *Authority + // (Host)* will be in the response to the client. When a header is included in this list, *Path*, + // *Status*, *Content-Length*, *WWW-Authenticate* and *Location* are automatically added. + AllowedClientHeaders []string `protobuf:"bytes,2,rep,name=allowed_client_headers,json=allowedClientHeaders,proto3" json:"allowed_client_headers,omitempty"` + // When this is set, authorization response headers that have a correspondent match will be added to the client's response. + // Note that coexistent headers will be appended. + AllowedUpstreamHeadersToAppend []string `protobuf:"bytes,3,rep,name=allowed_upstream_headers_to_append,json=allowedUpstreamHeadersToAppend,proto3" json:"allowed_upstream_headers_to_append,omitempty"` +} + +func (x *HttpService_Response) Reset() { + *x = HttpService_Response{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HttpService_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HttpService_Response) ProtoMessage() {} + +func (x *HttpService_Response) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HttpService_Response.ProtoReflect.Descriptor instead. +func (*HttpService_Response) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{4, 1} +} + +func (x *HttpService_Response) GetAllowedUpstreamHeaders() []string { + if x != nil { + return x.AllowedUpstreamHeaders + } + return nil +} + +func (x *HttpService_Response) GetAllowedClientHeaders() []string { + if x != nil { + return x.AllowedClientHeaders + } + return nil +} + +func (x *HttpService_Response) GetAllowedUpstreamHeadersToAppend() []string { + if x != nil { + return x.AllowedUpstreamHeadersToAppend + } + return nil +} + +// This is the legacy/simple basic auth config. It supports the APR hashing algorithm and an inline userlist. +// If 'apr' is defined, 'encryption' and 'user_source' must not be defined or the config will fail validation +type BasicAuth_Apr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Map of authorized usernames to stored credentials + Users map[string]*BasicAuth_Apr_SaltedHashedPassword `protobuf:"bytes,2,rep,name=users,proto3" json:"users,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *BasicAuth_Apr) Reset() { + *x = BasicAuth_Apr{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BasicAuth_Apr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BasicAuth_Apr) ProtoMessage() {} + +func (x *BasicAuth_Apr) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BasicAuth_Apr.ProtoReflect.Descriptor instead. +func (*BasicAuth_Apr) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{8, 0} +} + +func (x *BasicAuth_Apr) GetUsers() map[string]*BasicAuth_Apr_SaltedHashedPassword { + if x != nil { + return x.Users + } + return nil +} + +// The encryption/hashing algorithm to use to store the password +type BasicAuth_EncryptionType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Algorithm: + // + // *BasicAuth_EncryptionType_Apr_ + // *BasicAuth_EncryptionType_Sha1_ + Algorithm isBasicAuth_EncryptionType_Algorithm `protobuf_oneof:"algorithm"` +} + +func (x *BasicAuth_EncryptionType) Reset() { + *x = BasicAuth_EncryptionType{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BasicAuth_EncryptionType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BasicAuth_EncryptionType) ProtoMessage() {} + +func (x *BasicAuth_EncryptionType) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BasicAuth_EncryptionType.ProtoReflect.Descriptor instead. +func (*BasicAuth_EncryptionType) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{8, 1} +} + +func (m *BasicAuth_EncryptionType) GetAlgorithm() isBasicAuth_EncryptionType_Algorithm { + if m != nil { + return m.Algorithm + } + return nil +} + +func (x *BasicAuth_EncryptionType) GetApr() *BasicAuth_EncryptionType_Apr { + if x, ok := x.GetAlgorithm().(*BasicAuth_EncryptionType_Apr_); ok { + return x.Apr + } + return nil +} + +func (x *BasicAuth_EncryptionType) GetSha1() *BasicAuth_EncryptionType_Sha1 { + if x, ok := x.GetAlgorithm().(*BasicAuth_EncryptionType_Sha1_); ok { + return x.Sha1 + } + return nil +} + +type isBasicAuth_EncryptionType_Algorithm interface { + isBasicAuth_EncryptionType_Algorithm() +} + +type BasicAuth_EncryptionType_Apr_ struct { + Apr *BasicAuth_EncryptionType_Apr `protobuf:"bytes,1,opt,name=apr,proto3,oneof"` +} + +type BasicAuth_EncryptionType_Sha1_ struct { + Sha1 *BasicAuth_EncryptionType_Sha1 `protobuf:"bytes,2,opt,name=sha1,proto3,oneof"` +} + +func (*BasicAuth_EncryptionType_Apr_) isBasicAuth_EncryptionType_Algorithm() {} + +func (*BasicAuth_EncryptionType_Sha1_) isBasicAuth_EncryptionType_Algorithm() {} + +// Message to store user data. We need the salt and salted hashed password for each user +type BasicAuth_User struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Salt used with the hashing algorithm for the user + Salt string `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"` + // Salted and hashed password for the user + HashedPassword string `protobuf:"bytes,2,opt,name=hashed_password,json=hashedPassword,proto3" json:"hashed_password,omitempty"` +} + +func (x *BasicAuth_User) Reset() { + *x = BasicAuth_User{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BasicAuth_User) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BasicAuth_User) ProtoMessage() {} + +func (x *BasicAuth_User) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BasicAuth_User.ProtoReflect.Descriptor instead. +func (*BasicAuth_User) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{8, 2} +} + +func (x *BasicAuth_User) GetSalt() string { + if x != nil { + return x.Salt + } + return "" +} + +func (x *BasicAuth_User) GetHashedPassword() string { + if x != nil { + return x.HashedPassword + } + return "" +} + +// Map of valid usernames to stored credentials +type BasicAuth_UserList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Users map[string]*BasicAuth_User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *BasicAuth_UserList) Reset() { + *x = BasicAuth_UserList{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BasicAuth_UserList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BasicAuth_UserList) ProtoMessage() {} + +func (x *BasicAuth_UserList) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BasicAuth_UserList.ProtoReflect.Descriptor instead. +func (*BasicAuth_UserList) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{8, 3} +} + +func (x *BasicAuth_UserList) GetUsers() map[string]*BasicAuth_User { + if x != nil { + return x.Users + } + return nil +} + +// Message to store the salt and salted hashed password for a user +type BasicAuth_Apr_SaltedHashedPassword struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Salt used with the apr algorithm for the user + Salt string `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"` + // Salted and hashed password for the user + HashedPassword string `protobuf:"bytes,2,opt,name=hashed_password,json=hashedPassword,proto3" json:"hashed_password,omitempty"` +} + +func (x *BasicAuth_Apr_SaltedHashedPassword) Reset() { + *x = BasicAuth_Apr_SaltedHashedPassword{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BasicAuth_Apr_SaltedHashedPassword) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BasicAuth_Apr_SaltedHashedPassword) ProtoMessage() {} + +func (x *BasicAuth_Apr_SaltedHashedPassword) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BasicAuth_Apr_SaltedHashedPassword.ProtoReflect.Descriptor instead. +func (*BasicAuth_Apr_SaltedHashedPassword) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{8, 0, 0} +} + +func (x *BasicAuth_Apr_SaltedHashedPassword) GetSalt() string { + if x != nil { + return x.Salt + } + return "" +} + +func (x *BasicAuth_Apr_SaltedHashedPassword) GetHashedPassword() string { + if x != nil { + return x.HashedPassword + } + return "" +} + +// Sha1 encryption type (https://datatracker.ietf.org/doc/html/rfc3174) +// Sha1 is considered insecure and is not recommended for production use +type BasicAuth_EncryptionType_Sha1 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *BasicAuth_EncryptionType_Sha1) Reset() { + *x = BasicAuth_EncryptionType_Sha1{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BasicAuth_EncryptionType_Sha1) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BasicAuth_EncryptionType_Sha1) ProtoMessage() {} + +func (x *BasicAuth_EncryptionType_Sha1) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BasicAuth_EncryptionType_Sha1.ProtoReflect.Descriptor instead. +func (*BasicAuth_EncryptionType_Sha1) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{8, 1, 0} +} + +// Apache specific iterated MD5 hashing: (https://httpd.apache.org/docs/2.4/misc/password_encryptions.html) +type BasicAuth_EncryptionType_Apr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *BasicAuth_EncryptionType_Apr) Reset() { + *x = BasicAuth_EncryptionType_Apr{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BasicAuth_EncryptionType_Apr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BasicAuth_EncryptionType_Apr) ProtoMessage() {} + +func (x *BasicAuth_EncryptionType_Apr) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BasicAuth_EncryptionType_Apr.ProtoReflect.Descriptor instead. +func (*BasicAuth_EncryptionType_Apr) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{8, 1, 1} +} + +type UserSession_InternalSession struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Refresh expired id-tokens using the refresh-token. The tokens refreshes when the client issues a call. + // Defaults to false. To enable refreshing, set to true. + AllowRefreshing *wrappers.BoolValue `protobuf:"bytes,1,opt,name=allow_refreshing,json=allowRefreshing,proto3" json:"allow_refreshing,omitempty"` + // Prefix to append to cookie keys, such as for separate domain and subdomain prefixes. + // Cookie keys are stored in the form `_`. + // For more information, see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#attributes + KeyPrefix string `protobuf:"bytes,2,opt,name=key_prefix,json=keyPrefix,proto3" json:"key_prefix,omitempty"` + // Domain used to validate against requests in order to ensure that request host name matches target domain. + // If the target domain is provided will prevent requests that do not match the target domain according to + // the domain matching specifications in RFC 6265. For more information, see https://datatracker.ietf.org/doc/html/rfc6265#section-5.1.3 + TargetDomain string `protobuf:"bytes,3,opt,name=target_domain,json=targetDomain,proto3" json:"target_domain,omitempty"` +} + +func (x *UserSession_InternalSession) Reset() { + *x = UserSession_InternalSession{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserSession_InternalSession) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserSession_InternalSession) ProtoMessage() {} + +func (x *UserSession_InternalSession) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserSession_InternalSession.ProtoReflect.Descriptor instead. +func (*UserSession_InternalSession) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{15, 0} +} + +func (x *UserSession_InternalSession) GetAllowRefreshing() *wrappers.BoolValue { + if x != nil { + return x.AllowRefreshing + } + return nil +} + +func (x *UserSession_InternalSession) GetKeyPrefix() string { + if x != nil { + return x.KeyPrefix + } + return "" +} + +func (x *UserSession_InternalSession) GetTargetDomain() string { + if x != nil { + return x.TargetDomain + } + return "" +} + +type UserSession_RedisSession struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Options to connect to redis + Options *RedisOptions `protobuf:"bytes,1,opt,name=options,proto3" json:"options,omitempty"` + // Key prefix inside redis + KeyPrefix string `protobuf:"bytes,2,opt,name=key_prefix,json=keyPrefix,proto3" json:"key_prefix,omitempty"` + // Cookie name to set and store the session id. If empty the default "__session" is used. + CookieName string `protobuf:"bytes,3,opt,name=cookie_name,json=cookieName,proto3" json:"cookie_name,omitempty"` + // Refresh expired id-tokens using the refresh-token. The tokens refreshes when the client issues a call. + // Defaults to true. To disable refreshing, set to false. + AllowRefreshing *wrappers.BoolValue `protobuf:"bytes,4,opt,name=allow_refreshing,json=allowRefreshing,proto3" json:"allow_refreshing,omitempty"` + // Specifies a time buffer in which an id-token will be refreshed prior to its + // actual expiration. Defaults to 2 seconds. A duration of 0 will only refresh + // tokens after they have already expired. To refresh tokens, you must also set + // 'allowRefreshing' to 'true'; otherwise, this field is ignored. + PreExpiryBuffer *duration.Duration `protobuf:"bytes,5,opt,name=pre_expiry_buffer,json=preExpiryBuffer,proto3" json:"pre_expiry_buffer,omitempty"` + // Domain used to validate against requests in order to ensure that request host name matches target domain. + // If the target domain is provided will prevent requests that do not match the target domain according to + // the domain matching specifications in RFC 6265. For more information, see https://datatracker.ietf.org/doc/html/rfc6265#section-5.1.3 + TargetDomain string `protobuf:"bytes,6,opt,name=target_domain,json=targetDomain,proto3" json:"target_domain,omitempty"` + // If set, the name of the header that will include the randomly generated session id + // This would be used as part of the code exchange with the Oauth2 token endpoint + HeaderName string `protobuf:"bytes,7,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` +} + +func (x *UserSession_RedisSession) Reset() { + *x = UserSession_RedisSession{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserSession_RedisSession) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserSession_RedisSession) ProtoMessage() {} + +func (x *UserSession_RedisSession) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserSession_RedisSession.ProtoReflect.Descriptor instead. +func (*UserSession_RedisSession) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{15, 1} +} + +func (x *UserSession_RedisSession) GetOptions() *RedisOptions { + if x != nil { + return x.Options + } + return nil +} + +func (x *UserSession_RedisSession) GetKeyPrefix() string { + if x != nil { + return x.KeyPrefix + } + return "" +} + +func (x *UserSession_RedisSession) GetCookieName() string { + if x != nil { + return x.CookieName + } + return "" +} + +func (x *UserSession_RedisSession) GetAllowRefreshing() *wrappers.BoolValue { + if x != nil { + return x.AllowRefreshing + } + return nil +} + +func (x *UserSession_RedisSession) GetPreExpiryBuffer() *duration.Duration { + if x != nil { + return x.PreExpiryBuffer + } + return nil +} + +func (x *UserSession_RedisSession) GetTargetDomain() string { + if x != nil { + return x.TargetDomain + } + return "" +} + +func (x *UserSession_RedisSession) GetHeaderName() string { + if x != nil { + return x.HeaderName + } + return "" +} + +type UserSession_CookieOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Max age for the cookie. Leave unset for a default of 30 days (2592000 seconds). + // To disable cookie expiry, set explicitly to 0. + MaxAge *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` + // Use a non-secure cookie. Note - this should only be used for testing and in trusted + // environments. + NotSecure bool `protobuf:"varint,2,opt,name=not_secure,json=notSecure,proto3" json:"not_secure,omitempty"` + // Set the cookie to be HttpOnly. defaults to true. Set explicity to false to disable. + HttpOnly *wrappers.BoolValue `protobuf:"bytes,5,opt,name=http_only,json=httpOnly,proto3" json:"http_only,omitempty"` + // Path of the cookie. If unset, defaults to "/". Set it explicitly to "" to avoid setting a + // path. + Path *wrappers.StringValue `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` + // Whether the cookie should be restricted to a first-party or same-site context. + // The default mode is LaxMode. + SameSite UserSession_CookieOptions_SameSite `protobuf:"varint,6,opt,name=same_site,json=sameSite,proto3,enum=enterprise.gloo.solo.io.UserSession_CookieOptions_SameSite" json:"same_site,omitempty"` + // Cookie domain + Domain string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"` +} + +func (x *UserSession_CookieOptions) Reset() { + *x = UserSession_CookieOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserSession_CookieOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserSession_CookieOptions) ProtoMessage() {} + +func (x *UserSession_CookieOptions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserSession_CookieOptions.ProtoReflect.Descriptor instead. +func (*UserSession_CookieOptions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{15, 2} +} + +func (x *UserSession_CookieOptions) GetMaxAge() *wrappers.UInt32Value { + if x != nil { + return x.MaxAge + } + return nil +} + +func (x *UserSession_CookieOptions) GetNotSecure() bool { + if x != nil { + return x.NotSecure + } + return false +} + +func (x *UserSession_CookieOptions) GetHttpOnly() *wrappers.BoolValue { + if x != nil { + return x.HttpOnly + } + return nil +} + +func (x *UserSession_CookieOptions) GetPath() *wrappers.StringValue { + if x != nil { + return x.Path + } + return nil +} + +func (x *UserSession_CookieOptions) GetSameSite() UserSession_CookieOptions_SameSite { + if x != nil { + return x.SameSite + } + return UserSession_CookieOptions_DefaultMode +} + +func (x *UserSession_CookieOptions) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +// the cipher config is used to encrypt session cookie values. This is currently only available for OIDC. +type UserSession_CipherConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // to enable the cipher encryption, the key has to be present. Note that the key has to be found and 32 bytes in + // length for the authconfig to not be rejected. + // + // Types that are assignable to Key: + // + // *UserSession_CipherConfig_KeyRef + Key isUserSession_CipherConfig_Key `protobuf_oneof:"key"` +} + +func (x *UserSession_CipherConfig) Reset() { + *x = UserSession_CipherConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserSession_CipherConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserSession_CipherConfig) ProtoMessage() {} + +func (x *UserSession_CipherConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserSession_CipherConfig.ProtoReflect.Descriptor instead. +func (*UserSession_CipherConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{15, 3} +} + +func (m *UserSession_CipherConfig) GetKey() isUserSession_CipherConfig_Key { + if m != nil { + return m.Key + } + return nil +} + +func (x *UserSession_CipherConfig) GetKeyRef() *core.ResourceRef { + if x, ok := x.GetKey().(*UserSession_CipherConfig_KeyRef); ok { + return x.KeyRef + } + return nil +} + +type isUserSession_CipherConfig_Key interface { + isUserSession_CipherConfig_Key() +} + +type UserSession_CipherConfig_KeyRef struct { + // The key reference used for the cipher. The reference must be a Kubernetes Secret of type `gloo.solo.io.EncryptionKeySecret`. + KeyRef *core.ResourceRef `protobuf:"bytes,1,opt,name=key_ref,json=keyRef,proto3,oneof"` +} + +func (*UserSession_CipherConfig_KeyRef) isUserSession_CipherConfig_Key() {} + +// Optional: Map a single claim from an OAuth2 access token to a header in the request to the upstream destination. +type OidcAuthorizationCode_AccessToken struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of claims to be mapped from the JWT token received by ext-auth-service to an upstream destination + ClaimsToHeaders []*ClaimToHeader `protobuf:"bytes,1,rep,name=claims_to_headers,json=claimsToHeaders,proto3" json:"claims_to_headers,omitempty"` +} + +func (x *OidcAuthorizationCode_AccessToken) Reset() { + *x = OidcAuthorizationCode_AccessToken{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OidcAuthorizationCode_AccessToken) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OidcAuthorizationCode_AccessToken) ProtoMessage() {} + +func (x *OidcAuthorizationCode_AccessToken) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[75] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OidcAuthorizationCode_AccessToken.ProtoReflect.Descriptor instead. +func (*OidcAuthorizationCode_AccessToken) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{22, 3} +} + +func (x *OidcAuthorizationCode_AccessToken) GetClaimsToHeaders() []*ClaimToHeader { + if x != nil { + return x.ClaimsToHeaders + } + return nil +} + +// Optional: Map a single claim from an OIDC identity token to a header in the request to the upstream destination. +type OidcAuthorizationCode_IdentityToken struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of claims to be mapped from the JWT token received by ext-auth-service to an upstream destination + ClaimsToHeaders []*ClaimToHeader `protobuf:"bytes,1,rep,name=claims_to_headers,json=claimsToHeaders,proto3" json:"claims_to_headers,omitempty"` +} + +func (x *OidcAuthorizationCode_IdentityToken) Reset() { + *x = OidcAuthorizationCode_IdentityToken{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OidcAuthorizationCode_IdentityToken) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OidcAuthorizationCode_IdentityToken) ProtoMessage() {} + +func (x *OidcAuthorizationCode_IdentityToken) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[76] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OidcAuthorizationCode_IdentityToken.ProtoReflect.Descriptor instead. +func (*OidcAuthorizationCode_IdentityToken) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{22, 4} +} + +func (x *OidcAuthorizationCode_IdentityToken) GetClaimsToHeaders() []*ClaimToHeader { + if x != nil { + return x.ClaimsToHeaders + } + return nil +} + +// Configuration specific to the client authentication type used to exchange the access code for the access and id tokens. +type OidcAuthorizationCode_ClientAuthentication struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Configure how to authenticate the client + // + // Types that are assignable to ClientAuthenticationConfig: + // + // *OidcAuthorizationCode_ClientAuthentication_ClientSecret_ + // *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt_ + ClientAuthenticationConfig isOidcAuthorizationCode_ClientAuthentication_ClientAuthenticationConfig `protobuf_oneof:"client_authentication_config"` +} + +func (x *OidcAuthorizationCode_ClientAuthentication) Reset() { + *x = OidcAuthorizationCode_ClientAuthentication{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OidcAuthorizationCode_ClientAuthentication) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OidcAuthorizationCode_ClientAuthentication) ProtoMessage() {} + +func (x *OidcAuthorizationCode_ClientAuthentication) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[77] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OidcAuthorizationCode_ClientAuthentication.ProtoReflect.Descriptor instead. +func (*OidcAuthorizationCode_ClientAuthentication) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{22, 5} +} + +func (m *OidcAuthorizationCode_ClientAuthentication) GetClientAuthenticationConfig() isOidcAuthorizationCode_ClientAuthentication_ClientAuthenticationConfig { + if m != nil { + return m.ClientAuthenticationConfig + } + return nil +} + +func (x *OidcAuthorizationCode_ClientAuthentication) GetClientSecret() *OidcAuthorizationCode_ClientAuthentication_ClientSecret { + if x, ok := x.GetClientAuthenticationConfig().(*OidcAuthorizationCode_ClientAuthentication_ClientSecret_); ok { + return x.ClientSecret + } + return nil +} + +func (x *OidcAuthorizationCode_ClientAuthentication) GetPrivateKeyJwt() *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt { + if x, ok := x.GetClientAuthenticationConfig().(*OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt_); ok { + return x.PrivateKeyJwt + } + return nil +} + +type isOidcAuthorizationCode_ClientAuthentication_ClientAuthenticationConfig interface { + isOidcAuthorizationCode_ClientAuthentication_ClientAuthenticationConfig() +} + +type OidcAuthorizationCode_ClientAuthentication_ClientSecret_ struct { + // Use the client secret method to authenticate the client + ClientSecret *OidcAuthorizationCode_ClientAuthentication_ClientSecret `protobuf:"bytes,1,opt,name=client_secret,json=clientSecret,proto3,oneof"` +} + +type OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt_ struct { + // Use the private ket JWT method to authenticate the client + PrivateKeyJwt *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt `protobuf:"bytes,2,opt,name=private_key_jwt,json=privateKeyJwt,proto3,oneof"` +} + +func (*OidcAuthorizationCode_ClientAuthentication_ClientSecret_) isOidcAuthorizationCode_ClientAuthentication_ClientAuthenticationConfig() { +} + +func (*OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt_) isOidcAuthorizationCode_ClientAuthentication_ClientAuthenticationConfig() { +} + +// No-op, represents default OIDC behavior +type OidcAuthorizationCode_Default struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *OidcAuthorizationCode_Default) Reset() { + *x = OidcAuthorizationCode_Default{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OidcAuthorizationCode_Default) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OidcAuthorizationCode_Default) ProtoMessage() {} + +func (x *OidcAuthorizationCode_Default) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OidcAuthorizationCode_Default.ProtoReflect.Descriptor instead. +func (*OidcAuthorizationCode_Default) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{22, 6} +} + +// For apps in Microsoft Azure, configure Microsoft Entra ID as the OpenID Connect (OIDC) provider. +// This way, you can enable distibuted claims and caching for when users are members of more than 200 groups. +type OidcAuthorizationCode_Azure struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The client ID for the ExtAuthService app that is registered in MS Entra, + // to access the Microsoft Graph API to retrieve distributed claims. + // This app is NOT the app that you want to configure external auth for. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // The tenant ID represents the MS Entra organization ID where the ExtAuthService app is registered. + // This tenant ID may or may not be the same as in the top level `OidcAuthorizationCodeConfig`, + // depending on how your Azure account is provisioned. + TenantId string `protobuf:"bytes,2,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + // The client secret of the ExtAuthService app that is registered with MS Entra to communciate with the MS Graph API. + ClientSecret *core.ResourceRef `protobuf:"bytes,3,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + // Redis connection details to cache MS Entera claims. + // This way, you avoid performance issues of accessing the Microsoft Graph API too many times. + // Note that this setting does NOT turn on Redis caching for the user session. + // To turn on Redis user session caching, use the `userSessionConfig` field. + ClaimsCachingOptions *RedisOptions `protobuf:"bytes,4,opt,name=claims_caching_options,json=claimsCachingOptions,proto3" json:"claims_caching_options,omitempty"` +} + +func (x *OidcAuthorizationCode_Azure) Reset() { + *x = OidcAuthorizationCode_Azure{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OidcAuthorizationCode_Azure) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OidcAuthorizationCode_Azure) ProtoMessage() {} + +func (x *OidcAuthorizationCode_Azure) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OidcAuthorizationCode_Azure.ProtoReflect.Descriptor instead. +func (*OidcAuthorizationCode_Azure) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{22, 7} +} + +func (x *OidcAuthorizationCode_Azure) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *OidcAuthorizationCode_Azure) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *OidcAuthorizationCode_Azure) GetClientSecret() *core.ResourceRef { + if x != nil { + return x.ClientSecret + } + return nil +} + +func (x *OidcAuthorizationCode_Azure) GetClaimsCachingOptions() *RedisOptions { + if x != nil { + return x.ClaimsCachingOptions + } + return nil +} + +// Client Secret Authentication requires a client secret (unless it is disabled) +type OidcAuthorizationCode_ClientAuthentication_ClientSecret struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // your client secret as registered with the issuer. + // This is required unless `disable_client_secret` is true + ClientSecretRef *core.ResourceRef `protobuf:"bytes,1,opt,name=client_secret_ref,json=clientSecretRef,proto3" json:"client_secret_ref,omitempty"` + // If true, do not check for or use the client secret. + // Generally the client secret is required and AuthConfigs will be rejected if it isn't set. + // However certain implementations of the PKCE flow do not use a client secret (including Okta) so this setting allows configuring Oidc without a client secret. + DisableClientSecret *wrappers.BoolValue `protobuf:"bytes,2,opt,name=disable_client_secret,json=disableClientSecret,proto3" json:"disable_client_secret,omitempty"` +} + +func (x *OidcAuthorizationCode_ClientAuthentication_ClientSecret) Reset() { + *x = OidcAuthorizationCode_ClientAuthentication_ClientSecret{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OidcAuthorizationCode_ClientAuthentication_ClientSecret) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OidcAuthorizationCode_ClientAuthentication_ClientSecret) ProtoMessage() {} + +func (x *OidcAuthorizationCode_ClientAuthentication_ClientSecret) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OidcAuthorizationCode_ClientAuthentication_ClientSecret.ProtoReflect.Descriptor instead. +func (*OidcAuthorizationCode_ClientAuthentication_ClientSecret) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{22, 5, 0} +} + +func (x *OidcAuthorizationCode_ClientAuthentication_ClientSecret) GetClientSecretRef() *core.ResourceRef { + if x != nil { + return x.ClientSecretRef + } + return nil +} + +func (x *OidcAuthorizationCode_ClientAuthentication_ClientSecret) GetDisableClientSecret() *wrappers.BoolValue { + if x != nil { + return x.DisableClientSecret + } + return nil +} + +// Private Key JWT Authentication requires a signing key for the JWT and an duration for the JWT to be valid. +type OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Signing key for the JWT used to authenticate the client + SigningKeyRef *core.ResourceRef `protobuf:"bytes,1,opt,name=signing_key_ref,json=signingKeyRef,proto3" json:"signing_key_ref,omitempty"` + // Amount of time for which the JWT is valid. No maximmum is enforced, but different IDPs may impose limits on how far in + // the future the expiration time is allowed to be. If omitted, default is 5s. + ValidFor *duration.Duration `protobuf:"bytes,2,opt,name=valid_for,json=validFor,proto3" json:"valid_for,omitempty"` +} + +func (x *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt) Reset() { + *x = OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt) ProtoMessage() {} + +func (x *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt.ProtoReflect.Descriptor instead. +func (*OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{22, 5, 1} +} + +func (x *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt) GetSigningKeyRef() *core.ResourceRef { + if x != nil { + return x.SigningKeyRef + } + return nil +} + +func (x *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt) GetValidFor() *duration.Duration { + if x != nil { + return x.ValidFor + } + return nil +} + +// Specifies how to fetch JWKS from remote and how to cache it. +type JwtValidation_RemoteJwks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The HTTP URI to fetch the JWKS. + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + // The frequency at which the JWKS should be refreshed. + // If not specified, the default value is 5 minutes. + RefreshInterval *duration.Duration `protobuf:"bytes,2,opt,name=refresh_interval,json=refreshInterval,proto3" json:"refresh_interval,omitempty"` +} + +func (x *JwtValidation_RemoteJwks) Reset() { + *x = JwtValidation_RemoteJwks{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JwtValidation_RemoteJwks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JwtValidation_RemoteJwks) ProtoMessage() {} + +func (x *JwtValidation_RemoteJwks) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[84] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JwtValidation_RemoteJwks.ProtoReflect.Descriptor instead. +func (*JwtValidation_RemoteJwks) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{24, 0} +} + +func (x *JwtValidation_RemoteJwks) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *JwtValidation_RemoteJwks) GetRefreshInterval() *duration.Duration { + if x != nil { + return x.RefreshInterval + } + return nil +} + +// Represents a locally available JWKS. +type JwtValidation_LocalJwks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // JWKS is embedded as a string. + InlineString string `protobuf:"bytes,1,opt,name=inline_string,json=inlineString,proto3" json:"inline_string,omitempty"` +} + +func (x *JwtValidation_LocalJwks) Reset() { + *x = JwtValidation_LocalJwks{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JwtValidation_LocalJwks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JwtValidation_LocalJwks) ProtoMessage() {} + +func (x *JwtValidation_LocalJwks) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[85] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JwtValidation_LocalJwks.ProtoReflect.Descriptor instead. +func (*JwtValidation_LocalJwks) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{24, 1} +} + +func (x *JwtValidation_LocalJwks) GetInlineString() string { + if x != nil { + return x.InlineString + } + return "" +} + +type AccessTokenValidation_ScopeList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Scope []string `protobuf:"bytes,1,rep,name=scope,proto3" json:"scope,omitempty"` +} + +func (x *AccessTokenValidation_ScopeList) Reset() { + *x = AccessTokenValidation_ScopeList{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessTokenValidation_ScopeList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessTokenValidation_ScopeList) ProtoMessage() {} + +func (x *AccessTokenValidation_ScopeList) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[87] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessTokenValidation_ScopeList.ProtoReflect.Descriptor instead. +func (*AccessTokenValidation_ScopeList) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{26, 1} +} + +func (x *AccessTokenValidation_ScopeList) GetScope() []string { + if x != nil { + return x.Scope + } + return nil +} + +// DEPRECATED: use generalized MetadataEntry +type ApiKeyAuth_SecretKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // DEPRECATED + // (Required) The key of the API key metadata entry to inspect. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // DEPRECATED + // If this field is set to `true`, Gloo will reject an API key structure that does not contain data for the given key. + // Defaults to `false`. In this case, if an API key structure does not contain the requested data, no header will be added + // to the request. + Required bool `protobuf:"varint,2,opt,name=required,proto3" json:"required,omitempty"` +} + +func (x *ApiKeyAuth_SecretKey) Reset() { + *x = ApiKeyAuth_SecretKey{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKeyAuth_SecretKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeyAuth_SecretKey) ProtoMessage() {} + +func (x *ApiKeyAuth_SecretKey) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[91] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeyAuth_SecretKey.ProtoReflect.Descriptor instead. +func (*ApiKeyAuth_SecretKey) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{28, 3} +} + +func (x *ApiKeyAuth_SecretKey) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ApiKeyAuth_SecretKey) GetRequired() bool { + if x != nil { + return x.Required + } + return false +} + +// For the K8s secret backend, this data is stored as key-value data in the secret itself. +// For the Aerospike backend, this data is stored as bins on the key's record +type ApiKeyAuth_MetadataEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The key of the API key metadata entry to inspect. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // If this field is set to `true`, Gloo will reject an API key structure that does not contain data for the given key. + // Defaults to `false`. In this case, if an API key structure does not contain the requested data, no header will be added + // to the request. + Required bool `protobuf:"varint,2,opt,name=required,proto3" json:"required,omitempty"` +} + +func (x *ApiKeyAuth_MetadataEntry) Reset() { + *x = ApiKeyAuth_MetadataEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiKeyAuth_MetadataEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeyAuth_MetadataEntry) ProtoMessage() {} + +func (x *ApiKeyAuth_MetadataEntry) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[92] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeyAuth_MetadataEntry.ProtoReflect.Descriptor instead. +func (*ApiKeyAuth_MetadataEntry) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{28, 4} +} + +func (x *ApiKeyAuth_MetadataEntry) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ApiKeyAuth_MetadataEntry) GetRequired() bool { + if x != nil { + return x.Required + } + return false +} + +type AerospikeApiKeyStorageReadModeSc struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ReadModeSc: + // + // *AerospikeApiKeyStorageReadModeSc_ReadModeScSession + // *AerospikeApiKeyStorageReadModeSc_ReadModeScLinearize + // *AerospikeApiKeyStorageReadModeSc_ReadModeScReplica + // *AerospikeApiKeyStorageReadModeSc_ReadModeScAllowUnavailable + ReadModeSc isAerospikeApiKeyStorageReadModeSc_ReadModeSc `protobuf_oneof:"read_mode_sc"` +} + +func (x *AerospikeApiKeyStorageReadModeSc) Reset() { + *x = AerospikeApiKeyStorageReadModeSc{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AerospikeApiKeyStorageReadModeSc) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AerospikeApiKeyStorageReadModeSc) ProtoMessage() {} + +func (x *AerospikeApiKeyStorageReadModeSc) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[94] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AerospikeApiKeyStorageReadModeSc.ProtoReflect.Descriptor instead. +func (*AerospikeApiKeyStorageReadModeSc) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{30, 0} +} + +func (m *AerospikeApiKeyStorageReadModeSc) GetReadModeSc() isAerospikeApiKeyStorageReadModeSc_ReadModeSc { + if m != nil { + return m.ReadModeSc + } + return nil +} + +func (x *AerospikeApiKeyStorageReadModeSc) GetReadModeScSession() uint32 { + if x, ok := x.GetReadModeSc().(*AerospikeApiKeyStorageReadModeSc_ReadModeScSession); ok { + return x.ReadModeScSession + } + return 0 +} + +func (x *AerospikeApiKeyStorageReadModeSc) GetReadModeScLinearize() uint32 { + if x, ok := x.GetReadModeSc().(*AerospikeApiKeyStorageReadModeSc_ReadModeScLinearize); ok { + return x.ReadModeScLinearize + } + return 0 +} + +func (x *AerospikeApiKeyStorageReadModeSc) GetReadModeScReplica() uint32 { + if x, ok := x.GetReadModeSc().(*AerospikeApiKeyStorageReadModeSc_ReadModeScReplica); ok { + return x.ReadModeScReplica + } + return 0 +} + +func (x *AerospikeApiKeyStorageReadModeSc) GetReadModeScAllowUnavailable() uint32 { + if x, ok := x.GetReadModeSc().(*AerospikeApiKeyStorageReadModeSc_ReadModeScAllowUnavailable); ok { + return x.ReadModeScAllowUnavailable + } + return 0 +} + +type isAerospikeApiKeyStorageReadModeSc_ReadModeSc interface { + isAerospikeApiKeyStorageReadModeSc_ReadModeSc() +} + +type AerospikeApiKeyStorageReadModeSc_ReadModeScSession struct { + // The session ensures this client sees only an increasing sequence of record versions. + // Server reads only from master, which is the default. + ReadModeScSession uint32 `protobuf:"varint,1,opt,name=read_mode_sc_session,json=readModeScSession,proto3,oneof"` +} + +type AerospikeApiKeyStorageReadModeSc_ReadModeScLinearize struct { + // "linearize" ensures that ALL clients see only an increasing sequence of record versions. + // "server" reads only from master. + ReadModeScLinearize uint32 `protobuf:"varint,2,opt,name=read_mode_sc_linearize,json=readModeScLinearize,proto3,oneof"` +} + +type AerospikeApiKeyStorageReadModeSc_ReadModeScReplica struct { + // "replica" indicates that the server can read from master or any full (non-migrating) replica. + // An increasing sequence of record versions is not guaranteed. + ReadModeScReplica uint32 `protobuf:"varint,3,opt,name=read_mode_sc_replica,json=readModeScReplica,proto3,oneof"` +} + +type AerospikeApiKeyStorageReadModeSc_ReadModeScAllowUnavailable struct { + // "allow_unavailable" indicates that the server can read from master or any full (non-migrating) replica or from unavailable + // partitions. An increasing sequence of record versions is not guaranteed. + ReadModeScAllowUnavailable uint32 `protobuf:"varint,4,opt,name=read_mode_sc_allow_unavailable,json=readModeScAllowUnavailable,proto3,oneof"` +} + +func (*AerospikeApiKeyStorageReadModeSc_ReadModeScSession) isAerospikeApiKeyStorageReadModeSc_ReadModeSc() { +} + +func (*AerospikeApiKeyStorageReadModeSc_ReadModeScLinearize) isAerospikeApiKeyStorageReadModeSc_ReadModeSc() { +} + +func (*AerospikeApiKeyStorageReadModeSc_ReadModeScReplica) isAerospikeApiKeyStorageReadModeSc_ReadModeSc() { +} + +func (*AerospikeApiKeyStorageReadModeSc_ReadModeScAllowUnavailable) isAerospikeApiKeyStorageReadModeSc_ReadModeSc() { +} + +type AerospikeApiKeyStorageReadModeAp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ReadModeAp: + // + // *AerospikeApiKeyStorageReadModeAp_ReadModeApOne + // *AerospikeApiKeyStorageReadModeAp_ReadModeApAll + ReadModeAp isAerospikeApiKeyStorageReadModeAp_ReadModeAp `protobuf_oneof:"read_mode_ap"` +} + +func (x *AerospikeApiKeyStorageReadModeAp) Reset() { + *x = AerospikeApiKeyStorageReadModeAp{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AerospikeApiKeyStorageReadModeAp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AerospikeApiKeyStorageReadModeAp) ProtoMessage() {} + +func (x *AerospikeApiKeyStorageReadModeAp) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[95] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AerospikeApiKeyStorageReadModeAp.ProtoReflect.Descriptor instead. +func (*AerospikeApiKeyStorageReadModeAp) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{30, 1} +} + +func (m *AerospikeApiKeyStorageReadModeAp) GetReadModeAp() isAerospikeApiKeyStorageReadModeAp_ReadModeAp { + if m != nil { + return m.ReadModeAp + } + return nil +} + +func (x *AerospikeApiKeyStorageReadModeAp) GetReadModeApOne() uint32 { + if x, ok := x.GetReadModeAp().(*AerospikeApiKeyStorageReadModeAp_ReadModeApOne); ok { + return x.ReadModeApOne + } + return 0 +} + +func (x *AerospikeApiKeyStorageReadModeAp) GetReadModeApAll() uint32 { + if x, ok := x.GetReadModeAp().(*AerospikeApiKeyStorageReadModeAp_ReadModeApAll); ok { + return x.ReadModeApAll + } + return 0 +} + +type isAerospikeApiKeyStorageReadModeAp_ReadModeAp interface { + isAerospikeApiKeyStorageReadModeAp_ReadModeAp() +} + +type AerospikeApiKeyStorageReadModeAp_ReadModeApOne struct { + // "one" indicates that a single node is involved in the read operation. + ReadModeApOne uint32 `protobuf:"varint,1,opt,name=read_mode_ap_one,json=readModeApOne,proto3,oneof"` +} + +type AerospikeApiKeyStorageReadModeAp_ReadModeApAll struct { + // "all" indicates that all duplicate nodes are consulted in + // the read operation. + ReadModeApAll uint32 `protobuf:"varint,2,opt,name=read_mode_ap_all,json=readModeApAll,proto3,oneof"` +} + +func (*AerospikeApiKeyStorageReadModeAp_ReadModeApOne) isAerospikeApiKeyStorageReadModeAp_ReadModeAp() { +} + +func (*AerospikeApiKeyStorageReadModeAp_ReadModeApAll) isAerospikeApiKeyStorageReadModeAp_ReadModeAp() { +} + +type AerospikeApiKeyStorageTlsCurveID struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to CurveId: + // + // *AerospikeApiKeyStorageTlsCurveID_CurveP256 + // *AerospikeApiKeyStorageTlsCurveID_CurveP384 + // *AerospikeApiKeyStorageTlsCurveID_CurveP521 + // *AerospikeApiKeyStorageTlsCurveID_X_25519 + CurveId isAerospikeApiKeyStorageTlsCurveID_CurveId `protobuf_oneof:"curve_id"` +} + +func (x *AerospikeApiKeyStorageTlsCurveID) Reset() { + *x = AerospikeApiKeyStorageTlsCurveID{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AerospikeApiKeyStorageTlsCurveID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AerospikeApiKeyStorageTlsCurveID) ProtoMessage() {} + +func (x *AerospikeApiKeyStorageTlsCurveID) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[96] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AerospikeApiKeyStorageTlsCurveID.ProtoReflect.Descriptor instead. +func (*AerospikeApiKeyStorageTlsCurveID) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{30, 2} +} + +func (m *AerospikeApiKeyStorageTlsCurveID) GetCurveId() isAerospikeApiKeyStorageTlsCurveID_CurveId { + if m != nil { + return m.CurveId + } + return nil +} + +func (x *AerospikeApiKeyStorageTlsCurveID) GetCurveP256() uint32 { + if x, ok := x.GetCurveId().(*AerospikeApiKeyStorageTlsCurveID_CurveP256); ok { + return x.CurveP256 + } + return 0 +} + +func (x *AerospikeApiKeyStorageTlsCurveID) GetCurveP384() uint32 { + if x, ok := x.GetCurveId().(*AerospikeApiKeyStorageTlsCurveID_CurveP384); ok { + return x.CurveP384 + } + return 0 +} + +func (x *AerospikeApiKeyStorageTlsCurveID) GetCurveP521() uint32 { + if x, ok := x.GetCurveId().(*AerospikeApiKeyStorageTlsCurveID_CurveP521); ok { + return x.CurveP521 + } + return 0 +} + +func (x *AerospikeApiKeyStorageTlsCurveID) GetX_25519() uint32 { + if x, ok := x.GetCurveId().(*AerospikeApiKeyStorageTlsCurveID_X_25519); ok { + return x.X_25519 + } + return 0 +} + +type isAerospikeApiKeyStorageTlsCurveID_CurveId interface { + isAerospikeApiKeyStorageTlsCurveID_CurveId() +} + +type AerospikeApiKeyStorageTlsCurveID_CurveP256 struct { + CurveP256 uint32 `protobuf:"varint,1,opt,name=curve_p256,json=curveP256,proto3,oneof"` +} + +type AerospikeApiKeyStorageTlsCurveID_CurveP384 struct { + CurveP384 uint32 `protobuf:"varint,2,opt,name=curve_p384,json=curveP384,proto3,oneof"` +} + +type AerospikeApiKeyStorageTlsCurveID_CurveP521 struct { + CurveP521 uint32 `protobuf:"varint,3,opt,name=curve_p521,json=curveP521,proto3,oneof"` +} + +type AerospikeApiKeyStorageTlsCurveID_X_25519 struct { + X_25519 uint32 `protobuf:"varint,4,opt,name=x_25519,json=x25519,proto3,oneof"` +} + +func (*AerospikeApiKeyStorageTlsCurveID_CurveP256) isAerospikeApiKeyStorageTlsCurveID_CurveId() {} + +func (*AerospikeApiKeyStorageTlsCurveID_CurveP384) isAerospikeApiKeyStorageTlsCurveID_CurveId() {} + +func (*AerospikeApiKeyStorageTlsCurveID_CurveP521) isAerospikeApiKeyStorageTlsCurveID_CurveId() {} + +func (*AerospikeApiKeyStorageTlsCurveID_X_25519) isAerospikeApiKeyStorageTlsCurveID_CurveId() {} + +// Configuration properties for pooling connections to the LDAP server. If the pool is exhausted when a connection +// is requested (meaning that all the pooled connections are in use), the connection will be created on the fly. +type Ldap_ConnectionPool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Maximum number connections that are pooled at any give time. The default value is 5. + MaxSize *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=maxSize,proto3" json:"maxSize,omitempty"` + // Number of connections that the pool will be pre-populated with upon initialization. The default value is 2. + InitialSize *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=initialSize,proto3" json:"initialSize,omitempty"` +} + +func (x *Ldap_ConnectionPool) Reset() { + *x = Ldap_ConnectionPool{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Ldap_ConnectionPool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ldap_ConnectionPool) ProtoMessage() {} + +func (x *Ldap_ConnectionPool) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[100] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Ldap_ConnectionPool.ProtoReflect.Descriptor instead. +func (*Ldap_ConnectionPool) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{36, 0} +} + +func (x *Ldap_ConnectionPool) GetMaxSize() *wrappers.UInt32Value { + if x != nil { + return x.MaxSize + } + return nil +} + +func (x *Ldap_ConnectionPool) GetInitialSize() *wrappers.UInt32Value { + if x != nil { + return x.InitialSize + } + return nil +} + +// The passthrough http request can be configured to pass through the incoming request body, +// the ext-auth state (which is shared between different auth methods within one ext-auth instance), and +// the [filterMetadata](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/data_sharing_between_filters#metadata) +// The body of the passthrough auth request will be a JSON as follows: +// { +// "body" : string, +// "state": object (map[string]interface{}), +// "filterMetadata": object (map[string]protobuf.Struct), +// "config": object (protobuf.Struct), +// } +// `config` is the struct block specified under the passthrough auth configuration. +// If `passthrough_body`, `passthrough_state`, `passthrough_filter_metadata`, and `config` are all false/nil, +// the body of the auth request will remain empty. Setting any of these will increase latency slightly due to +// JSON marshalling. +type PassThroughHttp_Request struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // These headers will be copied from the incoming request to the request going + // to the auth server. By default, no headers are copied from the incoming request. + // Pseudo-headers such as `:Path`, and `:Method` can not be specified here. + AllowedHeaders []string `protobuf:"bytes,1,rep,name=allowed_headers,json=allowedHeaders,proto3" json:"allowed_headers,omitempty"` + // These headers that will be included to the request to authorization service. Note that + // client request of the same key will be overridden. + // Pseudo-headers such as `:Path`, and `:Method` can not be specified here. + HeadersToAdd map[string]string `protobuf:"bytes,2,rep,name=headers_to_add,json=headersToAdd,proto3" json:"headers_to_add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Whether or not to include the ext-auth state object in the passthrough request body. + // If this is set to true, it is expected that the state is returned in the HTTP response from the + // passthrough service. The state received from the response will be the state that is shared with + // other ext-auth service methods. + // If pass_through_body, pass_through_filter_metadata and pass_through_state are false, + // the authorization request body will be empty. A non-empty body will increase latency times + // slightly, so this is set to false by default, and should only be set to to true if the + // extauth state is needed in the auth request. + PassThroughState bool `protobuf:"varint,3,opt,name=pass_through_state,json=passThroughState,proto3" json:"pass_through_state,omitempty"` + // Whether or not to include the filter metadata in the passthrough request body. + // If pass_through_body, pass_through_filter_metadata and pass_through_state are false, + // the authorization request body will be empty. A non-empty body will increase latency times + // slightly, so this is set to false by default, and should only be set to to true if the + // filter metadata is needed in the auth request. + PassThroughFilterMetadata bool `protobuf:"varint,4,opt,name=pass_through_filter_metadata,json=passThroughFilterMetadata,proto3" json:"pass_through_filter_metadata,omitempty"` + // Whether or not to include the body in the passthrough request body. + // In order for this to work, the settings.extauth.requestBody must be set in the Gloo Edge Settings CRD so that + // the request body is buffered and sent to the ext-auth service. + // If pass_through_body, pass_through_filter_metadata and pass_through_state are false, + // the authorization request body will be empty. A non-empty body will increase latency times + // slightly, so this is set to false by default, and should only be set to to true if the + // request body is needed in the auth request. + PassThroughBody bool `protobuf:"varint,5,opt,name=pass_through_body,json=passThroughBody,proto3" json:"pass_through_body,omitempty"` +} + +func (x *PassThroughHttp_Request) Reset() { + *x = PassThroughHttp_Request{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PassThroughHttp_Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PassThroughHttp_Request) ProtoMessage() {} + +func (x *PassThroughHttp_Request) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[101] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PassThroughHttp_Request.ProtoReflect.Descriptor instead. +func (*PassThroughHttp_Request) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{41, 0} +} + +func (x *PassThroughHttp_Request) GetAllowedHeaders() []string { + if x != nil { + return x.AllowedHeaders + } + return nil +} + +func (x *PassThroughHttp_Request) GetHeadersToAdd() map[string]string { + if x != nil { + return x.HeadersToAdd + } + return nil +} + +func (x *PassThroughHttp_Request) GetPassThroughState() bool { + if x != nil { + return x.PassThroughState + } + return false +} + +func (x *PassThroughHttp_Request) GetPassThroughFilterMetadata() bool { + if x != nil { + return x.PassThroughFilterMetadata + } + return false +} + +func (x *PassThroughHttp_Request) GetPassThroughBody() bool { + if x != nil { + return x.PassThroughBody + } + return false +} + +type PassThroughHttp_Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // When this is set, authorization response headers that have a header in this list will be added to the original client request and sent to the upstream + // when the auth request is successful. These will be appended to any request headers that already exist. + // If this and allowed_upstream_headers_to_overwrite are empty, by default, no authorization response headers will be added to the upstream request. + // Header names may not be included in both allowed_upstream_headers and allowed_upstream_headers_to_overwrite. + AllowedUpstreamHeaders []string `protobuf:"bytes,1,rep,name=allowed_upstream_headers,json=allowedUpstreamHeaders,proto3" json:"allowed_upstream_headers,omitempty"` + // When this is set, authorization response headers in this list will be added to the response to the downstream client when the auth request is denied. + // If the response header already exists, it will replace the response header. + // If this is empty, by default, no authorization response headers will be added to the response to the downstream client. + AllowedClientHeadersOnDenied []string `protobuf:"bytes,2,rep,name=allowed_client_headers_on_denied,json=allowedClientHeadersOnDenied,proto3" json:"allowed_client_headers_on_denied,omitempty"` + // If this is set to true, the body of the response from the http passthrough auth server is expected to have shape + // + // { + // "state": object (map[string]interface{}) + // } + // + // The state will be marshalled from the response body and this is the state that will be passed on to other auth configs. + // Because of the marshalling from JSON to Go map, this will add some latency to the request. + // If the marshalling fails, the authorization check will fail and the request will be unauthorized after the ext-auth-service pod + // logs the marshal error. + ReadStateFromResponse bool `protobuf:"varint,3,opt,name=read_state_from_response,json=readStateFromResponse,proto3" json:"read_state_from_response,omitempty"` + // When this is set, authorization response headers that have a header in this list will be added to the original client request and sent to the upstream + // when the auth request is successful. These will overwrite to any request headers that already exist. + // If this and allowed_upstream_headers are empty, by default, no authorization response headers will be added to the upstream request. + // Header names may not be included in both allowed_upstream_headers and allowed_upstream_headers_to_overwrite. + AllowedUpstreamHeadersToOverwrite []string `protobuf:"bytes,4,rep,name=allowed_upstream_headers_to_overwrite,json=allowedUpstreamHeadersToOverwrite,proto3" json:"allowed_upstream_headers_to_overwrite,omitempty"` +} + +func (x *PassThroughHttp_Response) Reset() { + *x = PassThroughHttp_Response{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PassThroughHttp_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PassThroughHttp_Response) ProtoMessage() {} + +func (x *PassThroughHttp_Response) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[102] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PassThroughHttp_Response.ProtoReflect.Descriptor instead. +func (*PassThroughHttp_Response) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{41, 1} +} + +func (x *PassThroughHttp_Response) GetAllowedUpstreamHeaders() []string { + if x != nil { + return x.AllowedUpstreamHeaders + } + return nil +} + +func (x *PassThroughHttp_Response) GetAllowedClientHeadersOnDenied() []string { + if x != nil { + return x.AllowedClientHeadersOnDenied + } + return nil +} + +func (x *PassThroughHttp_Response) GetReadStateFromResponse() bool { + if x != nil { + return x.ReadStateFromResponse + } + return false +} + +func (x *PassThroughHttp_Response) GetAllowedUpstreamHeadersToOverwrite() []string { + if x != nil { + return x.AllowedUpstreamHeadersToOverwrite + } + return nil +} + +// Message to store Basic Auth Configuration. +// "Internal" refers to this format allowing for selection of the hashing algorithm and user source. +// If only the legacy "apr" field is defined, the existing public BasicAuth configuration will continue be used. +type ExtAuthConfig_BasicAuthInternal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Realm to use in the Basic Auth challenge. + Realm string `protobuf:"bytes,1,opt,name=realm,proto3" json:"realm,omitempty"` + // Hashing algorithm to use for password hashing. + Encryption *ExtAuthConfig_BasicAuthInternal_EncryptionType `protobuf:"bytes,2,opt,name=encryption,proto3" json:"encryption,omitempty"` + // Source of user credential data. + // + // Types that are assignable to UserSource: + // + // *ExtAuthConfig_BasicAuthInternal_UserList_ + UserSource isExtAuthConfig_BasicAuthInternal_UserSource `protobuf_oneof:"user_source"` +} + +func (x *ExtAuthConfig_BasicAuthInternal) Reset() { + *x = ExtAuthConfig_BasicAuthInternal{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_BasicAuthInternal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_BasicAuthInternal) ProtoMessage() {} + +func (x *ExtAuthConfig_BasicAuthInternal) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[104] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_BasicAuthInternal.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_BasicAuthInternal) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 0} +} + +func (x *ExtAuthConfig_BasicAuthInternal) GetRealm() string { + if x != nil { + return x.Realm + } + return "" +} + +func (x *ExtAuthConfig_BasicAuthInternal) GetEncryption() *ExtAuthConfig_BasicAuthInternal_EncryptionType { + if x != nil { + return x.Encryption + } + return nil +} + +func (m *ExtAuthConfig_BasicAuthInternal) GetUserSource() isExtAuthConfig_BasicAuthInternal_UserSource { + if m != nil { + return m.UserSource + } + return nil +} + +func (x *ExtAuthConfig_BasicAuthInternal) GetUserList() *ExtAuthConfig_BasicAuthInternal_UserList { + if x, ok := x.GetUserSource().(*ExtAuthConfig_BasicAuthInternal_UserList_); ok { + return x.UserList + } + return nil +} + +type isExtAuthConfig_BasicAuthInternal_UserSource interface { + isExtAuthConfig_BasicAuthInternal_UserSource() +} + +type ExtAuthConfig_BasicAuthInternal_UserList_ struct { + UserList *ExtAuthConfig_BasicAuthInternal_UserList `protobuf:"bytes,3,opt,name=user_list,json=userList,proto3,oneof"` +} + +func (*ExtAuthConfig_BasicAuthInternal_UserList_) isExtAuthConfig_BasicAuthInternal_UserSource() {} + +// Deprecated, prefer OAuth2Config +type ExtAuthConfig_OAuthConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // your client id as registered with the issuer + // + // Deprecated: Do not use. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // your client secret as registered with the issuer + // + // Deprecated: Do not use. + ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + // The url of the issuer. We will look for OIDC information in issuerUrl+ + // ".well-known/openid-configuration" + // + // Deprecated: Do not use. + IssuerUrl string `protobuf:"bytes,3,opt,name=issuer_url,json=issuerUrl,proto3" json:"issuer_url,omitempty"` + // extra query parameters to apply to the Ext-Auth service's authorization request to the identity provider. + // + // Deprecated: Do not use. + AuthEndpointQueryParams map[string]string `protobuf:"bytes,7,rep,name=auth_endpoint_query_params,json=authEndpointQueryParams,proto3" json:"auth_endpoint_query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // we to redirect after successful auth, if we can't determine the original + // url this should be your publicly available app url. + // + // Deprecated: Do not use. + AppUrl string `protobuf:"bytes,4,opt,name=app_url,json=appUrl,proto3" json:"app_url,omitempty"` + // a callback path relative to app url that will be used for OIDC callbacks. + // needs to not be used by the application + // + // Deprecated: Do not use. + CallbackPath string `protobuf:"bytes,5,opt,name=callback_path,json=callbackPath,proto3" json:"callback_path,omitempty"` + // scopes to request in addition to the openid scope. + // + // Deprecated: Do not use. + Scopes []string `protobuf:"bytes,6,rep,name=scopes,proto3" json:"scopes,omitempty"` +} + +func (x *ExtAuthConfig_OAuthConfig) Reset() { + *x = ExtAuthConfig_OAuthConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_OAuthConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_OAuthConfig) ProtoMessage() {} + +func (x *ExtAuthConfig_OAuthConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[105] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_OAuthConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_OAuthConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 1} +} + +// Deprecated: Do not use. +func (x *ExtAuthConfig_OAuthConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +// Deprecated: Do not use. +func (x *ExtAuthConfig_OAuthConfig) GetClientSecret() string { + if x != nil { + return x.ClientSecret + } + return "" +} + +// Deprecated: Do not use. +func (x *ExtAuthConfig_OAuthConfig) GetIssuerUrl() string { + if x != nil { + return x.IssuerUrl + } + return "" +} + +// Deprecated: Do not use. +func (x *ExtAuthConfig_OAuthConfig) GetAuthEndpointQueryParams() map[string]string { + if x != nil { + return x.AuthEndpointQueryParams + } + return nil +} + +// Deprecated: Do not use. +func (x *ExtAuthConfig_OAuthConfig) GetAppUrl() string { + if x != nil { + return x.AppUrl + } + return "" +} + +// Deprecated: Do not use. +func (x *ExtAuthConfig_OAuthConfig) GetCallbackPath() string { + if x != nil { + return x.CallbackPath + } + return "" +} + +// Deprecated: Do not use. +func (x *ExtAuthConfig_OAuthConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +type ExtAuthConfig_UserSessionConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // should we fail auth flow when failing to get a session from redis, or allow it to continue, + // potentially starting a new auth flow and setting a new session. + FailOnFetchFailure bool `protobuf:"varint,1,opt,name=fail_on_fetch_failure,json=failOnFetchFailure,proto3" json:"fail_on_fetch_failure,omitempty"` + // Set-Cookie options + CookieOptions *UserSession_CookieOptions `protobuf:"bytes,2,opt,name=cookie_options,json=cookieOptions,proto3" json:"cookie_options,omitempty"` + // Types that are assignable to Session: + // + // *ExtAuthConfig_UserSessionConfig_Cookie + // *ExtAuthConfig_UserSessionConfig_Redis + Session isExtAuthConfig_UserSessionConfig_Session `protobuf_oneof:"session"` + // the cipher config enables the symmetric key encryption of the cookie values of the user session. + CipherConfig *ExtAuthConfig_UserSessionConfig_CipherConfig `protobuf:"bytes,5,opt,name=cipher_config,json=cipherConfig,proto3" json:"cipher_config,omitempty"` +} + +func (x *ExtAuthConfig_UserSessionConfig) Reset() { + *x = ExtAuthConfig_UserSessionConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_UserSessionConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_UserSessionConfig) ProtoMessage() {} + +func (x *ExtAuthConfig_UserSessionConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[106] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_UserSessionConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_UserSessionConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 2} +} + +func (x *ExtAuthConfig_UserSessionConfig) GetFailOnFetchFailure() bool { + if x != nil { + return x.FailOnFetchFailure + } + return false +} + +func (x *ExtAuthConfig_UserSessionConfig) GetCookieOptions() *UserSession_CookieOptions { + if x != nil { + return x.CookieOptions + } + return nil +} + +func (m *ExtAuthConfig_UserSessionConfig) GetSession() isExtAuthConfig_UserSessionConfig_Session { + if m != nil { + return m.Session + } + return nil +} + +func (x *ExtAuthConfig_UserSessionConfig) GetCookie() *UserSession_InternalSession { + if x, ok := x.GetSession().(*ExtAuthConfig_UserSessionConfig_Cookie); ok { + return x.Cookie + } + return nil +} + +func (x *ExtAuthConfig_UserSessionConfig) GetRedis() *UserSession_RedisSession { + if x, ok := x.GetSession().(*ExtAuthConfig_UserSessionConfig_Redis); ok { + return x.Redis + } + return nil +} + +func (x *ExtAuthConfig_UserSessionConfig) GetCipherConfig() *ExtAuthConfig_UserSessionConfig_CipherConfig { + if x != nil { + return x.CipherConfig + } + return nil +} + +type isExtAuthConfig_UserSessionConfig_Session interface { + isExtAuthConfig_UserSessionConfig_Session() +} + +type ExtAuthConfig_UserSessionConfig_Cookie struct { + // Set the tokens in the cookie itself. No need for server side state. + Cookie *UserSession_InternalSession `protobuf:"bytes,3,opt,name=cookie,proto3,oneof"` +} + +type ExtAuthConfig_UserSessionConfig_Redis struct { + // Use redis to store the tokens and just store a random id in the cookie. + Redis *UserSession_RedisSession `protobuf:"bytes,4,opt,name=redis,proto3,oneof"` +} + +func (*ExtAuthConfig_UserSessionConfig_Cookie) isExtAuthConfig_UserSessionConfig_Session() {} + +func (*ExtAuthConfig_UserSessionConfig_Redis) isExtAuthConfig_UserSessionConfig_Session() {} + +type ExtAuthConfig_OidcAuthorizationCodeConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // your client id as registered with the issuer + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // your client secret as registered with the issuer. + // Only one of client_secret or pk_jwt_client_authentication_config should be set. pk_jwt_client_authentication_config takes precedence. + ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + // The url of the issuer. We will look for OIDC information in issuerUrl+ + // ".well-known/openid-configuration" + IssuerUrl string `protobuf:"bytes,3,opt,name=issuer_url,json=issuerUrl,proto3" json:"issuer_url,omitempty"` + // extra query parameters to apply to the Ext-Auth service's authorization request to the identity provider. + // this can be useful for flows such as PKCE (https://www.oauth.com/oauth2-servers/pkce/authorization-request/) + // to set the `code_challenge` and `code_challenge_method`. + AuthEndpointQueryParams map[string]string `protobuf:"bytes,4,rep,name=auth_endpoint_query_params,json=authEndpointQueryParams,proto3" json:"auth_endpoint_query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // extra query parameters to apply to the Ext-Auth service's token request to the identity provider. + // this can be useful for flows such as PKCE (https://www.oauth.com/oauth2-servers/pkce/authorization-request/) + // to set the `code_verifier`. + TokenEndpointQueryParams map[string]string `protobuf:"bytes,14,rep,name=token_endpoint_query_params,json=tokenEndpointQueryParams,proto3" json:"token_endpoint_query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // we to redirect after successful auth, if we can't determine the original + // url this should be your publicly available app url. + AppUrl string `protobuf:"bytes,5,opt,name=app_url,json=appUrl,proto3" json:"app_url,omitempty"` + // a callback path relative to app url that will be used for OIDC callbacks. + // needs to not be used by the application + CallbackPath string `protobuf:"bytes,6,opt,name=callback_path,json=callbackPath,proto3" json:"callback_path,omitempty"` + // a path relative to app url that will be used for logging out from an OIDC session. + // should not be used by the application. + // If not provided, logout functionality will be disabled. + LogoutPath string `protobuf:"bytes,9,opt,name=logout_path,json=logoutPath,proto3" json:"logout_path,omitempty"` + // url to redirect to after logout. + // This should be a publicly available URL. If not provided, will default to the `app_url`. + AfterLogoutUrl string `protobuf:"bytes,15,opt,name=after_logout_url,json=afterLogoutUrl,proto3" json:"after_logout_url,omitempty"` + // scopes to request in addition to the openid scope. + Scopes []string `protobuf:"bytes,7,rep,name=scopes,proto3" json:"scopes,omitempty"` + // DEPRECATED: use userSessionConfig [userSession] + // + // Deprecated: Do not use. + Session *UserSession `protobuf:"bytes,8,opt,name=session,proto3" json:"session,omitempty"` + // Configures headers added to requests. + Headers *HeaderConfiguration `protobuf:"bytes,10,opt,name=headers,proto3" json:"headers,omitempty"` + // OIDC configuration is discovered at /.well-known/openid-configuration + // The configuration override defines any properties that should override this discovery configuration + // For example, the following AuthConfig CRD could be defined as: + // + // ```yaml + // apiVersion: enterprise.gloo.solo.io/v1 + // kind: AuthConfig + // metadata: + // name: google-oidc + // namespace: gloo-system + // spec: + // configs: + // - oauth: + // app_url: http://localhost:8080 + // callback_path: /callback + // client_id: $CLIENT_ID + // client_secret_ref: + // name: google + // namespace: gloo-system + // issuer_url: https://accounts.google.com + // discovery_override: + // token_endpoint: "https://token.url/gettoken" + // ``` + // + // And this will ensure that regardless of what value is discovered at + // /.well-known/openid-configuration, "https://token.url/gettoken" will be used as the token endpoint + DiscoveryOverride *DiscoveryOverride `protobuf:"bytes,11,opt,name=discovery_override,json=discoveryOverride,proto3" json:"discovery_override,omitempty"` + // The interval at which OIDC configuration is discovered at /.well-known/openid-configuration + // If not specified, the default value is 30 minutes. + DiscoveryPollInterval *duration.Duration `protobuf:"bytes,12,opt,name=discovery_poll_interval,json=discoveryPollInterval,proto3" json:"discovery_poll_interval,omitempty"` + // If a user executes a request with a key that is not found in the JWKS, it could be + // that the keys have rotated on the remote source, and not yet in the local cache. + // This policy lets you define the behavior for how to refresh the local cache during a request + // where an invalid key is provided + JwksCacheRefreshPolicy *JwksOnDemandCacheRefreshPolicy `protobuf:"bytes,13,opt,name=jwks_cache_refresh_policy,json=jwksCacheRefreshPolicy,proto3" json:"jwks_cache_refresh_policy,omitempty"` + // If set, the randomly generated session id will be sent to the token endpoint as part of the code exchange + // The session id is used as the key for sessions in Redis + SessionIdHeaderName string `protobuf:"bytes,16,opt,name=session_id_header_name,json=sessionIdHeaderName,proto3" json:"session_id_header_name,omitempty"` + // If set, CallbackPath will be evaluated as a regular expression + ParseCallbackPathAsRegex bool `protobuf:"varint,17,opt,name=parse_callback_path_as_regex,json=parseCallbackPathAsRegex,proto3" json:"parse_callback_path_as_regex,omitempty"` + // If specified, authEndpointQueryParams and tokenEndpointQueryParams will be populated using dynamic metadata values. + // By default parameters will be extracted from the solo_authconfig_oidc namespace + // this behavior can be overridden by explicitly specifying a namespace + AutoMapFromMetadata *AutoMapFromMetadata `protobuf:"bytes,18,opt,name=auto_map_from_metadata,json=autoMapFromMetadata,proto3" json:"auto_map_from_metadata,omitempty"` + // If specified, these are properties defined for the end session endpoint + // specifications. Noted [here](https://openid.net/specs/openid-connect-rpinitiated-1_0.html) + // in the OIDC documentation. + EndSessionProperties *EndSessionProperties `protobuf:"bytes,19,opt,name=end_session_properties,json=endSessionProperties,proto3" json:"end_session_properties,omitempty"` + // Configuration related to the user session. + UserSession *ExtAuthConfig_UserSessionConfig `protobuf:"bytes,20,opt,name=user_session,json=userSession,proto3" json:"user_session,omitempty"` + // Configuration for private key JWT client authentication. + // Only one of client_secret or pk_jwt_client_authentication_config should be set. pk_jwt_client_authentication_config takes precedence. + PkJwtClientAuthenticationConfig *ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig `protobuf:"bytes,21,opt,name=pk_jwt_client_authentication_config,json=pkJwtClientAuthenticationConfig,proto3" json:"pk_jwt_client_authentication_config,omitempty"` + // Optional: Configuration specific to the OAuth2 access token received and processed by the ext-auth-service. + AccessToken *ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken `protobuf:"bytes,22,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + // Optional: Configuration specific to the OIDC identity token received and processed by the ext-auth-service. + IdentityToken *ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken `protobuf:"bytes,23,opt,name=identity_token,json=identityToken,proto3" json:"identity_token,omitempty"` + // Types that are assignable to Provider: + // + // *ExtAuthConfig_OidcAuthorizationCodeConfig_Default_ + // *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure_ + Provider isExtAuthConfig_OidcAuthorizationCodeConfig_Provider `protobuf_oneof:"Provider"` +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) Reset() { + *x = ExtAuthConfig_OidcAuthorizationCodeConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_OidcAuthorizationCodeConfig) ProtoMessage() {} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[107] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_OidcAuthorizationCodeConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_OidcAuthorizationCodeConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 3} +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetClientSecret() string { + if x != nil { + return x.ClientSecret + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetIssuerUrl() string { + if x != nil { + return x.IssuerUrl + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetAuthEndpointQueryParams() map[string]string { + if x != nil { + return x.AuthEndpointQueryParams + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetTokenEndpointQueryParams() map[string]string { + if x != nil { + return x.TokenEndpointQueryParams + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetAppUrl() string { + if x != nil { + return x.AppUrl + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetCallbackPath() string { + if x != nil { + return x.CallbackPath + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetLogoutPath() string { + if x != nil { + return x.LogoutPath + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetAfterLogoutUrl() string { + if x != nil { + return x.AfterLogoutUrl + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +// Deprecated: Do not use. +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetSession() *UserSession { + if x != nil { + return x.Session + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetHeaders() *HeaderConfiguration { + if x != nil { + return x.Headers + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetDiscoveryOverride() *DiscoveryOverride { + if x != nil { + return x.DiscoveryOverride + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetDiscoveryPollInterval() *duration.Duration { + if x != nil { + return x.DiscoveryPollInterval + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetJwksCacheRefreshPolicy() *JwksOnDemandCacheRefreshPolicy { + if x != nil { + return x.JwksCacheRefreshPolicy + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetSessionIdHeaderName() string { + if x != nil { + return x.SessionIdHeaderName + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetParseCallbackPathAsRegex() bool { + if x != nil { + return x.ParseCallbackPathAsRegex + } + return false +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetAutoMapFromMetadata() *AutoMapFromMetadata { + if x != nil { + return x.AutoMapFromMetadata + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetEndSessionProperties() *EndSessionProperties { + if x != nil { + return x.EndSessionProperties + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetUserSession() *ExtAuthConfig_UserSessionConfig { + if x != nil { + return x.UserSession + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetPkJwtClientAuthenticationConfig() *ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig { + if x != nil { + return x.PkJwtClientAuthenticationConfig + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetAccessToken() *ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken { + if x != nil { + return x.AccessToken + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetIdentityToken() *ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken { + if x != nil { + return x.IdentityToken + } + return nil +} + +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig) GetProvider() isExtAuthConfig_OidcAuthorizationCodeConfig_Provider { + if m != nil { + return m.Provider + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetDefault() *ExtAuthConfig_OidcAuthorizationCodeConfig_Default { + if x, ok := x.GetProvider().(*ExtAuthConfig_OidcAuthorizationCodeConfig_Default_); ok { + return x.Default + } + return nil +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig) GetAzure() *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure { + if x, ok := x.GetProvider().(*ExtAuthConfig_OidcAuthorizationCodeConfig_Azure_); ok { + return x.Azure + } + return nil +} + +type isExtAuthConfig_OidcAuthorizationCodeConfig_Provider interface { + isExtAuthConfig_OidcAuthorizationCodeConfig_Provider() +} + +type ExtAuthConfig_OidcAuthorizationCodeConfig_Default_ struct { + Default *ExtAuthConfig_OidcAuthorizationCodeConfig_Default `protobuf:"bytes,26,opt,name=default,proto3,oneof"` +} + +type ExtAuthConfig_OidcAuthorizationCodeConfig_Azure_ struct { + Azure *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure `protobuf:"bytes,27,opt,name=azure,proto3,oneof"` +} + +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_Default_) isExtAuthConfig_OidcAuthorizationCodeConfig_Provider() { +} + +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_Azure_) isExtAuthConfig_OidcAuthorizationCodeConfig_Provider() { +} + +type ExtAuthConfig_AccessTokenValidationConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ValidationType: + // + // *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionUrl + // *ExtAuthConfig_AccessTokenValidationConfig_Jwt + // *ExtAuthConfig_AccessTokenValidationConfig_Introspection + ValidationType isExtAuthConfig_AccessTokenValidationConfig_ValidationType `protobuf_oneof:"validation_type"` + // The URL for the OIDC userinfo endpoint. + // If provided, the (opaque) access token provided or received from the oauth endpoint + // will be queried and the userinfo response (or cached response) will be added to the + // `AuthorizationRequest` state under the "introspection" key. + // This can be useful to leverage the userinfo response in, for example, an external auth server plugin. + UserinfoUrl string `protobuf:"bytes,4,opt,name=userinfo_url,json=userinfoUrl,proto3" json:"userinfo_url,omitempty"` + // How long the token introspection and userinfo endpoint response for a specific access token should be kept + // in the in-memory cache. The result will be invalidated at this timeout, or at "exp" time from the introspection + // result, whichever comes sooner. If omitted, defaults to 10 minutes. If zero, then no caching will be done. + CacheTimeout *duration.Duration `protobuf:"bytes,5,opt,name=cache_timeout,json=cacheTimeout,proto3" json:"cache_timeout,omitempty"` + // Optional criteria for validating the scopes of a token. + // + // Types that are assignable to ScopeValidation: + // + // *ExtAuthConfig_AccessTokenValidationConfig_RequiredScopes + ScopeValidation isExtAuthConfig_AccessTokenValidationConfig_ScopeValidation `protobuf_oneof:"scope_validation"` +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig) Reset() { + *x = ExtAuthConfig_AccessTokenValidationConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_AccessTokenValidationConfig) ProtoMessage() {} + +func (x *ExtAuthConfig_AccessTokenValidationConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[108] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_AccessTokenValidationConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_AccessTokenValidationConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 4} +} + +func (m *ExtAuthConfig_AccessTokenValidationConfig) GetValidationType() isExtAuthConfig_AccessTokenValidationConfig_ValidationType { + if m != nil { + return m.ValidationType + } + return nil +} + +// Deprecated: Do not use. +func (x *ExtAuthConfig_AccessTokenValidationConfig) GetIntrospectionUrl() string { + if x, ok := x.GetValidationType().(*ExtAuthConfig_AccessTokenValidationConfig_IntrospectionUrl); ok { + return x.IntrospectionUrl + } + return "" +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig) GetJwt() *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation { + if x, ok := x.GetValidationType().(*ExtAuthConfig_AccessTokenValidationConfig_Jwt); ok { + return x.Jwt + } + return nil +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig) GetIntrospection() *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation { + if x, ok := x.GetValidationType().(*ExtAuthConfig_AccessTokenValidationConfig_Introspection); ok { + return x.Introspection + } + return nil +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig) GetUserinfoUrl() string { + if x != nil { + return x.UserinfoUrl + } + return "" +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig) GetCacheTimeout() *duration.Duration { + if x != nil { + return x.CacheTimeout + } + return nil +} + +func (m *ExtAuthConfig_AccessTokenValidationConfig) GetScopeValidation() isExtAuthConfig_AccessTokenValidationConfig_ScopeValidation { + if m != nil { + return m.ScopeValidation + } + return nil +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig) GetRequiredScopes() *ExtAuthConfig_AccessTokenValidationConfig_ScopeList { + if x, ok := x.GetScopeValidation().(*ExtAuthConfig_AccessTokenValidationConfig_RequiredScopes); ok { + return x.RequiredScopes + } + return nil +} + +type isExtAuthConfig_AccessTokenValidationConfig_ValidationType interface { + isExtAuthConfig_AccessTokenValidationConfig_ValidationType() +} + +type ExtAuthConfig_AccessTokenValidationConfig_IntrospectionUrl struct { + // The URL for the [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) endpoint. + // If provided, the (opaque) access token provided or received from the oauth authorization endpoint + // will be validated against this endpoint, or locally cached responses for this access token. + // This field is deprecated as it does not support authenticated introspection requests + // + // Deprecated: Do not use. + IntrospectionUrl string `protobuf:"bytes,1,opt,name=introspection_url,json=introspectionUrl,proto3,oneof"` +} + +type ExtAuthConfig_AccessTokenValidationConfig_Jwt struct { + // Validate access tokens that conform to the + // [JSON Web Token (JWT)](https://datatracker.ietf.org/doc/rfc7662/) specification. + Jwt *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation `protobuf:"bytes,2,opt,name=jwt,proto3,oneof"` +} + +type ExtAuthConfig_AccessTokenValidationConfig_Introspection struct { + // Defines how (opaque) access tokens, received from the oauth authorization endpoint, are validated + // [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) specification. + Introspection *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation `protobuf:"bytes,3,opt,name=introspection,proto3,oneof"` +} + +func (*ExtAuthConfig_AccessTokenValidationConfig_IntrospectionUrl) isExtAuthConfig_AccessTokenValidationConfig_ValidationType() { +} + +func (*ExtAuthConfig_AccessTokenValidationConfig_Jwt) isExtAuthConfig_AccessTokenValidationConfig_ValidationType() { +} + +func (*ExtAuthConfig_AccessTokenValidationConfig_Introspection) isExtAuthConfig_AccessTokenValidationConfig_ValidationType() { +} + +type isExtAuthConfig_AccessTokenValidationConfig_ScopeValidation interface { + isExtAuthConfig_AccessTokenValidationConfig_ScopeValidation() +} + +type ExtAuthConfig_AccessTokenValidationConfig_RequiredScopes struct { + // Require access token to have all of the scopes in the given list. + // This configuration applies to both opaque and JWT tokens. In the case of opaque tokens, + // this will check the scopes returned in the "scope" member of introspection response + // (as described in [Section 2.2 of RFC7662](https://tools.ietf.org/html/rfc7662#section-2.2). + // In case of JWTs the scopes to be validated are expected to be contained in the "scope" claim of the + // token in the form of a space-separated string. + // Omitting this field means that scope validation will be skipped. + RequiredScopes *ExtAuthConfig_AccessTokenValidationConfig_ScopeList `protobuf:"bytes,6,opt,name=required_scopes,json=requiredScopes,proto3,oneof"` +} + +func (*ExtAuthConfig_AccessTokenValidationConfig_RequiredScopes) isExtAuthConfig_AccessTokenValidationConfig_ScopeValidation() { +} + +type ExtAuthConfig_PlainOAuth2Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Your client ID as registered with the issuer + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // Your client secret as registered with the issuer + ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + // Extra query parameters to apply to the Ext-Auth service's authorization request to the identity provider. + // These parameters can be useful for flows such as [PKCE](https://www.oauth.com/oauth2-servers/pkce/authorization-request/) + // to set the `code_challenge` and `code_challenge_method`. + AuthEndpointQueryParams map[string]string `protobuf:"bytes,3,rep,name=auth_endpoint_query_params,json=authEndpointQueryParams,proto3" json:"auth_endpoint_query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Where to redirect after successful auth, if Gloo can't determine the original URL. + // Set this field to your publicly available app URL. + AppUrl string `protobuf:"bytes,4,opt,name=app_url,json=appUrl,proto3" json:"app_url,omitempty"` + // A callback path relative to the app URL to be used for OAuth2 callbacks. + // Do not use this path in the application itself. + CallbackPath string `protobuf:"bytes,5,opt,name=callback_path,json=callbackPath,proto3" json:"callback_path,omitempty"` + // Scopes to request for. + Scopes []string `protobuf:"bytes,6,rep,name=scopes,proto3" json:"scopes,omitempty"` + // DEPRECATED: use userSessionConfig [userSession] + // + // Deprecated: Do not use. + Session *UserSession `protobuf:"bytes,7,opt,name=session,proto3" json:"session,omitempty"` + // A path relative to the app URL to use for logging out from an OAuth2 session. + // Do not use this path in the application itself. + // If not provided, logout functionality is disabled. + LogoutPath string `protobuf:"bytes,8,opt,name=logout_path,json=logoutPath,proto3" json:"logout_path,omitempty"` + // Extra query parameters to apply to the Ext-Auth service's token request to the identity provider. + // These parameters can be useful for flows such as [PKCE](https://www.oauth.com/oauth2-servers/pkce/authorization-request/) + // to set the `code_verifier`. + TokenEndpointQueryParams map[string]string `protobuf:"bytes,9,rep,name=token_endpoint_query_params,json=tokenEndpointQueryParams,proto3" json:"token_endpoint_query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // URL to redirect to after logout. + // Set this field to a publicly available URL. If not provided, this value defaults to the `app_url` value. + AfterLogoutUrl string `protobuf:"bytes,10,opt,name=after_logout_url,json=afterLogoutUrl,proto3" json:"after_logout_url,omitempty"` + // The URL of the provider authorization endpoint. + AuthEndpoint string `protobuf:"bytes,11,opt,name=auth_endpoint,json=authEndpoint,proto3" json:"auth_endpoint,omitempty"` + // The URL of the provider token endpoint. + TokenEndpoint string `protobuf:"bytes,12,opt,name=token_endpoint,json=tokenEndpoint,proto3" json:"token_endpoint,omitempty"` + // The URL of the provider token revocation endpoint. + // For more information, refer to https://www.rfc-editor.org/rfc/rfc7009. + RevocationEndpoint string `protobuf:"bytes,13,opt,name=revocation_endpoint,json=revocationEndpoint,proto3" json:"revocation_endpoint,omitempty"` + // Configuration related to the user session. + UserSession *ExtAuthConfig_UserSessionConfig `protobuf:"bytes,14,opt,name=user_session,json=userSession,proto3" json:"user_session,omitempty"` +} + +func (x *ExtAuthConfig_PlainOAuth2Config) Reset() { + *x = ExtAuthConfig_PlainOAuth2Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_PlainOAuth2Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_PlainOAuth2Config) ProtoMessage() {} + +func (x *ExtAuthConfig_PlainOAuth2Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[109] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_PlainOAuth2Config.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_PlainOAuth2Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 5} +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetClientSecret() string { + if x != nil { + return x.ClientSecret + } + return "" +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetAuthEndpointQueryParams() map[string]string { + if x != nil { + return x.AuthEndpointQueryParams + } + return nil +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetAppUrl() string { + if x != nil { + return x.AppUrl + } + return "" +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetCallbackPath() string { + if x != nil { + return x.CallbackPath + } + return "" +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +// Deprecated: Do not use. +func (x *ExtAuthConfig_PlainOAuth2Config) GetSession() *UserSession { + if x != nil { + return x.Session + } + return nil +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetLogoutPath() string { + if x != nil { + return x.LogoutPath + } + return "" +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetTokenEndpointQueryParams() map[string]string { + if x != nil { + return x.TokenEndpointQueryParams + } + return nil +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetAfterLogoutUrl() string { + if x != nil { + return x.AfterLogoutUrl + } + return "" +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetAuthEndpoint() string { + if x != nil { + return x.AuthEndpoint + } + return "" +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetTokenEndpoint() string { + if x != nil { + return x.TokenEndpoint + } + return "" +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetRevocationEndpoint() string { + if x != nil { + return x.RevocationEndpoint + } + return "" +} + +func (x *ExtAuthConfig_PlainOAuth2Config) GetUserSession() *ExtAuthConfig_UserSessionConfig { + if x != nil { + return x.UserSession + } + return nil +} + +type ExtAuthConfig_OAuth2Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to OauthType: + // + // *ExtAuthConfig_OAuth2Config_OidcAuthorizationCode + // *ExtAuthConfig_OAuth2Config_AccessTokenValidationConfig + // *ExtAuthConfig_OAuth2Config_Oauth2Config + OauthType isExtAuthConfig_OAuth2Config_OauthType `protobuf_oneof:"oauth_type"` +} + +func (x *ExtAuthConfig_OAuth2Config) Reset() { + *x = ExtAuthConfig_OAuth2Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_OAuth2Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_OAuth2Config) ProtoMessage() {} + +func (x *ExtAuthConfig_OAuth2Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[110] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_OAuth2Config.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_OAuth2Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 6} +} + +func (m *ExtAuthConfig_OAuth2Config) GetOauthType() isExtAuthConfig_OAuth2Config_OauthType { + if m != nil { + return m.OauthType + } + return nil +} + +func (x *ExtAuthConfig_OAuth2Config) GetOidcAuthorizationCode() *ExtAuthConfig_OidcAuthorizationCodeConfig { + if x, ok := x.GetOauthType().(*ExtAuthConfig_OAuth2Config_OidcAuthorizationCode); ok { + return x.OidcAuthorizationCode + } + return nil +} + +func (x *ExtAuthConfig_OAuth2Config) GetAccessTokenValidationConfig() *ExtAuthConfig_AccessTokenValidationConfig { + if x, ok := x.GetOauthType().(*ExtAuthConfig_OAuth2Config_AccessTokenValidationConfig); ok { + return x.AccessTokenValidationConfig + } + return nil +} + +func (x *ExtAuthConfig_OAuth2Config) GetOauth2Config() *ExtAuthConfig_PlainOAuth2Config { + if x, ok := x.GetOauthType().(*ExtAuthConfig_OAuth2Config_Oauth2Config); ok { + return x.Oauth2Config + } + return nil +} + +type isExtAuthConfig_OAuth2Config_OauthType interface { + isExtAuthConfig_OAuth2Config_OauthType() +} + +type ExtAuthConfig_OAuth2Config_OidcAuthorizationCode struct { + // provide issuer location and let gloo handle OIDC flow for you. + // requests authorized by validating the contents of ID token. + // can also authorize the access token if configured. + OidcAuthorizationCode *ExtAuthConfig_OidcAuthorizationCodeConfig `protobuf:"bytes,1,opt,name=oidc_authorization_code,json=oidcAuthorizationCode,proto3,oneof"` +} + +type ExtAuthConfig_OAuth2Config_AccessTokenValidationConfig struct { + // provide the access token on the request and let gloo handle authorization. + // + // according to https://tools.ietf.org/html/rfc6750 you can pass tokens through: + // - form-encoded body parameter. recommended, more likely to appear. e.g.: Authorization: Bearer mytoken123 + // - URI query parameter e.g. access_token=mytoken123 + // - and (preferably) secure cookies + AccessTokenValidationConfig *ExtAuthConfig_AccessTokenValidationConfig `protobuf:"bytes,3,opt,name=access_token_validation_config,json=accessTokenValidationConfig,proto3,oneof"` +} + +type ExtAuthConfig_OAuth2Config_Oauth2Config struct { + // Enterprise-Only: THIS FEATURE IS IN TECH PREVIEW. APIs are versioned as alpha and subject to change. + // provide issuer location and let Gloo handle Oauth2 flow for you. + // requests authorized by validating the contents of access token. + // Prefer to use OIDC for better security. + Oauth2Config *ExtAuthConfig_PlainOAuth2Config `protobuf:"bytes,4,opt,name=oauth2_config,json=oauth2Config,proto3,oneof"` +} + +func (*ExtAuthConfig_OAuth2Config_OidcAuthorizationCode) isExtAuthConfig_OAuth2Config_OauthType() {} + +func (*ExtAuthConfig_OAuth2Config_AccessTokenValidationConfig) isExtAuthConfig_OAuth2Config_OauthType() { +} + +func (*ExtAuthConfig_OAuth2Config_Oauth2Config) isExtAuthConfig_OAuth2Config_OauthType() {} + +// **NOTE: This configuration is not user-facing and will be auto generated** +type ExtAuthConfig_ApiKeyAuthConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A mapping of valid API keys to their associated metadata. + // This map is automatically populated with the information from the relevant `ApiKey`s. + // Currently this is only configured when using the k8s Secret storage backend + ValidApiKeys map[string]*ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata `protobuf:"bytes,1,rep,name=valid_api_keys,json=validApiKeys,proto3" json:"valid_api_keys,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // (Optional) When receiving a request, the Gloo Edge Enterprise external auth server will look for an API key + // in a header with this name. This field is optional; if not provided it defaults to `api-key`. + HeaderName string `protobuf:"bytes,2,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` + // Determines the key metadata that will be included as headers on the upstream request. + // Each entry represents a header to add: the key is the name of the header, and the + // value is the key that will be used to look up the data entry in the key metadata. + HeadersFromKeyMetadata map[string]string `protobuf:"bytes,3,rep,name=headers_from_key_metadata,json=headersFromKeyMetadata,proto3" json:"headers_from_key_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Types that are assignable to StorageBackend: + // + // *ExtAuthConfig_ApiKeyAuthConfig_K8SSecretApikeyStorage + // *ExtAuthConfig_ApiKeyAuthConfig_AerospikeApikeyStorage + StorageBackend isExtAuthConfig_ApiKeyAuthConfig_StorageBackend `protobuf_oneof:"storage_backend"` +} + +func (x *ExtAuthConfig_ApiKeyAuthConfig) Reset() { + *x = ExtAuthConfig_ApiKeyAuthConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_ApiKeyAuthConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_ApiKeyAuthConfig) ProtoMessage() {} + +func (x *ExtAuthConfig_ApiKeyAuthConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[111] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_ApiKeyAuthConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_ApiKeyAuthConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 7} +} + +func (x *ExtAuthConfig_ApiKeyAuthConfig) GetValidApiKeys() map[string]*ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata { + if x != nil { + return x.ValidApiKeys + } + return nil +} + +func (x *ExtAuthConfig_ApiKeyAuthConfig) GetHeaderName() string { + if x != nil { + return x.HeaderName + } + return "" +} + +func (x *ExtAuthConfig_ApiKeyAuthConfig) GetHeadersFromKeyMetadata() map[string]string { + if x != nil { + return x.HeadersFromKeyMetadata + } + return nil +} + +func (m *ExtAuthConfig_ApiKeyAuthConfig) GetStorageBackend() isExtAuthConfig_ApiKeyAuthConfig_StorageBackend { + if m != nil { + return m.StorageBackend + } + return nil +} + +func (x *ExtAuthConfig_ApiKeyAuthConfig) GetK8SSecretApikeyStorage() *K8SSecretApiKeyStorage { + if x, ok := x.GetStorageBackend().(*ExtAuthConfig_ApiKeyAuthConfig_K8SSecretApikeyStorage); ok { + return x.K8SSecretApikeyStorage + } + return nil +} + +func (x *ExtAuthConfig_ApiKeyAuthConfig) GetAerospikeApikeyStorage() *AerospikeApiKeyStorage { + if x, ok := x.GetStorageBackend().(*ExtAuthConfig_ApiKeyAuthConfig_AerospikeApikeyStorage); ok { + return x.AerospikeApikeyStorage + } + return nil +} + +type isExtAuthConfig_ApiKeyAuthConfig_StorageBackend interface { + isExtAuthConfig_ApiKeyAuthConfig_StorageBackend() +} + +type ExtAuthConfig_ApiKeyAuthConfig_K8SSecretApikeyStorage struct { + K8SSecretApikeyStorage *K8SSecretApiKeyStorage `protobuf:"bytes,4,opt,name=k8s_secret_apikey_storage,json=k8sSecretApikeyStorage,proto3,oneof"` +} + +type ExtAuthConfig_ApiKeyAuthConfig_AerospikeApikeyStorage struct { + AerospikeApikeyStorage *AerospikeApiKeyStorage `protobuf:"bytes,5,opt,name=aerospike_apikey_storage,json=aerospikeApikeyStorage,proto3,oneof"` +} + +func (*ExtAuthConfig_ApiKeyAuthConfig_K8SSecretApikeyStorage) isExtAuthConfig_ApiKeyAuthConfig_StorageBackend() { +} + +func (*ExtAuthConfig_ApiKeyAuthConfig_AerospikeApikeyStorage) isExtAuthConfig_ApiKeyAuthConfig_StorageBackend() { +} + +type ExtAuthConfig_OpaAuthConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // An optional modules (filename, module content) maps containing modules assist in the resolution of `query`. + Modules map[string]string `protobuf:"bytes,1,rep,name=modules,proto3" json:"modules,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The query that determines the auth decision. The result of this query + // must be either a boolean or an array with boolean as the first element. A boolean `true` value means that + // the request will be authorized. Any other value, or error, means that the request will be denied. + Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + // Additional Options for Opa Auth configuration. + Options *OpaAuthOptions `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"` +} + +func (x *ExtAuthConfig_OpaAuthConfig) Reset() { + *x = ExtAuthConfig_OpaAuthConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_OpaAuthConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_OpaAuthConfig) ProtoMessage() {} + +func (x *ExtAuthConfig_OpaAuthConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[112] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_OpaAuthConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_OpaAuthConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 8} +} + +func (x *ExtAuthConfig_OpaAuthConfig) GetModules() map[string]string { + if x != nil { + return x.Modules + } + return nil +} + +func (x *ExtAuthConfig_OpaAuthConfig) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *ExtAuthConfig_OpaAuthConfig) GetOptions() *OpaAuthOptions { + if x != nil { + return x.Options + } + return nil +} + +// Enforce Open Policy Agent (OPA) policies through an OPA sidecar as part of the external auth server in Gloo Platform environments. For Gloo Edge environments, use OpaAuth instead. +type ExtAuthConfig_OpaServerAuthConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Package string `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"` + RuleName string `protobuf:"bytes,2,opt,name=rule_name,json=ruleName,proto3" json:"rule_name,omitempty"` + ServerAddr string `protobuf:"bytes,3,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"` + Options *OpaAuthOptions `protobuf:"bytes,4,opt,name=options,proto3" json:"options,omitempty"` +} + +func (x *ExtAuthConfig_OpaServerAuthConfig) Reset() { + *x = ExtAuthConfig_OpaServerAuthConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_OpaServerAuthConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_OpaServerAuthConfig) ProtoMessage() {} + +func (x *ExtAuthConfig_OpaServerAuthConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[113] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_OpaServerAuthConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_OpaServerAuthConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 9} +} + +func (x *ExtAuthConfig_OpaServerAuthConfig) GetPackage() string { + if x != nil { + return x.Package + } + return "" +} + +func (x *ExtAuthConfig_OpaServerAuthConfig) GetRuleName() string { + if x != nil { + return x.RuleName + } + return "" +} + +func (x *ExtAuthConfig_OpaServerAuthConfig) GetServerAddr() string { + if x != nil { + return x.ServerAddr + } + return "" +} + +func (x *ExtAuthConfig_OpaServerAuthConfig) GetOptions() *OpaAuthOptions { + if x != nil { + return x.Options + } + return nil +} + +type ExtAuthConfig_LdapConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Address of the LDAP server to query. Should be in the form ADDRESS:PORT, e.g. `ldap.default.svc.cluster.local:389`. + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Template to build user entry distinguished names (DN). This must contains a single occurrence of the "%s" placeholder. + // When processing a request, Gloo will substitute the name of the user (extracted from the auth header) for the + // placeholder and issue a search request with the resulting DN as baseDN (and 'base' search scope). + // E.g. "uid=%s,ou=people,dc=solo,dc=io" + UserDnTemplate string `protobuf:"bytes,2,opt,name=userDnTemplate,proto3" json:"userDnTemplate,omitempty"` + // Case-insensitive name of the attribute that contains the names of the groups an entry is member of. Gloo will look + // for attributes with the given name to determine which groups the user entry belongs to. Defaults to 'memberOf' if not provided. + MembershipAttributeName string `protobuf:"bytes,3,opt,name=membershipAttributeName,proto3" json:"membershipAttributeName,omitempty"` + // In order for the request to be authenticated, the membership attribute (e.g. *memberOf*) on the user entry must + // contain at least of one of the group DNs specified via this option. + // E.g. []string{ "cn=managers,ou=groups,dc=solo,dc=io", "cn=developers,ou=groups,dc=solo,dc=io" } + AllowedGroups []string `protobuf:"bytes,4,rep,name=allowedGroups,proto3" json:"allowedGroups,omitempty"` + // Use this property to tune the pool of connections to the LDAP server that Gloo maintains. + Pool *Ldap_ConnectionPool `protobuf:"bytes,5,opt,name=pool,proto3" json:"pool,omitempty"` + // Use to set a custom filter when searching a member. Defaults to "(uid=*)". + SearchFilter string `protobuf:"bytes,6,opt,name=searchFilter,proto3" json:"searchFilter,omitempty"` + // Disables group checking, regardless of the value for allowedGroups, + // and disables validation for the membership attribute of the user entry. + // Group checking is enabled by default. + DisableGroupChecking bool `protobuf:"varint,7,opt,name=disable_group_checking,json=disableGroupChecking,proto3" json:"disable_group_checking,omitempty"` + // Settings for using a separate service account for looking up group membership + // To use this, you also need to configure credentials + GroupLookupSettings *ExtAuthConfig_LdapServiceAccountConfig `protobuf:"bytes,8,opt,name=group_lookup_settings,json=groupLookupSettings,proto3" json:"group_lookup_settings,omitempty"` +} + +func (x *ExtAuthConfig_LdapConfig) Reset() { + *x = ExtAuthConfig_LdapConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_LdapConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_LdapConfig) ProtoMessage() {} + +func (x *ExtAuthConfig_LdapConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[114] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_LdapConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_LdapConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 10} +} + +func (x *ExtAuthConfig_LdapConfig) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *ExtAuthConfig_LdapConfig) GetUserDnTemplate() string { + if x != nil { + return x.UserDnTemplate + } + return "" +} + +func (x *ExtAuthConfig_LdapConfig) GetMembershipAttributeName() string { + if x != nil { + return x.MembershipAttributeName + } + return "" +} + +func (x *ExtAuthConfig_LdapConfig) GetAllowedGroups() []string { + if x != nil { + return x.AllowedGroups + } + return nil +} + +func (x *ExtAuthConfig_LdapConfig) GetPool() *Ldap_ConnectionPool { + if x != nil { + return x.Pool + } + return nil +} + +func (x *ExtAuthConfig_LdapConfig) GetSearchFilter() string { + if x != nil { + return x.SearchFilter + } + return "" +} + +func (x *ExtAuthConfig_LdapConfig) GetDisableGroupChecking() bool { + if x != nil { + return x.DisableGroupChecking + } + return false +} + +func (x *ExtAuthConfig_LdapConfig) GetGroupLookupSettings() *ExtAuthConfig_LdapServiceAccountConfig { + if x != nil { + return x.GroupLookupSettings + } + return nil +} + +type ExtAuthConfig_LdapServiceAccountConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // username and password are taken from the secret during gloo-ee translation + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + // If true, Gloo will use the service account to check group membership + CheckGroupsWithServiceAccount bool `protobuf:"varint,3,opt,name=check_groups_with_service_account,json=checkGroupsWithServiceAccount,proto3" json:"check_groups_with_service_account,omitempty"` +} + +func (x *ExtAuthConfig_LdapServiceAccountConfig) Reset() { + *x = ExtAuthConfig_LdapServiceAccountConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_LdapServiceAccountConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_LdapServiceAccountConfig) ProtoMessage() {} + +func (x *ExtAuthConfig_LdapServiceAccountConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[115] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_LdapServiceAccountConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_LdapServiceAccountConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 11} +} + +func (x *ExtAuthConfig_LdapServiceAccountConfig) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *ExtAuthConfig_LdapServiceAccountConfig) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *ExtAuthConfig_LdapServiceAccountConfig) GetCheckGroupsWithServiceAccount() bool { + if x != nil { + return x.CheckGroupsWithServiceAccount + } + return false +} + +type ExtAuthConfig_HmacAuthConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to SecretStorage: + // + // *ExtAuthConfig_HmacAuthConfig_SecretList + SecretStorage isExtAuthConfig_HmacAuthConfig_SecretStorage `protobuf_oneof:"secret_storage"` + // Algorithm to use to turn the request into a hashable string + // + // Types that are assignable to ImplementationType: + // + // *ExtAuthConfig_HmacAuthConfig_ParametersInHeaders + ImplementationType isExtAuthConfig_HmacAuthConfig_ImplementationType `protobuf_oneof:"implementation_type"` +} + +func (x *ExtAuthConfig_HmacAuthConfig) Reset() { + *x = ExtAuthConfig_HmacAuthConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_HmacAuthConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_HmacAuthConfig) ProtoMessage() {} + +func (x *ExtAuthConfig_HmacAuthConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[116] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_HmacAuthConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_HmacAuthConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 12} +} + +func (m *ExtAuthConfig_HmacAuthConfig) GetSecretStorage() isExtAuthConfig_HmacAuthConfig_SecretStorage { + if m != nil { + return m.SecretStorage + } + return nil +} + +func (x *ExtAuthConfig_HmacAuthConfig) GetSecretList() *ExtAuthConfig_InMemorySecretList { + if x, ok := x.GetSecretStorage().(*ExtAuthConfig_HmacAuthConfig_SecretList); ok { + return x.SecretList + } + return nil +} + +func (m *ExtAuthConfig_HmacAuthConfig) GetImplementationType() isExtAuthConfig_HmacAuthConfig_ImplementationType { + if m != nil { + return m.ImplementationType + } + return nil +} + +func (x *ExtAuthConfig_HmacAuthConfig) GetParametersInHeaders() *HmacParametersInHeaders { + if x, ok := x.GetImplementationType().(*ExtAuthConfig_HmacAuthConfig_ParametersInHeaders); ok { + return x.ParametersInHeaders + } + return nil +} + +type isExtAuthConfig_HmacAuthConfig_SecretStorage interface { + isExtAuthConfig_HmacAuthConfig_SecretStorage() +} + +type ExtAuthConfig_HmacAuthConfig_SecretList struct { + SecretList *ExtAuthConfig_InMemorySecretList `protobuf:"bytes,1,opt,name=secret_list,json=secretList,proto3,oneof"` +} + +func (*ExtAuthConfig_HmacAuthConfig_SecretList) isExtAuthConfig_HmacAuthConfig_SecretStorage() {} + +type isExtAuthConfig_HmacAuthConfig_ImplementationType interface { + isExtAuthConfig_HmacAuthConfig_ImplementationType() +} + +type ExtAuthConfig_HmacAuthConfig_ParametersInHeaders struct { + ParametersInHeaders *HmacParametersInHeaders `protobuf:"bytes,2,opt,name=parameters_in_headers,json=parametersInHeaders,proto3,oneof"` +} + +func (*ExtAuthConfig_HmacAuthConfig_ParametersInHeaders) isExtAuthConfig_HmacAuthConfig_ImplementationType() { +} + +type ExtAuthConfig_InMemorySecretList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // list of username/password pairs taken from secrets during gloo-ee translation + SecretList map[string]string `protobuf:"bytes,1,rep,name=secret_list,json=secretList,proto3" json:"secret_list,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ExtAuthConfig_InMemorySecretList) Reset() { + *x = ExtAuthConfig_InMemorySecretList{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_InMemorySecretList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_InMemorySecretList) ProtoMessage() {} + +func (x *ExtAuthConfig_InMemorySecretList) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[117] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_InMemorySecretList.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_InMemorySecretList) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 13} +} + +func (x *ExtAuthConfig_InMemorySecretList) GetSecretList() map[string]string { + if x != nil { + return x.SecretList + } + return nil +} + +type ExtAuthConfig_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // optional: used when defining complex boolean logic, if `boolean_expr` is defined below. Also used + // in logging. If omitted, an automatically generated name will be used (e.g. config_0, of the + // pattern 'config_$INDEX_IN_CHAIN'). In the case of plugin auth, this field is ignored in favor of + // the name assigned on the plugin config itself. + Name *wrappers.StringValue `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"` + // Types that are assignable to AuthConfig: + // + // *ExtAuthConfig_Config_Oauth + // *ExtAuthConfig_Config_Oauth2 + // *ExtAuthConfig_Config_BasicAuth + // *ExtAuthConfig_Config_BasicAuthInternal + // *ExtAuthConfig_Config_ApiKeyAuth + // *ExtAuthConfig_Config_PluginAuth + // *ExtAuthConfig_Config_OpaAuth + // *ExtAuthConfig_Config_Ldap + // *ExtAuthConfig_Config_LdapInternal + // *ExtAuthConfig_Config_Jwt + // *ExtAuthConfig_Config_PassThroughAuth + // *ExtAuthConfig_Config_HmacAuth + // *ExtAuthConfig_Config_OpaServerAuth + AuthConfig isExtAuthConfig_Config_AuthConfig `protobuf_oneof:"auth_config"` +} + +func (x *ExtAuthConfig_Config) Reset() { + *x = ExtAuthConfig_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_Config) ProtoMessage() {} + +func (x *ExtAuthConfig_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[118] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_Config.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 14} +} + +func (x *ExtAuthConfig_Config) GetName() *wrappers.StringValue { + if x != nil { + return x.Name + } + return nil +} + +func (m *ExtAuthConfig_Config) GetAuthConfig() isExtAuthConfig_Config_AuthConfig { + if m != nil { + return m.AuthConfig + } + return nil +} + +// Deprecated: Do not use. +func (x *ExtAuthConfig_Config) GetOauth() *ExtAuthConfig_OAuthConfig { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_Oauth); ok { + return x.Oauth + } + return nil +} + +func (x *ExtAuthConfig_Config) GetOauth2() *ExtAuthConfig_OAuth2Config { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_Oauth2); ok { + return x.Oauth2 + } + return nil +} + +func (x *ExtAuthConfig_Config) GetBasicAuth() *BasicAuth { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_BasicAuth); ok { + return x.BasicAuth + } + return nil +} + +func (x *ExtAuthConfig_Config) GetBasicAuthInternal() *ExtAuthConfig_BasicAuthInternal { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_BasicAuthInternal); ok { + return x.BasicAuthInternal + } + return nil +} + +func (x *ExtAuthConfig_Config) GetApiKeyAuth() *ExtAuthConfig_ApiKeyAuthConfig { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_ApiKeyAuth); ok { + return x.ApiKeyAuth + } + return nil +} + +func (x *ExtAuthConfig_Config) GetPluginAuth() *AuthPlugin { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_PluginAuth); ok { + return x.PluginAuth + } + return nil +} + +func (x *ExtAuthConfig_Config) GetOpaAuth() *ExtAuthConfig_OpaAuthConfig { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_OpaAuth); ok { + return x.OpaAuth + } + return nil +} + +// Deprecated: Do not use. +func (x *ExtAuthConfig_Config) GetLdap() *Ldap { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_Ldap); ok { + return x.Ldap + } + return nil +} + +func (x *ExtAuthConfig_Config) GetLdapInternal() *ExtAuthConfig_LdapConfig { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_LdapInternal); ok { + return x.LdapInternal + } + return nil +} + +func (x *ExtAuthConfig_Config) GetJwt() *empty.Empty { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_Jwt); ok { + return x.Jwt + } + return nil +} + +func (x *ExtAuthConfig_Config) GetPassThroughAuth() *PassThroughAuth { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_PassThroughAuth); ok { + return x.PassThroughAuth + } + return nil +} + +func (x *ExtAuthConfig_Config) GetHmacAuth() *ExtAuthConfig_HmacAuthConfig { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_HmacAuth); ok { + return x.HmacAuth + } + return nil +} + +func (x *ExtAuthConfig_Config) GetOpaServerAuth() *ExtAuthConfig_OpaServerAuthConfig { + if x, ok := x.GetAuthConfig().(*ExtAuthConfig_Config_OpaServerAuth); ok { + return x.OpaServerAuth + } + return nil +} + +type isExtAuthConfig_Config_AuthConfig interface { + isExtAuthConfig_Config_AuthConfig() +} + +type ExtAuthConfig_Config_Oauth struct { + // Deprecated: Do not use. + Oauth *ExtAuthConfig_OAuthConfig `protobuf:"bytes,3,opt,name=oauth,proto3,oneof"` +} + +type ExtAuthConfig_Config_Oauth2 struct { + Oauth2 *ExtAuthConfig_OAuth2Config `protobuf:"bytes,9,opt,name=oauth2,proto3,oneof"` +} + +type ExtAuthConfig_Config_BasicAuth struct { + BasicAuth *BasicAuth `protobuf:"bytes,4,opt,name=basic_auth,json=basicAuth,proto3,oneof"` +} + +type ExtAuthConfig_Config_BasicAuthInternal struct { + BasicAuthInternal *ExtAuthConfig_BasicAuthInternal `protobuf:"bytes,17,opt,name=basic_auth_internal,json=basicAuthInternal,proto3,oneof"` +} + +type ExtAuthConfig_Config_ApiKeyAuth struct { + ApiKeyAuth *ExtAuthConfig_ApiKeyAuthConfig `protobuf:"bytes,5,opt,name=api_key_auth,json=apiKeyAuth,proto3,oneof"` +} + +type ExtAuthConfig_Config_PluginAuth struct { + PluginAuth *AuthPlugin `protobuf:"bytes,6,opt,name=plugin_auth,json=pluginAuth,proto3,oneof"` +} + +type ExtAuthConfig_Config_OpaAuth struct { + OpaAuth *ExtAuthConfig_OpaAuthConfig `protobuf:"bytes,7,opt,name=opa_auth,json=opaAuth,proto3,oneof"` +} + +type ExtAuthConfig_Config_Ldap struct { + // Deprecated: Do not use. + Ldap *Ldap `protobuf:"bytes,8,opt,name=ldap,proto3,oneof"` +} + +type ExtAuthConfig_Config_LdapInternal struct { + // Used for LDAP configurations that need service account credentials saved in a secret. + LdapInternal *ExtAuthConfig_LdapConfig `protobuf:"bytes,14,opt,name=ldap_internal,json=ldapInternal,proto3,oneof"` +} + +type ExtAuthConfig_Config_Jwt struct { + // This is a "dummy" extauth service which can be used to support multiple auth mechanisms with JWT authentication. + // If Jwt authentication is to be used in the [boolean expression](https://docs.solo.io/gloo-edge/latest/reference/api/github.com/solo-io/solo-apis/api/gloo/enterprise.gloo/v1/auth_config.proto.sk/#authconfig) in an AuthConfig, you can use this auth config type to include Jwt as an Auth config. + // In addition, `allow_missing_or_failed_jwt` must be set on the Virtual Host or Route that uses JWT auth or else the JWT filter will short circuit this behaviour. + Jwt *empty.Empty `protobuf:"bytes,12,opt,name=jwt,proto3,oneof"` +} + +type ExtAuthConfig_Config_PassThroughAuth struct { + PassThroughAuth *PassThroughAuth `protobuf:"bytes,13,opt,name=pass_through_auth,json=passThroughAuth,proto3,oneof"` +} + +type ExtAuthConfig_Config_HmacAuth struct { + HmacAuth *ExtAuthConfig_HmacAuthConfig `protobuf:"bytes,15,opt,name=hmac_auth,json=hmacAuth,proto3,oneof"` +} + +type ExtAuthConfig_Config_OpaServerAuth struct { + OpaServerAuth *ExtAuthConfig_OpaServerAuthConfig `protobuf:"bytes,16,opt,name=opa_server_auth,json=opaServerAuth,proto3,oneof"` +} + +func (*ExtAuthConfig_Config_Oauth) isExtAuthConfig_Config_AuthConfig() {} + +func (*ExtAuthConfig_Config_Oauth2) isExtAuthConfig_Config_AuthConfig() {} + +func (*ExtAuthConfig_Config_BasicAuth) isExtAuthConfig_Config_AuthConfig() {} + +func (*ExtAuthConfig_Config_BasicAuthInternal) isExtAuthConfig_Config_AuthConfig() {} + +func (*ExtAuthConfig_Config_ApiKeyAuth) isExtAuthConfig_Config_AuthConfig() {} + +func (*ExtAuthConfig_Config_PluginAuth) isExtAuthConfig_Config_AuthConfig() {} + +func (*ExtAuthConfig_Config_OpaAuth) isExtAuthConfig_Config_AuthConfig() {} + +func (*ExtAuthConfig_Config_Ldap) isExtAuthConfig_Config_AuthConfig() {} + +func (*ExtAuthConfig_Config_LdapInternal) isExtAuthConfig_Config_AuthConfig() {} + +func (*ExtAuthConfig_Config_Jwt) isExtAuthConfig_Config_AuthConfig() {} + +func (*ExtAuthConfig_Config_PassThroughAuth) isExtAuthConfig_Config_AuthConfig() {} + +func (*ExtAuthConfig_Config_HmacAuth) isExtAuthConfig_Config_AuthConfig() {} + +func (*ExtAuthConfig_Config_OpaServerAuth) isExtAuthConfig_Config_AuthConfig() {} + +// Selection of hashing algorithms to use for password hashing. +type ExtAuthConfig_BasicAuthInternal_EncryptionType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Algorithm: + // + // *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr_ + // *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1_ + Algorithm isExtAuthConfig_BasicAuthInternal_EncryptionType_Algorithm `protobuf_oneof:"algorithm"` +} + +func (x *ExtAuthConfig_BasicAuthInternal_EncryptionType) Reset() { + *x = ExtAuthConfig_BasicAuthInternal_EncryptionType{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_BasicAuthInternal_EncryptionType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_BasicAuthInternal_EncryptionType) ProtoMessage() {} + +func (x *ExtAuthConfig_BasicAuthInternal_EncryptionType) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[119] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_BasicAuthInternal_EncryptionType.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_BasicAuthInternal_EncryptionType) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 0, 0} +} + +func (m *ExtAuthConfig_BasicAuthInternal_EncryptionType) GetAlgorithm() isExtAuthConfig_BasicAuthInternal_EncryptionType_Algorithm { + if m != nil { + return m.Algorithm + } + return nil +} + +func (x *ExtAuthConfig_BasicAuthInternal_EncryptionType) GetApr() *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr { + if x, ok := x.GetAlgorithm().(*ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr_); ok { + return x.Apr + } + return nil +} + +func (x *ExtAuthConfig_BasicAuthInternal_EncryptionType) GetSha1() *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1 { + if x, ok := x.GetAlgorithm().(*ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1_); ok { + return x.Sha1 + } + return nil +} + +type isExtAuthConfig_BasicAuthInternal_EncryptionType_Algorithm interface { + isExtAuthConfig_BasicAuthInternal_EncryptionType_Algorithm() +} + +type ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr_ struct { + Apr *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr `protobuf:"bytes,1,opt,name=apr,proto3,oneof"` +} + +type ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1_ struct { + Sha1 *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1 `protobuf:"bytes,2,opt,name=sha1,proto3,oneof"` +} + +func (*ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr_) isExtAuthConfig_BasicAuthInternal_EncryptionType_Algorithm() { +} + +func (*ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1_) isExtAuthConfig_BasicAuthInternal_EncryptionType_Algorithm() { +} + +// To authenticate a user we need the salt and hashed password. The username is expected to be the key in a map of Users. +type ExtAuthConfig_BasicAuthInternal_User struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Salt string `protobuf:"bytes,1,opt,name=salt,proto3" json:"salt,omitempty"` + HashedPassword string `protobuf:"bytes,2,opt,name=hashed_password,json=hashedPassword,proto3" json:"hashed_password,omitempty"` +} + +func (x *ExtAuthConfig_BasicAuthInternal_User) Reset() { + *x = ExtAuthConfig_BasicAuthInternal_User{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_BasicAuthInternal_User) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_BasicAuthInternal_User) ProtoMessage() {} + +func (x *ExtAuthConfig_BasicAuthInternal_User) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[120] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_BasicAuthInternal_User.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_BasicAuthInternal_User) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 0, 1} +} + +func (x *ExtAuthConfig_BasicAuthInternal_User) GetSalt() string { + if x != nil { + return x.Salt + } + return "" +} + +func (x *ExtAuthConfig_BasicAuthInternal_User) GetHashedPassword() string { + if x != nil { + return x.HashedPassword + } + return "" +} + +// Map of valid usernames to stored credentials +type ExtAuthConfig_BasicAuthInternal_UserList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Users map[string]*ExtAuthConfig_BasicAuthInternal_User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ExtAuthConfig_BasicAuthInternal_UserList) Reset() { + *x = ExtAuthConfig_BasicAuthInternal_UserList{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_BasicAuthInternal_UserList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_BasicAuthInternal_UserList) ProtoMessage() {} + +func (x *ExtAuthConfig_BasicAuthInternal_UserList) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[121] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_BasicAuthInternal_UserList.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_BasicAuthInternal_UserList) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 0, 2} +} + +func (x *ExtAuthConfig_BasicAuthInternal_UserList) GetUsers() map[string]*ExtAuthConfig_BasicAuthInternal_User { + if x != nil { + return x.Users + } + return nil +} + +type ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1) Reset() { + *x = ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1) ProtoMessage() {} + +func (x *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[122] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 0, 0, 0} +} + +type ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr) Reset() { + *x = ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr) ProtoMessage() {} + +func (x *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[123] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 0, 0, 1} +} + +type ExtAuthConfig_UserSessionConfig_CipherConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // to enable the cipher encryption, the key has to be present. + // Note that the key has to be found and 32 bytes in length for the authconfig to not be rejected. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *ExtAuthConfig_UserSessionConfig_CipherConfig) Reset() { + *x = ExtAuthConfig_UserSessionConfig_CipherConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_UserSessionConfig_CipherConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_UserSessionConfig_CipherConfig) ProtoMessage() {} + +func (x *ExtAuthConfig_UserSessionConfig_CipherConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[126] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_UserSessionConfig_CipherConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_UserSessionConfig_CipherConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 2, 0} +} + +func (x *ExtAuthConfig_UserSessionConfig_CipherConfig) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +// Fields for private key JWT Client Authentication. +type ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Signing key for the JWT used for client authentication + SigningKey string `protobuf:"bytes,1,opt,name=signing_key,json=signingKey,proto3" json:"signing_key,omitempty"` + // Amount of time for which the JWT is valid. No maximmum is enforced, but different IDPs may impose limits on how far in + // the future the expiration time is allowed to be. Defaults in 5s in front end, but expected to be set explictly here + ValidFor *duration.Duration `protobuf:"bytes,2,opt,name=valid_for,json=validFor,proto3" json:"valid_for,omitempty"` +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) Reset() { + *x = ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) ProtoMessage() {} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[129] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 3, 2} +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) GetSigningKey() string { + if x != nil { + return x.SigningKey + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) GetValidFor() *duration.Duration { + if x != nil { + return x.ValidFor + } + return nil +} + +// Map a single claim from an OAuth2 or OIDC token to a header in the request to the upstream destination. +type ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The claim name from the token, such as `sub`. + Claim string `protobuf:"bytes,1,opt,name=claim,proto3" json:"claim,omitempty"` + // The header to copy the claim to, such as `x-sub`. + Header string `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"` + // If the header exists, append the claim value to the header (true), or overwrite any existing value (false). The default behavior is to overwrite any existing value (false). + Append bool `protobuf:"varint,3,opt,name=append,proto3" json:"append,omitempty"` +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) Reset() { + *x = ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) ProtoMessage() {} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[130] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 3, 3} +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) GetClaim() string { + if x != nil { + return x.Claim + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) GetHeader() string { + if x != nil { + return x.Header + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) GetAppend() bool { + if x != nil { + return x.Append + } + return false +} + +// Optional: Map a single claim from an OAuth2 access token to a header in the request to the upstream destination. +type ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of claims to be mapped from the JWT token received by ext-auth-service to an upstream destination + ClaimsToHeaders []*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader `protobuf:"bytes,1,rep,name=claims_to_headers,json=claimsToHeaders,proto3" json:"claims_to_headers,omitempty"` +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) Reset() { + *x = ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) ProtoMessage() {} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[131] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 3, 4} +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) GetClaimsToHeaders() []*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader { + if x != nil { + return x.ClaimsToHeaders + } + return nil +} + +// Optional: Map a single claim from an OIDC identity token to a header in the request to the upstream destination. +type ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of claims to be mapped from the JWT token received by ext-auth-service to an upstream destination + ClaimsToHeaders []*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader `protobuf:"bytes,1,rep,name=claims_to_headers,json=claimsToHeaders,proto3" json:"claims_to_headers,omitempty"` +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) Reset() { + *x = ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) ProtoMessage() {} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[132] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 3, 5} +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) GetClaimsToHeaders() []*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader { + if x != nil { + return x.ClaimsToHeaders + } + return nil +} + +// No-op, represents default OIDC behavior +type ExtAuthConfig_OidcAuthorizationCodeConfig_Default struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_Default) Reset() { + *x = ExtAuthConfig_OidcAuthorizationCodeConfig_Default{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_Default) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_Default) ProtoMessage() {} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_Default) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[133] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_OidcAuthorizationCodeConfig_Default.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_Default) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 3, 6} +} + +// For apps in Microsoft Azure, configure Microsoft Entra ID as the OpenID Connect (OIDC) provider. +// This way, you can enable distibuted claims and caching for when users are members of more than 200 groups. +type ExtAuthConfig_OidcAuthorizationCodeConfig_Azure struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The client ID for the ExtAuthService app that is registered in MS Entra, + // to access the Microsoft Graph API to retrieve distributed claims. + // This app is NOT the app that you want to configure external auth for. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // The tenant ID represents the MS Entra organization ID where the ExtAuthService app is registered. + // This tenant ID may or may not be the same as in the top level `OidcAuthorizationCodeConfig`, + // depending on how your Azure account is provisioned. + TenantId string `protobuf:"bytes,2,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + // The client secret of the ExtAuthService app that is registered with MS Entra to communciate with the MS Graph API. + ClientSecret string `protobuf:"bytes,3,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + // Redis connection details to cache MS Entera claims. + // This way, you avoid performance issues of accessing the Microsoft Graph API too many times. + // Note that this setting does NOT turn on Redis caching for the user session. + // To turn on Redis user session caching, use the `userSessionConfig` field. + ClaimsCachingOptions *RedisOptions `protobuf:"bytes,4,opt,name=claims_caching_options,json=claimsCachingOptions,proto3" json:"claims_caching_options,omitempty"` +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) Reset() { + *x = ExtAuthConfig_OidcAuthorizationCodeConfig_Azure{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) ProtoMessage() {} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[134] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_OidcAuthorizationCodeConfig_Azure.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 3, 7} +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) GetClientSecret() string { + if x != nil { + return x.ClientSecret + } + return "" +} + +func (x *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) GetClaimsCachingOptions() *RedisOptions { + if x != nil { + return x.ClaimsCachingOptions + } + return nil +} + +// Defines how JSON Web Token (JWT) access tokens are validated. +// +// Tokens are validated using a JSON Web Key Set (as defined in +// [Section 5 of RFC7517](https://tools.ietf.org/html/rfc7517#section-5)), +// which can be either inlined in the configuration or fetched from a remote location via HTTP. +// Any keys in the JWKS that are not intended for signature verification (i.e. whose +// ["use" parameter](https://tools.ietf.org/html/rfc7517#section-4.2) is not "sig") +// will be ignored by the system, as will keys that do not specify a +// ["kid" (Key ID) parameter](https://tools.ietf.org/html/rfc7517#section-4.2). +// +// The JWT to be validated must define non-empty "kid" and "alg" headers. The "kid" header +// determines which key in the JWKS will be used to verify the signature of the token; +// if no matching key is found, the token will be rejected. +// +// If present, the server will verify the "exp", "iat", and "nbf" standard JWT claims. +// Validation of the "iss" claim and of token scopes can be configured as well. +// If the JWT has been successfully validated, its set of claims will be added to the +// `AuthorizationRequest` state under the "jwtAccessToken" key. +type ExtAuthConfig_AccessTokenValidationConfig_JwtValidation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to JwksSourceSpecifier: + // + // *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks_ + // *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks_ + JwksSourceSpecifier isExtAuthConfig_AccessTokenValidationConfig_JwtValidation_JwksSourceSpecifier `protobuf_oneof:"jwks_source_specifier"` + // Allow only tokens that have been issued by this principal (i.e. whose "iss" claim matches this value). + // If empty, issuer validation will be skipped. + Issuer string `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"` +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) Reset() { + *x = ExtAuthConfig_AccessTokenValidationConfig_JwtValidation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) ProtoMessage() {} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[135] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_AccessTokenValidationConfig_JwtValidation.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 4, 0} +} + +func (m *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) GetJwksSourceSpecifier() isExtAuthConfig_AccessTokenValidationConfig_JwtValidation_JwksSourceSpecifier { + if m != nil { + return m.JwksSourceSpecifier + } + return nil +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) GetRemoteJwks() *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks { + if x, ok := x.GetJwksSourceSpecifier().(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks_); ok { + return x.RemoteJwks + } + return nil +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) GetLocalJwks() *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks { + if x, ok := x.GetJwksSourceSpecifier().(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks_); ok { + return x.LocalJwks + } + return nil +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +type isExtAuthConfig_AccessTokenValidationConfig_JwtValidation_JwksSourceSpecifier interface { + isExtAuthConfig_AccessTokenValidationConfig_JwtValidation_JwksSourceSpecifier() +} + +type ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks_ struct { + // Fetches the JWKS from a remote location. + RemoteJwks *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks `protobuf:"bytes,1,opt,name=remote_jwks,json=remoteJwks,proto3,oneof"` +} + +type ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks_ struct { + // Loads the JWKS from a local data source. + LocalJwks *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks `protobuf:"bytes,2,opt,name=local_jwks,json=localJwks,proto3,oneof"` +} + +func (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks_) isExtAuthConfig_AccessTokenValidationConfig_JwtValidation_JwksSourceSpecifier() { +} + +func (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks_) isExtAuthConfig_AccessTokenValidationConfig_JwtValidation_JwksSourceSpecifier() { +} + +// Defines how (opaque) access tokens, received from the oauth authorization endpoint, are validated +// [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) +// +// If the token introspection url requires client authentication, both the client_id and client_secret +// are required. If only one is provided, the config will be rejected. +// These values will be encoded in a basic auth header in order to authenticate the client. +type ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The URL for the [OAuth2.0 Token Introspection](https://tools.ietf.org/html/rfc7662) endpoint. + // If provided, the (opaque) access token provided or received from the oauth authorization endpoint + // will be validated against this endpoint, or locally cached responses for this access token. + IntrospectionUrl string `protobuf:"bytes,1,opt,name=introspection_url,json=introspectionUrl,proto3" json:"introspection_url,omitempty"` + // Your client id as registered with the issuer. + // Optional: Use if the token introspection url requires client authentication. + ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // Your client secret as registered with the issuer. + // Optional: Use if the token introspection url requires client authentication. + ClientSecret string `protobuf:"bytes,3,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + // The name of the [introspection response](https://tools.ietf.org/html/rfc7662#section-2.2) + // attribute that contains the ID of the resource owner (e.g. `sub`, `username`). + // If specified, the external auth server will use the value of the attribute as the identifier of the + // authenticated user and add it to the request headers and/or dynamic metadata (depending on how the + // server is configured); if the field is set and the attribute cannot be found, the request will be denied. + // This field is optional and by default the server will not try to derive the user ID. + UserIdAttributeName string `protobuf:"bytes,4,opt,name=user_id_attribute_name,json=userIdAttributeName,proto3" json:"user_id_attribute_name,omitempty"` +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) Reset() { + *x = ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[136] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) ProtoMessage() {} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[136] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 4, 1} +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) GetIntrospectionUrl() string { + if x != nil { + return x.IntrospectionUrl + } + return "" +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) GetClientSecret() string { + if x != nil { + return x.ClientSecret + } + return "" +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) GetUserIdAttributeName() string { + if x != nil { + return x.UserIdAttributeName + } + return "" +} + +type ExtAuthConfig_AccessTokenValidationConfig_ScopeList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Scope []string `protobuf:"bytes,1,rep,name=scope,proto3" json:"scope,omitempty"` +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_ScopeList) Reset() { + *x = ExtAuthConfig_AccessTokenValidationConfig_ScopeList{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[137] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_ScopeList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_AccessTokenValidationConfig_ScopeList) ProtoMessage() {} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_ScopeList) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[137] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_AccessTokenValidationConfig_ScopeList.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_AccessTokenValidationConfig_ScopeList) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 4, 2} +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_ScopeList) GetScope() []string { + if x != nil { + return x.Scope + } + return nil +} + +// Specifies how to fetch JWKS from remote and how to cache it. +type ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The HTTP URI to fetch the JWKS. + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + // The frequency at which the JWKS should be refreshed. + // If not specified, the default value is 5 minutes. + RefreshInterval *duration.Duration `protobuf:"bytes,2,opt,name=refresh_interval,json=refreshInterval,proto3" json:"refresh_interval,omitempty"` +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks) Reset() { + *x = ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[138] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks) ProtoMessage() {} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[138] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 4, 0, 0} +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks) GetRefreshInterval() *duration.Duration { + if x != nil { + return x.RefreshInterval + } + return nil +} + +// Represents a locally available JWKS. +type ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // JWKS is embedded as a string. + InlineString string `protobuf:"bytes,1,opt,name=inline_string,json=inlineString,proto3" json:"inline_string,omitempty"` +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks) Reset() { + *x = ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks) ProtoMessage() {} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[139] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 4, 0, 1} +} + +func (x *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks) GetInlineString() string { + if x != nil { + return x.InlineString + } + return "" +} + +type ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The user is mapped as the name of `Secret` which contains the `ApiKey` + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + // The metadata present on the `ApiKey`. + Metadata map[string]string `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) Reset() { + *x = ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) ProtoMessage() {} + +func (x *ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[142] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata.ProtoReflect.Descriptor instead. +func (*ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP(), []int{42, 7, 0} +} + +func (x *ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDesc = []byte{ + 0x0a, 0x7d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, + 0x5f, 0x61, 0x6e, 0x79, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x61, 0x70, 0x69, + 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x17, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x6b, 0x69, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x66, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x6b, 0x69, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x6b, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x45, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x6b, 0x69, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x07, + 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x48, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x75, 0x74, 0x68, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x62, 0x6f, + 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, + 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x66, + 0x61, 0x69, 0x6c, 0x5f, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x4f, 0x6e, 0x52, 0x65, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x1a, 0xa2, 0x06, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, + 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x3a, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, + 0x75, 0x74, 0x68, 0x12, 0x39, 0x0a, 0x06, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x41, + 0x75, 0x74, 0x68, 0x32, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x12, 0x47, + 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, + 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x46, 0x0a, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x12, + 0x3d, 0x0a, 0x08, 0x6f, 0x70, 0x61, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x70, 0x61, 0x41, + 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x70, 0x61, 0x41, 0x75, 0x74, 0x68, 0x12, 0x33, + 0x0a, 0x04, 0x6c, 0x64, 0x61, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x64, 0x61, 0x70, 0x48, 0x00, 0x52, 0x04, 0x6c, + 0x64, 0x61, 0x70, 0x12, 0x2a, 0x0a, 0x03, 0x6a, 0x77, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x03, 0x6a, 0x77, 0x74, 0x12, + 0x56, 0x0a, 0x11, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, + 0x61, 0x75, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, + 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, + 0x75, 0x67, 0x68, 0x41, 0x75, 0x74, 0x68, 0x12, 0x40, 0x0a, 0x09, 0x68, 0x6d, 0x61, 0x63, 0x5f, + 0x61, 0x75, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, + 0x08, 0x68, 0x6d, 0x61, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x50, 0x0a, 0x0f, 0x6f, 0x70, 0x61, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x70, 0x61, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x0d, 0x6f, 0x70, + 0x61, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x42, 0x0d, 0x0a, 0x0b, 0x61, + 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, + 0x22, 0xba, 0x01, 0x0a, 0x10, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x66, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, + 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x66, 0x12, 0x46, 0x0a, + 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x41, 0x75, 0x74, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0xcc, 0x05, + 0x0a, 0x08, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x49, 0x0a, 0x13, 0x65, 0x78, + 0x74, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, + 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x65, 0x66, 0x52, 0x11, 0x65, 0x78, 0x74, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x66, 0x12, 0x49, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x49, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, + 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x12, 0x4a, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, + 0x6f, 0x64, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, + 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, + 0x61, 0x63, 0x68, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, + 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x6e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x60, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x14, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x33, 0x10, 0x00, 0x42, 0x0e, 0x0a, 0x0c, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2b, 0x0a, 0x0b, + 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x9a, 0x05, 0x0a, 0x0b, 0x48, 0x74, + 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x74, + 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x61, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x46, 0x0a, 0x07, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x49, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, + 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x8d, 0x02, + 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x64, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, + 0x5f, 0x61, 0x64, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x54, 0x6f, 0x41, 0x64, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x67, 0x65, + 0x78, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x67, 0x65, 0x78, 0x1a, 0x3f, 0x0a, 0x11, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xc6, 0x01, + 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4a, 0x0a, 0x22, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x55, + 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, + 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x0e, 0x42, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x61, 0x63, + 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x41, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xd1, 0x01, + 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x12, 0x69, 0x0a, 0x12, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x44, 0x0a, 0x16, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xad, 0x01, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x66, + 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, + 0x0a, 0x14, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, + 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x22, 0xf1, 0x07, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x42, 0x61, 0x73, + 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x41, 0x70, 0x72, 0x52, 0x03, 0x61, 0x70, 0x72, 0x12, + 0x51, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x42, 0x61, + 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x9a, + 0x02, 0x0a, 0x03, 0x41, 0x70, 0x72, 0x12, 0x47, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x41, 0x70, 0x72, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x1a, + 0x53, 0x0a, 0x14, 0x53, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x65, 0x64, 0x50, + 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x68, + 0x61, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x68, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, + 0x77, 0x6f, 0x72, 0x64, 0x1a, 0x75, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x42, 0x61, + 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x41, 0x70, 0x72, 0x2e, 0x53, 0x61, 0x6c, 0x74, + 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xc5, 0x01, 0x0a, 0x0e, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x49, + 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x2e, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x41, + 0x70, 0x72, 0x48, 0x00, 0x52, 0x03, 0x61, 0x70, 0x72, 0x12, 0x4c, 0x0a, 0x04, 0x73, 0x68, 0x61, + 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x45, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x31, 0x48, + 0x00, 0x52, 0x04, 0x73, 0x68, 0x61, 0x31, 0x1a, 0x06, 0x0a, 0x04, 0x53, 0x68, 0x61, 0x31, 0x1a, + 0x05, 0x0a, 0x03, 0x41, 0x70, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x1a, 0x43, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x61, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x12, + 0x27, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, + 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x68, 0x65, 0x64, + 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x1a, 0xbb, 0x01, 0x0a, 0x08, 0x55, 0x73, 0x65, + 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x42, + 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x75, 0x73, + 0x65, 0x72, 0x73, 0x1a, 0x61, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x42, 0x61, 0x73, + 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x08, 0x48, 0x6d, 0x61, 0x63, 0x41, 0x75, + 0x74, 0x68, 0x12, 0x49, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x48, + 0x00, 0x52, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x66, 0x73, 0x12, 0x66, 0x0a, + 0x15, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x01, + 0x52, 0x13, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x69, 0x6d, 0x70, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4b, + 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x3a, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x52, + 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x66, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x48, + 0x6d, 0x61, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0xc2, 0x03, 0x0a, 0x05, 0x4f, 0x41, 0x75, 0x74, 0x68, + 0x12, 0x1f, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x49, 0x0a, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, 0x21, 0x0a, 0x0a, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, + 0x7c, 0x0a, 0x1a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x41, + 0x75, 0x74, 0x68, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x17, 0x61, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1b, 0x0a, + 0x07, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x06, 0x61, 0x70, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x27, 0x0a, 0x0d, 0x63, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x1a, + 0x4a, 0x0a, 0x1c, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xaa, 0x02, 0x0a, 0x06, + 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x12, 0x68, 0x0a, 0x17, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x15, 0x6f, 0x69, 0x64, 0x63, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x68, 0x0a, 0x17, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x15, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x06, 0x6f, 0x61, + 0x75, 0x74, 0x68, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, + 0x48, 0x00, 0x52, 0x06, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x42, 0x0c, 0x0a, 0x0a, 0x6f, 0x61, + 0x75, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x64, + 0x69, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x64, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x64, 0x62, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x74, 0x6c, + 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, + 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x51, 0x0a, 0x0b, 0x73, 0x6f, 0x63, + 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, + 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x1e, 0x0a, 0x0a, + 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, + 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x4c, 0x53, 0x10, 0x01, 0x22, 0xf8, 0x0a, 0x0a, + 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x15, + 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x66, 0x61, + 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x61, 0x69, + 0x6c, 0x4f, 0x6e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, + 0x59, 0x0a, 0x0e, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, + 0x6f, 0x6b, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x63, 0x6f, 0x6f, + 0x6b, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x06, 0x63, 0x6f, + 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x49, 0x0a, 0x05, 0x72, 0x65, + 0x64, 0x69, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, + 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, + 0x72, 0x65, 0x64, 0x69, 0x73, 0x12, 0x56, 0x0a, 0x0d, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x9c, 0x01, + 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x45, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, + 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6b, 0x65, + 0x79, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x1a, 0xe3, 0x02, 0x0a, + 0x0c, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1f, 0x0a, + 0x0b, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x45, + 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x45, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x79, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x65, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, + 0x6d, 0x65, 0x1a, 0x8a, 0x03, 0x0a, 0x0d, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, + 0x6f, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x6e, 0x6f, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x68, 0x74, + 0x74, 0x70, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x4f, + 0x6e, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x58, 0x0a, 0x09, 0x73, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x69, + 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, + 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x61, 0x6d, + 0x65, 0x53, 0x69, 0x74, 0x65, 0x52, 0x08, 0x73, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x74, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x46, 0x0a, 0x08, 0x53, 0x61, 0x6d, 0x65, 0x53, + 0x69, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x6f, + 0x64, 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x61, 0x78, 0x4d, 0x6f, 0x64, 0x65, 0x10, + 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x10, + 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x6f, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x10, 0x03, 0x1a, + 0x4b, 0x0a, 0x0c, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x34, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x06, 0x6b, + 0x65, 0x79, 0x52, 0x65, 0x66, 0x42, 0x05, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x09, 0x0a, 0x07, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xd7, 0x01, 0x0a, 0x13, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x26, 0x0a, 0x0f, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x64, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x68, 0x0a, 0x23, 0x75, 0x73, 0x65, 0x5f, 0x62, + 0x65, 0x61, 0x72, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x66, 0x6f, 0x72, + 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x1f, 0x75, 0x73, 0x65, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x46, 0x6f, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x97, 0x03, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x61, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x77, 0x6b, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x77, 0x6b, 0x73, 0x55, 0x72, 0x69, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x08, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x64, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0b, 0x69, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x6c, 0x67, 0x73, 0x12, 0x21, 0x0a, + 0x0c, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x76, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x64, + 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xd5, 0x01, 0x0a, 0x1e, + 0x4a, 0x77, 0x6b, 0x73, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, + 0x0a, 0x05, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x12, 0x30, + 0x0a, 0x06, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x06, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, + 0x12, 0x47, 0x0a, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x5f, + 0x70, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x1b, 0x6d, 0x61, + 0x78, 0x49, 0x64, 0x70, 0x52, 0x65, 0x71, 0x50, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, + 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x22, 0x33, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x4d, 0x61, 0x70, 0x46, 0x72, + 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x14, 0x45, 0x6e, 0x64, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x12, 0x58, 0x0a, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x45, 0x6e, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x2b, 0x0a, 0x0a, 0x4d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x65, 0x74, + 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x74, + 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x01, 0x22, 0x55, 0x0a, 0x0d, 0x43, 0x6c, 0x61, 0x69, + 0x6d, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x12, + 0x16, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x22, + 0x93, 0x1a, 0x0a, 0x15, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, + 0x66, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x55, 0x72, 0x6c, + 0x12, 0x88, 0x01, 0x0a, 0x1a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x17, 0x61, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x1b, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x69, 0x64, 0x63, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, + 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x18, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x70, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x70, 0x55, + 0x72, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x6f, 0x75, + 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, + 0x67, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x66, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x55, + 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x07, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x59, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, + 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x11, 0x64, 0x69, 0x73, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x51, 0x0a, + 0x17, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x64, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x12, 0x72, 0x0a, 0x19, 0x6a, 0x77, 0x6b, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x72, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4a, 0x77, + 0x6b, 0x73, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x16, 0x6a, 0x77, + 0x6b, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x0a, 0x16, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, + 0x1c, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x5f, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x18, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x41, 0x73, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x61, 0x0a, + 0x16, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x4d, 0x61, 0x70, 0x46, + 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x13, 0x61, 0x75, 0x74, + 0x6f, 0x4d, 0x61, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x63, 0x0a, 0x16, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x6e, 0x64, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, + 0x14, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x8e, 0x01, 0x0a, 0x1c, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, + 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x2e, 0x44, 0x79, 0x6e, + 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, + 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x19, 0x64, 0x79, 0x6e, + 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, + 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x12, 0x52, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x5d, 0x0a, 0x0c, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, + 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0b, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x63, 0x0a, 0x0e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x69, 0x64, 0x63, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, + 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x0d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x78, + 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, + 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x4c, 0x0a, 0x05, + 0x61, 0x7a, 0x75, 0x72, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x2e, 0x41, 0x7a, 0x75, 0x72, + 0x65, 0x48, 0x00, 0x52, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x1a, 0x4a, 0x0a, 0x1c, 0x41, 0x75, + 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x1d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x1e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x61, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x52, 0x0a, 0x11, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x6f, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x52, 0x0f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x54, 0x6f, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x1a, 0x63, 0x0a, 0x0d, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x52, 0x0a, 0x11, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, + 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, + 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xe1, 0x04, 0x0a, 0x14, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x77, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x7b, 0x0a, 0x0f, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6a, 0x77, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, + 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x65, + 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x4b, 0x65, 0x79, 0x4a, 0x77, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x4b, 0x65, 0x79, 0x4a, 0x77, 0x74, 0x1a, 0xa5, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x52, + 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x66, + 0x12, 0x4e, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x1a, 0x8a, 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x4a, + 0x77, 0x74, 0x12, 0x41, 0x0a, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, + 0x79, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x52, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x4b, + 0x65, 0x79, 0x52, 0x65, 0x66, 0x12, 0x36, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x66, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x42, 0x1e, 0x0a, + 0x1c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x09, 0x0a, + 0x07, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x1a, 0xde, 0x01, 0x0a, 0x05, 0x41, 0x7a, 0x75, + 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0d, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x52, 0x0c, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x5b, 0x0a, 0x16, + 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x43, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xbc, 0x07, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x4f, + 0x41, 0x75, 0x74, 0x68, 0x32, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x45, 0x0a, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, 0x7e, 0x0a, 0x1a, 0x61, 0x75, 0x74, + 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x4f, 0x41, 0x75, + 0x74, 0x68, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x17, 0x61, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x70, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x70, 0x55, + 0x72, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, + 0x3e, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x81, 0x01, 0x0a, 0x1b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x6f, + 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x23, + 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, + 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x15, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, + 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x1a, 0x4a, 0x0a, 0x1c, 0x41, + 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x1d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x81, 0x03, 0x0a, 0x0d, 0x4a, 0x77, 0x74, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x5f, 0x6a, 0x77, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4a, 0x77, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x48, 0x00, + 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x51, 0x0a, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6a, 0x77, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4a, 0x77, 0x74, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4a, 0x77, + 0x6b, 0x73, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4a, 0x77, 0x6b, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x1a, 0x64, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x72, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x30, 0x0a, + 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, + 0x17, 0x0a, 0x15, 0x6a, 0x77, 0x6b, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xaf, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x74, + 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, + 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x45, + 0x0a, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, + 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x65, 0x66, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, 0x33, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x15, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xd1, 0x05, 0x0a, 0x15, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x3a, 0x0a, 0x03, 0x6a, 0x77, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4a, + 0x77, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03, + 0x6a, 0x77, 0x74, 0x12, 0x58, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, + 0x0c, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x55, 0x72, 0x6c, + 0x12, 0x3e, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x12, 0x63, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x48, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x8e, 0x01, 0x0a, 0x1c, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, + 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x79, 0x6e, + 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, + 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x19, 0x64, 0x79, 0x6e, + 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, + 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x1a, 0x4c, 0x0a, 0x1e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x61, + 0x69, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x21, 0x0a, 0x09, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x32, + 0x0a, 0x0b, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x22, 0xfc, 0x08, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, + 0x68, 0x12, 0x61, 0x0a, 0x0e, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x13, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x10, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, + 0x66, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x74, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x66, + 0x72, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x46, + 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x46, 0x72, 0x6f, + 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x80, 0x01, 0x0a, 0x1b, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x41, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, + 0x41, 0x75, 0x74, 0x68, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x46, 0x72, 0x6f, 0x6d, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x18, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x6c, 0x0a, 0x19, + 0x6b, 0x38, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x6b, 0x65, + 0x79, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x38, 0x73, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x48, 0x00, 0x52, 0x16, 0x6b, 0x38, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x70, 0x69, + 0x6b, 0x65, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x6b, 0x0a, 0x18, 0x61, 0x65, + 0x72, 0x6f, 0x73, 0x70, 0x69, 0x6b, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, 0x5f, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x65, 0x72, 0x6f, 0x73, 0x70, 0x69, 0x6b, 0x65, + 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, + 0x16, 0x61, 0x65, 0x72, 0x6f, 0x73, 0x70, 0x69, 0x6b, 0x65, 0x41, 0x70, 0x69, 0x6b, 0x65, 0x79, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x1a, 0x40, 0x0a, 0x12, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x75, 0x0a, 0x18, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x53, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x7e, 0x0a, 0x1d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x3b, 0x0a, 0x09, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x1a, 0x3f, 0x0a, + 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x42, 0x11, + 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x22, 0x8f, 0x02, 0x0a, 0x16, 0x4b, 0x38, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, + 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x69, 0x0a, 0x0e, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, + 0x38, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x48, 0x0a, 0x13, 0x61, 0x70, 0x69, 0x5f, 0x6b, + 0x65, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x52, + 0x10, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x66, + 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x93, 0x0b, 0x0a, 0x16, 0x41, 0x65, 0x72, 0x6f, 0x73, 0x70, 0x69, 0x6b, + 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, + 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x25, + 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x5f, 0x73, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x65, 0x72, 0x6f, 0x73, 0x70, 0x69, 0x6b, 0x65, 0x41, + 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x61, + 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x6f, 0x64, + 0x65, 0x53, 0x63, 0x12, 0x5c, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x5f, 0x61, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x65, 0x72, 0x6f, 0x73, 0x70, 0x69, 0x6b, 0x65, 0x41, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x4d, + 0x6f, 0x64, 0x65, 0x41, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x41, + 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x6c, + 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x65, 0x72, 0x74, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x25, 0x0a, + 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x63, 0x61, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x74, + 0x43, 0x61, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6c, 0x73, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x10, 0x74, 0x6c, 0x73, 0x5f, 0x63, + 0x75, 0x72, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x65, 0x72, 0x6f, + 0x73, 0x70, 0x69, 0x6b, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x74, 0x6c, 0x73, 0x43, 0x75, 0x72, 0x76, 0x65, 0x49, 0x44, 0x52, 0x0e, 0x74, + 0x6c, 0x73, 0x43, 0x75, 0x72, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x69, 0x0a, + 0x0e, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, + 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x41, 0x65, 0x72, 0x6f, 0x73, 0x70, 0x69, 0x6b, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0xff, 0x01, 0x0a, 0x0a, 0x72, 0x65, 0x61, + 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x6f, 0x64, + 0x65, 0x53, 0x63, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x16, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x61, + 0x72, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x13, 0x72, 0x65, + 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x69, 0x7a, + 0x65, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x73, + 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x00, 0x52, 0x11, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x12, 0x44, 0x0a, 0x1e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x5f, 0x73, 0x63, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x75, 0x6e, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x1a, + 0x72, 0x65, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x55, + 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x1a, 0x72, 0x0a, 0x0a, 0x72, 0x65, + 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x70, 0x5f, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x70, + 0x4f, 0x6e, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x5f, 0x61, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, + 0x0d, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x70, 0x41, 0x6c, 0x6c, 0x42, 0x0e, + 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x70, 0x1a, 0x96, + 0x01, 0x0a, 0x0a, 0x74, 0x6c, 0x73, 0x43, 0x75, 0x72, 0x76, 0x65, 0x49, 0x44, 0x12, 0x1f, 0x0a, + 0x0a, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, 0x70, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x00, 0x52, 0x09, 0x63, 0x75, 0x72, 0x76, 0x65, 0x50, 0x32, 0x35, 0x36, 0x12, 0x1f, + 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, 0x70, 0x33, 0x38, 0x34, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x63, 0x75, 0x72, 0x76, 0x65, 0x50, 0x33, 0x38, 0x34, 0x12, + 0x1f, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, 0x70, 0x35, 0x32, 0x31, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x63, 0x75, 0x72, 0x76, 0x65, 0x50, 0x35, 0x32, 0x31, + 0x12, 0x19, 0x0a, 0x07, 0x78, 0x5f, 0x32, 0x35, 0x35, 0x31, 0x39, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x00, 0x52, 0x06, 0x78, 0x32, 0x35, 0x35, 0x31, 0x39, 0x42, 0x0a, 0x0a, 0x08, 0x63, + 0x75, 0x72, 0x76, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x40, 0x0a, 0x12, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xd5, 0x01, 0x0a, 0x06, 0x41, 0x70, + 0x69, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x49, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xcd, 0x01, 0x0a, 0x0c, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x4f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x97, 0x01, 0x0a, 0x07, 0x4f, 0x70, 0x61, 0x41, 0x75, 0x74, 0x68, 0x12, 0x33, 0x0a, + 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x70, 0x61, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7a, 0x0a, 0x0e, 0x4f, + 0x70, 0x61, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, + 0x15, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x66, 0x61, + 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x64, 0x65, 0x63, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x0d, 0x4f, 0x70, 0x61, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, + 0x72, 0x12, 0x41, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x70, 0x61, + 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb0, 0x04, 0x0a, 0x04, 0x4c, 0x64, 0x61, 0x70, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x44, + 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x75, 0x73, 0x65, 0x72, 0x44, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, + 0x38, 0x0a, 0x17, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x17, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, + 0x40, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x64, 0x61, 0x70, 0x2e, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x70, 0x6f, 0x6f, + 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x5f, 0x0a, 0x15, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x73, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x64, 0x61, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x6f, + 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x88, 0x01, 0x0a, + 0x0e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, + 0x36, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, + 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xaf, 0x01, 0x0a, 0x12, 0x4c, 0x64, 0x61, 0x70, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4f, + 0x0a, 0x16, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x73, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x52, 0x14, 0x63, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, + 0x48, 0x0a, 0x21, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, + 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xfc, 0x01, 0x0a, 0x0f, 0x50, 0x61, + 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x41, 0x75, 0x74, 0x68, 0x12, 0x3e, 0x0a, + 0x04, 0x67, 0x72, 0x70, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, + 0x68, 0x47, 0x72, 0x70, 0x63, 0x48, 0x00, 0x52, 0x04, 0x67, 0x72, 0x70, 0x63, 0x12, 0x3e, 0x0a, + 0x04, 0x68, 0x74, 0x74, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, + 0x68, 0x48, 0x74, 0x74, 0x70, 0x48, 0x00, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x12, 0x2f, 0x0a, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, + 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, + 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x42, 0x0a, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xc6, 0x01, 0x0a, 0x0f, 0x50, 0x61, 0x73, + 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x47, 0x72, 0x70, 0x63, 0x12, 0x18, 0x0a, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x12, 0x4f, 0x0a, 0x09, 0x74, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x61, + 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x47, 0x72, 0x70, 0x63, 0x54, 0x4c, 0x53, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x74, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x22, 0x1a, 0x0a, 0x18, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, + 0x47, 0x72, 0x70, 0x63, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x9d, 0x07, + 0x0a, 0x0f, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x48, 0x74, 0x74, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x72, 0x6c, 0x12, 0x4a, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, + 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x48, 0x74, 0x74, 0x70, 0x2e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4d, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x61, 0x73, 0x73, + 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x48, 0x74, 0x74, 0x70, 0x2e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, + 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0xf8, 0x02, 0x0a, 0x07, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x68, 0x0a, + 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x48, 0x74, 0x74, 0x70, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, + 0x6f, 0x41, 0x64, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x61, 0x73, 0x73, 0x5f, + 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x68, + 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x70, 0x61, 0x73, + 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, + 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x42, 0x6f, + 0x64, 0x79, 0x1a, 0x3f, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, + 0x64, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x97, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x38, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x55, 0x70, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, 0x20, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x1c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x44, 0x65, 0x6e, 0x69, + 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x72, 0x65, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, + 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x25, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x21, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x54, 0x6f, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0xf7, 0x57, + 0x0a, 0x0d, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x2f, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, + 0x65, 0x66, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, + 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x66, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x47, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, + 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, + 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x62, + 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x61, + 0x69, 0x6c, 0x5f, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x4f, 0x6e, 0x52, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x1a, 0xa6, 0x06, 0x0a, 0x11, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, + 0x74, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, + 0x61, 0x6c, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x61, 0x6c, 0x6d, + 0x12, 0x67, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, + 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x61, 0x73, + 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x60, 0x0a, 0x09, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x48, + 0x00, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0xf1, 0x01, 0x0a, 0x0e, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5f, + 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x2e, 0x41, 0x70, 0x72, 0x48, 0x00, 0x52, 0x03, 0x61, 0x70, 0x72, 0x12, + 0x62, 0x0a, 0x04, 0x73, 0x68, 0x61, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x31, 0x48, 0x00, 0x52, 0x04, 0x73, + 0x68, 0x61, 0x31, 0x1a, 0x06, 0x0a, 0x04, 0x53, 0x68, 0x61, 0x31, 0x1a, 0x05, 0x0a, 0x03, 0x41, + 0x70, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x1a, + 0x43, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x68, + 0x61, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x68, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, + 0x77, 0x6f, 0x72, 0x64, 0x1a, 0xe7, 0x01, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x62, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, + 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, + 0x74, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, + 0x69, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, + 0x75, 0x73, 0x65, 0x72, 0x73, 0x1a, 0x77, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x53, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, + 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x61, 0x73, + 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, + 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0xbf, 0x03, + 0x0a, 0x0b, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, + 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2b, + 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0x18, 0x01, 0xc8, 0xf5, 0x04, 0x01, 0x52, 0x0c, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0a, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x09, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x90, + 0x01, 0x0a, 0x1a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, + 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x41, 0x75, 0x74, + 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x17, 0x61, 0x75, 0x74, 0x68, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x12, 0x1b, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x61, 0x70, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x27, + 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x1a, 0x4a, 0x0a, 0x1c, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0xdb, 0x03, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x15, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x6f, 0x6e, + 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x4f, 0x6e, 0x46, 0x65, 0x74, 0x63, + 0x68, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x63, 0x6f, 0x6f, 0x6b, + 0x69, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6f, + 0x6b, 0x69, 0x65, 0x12, 0x49, 0x0a, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x12, 0x6a, + 0x0a, 0x0d, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x69, + 0x70, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x26, 0x0a, 0x0c, 0x43, 0x69, + 0x70, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xc8, 0xf5, 0x04, 0x01, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x8b, 0x17, + 0x0a, 0x1b, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, + 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0d, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x04, 0xc8, 0xf5, 0x04, 0x01, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x5f, + 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x55, 0x72, 0x6c, 0x12, 0x9c, 0x01, 0x0a, 0x1a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, + 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x61, 0x75, 0x74, 0x68, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x1b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x60, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x23, + 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x6f, + 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x07, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x59, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, + 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x11, 0x64, 0x69, 0x73, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x51, 0x0a, + 0x17, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x64, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x12, 0x72, 0x0a, 0x19, 0x6a, 0x77, 0x6b, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x72, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4a, 0x77, + 0x6b, 0x73, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x16, 0x6a, 0x77, + 0x6b, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x70, 0x61, 0x72, + 0x73, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x5f, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x18, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x61, + 0x74, 0x68, 0x41, 0x73, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x61, 0x0a, 0x16, 0x61, 0x75, 0x74, + 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x4d, 0x61, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x4d, 0x61, 0x70, + 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x63, 0x0a, 0x16, + 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x6e, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x14, 0x65, 0x6e, 0x64, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x12, 0x5b, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xb0, + 0x01, 0x0a, 0x23, 0x70, 0x6b, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x62, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x50, 0x6b, 0x4a, 0x77, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, + 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x1f, 0x70, 0x6b, 0x4a, 0x77, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, + 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x71, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x77, 0x0a, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0d, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x66, 0x0a, + 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, + 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x60, 0x0a, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x18, 0x1b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, + 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x69, 0x64, + 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x48, 0x00, + 0x52, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x1a, 0x4a, 0x0a, 0x1c, 0x41, 0x75, 0x74, 0x68, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x1d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x80, 0x01, 0x0a, 0x1f, 0x50, 0x6b, 0x4a, 0x77, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xc8, 0xf5, 0x04, 0x01, 0x52, + 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x46, 0x6f, 0x72, 0x1a, 0x55, 0x0a, 0x0d, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x6f, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x1a, 0x8b, 0x01, 0x0a, 0x0b, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x7c, 0x0a, 0x11, 0x63, 0x6c, + 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x69, + 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x54, + 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x54, + 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x8d, 0x01, 0x0a, 0x0d, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x7c, 0x0a, 0x11, 0x63, 0x6c, + 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x69, + 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x54, + 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x54, + 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x09, 0x0a, 0x07, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x1a, 0xc9, 0x01, 0x0a, 0x05, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, + 0xc8, 0xf5, 0x04, 0x01, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x12, 0x5b, 0x0a, 0x16, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x63, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x64, + 0x69, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x63, 0x6c, 0x61, 0x69, 0x6d, + 0x73, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, + 0x0a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0xff, 0x09, 0x0a, 0x1b, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x11, 0x69, + 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, + 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x64, + 0x0a, 0x03, 0x6a, 0x77, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x4a, 0x77, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x03, 0x6a, 0x77, 0x74, 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x72, + 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, + 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x3e, 0x0a, 0x0d, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x77, 0x0a, 0x0f, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x48, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x1a, 0xd5, 0x03, 0x0a, 0x0d, 0x4a, 0x77, 0x74, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7e, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x5f, 0x6a, 0x77, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x4a, 0x77, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x7b, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x5f, 0x6a, 0x77, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x4a, 0x77, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x4a, 0x77, 0x6b, 0x73, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x1a, 0x64, 0x0a, 0x0a, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x44, 0x0a, 0x10, + 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x1a, 0x30, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4a, 0x77, 0x6b, 0x73, 0x12, + 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x42, 0x17, 0x0a, 0x15, 0x6a, 0x77, 0x6b, 0x73, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0xc3, 0x01, + 0x0a, 0x17, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x74, + 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xc8, 0xf5, 0x04, 0x01, + 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x33, + 0x0a, 0x16, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x1a, 0x21, 0x0a, 0x09, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xe0, 0x07, + 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x29, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xc8, 0xf5, 0x04, 0x01, 0x52, 0x0c, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x92, 0x01, 0x0a, 0x1a, + 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x55, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, + 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x4f, 0x41, + 0x75, 0x74, 0x68, 0x32, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x61, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x61, 0x70, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, + 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x95, 0x01, 0x0a, 0x1b, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x56, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, + 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x4f, + 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, + 0x6f, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, + 0x66, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x23, 0x0a, + 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x76, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x0c, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, + 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x4a, 0x0a, 0x1c, 0x41, 0x75, 0x74, 0x68, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x1d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x8d, 0x03, 0x0a, 0x0c, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x7c, 0x0a, 0x17, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x15, 0x6f, 0x69, 0x64, 0x63, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x89, 0x01, 0x0a, 0x1e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x1b, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x0d, 0x6f, + 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6c, 0x61, 0x69, 0x6e, + 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, + 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0c, 0x0a, 0x0a, + 0x6f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, + 0x1a, 0xd3, 0x07, 0x0a, 0x10, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, + 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x04, 0xc8, 0xf5, 0x04, 0x01, 0x52, 0x0c, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x8e, 0x01, + 0x0a, 0x19, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6b, + 0x65, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x53, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, + 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, + 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x46, + 0x72, 0x6f, 0x6d, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x6c, + 0x0a, 0x19, 0x6b, 0x38, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x61, 0x70, 0x69, + 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x38, 0x73, 0x53, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x48, 0x00, 0x52, 0x16, 0x6b, 0x38, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, + 0x70, 0x69, 0x6b, 0x65, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x6b, 0x0a, 0x18, + 0x61, 0x65, 0x72, 0x6f, 0x73, 0x70, 0x69, 0x6b, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, + 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x65, 0x72, 0x6f, 0x73, 0x70, 0x69, + 0x6b, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x48, + 0x00, 0x52, 0x16, 0x61, 0x65, 0x72, 0x6f, 0x73, 0x70, 0x69, 0x6b, 0x65, 0x41, 0x70, 0x69, 0x6b, + 0x65, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x1a, 0xd5, 0x01, 0x0a, 0x0b, 0x4b, 0x65, + 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x84, 0x01, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x70, 0x69, 0x4b, 0x65, + 0x79, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x59, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x49, 0x0a, 0x1b, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x1a, 0x81, 0x02, 0x0a, 0x0d, 0x4f, 0x70, 0x61, 0x41, 0x75, + 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, + 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x4f, 0x70, 0x61, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x70, 0x61, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, + 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xb0, 0x01, 0x0a, 0x13, 0x4f, + 0x70, 0x61, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x41, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x70, 0x61, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xbf, 0x03, + 0x0a, 0x0a, 0x4c, 0x64, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x44, 0x6e, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x75, 0x73, 0x65, 0x72, 0x44, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x38, + 0x0a, 0x17, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x17, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x40, + 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x64, 0x61, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, + 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x73, 0x0a, 0x15, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x4c, 0x64, 0x61, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, + 0xa8, 0x01, 0x0a, 0x18, 0x4c, 0x64, 0x61, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, + 0xc8, 0xf5, 0x04, 0x01, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, + 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x04, 0xc8, 0xf5, 0x04, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x12, 0x48, 0x0a, 0x21, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xff, 0x01, 0x0a, 0x0e, 0x48, + 0x6d, 0x61, 0x63, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5c, 0x0a, + 0x0b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6e, 0x4d, 0x65, 0x6d, + 0x6f, 0x72, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x15, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x49, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x01, 0x52, 0x13, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xc5, 0x01, 0x0a, + 0x12, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6c, 0x69, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x42, 0x04, 0xc8, 0xf5, 0x04, 0x01, 0x52, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xf0, 0x08, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x4e, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, + 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, 0x75, 0x74, + 0x68, 0x12, 0x4d, 0x0a, 0x06, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, + 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, + 0x12, 0x43, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x42, + 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, + 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x6a, 0x0a, 0x13, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, + 0x75, 0x74, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, + 0x41, 0x75, 0x74, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x11, + 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x12, 0x5b, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x75, 0x74, + 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x48, 0x00, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x46, + 0x0a, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x75, + 0x74, 0x68, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x12, 0x51, 0x0a, 0x08, 0x6f, 0x70, 0x61, 0x5f, 0x61, 0x75, + 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x4f, 0x70, 0x61, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, + 0x52, 0x07, 0x6f, 0x70, 0x61, 0x41, 0x75, 0x74, 0x68, 0x12, 0x37, 0x0a, 0x04, 0x6c, 0x64, 0x61, + 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x4c, 0x64, 0x61, 0x70, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x64, + 0x61, 0x70, 0x12, 0x58, 0x0a, 0x0d, 0x6c, 0x64, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x4c, 0x64, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, + 0x6c, 0x64, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x03, + 0x6a, 0x77, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x48, 0x00, 0x52, 0x03, 0x6a, 0x77, 0x74, 0x12, 0x56, 0x0a, 0x11, 0x70, 0x61, 0x73, 0x73, + 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x61, + 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, + 0x0f, 0x70, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x41, 0x75, 0x74, 0x68, + 0x12, 0x54, 0x0a, 0x09, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, + 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x6d, 0x61, 0x63, + 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x08, 0x68, 0x6d, + 0x61, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x64, 0x0a, 0x0f, 0x6f, 0x70, 0x61, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, + 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x70, 0x61, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0d, 0x6f, + 0x70, 0x61, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x42, 0x0d, 0x0a, 0x0b, + 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x01, 0x10, + 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x73, 0x0a, 0x13, 0x41, 0x70, 0x69, 0x4b, 0x65, + 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, + 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, + 0x79, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x61, + 0x77, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0a, 0x72, 0x61, 0x77, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x52, 0x0a, 0x14, + 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, + 0x22, 0x4d, 0x0a, 0x11, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x61, 0x77, 0x5f, 0x61, 0x70, 0x69, + 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x61, 0x77, + 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, + 0x50, 0x0a, 0x12, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, + 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x73, + 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, + 0x69, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x0a, + 0x0c, 0x72, 0x61, 0x77, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x22, + 0x52, 0x0a, 0x14, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6b, + 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x73, 0x22, 0x4f, 0x0a, 0x13, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x61, + 0x77, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0a, 0x72, 0x61, 0x77, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xee, 0x03, 0x0a, + 0x10, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x42, + 0x79, 0x12, 0x75, 0x0a, 0x14, 0x73, 0x75, 0x62, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x42, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x13, 0x73, 0x75, 0x62, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x71, 0x0a, 0x18, 0x53, + 0x75, 0x62, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, + 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, + 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x02, + 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x22, 0xe7, 0x01, + 0x0a, 0x1c, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x5f, + 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x1a, + 0x66, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x75, 0x74, 0x68, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0xdd, 0x02, 0x0a, 0x17, 0x45, 0x78, 0x74, 0x41, + 0x75, 0x74, 0x68, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, + 0x01, 0x12, 0x65, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, + 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x74, + 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7d, 0x0a, 0x12, 0x46, 0x65, 0x74, 0x63, + 0x68, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x65, 0x78, 0x74, 0x61, 0x75, 0x74, 0x68, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x01, 0x2a, 0x32, 0xad, 0x03, 0x0a, 0x0d, 0x41, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x67, 0x0a, 0x06, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, + 0x69, 0x4b, 0x65, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x61, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x2a, 0x2e, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x61, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x2c, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, + 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x58, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x76, 0x31, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, + 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes = make([]protoimpl.MessageInfo, 150) +var file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_goTypes = []interface{}{ + (Settings_ApiVersion)(0), // 0: enterprise.gloo.solo.io.Settings.ApiVersion + (RedisOptions_SocketType)(0), // 1: enterprise.gloo.solo.io.RedisOptions.SocketType + (UserSession_CookieOptions_SameSite)(0), // 2: enterprise.gloo.solo.io.UserSession.CookieOptions.SameSite + (EndSessionProperties_MethodType)(0), // 3: enterprise.gloo.solo.io.EndSessionProperties.MethodType + (AuthConfigStatus_State)(0), // 4: enterprise.gloo.solo.io.AuthConfigStatus.State + (*AuthConfigSpec)(nil), // 5: enterprise.gloo.solo.io.AuthConfigSpec + (*ExtAuthExtension)(nil), // 6: enterprise.gloo.solo.io.ExtAuthExtension + (*Settings)(nil), // 7: enterprise.gloo.solo.io.Settings + (*GrpcService)(nil), // 8: enterprise.gloo.solo.io.GrpcService + (*HttpService)(nil), // 9: enterprise.gloo.solo.io.HttpService + (*BufferSettings)(nil), // 10: enterprise.gloo.solo.io.BufferSettings + (*CustomAuth)(nil), // 11: enterprise.gloo.solo.io.CustomAuth + (*AuthPlugin)(nil), // 12: enterprise.gloo.solo.io.AuthPlugin + (*BasicAuth)(nil), // 13: enterprise.gloo.solo.io.BasicAuth + (*HmacAuth)(nil), // 14: enterprise.gloo.solo.io.HmacAuth + (*SecretRefList)(nil), // 15: enterprise.gloo.solo.io.SecretRefList + (*HmacParametersInHeaders)(nil), // 16: enterprise.gloo.solo.io.HmacParametersInHeaders + (*OAuth)(nil), // 17: enterprise.gloo.solo.io.OAuth + (*OAuth2)(nil), // 18: enterprise.gloo.solo.io.OAuth2 + (*RedisOptions)(nil), // 19: enterprise.gloo.solo.io.RedisOptions + (*UserSession)(nil), // 20: enterprise.gloo.solo.io.UserSession + (*HeaderConfiguration)(nil), // 21: enterprise.gloo.solo.io.HeaderConfiguration + (*DiscoveryOverride)(nil), // 22: enterprise.gloo.solo.io.DiscoveryOverride + (*JwksOnDemandCacheRefreshPolicy)(nil), // 23: enterprise.gloo.solo.io.JwksOnDemandCacheRefreshPolicy + (*AutoMapFromMetadata)(nil), // 24: enterprise.gloo.solo.io.AutoMapFromMetadata + (*EndSessionProperties)(nil), // 25: enterprise.gloo.solo.io.EndSessionProperties + (*ClaimToHeader)(nil), // 26: enterprise.gloo.solo.io.ClaimToHeader + (*OidcAuthorizationCode)(nil), // 27: enterprise.gloo.solo.io.OidcAuthorizationCode + (*PlainOAuth2)(nil), // 28: enterprise.gloo.solo.io.PlainOAuth2 + (*JwtValidation)(nil), // 29: enterprise.gloo.solo.io.JwtValidation + (*IntrospectionValidation)(nil), // 30: enterprise.gloo.solo.io.IntrospectionValidation + (*AccessTokenValidation)(nil), // 31: enterprise.gloo.solo.io.AccessTokenValidation + (*OauthSecret)(nil), // 32: enterprise.gloo.solo.io.OauthSecret + (*ApiKeyAuth)(nil), // 33: enterprise.gloo.solo.io.ApiKeyAuth + (*K8SSecretApiKeyStorage)(nil), // 34: enterprise.gloo.solo.io.K8sSecretApiKeyStorage + (*AerospikeApiKeyStorage)(nil), // 35: enterprise.gloo.solo.io.AerospikeApiKeyStorage + (*ApiKey)(nil), // 36: enterprise.gloo.solo.io.ApiKey + (*ApiKeySecret)(nil), // 37: enterprise.gloo.solo.io.ApiKeySecret + (*OpaAuth)(nil), // 38: enterprise.gloo.solo.io.OpaAuth + (*OpaAuthOptions)(nil), // 39: enterprise.gloo.solo.io.OpaAuthOptions + (*OpaServerAuth)(nil), // 40: enterprise.gloo.solo.io.OpaServerAuth + (*Ldap)(nil), // 41: enterprise.gloo.solo.io.Ldap + (*LdapServiceAccount)(nil), // 42: enterprise.gloo.solo.io.LdapServiceAccount + (*PassThroughAuth)(nil), // 43: enterprise.gloo.solo.io.PassThroughAuth + (*PassThroughGrpc)(nil), // 44: enterprise.gloo.solo.io.PassThroughGrpc + (*PassThroughGrpcTLSConfig)(nil), // 45: enterprise.gloo.solo.io.PassThroughGrpcTLSConfig + (*PassThroughHttp)(nil), // 46: enterprise.gloo.solo.io.PassThroughHttp + (*ExtAuthConfig)(nil), // 47: enterprise.gloo.solo.io.ExtAuthConfig + (*ApiKeyCreateRequest)(nil), // 48: enterprise.gloo.solo.io.ApiKeyCreateRequest + (*ApiKeyCreateResponse)(nil), // 49: enterprise.gloo.solo.io.ApiKeyCreateResponse + (*ApiKeyReadRequest)(nil), // 50: enterprise.gloo.solo.io.ApiKeyReadRequest + (*ApiKeyReadResponse)(nil), // 51: enterprise.gloo.solo.io.ApiKeyReadResponse + (*ApiKeyUpdateRequest)(nil), // 52: enterprise.gloo.solo.io.ApiKeyUpdateRequest + (*ApiKeyUpdateResponse)(nil), // 53: enterprise.gloo.solo.io.ApiKeyUpdateResponse + (*ApiKeyDeleteRequest)(nil), // 54: enterprise.gloo.solo.io.ApiKeyDeleteRequest + (*ApiKeyDeleteResponse)(nil), // 55: enterprise.gloo.solo.io.ApiKeyDeleteResponse + (*AuthConfigStatus)(nil), // 56: enterprise.gloo.solo.io.AuthConfigStatus + (*AuthConfigNamespacedStatuses)(nil), // 57: enterprise.gloo.solo.io.AuthConfigNamespacedStatuses + (*AuthConfigSpec_Config)(nil), // 58: enterprise.gloo.solo.io.AuthConfigSpec.Config + (*HttpService_Request)(nil), // 59: enterprise.gloo.solo.io.HttpService.Request + (*HttpService_Response)(nil), // 60: enterprise.gloo.solo.io.HttpService.Response + nil, // 61: enterprise.gloo.solo.io.HttpService.Request.HeadersToAddEntry + nil, // 62: enterprise.gloo.solo.io.CustomAuth.ContextExtensionsEntry + (*BasicAuth_Apr)(nil), // 63: enterprise.gloo.solo.io.BasicAuth.Apr + (*BasicAuth_EncryptionType)(nil), // 64: enterprise.gloo.solo.io.BasicAuth.EncryptionType + (*BasicAuth_User)(nil), // 65: enterprise.gloo.solo.io.BasicAuth.User + (*BasicAuth_UserList)(nil), // 66: enterprise.gloo.solo.io.BasicAuth.UserList + (*BasicAuth_Apr_SaltedHashedPassword)(nil), // 67: enterprise.gloo.solo.io.BasicAuth.Apr.SaltedHashedPassword + nil, // 68: enterprise.gloo.solo.io.BasicAuth.Apr.UsersEntry + (*BasicAuth_EncryptionType_Sha1)(nil), // 69: enterprise.gloo.solo.io.BasicAuth.EncryptionType.Sha1 + (*BasicAuth_EncryptionType_Apr)(nil), // 70: enterprise.gloo.solo.io.BasicAuth.EncryptionType.Apr + nil, // 71: enterprise.gloo.solo.io.BasicAuth.UserList.UsersEntry + nil, // 72: enterprise.gloo.solo.io.OAuth.AuthEndpointQueryParamsEntry + (*UserSession_InternalSession)(nil), // 73: enterprise.gloo.solo.io.UserSession.InternalSession + (*UserSession_RedisSession)(nil), // 74: enterprise.gloo.solo.io.UserSession.RedisSession + (*UserSession_CookieOptions)(nil), // 75: enterprise.gloo.solo.io.UserSession.CookieOptions + (*UserSession_CipherConfig)(nil), // 76: enterprise.gloo.solo.io.UserSession.CipherConfig + nil, // 77: enterprise.gloo.solo.io.OidcAuthorizationCode.AuthEndpointQueryParamsEntry + nil, // 78: enterprise.gloo.solo.io.OidcAuthorizationCode.TokenEndpointQueryParamsEntry + nil, // 79: enterprise.gloo.solo.io.OidcAuthorizationCode.DynamicMetadataFromClaimsEntry + (*OidcAuthorizationCode_AccessToken)(nil), // 80: enterprise.gloo.solo.io.OidcAuthorizationCode.AccessToken + (*OidcAuthorizationCode_IdentityToken)(nil), // 81: enterprise.gloo.solo.io.OidcAuthorizationCode.IdentityToken + (*OidcAuthorizationCode_ClientAuthentication)(nil), // 82: enterprise.gloo.solo.io.OidcAuthorizationCode.ClientAuthentication + (*OidcAuthorizationCode_Default)(nil), // 83: enterprise.gloo.solo.io.OidcAuthorizationCode.Default + (*OidcAuthorizationCode_Azure)(nil), // 84: enterprise.gloo.solo.io.OidcAuthorizationCode.Azure + (*OidcAuthorizationCode_ClientAuthentication_ClientSecret)(nil), // 85: enterprise.gloo.solo.io.OidcAuthorizationCode.ClientAuthentication.ClientSecret + (*OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt)(nil), // 86: enterprise.gloo.solo.io.OidcAuthorizationCode.ClientAuthentication.PrivateKeyJwt + nil, // 87: enterprise.gloo.solo.io.PlainOAuth2.AuthEndpointQueryParamsEntry + nil, // 88: enterprise.gloo.solo.io.PlainOAuth2.TokenEndpointQueryParamsEntry + (*JwtValidation_RemoteJwks)(nil), // 89: enterprise.gloo.solo.io.JwtValidation.RemoteJwks + (*JwtValidation_LocalJwks)(nil), // 90: enterprise.gloo.solo.io.JwtValidation.LocalJwks + nil, // 91: enterprise.gloo.solo.io.AccessTokenValidation.DynamicMetadataFromClaimsEntry + (*AccessTokenValidation_ScopeList)(nil), // 92: enterprise.gloo.solo.io.AccessTokenValidation.ScopeList + nil, // 93: enterprise.gloo.solo.io.ApiKeyAuth.LabelSelectorEntry + nil, // 94: enterprise.gloo.solo.io.ApiKeyAuth.HeadersFromMetadataEntry + nil, // 95: enterprise.gloo.solo.io.ApiKeyAuth.HeadersFromMetadataEntryEntry + (*ApiKeyAuth_SecretKey)(nil), // 96: enterprise.gloo.solo.io.ApiKeyAuth.SecretKey + (*ApiKeyAuth_MetadataEntry)(nil), // 97: enterprise.gloo.solo.io.ApiKeyAuth.MetadataEntry + nil, // 98: enterprise.gloo.solo.io.K8sSecretApiKeyStorage.LabelSelectorEntry + (*AerospikeApiKeyStorageReadModeSc)(nil), // 99: enterprise.gloo.solo.io.AerospikeApiKeyStorage.readModeSc + (*AerospikeApiKeyStorageReadModeAp)(nil), // 100: enterprise.gloo.solo.io.AerospikeApiKeyStorage.readModeAp + (*AerospikeApiKeyStorageTlsCurveID)(nil), // 101: enterprise.gloo.solo.io.AerospikeApiKeyStorage.tlsCurveID + nil, // 102: enterprise.gloo.solo.io.AerospikeApiKeyStorage.LabelSelectorEntry + nil, // 103: enterprise.gloo.solo.io.ApiKey.MetadataEntry + nil, // 104: enterprise.gloo.solo.io.ApiKeySecret.MetadataEntry + (*Ldap_ConnectionPool)(nil), // 105: enterprise.gloo.solo.io.Ldap.ConnectionPool + (*PassThroughHttp_Request)(nil), // 106: enterprise.gloo.solo.io.PassThroughHttp.Request + (*PassThroughHttp_Response)(nil), // 107: enterprise.gloo.solo.io.PassThroughHttp.Response + nil, // 108: enterprise.gloo.solo.io.PassThroughHttp.Request.HeadersToAddEntry + (*ExtAuthConfig_BasicAuthInternal)(nil), // 109: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal + (*ExtAuthConfig_OAuthConfig)(nil), // 110: enterprise.gloo.solo.io.ExtAuthConfig.OAuthConfig + (*ExtAuthConfig_UserSessionConfig)(nil), // 111: enterprise.gloo.solo.io.ExtAuthConfig.UserSessionConfig + (*ExtAuthConfig_OidcAuthorizationCodeConfig)(nil), // 112: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig + (*ExtAuthConfig_AccessTokenValidationConfig)(nil), // 113: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig + (*ExtAuthConfig_PlainOAuth2Config)(nil), // 114: enterprise.gloo.solo.io.ExtAuthConfig.PlainOAuth2Config + (*ExtAuthConfig_OAuth2Config)(nil), // 115: enterprise.gloo.solo.io.ExtAuthConfig.OAuth2Config + (*ExtAuthConfig_ApiKeyAuthConfig)(nil), // 116: enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig + (*ExtAuthConfig_OpaAuthConfig)(nil), // 117: enterprise.gloo.solo.io.ExtAuthConfig.OpaAuthConfig + (*ExtAuthConfig_OpaServerAuthConfig)(nil), // 118: enterprise.gloo.solo.io.ExtAuthConfig.OpaServerAuthConfig + (*ExtAuthConfig_LdapConfig)(nil), // 119: enterprise.gloo.solo.io.ExtAuthConfig.LdapConfig + (*ExtAuthConfig_LdapServiceAccountConfig)(nil), // 120: enterprise.gloo.solo.io.ExtAuthConfig.LdapServiceAccountConfig + (*ExtAuthConfig_HmacAuthConfig)(nil), // 121: enterprise.gloo.solo.io.ExtAuthConfig.HmacAuthConfig + (*ExtAuthConfig_InMemorySecretList)(nil), // 122: enterprise.gloo.solo.io.ExtAuthConfig.InMemorySecretList + (*ExtAuthConfig_Config)(nil), // 123: enterprise.gloo.solo.io.ExtAuthConfig.Config + (*ExtAuthConfig_BasicAuthInternal_EncryptionType)(nil), // 124: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.EncryptionType + (*ExtAuthConfig_BasicAuthInternal_User)(nil), // 125: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.User + (*ExtAuthConfig_BasicAuthInternal_UserList)(nil), // 126: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.UserList + (*ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1)(nil), // 127: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.EncryptionType.Sha1 + (*ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr)(nil), // 128: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.EncryptionType.Apr + nil, // 129: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.UserList.UsersEntry + nil, // 130: enterprise.gloo.solo.io.ExtAuthConfig.OAuthConfig.AuthEndpointQueryParamsEntry + (*ExtAuthConfig_UserSessionConfig_CipherConfig)(nil), // 131: enterprise.gloo.solo.io.ExtAuthConfig.UserSessionConfig.CipherConfig + nil, // 132: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.AuthEndpointQueryParamsEntry + nil, // 133: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.TokenEndpointQueryParamsEntry + (*ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig)(nil), // 134: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.PkJwtClientAuthenticationConfig + (*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader)(nil), // 135: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.ClaimToHeader + (*ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken)(nil), // 136: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.AccessToken + (*ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken)(nil), // 137: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.IdentityToken + (*ExtAuthConfig_OidcAuthorizationCodeConfig_Default)(nil), // 138: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.Default + (*ExtAuthConfig_OidcAuthorizationCodeConfig_Azure)(nil), // 139: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.Azure + (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation)(nil), // 140: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.JwtValidation + (*ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation)(nil), // 141: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.IntrospectionValidation + (*ExtAuthConfig_AccessTokenValidationConfig_ScopeList)(nil), // 142: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.ScopeList + (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks)(nil), // 143: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.JwtValidation.RemoteJwks + (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks)(nil), // 144: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.JwtValidation.LocalJwks + nil, // 145: enterprise.gloo.solo.io.ExtAuthConfig.PlainOAuth2Config.AuthEndpointQueryParamsEntry + nil, // 146: enterprise.gloo.solo.io.ExtAuthConfig.PlainOAuth2Config.TokenEndpointQueryParamsEntry + (*ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata)(nil), // 147: enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.KeyMetadata + nil, // 148: enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.ValidApiKeysEntry + nil, // 149: enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.HeadersFromKeyMetadataEntry + nil, // 150: enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.KeyMetadata.MetadataEntry + nil, // 151: enterprise.gloo.solo.io.ExtAuthConfig.OpaAuthConfig.ModulesEntry + nil, // 152: enterprise.gloo.solo.io.ExtAuthConfig.InMemorySecretList.SecretListEntry + nil, // 153: enterprise.gloo.solo.io.AuthConfigStatus.SubresourceStatusesEntry + nil, // 154: enterprise.gloo.solo.io.AuthConfigNamespacedStatuses.StatusesEntry + (*wrappers.StringValue)(nil), // 155: google.protobuf.StringValue + (*core.ResourceRef)(nil), // 156: core.solo.io.ResourceRef + (*duration.Duration)(nil), // 157: google.protobuf.Duration + (*_struct.Struct)(nil), // 158: google.protobuf.Struct + (*wrappers.BoolValue)(nil), // 159: google.protobuf.BoolValue + (*empty.Empty)(nil), // 160: google.protobuf.Empty + (*wrappers.UInt32Value)(nil), // 161: google.protobuf.UInt32Value + (*v2.DiscoveryRequest)(nil), // 162: envoy.api.v2.DiscoveryRequest + (*v2.DeltaDiscoveryRequest)(nil), // 163: envoy.api.v2.DeltaDiscoveryRequest + (*v2.DiscoveryResponse)(nil), // 164: envoy.api.v2.DiscoveryResponse + (*v2.DeltaDiscoveryResponse)(nil), // 165: envoy.api.v2.DeltaDiscoveryResponse +} +var file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_depIdxs = []int32{ + 58, // 0: enterprise.gloo.solo.io.AuthConfigSpec.configs:type_name -> enterprise.gloo.solo.io.AuthConfigSpec.Config + 155, // 1: enterprise.gloo.solo.io.AuthConfigSpec.boolean_expr:type_name -> google.protobuf.StringValue + 156, // 2: enterprise.gloo.solo.io.ExtAuthExtension.config_ref:type_name -> core.solo.io.ResourceRef + 11, // 3: enterprise.gloo.solo.io.ExtAuthExtension.custom_auth:type_name -> enterprise.gloo.solo.io.CustomAuth + 156, // 4: enterprise.gloo.solo.io.Settings.extauthz_server_ref:type_name -> core.solo.io.ResourceRef + 9, // 5: enterprise.gloo.solo.io.Settings.http_service:type_name -> enterprise.gloo.solo.io.HttpService + 8, // 6: enterprise.gloo.solo.io.Settings.grpc_service:type_name -> enterprise.gloo.solo.io.GrpcService + 157, // 7: enterprise.gloo.solo.io.Settings.request_timeout:type_name -> google.protobuf.Duration + 10, // 8: enterprise.gloo.solo.io.Settings.request_body:type_name -> enterprise.gloo.solo.io.BufferSettings + 0, // 9: enterprise.gloo.solo.io.Settings.transport_api_version:type_name -> enterprise.gloo.solo.io.Settings.ApiVersion + 59, // 10: enterprise.gloo.solo.io.HttpService.request:type_name -> enterprise.gloo.solo.io.HttpService.Request + 60, // 11: enterprise.gloo.solo.io.HttpService.response:type_name -> enterprise.gloo.solo.io.HttpService.Response + 62, // 12: enterprise.gloo.solo.io.CustomAuth.context_extensions:type_name -> enterprise.gloo.solo.io.CustomAuth.ContextExtensionsEntry + 158, // 13: enterprise.gloo.solo.io.AuthPlugin.config:type_name -> google.protobuf.Struct + 63, // 14: enterprise.gloo.solo.io.BasicAuth.apr:type_name -> enterprise.gloo.solo.io.BasicAuth.Apr + 64, // 15: enterprise.gloo.solo.io.BasicAuth.encryption:type_name -> enterprise.gloo.solo.io.BasicAuth.EncryptionType + 66, // 16: enterprise.gloo.solo.io.BasicAuth.user_list:type_name -> enterprise.gloo.solo.io.BasicAuth.UserList + 15, // 17: enterprise.gloo.solo.io.HmacAuth.secret_refs:type_name -> enterprise.gloo.solo.io.SecretRefList + 16, // 18: enterprise.gloo.solo.io.HmacAuth.parameters_in_headers:type_name -> enterprise.gloo.solo.io.HmacParametersInHeaders + 156, // 19: enterprise.gloo.solo.io.SecretRefList.secret_refs:type_name -> core.solo.io.ResourceRef + 156, // 20: enterprise.gloo.solo.io.OAuth.client_secret_ref:type_name -> core.solo.io.ResourceRef + 72, // 21: enterprise.gloo.solo.io.OAuth.auth_endpoint_query_params:type_name -> enterprise.gloo.solo.io.OAuth.AuthEndpointQueryParamsEntry + 27, // 22: enterprise.gloo.solo.io.OAuth2.oidc_authorization_code:type_name -> enterprise.gloo.solo.io.OidcAuthorizationCode + 31, // 23: enterprise.gloo.solo.io.OAuth2.access_token_validation:type_name -> enterprise.gloo.solo.io.AccessTokenValidation + 28, // 24: enterprise.gloo.solo.io.OAuth2.oauth2:type_name -> enterprise.gloo.solo.io.PlainOAuth2 + 1, // 25: enterprise.gloo.solo.io.RedisOptions.socket_type:type_name -> enterprise.gloo.solo.io.RedisOptions.SocketType + 75, // 26: enterprise.gloo.solo.io.UserSession.cookie_options:type_name -> enterprise.gloo.solo.io.UserSession.CookieOptions + 73, // 27: enterprise.gloo.solo.io.UserSession.cookie:type_name -> enterprise.gloo.solo.io.UserSession.InternalSession + 74, // 28: enterprise.gloo.solo.io.UserSession.redis:type_name -> enterprise.gloo.solo.io.UserSession.RedisSession + 76, // 29: enterprise.gloo.solo.io.UserSession.cipher_config:type_name -> enterprise.gloo.solo.io.UserSession.CipherConfig + 159, // 30: enterprise.gloo.solo.io.HeaderConfiguration.use_bearer_schema_for_authorization:type_name -> google.protobuf.BoolValue + 160, // 31: enterprise.gloo.solo.io.JwksOnDemandCacheRefreshPolicy.never:type_name -> google.protobuf.Empty + 160, // 32: enterprise.gloo.solo.io.JwksOnDemandCacheRefreshPolicy.always:type_name -> google.protobuf.Empty + 3, // 33: enterprise.gloo.solo.io.EndSessionProperties.methodType:type_name -> enterprise.gloo.solo.io.EndSessionProperties.MethodType + 156, // 34: enterprise.gloo.solo.io.OidcAuthorizationCode.client_secret_ref:type_name -> core.solo.io.ResourceRef + 77, // 35: enterprise.gloo.solo.io.OidcAuthorizationCode.auth_endpoint_query_params:type_name -> enterprise.gloo.solo.io.OidcAuthorizationCode.AuthEndpointQueryParamsEntry + 78, // 36: enterprise.gloo.solo.io.OidcAuthorizationCode.token_endpoint_query_params:type_name -> enterprise.gloo.solo.io.OidcAuthorizationCode.TokenEndpointQueryParamsEntry + 20, // 37: enterprise.gloo.solo.io.OidcAuthorizationCode.session:type_name -> enterprise.gloo.solo.io.UserSession + 21, // 38: enterprise.gloo.solo.io.OidcAuthorizationCode.headers:type_name -> enterprise.gloo.solo.io.HeaderConfiguration + 22, // 39: enterprise.gloo.solo.io.OidcAuthorizationCode.discovery_override:type_name -> enterprise.gloo.solo.io.DiscoveryOverride + 157, // 40: enterprise.gloo.solo.io.OidcAuthorizationCode.discovery_poll_interval:type_name -> google.protobuf.Duration + 23, // 41: enterprise.gloo.solo.io.OidcAuthorizationCode.jwks_cache_refresh_policy:type_name -> enterprise.gloo.solo.io.JwksOnDemandCacheRefreshPolicy + 24, // 42: enterprise.gloo.solo.io.OidcAuthorizationCode.auto_map_from_metadata:type_name -> enterprise.gloo.solo.io.AutoMapFromMetadata + 25, // 43: enterprise.gloo.solo.io.OidcAuthorizationCode.end_session_properties:type_name -> enterprise.gloo.solo.io.EndSessionProperties + 79, // 44: enterprise.gloo.solo.io.OidcAuthorizationCode.dynamic_metadata_from_claims:type_name -> enterprise.gloo.solo.io.OidcAuthorizationCode.DynamicMetadataFromClaimsEntry + 159, // 45: enterprise.gloo.solo.io.OidcAuthorizationCode.disable_client_secret:type_name -> google.protobuf.BoolValue + 80, // 46: enterprise.gloo.solo.io.OidcAuthorizationCode.access_token:type_name -> enterprise.gloo.solo.io.OidcAuthorizationCode.AccessToken + 81, // 47: enterprise.gloo.solo.io.OidcAuthorizationCode.identity_token:type_name -> enterprise.gloo.solo.io.OidcAuthorizationCode.IdentityToken + 82, // 48: enterprise.gloo.solo.io.OidcAuthorizationCode.client_authentication:type_name -> enterprise.gloo.solo.io.OidcAuthorizationCode.ClientAuthentication + 83, // 49: enterprise.gloo.solo.io.OidcAuthorizationCode.default:type_name -> enterprise.gloo.solo.io.OidcAuthorizationCode.Default + 84, // 50: enterprise.gloo.solo.io.OidcAuthorizationCode.azure:type_name -> enterprise.gloo.solo.io.OidcAuthorizationCode.Azure + 156, // 51: enterprise.gloo.solo.io.PlainOAuth2.client_secret_ref:type_name -> core.solo.io.ResourceRef + 87, // 52: enterprise.gloo.solo.io.PlainOAuth2.auth_endpoint_query_params:type_name -> enterprise.gloo.solo.io.PlainOAuth2.AuthEndpointQueryParamsEntry + 20, // 53: enterprise.gloo.solo.io.PlainOAuth2.session:type_name -> enterprise.gloo.solo.io.UserSession + 88, // 54: enterprise.gloo.solo.io.PlainOAuth2.token_endpoint_query_params:type_name -> enterprise.gloo.solo.io.PlainOAuth2.TokenEndpointQueryParamsEntry + 159, // 55: enterprise.gloo.solo.io.PlainOAuth2.disable_client_secret:type_name -> google.protobuf.BoolValue + 89, // 56: enterprise.gloo.solo.io.JwtValidation.remote_jwks:type_name -> enterprise.gloo.solo.io.JwtValidation.RemoteJwks + 90, // 57: enterprise.gloo.solo.io.JwtValidation.local_jwks:type_name -> enterprise.gloo.solo.io.JwtValidation.LocalJwks + 156, // 58: enterprise.gloo.solo.io.IntrospectionValidation.client_secret_ref:type_name -> core.solo.io.ResourceRef + 159, // 59: enterprise.gloo.solo.io.IntrospectionValidation.disable_client_secret:type_name -> google.protobuf.BoolValue + 29, // 60: enterprise.gloo.solo.io.AccessTokenValidation.jwt:type_name -> enterprise.gloo.solo.io.JwtValidation + 30, // 61: enterprise.gloo.solo.io.AccessTokenValidation.introspection:type_name -> enterprise.gloo.solo.io.IntrospectionValidation + 157, // 62: enterprise.gloo.solo.io.AccessTokenValidation.cache_timeout:type_name -> google.protobuf.Duration + 92, // 63: enterprise.gloo.solo.io.AccessTokenValidation.required_scopes:type_name -> enterprise.gloo.solo.io.AccessTokenValidation.ScopeList + 91, // 64: enterprise.gloo.solo.io.AccessTokenValidation.dynamic_metadata_from_claims:type_name -> enterprise.gloo.solo.io.AccessTokenValidation.DynamicMetadataFromClaimsEntry + 93, // 65: enterprise.gloo.solo.io.ApiKeyAuth.label_selector:type_name -> enterprise.gloo.solo.io.ApiKeyAuth.LabelSelectorEntry + 156, // 66: enterprise.gloo.solo.io.ApiKeyAuth.api_key_secret_refs:type_name -> core.solo.io.ResourceRef + 94, // 67: enterprise.gloo.solo.io.ApiKeyAuth.headers_from_metadata:type_name -> enterprise.gloo.solo.io.ApiKeyAuth.HeadersFromMetadataEntry + 95, // 68: enterprise.gloo.solo.io.ApiKeyAuth.headers_from_metadata_entry:type_name -> enterprise.gloo.solo.io.ApiKeyAuth.HeadersFromMetadataEntryEntry + 34, // 69: enterprise.gloo.solo.io.ApiKeyAuth.k8s_secret_apikey_storage:type_name -> enterprise.gloo.solo.io.K8sSecretApiKeyStorage + 35, // 70: enterprise.gloo.solo.io.ApiKeyAuth.aerospike_apikey_storage:type_name -> enterprise.gloo.solo.io.AerospikeApiKeyStorage + 98, // 71: enterprise.gloo.solo.io.K8sSecretApiKeyStorage.label_selector:type_name -> enterprise.gloo.solo.io.K8sSecretApiKeyStorage.LabelSelectorEntry + 156, // 72: enterprise.gloo.solo.io.K8sSecretApiKeyStorage.api_key_secret_refs:type_name -> core.solo.io.ResourceRef + 99, // 73: enterprise.gloo.solo.io.AerospikeApiKeyStorage.read_mode_sc:type_name -> enterprise.gloo.solo.io.AerospikeApiKeyStorage.readModeSc + 100, // 74: enterprise.gloo.solo.io.AerospikeApiKeyStorage.read_mode_ap:type_name -> enterprise.gloo.solo.io.AerospikeApiKeyStorage.readModeAp + 101, // 75: enterprise.gloo.solo.io.AerospikeApiKeyStorage.tls_curve_groups:type_name -> enterprise.gloo.solo.io.AerospikeApiKeyStorage.tlsCurveID + 102, // 76: enterprise.gloo.solo.io.AerospikeApiKeyStorage.label_selector:type_name -> enterprise.gloo.solo.io.AerospikeApiKeyStorage.LabelSelectorEntry + 103, // 77: enterprise.gloo.solo.io.ApiKey.metadata:type_name -> enterprise.gloo.solo.io.ApiKey.MetadataEntry + 104, // 78: enterprise.gloo.solo.io.ApiKeySecret.metadata:type_name -> enterprise.gloo.solo.io.ApiKeySecret.MetadataEntry + 156, // 79: enterprise.gloo.solo.io.OpaAuth.modules:type_name -> core.solo.io.ResourceRef + 39, // 80: enterprise.gloo.solo.io.OpaAuth.options:type_name -> enterprise.gloo.solo.io.OpaAuthOptions + 39, // 81: enterprise.gloo.solo.io.OpaServerAuth.options:type_name -> enterprise.gloo.solo.io.OpaAuthOptions + 105, // 82: enterprise.gloo.solo.io.Ldap.pool:type_name -> enterprise.gloo.solo.io.Ldap.ConnectionPool + 42, // 83: enterprise.gloo.solo.io.Ldap.group_lookup_settings:type_name -> enterprise.gloo.solo.io.LdapServiceAccount + 156, // 84: enterprise.gloo.solo.io.LdapServiceAccount.credentials_secret_ref:type_name -> core.solo.io.ResourceRef + 44, // 85: enterprise.gloo.solo.io.PassThroughAuth.grpc:type_name -> enterprise.gloo.solo.io.PassThroughGrpc + 46, // 86: enterprise.gloo.solo.io.PassThroughAuth.http:type_name -> enterprise.gloo.solo.io.PassThroughHttp + 158, // 87: enterprise.gloo.solo.io.PassThroughAuth.config:type_name -> google.protobuf.Struct + 157, // 88: enterprise.gloo.solo.io.PassThroughGrpc.connection_timeout:type_name -> google.protobuf.Duration + 45, // 89: enterprise.gloo.solo.io.PassThroughGrpc.tlsConfig:type_name -> enterprise.gloo.solo.io.PassThroughGrpcTLSConfig + 106, // 90: enterprise.gloo.solo.io.PassThroughHttp.request:type_name -> enterprise.gloo.solo.io.PassThroughHttp.Request + 107, // 91: enterprise.gloo.solo.io.PassThroughHttp.response:type_name -> enterprise.gloo.solo.io.PassThroughHttp.Response + 157, // 92: enterprise.gloo.solo.io.PassThroughHttp.connection_timeout:type_name -> google.protobuf.Duration + 123, // 93: enterprise.gloo.solo.io.ExtAuthConfig.configs:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.Config + 155, // 94: enterprise.gloo.solo.io.ExtAuthConfig.boolean_expr:type_name -> google.protobuf.StringValue + 36, // 95: enterprise.gloo.solo.io.ApiKeyCreateRequest.api_keys:type_name -> enterprise.gloo.solo.io.ApiKey + 36, // 96: enterprise.gloo.solo.io.ApiKeyCreateResponse.api_keys:type_name -> enterprise.gloo.solo.io.ApiKey + 36, // 97: enterprise.gloo.solo.io.ApiKeyReadResponse.api_keys:type_name -> enterprise.gloo.solo.io.ApiKey + 36, // 98: enterprise.gloo.solo.io.ApiKeyUpdateRequest.api_keys:type_name -> enterprise.gloo.solo.io.ApiKey + 36, // 99: enterprise.gloo.solo.io.ApiKeyUpdateResponse.api_keys:type_name -> enterprise.gloo.solo.io.ApiKey + 4, // 100: enterprise.gloo.solo.io.AuthConfigStatus.state:type_name -> enterprise.gloo.solo.io.AuthConfigStatus.State + 153, // 101: enterprise.gloo.solo.io.AuthConfigStatus.subresource_statuses:type_name -> enterprise.gloo.solo.io.AuthConfigStatus.SubresourceStatusesEntry + 158, // 102: enterprise.gloo.solo.io.AuthConfigStatus.details:type_name -> google.protobuf.Struct + 154, // 103: enterprise.gloo.solo.io.AuthConfigNamespacedStatuses.statuses:type_name -> enterprise.gloo.solo.io.AuthConfigNamespacedStatuses.StatusesEntry + 155, // 104: enterprise.gloo.solo.io.AuthConfigSpec.Config.name:type_name -> google.protobuf.StringValue + 13, // 105: enterprise.gloo.solo.io.AuthConfigSpec.Config.basic_auth:type_name -> enterprise.gloo.solo.io.BasicAuth + 17, // 106: enterprise.gloo.solo.io.AuthConfigSpec.Config.oauth:type_name -> enterprise.gloo.solo.io.OAuth + 18, // 107: enterprise.gloo.solo.io.AuthConfigSpec.Config.oauth2:type_name -> enterprise.gloo.solo.io.OAuth2 + 33, // 108: enterprise.gloo.solo.io.AuthConfigSpec.Config.api_key_auth:type_name -> enterprise.gloo.solo.io.ApiKeyAuth + 12, // 109: enterprise.gloo.solo.io.AuthConfigSpec.Config.plugin_auth:type_name -> enterprise.gloo.solo.io.AuthPlugin + 38, // 110: enterprise.gloo.solo.io.AuthConfigSpec.Config.opa_auth:type_name -> enterprise.gloo.solo.io.OpaAuth + 41, // 111: enterprise.gloo.solo.io.AuthConfigSpec.Config.ldap:type_name -> enterprise.gloo.solo.io.Ldap + 160, // 112: enterprise.gloo.solo.io.AuthConfigSpec.Config.jwt:type_name -> google.protobuf.Empty + 43, // 113: enterprise.gloo.solo.io.AuthConfigSpec.Config.pass_through_auth:type_name -> enterprise.gloo.solo.io.PassThroughAuth + 14, // 114: enterprise.gloo.solo.io.AuthConfigSpec.Config.hmac_auth:type_name -> enterprise.gloo.solo.io.HmacAuth + 40, // 115: enterprise.gloo.solo.io.AuthConfigSpec.Config.opa_server_auth:type_name -> enterprise.gloo.solo.io.OpaServerAuth + 61, // 116: enterprise.gloo.solo.io.HttpService.Request.headers_to_add:type_name -> enterprise.gloo.solo.io.HttpService.Request.HeadersToAddEntry + 68, // 117: enterprise.gloo.solo.io.BasicAuth.Apr.users:type_name -> enterprise.gloo.solo.io.BasicAuth.Apr.UsersEntry + 70, // 118: enterprise.gloo.solo.io.BasicAuth.EncryptionType.apr:type_name -> enterprise.gloo.solo.io.BasicAuth.EncryptionType.Apr + 69, // 119: enterprise.gloo.solo.io.BasicAuth.EncryptionType.sha1:type_name -> enterprise.gloo.solo.io.BasicAuth.EncryptionType.Sha1 + 71, // 120: enterprise.gloo.solo.io.BasicAuth.UserList.users:type_name -> enterprise.gloo.solo.io.BasicAuth.UserList.UsersEntry + 67, // 121: enterprise.gloo.solo.io.BasicAuth.Apr.UsersEntry.value:type_name -> enterprise.gloo.solo.io.BasicAuth.Apr.SaltedHashedPassword + 65, // 122: enterprise.gloo.solo.io.BasicAuth.UserList.UsersEntry.value:type_name -> enterprise.gloo.solo.io.BasicAuth.User + 159, // 123: enterprise.gloo.solo.io.UserSession.InternalSession.allow_refreshing:type_name -> google.protobuf.BoolValue + 19, // 124: enterprise.gloo.solo.io.UserSession.RedisSession.options:type_name -> enterprise.gloo.solo.io.RedisOptions + 159, // 125: enterprise.gloo.solo.io.UserSession.RedisSession.allow_refreshing:type_name -> google.protobuf.BoolValue + 157, // 126: enterprise.gloo.solo.io.UserSession.RedisSession.pre_expiry_buffer:type_name -> google.protobuf.Duration + 161, // 127: enterprise.gloo.solo.io.UserSession.CookieOptions.max_age:type_name -> google.protobuf.UInt32Value + 159, // 128: enterprise.gloo.solo.io.UserSession.CookieOptions.http_only:type_name -> google.protobuf.BoolValue + 155, // 129: enterprise.gloo.solo.io.UserSession.CookieOptions.path:type_name -> google.protobuf.StringValue + 2, // 130: enterprise.gloo.solo.io.UserSession.CookieOptions.same_site:type_name -> enterprise.gloo.solo.io.UserSession.CookieOptions.SameSite + 156, // 131: enterprise.gloo.solo.io.UserSession.CipherConfig.key_ref:type_name -> core.solo.io.ResourceRef + 26, // 132: enterprise.gloo.solo.io.OidcAuthorizationCode.AccessToken.claims_to_headers:type_name -> enterprise.gloo.solo.io.ClaimToHeader + 26, // 133: enterprise.gloo.solo.io.OidcAuthorizationCode.IdentityToken.claims_to_headers:type_name -> enterprise.gloo.solo.io.ClaimToHeader + 85, // 134: enterprise.gloo.solo.io.OidcAuthorizationCode.ClientAuthentication.client_secret:type_name -> enterprise.gloo.solo.io.OidcAuthorizationCode.ClientAuthentication.ClientSecret + 86, // 135: enterprise.gloo.solo.io.OidcAuthorizationCode.ClientAuthentication.private_key_jwt:type_name -> enterprise.gloo.solo.io.OidcAuthorizationCode.ClientAuthentication.PrivateKeyJwt + 156, // 136: enterprise.gloo.solo.io.OidcAuthorizationCode.Azure.client_secret:type_name -> core.solo.io.ResourceRef + 19, // 137: enterprise.gloo.solo.io.OidcAuthorizationCode.Azure.claims_caching_options:type_name -> enterprise.gloo.solo.io.RedisOptions + 156, // 138: enterprise.gloo.solo.io.OidcAuthorizationCode.ClientAuthentication.ClientSecret.client_secret_ref:type_name -> core.solo.io.ResourceRef + 159, // 139: enterprise.gloo.solo.io.OidcAuthorizationCode.ClientAuthentication.ClientSecret.disable_client_secret:type_name -> google.protobuf.BoolValue + 156, // 140: enterprise.gloo.solo.io.OidcAuthorizationCode.ClientAuthentication.PrivateKeyJwt.signing_key_ref:type_name -> core.solo.io.ResourceRef + 157, // 141: enterprise.gloo.solo.io.OidcAuthorizationCode.ClientAuthentication.PrivateKeyJwt.valid_for:type_name -> google.protobuf.Duration + 157, // 142: enterprise.gloo.solo.io.JwtValidation.RemoteJwks.refresh_interval:type_name -> google.protobuf.Duration + 96, // 143: enterprise.gloo.solo.io.ApiKeyAuth.HeadersFromMetadataEntry.value:type_name -> enterprise.gloo.solo.io.ApiKeyAuth.SecretKey + 97, // 144: enterprise.gloo.solo.io.ApiKeyAuth.HeadersFromMetadataEntryEntry.value:type_name -> enterprise.gloo.solo.io.ApiKeyAuth.MetadataEntry + 161, // 145: enterprise.gloo.solo.io.Ldap.ConnectionPool.maxSize:type_name -> google.protobuf.UInt32Value + 161, // 146: enterprise.gloo.solo.io.Ldap.ConnectionPool.initialSize:type_name -> google.protobuf.UInt32Value + 108, // 147: enterprise.gloo.solo.io.PassThroughHttp.Request.headers_to_add:type_name -> enterprise.gloo.solo.io.PassThroughHttp.Request.HeadersToAddEntry + 124, // 148: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.encryption:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.EncryptionType + 126, // 149: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.user_list:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.UserList + 130, // 150: enterprise.gloo.solo.io.ExtAuthConfig.OAuthConfig.auth_endpoint_query_params:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OAuthConfig.AuthEndpointQueryParamsEntry + 75, // 151: enterprise.gloo.solo.io.ExtAuthConfig.UserSessionConfig.cookie_options:type_name -> enterprise.gloo.solo.io.UserSession.CookieOptions + 73, // 152: enterprise.gloo.solo.io.ExtAuthConfig.UserSessionConfig.cookie:type_name -> enterprise.gloo.solo.io.UserSession.InternalSession + 74, // 153: enterprise.gloo.solo.io.ExtAuthConfig.UserSessionConfig.redis:type_name -> enterprise.gloo.solo.io.UserSession.RedisSession + 131, // 154: enterprise.gloo.solo.io.ExtAuthConfig.UserSessionConfig.cipher_config:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.UserSessionConfig.CipherConfig + 132, // 155: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.auth_endpoint_query_params:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.AuthEndpointQueryParamsEntry + 133, // 156: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.token_endpoint_query_params:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.TokenEndpointQueryParamsEntry + 20, // 157: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.session:type_name -> enterprise.gloo.solo.io.UserSession + 21, // 158: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.headers:type_name -> enterprise.gloo.solo.io.HeaderConfiguration + 22, // 159: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.discovery_override:type_name -> enterprise.gloo.solo.io.DiscoveryOverride + 157, // 160: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.discovery_poll_interval:type_name -> google.protobuf.Duration + 23, // 161: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.jwks_cache_refresh_policy:type_name -> enterprise.gloo.solo.io.JwksOnDemandCacheRefreshPolicy + 24, // 162: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.auto_map_from_metadata:type_name -> enterprise.gloo.solo.io.AutoMapFromMetadata + 25, // 163: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.end_session_properties:type_name -> enterprise.gloo.solo.io.EndSessionProperties + 111, // 164: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.user_session:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.UserSessionConfig + 134, // 165: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.pk_jwt_client_authentication_config:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.PkJwtClientAuthenticationConfig + 136, // 166: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.access_token:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.AccessToken + 137, // 167: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.identity_token:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.IdentityToken + 138, // 168: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.default:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.Default + 139, // 169: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.azure:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.Azure + 140, // 170: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.jwt:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.JwtValidation + 141, // 171: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.introspection:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.IntrospectionValidation + 157, // 172: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.cache_timeout:type_name -> google.protobuf.Duration + 142, // 173: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.required_scopes:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.ScopeList + 145, // 174: enterprise.gloo.solo.io.ExtAuthConfig.PlainOAuth2Config.auth_endpoint_query_params:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.PlainOAuth2Config.AuthEndpointQueryParamsEntry + 20, // 175: enterprise.gloo.solo.io.ExtAuthConfig.PlainOAuth2Config.session:type_name -> enterprise.gloo.solo.io.UserSession + 146, // 176: enterprise.gloo.solo.io.ExtAuthConfig.PlainOAuth2Config.token_endpoint_query_params:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.PlainOAuth2Config.TokenEndpointQueryParamsEntry + 111, // 177: enterprise.gloo.solo.io.ExtAuthConfig.PlainOAuth2Config.user_session:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.UserSessionConfig + 112, // 178: enterprise.gloo.solo.io.ExtAuthConfig.OAuth2Config.oidc_authorization_code:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig + 113, // 179: enterprise.gloo.solo.io.ExtAuthConfig.OAuth2Config.access_token_validation_config:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig + 114, // 180: enterprise.gloo.solo.io.ExtAuthConfig.OAuth2Config.oauth2_config:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.PlainOAuth2Config + 148, // 181: enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.valid_api_keys:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.ValidApiKeysEntry + 149, // 182: enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.headers_from_key_metadata:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.HeadersFromKeyMetadataEntry + 34, // 183: enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.k8s_secret_apikey_storage:type_name -> enterprise.gloo.solo.io.K8sSecretApiKeyStorage + 35, // 184: enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.aerospike_apikey_storage:type_name -> enterprise.gloo.solo.io.AerospikeApiKeyStorage + 151, // 185: enterprise.gloo.solo.io.ExtAuthConfig.OpaAuthConfig.modules:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OpaAuthConfig.ModulesEntry + 39, // 186: enterprise.gloo.solo.io.ExtAuthConfig.OpaAuthConfig.options:type_name -> enterprise.gloo.solo.io.OpaAuthOptions + 39, // 187: enterprise.gloo.solo.io.ExtAuthConfig.OpaServerAuthConfig.options:type_name -> enterprise.gloo.solo.io.OpaAuthOptions + 105, // 188: enterprise.gloo.solo.io.ExtAuthConfig.LdapConfig.pool:type_name -> enterprise.gloo.solo.io.Ldap.ConnectionPool + 120, // 189: enterprise.gloo.solo.io.ExtAuthConfig.LdapConfig.group_lookup_settings:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.LdapServiceAccountConfig + 122, // 190: enterprise.gloo.solo.io.ExtAuthConfig.HmacAuthConfig.secret_list:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.InMemorySecretList + 16, // 191: enterprise.gloo.solo.io.ExtAuthConfig.HmacAuthConfig.parameters_in_headers:type_name -> enterprise.gloo.solo.io.HmacParametersInHeaders + 152, // 192: enterprise.gloo.solo.io.ExtAuthConfig.InMemorySecretList.secret_list:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.InMemorySecretList.SecretListEntry + 155, // 193: enterprise.gloo.solo.io.ExtAuthConfig.Config.name:type_name -> google.protobuf.StringValue + 110, // 194: enterprise.gloo.solo.io.ExtAuthConfig.Config.oauth:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OAuthConfig + 115, // 195: enterprise.gloo.solo.io.ExtAuthConfig.Config.oauth2:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OAuth2Config + 13, // 196: enterprise.gloo.solo.io.ExtAuthConfig.Config.basic_auth:type_name -> enterprise.gloo.solo.io.BasicAuth + 109, // 197: enterprise.gloo.solo.io.ExtAuthConfig.Config.basic_auth_internal:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal + 116, // 198: enterprise.gloo.solo.io.ExtAuthConfig.Config.api_key_auth:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig + 12, // 199: enterprise.gloo.solo.io.ExtAuthConfig.Config.plugin_auth:type_name -> enterprise.gloo.solo.io.AuthPlugin + 117, // 200: enterprise.gloo.solo.io.ExtAuthConfig.Config.opa_auth:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OpaAuthConfig + 41, // 201: enterprise.gloo.solo.io.ExtAuthConfig.Config.ldap:type_name -> enterprise.gloo.solo.io.Ldap + 119, // 202: enterprise.gloo.solo.io.ExtAuthConfig.Config.ldap_internal:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.LdapConfig + 160, // 203: enterprise.gloo.solo.io.ExtAuthConfig.Config.jwt:type_name -> google.protobuf.Empty + 43, // 204: enterprise.gloo.solo.io.ExtAuthConfig.Config.pass_through_auth:type_name -> enterprise.gloo.solo.io.PassThroughAuth + 121, // 205: enterprise.gloo.solo.io.ExtAuthConfig.Config.hmac_auth:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.HmacAuthConfig + 118, // 206: enterprise.gloo.solo.io.ExtAuthConfig.Config.opa_server_auth:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OpaServerAuthConfig + 128, // 207: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.EncryptionType.apr:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.EncryptionType.Apr + 127, // 208: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.EncryptionType.sha1:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.EncryptionType.Sha1 + 129, // 209: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.UserList.users:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.UserList.UsersEntry + 125, // 210: enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.UserList.UsersEntry.value:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.BasicAuthInternal.User + 157, // 211: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.PkJwtClientAuthenticationConfig.valid_for:type_name -> google.protobuf.Duration + 135, // 212: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.AccessToken.claims_to_headers:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.ClaimToHeader + 135, // 213: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.IdentityToken.claims_to_headers:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.ClaimToHeader + 19, // 214: enterprise.gloo.solo.io.ExtAuthConfig.OidcAuthorizationCodeConfig.Azure.claims_caching_options:type_name -> enterprise.gloo.solo.io.RedisOptions + 143, // 215: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.JwtValidation.remote_jwks:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.JwtValidation.RemoteJwks + 144, // 216: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.JwtValidation.local_jwks:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.JwtValidation.LocalJwks + 157, // 217: enterprise.gloo.solo.io.ExtAuthConfig.AccessTokenValidationConfig.JwtValidation.RemoteJwks.refresh_interval:type_name -> google.protobuf.Duration + 150, // 218: enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.KeyMetadata.metadata:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.KeyMetadata.MetadataEntry + 147, // 219: enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.ValidApiKeysEntry.value:type_name -> enterprise.gloo.solo.io.ExtAuthConfig.ApiKeyAuthConfig.KeyMetadata + 56, // 220: enterprise.gloo.solo.io.AuthConfigStatus.SubresourceStatusesEntry.value:type_name -> enterprise.gloo.solo.io.AuthConfigStatus + 56, // 221: enterprise.gloo.solo.io.AuthConfigNamespacedStatuses.StatusesEntry.value:type_name -> enterprise.gloo.solo.io.AuthConfigStatus + 162, // 222: enterprise.gloo.solo.io.ExtAuthDiscoveryService.StreamExtAuthConfig:input_type -> envoy.api.v2.DiscoveryRequest + 163, // 223: enterprise.gloo.solo.io.ExtAuthDiscoveryService.DeltaExtAuthConfig:input_type -> envoy.api.v2.DeltaDiscoveryRequest + 162, // 224: enterprise.gloo.solo.io.ExtAuthDiscoveryService.FetchExtAuthConfig:input_type -> envoy.api.v2.DiscoveryRequest + 48, // 225: enterprise.gloo.solo.io.ApiKeyService.Create:input_type -> enterprise.gloo.solo.io.ApiKeyCreateRequest + 50, // 226: enterprise.gloo.solo.io.ApiKeyService.Read:input_type -> enterprise.gloo.solo.io.ApiKeyReadRequest + 52, // 227: enterprise.gloo.solo.io.ApiKeyService.Update:input_type -> enterprise.gloo.solo.io.ApiKeyUpdateRequest + 54, // 228: enterprise.gloo.solo.io.ApiKeyService.Delete:input_type -> enterprise.gloo.solo.io.ApiKeyDeleteRequest + 164, // 229: enterprise.gloo.solo.io.ExtAuthDiscoveryService.StreamExtAuthConfig:output_type -> envoy.api.v2.DiscoveryResponse + 165, // 230: enterprise.gloo.solo.io.ExtAuthDiscoveryService.DeltaExtAuthConfig:output_type -> envoy.api.v2.DeltaDiscoveryResponse + 164, // 231: enterprise.gloo.solo.io.ExtAuthDiscoveryService.FetchExtAuthConfig:output_type -> envoy.api.v2.DiscoveryResponse + 49, // 232: enterprise.gloo.solo.io.ApiKeyService.Create:output_type -> enterprise.gloo.solo.io.ApiKeyCreateResponse + 51, // 233: enterprise.gloo.solo.io.ApiKeyService.Read:output_type -> enterprise.gloo.solo.io.ApiKeyReadResponse + 53, // 234: enterprise.gloo.solo.io.ApiKeyService.Update:output_type -> enterprise.gloo.solo.io.ApiKeyUpdateResponse + 55, // 235: enterprise.gloo.solo.io.ApiKeyService.Delete:output_type -> enterprise.gloo.solo.io.ApiKeyDeleteResponse + 229, // [229:236] is the sub-list for method output_type + 222, // [222:229] is the sub-list for method input_type + 222, // [222:222] is the sub-list for extension type_name + 222, // [222:222] is the sub-list for extension extendee + 0, // [0:222] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthConfigSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthExtension); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Settings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrpcService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HttpService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BufferSettings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthPlugin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BasicAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HmacAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SecretRefList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HmacParametersInHeaders); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OAuth2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedisOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserSession); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HeaderConfiguration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveryOverride); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JwksOnDemandCacheRefreshPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutoMapFromMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EndSessionProperties); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClaimToHeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OidcAuthorizationCode); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PlainOAuth2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JwtValidation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IntrospectionValidation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessTokenValidation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OauthSecret); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKeyAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*K8SSecretApiKeyStorage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AerospikeApiKeyStorage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKeySecret); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpaAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpaAuthOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpaServerAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Ldap); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LdapServiceAccount); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PassThroughAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PassThroughGrpc); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PassThroughGrpcTLSConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PassThroughHttp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKeyCreateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKeyCreateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKeyReadRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKeyReadResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKeyUpdateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKeyUpdateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKeyDeleteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKeyDeleteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthConfigStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthConfigNamespacedStatuses); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthConfigSpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HttpService_Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HttpService_Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BasicAuth_Apr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BasicAuth_EncryptionType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BasicAuth_User); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BasicAuth_UserList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BasicAuth_Apr_SaltedHashedPassword); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BasicAuth_EncryptionType_Sha1); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BasicAuth_EncryptionType_Apr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserSession_InternalSession); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserSession_RedisSession); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserSession_CookieOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserSession_CipherConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OidcAuthorizationCode_AccessToken); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OidcAuthorizationCode_IdentityToken); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OidcAuthorizationCode_ClientAuthentication); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OidcAuthorizationCode_Default); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OidcAuthorizationCode_Azure); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OidcAuthorizationCode_ClientAuthentication_ClientSecret); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JwtValidation_RemoteJwks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JwtValidation_LocalJwks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessTokenValidation_ScopeList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKeyAuth_SecretKey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiKeyAuth_MetadataEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AerospikeApiKeyStorageReadModeSc); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AerospikeApiKeyStorageReadModeAp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AerospikeApiKeyStorageTlsCurveID); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Ldap_ConnectionPool); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PassThroughHttp_Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PassThroughHttp_Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_BasicAuthInternal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_OAuthConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_UserSessionConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_OidcAuthorizationCodeConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_AccessTokenValidationConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_PlainOAuth2Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_OAuth2Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_ApiKeyAuthConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_OpaAuthConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_OpaServerAuthConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_LdapConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_LdapServiceAccountConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_HmacAuthConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_InMemorySecretList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_BasicAuthInternal_EncryptionType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_BasicAuthInternal_User); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_BasicAuthInternal_UserList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_UserSessionConfig_CipherConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_OidcAuthorizationCodeConfig_Default); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_OidcAuthorizationCodeConfig_Azure); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_AccessTokenValidationConfig_ScopeList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*ExtAuthExtension_Disable)(nil), + (*ExtAuthExtension_ConfigRef)(nil), + (*ExtAuthExtension_CustomAuth)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*Settings_HttpService)(nil), + (*Settings_GrpcService)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*BasicAuth_UserList_)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*HmacAuth_SecretRefs)(nil), + (*HmacAuth_ParametersInHeaders)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[13].OneofWrappers = []interface{}{ + (*OAuth2_OidcAuthorizationCode)(nil), + (*OAuth2_AccessTokenValidation)(nil), + (*OAuth2_Oauth2)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[15].OneofWrappers = []interface{}{ + (*UserSession_Cookie)(nil), + (*UserSession_Redis)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[18].OneofWrappers = []interface{}{ + (*JwksOnDemandCacheRefreshPolicy_Never)(nil), + (*JwksOnDemandCacheRefreshPolicy_Always)(nil), + (*JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[22].OneofWrappers = []interface{}{ + (*OidcAuthorizationCode_Default_)(nil), + (*OidcAuthorizationCode_Azure_)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[24].OneofWrappers = []interface{}{ + (*JwtValidation_RemoteJwks_)(nil), + (*JwtValidation_LocalJwks_)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[26].OneofWrappers = []interface{}{ + (*AccessTokenValidation_IntrospectionUrl)(nil), + (*AccessTokenValidation_Jwt)(nil), + (*AccessTokenValidation_Introspection)(nil), + (*AccessTokenValidation_RequiredScopes)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[28].OneofWrappers = []interface{}{ + (*ApiKeyAuth_K8SSecretApikeyStorage)(nil), + (*ApiKeyAuth_AerospikeApikeyStorage)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[30].OneofWrappers = []interface{}{ + (*AerospikeApiKeyStorage_CommitAll)(nil), + (*AerospikeApiKeyStorage_CommitMaster)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[38].OneofWrappers = []interface{}{ + (*PassThroughAuth_Grpc)(nil), + (*PassThroughAuth_Http)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[53].OneofWrappers = []interface{}{ + (*AuthConfigSpec_Config_BasicAuth)(nil), + (*AuthConfigSpec_Config_Oauth)(nil), + (*AuthConfigSpec_Config_Oauth2)(nil), + (*AuthConfigSpec_Config_ApiKeyAuth)(nil), + (*AuthConfigSpec_Config_PluginAuth)(nil), + (*AuthConfigSpec_Config_OpaAuth)(nil), + (*AuthConfigSpec_Config_Ldap)(nil), + (*AuthConfigSpec_Config_Jwt)(nil), + (*AuthConfigSpec_Config_PassThroughAuth)(nil), + (*AuthConfigSpec_Config_HmacAuth)(nil), + (*AuthConfigSpec_Config_OpaServerAuth)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[59].OneofWrappers = []interface{}{ + (*BasicAuth_EncryptionType_Apr_)(nil), + (*BasicAuth_EncryptionType_Sha1_)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[71].OneofWrappers = []interface{}{ + (*UserSession_CipherConfig_KeyRef)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[77].OneofWrappers = []interface{}{ + (*OidcAuthorizationCode_ClientAuthentication_ClientSecret_)(nil), + (*OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt_)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[94].OneofWrappers = []interface{}{ + (*AerospikeApiKeyStorageReadModeSc_ReadModeScSession)(nil), + (*AerospikeApiKeyStorageReadModeSc_ReadModeScLinearize)(nil), + (*AerospikeApiKeyStorageReadModeSc_ReadModeScReplica)(nil), + (*AerospikeApiKeyStorageReadModeSc_ReadModeScAllowUnavailable)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[95].OneofWrappers = []interface{}{ + (*AerospikeApiKeyStorageReadModeAp_ReadModeApOne)(nil), + (*AerospikeApiKeyStorageReadModeAp_ReadModeApAll)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[96].OneofWrappers = []interface{}{ + (*AerospikeApiKeyStorageTlsCurveID_CurveP256)(nil), + (*AerospikeApiKeyStorageTlsCurveID_CurveP384)(nil), + (*AerospikeApiKeyStorageTlsCurveID_CurveP521)(nil), + (*AerospikeApiKeyStorageTlsCurveID_X_25519)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[104].OneofWrappers = []interface{}{ + (*ExtAuthConfig_BasicAuthInternal_UserList_)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[106].OneofWrappers = []interface{}{ + (*ExtAuthConfig_UserSessionConfig_Cookie)(nil), + (*ExtAuthConfig_UserSessionConfig_Redis)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[107].OneofWrappers = []interface{}{ + (*ExtAuthConfig_OidcAuthorizationCodeConfig_Default_)(nil), + (*ExtAuthConfig_OidcAuthorizationCodeConfig_Azure_)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[108].OneofWrappers = []interface{}{ + (*ExtAuthConfig_AccessTokenValidationConfig_IntrospectionUrl)(nil), + (*ExtAuthConfig_AccessTokenValidationConfig_Jwt)(nil), + (*ExtAuthConfig_AccessTokenValidationConfig_Introspection)(nil), + (*ExtAuthConfig_AccessTokenValidationConfig_RequiredScopes)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[110].OneofWrappers = []interface{}{ + (*ExtAuthConfig_OAuth2Config_OidcAuthorizationCode)(nil), + (*ExtAuthConfig_OAuth2Config_AccessTokenValidationConfig)(nil), + (*ExtAuthConfig_OAuth2Config_Oauth2Config)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[111].OneofWrappers = []interface{}{ + (*ExtAuthConfig_ApiKeyAuthConfig_K8SSecretApikeyStorage)(nil), + (*ExtAuthConfig_ApiKeyAuthConfig_AerospikeApikeyStorage)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[116].OneofWrappers = []interface{}{ + (*ExtAuthConfig_HmacAuthConfig_SecretList)(nil), + (*ExtAuthConfig_HmacAuthConfig_ParametersInHeaders)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[118].OneofWrappers = []interface{}{ + (*ExtAuthConfig_Config_Oauth)(nil), + (*ExtAuthConfig_Config_Oauth2)(nil), + (*ExtAuthConfig_Config_BasicAuth)(nil), + (*ExtAuthConfig_Config_BasicAuthInternal)(nil), + (*ExtAuthConfig_Config_ApiKeyAuth)(nil), + (*ExtAuthConfig_Config_PluginAuth)(nil), + (*ExtAuthConfig_Config_OpaAuth)(nil), + (*ExtAuthConfig_Config_Ldap)(nil), + (*ExtAuthConfig_Config_LdapInternal)(nil), + (*ExtAuthConfig_Config_Jwt)(nil), + (*ExtAuthConfig_Config_PassThroughAuth)(nil), + (*ExtAuthConfig_Config_HmacAuth)(nil), + (*ExtAuthConfig_Config_OpaServerAuth)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[119].OneofWrappers = []interface{}{ + (*ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr_)(nil), + (*ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1_)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes[135].OneofWrappers = []interface{}{ + (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks_)(nil), + (*ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDesc, + NumEnums: 5, + NumMessages: 150, + NumExtensions: 0, + NumServices: 2, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_vendor_any_github_com_solo_io_solo_apis_api_gloo_enterprise_gloo_v1_auth_config_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// ExtAuthDiscoveryServiceClient is the client API for ExtAuthDiscoveryService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ExtAuthDiscoveryServiceClient interface { + StreamExtAuthConfig(ctx context.Context, opts ...grpc.CallOption) (ExtAuthDiscoveryService_StreamExtAuthConfigClient, error) + DeltaExtAuthConfig(ctx context.Context, opts ...grpc.CallOption) (ExtAuthDiscoveryService_DeltaExtAuthConfigClient, error) + FetchExtAuthConfig(ctx context.Context, in *v2.DiscoveryRequest, opts ...grpc.CallOption) (*v2.DiscoveryResponse, error) +} + +type extAuthDiscoveryServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewExtAuthDiscoveryServiceClient(cc grpc.ClientConnInterface) ExtAuthDiscoveryServiceClient { + return &extAuthDiscoveryServiceClient{cc} +} + +func (c *extAuthDiscoveryServiceClient) StreamExtAuthConfig(ctx context.Context, opts ...grpc.CallOption) (ExtAuthDiscoveryService_StreamExtAuthConfigClient, error) { + stream, err := c.cc.NewStream(ctx, &_ExtAuthDiscoveryService_serviceDesc.Streams[0], "/enterprise.gloo.solo.io.ExtAuthDiscoveryService/StreamExtAuthConfig", opts...) + if err != nil { + return nil, err + } + x := &extAuthDiscoveryServiceStreamExtAuthConfigClient{stream} + return x, nil +} + +type ExtAuthDiscoveryService_StreamExtAuthConfigClient interface { + Send(*v2.DiscoveryRequest) error + Recv() (*v2.DiscoveryResponse, error) + grpc.ClientStream +} + +type extAuthDiscoveryServiceStreamExtAuthConfigClient struct { + grpc.ClientStream +} + +func (x *extAuthDiscoveryServiceStreamExtAuthConfigClient) Send(m *v2.DiscoveryRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *extAuthDiscoveryServiceStreamExtAuthConfigClient) Recv() (*v2.DiscoveryResponse, error) { + m := new(v2.DiscoveryResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *extAuthDiscoveryServiceClient) DeltaExtAuthConfig(ctx context.Context, opts ...grpc.CallOption) (ExtAuthDiscoveryService_DeltaExtAuthConfigClient, error) { + stream, err := c.cc.NewStream(ctx, &_ExtAuthDiscoveryService_serviceDesc.Streams[1], "/enterprise.gloo.solo.io.ExtAuthDiscoveryService/DeltaExtAuthConfig", opts...) + if err != nil { + return nil, err + } + x := &extAuthDiscoveryServiceDeltaExtAuthConfigClient{stream} + return x, nil +} + +type ExtAuthDiscoveryService_DeltaExtAuthConfigClient interface { + Send(*v2.DeltaDiscoveryRequest) error + Recv() (*v2.DeltaDiscoveryResponse, error) + grpc.ClientStream +} + +type extAuthDiscoveryServiceDeltaExtAuthConfigClient struct { + grpc.ClientStream +} + +func (x *extAuthDiscoveryServiceDeltaExtAuthConfigClient) Send(m *v2.DeltaDiscoveryRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *extAuthDiscoveryServiceDeltaExtAuthConfigClient) Recv() (*v2.DeltaDiscoveryResponse, error) { + m := new(v2.DeltaDiscoveryResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *extAuthDiscoveryServiceClient) FetchExtAuthConfig(ctx context.Context, in *v2.DiscoveryRequest, opts ...grpc.CallOption) (*v2.DiscoveryResponse, error) { + out := new(v2.DiscoveryResponse) + err := c.cc.Invoke(ctx, "/enterprise.gloo.solo.io.ExtAuthDiscoveryService/FetchExtAuthConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ExtAuthDiscoveryServiceServer is the server API for ExtAuthDiscoveryService service. +type ExtAuthDiscoveryServiceServer interface { + StreamExtAuthConfig(ExtAuthDiscoveryService_StreamExtAuthConfigServer) error + DeltaExtAuthConfig(ExtAuthDiscoveryService_DeltaExtAuthConfigServer) error + FetchExtAuthConfig(context.Context, *v2.DiscoveryRequest) (*v2.DiscoveryResponse, error) +} + +// UnimplementedExtAuthDiscoveryServiceServer can be embedded to have forward compatible implementations. +type UnimplementedExtAuthDiscoveryServiceServer struct { +} + +func (*UnimplementedExtAuthDiscoveryServiceServer) StreamExtAuthConfig(ExtAuthDiscoveryService_StreamExtAuthConfigServer) error { + return status.Errorf(codes.Unimplemented, "method StreamExtAuthConfig not implemented") +} +func (*UnimplementedExtAuthDiscoveryServiceServer) DeltaExtAuthConfig(ExtAuthDiscoveryService_DeltaExtAuthConfigServer) error { + return status.Errorf(codes.Unimplemented, "method DeltaExtAuthConfig not implemented") +} +func (*UnimplementedExtAuthDiscoveryServiceServer) FetchExtAuthConfig(context.Context, *v2.DiscoveryRequest) (*v2.DiscoveryResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FetchExtAuthConfig not implemented") +} + +func RegisterExtAuthDiscoveryServiceServer(s *grpc.Server, srv ExtAuthDiscoveryServiceServer) { + s.RegisterService(&_ExtAuthDiscoveryService_serviceDesc, srv) +} + +func _ExtAuthDiscoveryService_StreamExtAuthConfig_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(ExtAuthDiscoveryServiceServer).StreamExtAuthConfig(&extAuthDiscoveryServiceStreamExtAuthConfigServer{stream}) +} + +type ExtAuthDiscoveryService_StreamExtAuthConfigServer interface { + Send(*v2.DiscoveryResponse) error + Recv() (*v2.DiscoveryRequest, error) + grpc.ServerStream +} + +type extAuthDiscoveryServiceStreamExtAuthConfigServer struct { + grpc.ServerStream +} + +func (x *extAuthDiscoveryServiceStreamExtAuthConfigServer) Send(m *v2.DiscoveryResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *extAuthDiscoveryServiceStreamExtAuthConfigServer) Recv() (*v2.DiscoveryRequest, error) { + m := new(v2.DiscoveryRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _ExtAuthDiscoveryService_DeltaExtAuthConfig_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(ExtAuthDiscoveryServiceServer).DeltaExtAuthConfig(&extAuthDiscoveryServiceDeltaExtAuthConfigServer{stream}) +} + +type ExtAuthDiscoveryService_DeltaExtAuthConfigServer interface { + Send(*v2.DeltaDiscoveryResponse) error + Recv() (*v2.DeltaDiscoveryRequest, error) + grpc.ServerStream +} + +type extAuthDiscoveryServiceDeltaExtAuthConfigServer struct { + grpc.ServerStream +} + +func (x *extAuthDiscoveryServiceDeltaExtAuthConfigServer) Send(m *v2.DeltaDiscoveryResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *extAuthDiscoveryServiceDeltaExtAuthConfigServer) Recv() (*v2.DeltaDiscoveryRequest, error) { + m := new(v2.DeltaDiscoveryRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _ExtAuthDiscoveryService_FetchExtAuthConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v2.DiscoveryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ExtAuthDiscoveryServiceServer).FetchExtAuthConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/enterprise.gloo.solo.io.ExtAuthDiscoveryService/FetchExtAuthConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ExtAuthDiscoveryServiceServer).FetchExtAuthConfig(ctx, req.(*v2.DiscoveryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _ExtAuthDiscoveryService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "enterprise.gloo.solo.io.ExtAuthDiscoveryService", + HandlerType: (*ExtAuthDiscoveryServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "FetchExtAuthConfig", + Handler: _ExtAuthDiscoveryService_FetchExtAuthConfig_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "StreamExtAuthConfig", + Handler: _ExtAuthDiscoveryService_StreamExtAuthConfig_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "DeltaExtAuthConfig", + Handler: _ExtAuthDiscoveryService_DeltaExtAuthConfig_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "github.com/solo-io/solo-apis/vendor_any/github.com/solo-io/solo-apis/api/gloo/enterprise.gloo/v1/auth_config.proto", +} + +// ApiKeyServiceClient is the client API for ApiKeyService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ApiKeyServiceClient interface { + Create(ctx context.Context, in *ApiKeyCreateRequest, opts ...grpc.CallOption) (*ApiKeyCreateResponse, error) + Read(ctx context.Context, in *ApiKeyReadRequest, opts ...grpc.CallOption) (*ApiKeyReadResponse, error) + Update(ctx context.Context, in *ApiKeyUpdateRequest, opts ...grpc.CallOption) (*ApiKeyUpdateResponse, error) + Delete(ctx context.Context, in *ApiKeyDeleteRequest, opts ...grpc.CallOption) (*ApiKeyDeleteResponse, error) +} + +type apiKeyServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewApiKeyServiceClient(cc grpc.ClientConnInterface) ApiKeyServiceClient { + return &apiKeyServiceClient{cc} +} + +func (c *apiKeyServiceClient) Create(ctx context.Context, in *ApiKeyCreateRequest, opts ...grpc.CallOption) (*ApiKeyCreateResponse, error) { + out := new(ApiKeyCreateResponse) + err := c.cc.Invoke(ctx, "/enterprise.gloo.solo.io.ApiKeyService/Create", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *apiKeyServiceClient) Read(ctx context.Context, in *ApiKeyReadRequest, opts ...grpc.CallOption) (*ApiKeyReadResponse, error) { + out := new(ApiKeyReadResponse) + err := c.cc.Invoke(ctx, "/enterprise.gloo.solo.io.ApiKeyService/Read", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *apiKeyServiceClient) Update(ctx context.Context, in *ApiKeyUpdateRequest, opts ...grpc.CallOption) (*ApiKeyUpdateResponse, error) { + out := new(ApiKeyUpdateResponse) + err := c.cc.Invoke(ctx, "/enterprise.gloo.solo.io.ApiKeyService/Update", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *apiKeyServiceClient) Delete(ctx context.Context, in *ApiKeyDeleteRequest, opts ...grpc.CallOption) (*ApiKeyDeleteResponse, error) { + out := new(ApiKeyDeleteResponse) + err := c.cc.Invoke(ctx, "/enterprise.gloo.solo.io.ApiKeyService/Delete", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ApiKeyServiceServer is the server API for ApiKeyService service. +type ApiKeyServiceServer interface { + Create(context.Context, *ApiKeyCreateRequest) (*ApiKeyCreateResponse, error) + Read(context.Context, *ApiKeyReadRequest) (*ApiKeyReadResponse, error) + Update(context.Context, *ApiKeyUpdateRequest) (*ApiKeyUpdateResponse, error) + Delete(context.Context, *ApiKeyDeleteRequest) (*ApiKeyDeleteResponse, error) +} + +// UnimplementedApiKeyServiceServer can be embedded to have forward compatible implementations. +type UnimplementedApiKeyServiceServer struct { +} + +func (*UnimplementedApiKeyServiceServer) Create(context.Context, *ApiKeyCreateRequest) (*ApiKeyCreateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") +} +func (*UnimplementedApiKeyServiceServer) Read(context.Context, *ApiKeyReadRequest) (*ApiKeyReadResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Read not implemented") +} +func (*UnimplementedApiKeyServiceServer) Update(context.Context, *ApiKeyUpdateRequest) (*ApiKeyUpdateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") +} +func (*UnimplementedApiKeyServiceServer) Delete(context.Context, *ApiKeyDeleteRequest) (*ApiKeyDeleteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") +} + +func RegisterApiKeyServiceServer(s *grpc.Server, srv ApiKeyServiceServer) { + s.RegisterService(&_ApiKeyService_serviceDesc, srv) +} + +func _ApiKeyService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ApiKeyCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ApiKeyServiceServer).Create(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/enterprise.gloo.solo.io.ApiKeyService/Create", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ApiKeyServiceServer).Create(ctx, req.(*ApiKeyCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ApiKeyService_Read_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ApiKeyReadRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ApiKeyServiceServer).Read(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/enterprise.gloo.solo.io.ApiKeyService/Read", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ApiKeyServiceServer).Read(ctx, req.(*ApiKeyReadRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ApiKeyService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ApiKeyUpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ApiKeyServiceServer).Update(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/enterprise.gloo.solo.io.ApiKeyService/Update", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ApiKeyServiceServer).Update(ctx, req.(*ApiKeyUpdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ApiKeyService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ApiKeyDeleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ApiKeyServiceServer).Delete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/enterprise.gloo.solo.io.ApiKeyService/Delete", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ApiKeyServiceServer).Delete(ctx, req.(*ApiKeyDeleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _ApiKeyService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "enterprise.gloo.solo.io.ApiKeyService", + HandlerType: (*ApiKeyServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Create", + Handler: _ApiKeyService_Create_Handler, + }, + { + MethodName: "Read", + Handler: _ApiKeyService_Read_Handler, + }, + { + MethodName: "Update", + Handler: _ApiKeyService_Update_Handler, + }, + { + MethodName: "Delete", + Handler: _ApiKeyService_Delete_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "github.com/solo-io/solo-apis/vendor_any/github.com/solo-io/solo-apis/api/gloo/enterprise.gloo/v1/auth_config.proto", +} diff --git a/client-go/enterprise.gloo.solo.io/v1/auth_config.pb.hash.go b/client-go/enterprise.gloo.solo.io/v1/auth_config.pb.hash.go new file mode 100644 index 000000000..5ca2c50a9 --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/auth_config.pb.hash.go @@ -0,0 +1,7793 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/vendor_any/github.com/solo-io/solo-apis/api/gloo/enterprise.gloo/v1/auth_config.proto + +package v1 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *AuthConfigSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.AuthConfigSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetConfigs() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetBooleanExpr()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("BooleanExpr")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetBooleanExpr(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("BooleanExpr")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetFailOnRedirect()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthExtension) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthExtension")); err != nil { + return 0, err + } + + switch m.Spec.(type) { + + case *ExtAuthExtension_Disable: + + err = binary.Write(hasher, binary.LittleEndian, m.GetDisable()) + if err != nil { + return 0, err + } + + case *ExtAuthExtension_ConfigRef: + + if h, ok := interface{}(m.GetConfigRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ConfigRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfigRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ConfigRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthExtension_CustomAuth: + + if h, ok := interface{}(m.GetCustomAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CustomAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCustomAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CustomAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Settings) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.Settings")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetExtauthzServerRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ExtauthzServerRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetExtauthzServerRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ExtauthzServerRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetUserIdHeader())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRequestTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RequestTimeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequestTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RequestTimeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetFailureModeAllow()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRequestBody()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RequestBody")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequestBody(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RequestBody")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetClearRouteCache()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetStatusOnError()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetTransportApiVersion()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetStatPrefix())); err != nil { + return 0, err + } + + switch m.ServiceType.(type) { + + case *Settings_HttpService: + + if h, ok := interface{}(m.GetHttpService()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HttpService")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHttpService(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HttpService")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *Settings_GrpcService: + + if h, ok := interface{}(m.GetGrpcService()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("GrpcService")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGrpcService(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("GrpcService")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GrpcService) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.GrpcService")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAuthority())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HttpService) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.HttpService")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPathPrefix())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRequest()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequest(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetResponse()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Response")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResponse(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Response")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *BufferSettings) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.BufferSettings")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMaxRequestBytes()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAllowPartialMessage()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPackAsBytes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CustomAuth) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.CustomAuth")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetContextExtensions() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AuthPlugin) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.AuthPlugin")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPluginFileName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetExportedSymbolName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *BasicAuth) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.BasicAuth")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRealm())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetApr()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Apr")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetApr(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Apr")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetEncryption()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Encryption")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetEncryption(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Encryption")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.UserSource.(type) { + + case *BasicAuth_UserList_: + + if h, ok := interface{}(m.GetUserList()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("UserList")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetUserList(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("UserList")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HmacAuth) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.HmacAuth")); err != nil { + return 0, err + } + + switch m.SecretStorage.(type) { + + case *HmacAuth_SecretRefs: + + if h, ok := interface{}(m.GetSecretRefs()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SecretRefs")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSecretRefs(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SecretRefs")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.ImplementationType.(type) { + + case *HmacAuth_ParametersInHeaders: + + if h, ok := interface{}(m.GetParametersInHeaders()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ParametersInHeaders")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetParametersInHeaders(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ParametersInHeaders")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SecretRefList) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.SecretRefList")); err != nil { + return 0, err + } + + for _, v := range m.GetSecretRefs() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HmacParametersInHeaders) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.HmacParametersInHeaders")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OAuth) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OAuth")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientId())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetClientSecretRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClientSecretRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClientSecretRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClientSecretRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetIssuerUrl())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAuthEndpointQueryParams() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetAppUrl())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCallbackPath())); err != nil { + return 0, err + } + + for _, v := range m.GetScopes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OAuth2) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OAuth2")); err != nil { + return 0, err + } + + switch m.OauthType.(type) { + + case *OAuth2_OidcAuthorizationCode: + + if h, ok := interface{}(m.GetOidcAuthorizationCode()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("OidcAuthorizationCode")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOidcAuthorizationCode(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("OidcAuthorizationCode")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *OAuth2_AccessTokenValidation: + + if h, ok := interface{}(m.GetAccessTokenValidation()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AccessTokenValidation")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAccessTokenValidation(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AccessTokenValidation")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *OAuth2_Oauth2: + + if h, ok := interface{}(m.GetOauth2()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Oauth2")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOauth2(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Oauth2")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RedisOptions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.RedisOptions")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHost())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetDb()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPoolSize()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTlsCertMountPath())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSocketType()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *UserSession) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.UserSession")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetFailOnFetchFailure()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCookieOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CookieOptions")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCookieOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CookieOptions")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetCipherConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CipherConfig")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCipherConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CipherConfig")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.Session.(type) { + + case *UserSession_Cookie: + + if h, ok := interface{}(m.GetCookie()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Cookie")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCookie(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Cookie")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *UserSession_Redis: + + if h, ok := interface{}(m.GetRedis()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Redis")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRedis(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Redis")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HeaderConfiguration) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.HeaderConfiguration")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetIdTokenHeader())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAccessTokenHeader())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetUseBearerSchemaForAuthorization()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("UseBearerSchemaForAuthorization")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetUseBearerSchemaForAuthorization(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("UseBearerSchemaForAuthorization")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DiscoveryOverride) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.DiscoveryOverride")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAuthEndpoint())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTokenEndpoint())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetJwksUri())); err != nil { + return 0, err + } + + for _, v := range m.GetScopes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetResponseTypes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetSubjects() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetIdTokenAlgs() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetAuthMethods() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetClaims() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetRevocationEndpoint())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetEndSessionEndpoint())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JwksOnDemandCacheRefreshPolicy) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.JwksOnDemandCacheRefreshPolicy")); err != nil { + return 0, err + } + + switch m.Policy.(type) { + + case *JwksOnDemandCacheRefreshPolicy_Never: + + if h, ok := interface{}(m.GetNever()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Never")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetNever(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Never")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *JwksOnDemandCacheRefreshPolicy_Always: + + if h, ok := interface{}(m.GetAlways()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Always")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAlways(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Always")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *JwksOnDemandCacheRefreshPolicy_MaxIdpReqPerPollingInterval: + + err = binary.Write(hasher, binary.LittleEndian, m.GetMaxIdpReqPerPollingInterval()) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AutoMapFromMetadata) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.AutoMapFromMetadata")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *EndSessionProperties) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.EndSessionProperties")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMethodType()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ClaimToHeader) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ClaimToHeader")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClaim())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHeader())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAppend()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OidcAuthorizationCode) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OidcAuthorizationCode")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientId())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetClientSecretRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClientSecretRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClientSecretRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClientSecretRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetIssuerUrl())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAuthEndpointQueryParams() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetTokenEndpointQueryParams() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetAppUrl())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCallbackPath())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetLogoutPath())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAfterLogoutUrl())); err != nil { + return 0, err + } + + for _, v := range m.GetScopes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetSession()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Session")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSession(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Session")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetHeaders()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Headers")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHeaders(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Headers")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetDiscoveryOverride()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DiscoveryOverride")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDiscoveryOverride(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DiscoveryOverride")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetDiscoveryPollInterval()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DiscoveryPollInterval")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDiscoveryPollInterval(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DiscoveryPollInterval")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetJwksCacheRefreshPolicy()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("JwksCacheRefreshPolicy")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetJwksCacheRefreshPolicy(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("JwksCacheRefreshPolicy")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetSessionIdHeaderName())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetParseCallbackPathAsRegex()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetAutoMapFromMetadata()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AutoMapFromMetadata")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAutoMapFromMetadata(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AutoMapFromMetadata")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetEndSessionProperties()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("EndSessionProperties")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetEndSessionProperties(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("EndSessionProperties")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetDynamicMetadataFromClaims() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetDisableClientSecret()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DisableClientSecret")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDisableClientSecret(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DisableClientSecret")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetAccessToken()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AccessToken")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAccessToken(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AccessToken")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetIdentityToken()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("IdentityToken")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIdentityToken(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("IdentityToken")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetClientAuthentication()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClientAuthentication")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClientAuthentication(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClientAuthentication")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.Provider.(type) { + + case *OidcAuthorizationCode_Default_: + + if h, ok := interface{}(m.GetDefault()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Default")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDefault(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Default")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *OidcAuthorizationCode_Azure_: + + if h, ok := interface{}(m.GetAzure()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Azure")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAzure(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Azure")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PlainOAuth2) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.PlainOAuth2")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientId())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetClientSecretRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClientSecretRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClientSecretRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClientSecretRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAuthEndpointQueryParams() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetAppUrl())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCallbackPath())); err != nil { + return 0, err + } + + for _, v := range m.GetScopes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetSession()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Session")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSession(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Session")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetLogoutPath())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetTokenEndpointQueryParams() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetAfterLogoutUrl())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAuthEndpoint())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTokenEndpoint())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRevocationEndpoint())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetDisableClientSecret()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DisableClientSecret")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDisableClientSecret(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DisableClientSecret")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JwtValidation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.JwtValidation")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetIssuer())); err != nil { + return 0, err + } + + switch m.JwksSourceSpecifier.(type) { + + case *JwtValidation_RemoteJwks_: + + if h, ok := interface{}(m.GetRemoteJwks()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RemoteJwks")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRemoteJwks(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RemoteJwks")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *JwtValidation_LocalJwks_: + + if h, ok := interface{}(m.GetLocalJwks()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("LocalJwks")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLocalJwks(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("LocalJwks")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IntrospectionValidation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.IntrospectionValidation")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetIntrospectionUrl())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientId())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetClientSecretRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClientSecretRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClientSecretRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClientSecretRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetUserIdAttributeName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetDisableClientSecret()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DisableClientSecret")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDisableClientSecret(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DisableClientSecret")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessTokenValidation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.AccessTokenValidation")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUserinfoUrl())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCacheTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CacheTimeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCacheTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CacheTimeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetDynamicMetadataFromClaims() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + switch m.ValidationType.(type) { + + case *AccessTokenValidation_IntrospectionUrl: + + if _, err = hasher.Write([]byte(m.GetIntrospectionUrl())); err != nil { + return 0, err + } + + case *AccessTokenValidation_Jwt: + + if h, ok := interface{}(m.GetJwt()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Jwt")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetJwt(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Jwt")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AccessTokenValidation_Introspection: + + if h, ok := interface{}(m.GetIntrospection()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Introspection")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIntrospection(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Introspection")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.ScopeValidation.(type) { + + case *AccessTokenValidation_RequiredScopes: + + if h, ok := interface{}(m.GetRequiredScopes()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RequiredScopes")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequiredScopes(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RequiredScopes")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OauthSecret) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OauthSecret")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientSecret())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKeyAuth) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKeyAuth")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLabelSelector() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetApiKeySecretRefs() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if _, err = hasher.Write([]byte(m.GetHeaderName())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetHeadersFromMetadata() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetHeadersFromMetadataEntry() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + switch m.StorageBackend.(type) { + + case *ApiKeyAuth_K8SSecretApikeyStorage: + + if h, ok := interface{}(m.GetK8SSecretApikeyStorage()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("K8SSecretApikeyStorage")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetK8SSecretApikeyStorage(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("K8SSecretApikeyStorage")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ApiKeyAuth_AerospikeApikeyStorage: + + if h, ok := interface{}(m.GetAerospikeApikeyStorage()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AerospikeApikeyStorage")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAerospikeApikeyStorage(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AerospikeApikeyStorage")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *K8SSecretApiKeyStorage) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.K8SSecretApiKeyStorage")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLabelSelector() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetApiKeySecretRefs() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AerospikeApiKeyStorage) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.AerospikeApiKeyStorage")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHostname())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSet())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPort()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetBatchSize()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetReadModeSc()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ReadModeSc")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetReadModeSc(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ReadModeSc")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetReadModeAp()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ReadModeAp")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetReadModeAp(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ReadModeAp")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetNodeTlsName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCertPath())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKeyPath())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAllowInsecure()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRootCaPath())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTlsVersion())); err != nil { + return 0, err + } + + for _, v := range m.GetTlsCurveGroups() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLabelSelector() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + switch m.CommitLevel.(type) { + + case *AerospikeApiKeyStorage_CommitAll: + + err = binary.Write(hasher, binary.LittleEndian, m.GetCommitAll()) + if err != nil { + return 0, err + } + + case *AerospikeApiKeyStorage_CommitMaster: + + err = binary.Write(hasher, binary.LittleEndian, m.GetCommitMaster()) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKey) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKey")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetApiKey())); err != nil { + return 0, err + } + + for _, v := range m.GetLabels() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetMetadata() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetUuid())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKeySecret) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKeySecret")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetApiKey())); err != nil { + return 0, err + } + + for _, v := range m.GetLabels() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetMetadata() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OpaAuth) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OpaAuth")); err != nil { + return 0, err + } + + for _, v := range m.GetModules() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if _, err = hasher.Write([]byte(m.GetQuery())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OpaAuthOptions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OpaAuthOptions")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetFastInputConversion()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetReturnDecisionReason()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OpaServerAuth) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OpaServerAuth")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPackage())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRuleName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetServerAddr())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Ldap) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.Ldap")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAddress())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUserDnTemplate())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMembershipAttributeName())); err != nil { + return 0, err + } + + for _, v := range m.GetAllowedGroups() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetPool()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Pool")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPool(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Pool")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetSearchFilter())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetDisableGroupChecking()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetGroupLookupSettings()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("GroupLookupSettings")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGroupLookupSettings(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("GroupLookupSettings")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *LdapServiceAccount) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.LdapServiceAccount")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCredentialsSecretRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CredentialsSecretRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCredentialsSecretRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CredentialsSecretRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetCheckGroupsWithServiceAccount()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PassThroughAuth) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.PassThroughAuth")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetFailureModeAllow()) + if err != nil { + return 0, err + } + + switch m.Protocol.(type) { + + case *PassThroughAuth_Grpc: + + if h, ok := interface{}(m.GetGrpc()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Grpc")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGrpc(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Grpc")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *PassThroughAuth_Http: + + if h, ok := interface{}(m.GetHttp()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Http")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHttp(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Http")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PassThroughGrpc) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.PassThroughGrpc")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAddress())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetConnectionTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ConnectionTimeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConnectionTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ConnectionTimeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTlsConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TlsConfig")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTlsConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TlsConfig")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PassThroughGrpcTLSConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.PassThroughGrpcTLSConfig")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PassThroughHttp) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.PassThroughHttp")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUrl())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRequest()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequest(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetResponse()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Response")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResponse(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Response")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetConnectionTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ConnectionTimeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConnectionTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ConnectionTimeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAuthConfigRefName())); err != nil { + return 0, err + } + + for _, v := range m.GetConfigs() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetBooleanExpr()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("BooleanExpr")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetBooleanExpr(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("BooleanExpr")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetFailOnRedirect()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKeyCreateRequest) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKeyCreateRequest")); err != nil { + return 0, err + } + + for _, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetRawApiKeys() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKeyCreateResponse) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKeyCreateResponse")); err != nil { + return 0, err + } + + for _, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKeyReadRequest) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKeyReadRequest")); err != nil { + return 0, err + } + + for _, v := range m.GetRawApiKeys() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetLabels() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKeyReadResponse) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKeyReadResponse")); err != nil { + return 0, err + } + + for _, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKeyUpdateRequest) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKeyUpdateRequest")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetUpsert()) + if err != nil { + return 0, err + } + + for _, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetRawApiKeys() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKeyUpdateResponse) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKeyUpdateResponse")); err != nil { + return 0, err + } + + for _, v := range m.GetApiKeys() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKeyDeleteRequest) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKeyDeleteRequest")); err != nil { + return 0, err + } + + for _, v := range m.GetRawApiKeys() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetLabels() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKeyDeleteResponse) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKeyDeleteResponse")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AuthConfigStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.AuthConfigStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetReason())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetReportedBy())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetSubresourceStatuses() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetDetails()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Details")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDetails(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Details")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AuthConfigNamespacedStatuses) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.AuthConfigNamespacedStatuses")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetStatuses() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AuthConfigSpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.AuthConfigSpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetName()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Name")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetName(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Name")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.AuthConfig.(type) { + + case *AuthConfigSpec_Config_BasicAuth: + + if h, ok := interface{}(m.GetBasicAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("BasicAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetBasicAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("BasicAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AuthConfigSpec_Config_Oauth: + + if h, ok := interface{}(m.GetOauth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Oauth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOauth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Oauth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AuthConfigSpec_Config_Oauth2: + + if h, ok := interface{}(m.GetOauth2()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Oauth2")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOauth2(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Oauth2")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AuthConfigSpec_Config_ApiKeyAuth: + + if h, ok := interface{}(m.GetApiKeyAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ApiKeyAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetApiKeyAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ApiKeyAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AuthConfigSpec_Config_PluginAuth: + + if h, ok := interface{}(m.GetPluginAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PluginAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPluginAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PluginAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AuthConfigSpec_Config_OpaAuth: + + if h, ok := interface{}(m.GetOpaAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("OpaAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOpaAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("OpaAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AuthConfigSpec_Config_Ldap: + + if h, ok := interface{}(m.GetLdap()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Ldap")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLdap(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Ldap")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AuthConfigSpec_Config_Jwt: + + if h, ok := interface{}(m.GetJwt()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Jwt")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetJwt(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Jwt")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AuthConfigSpec_Config_PassThroughAuth: + + if h, ok := interface{}(m.GetPassThroughAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PassThroughAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPassThroughAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PassThroughAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AuthConfigSpec_Config_HmacAuth: + + if h, ok := interface{}(m.GetHmacAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HmacAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHmacAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HmacAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AuthConfigSpec_Config_OpaServerAuth: + + if h, ok := interface{}(m.GetOpaServerAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("OpaServerAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOpaServerAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("OpaServerAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HttpService_Request) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.HttpService_Request")); err != nil { + return 0, err + } + + for _, v := range m.GetAllowedHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetHeadersToAdd() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetAllowedHeadersRegex() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HttpService_Response) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.HttpService_Response")); err != nil { + return 0, err + } + + for _, v := range m.GetAllowedUpstreamHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetAllowedClientHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetAllowedUpstreamHeadersToAppend() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *BasicAuth_Apr) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.BasicAuth_Apr")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetUsers() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *BasicAuth_EncryptionType) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.BasicAuth_EncryptionType")); err != nil { + return 0, err + } + + switch m.Algorithm.(type) { + + case *BasicAuth_EncryptionType_Apr_: + + if h, ok := interface{}(m.GetApr()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Apr")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetApr(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Apr")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *BasicAuth_EncryptionType_Sha1_: + + if h, ok := interface{}(m.GetSha1()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Sha1")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSha1(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Sha1")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *BasicAuth_User) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.BasicAuth_User")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSalt())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHashedPassword())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *BasicAuth_UserList) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.BasicAuth_UserList")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetUsers() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *BasicAuth_Apr_SaltedHashedPassword) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.BasicAuth_Apr_SaltedHashedPassword")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSalt())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHashedPassword())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *BasicAuth_EncryptionType_Sha1) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.BasicAuth_EncryptionType_Sha1")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *BasicAuth_EncryptionType_Apr) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.BasicAuth_EncryptionType_Apr")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *UserSession_InternalSession) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.UserSession_InternalSession")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetAllowRefreshing()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AllowRefreshing")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAllowRefreshing(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AllowRefreshing")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetKeyPrefix())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTargetDomain())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *UserSession_RedisSession) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.UserSession_RedisSession")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetKeyPrefix())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCookieName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetAllowRefreshing()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AllowRefreshing")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAllowRefreshing(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AllowRefreshing")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPreExpiryBuffer()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PreExpiryBuffer")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPreExpiryBuffer(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PreExpiryBuffer")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetTargetDomain())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHeaderName())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *UserSession_CookieOptions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.UserSession_CookieOptions")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMaxAge()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MaxAge")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMaxAge(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MaxAge")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNotSecure()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetHttpOnly()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HttpOnly")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHttpOnly(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HttpOnly")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPath()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Path")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPath(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Path")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSameSite()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetDomain())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *UserSession_CipherConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.UserSession_CipherConfig")); err != nil { + return 0, err + } + + switch m.Key.(type) { + + case *UserSession_CipherConfig_KeyRef: + + if h, ok := interface{}(m.GetKeyRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("KeyRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetKeyRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("KeyRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OidcAuthorizationCode_AccessToken) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OidcAuthorizationCode_AccessToken")); err != nil { + return 0, err + } + + for _, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OidcAuthorizationCode_IdentityToken) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OidcAuthorizationCode_IdentityToken")); err != nil { + return 0, err + } + + for _, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OidcAuthorizationCode_ClientAuthentication) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OidcAuthorizationCode_ClientAuthentication")); err != nil { + return 0, err + } + + switch m.ClientAuthenticationConfig.(type) { + + case *OidcAuthorizationCode_ClientAuthentication_ClientSecret_: + + if h, ok := interface{}(m.GetClientSecret()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClientSecret")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClientSecret(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClientSecret")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt_: + + if h, ok := interface{}(m.GetPrivateKeyJwt()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PrivateKeyJwt")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPrivateKeyJwt(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PrivateKeyJwt")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OidcAuthorizationCode_Default) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OidcAuthorizationCode_Default")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OidcAuthorizationCode_Azure) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OidcAuthorizationCode_Azure")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTenantId())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetClientSecret()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClientSecret")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClientSecret(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClientSecret")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetClaimsCachingOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClaimsCachingOptions")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClaimsCachingOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClaimsCachingOptions")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OidcAuthorizationCode_ClientAuthentication_ClientSecret) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OidcAuthorizationCode_ClientAuthentication_ClientSecret")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetClientSecretRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClientSecretRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClientSecretRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClientSecretRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetDisableClientSecret()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DisableClientSecret")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDisableClientSecret(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DisableClientSecret")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.OidcAuthorizationCode_ClientAuthentication_PrivateKeyJwt")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSigningKeyRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SigningKeyRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSigningKeyRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SigningKeyRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetValidFor()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ValidFor")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetValidFor(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ValidFor")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JwtValidation_RemoteJwks) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.JwtValidation_RemoteJwks")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUrl())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRefreshInterval()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RefreshInterval")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRefreshInterval(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RefreshInterval")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JwtValidation_LocalJwks) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.JwtValidation_LocalJwks")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetInlineString())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessTokenValidation_ScopeList) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.AccessTokenValidation_ScopeList")); err != nil { + return 0, err + } + + for _, v := range m.GetScope() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKeyAuth_SecretKey) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKeyAuth_SecretKey")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRequired()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ApiKeyAuth_MetadataEntry) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ApiKeyAuth_MetadataEntry")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRequired()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AerospikeApiKeyStorageReadModeSc) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.AerospikeApiKeyStorageReadModeSc")); err != nil { + return 0, err + } + + switch m.ReadModeSc.(type) { + + case *AerospikeApiKeyStorageReadModeSc_ReadModeScSession: + + err = binary.Write(hasher, binary.LittleEndian, m.GetReadModeScSession()) + if err != nil { + return 0, err + } + + case *AerospikeApiKeyStorageReadModeSc_ReadModeScLinearize: + + err = binary.Write(hasher, binary.LittleEndian, m.GetReadModeScLinearize()) + if err != nil { + return 0, err + } + + case *AerospikeApiKeyStorageReadModeSc_ReadModeScReplica: + + err = binary.Write(hasher, binary.LittleEndian, m.GetReadModeScReplica()) + if err != nil { + return 0, err + } + + case *AerospikeApiKeyStorageReadModeSc_ReadModeScAllowUnavailable: + + err = binary.Write(hasher, binary.LittleEndian, m.GetReadModeScAllowUnavailable()) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AerospikeApiKeyStorageReadModeAp) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.AerospikeApiKeyStorageReadModeAp")); err != nil { + return 0, err + } + + switch m.ReadModeAp.(type) { + + case *AerospikeApiKeyStorageReadModeAp_ReadModeApOne: + + err = binary.Write(hasher, binary.LittleEndian, m.GetReadModeApOne()) + if err != nil { + return 0, err + } + + case *AerospikeApiKeyStorageReadModeAp_ReadModeApAll: + + err = binary.Write(hasher, binary.LittleEndian, m.GetReadModeApAll()) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AerospikeApiKeyStorageTlsCurveID) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.AerospikeApiKeyStorageTlsCurveID")); err != nil { + return 0, err + } + + switch m.CurveId.(type) { + + case *AerospikeApiKeyStorageTlsCurveID_CurveP256: + + err = binary.Write(hasher, binary.LittleEndian, m.GetCurveP256()) + if err != nil { + return 0, err + } + + case *AerospikeApiKeyStorageTlsCurveID_CurveP384: + + err = binary.Write(hasher, binary.LittleEndian, m.GetCurveP384()) + if err != nil { + return 0, err + } + + case *AerospikeApiKeyStorageTlsCurveID_CurveP521: + + err = binary.Write(hasher, binary.LittleEndian, m.GetCurveP521()) + if err != nil { + return 0, err + } + + case *AerospikeApiKeyStorageTlsCurveID_X_25519: + + err = binary.Write(hasher, binary.LittleEndian, m.GetX_25519()) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Ldap_ConnectionPool) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.Ldap_ConnectionPool")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMaxSize()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MaxSize")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMaxSize(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MaxSize")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetInitialSize()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("InitialSize")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetInitialSize(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("InitialSize")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PassThroughHttp_Request) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.PassThroughHttp_Request")); err != nil { + return 0, err + } + + for _, v := range m.GetAllowedHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetHeadersToAdd() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPassThroughState()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPassThroughFilterMetadata()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPassThroughBody()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PassThroughHttp_Response) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.PassThroughHttp_Response")); err != nil { + return 0, err + } + + for _, v := range m.GetAllowedUpstreamHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetAllowedClientHeadersOnDenied() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetReadStateFromResponse()) + if err != nil { + return 0, err + } + + for _, v := range m.GetAllowedUpstreamHeadersToOverwrite() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_BasicAuthInternal) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_BasicAuthInternal")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRealm())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetEncryption()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Encryption")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetEncryption(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Encryption")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.UserSource.(type) { + + case *ExtAuthConfig_BasicAuthInternal_UserList_: + + if h, ok := interface{}(m.GetUserList()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("UserList")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetUserList(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("UserList")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_OAuthConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_OAuthConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientSecret())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetIssuerUrl())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAuthEndpointQueryParams() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetAppUrl())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCallbackPath())); err != nil { + return 0, err + } + + for _, v := range m.GetScopes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_UserSessionConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_UserSessionConfig")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetFailOnFetchFailure()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCookieOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CookieOptions")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCookieOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CookieOptions")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetCipherConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CipherConfig")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCipherConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CipherConfig")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.Session.(type) { + + case *ExtAuthConfig_UserSessionConfig_Cookie: + + if h, ok := interface{}(m.GetCookie()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Cookie")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCookie(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Cookie")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_UserSessionConfig_Redis: + + if h, ok := interface{}(m.GetRedis()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Redis")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRedis(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Redis")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_OidcAuthorizationCodeConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientSecret())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetIssuerUrl())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAuthEndpointQueryParams() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetTokenEndpointQueryParams() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetAppUrl())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCallbackPath())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetLogoutPath())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAfterLogoutUrl())); err != nil { + return 0, err + } + + for _, v := range m.GetScopes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetSession()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Session")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSession(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Session")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetHeaders()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Headers")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHeaders(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Headers")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetDiscoveryOverride()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DiscoveryOverride")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDiscoveryOverride(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DiscoveryOverride")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetDiscoveryPollInterval()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DiscoveryPollInterval")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDiscoveryPollInterval(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DiscoveryPollInterval")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetJwksCacheRefreshPolicy()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("JwksCacheRefreshPolicy")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetJwksCacheRefreshPolicy(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("JwksCacheRefreshPolicy")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetSessionIdHeaderName())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetParseCallbackPathAsRegex()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetAutoMapFromMetadata()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AutoMapFromMetadata")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAutoMapFromMetadata(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AutoMapFromMetadata")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetEndSessionProperties()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("EndSessionProperties")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetEndSessionProperties(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("EndSessionProperties")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetUserSession()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("UserSession")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetUserSession(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("UserSession")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPkJwtClientAuthenticationConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PkJwtClientAuthenticationConfig")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPkJwtClientAuthenticationConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PkJwtClientAuthenticationConfig")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetAccessToken()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AccessToken")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAccessToken(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AccessToken")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetIdentityToken()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("IdentityToken")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIdentityToken(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("IdentityToken")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.Provider.(type) { + + case *ExtAuthConfig_OidcAuthorizationCodeConfig_Default_: + + if h, ok := interface{}(m.GetDefault()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Default")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDefault(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Default")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure_: + + if h, ok := interface{}(m.GetAzure()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Azure")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAzure(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Azure")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_AccessTokenValidationConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_AccessTokenValidationConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUserinfoUrl())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCacheTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CacheTimeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCacheTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CacheTimeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.ValidationType.(type) { + + case *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionUrl: + + if _, err = hasher.Write([]byte(m.GetIntrospectionUrl())); err != nil { + return 0, err + } + + case *ExtAuthConfig_AccessTokenValidationConfig_Jwt: + + if h, ok := interface{}(m.GetJwt()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Jwt")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetJwt(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Jwt")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_AccessTokenValidationConfig_Introspection: + + if h, ok := interface{}(m.GetIntrospection()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Introspection")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIntrospection(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Introspection")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.ScopeValidation.(type) { + + case *ExtAuthConfig_AccessTokenValidationConfig_RequiredScopes: + + if h, ok := interface{}(m.GetRequiredScopes()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RequiredScopes")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequiredScopes(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RequiredScopes")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_PlainOAuth2Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_PlainOAuth2Config")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientSecret())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAuthEndpointQueryParams() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetAppUrl())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCallbackPath())); err != nil { + return 0, err + } + + for _, v := range m.GetScopes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetSession()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Session")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSession(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Session")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetLogoutPath())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetTokenEndpointQueryParams() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetAfterLogoutUrl())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAuthEndpoint())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTokenEndpoint())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRevocationEndpoint())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetUserSession()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("UserSession")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetUserSession(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("UserSession")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_OAuth2Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_OAuth2Config")); err != nil { + return 0, err + } + + switch m.OauthType.(type) { + + case *ExtAuthConfig_OAuth2Config_OidcAuthorizationCode: + + if h, ok := interface{}(m.GetOidcAuthorizationCode()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("OidcAuthorizationCode")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOidcAuthorizationCode(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("OidcAuthorizationCode")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_OAuth2Config_AccessTokenValidationConfig: + + if h, ok := interface{}(m.GetAccessTokenValidationConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AccessTokenValidationConfig")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAccessTokenValidationConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AccessTokenValidationConfig")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_OAuth2Config_Oauth2Config: + + if h, ok := interface{}(m.GetOauth2Config()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Oauth2Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOauth2Config(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Oauth2Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_ApiKeyAuthConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_ApiKeyAuthConfig")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetValidApiKeys() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetHeaderName())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetHeadersFromKeyMetadata() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + switch m.StorageBackend.(type) { + + case *ExtAuthConfig_ApiKeyAuthConfig_K8SSecretApikeyStorage: + + if h, ok := interface{}(m.GetK8SSecretApikeyStorage()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("K8SSecretApikeyStorage")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetK8SSecretApikeyStorage(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("K8SSecretApikeyStorage")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_ApiKeyAuthConfig_AerospikeApikeyStorage: + + if h, ok := interface{}(m.GetAerospikeApikeyStorage()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AerospikeApikeyStorage")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAerospikeApikeyStorage(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AerospikeApikeyStorage")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_OpaAuthConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_OpaAuthConfig")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetModules() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetQuery())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_OpaServerAuthConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_OpaServerAuthConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPackage())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRuleName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetServerAddr())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_LdapConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_LdapConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAddress())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUserDnTemplate())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMembershipAttributeName())); err != nil { + return 0, err + } + + for _, v := range m.GetAllowedGroups() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetPool()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Pool")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPool(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Pool")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetSearchFilter())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetDisableGroupChecking()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetGroupLookupSettings()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("GroupLookupSettings")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGroupLookupSettings(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("GroupLookupSettings")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_LdapServiceAccountConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_LdapServiceAccountConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUsername())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPassword())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetCheckGroupsWithServiceAccount()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_HmacAuthConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_HmacAuthConfig")); err != nil { + return 0, err + } + + switch m.SecretStorage.(type) { + + case *ExtAuthConfig_HmacAuthConfig_SecretList: + + if h, ok := interface{}(m.GetSecretList()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SecretList")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSecretList(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SecretList")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.ImplementationType.(type) { + + case *ExtAuthConfig_HmacAuthConfig_ParametersInHeaders: + + if h, ok := interface{}(m.GetParametersInHeaders()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ParametersInHeaders")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetParametersInHeaders(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ParametersInHeaders")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_InMemorySecretList) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_InMemorySecretList")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetSecretList() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetName()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Name")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetName(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Name")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.AuthConfig.(type) { + + case *ExtAuthConfig_Config_Oauth: + + if h, ok := interface{}(m.GetOauth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Oauth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOauth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Oauth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_Config_Oauth2: + + if h, ok := interface{}(m.GetOauth2()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Oauth2")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOauth2(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Oauth2")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_Config_BasicAuth: + + if h, ok := interface{}(m.GetBasicAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("BasicAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetBasicAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("BasicAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_Config_BasicAuthInternal: + + if h, ok := interface{}(m.GetBasicAuthInternal()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("BasicAuthInternal")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetBasicAuthInternal(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("BasicAuthInternal")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_Config_ApiKeyAuth: + + if h, ok := interface{}(m.GetApiKeyAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ApiKeyAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetApiKeyAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ApiKeyAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_Config_PluginAuth: + + if h, ok := interface{}(m.GetPluginAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PluginAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPluginAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PluginAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_Config_OpaAuth: + + if h, ok := interface{}(m.GetOpaAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("OpaAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOpaAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("OpaAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_Config_Ldap: + + if h, ok := interface{}(m.GetLdap()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Ldap")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLdap(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Ldap")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_Config_LdapInternal: + + if h, ok := interface{}(m.GetLdapInternal()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("LdapInternal")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLdapInternal(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("LdapInternal")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_Config_Jwt: + + if h, ok := interface{}(m.GetJwt()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Jwt")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetJwt(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Jwt")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_Config_PassThroughAuth: + + if h, ok := interface{}(m.GetPassThroughAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PassThroughAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPassThroughAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PassThroughAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_Config_HmacAuth: + + if h, ok := interface{}(m.GetHmacAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HmacAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHmacAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HmacAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_Config_OpaServerAuth: + + if h, ok := interface{}(m.GetOpaServerAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("OpaServerAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOpaServerAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("OpaServerAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_BasicAuthInternal_EncryptionType) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_BasicAuthInternal_EncryptionType")); err != nil { + return 0, err + } + + switch m.Algorithm.(type) { + + case *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr_: + + if h, ok := interface{}(m.GetApr()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Apr")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetApr(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Apr")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1_: + + if h, ok := interface{}(m.GetSha1()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Sha1")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSha1(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Sha1")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_BasicAuthInternal_User) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_BasicAuthInternal_User")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSalt())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHashedPassword())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_BasicAuthInternal_UserList) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_BasicAuthInternal_UserList")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetUsers() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_BasicAuthInternal_EncryptionType_Sha1")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_BasicAuthInternal_EncryptionType_Apr")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_UserSessionConfig_CipherConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_UserSessionConfig_CipherConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_OidcAuthorizationCodeConfig_PkJwtClientAuthenticationConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSigningKey())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetValidFor()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ValidFor")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetValidFor(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ValidFor")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_OidcAuthorizationCodeConfig_ClaimToHeader")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClaim())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHeader())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAppend()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_OidcAuthorizationCodeConfig_AccessToken")); err != nil { + return 0, err + } + + for _, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_OidcAuthorizationCodeConfig_IdentityToken")); err != nil { + return 0, err + } + + for _, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_Default) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_OidcAuthorizationCodeConfig_Default")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_OidcAuthorizationCodeConfig_Azure) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_OidcAuthorizationCodeConfig_Azure")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTenantId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientSecret())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetClaimsCachingOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClaimsCachingOptions")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClaimsCachingOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClaimsCachingOptions")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_AccessTokenValidationConfig_JwtValidation")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetIssuer())); err != nil { + return 0, err + } + + switch m.JwksSourceSpecifier.(type) { + + case *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks_: + + if h, ok := interface{}(m.GetRemoteJwks()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RemoteJwks")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRemoteJwks(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RemoteJwks")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks_: + + if h, ok := interface{}(m.GetLocalJwks()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("LocalJwks")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLocalJwks(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("LocalJwks")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_AccessTokenValidationConfig_IntrospectionValidation")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetIntrospectionUrl())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientSecret())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUserIdAttributeName())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_AccessTokenValidationConfig_ScopeList) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_AccessTokenValidationConfig_ScopeList")); err != nil { + return 0, err + } + + for _, v := range m.GetScope() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_RemoteJwks")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUrl())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRefreshInterval()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RefreshInterval")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRefreshInterval(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RefreshInterval")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_AccessTokenValidationConfig_JwtValidation_LocalJwks")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetInlineString())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("enterprise.gloo.solo.io.github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1.ExtAuthConfig_ApiKeyAuthConfig_KeyMetadata")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUsername())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetMetadata() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/enterprise.gloo.solo.io/v1/clients.go b/client-go/enterprise.gloo.solo.io/v1/clients.go new file mode 100644 index 000000000..397af09be --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/clients.go @@ -0,0 +1,213 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v1 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the enterprise.gloo.solo.io/v1 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the enterprise.gloo.solo.io/v1 APIs +type Clientset interface { + // clienset for the enterprise.gloo.solo.io/v1/v1 APIs + AuthConfigs() AuthConfigClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the enterprise.gloo.solo.io/v1/v1 APIs +func (c *clientSet) AuthConfigs() AuthConfigClient { + return NewAuthConfigClient(c.client) +} + +// Reader knows how to read and list AuthConfigs. +type AuthConfigReader interface { + // Get retrieves a AuthConfig for the given object key + GetAuthConfig(ctx context.Context, key client.ObjectKey) (*AuthConfig, error) + + // List retrieves list of AuthConfigs for a given namespace and list options. + ListAuthConfig(ctx context.Context, opts ...client.ListOption) (*AuthConfigList, error) +} + +// AuthConfigTransitionFunction instructs the AuthConfigWriter how to transition between an existing +// AuthConfig object and a desired on an Upsert +type AuthConfigTransitionFunction func(existing, desired *AuthConfig) error + +// Writer knows how to create, delete, and update AuthConfigs. +type AuthConfigWriter interface { + // Create saves the AuthConfig object. + CreateAuthConfig(ctx context.Context, obj *AuthConfig, opts ...client.CreateOption) error + + // Delete deletes the AuthConfig object. + DeleteAuthConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given AuthConfig object. + UpdateAuthConfig(ctx context.Context, obj *AuthConfig, opts ...client.UpdateOption) error + + // Patch patches the given AuthConfig object. + PatchAuthConfig(ctx context.Context, obj *AuthConfig, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all AuthConfig objects matching the given options. + DeleteAllOfAuthConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the AuthConfig object. + UpsertAuthConfig(ctx context.Context, obj *AuthConfig, transitionFuncs ...AuthConfigTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a AuthConfig object. +type AuthConfigStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given AuthConfig object. + UpdateAuthConfigStatus(ctx context.Context, obj *AuthConfig, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given AuthConfig object's subresource. + PatchAuthConfigStatus(ctx context.Context, obj *AuthConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on AuthConfigs. +type AuthConfigClient interface { + AuthConfigReader + AuthConfigWriter + AuthConfigStatusWriter +} + +type authConfigClient struct { + client client.Client +} + +func NewAuthConfigClient(client client.Client) *authConfigClient { + return &authConfigClient{client: client} +} + +func (c *authConfigClient) GetAuthConfig(ctx context.Context, key client.ObjectKey) (*AuthConfig, error) { + obj := &AuthConfig{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *authConfigClient) ListAuthConfig(ctx context.Context, opts ...client.ListOption) (*AuthConfigList, error) { + list := &AuthConfigList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *authConfigClient) CreateAuthConfig(ctx context.Context, obj *AuthConfig, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *authConfigClient) DeleteAuthConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &AuthConfig{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *authConfigClient) UpdateAuthConfig(ctx context.Context, obj *AuthConfig, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *authConfigClient) PatchAuthConfig(ctx context.Context, obj *AuthConfig, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *authConfigClient) DeleteAllOfAuthConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &AuthConfig{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *authConfigClient) UpsertAuthConfig(ctx context.Context, obj *AuthConfig, transitionFuncs ...AuthConfigTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*AuthConfig), desired.(*AuthConfig)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *authConfigClient) UpdateAuthConfigStatus(ctx context.Context, obj *AuthConfig, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *authConfigClient) PatchAuthConfigStatus(ctx context.Context, obj *AuthConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides AuthConfigClients for multiple clusters. +type MulticlusterAuthConfigClient interface { + // Cluster returns a AuthConfigClient for the given cluster + Cluster(cluster string) (AuthConfigClient, error) +} + +type multiclusterAuthConfigClient struct { + client multicluster.Client +} + +func NewMulticlusterAuthConfigClient(client multicluster.Client) MulticlusterAuthConfigClient { + return &multiclusterAuthConfigClient{client: client} +} + +func (m *multiclusterAuthConfigClient) Cluster(cluster string) (AuthConfigClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewAuthConfigClient(client), nil +} diff --git a/client-go/enterprise.gloo.solo.io/v1/controller/event_handlers.go b/client-go/enterprise.gloo.solo.io/v1/controller/event_handlers.go new file mode 100644 index 000000000..b95d8fefe --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/controller/event_handlers.go @@ -0,0 +1,125 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + enterprise_gloo_solo_io_v1 "github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the AuthConfig Resource +// DEPRECATED: Prefer reconciler pattern. +type AuthConfigEventHandler interface { + CreateAuthConfig(obj *enterprise_gloo_solo_io_v1.AuthConfig) error + UpdateAuthConfig(old, new *enterprise_gloo_solo_io_v1.AuthConfig) error + DeleteAuthConfig(obj *enterprise_gloo_solo_io_v1.AuthConfig) error + GenericAuthConfig(obj *enterprise_gloo_solo_io_v1.AuthConfig) error +} + +type AuthConfigEventHandlerFuncs struct { + OnCreate func(obj *enterprise_gloo_solo_io_v1.AuthConfig) error + OnUpdate func(old, new *enterprise_gloo_solo_io_v1.AuthConfig) error + OnDelete func(obj *enterprise_gloo_solo_io_v1.AuthConfig) error + OnGeneric func(obj *enterprise_gloo_solo_io_v1.AuthConfig) error +} + +func (f *AuthConfigEventHandlerFuncs) CreateAuthConfig(obj *enterprise_gloo_solo_io_v1.AuthConfig) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *AuthConfigEventHandlerFuncs) DeleteAuthConfig(obj *enterprise_gloo_solo_io_v1.AuthConfig) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *AuthConfigEventHandlerFuncs) UpdateAuthConfig(objOld, objNew *enterprise_gloo_solo_io_v1.AuthConfig) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *AuthConfigEventHandlerFuncs) GenericAuthConfig(obj *enterprise_gloo_solo_io_v1.AuthConfig) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type AuthConfigEventWatcher interface { + AddEventHandler(ctx context.Context, h AuthConfigEventHandler, predicates ...predicate.Predicate) error +} + +type authConfigEventWatcher struct { + watcher events.EventWatcher +} + +func NewAuthConfigEventWatcher(name string, mgr manager.Manager) AuthConfigEventWatcher { + return &authConfigEventWatcher{ + watcher: events.NewWatcher(name, mgr, &enterprise_gloo_solo_io_v1.AuthConfig{}), + } +} + +func (c *authConfigEventWatcher) AddEventHandler(ctx context.Context, h AuthConfigEventHandler, predicates ...predicate.Predicate) error { + handler := genericAuthConfigHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericAuthConfigHandler implements a generic events.EventHandler +type genericAuthConfigHandler struct { + handler AuthConfigEventHandler +} + +func (h genericAuthConfigHandler) Create(object client.Object) error { + obj, ok := object.(*enterprise_gloo_solo_io_v1.AuthConfig) + if !ok { + return errors.Errorf("internal error: AuthConfig handler received event for %T", object) + } + return h.handler.CreateAuthConfig(obj) +} + +func (h genericAuthConfigHandler) Delete(object client.Object) error { + obj, ok := object.(*enterprise_gloo_solo_io_v1.AuthConfig) + if !ok { + return errors.Errorf("internal error: AuthConfig handler received event for %T", object) + } + return h.handler.DeleteAuthConfig(obj) +} + +func (h genericAuthConfigHandler) Update(old, new client.Object) error { + objOld, ok := old.(*enterprise_gloo_solo_io_v1.AuthConfig) + if !ok { + return errors.Errorf("internal error: AuthConfig handler received event for %T", old) + } + objNew, ok := new.(*enterprise_gloo_solo_io_v1.AuthConfig) + if !ok { + return errors.Errorf("internal error: AuthConfig handler received event for %T", new) + } + return h.handler.UpdateAuthConfig(objOld, objNew) +} + +func (h genericAuthConfigHandler) Generic(object client.Object) error { + obj, ok := object.(*enterprise_gloo_solo_io_v1.AuthConfig) + if !ok { + return errors.Errorf("internal error: AuthConfig handler received event for %T", object) + } + return h.handler.GenericAuthConfig(obj) +} diff --git a/client-go/enterprise.gloo.solo.io/v1/controller/multicluster_reconcilers.go b/client-go/enterprise.gloo.solo.io/v1/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..364f32e72 --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/controller/multicluster_reconcilers.go @@ -0,0 +1,90 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + enterprise_gloo_solo_io_v1 "github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the AuthConfig Resource across clusters. +// implemented by the user +type MulticlusterAuthConfigReconciler interface { + ReconcileAuthConfig(clusterName string, obj *enterprise_gloo_solo_io_v1.AuthConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the AuthConfig Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterAuthConfigDeletionReconciler interface { + ReconcileAuthConfigDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterAuthConfigReconcilerFuncs struct { + OnReconcileAuthConfig func(clusterName string, obj *enterprise_gloo_solo_io_v1.AuthConfig) (reconcile.Result, error) + OnReconcileAuthConfigDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterAuthConfigReconcilerFuncs) ReconcileAuthConfig(clusterName string, obj *enterprise_gloo_solo_io_v1.AuthConfig) (reconcile.Result, error) { + if f.OnReconcileAuthConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileAuthConfig(clusterName, obj) +} + +func (f *MulticlusterAuthConfigReconcilerFuncs) ReconcileAuthConfigDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileAuthConfigDeletion == nil { + return nil + } + return f.OnReconcileAuthConfigDeletion(clusterName, req) +} + +type MulticlusterAuthConfigReconcileLoop interface { + // AddMulticlusterAuthConfigReconciler adds a MulticlusterAuthConfigReconciler to the MulticlusterAuthConfigReconcileLoop. + AddMulticlusterAuthConfigReconciler(ctx context.Context, rec MulticlusterAuthConfigReconciler, predicates ...predicate.Predicate) +} + +type multiclusterAuthConfigReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterAuthConfigReconcileLoop) AddMulticlusterAuthConfigReconciler(ctx context.Context, rec MulticlusterAuthConfigReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericAuthConfigMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterAuthConfigReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterAuthConfigReconcileLoop { + return &multiclusterAuthConfigReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &enterprise_gloo_solo_io_v1.AuthConfig{}, options)} +} + +type genericAuthConfigMulticlusterReconciler struct { + reconciler MulticlusterAuthConfigReconciler +} + +func (g genericAuthConfigMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterAuthConfigDeletionReconciler); ok { + return deletionReconciler.ReconcileAuthConfigDeletion(cluster, req) + } + return nil +} + +func (g genericAuthConfigMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*enterprise_gloo_solo_io_v1.AuthConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: AuthConfig handler received event for %T", object) + } + return g.reconciler.ReconcileAuthConfig(cluster, obj) +} diff --git a/client-go/enterprise.gloo.solo.io/v1/controller/reconcilers.go b/client-go/enterprise.gloo.solo.io/v1/controller/reconcilers.go new file mode 100644 index 000000000..838e9aeea --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/controller/reconcilers.go @@ -0,0 +1,135 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + enterprise_gloo_solo_io_v1 "github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the AuthConfig Resource. +// implemented by the user +type AuthConfigReconciler interface { + ReconcileAuthConfig(obj *enterprise_gloo_solo_io_v1.AuthConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the AuthConfig Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type AuthConfigDeletionReconciler interface { + ReconcileAuthConfigDeletion(req reconcile.Request) error +} + +type AuthConfigReconcilerFuncs struct { + OnReconcileAuthConfig func(obj *enterprise_gloo_solo_io_v1.AuthConfig) (reconcile.Result, error) + OnReconcileAuthConfigDeletion func(req reconcile.Request) error +} + +func (f *AuthConfigReconcilerFuncs) ReconcileAuthConfig(obj *enterprise_gloo_solo_io_v1.AuthConfig) (reconcile.Result, error) { + if f.OnReconcileAuthConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileAuthConfig(obj) +} + +func (f *AuthConfigReconcilerFuncs) ReconcileAuthConfigDeletion(req reconcile.Request) error { + if f.OnReconcileAuthConfigDeletion == nil { + return nil + } + return f.OnReconcileAuthConfigDeletion(req) +} + +// Reconcile and finalize the AuthConfig Resource +// implemented by the user +type AuthConfigFinalizer interface { + AuthConfigReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + AuthConfigFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeAuthConfig(obj *enterprise_gloo_solo_io_v1.AuthConfig) error +} + +type AuthConfigReconcileLoop interface { + RunAuthConfigReconciler(ctx context.Context, rec AuthConfigReconciler, predicates ...predicate.Predicate) error +} + +type authConfigReconcileLoop struct { + loop reconcile.Loop +} + +func NewAuthConfigReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) AuthConfigReconcileLoop { + return &authConfigReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &enterprise_gloo_solo_io_v1.AuthConfig{}, options), + } +} + +func (c *authConfigReconcileLoop) RunAuthConfigReconciler(ctx context.Context, reconciler AuthConfigReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericAuthConfigReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(AuthConfigFinalizer); ok { + reconcilerWrapper = genericAuthConfigFinalizer{ + genericAuthConfigReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericAuthConfigHandler implements a generic reconcile.Reconciler +type genericAuthConfigReconciler struct { + reconciler AuthConfigReconciler +} + +func (r genericAuthConfigReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*enterprise_gloo_solo_io_v1.AuthConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: AuthConfig handler received event for %T", object) + } + return r.reconciler.ReconcileAuthConfig(obj) +} + +func (r genericAuthConfigReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(AuthConfigDeletionReconciler); ok { + return deletionReconciler.ReconcileAuthConfigDeletion(request) + } + return nil +} + +// genericAuthConfigFinalizer implements a generic reconcile.FinalizingReconciler +type genericAuthConfigFinalizer struct { + genericAuthConfigReconciler + finalizingReconciler AuthConfigFinalizer +} + +func (r genericAuthConfigFinalizer) FinalizerName() string { + return r.finalizingReconciler.AuthConfigFinalizerName() +} + +func (r genericAuthConfigFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*enterprise_gloo_solo_io_v1.AuthConfig) + if !ok { + return errors.Errorf("internal error: AuthConfig handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeAuthConfig(obj) +} diff --git a/client-go/enterprise.gloo.solo.io/v1/doc.go b/client-go/enterprise.gloo.solo.io/v1/doc.go new file mode 100644 index 000000000..ff2fa98b3 --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v1 contains API Schema definitions for the enterprise.gloo.solo.io v1 API group +// +k8s:deepcopy-gen=package,register +// +groupName=enterprise.gloo.solo.io +package v1 diff --git a/client-go/enterprise.gloo.solo.io/v1/json.gen.go b/client-go/enterprise.gloo.solo.io/v1/json.gen.go new file mode 100644 index 000000000..90af8da87 --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/json.gen.go @@ -0,0 +1,50 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v1 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for AuthConfigSpec +func (this *AuthConfigSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for AuthConfigSpec +func (this *AuthConfigSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for AuthConfigStatus +func (this *AuthConfigStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for AuthConfigStatus +func (this *AuthConfigStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/enterprise.gloo.solo.io/v1/proto_deepcopy.go b/client-go/enterprise.gloo.solo.io/v1/proto_deepcopy.go new file mode 100644 index 000000000..58f462cbd --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/proto_deepcopy.go @@ -0,0 +1,32 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v1 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the AuthConfig.Spec +func (in *AuthConfigSpec) DeepCopyInto(out *AuthConfigSpec) { + var p *AuthConfigSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*AuthConfigSpec) + } else { + p = proto.Clone(in).(*AuthConfigSpec) + } + *out = *p +} + +// DeepCopyInto for the AuthConfig.Status +func (in *AuthConfigStatus) DeepCopyInto(out *AuthConfigStatus) { + var p *AuthConfigStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*AuthConfigStatus) + } else { + p = proto.Clone(in).(*AuthConfigStatus) + } + *out = *p +} diff --git a/client-go/enterprise.gloo.solo.io/v1/register.go b/client-go/enterprise.gloo.solo.io/v1/register.go new file mode 100644 index 000000000..4283644ca --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v1 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "enterprise.gloo.solo.io", Version: "v1"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/enterprise.gloo.solo.io/v1/type_helpers.go b/client-go/enterprise.gloo.solo.io/v1/type_helpers.go new file mode 100644 index 000000000..22671e79e --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/type_helpers.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v1 + +// AuthConfigSlice represents a slice of *AuthConfig +type AuthConfigSlice []*AuthConfig diff --git a/client-go/enterprise.gloo.solo.io/v1/types.go b/client-go/enterprise.gloo.solo.io/v1/types.go new file mode 100644 index 000000000..312f9e571 --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/types.go @@ -0,0 +1,48 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for AuthConfig +var AuthConfigGVK = schema.GroupVersionKind{ + Group: "enterprise.gloo.solo.io", + Version: "v1", + Kind: "AuthConfig", +} + +// AuthConfig is the Schema for the authConfig API +type AuthConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec AuthConfigSpec `json:"spec,omitempty"` + Status AuthConfigStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (AuthConfig) GVK() schema.GroupVersionKind { + return AuthConfigGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// AuthConfigList contains a list of AuthConfig +type AuthConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AuthConfig `json:"items"` +} + +func init() { + SchemeBuilder.Register(&AuthConfig{}, &AuthConfigList{}) +} diff --git a/client-go/enterprise.gloo.solo.io/v1/zz_generated.deepcopy.go b/client-go/enterprise.gloo.solo.io/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..a3d6f37e1 --- /dev/null +++ b/client-go/enterprise.gloo.solo.io/v1/zz_generated.deepcopy.go @@ -0,0 +1,69 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for enterprise.gloo.solo.io/v1 resources + +package v1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for AuthConfig + +func (in *AuthConfig) DeepCopyInto(out *AuthConfig) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *AuthConfig) DeepCopy() *AuthConfig { + if in == nil { + return nil + } + out := new(AuthConfig) + in.DeepCopyInto(out) + return out +} + +func (in *AuthConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *AuthConfigList) DeepCopyInto(out *AuthConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AuthConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *AuthConfigList) DeepCopy() *AuthConfigList { + if in == nil { + return nil + } + out := new(AuthConfigList) + in.DeepCopyInto(out) + return out +} + +func (in *AuthConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/common/cipher_detection/v3/cipher_detection_info.pb.go b/client-go/envoy-gloo-ee/api/envoy/common/cipher_detection/v3/cipher_detection_info.pb.go new file mode 100644 index 000000000..ba51ce6e2 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/common/cipher_detection/v3/cipher_detection_info.pb.go @@ -0,0 +1,179 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/common/cipher_detection/v3/cipher_detection_info.proto + +package v3 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/cncf/xds/go/udpa/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CipherDetectionInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The TLS ciphers provided in the client hello + Ciphers []uint32 `protobuf:"varint,1,rep,packed,name=ciphers,proto3" json:"ciphers,omitempty"` + // The version of TLS provided by the client (ie. 0x0303 for TLSv1.2) + TlsVersion uint32 `protobuf:"varint,2,opt,name=tls_version,json=tlsVersion,proto3" json:"tls_version,omitempty"` +} + +func (x *CipherDetectionInfo) Reset() { + *x = CipherDetectionInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CipherDetectionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CipherDetectionInfo) ProtoMessage() {} + +func (x *CipherDetectionInfo) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CipherDetectionInfo.ProtoReflect.Descriptor instead. +func (*CipherDetectionInfo) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_rawDescGZIP(), []int{0} +} + +func (x *CipherDetectionInfo) GetCiphers() []uint32 { + if x != nil { + return x.Ciphers + } + return nil +} + +func (x *CipherDetectionInfo) GetTlsVersion() uint32 { + if x != nil { + return x.TlsVersion + } + return 0 +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_rawDesc = []byte{ + 0x0a, 0x77, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, + 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x69, + 0x70, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x64, + 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, + 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x13, 0x43, 0x69, + 0x70, 0x68, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0d, 0x52, 0x07, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, + 0x6c, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0xb3, 0x01, 0x0a, + 0x2e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x63, 0x69, 0x70, 0x68, + 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, + 0x13, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x01, 0x5a, 0x62, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x65, + 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, + 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_goTypes = []interface{}{ + (*CipherDetectionInfo)(nil), // 0: envoy.common.cipher_detection.v3.CipherDetectionInfo +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CipherDetectionInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_common_cipher_detection_v3_cipher_detection_info_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/filter/http/cache/v2/cache_filter.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/cache/v2/cache_filter.pb.go new file mode 100644 index 000000000..7c49a87ac --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/cache/v2/cache_filter.pb.go @@ -0,0 +1,324 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/filter/http/cache/v2/cache_filter.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" + duration "github.com/golang/protobuf/ptypes/duration" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// [#proto-status: experimental] +type Cache struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The max content length of in-memory cached data for each worker thread. + // The content length is calculated as the sum of lengths of both keys and + // values. + InMemoryMaxContentLength *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=in_memory_max_content_length,json=inMemoryMaxContentLength,proto3" json:"in_memory_max_content_length,omitempty"` + GrpcService *v3.GrpcService `protobuf:"bytes,2,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"` + GrpcTimeout *duration.Duration `protobuf:"bytes,3,opt,name=grpc_timeout,json=grpcTimeout,proto3" json:"grpc_timeout,omitempty"` + RedisCluster string `protobuf:"bytes,4,opt,name=redis_cluster,json=redisCluster,proto3" json:"redis_cluster,omitempty"` + RedisStatPrefix string `protobuf:"bytes,5,opt,name=redis_stat_prefix,json=redisStatPrefix,proto3" json:"redis_stat_prefix,omitempty"` + RedisOpTimeout *duration.Duration `protobuf:"bytes,6,opt,name=redis_op_timeout,json=redisOpTimeout,proto3" json:"redis_op_timeout,omitempty"` + // [#not-implemented-hide:] + MaxResponseContentLength *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_response_content_length,json=maxResponseContentLength,proto3" json:"max_response_content_length,omitempty"` +} + +func (x *Cache) Reset() { + *x = Cache{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Cache) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Cache) ProtoMessage() {} + +func (x *Cache) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Cache.ProtoReflect.Descriptor instead. +func (*Cache) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDescGZIP(), []int{0} +} + +func (x *Cache) GetInMemoryMaxContentLength() *wrappers.UInt32Value { + if x != nil { + return x.InMemoryMaxContentLength + } + return nil +} + +func (x *Cache) GetGrpcService() *v3.GrpcService { + if x != nil { + return x.GrpcService + } + return nil +} + +func (x *Cache) GetGrpcTimeout() *duration.Duration { + if x != nil { + return x.GrpcTimeout + } + return nil +} + +func (x *Cache) GetRedisCluster() string { + if x != nil { + return x.RedisCluster + } + return "" +} + +func (x *Cache) GetRedisStatPrefix() string { + if x != nil { + return x.RedisStatPrefix + } + return "" +} + +func (x *Cache) GetRedisOpTimeout() *duration.Duration { + if x != nil { + return x.RedisOpTimeout + } + return nil +} + +func (x *Cache) GetMaxResponseContentLength() *wrappers.UInt32Value { + if x != nil { + return x.MaxResponseContentLength + } + return nil +} + +type CacheFilterRouteConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsCacheable bool `protobuf:"varint,1,opt,name=is_cacheable,json=isCacheable,proto3" json:"is_cacheable,omitempty"` +} + +func (x *CacheFilterRouteConfig) Reset() { + *x = CacheFilterRouteConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CacheFilterRouteConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CacheFilterRouteConfig) ProtoMessage() {} + +func (x *CacheFilterRouteConfig) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CacheFilterRouteConfig.ProtoReflect.Descriptor instead. +func (*CacheFilterRouteConfig) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDescGZIP(), []int{1} +} + +func (x *CacheFilterRouteConfig) GetIsCacheable() bool { + if x != nil { + return x.IsCacheable + } + return false +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDesc = []byte{ + 0x0a, 0x6f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x63, + 0x61, 0x63, 0x68, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, + 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, + 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x03, + 0x0a, 0x05, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x5c, 0x0a, 0x1c, 0x69, 0x6e, 0x5f, 0x6d, 0x65, + 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x69, 0x6e, 0x4d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0b, + 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x67, + 0x72, 0x70, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x67, 0x72, + 0x70, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x64, + 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2a, + 0x0a, 0x11, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x64, 0x69, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x43, 0x0a, 0x10, 0x72, 0x65, + 0x64, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x4f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, + 0x5b, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x3b, 0x0a, 0x16, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x63, + 0x68, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x42, 0xaa, 0x01, 0x0a, 0x2f, 0x69, 0x6f, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x10, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_goTypes = []interface{}{ + (*Cache)(nil), // 0: envoy.config.filter.http.cache.v2.Cache + (*CacheFilterRouteConfig)(nil), // 1: envoy.config.filter.http.cache.v2.CacheFilterRouteConfig + (*wrappers.UInt32Value)(nil), // 2: google.protobuf.UInt32Value + (*v3.GrpcService)(nil), // 3: envoy.config.core.v3.GrpcService + (*duration.Duration)(nil), // 4: google.protobuf.Duration +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_depIdxs = []int32{ + 2, // 0: envoy.config.filter.http.cache.v2.Cache.in_memory_max_content_length:type_name -> google.protobuf.UInt32Value + 3, // 1: envoy.config.filter.http.cache.v2.Cache.grpc_service:type_name -> envoy.config.core.v3.GrpcService + 4, // 2: envoy.config.filter.http.cache.v2.Cache.grpc_timeout:type_name -> google.protobuf.Duration + 4, // 3: envoy.config.filter.http.cache.v2.Cache.redis_op_timeout:type_name -> google.protobuf.Duration + 2, // 4: envoy.config.filter.http.cache.v2.Cache.max_response_content_length:type_name -> google.protobuf.UInt32Value + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Cache); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CacheFilterRouteConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_cache_v2_cache_filter_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/filter/http/graphql/v2/graphql.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/graphql/v2/graphql.pb.go new file mode 100644 index 000000000..156783310 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/graphql/v2/graphql.pb.go @@ -0,0 +1,4859 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/filter/http/graphql/v2/graphql.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" + any1 "github.com/golang/protobuf/ptypes/any" + empty "github.com/golang/protobuf/ptypes/empty" + _struct "github.com/golang/protobuf/ptypes/struct" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CacheControl_CacheControlScope int32 + +const ( + CacheControl_UNSET CacheControl_CacheControlScope = 0 + // Responses for requests with Authorization header fields must not be stored in a shared cache. + // But the public directive will cause such responses to be stored in a shared cache. + // + // In general, when pages are under Basic Auth or Digest Auth, the browser sends requests with + // the Authorization header. That means the response is access-controlled for restricted users + // (who have accounts), and it's fundamentally not shared-cacheable, even if it has max-age. + // + // You can use the public directive to unlock that restriction. + CacheControl_PUBLIC CacheControl_CacheControlScope = 1 + // You should add the private directive for user-personalized content — in particular, responses + // received after login, and sessions managed via cookies. + // + // If you forget to add private to a response with personalized content, then that response can be + // stored in a shared cache and end up being reused for multiple users, which can cause personal + // information to leak. + CacheControl_PRIVATE CacheControl_CacheControlScope = 2 +) + +// Enum value maps for CacheControl_CacheControlScope. +var ( + CacheControl_CacheControlScope_name = map[int32]string{ + 0: "UNSET", + 1: "PUBLIC", + 2: "PRIVATE", + } + CacheControl_CacheControlScope_value = map[string]int32{ + "UNSET": 0, + "PUBLIC": 1, + "PRIVATE": 2, + } +) + +func (x CacheControl_CacheControlScope) Enum() *CacheControl_CacheControlScope { + p := new(CacheControl_CacheControlScope) + *p = x + return p +} + +func (x CacheControl_CacheControlScope) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CacheControl_CacheControlScope) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_enumTypes[0].Descriptor() +} + +func (CacheControl_CacheControlScope) Type() protoreflect.EnumType { + return &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_enumTypes[0] +} + +func (x CacheControl_CacheControlScope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CacheControl_CacheControlScope.Descriptor instead. +func (CacheControl_CacheControlScope) EnumDescriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{11, 0} +} + +// if empty, defaults to string. similar to typeUrl in other envoy config +type ValueProvider_TypedValueProvider_Type int32 + +const ( + ValueProvider_TypedValueProvider_STRING ValueProvider_TypedValueProvider_Type = 0 + ValueProvider_TypedValueProvider_INT ValueProvider_TypedValueProvider_Type = 1 + ValueProvider_TypedValueProvider_FLOAT ValueProvider_TypedValueProvider_Type = 2 + ValueProvider_TypedValueProvider_BOOLEAN ValueProvider_TypedValueProvider_Type = 3 +) + +// Enum value maps for ValueProvider_TypedValueProvider_Type. +var ( + ValueProvider_TypedValueProvider_Type_name = map[int32]string{ + 0: "STRING", + 1: "INT", + 2: "FLOAT", + 3: "BOOLEAN", + } + ValueProvider_TypedValueProvider_Type_value = map[string]int32{ + "STRING": 0, + "INT": 1, + "FLOAT": 2, + "BOOLEAN": 3, + } +) + +func (x ValueProvider_TypedValueProvider_Type) Enum() *ValueProvider_TypedValueProvider_Type { + p := new(ValueProvider_TypedValueProvider_Type) + *p = x + return p +} + +func (x ValueProvider_TypedValueProvider_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ValueProvider_TypedValueProvider_Type) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_enumTypes[1].Descriptor() +} + +func (ValueProvider_TypedValueProvider_Type) Type() protoreflect.EnumType { + return &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_enumTypes[1] +} + +func (x ValueProvider_TypedValueProvider_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ValueProvider_TypedValueProvider_Type.Descriptor instead. +func (ValueProvider_TypedValueProvider_Type) EnumDescriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{20, 2, 0} +} + +// [Deprecated] - all usages of this are deprecated +// Defines a response transformation template. +// modify JSON response from upstream before it is processed by execution engine. +type ResponseTemplate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // [Deprecated] Use pre execution transformation instead + // In cases where the data to populate the graphql type is not in the + // root object of the result, use result root to specify the path + // of the response we should use as the root. + // If {"a": {"b": [1,2,3]}} is the response from the api, setting resultroot as `a.b` + // will pass on [1,2,3] to the execution engine rather than the whole api response + // + // Deprecated: Do not use. + ResultRoot []*PathSegment `protobuf:"bytes,1,rep,name=result_root,json=resultRoot,proto3" json:"result_root,omitempty"` + // Example: + // ``` + // type Query { + // getSimple: Simple + // } + // + // type Simple { + // name String + // address String + // }``` + // + // if we do `getsimple` and the response we get back from the upstream is + // ``` + // {"data": { + // "people": + // { + // "name": "John Doe", + // "details": { + // "address": "123 Turnip Rd" + // } + // } + // } + // } + // ``` + // the following response transform would let the graphql execution engine correctly + // marshal the upstream resposne into the expected graphql response: + // ` + // responseTransform: + // result_root: + // segments: + // - key: data + // - key: people + // setters: + // address: + // segments: + // - key: details + // - key: address + // `yaml + // + // Deprecated: Do not use. + Setters map[string]*TemplatedPath `protobuf:"bytes,2,rep,name=setters,proto3" json:"setters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ResponseTemplate) Reset() { + *x = ResponseTemplate{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResponseTemplate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResponseTemplate) ProtoMessage() {} + +func (x *ResponseTemplate) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResponseTemplate.ProtoReflect.Descriptor instead. +func (*ResponseTemplate) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{0} +} + +// Deprecated: Do not use. +func (x *ResponseTemplate) GetResultRoot() []*PathSegment { + if x != nil { + return x.ResultRoot + } + return nil +} + +// Deprecated: Do not use. +func (x *ResponseTemplate) GetSetters() map[string]*TemplatedPath { + if x != nil { + return x.Setters + } + return nil +} + +// Variable transformations are used to take variables that were declared +// and transform them using a transformation. The simplest transformation is the `variable` +// transform, which passes through the value of a single variable. For more complex transforms, +// the `jq` transformation can be used to form more complicated JSON values. +type VariableTransformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Transformations on variable extractions. + // + // Types that are assignable to Transformation: + // + // *VariableTransformation_Variable + // *VariableTransformation_Jq + // *VariableTransformation_Value + Transformation isVariableTransformation_Transformation `protobuf_oneof:"transformation"` +} + +func (x *VariableTransformation) Reset() { + *x = VariableTransformation{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VariableTransformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VariableTransformation) ProtoMessage() {} + +func (x *VariableTransformation) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VariableTransformation.ProtoReflect.Descriptor instead. +func (*VariableTransformation) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{1} +} + +func (m *VariableTransformation) GetTransformation() isVariableTransformation_Transformation { + if m != nil { + return m.Transformation + } + return nil +} + +func (x *VariableTransformation) GetVariable() string { + if x, ok := x.GetTransformation().(*VariableTransformation_Variable); ok { + return x.Variable + } + return "" +} + +func (x *VariableTransformation) GetJq() string { + if x, ok := x.GetTransformation().(*VariableTransformation_Jq); ok { + return x.Jq + } + return "" +} + +func (x *VariableTransformation) GetValue() *_struct.Value { + if x, ok := x.GetTransformation().(*VariableTransformation_Value); ok { + return x.Value + } + return nil +} + +type isVariableTransformation_Transformation interface { + isVariableTransformation_Transformation() +} + +type VariableTransformation_Variable struct { + // The value of the variable referenced is the result of this transformation. + // If the variable does not exist, an error will be thrown during configuration-time. + Variable string `protobuf:"bytes,1,opt,name=variable,proto3,oneof"` +} + +type VariableTransformation_Jq struct { + // The [jq](https://stedolan.github.io/jq/manual/) filter which is used to provide a value. + // variables defined in `variables` can be used in the jq filter via regular jq variable syntax. + // For example, a variable named "userIdHeader" can be used in a jq filter as `$userIdHeader` + // Jq filters must only result in one value, or an error will be sent back to the client. + // For example, for the input `[1,2,3]`, the jq filter `.[]` is not a valid jq filter as it results + // in multiple jq results. However, the jq filter '. | join(",")' is valid as it results in one result: "1,2,3". + Jq string `protobuf:"bytes,2,opt,name=jq,proto3,oneof"` +} + +type VariableTransformation_Value struct { + // static JSON value. + Value *_struct.Value `protobuf:"bytes,3,opt,name=value,proto3,oneof"` +} + +func (*VariableTransformation_Variable) isVariableTransformation_Transformation() {} + +func (*VariableTransformation_Jq) isVariableTransformation_Transformation() {} + +func (*VariableTransformation_Value) isVariableTransformation_Transformation() {} + +// Extractions are used to assign values to variables from various sources of data in the GraphQL +// request or response. This includes HTTP headers, Envoy Dynamic Metadata, or GraphQL query-specific args. +type Extraction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ExtractionType: + // + // *Extraction_RequestHeader + // *Extraction_DynamicMetadata + // *Extraction_GraphqlParent + // *Extraction_GraphqlArg + // *Extraction_ResolverResult + // *Extraction_JsonValue + ExtractionType isExtraction_ExtractionType `protobuf_oneof:"extraction_type"` +} + +func (x *Extraction) Reset() { + *x = Extraction{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Extraction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Extraction) ProtoMessage() {} + +func (x *Extraction) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Extraction.ProtoReflect.Descriptor instead. +func (*Extraction) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{2} +} + +func (m *Extraction) GetExtractionType() isExtraction_ExtractionType { + if m != nil { + return m.ExtractionType + } + return nil +} + +func (x *Extraction) GetRequestHeader() string { + if x, ok := x.GetExtractionType().(*Extraction_RequestHeader); ok { + return x.RequestHeader + } + return "" +} + +func (x *Extraction) GetDynamicMetadata() *Extraction_DynamicMetadataExtraction { + if x, ok := x.GetExtractionType().(*Extraction_DynamicMetadata); ok { + return x.DynamicMetadata + } + return nil +} + +func (x *Extraction) GetGraphqlParent() *empty.Empty { + if x, ok := x.GetExtractionType().(*Extraction_GraphqlParent); ok { + return x.GraphqlParent + } + return nil +} + +func (x *Extraction) GetGraphqlArg() string { + if x, ok := x.GetExtractionType().(*Extraction_GraphqlArg); ok { + return x.GraphqlArg + } + return "" +} + +func (x *Extraction) GetResolverResult() *empty.Empty { + if x, ok := x.GetExtractionType().(*Extraction_ResolverResult); ok { + return x.ResolverResult + } + return nil +} + +func (x *Extraction) GetJsonValue() *_struct.Value { + if x, ok := x.GetExtractionType().(*Extraction_JsonValue); ok { + return x.JsonValue + } + return nil +} + +type isExtraction_ExtractionType interface { + isExtraction_ExtractionType() +} + +type Extraction_RequestHeader struct { + // Extract the value from the GraphQL HTTP request header. The extracted value is a string. + // If the header doesn't exist, an error will be returned during run-time. + // If the header has multiple values, via a comma-separated list string, the value will be the same + // comma separated list string with all the values included. + // e.g. + // x-forwarded-for: 192.1.3.4,172.1.3.5, 192.163.2.5 + // will be extracted as "192.1.3.4,172.1.3.5, 192.163.2.5" + RequestHeader string `protobuf:"bytes,1,opt,name=request_header,json=requestHeader,proto3,oneof"` +} + +type Extraction_DynamicMetadata struct { + // Extract the value from envoy dynamic metadata. The extracted value is an object. + DynamicMetadata *Extraction_DynamicMetadataExtraction `protobuf:"bytes,2,opt,name=dynamic_metadata,json=dynamicMetadata,proto3,oneof"` +} + +type Extraction_GraphqlParent struct { + // Assigns the variable to the parent object + GraphqlParent *empty.Empty `protobuf:"bytes,3,opt,name=graphql_parent,json=graphqlParent,proto3,oneof"` +} + +type Extraction_GraphqlArg struct { + // Assigns the variable to the GraphQL Argument with this name. + // If this name doesn't exist, the variable is `null` + GraphqlArg string `protobuf:"bytes,4,opt,name=graphql_arg,json=graphqlArg,proto3,oneof"` +} + +type Extraction_ResolverResult struct { + // Only available on response transformations + // Assigns the variable to the GraphQL response body. + // This variable is only available during the pre_execution_transform and should not + // be used in the resolver-level variable transformations. + ResolverResult *empty.Empty `protobuf:"bytes,6,opt,name=resolver_result,json=resolverResult,proto3,oneof"` +} + +type Extraction_JsonValue struct { + // Assigns the variable to a JSON value specified here + JsonValue *_struct.Value `protobuf:"bytes,7,opt,name=json_value,json=jsonValue,proto3,oneof"` +} + +func (*Extraction_RequestHeader) isExtraction_ExtractionType() {} + +func (*Extraction_DynamicMetadata) isExtraction_ExtractionType() {} + +func (*Extraction_GraphqlParent) isExtraction_ExtractionType() {} + +func (*Extraction_GraphqlArg) isExtraction_ExtractionType() {} + +func (*Extraction_ResolverResult) isExtraction_ExtractionType() {} + +func (*Extraction_JsonValue) isExtraction_ExtractionType() {} + +type RESTResolver struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerUri *v3.HttpUri `protobuf:"bytes,1,opt,name=server_uri,json=serverUri,proto3" json:"server_uri,omitempty"` + // Types that are assignable to Request: + // + // *RESTResolver_RequestTransform + // *RESTResolver_RequestTransformation + Request isRESTResolver_Request `protobuf_oneof:"request"` + // pre-execution engine transformations + // + // Request flow: GraphQL request -> request_transform (instantiate REST request) -> + // REST API resp -> pre_execution_transform -> execution engine -> + // complete GraphQL field response + // + // [Deprecated] + // deprecation notice: if pre_execution_transform is set at the resolution level (up a level), this is ignored + // + // Deprecated: Do not use. + PreExecutionTransform *ResponseTemplate `protobuf:"bytes,3,opt,name=pre_execution_transform,json=preExecutionTransform,proto3" json:"pre_execution_transform,omitempty"` + SpanName string `protobuf:"bytes,4,opt,name=span_name,json=spanName,proto3" json:"span_name,omitempty"` + // Variables that are declared given the REST upstream response. + // These variables can only be used in the pre_execution_transform. + // If a variable has the same name as a variable declared at the resolution-level, + // this variable will take precedence. + Variables map[string]*RESTResolver_RestResponseVariableExtraction `protobuf:"bytes,6,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *RESTResolver) Reset() { + *x = RESTResolver{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RESTResolver) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RESTResolver) ProtoMessage() {} + +func (x *RESTResolver) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RESTResolver.ProtoReflect.Descriptor instead. +func (*RESTResolver) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{3} +} + +func (x *RESTResolver) GetServerUri() *v3.HttpUri { + if x != nil { + return x.ServerUri + } + return nil +} + +func (m *RESTResolver) GetRequest() isRESTResolver_Request { + if m != nil { + return m.Request + } + return nil +} + +// Deprecated: Do not use. +func (x *RESTResolver) GetRequestTransform() *RequestTemplate { + if x, ok := x.GetRequest().(*RESTResolver_RequestTransform); ok { + return x.RequestTransform + } + return nil +} + +func (x *RESTResolver) GetRequestTransformation() *RESTResolver_OutgoingRequest { + if x, ok := x.GetRequest().(*RESTResolver_RequestTransformation); ok { + return x.RequestTransformation + } + return nil +} + +// Deprecated: Do not use. +func (x *RESTResolver) GetPreExecutionTransform() *ResponseTemplate { + if x != nil { + return x.PreExecutionTransform + } + return nil +} + +func (x *RESTResolver) GetSpanName() string { + if x != nil { + return x.SpanName + } + return "" +} + +func (x *RESTResolver) GetVariables() map[string]*RESTResolver_RestResponseVariableExtraction { + if x != nil { + return x.Variables + } + return nil +} + +type isRESTResolver_Request interface { + isRESTResolver_Request() +} + +type RESTResolver_RequestTransform struct { + // configuration used to compose the outgoing request to a REST API + // [deprecated] use request_transformation instead; + // + // Deprecated: Do not use. + RequestTransform *RequestTemplate `protobuf:"bytes,2,opt,name=request_transform,json=requestTransform,proto3,oneof"` +} + +type RESTResolver_RequestTransformation struct { + // configuration used to compose the outgoing request to a REST backend + RequestTransformation *RESTResolver_OutgoingRequest `protobuf:"bytes,5,opt,name=request_transformation,json=requestTransformation,proto3,oneof"` +} + +func (*RESTResolver_RequestTransform) isRESTResolver_Request() {} + +func (*RESTResolver_RequestTransformation) isRESTResolver_Request() {} + +// Defines a configuration for generating outgoing requests for a resolver. +type GrpcRequestTemplate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // json representation of outgoing gRPC message to be sent to gRPC service + OutgoingMessageJson *JsonValue `protobuf:"bytes,1,opt,name=outgoing_message_json,json=outgoingMessageJson,proto3" json:"outgoing_message_json,omitempty"` + OutgoingMessageTransform *VariableTransformation `protobuf:"bytes,5,opt,name=outgoing_message_transform,json=outgoingMessageTransform,proto3" json:"outgoing_message_transform,omitempty"` + // request has shape matching service with name registered in registry + // is the full_name(), e.g. main.Bookstore + ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + // make request to method with this name on the grpc service defined above + // is just the name(), e.g. GetBook + MethodName string `protobuf:"bytes,3,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` + // in the future, we may want to make this a map + // once we know better what the use cases are + RequestMetadata map[string]string `protobuf:"bytes,4,rep,name=request_metadata,json=requestMetadata,proto3" json:"request_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The `:authority` header in the gRPC request. If this field is not set or is empty, + // the authority header value will be the envoy cluster name. + Authority string `protobuf:"bytes,6,opt,name=authority,proto3" json:"authority,omitempty"` +} + +func (x *GrpcRequestTemplate) Reset() { + *x = GrpcRequestTemplate{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrpcRequestTemplate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcRequestTemplate) ProtoMessage() {} + +func (x *GrpcRequestTemplate) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcRequestTemplate.ProtoReflect.Descriptor instead. +func (*GrpcRequestTemplate) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{4} +} + +func (x *GrpcRequestTemplate) GetOutgoingMessageJson() *JsonValue { + if x != nil { + return x.OutgoingMessageJson + } + return nil +} + +func (x *GrpcRequestTemplate) GetOutgoingMessageTransform() *VariableTransformation { + if x != nil { + return x.OutgoingMessageTransform + } + return nil +} + +func (x *GrpcRequestTemplate) GetServiceName() string { + if x != nil { + return x.ServiceName + } + return "" +} + +func (x *GrpcRequestTemplate) GetMethodName() string { + if x != nil { + return x.MethodName + } + return "" +} + +func (x *GrpcRequestTemplate) GetRequestMetadata() map[string]string { + if x != nil { + return x.RequestMetadata + } + return nil +} + +func (x *GrpcRequestTemplate) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +// Defines a configuration for serializing and deserializing requests for a gRPC resolver. +// Is a Schema Extension +type GrpcDescriptorRegistry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProtoDescriptors *v3.DataSource `protobuf:"bytes,1,opt,name=proto_descriptors,json=protoDescriptors,proto3" json:"proto_descriptors,omitempty"` +} + +func (x *GrpcDescriptorRegistry) Reset() { + *x = GrpcDescriptorRegistry{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrpcDescriptorRegistry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcDescriptorRegistry) ProtoMessage() {} + +func (x *GrpcDescriptorRegistry) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcDescriptorRegistry.ProtoReflect.Descriptor instead. +func (*GrpcDescriptorRegistry) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{5} +} + +func (x *GrpcDescriptorRegistry) GetProtoDescriptors() *v3.DataSource { + if x != nil { + return x.ProtoDescriptors + } + return nil +} + +type GrpcResolver struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerUri *v3.HttpUri `protobuf:"bytes,1,opt,name=server_uri,json=serverUri,proto3" json:"server_uri,omitempty"` + // configuration used to compose the outgoing request to a gRPC endpoint + RequestTransform *GrpcRequestTemplate `protobuf:"bytes,2,opt,name=request_transform,json=requestTransform,proto3" json:"request_transform,omitempty"` + // pre-execution engine transformations + // + // Request flow: GraphQL request -> request_transform (instantiate gRPC request) -> + // gRPC API resp -> pre_execution_transform -> execution engine -> + // complete GraphQL field response + // + // ResponseTemplate pre_execution_transform = 3; + SpanName string `protobuf:"bytes,4,opt,name=span_name,json=spanName,proto3" json:"span_name,omitempty"` +} + +func (x *GrpcResolver) Reset() { + *x = GrpcResolver{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrpcResolver) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcResolver) ProtoMessage() {} + +func (x *GrpcResolver) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcResolver.ProtoReflect.Descriptor instead. +func (*GrpcResolver) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{6} +} + +func (x *GrpcResolver) GetServerUri() *v3.HttpUri { + if x != nil { + return x.ServerUri + } + return nil +} + +func (x *GrpcResolver) GetRequestTransform() *GrpcRequestTemplate { + if x != nil { + return x.RequestTransform + } + return nil +} + +func (x *GrpcResolver) GetSpanName() string { + if x != nil { + return x.SpanName + } + return "" +} + +// A resolver which mocks graphql responses for a field. +type StaticResolver struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Response: + // + // *StaticResolver_SyncResponse + // *StaticResolver_AsyncResponse_ + // *StaticResolver_ErrorResponse + // *StaticResolver_SyncTemplatedResponse + Response isStaticResolver_Response `protobuf_oneof:"response"` +} + +func (x *StaticResolver) Reset() { + *x = StaticResolver{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StaticResolver) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StaticResolver) ProtoMessage() {} + +func (x *StaticResolver) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StaticResolver.ProtoReflect.Descriptor instead. +func (*StaticResolver) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{7} +} + +func (m *StaticResolver) GetResponse() isStaticResolver_Response { + if m != nil { + return m.Response + } + return nil +} + +// Deprecated: Do not use. +func (x *StaticResolver) GetSyncResponse() string { + if x, ok := x.GetResponse().(*StaticResolver_SyncResponse); ok { + return x.SyncResponse + } + return "" +} + +func (x *StaticResolver) GetAsyncResponse() *StaticResolver_AsyncResponse { + if x, ok := x.GetResponse().(*StaticResolver_AsyncResponse_); ok { + return x.AsyncResponse + } + return nil +} + +func (x *StaticResolver) GetErrorResponse() string { + if x, ok := x.GetResponse().(*StaticResolver_ErrorResponse); ok { + return x.ErrorResponse + } + return "" +} + +func (x *StaticResolver) GetSyncTemplatedResponse() *VariableTransformation { + if x, ok := x.GetResponse().(*StaticResolver_SyncTemplatedResponse); ok { + return x.SyncTemplatedResponse + } + return nil +} + +type isStaticResolver_Response interface { + isStaticResolver_Response() +} + +type StaticResolver_SyncResponse struct { + // Responds synchronously (on the same dispatch loop as the resolve call) + // [Deprecated] - use sync_templated_response + // + // Deprecated: Do not use. + SyncResponse string `protobuf:"bytes,1,opt,name=sync_response,json=syncResponse,proto3,oneof"` +} + +type StaticResolver_AsyncResponse_ struct { + // Responds asynchronously after delay_ms + AsyncResponse *StaticResolver_AsyncResponse `protobuf:"bytes,2,opt,name=async_response,json=asyncResponse,proto3,oneof"` +} + +type StaticResolver_ErrorResponse struct { + // Responds as an error with the given message + ErrorResponse string `protobuf:"bytes,3,opt,name=error_response,json=errorResponse,proto3,oneof"` +} + +type StaticResolver_SyncTemplatedResponse struct { + // Responds synchronously (on the same dispatch loop as the resolve call) + // with a variable transformation. + // If this is set, sync_response is ignored. + SyncTemplatedResponse *VariableTransformation `protobuf:"bytes,4,opt,name=sync_templated_response,json=syncTemplatedResponse,proto3,oneof"` +} + +func (*StaticResolver_SyncResponse) isStaticResolver_Response() {} + +func (*StaticResolver_AsyncResponse_) isStaticResolver_Response() {} + +func (*StaticResolver_ErrorResponse) isStaticResolver_Response() {} + +func (*StaticResolver_SyncTemplatedResponse) isStaticResolver_Response() {} + +// NOT IMPLEMENTED +// Resolve an abstract type (union or interface) to a real type. +// When implemented, this message will be a field in the Resolution message. +type AbstractTypeResolver struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *AbstractTypeResolver) Reset() { + *x = AbstractTypeResolver{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AbstractTypeResolver) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AbstractTypeResolver) ProtoMessage() {} + +func (x *AbstractTypeResolver) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AbstractTypeResolver.ProtoReflect.Descriptor instead. +func (*AbstractTypeResolver) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{8} +} + +type QueryMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Match: + // + // *QueryMatcher_FieldMatcher_ + Match isQueryMatcher_Match `protobuf_oneof:"match"` +} + +func (x *QueryMatcher) Reset() { + *x = QueryMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryMatcher) ProtoMessage() {} + +func (x *QueryMatcher) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryMatcher.ProtoReflect.Descriptor instead. +func (*QueryMatcher) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{9} +} + +func (m *QueryMatcher) GetMatch() isQueryMatcher_Match { + if m != nil { + return m.Match + } + return nil +} + +func (x *QueryMatcher) GetFieldMatcher() *QueryMatcher_FieldMatcher { + if x, ok := x.GetMatch().(*QueryMatcher_FieldMatcher_); ok { + return x.FieldMatcher + } + return nil +} + +type isQueryMatcher_Match interface { + isQueryMatcher_Match() +} + +type QueryMatcher_FieldMatcher_ struct { + FieldMatcher *QueryMatcher_FieldMatcher `protobuf:"bytes,1,opt,name=field_matcher,json=fieldMatcher,proto3,oneof"` +} + +func (*QueryMatcher_FieldMatcher_) isQueryMatcher_Match() {} + +// This is the resolver map for the schema. +// For each Type.Field, we can define a resolver. +// if a field does not have resolver, the default resolver will be used. +// the default resolver takes the field with the same name from the parent, and +// uses that value to resolve the field. if a field with the same name does not +// exist in the parent, null will be used. +type Resolution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Match an object type and field + Matcher *QueryMatcher `protobuf:"bytes,1,opt,name=matcher,proto3" json:"matcher,omitempty"` + // Variables that can be used as a part of transformations for this field's resolution. + // The key is the name of the variable, which is directly used in the transformation. + // The value defines where the variable value is extracted from on the GraphQL request. + Variables map[string]*Extraction `protobuf:"bytes,5,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The resolver to use + Resolver *v3.TypedExtensionConfig `protobuf:"bytes,2,opt,name=resolver,proto3" json:"resolver,omitempty"` + // Variable transformation that is run prior to the resolver result being passed to the + // GraphQL execution engine. This is primarily used to transform the result + // from the resolver, but all variables declared in the `variables` field are available here. + // In addition, variables that are returned from the resolver are also available here, + // with those variables taking naming precedence over variables declared at this level. + PreExecutionTransform *VariableTransformation `protobuf:"bytes,6,opt,name=pre_execution_transform,json=preExecutionTransform,proto3" json:"pre_execution_transform,omitempty"` + // The stats prefix which will be used for this resolver + StatPrefix string `protobuf:"bytes,3,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` + // caching configuration, defaults to no caching + CacheControl *CacheControl `protobuf:"bytes,4,opt,name=cache_control,json=cacheControl,proto3" json:"cache_control,omitempty"` +} + +func (x *Resolution) Reset() { + *x = Resolution{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Resolution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Resolution) ProtoMessage() {} + +func (x *Resolution) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Resolution.ProtoReflect.Descriptor instead. +func (*Resolution) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{10} +} + +func (x *Resolution) GetMatcher() *QueryMatcher { + if x != nil { + return x.Matcher + } + return nil +} + +func (x *Resolution) GetVariables() map[string]*Extraction { + if x != nil { + return x.Variables + } + return nil +} + +func (x *Resolution) GetResolver() *v3.TypedExtensionConfig { + if x != nil { + return x.Resolver + } + return nil +} + +func (x *Resolution) GetPreExecutionTransform() *VariableTransformation { + if x != nil { + return x.PreExecutionTransform + } + return nil +} + +func (x *Resolution) GetStatPrefix() string { + if x != nil { + return x.StatPrefix + } + return "" +} + +func (x *Resolution) GetCacheControl() *CacheControl { + if x != nil { + return x.CacheControl + } + return nil +} + +// Resolvers for scalar, non-root fields rarely fetch data and instead usually populate data via the parent argument. +// Consequently, these fields inherit their default maxAge from their parent to reduce schema clutter. +// +// TODO: Talk with product -- apollo does not do this, but we could factor in upstream Cache-Control header +// response into our inheritance model. +type CacheControl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // number of seconds to cache result for. the max_age used for a single graphql request is the minimum + // of all fields requested. + // + // default max_age rules work as follows: + // - root fields (i.e. Query, Mutation, Subscription) default to 0s + // - non-root, non-scalar fields (i.e. object, interface, or union; or a list of those types) default to 0s + // - all other fields inherit the max_age from their parent. + MaxAge *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` + // provide controls to which users can access cached content + Scope CacheControl_CacheControlScope `protobuf:"varint,2,opt,name=scope,proto3,enum=envoy.config.filter.http.graphql.v2.CacheControl_CacheControlScope" json:"scope,omitempty"` + // whether or not to inherit the caching configuration of any parent fields + InheritMaxAge bool `protobuf:"varint,3,opt,name=inherit_max_age,json=inheritMaxAge,proto3" json:"inherit_max_age,omitempty"` +} + +func (x *CacheControl) Reset() { + *x = CacheControl{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CacheControl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CacheControl) ProtoMessage() {} + +func (x *CacheControl) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CacheControl.ProtoReflect.Descriptor instead. +func (*CacheControl) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{11} +} + +func (x *CacheControl) GetMaxAge() *wrappers.UInt32Value { + if x != nil { + return x.MaxAge + } + return nil +} + +func (x *CacheControl) GetScope() CacheControl_CacheControlScope { + if x != nil { + return x.Scope + } + return CacheControl_UNSET +} + +func (x *CacheControl) GetInheritMaxAge() bool { + if x != nil { + return x.InheritMaxAge + } + return false +} + +// Filter Listener config. Empty as the filter must be configured on the route +// level. +type GraphQLConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GraphQLConfig) Reset() { + *x = GraphQLConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLConfig) ProtoMessage() {} + +func (x *GraphQLConfig) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLConfig.ProtoReflect.Descriptor instead. +func (*GraphQLConfig) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{12} +} + +// Filter Route config. Routes that have this config will execute graphql +// queries, and will not make it to the router filter. i.e. this filter will +// terminate the request for these routes. +type GraphQLRouteConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExecutableSchema *ExecutableSchema `protobuf:"bytes,4,opt,name=executable_schema,json=executableSchema,proto3" json:"executable_schema,omitempty"` + // The stats prefix which will be used for this route config. + StatPrefix string `protobuf:"bytes,5,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` + // Configuration settings for persisted query cache + PersistedQueryCacheConfig *PersistedQueryCacheConfig `protobuf:"bytes,6,opt,name=persisted_query_cache_config,json=persistedQueryCacheConfig,proto3" json:"persisted_query_cache_config,omitempty"` + // Safelist: only allow queries to be executed that match these sha256 hashes. + // The hash can be computed from the query string or provided (i.e. persisted queries). + AllowedQueryHashes []string `protobuf:"bytes,7,rep,name=allowed_query_hashes,json=allowedQueryHashes,proto3" json:"allowed_query_hashes,omitempty"` +} + +func (x *GraphQLRouteConfig) Reset() { + *x = GraphQLRouteConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLRouteConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLRouteConfig) ProtoMessage() {} + +func (x *GraphQLRouteConfig) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLRouteConfig.ProtoReflect.Descriptor instead. +func (*GraphQLRouteConfig) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{13} +} + +func (x *GraphQLRouteConfig) GetExecutableSchema() *ExecutableSchema { + if x != nil { + return x.ExecutableSchema + } + return nil +} + +func (x *GraphQLRouteConfig) GetStatPrefix() string { + if x != nil { + return x.StatPrefix + } + return "" +} + +func (x *GraphQLRouteConfig) GetPersistedQueryCacheConfig() *PersistedQueryCacheConfig { + if x != nil { + return x.PersistedQueryCacheConfig + } + return nil +} + +func (x *GraphQLRouteConfig) GetAllowedQueryHashes() []string { + if x != nil { + return x.AllowedQueryHashes + } + return nil +} + +// This message specifies Persisted Query Cache configuration. +type PersistedQueryCacheConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The unit is number of queries to store, default to 1000. + CacheSize uint32 `protobuf:"varint,1,opt,name=cache_size,json=cacheSize,proto3" json:"cache_size,omitempty"` +} + +func (x *PersistedQueryCacheConfig) Reset() { + *x = PersistedQueryCacheConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PersistedQueryCacheConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PersistedQueryCacheConfig) ProtoMessage() {} + +func (x *PersistedQueryCacheConfig) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PersistedQueryCacheConfig.ProtoReflect.Descriptor instead. +func (*PersistedQueryCacheConfig) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{14} +} + +func (x *PersistedQueryCacheConfig) GetCacheSize() uint32 { + if x != nil { + return x.CacheSize + } + return 0 +} + +type ExecutableSchema struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Schema to use in string format. + SchemaDefinition *v3.DataSource `protobuf:"bytes,1,opt,name=schema_definition,json=schemaDefinition,proto3" json:"schema_definition,omitempty"` + // how to execute the schema + Executor *Executor `protobuf:"bytes,2,opt,name=executor,proto3" json:"executor,omitempty"` + // Schema extensions + Extensions map[string]*any1.Any `protobuf:"bytes,3,rep,name=extensions,proto3" json:"extensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Logs request / response sensitive information + // By default, this is false so no request or response sensitive information is logged. + LogRequestResponseInfo bool `protobuf:"varint,4,opt,name=log_request_response_info,json=logRequestResponseInfo,proto3" json:"log_request_response_info,omitempty"` +} + +func (x *ExecutableSchema) Reset() { + *x = ExecutableSchema{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutableSchema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutableSchema) ProtoMessage() {} + +func (x *ExecutableSchema) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutableSchema.ProtoReflect.Descriptor instead. +func (*ExecutableSchema) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{15} +} + +func (x *ExecutableSchema) GetSchemaDefinition() *v3.DataSource { + if x != nil { + return x.SchemaDefinition + } + return nil +} + +func (x *ExecutableSchema) GetExecutor() *Executor { + if x != nil { + return x.Executor + } + return nil +} + +func (x *ExecutableSchema) GetExtensions() map[string]*any1.Any { + if x != nil { + return x.Extensions + } + return nil +} + +func (x *ExecutableSchema) GetLogRequestResponseInfo() bool { + if x != nil { + return x.LogRequestResponseInfo + } + return false +} + +type Executor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Executor: + // + // *Executor_Local_ + // *Executor_Remote_ + Executor isExecutor_Executor `protobuf_oneof:"executor"` +} + +func (x *Executor) Reset() { + *x = Executor{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Executor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Executor) ProtoMessage() {} + +func (x *Executor) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Executor.ProtoReflect.Descriptor instead. +func (*Executor) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{16} +} + +func (m *Executor) GetExecutor() isExecutor_Executor { + if m != nil { + return m.Executor + } + return nil +} + +func (x *Executor) GetLocal() *Executor_Local { + if x, ok := x.GetExecutor().(*Executor_Local_); ok { + return x.Local + } + return nil +} + +func (x *Executor) GetRemote() *Executor_Remote { + if x, ok := x.GetExecutor().(*Executor_Remote_); ok { + return x.Remote + } + return nil +} + +type isExecutor_Executor interface { + isExecutor_Executor() +} + +type Executor_Local_ struct { + Local *Executor_Local `protobuf:"bytes,1,opt,name=local,proto3,oneof"` +} + +type Executor_Remote_ struct { + Remote *Executor_Remote `protobuf:"bytes,2,opt,name=remote,proto3,oneof"` +} + +func (*Executor_Local_) isExecutor_Executor() {} + +func (*Executor_Remote_) isExecutor_Executor() {} + +// [Deprecated] - all usages of this message are deprecated +// used to reference into json structures by key(s) +type PathSegment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Segment: + // + // *PathSegment_Key + // *PathSegment_Index + // *PathSegment_All + Segment isPathSegment_Segment `protobuf_oneof:"segment"` +} + +func (x *PathSegment) Reset() { + *x = PathSegment{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PathSegment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PathSegment) ProtoMessage() {} + +func (x *PathSegment) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PathSegment.ProtoReflect.Descriptor instead. +func (*PathSegment) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{17} +} + +func (m *PathSegment) GetSegment() isPathSegment_Segment { + if m != nil { + return m.Segment + } + return nil +} + +func (x *PathSegment) GetKey() string { + if x, ok := x.GetSegment().(*PathSegment_Key); ok { + return x.Key + } + return "" +} + +func (x *PathSegment) GetIndex() uint32 { + if x, ok := x.GetSegment().(*PathSegment_Index); ok { + return x.Index + } + return 0 +} + +func (x *PathSegment) GetAll() bool { + if x, ok := x.GetSegment().(*PathSegment_All); ok { + return x.All + } + return false +} + +type isPathSegment_Segment interface { + isPathSegment_Segment() +} + +type PathSegment_Key struct { + // This will extract a key from a Map value. + Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"` +} + +type PathSegment_Index struct { + // Extract element at list + Index uint32 `protobuf:"varint,2,opt,name=index,proto3,oneof"` +} + +type PathSegment_All struct { + // Extracts all elements from a map or a list + All bool `protobuf:"varint,3,opt,name=all,proto3,oneof"` +} + +func (*PathSegment_Key) isPathSegment_Segment() {} + +func (*PathSegment_Index) isPathSegment_Segment() {} + +func (*PathSegment_All) isPathSegment_Segment() {} + +// [Deprecated] - all usages of this message are deprecated +type Path struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Segments []*PathSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` +} + +func (x *Path) Reset() { + *x = Path{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Path) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Path) ProtoMessage() {} + +func (x *Path) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Path.ProtoReflect.Descriptor instead. +func (*Path) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{18} +} + +func (x *Path) GetSegments() []*PathSegment { + if x != nil { + return x.Segments + } + return nil +} + +// [Deprecated] - all usages of this message are deprecated +type TemplatedPath struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If non-empty, Inserts named paths into a template string. + // For example, if the template is '/api/{apiVersionPath}/pet/{petIdPath}' + // and we have two named paths defined in `named_paths`, apiVersionPath and petIdPath, with extracted values 'v2' and '123' respectively, + // the final resulting value will be '/api/v2/pet/123' + // Use {PATH_NAME} as the interpolation notation (even repeated) regardless of the type of the + // provided value. + // If an undefined PATH_NAME is used in the template, this will nack during configuration. + // If this is empty, only the value of the first provider will be used as the resulting value. + PathTemplate string `protobuf:"bytes,1,opt,name=path_template,json=pathTemplate,proto3" json:"path_template,omitempty"` + NamedPaths map[string]*Path `protobuf:"bytes,2,rep,name=named_paths,json=namedPaths,proto3" json:"named_paths,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *TemplatedPath) Reset() { + *x = TemplatedPath{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TemplatedPath) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TemplatedPath) ProtoMessage() {} + +func (x *TemplatedPath) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TemplatedPath.ProtoReflect.Descriptor instead. +func (*TemplatedPath) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{19} +} + +func (x *TemplatedPath) GetPathTemplate() string { + if x != nil { + return x.PathTemplate + } + return "" +} + +func (x *TemplatedPath) GetNamedPaths() map[string]*Path { + if x != nil { + return x.NamedPaths + } + return nil +} + +// In the future we may add support for regex and subgroups +// [Deprecated] - all usages of this message are deprecated +type ValueProvider struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Map of provider name to provider definition. + // The name will be used to insert the provider value in the provider_template. + Providers map[string]*ValueProvider_Provider `protobuf:"bytes,3,rep,name=providers,proto3" json:"providers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // If non-empty, Inserts named providers into a template string. + // For example, if the provider_template is '/api/{apiVersionProvider}/pet/{petIdProvider}' + // and we have two named providers defined in `providers`, apiVersionProvider and petIdProvider, with extracted values 'v2' and '123' respectively, + // the final resulting value will be '/api/v2/pet/123' + // Use {PROVIDER_NAME} as the interpolation notation (even repeated) regardless of the type of the + // provided value. + // If an undefined PROVIDER_NAME is used in the provider_template, this will nack during configuration. + // If this is empty, only the value of the first provider will be used as the resulting value. + ProviderTemplate string `protobuf:"bytes,4,opt,name=provider_template,json=providerTemplate,proto3" json:"provider_template,omitempty"` +} + +func (x *ValueProvider) Reset() { + *x = ValueProvider{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValueProvider) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValueProvider) ProtoMessage() {} + +func (x *ValueProvider) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValueProvider.ProtoReflect.Descriptor instead. +func (*ValueProvider) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{20} +} + +func (x *ValueProvider) GetProviders() map[string]*ValueProvider_Provider { + if x != nil { + return x.Providers + } + return nil +} + +func (x *ValueProvider) GetProviderTemplate() string { + if x != nil { + return x.ProviderTemplate + } + return "" +} + +// [Deprecated] - all usages of this message are deprecated +type JsonValueList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Values []*JsonValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *JsonValueList) Reset() { + *x = JsonValueList{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JsonValueList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JsonValueList) ProtoMessage() {} + +func (x *JsonValueList) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JsonValueList.ProtoReflect.Descriptor instead. +func (*JsonValueList) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{21} +} + +func (x *JsonValueList) GetValues() []*JsonValue { + if x != nil { + return x.Values + } + return nil +} + +// [Deprecated] - all usages of this message are deprecated +type JsonValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to JsonVal: + // + // *JsonValue_Node + // *JsonValue_ValueProvider + // *JsonValue_List + JsonVal isJsonValue_JsonVal `protobuf_oneof:"json_val"` +} + +func (x *JsonValue) Reset() { + *x = JsonValue{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JsonValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JsonValue) ProtoMessage() {} + +func (x *JsonValue) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JsonValue.ProtoReflect.Descriptor instead. +func (*JsonValue) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{22} +} + +func (m *JsonValue) GetJsonVal() isJsonValue_JsonVal { + if m != nil { + return m.JsonVal + } + return nil +} + +func (x *JsonValue) GetNode() *JsonNode { + if x, ok := x.GetJsonVal().(*JsonValue_Node); ok { + return x.Node + } + return nil +} + +func (x *JsonValue) GetValueProvider() *ValueProvider { + if x, ok := x.GetJsonVal().(*JsonValue_ValueProvider); ok { + return x.ValueProvider + } + return nil +} + +func (x *JsonValue) GetList() *JsonValueList { + if x, ok := x.GetJsonVal().(*JsonValue_List); ok { + return x.List + } + return nil +} + +type isJsonValue_JsonVal interface { + isJsonValue_JsonVal() +} + +type JsonValue_Node struct { + Node *JsonNode `protobuf:"bytes,1,opt,name=node,proto3,oneof"` +} + +type JsonValue_ValueProvider struct { + ValueProvider *ValueProvider `protobuf:"bytes,2,opt,name=value_provider,json=valueProvider,proto3,oneof"` +} + +type JsonValue_List struct { + List *JsonValueList `protobuf:"bytes,3,opt,name=list,proto3,oneof"` +} + +func (*JsonValue_Node) isJsonValue_JsonVal() {} + +func (*JsonValue_ValueProvider) isJsonValue_JsonVal() {} + +func (*JsonValue_List) isJsonValue_JsonVal() {} + +// [Deprecated] - all usages of this message are deprecated +type JsonKeyValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // PARTIALLY IMPLEMENTED + // if empty, the value will be parsed as json and replace the entire + // previously-parsed json value --> this part is only needed for gRPC + // and thus not implemented yet + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value *JsonValue `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *JsonKeyValue) Reset() { + *x = JsonKeyValue{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JsonKeyValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JsonKeyValue) ProtoMessage() {} + +func (x *JsonKeyValue) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JsonKeyValue.ProtoReflect.Descriptor instead. +func (*JsonKeyValue) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{23} +} + +func (x *JsonKeyValue) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *JsonKeyValue) GetValue() *JsonValue { + if x != nil { + return x.Value + } + return nil +} + +// [Deprecated] - all usages of this message are deprecated +// Represents a typed JSON structure +type JsonNode struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // if keys repeat, the latest one replaces any earlier values associated + // with that key. + // + // repeated list, rather than a map, to have ordering to allow for merge + // semantics within the data plane, for example: + // - gRPC input uses special empty string for input key to set entire body + // - gRPC wants to replace a certain field in parsed body from GraphQL arg + KeyValues []*JsonKeyValue `protobuf:"bytes,1,rep,name=key_values,json=keyValues,proto3" json:"key_values,omitempty"` +} + +func (x *JsonNode) Reset() { + *x = JsonNode{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JsonNode) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JsonNode) ProtoMessage() {} + +func (x *JsonNode) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JsonNode.ProtoReflect.Descriptor instead. +func (*JsonNode) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{24} +} + +func (x *JsonNode) GetKeyValues() []*JsonKeyValue { + if x != nil { + return x.KeyValues + } + return nil +} + +// [Deprecated] - use RequestTransform instead. +// Defines a configuration for generating outgoing requests for a resolver. +type RequestTemplate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Use this attribute to set request headers to your REST service. It consists of a + // map of strings to value providers. The string key determines the name of the + // resulting header, the value provided will be the value. + // + // at least need ":method" and ":path" + Headers map[string]*ValueProvider `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Use this attribute to set query parameters to your REST service. It consists of a + // map of strings to value providers. The string key determines the name of the + // query param, the provided value will be the value. This value is appended to any + // value set to the :path header in `headers`. + // + // Interpolation is done in envoy rather than the control plane to prevent escaped + // character issues. Additionally, we may be providing values not known until + // the request is being executed (e.g., graphql parent info). + QueryParams map[string]*ValueProvider `protobuf:"bytes,2,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // implementation specific, gRPC will want gRPC message and struct to instantiate + OutgoingBody *JsonValue `protobuf:"bytes,3,opt,name=outgoing_body,json=outgoingBody,proto3" json:"outgoing_body,omitempty"` +} + +func (x *RequestTemplate) Reset() { + *x = RequestTemplate{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequestTemplate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestTemplate) ProtoMessage() {} + +func (x *RequestTemplate) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestTemplate.ProtoReflect.Descriptor instead. +func (*RequestTemplate) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{25} +} + +func (x *RequestTemplate) GetHeaders() map[string]*ValueProvider { + if x != nil { + return x.Headers + } + return nil +} + +func (x *RequestTemplate) GetQueryParams() map[string]*ValueProvider { + if x != nil { + return x.QueryParams + } + return nil +} + +func (x *RequestTemplate) GetOutgoingBody() *JsonValue { + if x != nil { + return x.OutgoingBody + } + return nil +} + +type Extraction_DynamicMetadataExtraction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The envoy dynamic metadata namespace that the data lives in. If the namespace doesn't exist in the + // metadata, the extraction yields null + MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"` + // The key under the envoy dynamic metadata namespace that the data lives under. + // If the key doesn't exist in the namespace, the extraction yields null + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *Extraction_DynamicMetadataExtraction) Reset() { + *x = Extraction_DynamicMetadataExtraction{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Extraction_DynamicMetadataExtraction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Extraction_DynamicMetadataExtraction) ProtoMessage() {} + +func (x *Extraction_DynamicMetadataExtraction) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Extraction_DynamicMetadataExtraction.ProtoReflect.Descriptor instead. +func (*Extraction_DynamicMetadataExtraction) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *Extraction_DynamicMetadataExtraction) GetMetadataNamespace() string { + if x != nil { + return x.MetadataNamespace + } + return "" +} + +func (x *Extraction_DynamicMetadataExtraction) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +type RESTResolver_RestResponseVariableExtraction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Extraction: + // + // *RESTResolver_RestResponseVariableExtraction_ResponseHeader + Extraction isRESTResolver_RestResponseVariableExtraction_Extraction `protobuf_oneof:"extraction"` +} + +func (x *RESTResolver_RestResponseVariableExtraction) Reset() { + *x = RESTResolver_RestResponseVariableExtraction{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RESTResolver_RestResponseVariableExtraction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RESTResolver_RestResponseVariableExtraction) ProtoMessage() {} + +func (x *RESTResolver_RestResponseVariableExtraction) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RESTResolver_RestResponseVariableExtraction.ProtoReflect.Descriptor instead. +func (*RESTResolver_RestResponseVariableExtraction) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{3, 1} +} + +func (m *RESTResolver_RestResponseVariableExtraction) GetExtraction() isRESTResolver_RestResponseVariableExtraction_Extraction { + if m != nil { + return m.Extraction + } + return nil +} + +func (x *RESTResolver_RestResponseVariableExtraction) GetResponseHeader() string { + if x, ok := x.GetExtraction().(*RESTResolver_RestResponseVariableExtraction_ResponseHeader); ok { + return x.ResponseHeader + } + return "" +} + +type isRESTResolver_RestResponseVariableExtraction_Extraction interface { + isRESTResolver_RestResponseVariableExtraction_Extraction() +} + +type RESTResolver_RestResponseVariableExtraction_ResponseHeader struct { + // Extract a header from the HTTP response. If the HTTP response is a non-200 response, + // or the header doesn't exist, the variable value will be null. + ResponseHeader string `protobuf:"bytes,1,opt,name=response_header,json=responseHeader,proto3,oneof"` +} + +func (*RESTResolver_RestResponseVariableExtraction_ResponseHeader) isRESTResolver_RestResponseVariableExtraction_Extraction() { +} + +type RESTResolver_OutgoingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Sets the headers on the request to the REST destination. + // This includes setting HTTP :method and :path headers. + // If the :method header is not set, the request will be sent by default as a GET. + // This is a map of HTTP Header name to a transformation which determines the Header value. + // The transformation must result in a JSON string value, or an error will be sent back to the client. + Headers map[string]*VariableTransformation `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Sets the query parameters on the request to the REST destination. + // The transformation that sets the value of a query param must output a JSON string, or an + // error will be sent back to the client. + QueryParams map[string]*VariableTransformation `protobuf:"bytes,2,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Sets the outgoing body to the upstream REST destination. + // By default, the body is empty. + Body *VariableTransformation `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *RESTResolver_OutgoingRequest) Reset() { + *x = RESTResolver_OutgoingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RESTResolver_OutgoingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RESTResolver_OutgoingRequest) ProtoMessage() {} + +func (x *RESTResolver_OutgoingRequest) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RESTResolver_OutgoingRequest.ProtoReflect.Descriptor instead. +func (*RESTResolver_OutgoingRequest) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{3, 2} +} + +func (x *RESTResolver_OutgoingRequest) GetHeaders() map[string]*VariableTransformation { + if x != nil { + return x.Headers + } + return nil +} + +func (x *RESTResolver_OutgoingRequest) GetQueryParams() map[string]*VariableTransformation { + if x != nil { + return x.QueryParams + } + return nil +} + +func (x *RESTResolver_OutgoingRequest) GetBody() *VariableTransformation { + if x != nil { + return x.Body + } + return nil +} + +type StaticResolver_AsyncResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ResponseType: + // + // *StaticResolver_AsyncResponse_Response + // *StaticResolver_AsyncResponse_TemplatedResponse + ResponseType isStaticResolver_AsyncResponse_ResponseType `protobuf_oneof:"response_type"` + DelayMs uint32 `protobuf:"varint,2,opt,name=delay_ms,json=delayMs,proto3" json:"delay_ms,omitempty"` +} + +func (x *StaticResolver_AsyncResponse) Reset() { + *x = StaticResolver_AsyncResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StaticResolver_AsyncResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StaticResolver_AsyncResponse) ProtoMessage() {} + +func (x *StaticResolver_AsyncResponse) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StaticResolver_AsyncResponse.ProtoReflect.Descriptor instead. +func (*StaticResolver_AsyncResponse) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{7, 0} +} + +func (m *StaticResolver_AsyncResponse) GetResponseType() isStaticResolver_AsyncResponse_ResponseType { + if m != nil { + return m.ResponseType + } + return nil +} + +func (x *StaticResolver_AsyncResponse) GetResponse() string { + if x, ok := x.GetResponseType().(*StaticResolver_AsyncResponse_Response); ok { + return x.Response + } + return "" +} + +func (x *StaticResolver_AsyncResponse) GetTemplatedResponse() *VariableTransformation { + if x, ok := x.GetResponseType().(*StaticResolver_AsyncResponse_TemplatedResponse); ok { + return x.TemplatedResponse + } + return nil +} + +func (x *StaticResolver_AsyncResponse) GetDelayMs() uint32 { + if x != nil { + return x.DelayMs + } + return 0 +} + +type isStaticResolver_AsyncResponse_ResponseType interface { + isStaticResolver_AsyncResponse_ResponseType() +} + +type StaticResolver_AsyncResponse_Response struct { + Response string `protobuf:"bytes,1,opt,name=response,proto3,oneof"` +} + +type StaticResolver_AsyncResponse_TemplatedResponse struct { + TemplatedResponse *VariableTransformation `protobuf:"bytes,3,opt,name=templated_response,json=templatedResponse,proto3,oneof"` +} + +func (*StaticResolver_AsyncResponse_Response) isStaticResolver_AsyncResponse_ResponseType() {} + +func (*StaticResolver_AsyncResponse_TemplatedResponse) isStaticResolver_AsyncResponse_ResponseType() { +} + +type StaticResolver_AsyncTemplatedResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DelayMs uint32 `protobuf:"varint,2,opt,name=delay_ms,json=delayMs,proto3" json:"delay_ms,omitempty"` +} + +func (x *StaticResolver_AsyncTemplatedResponse) Reset() { + *x = StaticResolver_AsyncTemplatedResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StaticResolver_AsyncTemplatedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StaticResolver_AsyncTemplatedResponse) ProtoMessage() {} + +func (x *StaticResolver_AsyncTemplatedResponse) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StaticResolver_AsyncTemplatedResponse.ProtoReflect.Descriptor instead. +func (*StaticResolver_AsyncTemplatedResponse) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{7, 1} +} + +func (x *StaticResolver_AsyncTemplatedResponse) GetDelayMs() uint32 { + if x != nil { + return x.DelayMs + } + return 0 +} + +type QueryMatcher_FieldMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Object type. For example, Query. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Field within the object. + Field string `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"` +} + +func (x *QueryMatcher_FieldMatcher) Reset() { + *x = QueryMatcher_FieldMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryMatcher_FieldMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryMatcher_FieldMatcher) ProtoMessage() {} + +func (x *QueryMatcher_FieldMatcher) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryMatcher_FieldMatcher.ProtoReflect.Descriptor instead. +func (*QueryMatcher_FieldMatcher) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{9, 0} +} + +func (x *QueryMatcher_FieldMatcher) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *QueryMatcher_FieldMatcher) GetField() string { + if x != nil { + return x.Field + } + return "" +} + +// Execute schema using resolvers. +type Executor_Local struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The resolver map to use to resolve the schema. + Resolutions []*Resolution `protobuf:"bytes,1,rep,name=resolutions,proto3" json:"resolutions,omitempty"` + // Do we enable introspection for the schema? general recommendation is to + // disable this for production and hence it defaults to false. + EnableIntrospection bool `protobuf:"varint,2,opt,name=enable_introspection,json=enableIntrospection,proto3" json:"enable_introspection,omitempty"` + // The max amount of nesting a query can be executed against this schema. + // e.g. the following query has these depths: + // query { # Depth: 0 + // me { # Depth: 1 + // + // friends { # Depth: 2 + // friends # Depth: 3 + // } + // } + // } + // + // If the max_depth is set to 2, then the query at depth 3 will recieve an error as a response. + // By default max_depth is 0, which is unbounded query depth. + MaxDepth uint32 `protobuf:"varint,3,opt,name=max_depth,json=maxDepth,proto3" json:"max_depth,omitempty"` +} + +func (x *Executor_Local) Reset() { + *x = Executor_Local{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Executor_Local) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Executor_Local) ProtoMessage() {} + +func (x *Executor_Local) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Executor_Local.ProtoReflect.Descriptor instead. +func (*Executor_Local) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{16, 0} +} + +func (x *Executor_Local) GetResolutions() []*Resolution { + if x != nil { + return x.Resolutions + } + return nil +} + +func (x *Executor_Local) GetEnableIntrospection() bool { + if x != nil { + return x.EnableIntrospection + } + return false +} + +func (x *Executor_Local) GetMaxDepth() uint32 { + if x != nil { + return x.MaxDepth + } + return 0 +} + +// Execute schema by querying a graphql upstream. +type Executor_Remote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Server URI of the remote graphql cluster. + ServerUri *v3.HttpUri `protobuf:"bytes,1,opt,name=server_uri,json=serverUri,proto3" json:"server_uri,omitempty"` + // [Deprecated] - use templated_request and variables instead + // if templated_request is defined, this field is ignored + Request *Executor_Remote_RemoteSchemaRequest `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` + // Construct the outgoing request to the remote graphql server using variable transformations. + TemplatedRequest *Executor_Remote_TemplatedGraphQLRequest `protobuf:"bytes,4,opt,name=templated_request,json=templatedRequest,proto3" json:"templated_request,omitempty"` + // Variables that are declared from the downstream GraphQL request. + // These variables can only be used in the templatedRequest field to configure the upstream graphql request. + Variables map[string]*Executor_Remote_Extraction `protobuf:"bytes,5,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SpanName string `protobuf:"bytes,3,opt,name=span_name,json=spanName,proto3" json:"span_name,omitempty"` + // Allows for introspection queries to be sent to the remote graphql server. + // By default this is false, and the graphql filter will return an error if an introspection query is sent. + AllowIntrospection bool `protobuf:"varint,6,opt,name=allow_introspection,json=allowIntrospection,proto3" json:"allow_introspection,omitempty"` +} + +func (x *Executor_Remote) Reset() { + *x = Executor_Remote{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Executor_Remote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Executor_Remote) ProtoMessage() {} + +func (x *Executor_Remote) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Executor_Remote.ProtoReflect.Descriptor instead. +func (*Executor_Remote) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{16, 1} +} + +func (x *Executor_Remote) GetServerUri() *v3.HttpUri { + if x != nil { + return x.ServerUri + } + return nil +} + +func (x *Executor_Remote) GetRequest() *Executor_Remote_RemoteSchemaRequest { + if x != nil { + return x.Request + } + return nil +} + +func (x *Executor_Remote) GetTemplatedRequest() *Executor_Remote_TemplatedGraphQLRequest { + if x != nil { + return x.TemplatedRequest + } + return nil +} + +func (x *Executor_Remote) GetVariables() map[string]*Executor_Remote_Extraction { + if x != nil { + return x.Variables + } + return nil +} + +func (x *Executor_Remote) GetSpanName() string { + if x != nil { + return x.SpanName + } + return "" +} + +func (x *Executor_Remote) GetAllowIntrospection() bool { + if x != nil { + return x.AllowIntrospection + } + return false +} + +type Executor_Remote_Extraction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ExtractionType: + // + // *Executor_Remote_Extraction_Value + // *Executor_Remote_Extraction_Header + // *Executor_Remote_Extraction_DynamicMetadata + // *Executor_Remote_Extraction_JsonValue + ExtractionType isExecutor_Remote_Extraction_ExtractionType `protobuf_oneof:"extraction_type"` +} + +func (x *Executor_Remote_Extraction) Reset() { + *x = Executor_Remote_Extraction{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Executor_Remote_Extraction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Executor_Remote_Extraction) ProtoMessage() {} + +func (x *Executor_Remote_Extraction) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Executor_Remote_Extraction.ProtoReflect.Descriptor instead. +func (*Executor_Remote_Extraction) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{16, 1, 0} +} + +func (m *Executor_Remote_Extraction) GetExtractionType() isExecutor_Remote_Extraction_ExtractionType { + if m != nil { + return m.ExtractionType + } + return nil +} + +func (x *Executor_Remote_Extraction) GetValue() string { + if x, ok := x.GetExtractionType().(*Executor_Remote_Extraction_Value); ok { + return x.Value + } + return "" +} + +func (x *Executor_Remote_Extraction) GetHeader() string { + if x, ok := x.GetExtractionType().(*Executor_Remote_Extraction_Header); ok { + return x.Header + } + return "" +} + +func (x *Executor_Remote_Extraction) GetDynamicMetadata() *Executor_Remote_Extraction_DynamicMetadataExtraction { + if x, ok := x.GetExtractionType().(*Executor_Remote_Extraction_DynamicMetadata); ok { + return x.DynamicMetadata + } + return nil +} + +func (x *Executor_Remote_Extraction) GetJsonValue() *_struct.Value { + if x, ok := x.GetExtractionType().(*Executor_Remote_Extraction_JsonValue); ok { + return x.JsonValue + } + return nil +} + +type isExecutor_Remote_Extraction_ExtractionType interface { + isExecutor_Remote_Extraction_ExtractionType() +} + +type Executor_Remote_Extraction_Value struct { + // Set the extraction type to use a static value. + Value string `protobuf:"bytes,1,opt,name=value,proto3,oneof"` +} + +type Executor_Remote_Extraction_Header struct { + // Set the extraction type to use a header value. + // Specify the name of the header to extract the value from on the original request. + Header string `protobuf:"bytes,2,opt,name=header,proto3,oneof"` +} + +type Executor_Remote_Extraction_DynamicMetadata struct { + // Set the extraction type to use a dynamic metadata value. + DynamicMetadata *Executor_Remote_Extraction_DynamicMetadataExtraction `protobuf:"bytes,3,opt,name=dynamic_metadata,json=dynamicMetadata,proto3,oneof"` +} + +type Executor_Remote_Extraction_JsonValue struct { + // Static json value to use for value + JsonValue *_struct.Value `protobuf:"bytes,4,opt,name=json_value,json=jsonValue,proto3,oneof"` +} + +func (*Executor_Remote_Extraction_Value) isExecutor_Remote_Extraction_ExtractionType() {} + +func (*Executor_Remote_Extraction_Header) isExecutor_Remote_Extraction_ExtractionType() {} + +func (*Executor_Remote_Extraction_DynamicMetadata) isExecutor_Remote_Extraction_ExtractionType() {} + +func (*Executor_Remote_Extraction_JsonValue) isExecutor_Remote_Extraction_ExtractionType() {} + +// [Deprecated] - use TemplatedGraphQLRequest instead +type Executor_Remote_RemoteSchemaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Map of headers to header value which will be included in the request to the remote graphql server. + Headers map[string]*Executor_Remote_Extraction `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Query params to set on the request to the remote graphql server. + QueryParams map[string]*Executor_Remote_Extraction `protobuf:"bytes,3,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Executor_Remote_RemoteSchemaRequest) Reset() { + *x = Executor_Remote_RemoteSchemaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Executor_Remote_RemoteSchemaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Executor_Remote_RemoteSchemaRequest) ProtoMessage() {} + +func (x *Executor_Remote_RemoteSchemaRequest) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Executor_Remote_RemoteSchemaRequest.ProtoReflect.Descriptor instead. +func (*Executor_Remote_RemoteSchemaRequest) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{16, 1, 1} +} + +func (x *Executor_Remote_RemoteSchemaRequest) GetHeaders() map[string]*Executor_Remote_Extraction { + if x != nil { + return x.Headers + } + return nil +} + +func (x *Executor_Remote_RemoteSchemaRequest) GetQueryParams() map[string]*Executor_Remote_Extraction { + if x != nil { + return x.QueryParams + } + return nil +} + +type Executor_Remote_TemplatedGraphQLRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Map of headers to header value which will be included in the request to the remote graphql server. + Headers map[string]*VariableTransformation `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Query params to set on the request to the remote graphql server. + QueryParams map[string]*VariableTransformation `protobuf:"bytes,2,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Executor_Remote_TemplatedGraphQLRequest) Reset() { + *x = Executor_Remote_TemplatedGraphQLRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Executor_Remote_TemplatedGraphQLRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Executor_Remote_TemplatedGraphQLRequest) ProtoMessage() {} + +func (x *Executor_Remote_TemplatedGraphQLRequest) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Executor_Remote_TemplatedGraphQLRequest.ProtoReflect.Descriptor instead. +func (*Executor_Remote_TemplatedGraphQLRequest) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{16, 1, 2} +} + +func (x *Executor_Remote_TemplatedGraphQLRequest) GetHeaders() map[string]*VariableTransformation { + if x != nil { + return x.Headers + } + return nil +} + +func (x *Executor_Remote_TemplatedGraphQLRequest) GetQueryParams() map[string]*VariableTransformation { + if x != nil { + return x.QueryParams + } + return nil +} + +type Executor_Remote_Extraction_DynamicMetadataExtraction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace that the dynamic metadata is stored in. + MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"` + // The key in the namespace that the dynamic metadata is stored under. + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *Executor_Remote_Extraction_DynamicMetadataExtraction) Reset() { + *x = Executor_Remote_Extraction_DynamicMetadataExtraction{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Executor_Remote_Extraction_DynamicMetadataExtraction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Executor_Remote_Extraction_DynamicMetadataExtraction) ProtoMessage() {} + +func (x *Executor_Remote_Extraction_DynamicMetadataExtraction) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Executor_Remote_Extraction_DynamicMetadataExtraction.ProtoReflect.Descriptor instead. +func (*Executor_Remote_Extraction_DynamicMetadataExtraction) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{16, 1, 0, 0} +} + +func (x *Executor_Remote_Extraction_DynamicMetadataExtraction) GetMetadataNamespace() string { + if x != nil { + return x.MetadataNamespace + } + return "" +} + +func (x *Executor_Remote_Extraction_DynamicMetadataExtraction) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +type ValueProvider_GraphQLArgExtraction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The argument name to fetch. The argument value fetched + // will have a type from the schema that we validate in envoy. + // If the name is invalid, returns the zero-value primitive or null. + ArgName string `protobuf:"bytes,1,opt,name=arg_name,json=argName,proto3" json:"arg_name,omitempty"` + // Optional: fetches the value in the argument selected at this key. + // If the key is invalid, returns the zero-value primitive or null. + Path []*PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` +} + +func (x *ValueProvider_GraphQLArgExtraction) Reset() { + *x = ValueProvider_GraphQLArgExtraction{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValueProvider_GraphQLArgExtraction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValueProvider_GraphQLArgExtraction) ProtoMessage() {} + +func (x *ValueProvider_GraphQLArgExtraction) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValueProvider_GraphQLArgExtraction.ProtoReflect.Descriptor instead. +func (*ValueProvider_GraphQLArgExtraction) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{20, 0} +} + +func (x *ValueProvider_GraphQLArgExtraction) GetArgName() string { + if x != nil { + return x.ArgName + } + return "" +} + +func (x *ValueProvider_GraphQLArgExtraction) GetPath() []*PathSegment { + if x != nil { + return x.Path + } + return nil +} + +// Does not do type coercion, but instead if the type does not match the +// expected primitive type we throw an error. +// In the future we may add support for type coercion. +type ValueProvider_GraphQLParentExtraction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Fetches the value in the graphql parent at this key. The value will + // always be accepted since the parent object is not strongly-typed. + // If the key is invalid, returns null. + Path []*PathSegment `protobuf:"bytes,1,rep,name=path,proto3" json:"path,omitempty"` +} + +func (x *ValueProvider_GraphQLParentExtraction) Reset() { + *x = ValueProvider_GraphQLParentExtraction{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValueProvider_GraphQLParentExtraction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValueProvider_GraphQLParentExtraction) ProtoMessage() {} + +func (x *ValueProvider_GraphQLParentExtraction) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValueProvider_GraphQLParentExtraction.ProtoReflect.Descriptor instead. +func (*ValueProvider_GraphQLParentExtraction) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{20, 1} +} + +func (x *ValueProvider_GraphQLParentExtraction) GetPath() []*PathSegment { + if x != nil { + return x.Path + } + return nil +} + +type ValueProvider_TypedValueProvider struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type that the value will be coerced into. + // For example if the extracted value is "9", and type is INT, + // this value will be cast to an int type. + Type ValueProvider_TypedValueProvider_Type `protobuf:"varint,1,opt,name=type,proto3,enum=envoy.config.filter.http.graphql.v2.ValueProvider_TypedValueProvider_Type" json:"type,omitempty"` + // Types that are assignable to ValProvider: + // + // *ValueProvider_TypedValueProvider_Header + // *ValueProvider_TypedValueProvider_Value + ValProvider isValueProvider_TypedValueProvider_ValProvider `protobuf_oneof:"val_provider"` +} + +func (x *ValueProvider_TypedValueProvider) Reset() { + *x = ValueProvider_TypedValueProvider{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValueProvider_TypedValueProvider) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValueProvider_TypedValueProvider) ProtoMessage() {} + +func (x *ValueProvider_TypedValueProvider) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValueProvider_TypedValueProvider.ProtoReflect.Descriptor instead. +func (*ValueProvider_TypedValueProvider) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{20, 2} +} + +func (x *ValueProvider_TypedValueProvider) GetType() ValueProvider_TypedValueProvider_Type { + if x != nil { + return x.Type + } + return ValueProvider_TypedValueProvider_STRING +} + +func (m *ValueProvider_TypedValueProvider) GetValProvider() isValueProvider_TypedValueProvider_ValProvider { + if m != nil { + return m.ValProvider + } + return nil +} + +func (x *ValueProvider_TypedValueProvider) GetHeader() string { + if x, ok := x.GetValProvider().(*ValueProvider_TypedValueProvider_Header); ok { + return x.Header + } + return "" +} + +func (x *ValueProvider_TypedValueProvider) GetValue() string { + if x, ok := x.GetValProvider().(*ValueProvider_TypedValueProvider_Value); ok { + return x.Value + } + return "" +} + +type isValueProvider_TypedValueProvider_ValProvider interface { + isValueProvider_TypedValueProvider_ValProvider() +} + +type ValueProvider_TypedValueProvider_Header struct { + // Fetches the request/response header's value. If not found, uses empty string + Header string `protobuf:"bytes,2,opt,name=header,proto3,oneof"` +} + +type ValueProvider_TypedValueProvider_Value struct { + // inline value, use as provided rather than extracting from another source + Value string `protobuf:"bytes,3,opt,name=value,proto3,oneof"` +} + +func (*ValueProvider_TypedValueProvider_Header) isValueProvider_TypedValueProvider_ValProvider() {} + +func (*ValueProvider_TypedValueProvider_Value) isValueProvider_TypedValueProvider_ValProvider() {} + +type ValueProvider_Provider struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Provider: + // + // *ValueProvider_Provider_GraphqlArg + // *ValueProvider_Provider_TypedProvider + // *ValueProvider_Provider_GraphqlParent + Provider isValueProvider_Provider_Provider `protobuf_oneof:"provider"` +} + +func (x *ValueProvider_Provider) Reset() { + *x = ValueProvider_Provider{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValueProvider_Provider) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValueProvider_Provider) ProtoMessage() {} + +func (x *ValueProvider_Provider) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValueProvider_Provider.ProtoReflect.Descriptor instead. +func (*ValueProvider_Provider) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP(), []int{20, 3} +} + +func (m *ValueProvider_Provider) GetProvider() isValueProvider_Provider_Provider { + if m != nil { + return m.Provider + } + return nil +} + +func (x *ValueProvider_Provider) GetGraphqlArg() *ValueProvider_GraphQLArgExtraction { + if x, ok := x.GetProvider().(*ValueProvider_Provider_GraphqlArg); ok { + return x.GraphqlArg + } + return nil +} + +func (x *ValueProvider_Provider) GetTypedProvider() *ValueProvider_TypedValueProvider { + if x, ok := x.GetProvider().(*ValueProvider_Provider_TypedProvider); ok { + return x.TypedProvider + } + return nil +} + +func (x *ValueProvider_Provider) GetGraphqlParent() *ValueProvider_GraphQLParentExtraction { + if x, ok := x.GetProvider().(*ValueProvider_Provider_GraphqlParent); ok { + return x.GraphqlParent + } + return nil +} + +type isValueProvider_Provider_Provider interface { + isValueProvider_Provider_Provider() +} + +type ValueProvider_Provider_GraphqlArg struct { + // type inferred from schema, no need to provide it. + GraphqlArg *ValueProvider_GraphQLArgExtraction `protobuf:"bytes,1,opt,name=graphql_arg,json=graphqlArg,proto3,oneof"` +} + +type ValueProvider_Provider_TypedProvider struct { + TypedProvider *ValueProvider_TypedValueProvider `protobuf:"bytes,2,opt,name=typed_provider,json=typedProvider,proto3,oneof"` +} + +type ValueProvider_Provider_GraphqlParent struct { + // Fetch value from the graphql_parent of the current field. + GraphqlParent *ValueProvider_GraphQLParentExtraction `protobuf:"bytes,3,opt,name=graphql_parent,json=graphqlParent,proto3,oneof"` +} + +func (*ValueProvider_Provider_GraphqlArg) isValueProvider_Provider_Provider() {} + +func (*ValueProvider_Provider_TypedProvider) isValueProvider_Provider_Provider() {} + +func (*ValueProvider_Provider_GraphqlParent) isValueProvider_Provider_Provider() {} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDesc = []byte{ + 0x0a, 0x6c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2f, 0x76, 0x32, + 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x23, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, + 0x2e, 0x76, 0x32, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, + 0x72, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, + 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x02, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x55, 0x0a, 0x0b, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x6f, + 0x74, 0x12, 0x60, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, + 0x65, 0x72, 0x73, 0x1a, 0x6e, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, + 0x0a, 0x08, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x08, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x02, + 0x6a, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x6a, 0x71, 0x12, 0x2e, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x10, + 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xfe, 0x03, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x27, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x76, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, + 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x3f, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x48, 0x00, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x50, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x61, 0x72, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, + 0x6c, 0x41, 0x72, 0x67, 0x12, 0x41, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x1a, 0x5c, 0x0a, 0x19, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, + 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x11, + 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x22, 0xd4, 0x0a, 0x0a, 0x0c, 0x52, 0x45, 0x53, 0x54, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x69, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, + 0x74, 0x70, 0x55, 0x72, 0x69, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x69, + 0x12, 0x67, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, + 0x32, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x7a, 0x0a, 0x16, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, + 0x52, 0x45, 0x53, 0x54, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x4f, 0x75, 0x74, + 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x17, 0x70, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, + 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x15, 0x70, 0x72, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x61, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5e, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x52, + 0x45, 0x53, 0x54, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0x8e, 0x01, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x66, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, + 0x52, 0x45, 0x53, 0x54, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x59, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0xb9, 0x04, 0x0a, 0x0f, 0x4f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, + 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x45, 0x53, + 0x54, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x4f, 0x75, 0x74, 0x67, 0x6f, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x75, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x45, 0x53, 0x54, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x4f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x1a, 0x77, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x7b, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x09, 0x0a, + 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x94, 0x04, 0x0a, 0x13, 0x47, 0x72, 0x70, + 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x12, 0x62, 0x0a, 0x15, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x13, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x1a, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, + 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x78, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, + 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x1a, 0x42, 0x0a, 0x14, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x67, 0x0a, 0x16, 0x47, 0x72, 0x70, 0x63, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x4d, 0x0a, 0x11, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x0c, 0x47, 0x72, 0x70, + 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x52, 0x09, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x69, 0x12, 0x65, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x10, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1b, + 0x0a, 0x09, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x73, 0x70, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xd2, 0x04, 0x0a, 0x0e, + 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x29, + 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x79, 0x6e, + 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x0e, 0x61, 0x73, 0x79, + 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, + 0x0a, 0x17, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x15, + 0x73, 0x79, 0x6e, 0x63, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0xc7, 0x01, 0x0a, 0x0d, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x12, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x11, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x73, 0x42, 0x0f, + 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, + 0x33, 0x0a, 0x16, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x65, 0x6c, + 0x61, 0x79, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x65, 0x6c, + 0x61, 0x79, 0x4d, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x16, 0x0a, 0x14, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x22, 0xb8, 0x01, 0x0a, 0x0c, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x0d, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x1a, 0x38, 0x0a, 0x0c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x22, 0xdc, 0x04, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, + 0x5c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x46, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x73, 0x0a, 0x17, 0x70, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, + 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x70, 0x72, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, + 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x56, 0x0a, 0x0d, 0x63, + 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x1a, 0x6d, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, + 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x81, 0x02, 0x0a, 0x0c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x12, 0x35, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x05, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x05, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x4d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x22, 0x37, 0x0a, + 0x11, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, + 0x06, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x49, + 0x56, 0x41, 0x54, 0x45, 0x10, 0x02, 0x22, 0x0f, 0x0a, 0x0d, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, + 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xcc, 0x02, 0x0a, 0x12, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x51, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, + 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x12, 0x7f, 0x0a, 0x1c, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x19, 0x70, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0x3a, 0x0a, 0x19, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x22, 0xa3, 0x03, 0x0a, 0x10, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4d, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x10, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x65, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, + 0x72, 0x12, 0x65, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x65, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x6c, 0x6f, 0x67, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x6c, 0x6f, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x1a, 0x53, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbb, 0x12, 0x0a, 0x08, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x6f, 0x72, 0x12, 0x4b, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x12, 0x4e, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, + 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x1a, 0xaa, 0x01, 0x0a, 0x05, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x51, 0x0a, 0x0b, + 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, + 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x70, 0x74, 0x68, 0x1a, + 0xd8, 0x0f, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x52, 0x09, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x69, 0x12, 0x62, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x79, 0x0a, 0x11, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, + 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x61, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, + 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x70, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x74, 0x72, 0x6f, + 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xf1, 0x02, 0x0a, 0x0a, 0x45, 0x78, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x18, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x86, 0x01, 0x0a, 0x10, 0x64, 0x79, + 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x37, 0x0a, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, + 0x52, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x5c, 0x0a, 0x19, 0x44, + 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x78, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x65, 0x78, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x82, 0x04, 0x0a, + 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x6f, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x7c, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, + 0x32, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x1a, 0x7b, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x55, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x7f, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x55, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x87, 0x04, 0x0a, 0x17, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, + 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x59, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, + 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, + 0x61, 0x70, 0x68, 0x51, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x77, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, + 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7b, + 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7d, 0x0a, 0x0e, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x55, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, + 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x22, 0x58, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x05, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x12, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x22, 0x54, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4c, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, + 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x83, 0x02, 0x0a, 0x0d, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, + 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x70, 0x61, 0x74, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x63, 0x0a, + 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x61, 0x74, + 0x68, 0x73, 0x1a, 0x68, 0x0a, 0x0f, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, + 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x74, + 0x68, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xca, 0x08, 0x0a, + 0x0d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x5f, + 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x1a, 0x77, 0x0a, 0x14, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x72, 0x67, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x72, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x44, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, + 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x5f, 0x0a, 0x17, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, + 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x44, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, + 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0xeb, 0x01, 0x0a, 0x12, 0x54, 0x79, 0x70, 0x65, 0x64, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x5e, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4a, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, + 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, + 0x54, 0x79, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, + 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x33, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, + 0x47, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, + 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, + 0x41, 0x4e, 0x10, 0x03, 0x42, 0x0e, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x1a, 0xe7, 0x02, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x12, 0x6a, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x61, 0x72, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, + 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x51, 0x4c, 0x41, 0x72, 0x67, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x41, 0x72, 0x67, 0x12, 0x6e, 0x0a, + 0x0e, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, + 0x74, 0x79, 0x70, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x73, 0x0a, + 0x0e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, + 0x4c, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x50, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x79, + 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x51, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x57, 0x0a, 0x0d, 0x4a, 0x73, 0x6f, + 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, + 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x22, 0x83, 0x02, 0x0a, 0x09, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, + 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, + 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, + 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x48, 0x00, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x12, 0x48, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x0a, 0x08, + 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x22, 0x66, 0x0a, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, + 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, + 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x5c, 0x0a, 0x08, 0x4a, 0x73, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x50, 0x0a, 0x0a, + 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x91, + 0x04, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x68, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x53, 0x0a, 0x0d, 0x6f, 0x75, 0x74, + 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x64, 0x79, 0x1a, 0x6e, + 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x72, + 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0xb0, 0x01, 0x0a, 0x31, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x42, 0x12, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, + 0x4c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x65, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x71, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes = make([]protoimpl.MessageInfo, 58) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_goTypes = []interface{}{ + (CacheControl_CacheControlScope)(0), // 0: envoy.config.filter.http.graphql.v2.CacheControl.CacheControlScope + (ValueProvider_TypedValueProvider_Type)(0), // 1: envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider.Type + (*ResponseTemplate)(nil), // 2: envoy.config.filter.http.graphql.v2.ResponseTemplate + (*VariableTransformation)(nil), // 3: envoy.config.filter.http.graphql.v2.VariableTransformation + (*Extraction)(nil), // 4: envoy.config.filter.http.graphql.v2.Extraction + (*RESTResolver)(nil), // 5: envoy.config.filter.http.graphql.v2.RESTResolver + (*GrpcRequestTemplate)(nil), // 6: envoy.config.filter.http.graphql.v2.GrpcRequestTemplate + (*GrpcDescriptorRegistry)(nil), // 7: envoy.config.filter.http.graphql.v2.GrpcDescriptorRegistry + (*GrpcResolver)(nil), // 8: envoy.config.filter.http.graphql.v2.GrpcResolver + (*StaticResolver)(nil), // 9: envoy.config.filter.http.graphql.v2.StaticResolver + (*AbstractTypeResolver)(nil), // 10: envoy.config.filter.http.graphql.v2.AbstractTypeResolver + (*QueryMatcher)(nil), // 11: envoy.config.filter.http.graphql.v2.QueryMatcher + (*Resolution)(nil), // 12: envoy.config.filter.http.graphql.v2.Resolution + (*CacheControl)(nil), // 13: envoy.config.filter.http.graphql.v2.CacheControl + (*GraphQLConfig)(nil), // 14: envoy.config.filter.http.graphql.v2.GraphQLConfig + (*GraphQLRouteConfig)(nil), // 15: envoy.config.filter.http.graphql.v2.GraphQLRouteConfig + (*PersistedQueryCacheConfig)(nil), // 16: envoy.config.filter.http.graphql.v2.PersistedQueryCacheConfig + (*ExecutableSchema)(nil), // 17: envoy.config.filter.http.graphql.v2.ExecutableSchema + (*Executor)(nil), // 18: envoy.config.filter.http.graphql.v2.Executor + (*PathSegment)(nil), // 19: envoy.config.filter.http.graphql.v2.PathSegment + (*Path)(nil), // 20: envoy.config.filter.http.graphql.v2.Path + (*TemplatedPath)(nil), // 21: envoy.config.filter.http.graphql.v2.TemplatedPath + (*ValueProvider)(nil), // 22: envoy.config.filter.http.graphql.v2.ValueProvider + (*JsonValueList)(nil), // 23: envoy.config.filter.http.graphql.v2.JsonValueList + (*JsonValue)(nil), // 24: envoy.config.filter.http.graphql.v2.JsonValue + (*JsonKeyValue)(nil), // 25: envoy.config.filter.http.graphql.v2.JsonKeyValue + (*JsonNode)(nil), // 26: envoy.config.filter.http.graphql.v2.JsonNode + (*RequestTemplate)(nil), // 27: envoy.config.filter.http.graphql.v2.RequestTemplate + nil, // 28: envoy.config.filter.http.graphql.v2.ResponseTemplate.SettersEntry + (*Extraction_DynamicMetadataExtraction)(nil), // 29: envoy.config.filter.http.graphql.v2.Extraction.DynamicMetadataExtraction + nil, // 30: envoy.config.filter.http.graphql.v2.RESTResolver.VariablesEntry + (*RESTResolver_RestResponseVariableExtraction)(nil), // 31: envoy.config.filter.http.graphql.v2.RESTResolver.RestResponseVariableExtraction + (*RESTResolver_OutgoingRequest)(nil), // 32: envoy.config.filter.http.graphql.v2.RESTResolver.OutgoingRequest + nil, // 33: envoy.config.filter.http.graphql.v2.RESTResolver.OutgoingRequest.HeadersEntry + nil, // 34: envoy.config.filter.http.graphql.v2.RESTResolver.OutgoingRequest.QueryParamsEntry + nil, // 35: envoy.config.filter.http.graphql.v2.GrpcRequestTemplate.RequestMetadataEntry + (*StaticResolver_AsyncResponse)(nil), // 36: envoy.config.filter.http.graphql.v2.StaticResolver.AsyncResponse + (*StaticResolver_AsyncTemplatedResponse)(nil), // 37: envoy.config.filter.http.graphql.v2.StaticResolver.AsyncTemplatedResponse + (*QueryMatcher_FieldMatcher)(nil), // 38: envoy.config.filter.http.graphql.v2.QueryMatcher.FieldMatcher + nil, // 39: envoy.config.filter.http.graphql.v2.Resolution.VariablesEntry + nil, // 40: envoy.config.filter.http.graphql.v2.ExecutableSchema.ExtensionsEntry + (*Executor_Local)(nil), // 41: envoy.config.filter.http.graphql.v2.Executor.Local + (*Executor_Remote)(nil), // 42: envoy.config.filter.http.graphql.v2.Executor.Remote + (*Executor_Remote_Extraction)(nil), // 43: envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction + (*Executor_Remote_RemoteSchemaRequest)(nil), // 44: envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest + (*Executor_Remote_TemplatedGraphQLRequest)(nil), // 45: envoy.config.filter.http.graphql.v2.Executor.Remote.TemplatedGraphQLRequest + nil, // 46: envoy.config.filter.http.graphql.v2.Executor.Remote.VariablesEntry + (*Executor_Remote_Extraction_DynamicMetadataExtraction)(nil), // 47: envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction.DynamicMetadataExtraction + nil, // 48: envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest.HeadersEntry + nil, // 49: envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest.QueryParamsEntry + nil, // 50: envoy.config.filter.http.graphql.v2.Executor.Remote.TemplatedGraphQLRequest.HeadersEntry + nil, // 51: envoy.config.filter.http.graphql.v2.Executor.Remote.TemplatedGraphQLRequest.QueryParamsEntry + nil, // 52: envoy.config.filter.http.graphql.v2.TemplatedPath.NamedPathsEntry + (*ValueProvider_GraphQLArgExtraction)(nil), // 53: envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLArgExtraction + (*ValueProvider_GraphQLParentExtraction)(nil), // 54: envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLParentExtraction + (*ValueProvider_TypedValueProvider)(nil), // 55: envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider + (*ValueProvider_Provider)(nil), // 56: envoy.config.filter.http.graphql.v2.ValueProvider.Provider + nil, // 57: envoy.config.filter.http.graphql.v2.ValueProvider.ProvidersEntry + nil, // 58: envoy.config.filter.http.graphql.v2.RequestTemplate.HeadersEntry + nil, // 59: envoy.config.filter.http.graphql.v2.RequestTemplate.QueryParamsEntry + (*_struct.Value)(nil), // 60: google.protobuf.Value + (*empty.Empty)(nil), // 61: google.protobuf.Empty + (*v3.HttpUri)(nil), // 62: envoy.config.core.v3.HttpUri + (*v3.DataSource)(nil), // 63: envoy.config.core.v3.DataSource + (*v3.TypedExtensionConfig)(nil), // 64: envoy.config.core.v3.TypedExtensionConfig + (*wrappers.UInt32Value)(nil), // 65: google.protobuf.UInt32Value + (*any1.Any)(nil), // 66: google.protobuf.Any +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_depIdxs = []int32{ + 19, // 0: envoy.config.filter.http.graphql.v2.ResponseTemplate.result_root:type_name -> envoy.config.filter.http.graphql.v2.PathSegment + 28, // 1: envoy.config.filter.http.graphql.v2.ResponseTemplate.setters:type_name -> envoy.config.filter.http.graphql.v2.ResponseTemplate.SettersEntry + 60, // 2: envoy.config.filter.http.graphql.v2.VariableTransformation.value:type_name -> google.protobuf.Value + 29, // 3: envoy.config.filter.http.graphql.v2.Extraction.dynamic_metadata:type_name -> envoy.config.filter.http.graphql.v2.Extraction.DynamicMetadataExtraction + 61, // 4: envoy.config.filter.http.graphql.v2.Extraction.graphql_parent:type_name -> google.protobuf.Empty + 61, // 5: envoy.config.filter.http.graphql.v2.Extraction.resolver_result:type_name -> google.protobuf.Empty + 60, // 6: envoy.config.filter.http.graphql.v2.Extraction.json_value:type_name -> google.protobuf.Value + 62, // 7: envoy.config.filter.http.graphql.v2.RESTResolver.server_uri:type_name -> envoy.config.core.v3.HttpUri + 27, // 8: envoy.config.filter.http.graphql.v2.RESTResolver.request_transform:type_name -> envoy.config.filter.http.graphql.v2.RequestTemplate + 32, // 9: envoy.config.filter.http.graphql.v2.RESTResolver.request_transformation:type_name -> envoy.config.filter.http.graphql.v2.RESTResolver.OutgoingRequest + 2, // 10: envoy.config.filter.http.graphql.v2.RESTResolver.pre_execution_transform:type_name -> envoy.config.filter.http.graphql.v2.ResponseTemplate + 30, // 11: envoy.config.filter.http.graphql.v2.RESTResolver.variables:type_name -> envoy.config.filter.http.graphql.v2.RESTResolver.VariablesEntry + 24, // 12: envoy.config.filter.http.graphql.v2.GrpcRequestTemplate.outgoing_message_json:type_name -> envoy.config.filter.http.graphql.v2.JsonValue + 3, // 13: envoy.config.filter.http.graphql.v2.GrpcRequestTemplate.outgoing_message_transform:type_name -> envoy.config.filter.http.graphql.v2.VariableTransformation + 35, // 14: envoy.config.filter.http.graphql.v2.GrpcRequestTemplate.request_metadata:type_name -> envoy.config.filter.http.graphql.v2.GrpcRequestTemplate.RequestMetadataEntry + 63, // 15: envoy.config.filter.http.graphql.v2.GrpcDescriptorRegistry.proto_descriptors:type_name -> envoy.config.core.v3.DataSource + 62, // 16: envoy.config.filter.http.graphql.v2.GrpcResolver.server_uri:type_name -> envoy.config.core.v3.HttpUri + 6, // 17: envoy.config.filter.http.graphql.v2.GrpcResolver.request_transform:type_name -> envoy.config.filter.http.graphql.v2.GrpcRequestTemplate + 36, // 18: envoy.config.filter.http.graphql.v2.StaticResolver.async_response:type_name -> envoy.config.filter.http.graphql.v2.StaticResolver.AsyncResponse + 3, // 19: envoy.config.filter.http.graphql.v2.StaticResolver.sync_templated_response:type_name -> envoy.config.filter.http.graphql.v2.VariableTransformation + 38, // 20: envoy.config.filter.http.graphql.v2.QueryMatcher.field_matcher:type_name -> envoy.config.filter.http.graphql.v2.QueryMatcher.FieldMatcher + 11, // 21: envoy.config.filter.http.graphql.v2.Resolution.matcher:type_name -> envoy.config.filter.http.graphql.v2.QueryMatcher + 39, // 22: envoy.config.filter.http.graphql.v2.Resolution.variables:type_name -> envoy.config.filter.http.graphql.v2.Resolution.VariablesEntry + 64, // 23: envoy.config.filter.http.graphql.v2.Resolution.resolver:type_name -> envoy.config.core.v3.TypedExtensionConfig + 3, // 24: envoy.config.filter.http.graphql.v2.Resolution.pre_execution_transform:type_name -> envoy.config.filter.http.graphql.v2.VariableTransformation + 13, // 25: envoy.config.filter.http.graphql.v2.Resolution.cache_control:type_name -> envoy.config.filter.http.graphql.v2.CacheControl + 65, // 26: envoy.config.filter.http.graphql.v2.CacheControl.max_age:type_name -> google.protobuf.UInt32Value + 0, // 27: envoy.config.filter.http.graphql.v2.CacheControl.scope:type_name -> envoy.config.filter.http.graphql.v2.CacheControl.CacheControlScope + 17, // 28: envoy.config.filter.http.graphql.v2.GraphQLRouteConfig.executable_schema:type_name -> envoy.config.filter.http.graphql.v2.ExecutableSchema + 16, // 29: envoy.config.filter.http.graphql.v2.GraphQLRouteConfig.persisted_query_cache_config:type_name -> envoy.config.filter.http.graphql.v2.PersistedQueryCacheConfig + 63, // 30: envoy.config.filter.http.graphql.v2.ExecutableSchema.schema_definition:type_name -> envoy.config.core.v3.DataSource + 18, // 31: envoy.config.filter.http.graphql.v2.ExecutableSchema.executor:type_name -> envoy.config.filter.http.graphql.v2.Executor + 40, // 32: envoy.config.filter.http.graphql.v2.ExecutableSchema.extensions:type_name -> envoy.config.filter.http.graphql.v2.ExecutableSchema.ExtensionsEntry + 41, // 33: envoy.config.filter.http.graphql.v2.Executor.local:type_name -> envoy.config.filter.http.graphql.v2.Executor.Local + 42, // 34: envoy.config.filter.http.graphql.v2.Executor.remote:type_name -> envoy.config.filter.http.graphql.v2.Executor.Remote + 19, // 35: envoy.config.filter.http.graphql.v2.Path.segments:type_name -> envoy.config.filter.http.graphql.v2.PathSegment + 52, // 36: envoy.config.filter.http.graphql.v2.TemplatedPath.named_paths:type_name -> envoy.config.filter.http.graphql.v2.TemplatedPath.NamedPathsEntry + 57, // 37: envoy.config.filter.http.graphql.v2.ValueProvider.providers:type_name -> envoy.config.filter.http.graphql.v2.ValueProvider.ProvidersEntry + 24, // 38: envoy.config.filter.http.graphql.v2.JsonValueList.values:type_name -> envoy.config.filter.http.graphql.v2.JsonValue + 26, // 39: envoy.config.filter.http.graphql.v2.JsonValue.node:type_name -> envoy.config.filter.http.graphql.v2.JsonNode + 22, // 40: envoy.config.filter.http.graphql.v2.JsonValue.value_provider:type_name -> envoy.config.filter.http.graphql.v2.ValueProvider + 23, // 41: envoy.config.filter.http.graphql.v2.JsonValue.list:type_name -> envoy.config.filter.http.graphql.v2.JsonValueList + 24, // 42: envoy.config.filter.http.graphql.v2.JsonKeyValue.value:type_name -> envoy.config.filter.http.graphql.v2.JsonValue + 25, // 43: envoy.config.filter.http.graphql.v2.JsonNode.key_values:type_name -> envoy.config.filter.http.graphql.v2.JsonKeyValue + 58, // 44: envoy.config.filter.http.graphql.v2.RequestTemplate.headers:type_name -> envoy.config.filter.http.graphql.v2.RequestTemplate.HeadersEntry + 59, // 45: envoy.config.filter.http.graphql.v2.RequestTemplate.query_params:type_name -> envoy.config.filter.http.graphql.v2.RequestTemplate.QueryParamsEntry + 24, // 46: envoy.config.filter.http.graphql.v2.RequestTemplate.outgoing_body:type_name -> envoy.config.filter.http.graphql.v2.JsonValue + 21, // 47: envoy.config.filter.http.graphql.v2.ResponseTemplate.SettersEntry.value:type_name -> envoy.config.filter.http.graphql.v2.TemplatedPath + 31, // 48: envoy.config.filter.http.graphql.v2.RESTResolver.VariablesEntry.value:type_name -> envoy.config.filter.http.graphql.v2.RESTResolver.RestResponseVariableExtraction + 33, // 49: envoy.config.filter.http.graphql.v2.RESTResolver.OutgoingRequest.headers:type_name -> envoy.config.filter.http.graphql.v2.RESTResolver.OutgoingRequest.HeadersEntry + 34, // 50: envoy.config.filter.http.graphql.v2.RESTResolver.OutgoingRequest.query_params:type_name -> envoy.config.filter.http.graphql.v2.RESTResolver.OutgoingRequest.QueryParamsEntry + 3, // 51: envoy.config.filter.http.graphql.v2.RESTResolver.OutgoingRequest.body:type_name -> envoy.config.filter.http.graphql.v2.VariableTransformation + 3, // 52: envoy.config.filter.http.graphql.v2.RESTResolver.OutgoingRequest.HeadersEntry.value:type_name -> envoy.config.filter.http.graphql.v2.VariableTransformation + 3, // 53: envoy.config.filter.http.graphql.v2.RESTResolver.OutgoingRequest.QueryParamsEntry.value:type_name -> envoy.config.filter.http.graphql.v2.VariableTransformation + 3, // 54: envoy.config.filter.http.graphql.v2.StaticResolver.AsyncResponse.templated_response:type_name -> envoy.config.filter.http.graphql.v2.VariableTransformation + 4, // 55: envoy.config.filter.http.graphql.v2.Resolution.VariablesEntry.value:type_name -> envoy.config.filter.http.graphql.v2.Extraction + 66, // 56: envoy.config.filter.http.graphql.v2.ExecutableSchema.ExtensionsEntry.value:type_name -> google.protobuf.Any + 12, // 57: envoy.config.filter.http.graphql.v2.Executor.Local.resolutions:type_name -> envoy.config.filter.http.graphql.v2.Resolution + 62, // 58: envoy.config.filter.http.graphql.v2.Executor.Remote.server_uri:type_name -> envoy.config.core.v3.HttpUri + 44, // 59: envoy.config.filter.http.graphql.v2.Executor.Remote.request:type_name -> envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest + 45, // 60: envoy.config.filter.http.graphql.v2.Executor.Remote.templated_request:type_name -> envoy.config.filter.http.graphql.v2.Executor.Remote.TemplatedGraphQLRequest + 46, // 61: envoy.config.filter.http.graphql.v2.Executor.Remote.variables:type_name -> envoy.config.filter.http.graphql.v2.Executor.Remote.VariablesEntry + 47, // 62: envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction.dynamic_metadata:type_name -> envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction.DynamicMetadataExtraction + 60, // 63: envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction.json_value:type_name -> google.protobuf.Value + 48, // 64: envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest.headers:type_name -> envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest.HeadersEntry + 49, // 65: envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest.query_params:type_name -> envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest.QueryParamsEntry + 50, // 66: envoy.config.filter.http.graphql.v2.Executor.Remote.TemplatedGraphQLRequest.headers:type_name -> envoy.config.filter.http.graphql.v2.Executor.Remote.TemplatedGraphQLRequest.HeadersEntry + 51, // 67: envoy.config.filter.http.graphql.v2.Executor.Remote.TemplatedGraphQLRequest.query_params:type_name -> envoy.config.filter.http.graphql.v2.Executor.Remote.TemplatedGraphQLRequest.QueryParamsEntry + 43, // 68: envoy.config.filter.http.graphql.v2.Executor.Remote.VariablesEntry.value:type_name -> envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction + 43, // 69: envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest.HeadersEntry.value:type_name -> envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction + 43, // 70: envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest.QueryParamsEntry.value:type_name -> envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction + 3, // 71: envoy.config.filter.http.graphql.v2.Executor.Remote.TemplatedGraphQLRequest.HeadersEntry.value:type_name -> envoy.config.filter.http.graphql.v2.VariableTransformation + 3, // 72: envoy.config.filter.http.graphql.v2.Executor.Remote.TemplatedGraphQLRequest.QueryParamsEntry.value:type_name -> envoy.config.filter.http.graphql.v2.VariableTransformation + 20, // 73: envoy.config.filter.http.graphql.v2.TemplatedPath.NamedPathsEntry.value:type_name -> envoy.config.filter.http.graphql.v2.Path + 19, // 74: envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLArgExtraction.path:type_name -> envoy.config.filter.http.graphql.v2.PathSegment + 19, // 75: envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLParentExtraction.path:type_name -> envoy.config.filter.http.graphql.v2.PathSegment + 1, // 76: envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider.type:type_name -> envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider.Type + 53, // 77: envoy.config.filter.http.graphql.v2.ValueProvider.Provider.graphql_arg:type_name -> envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLArgExtraction + 55, // 78: envoy.config.filter.http.graphql.v2.ValueProvider.Provider.typed_provider:type_name -> envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider + 54, // 79: envoy.config.filter.http.graphql.v2.ValueProvider.Provider.graphql_parent:type_name -> envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLParentExtraction + 56, // 80: envoy.config.filter.http.graphql.v2.ValueProvider.ProvidersEntry.value:type_name -> envoy.config.filter.http.graphql.v2.ValueProvider.Provider + 22, // 81: envoy.config.filter.http.graphql.v2.RequestTemplate.HeadersEntry.value:type_name -> envoy.config.filter.http.graphql.v2.ValueProvider + 22, // 82: envoy.config.filter.http.graphql.v2.RequestTemplate.QueryParamsEntry.value:type_name -> envoy.config.filter.http.graphql.v2.ValueProvider + 83, // [83:83] is the sub-list for method output_type + 83, // [83:83] is the sub-list for method input_type + 83, // [83:83] is the sub-list for extension type_name + 83, // [83:83] is the sub-list for extension extendee + 0, // [0:83] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResponseTemplate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VariableTransformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Extraction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RESTResolver); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrpcRequestTemplate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrpcDescriptorRegistry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrpcResolver); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StaticResolver); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AbstractTypeResolver); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Resolution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CacheControl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLRouteConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PersistedQueryCacheConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutableSchema); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Executor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PathSegment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Path); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TemplatedPath); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValueProvider); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonValueList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonKeyValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonNode); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequestTemplate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Extraction_DynamicMetadataExtraction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RESTResolver_RestResponseVariableExtraction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RESTResolver_OutgoingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StaticResolver_AsyncResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StaticResolver_AsyncTemplatedResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryMatcher_FieldMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Executor_Local); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Executor_Remote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Executor_Remote_Extraction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Executor_Remote_RemoteSchemaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Executor_Remote_TemplatedGraphQLRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Executor_Remote_Extraction_DynamicMetadataExtraction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValueProvider_GraphQLArgExtraction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValueProvider_GraphQLParentExtraction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValueProvider_TypedValueProvider); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValueProvider_Provider); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*VariableTransformation_Variable)(nil), + (*VariableTransformation_Jq)(nil), + (*VariableTransformation_Value)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*Extraction_RequestHeader)(nil), + (*Extraction_DynamicMetadata)(nil), + (*Extraction_GraphqlParent)(nil), + (*Extraction_GraphqlArg)(nil), + (*Extraction_ResolverResult)(nil), + (*Extraction_JsonValue)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*RESTResolver_RequestTransform)(nil), + (*RESTResolver_RequestTransformation)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*StaticResolver_SyncResponse)(nil), + (*StaticResolver_AsyncResponse_)(nil), + (*StaticResolver_ErrorResponse)(nil), + (*StaticResolver_SyncTemplatedResponse)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*QueryMatcher_FieldMatcher_)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[16].OneofWrappers = []interface{}{ + (*Executor_Local_)(nil), + (*Executor_Remote_)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[17].OneofWrappers = []interface{}{ + (*PathSegment_Key)(nil), + (*PathSegment_Index)(nil), + (*PathSegment_All)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[22].OneofWrappers = []interface{}{ + (*JsonValue_Node)(nil), + (*JsonValue_ValueProvider)(nil), + (*JsonValue_List)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[29].OneofWrappers = []interface{}{ + (*RESTResolver_RestResponseVariableExtraction_ResponseHeader)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[34].OneofWrappers = []interface{}{ + (*StaticResolver_AsyncResponse_Response)(nil), + (*StaticResolver_AsyncResponse_TemplatedResponse)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[41].OneofWrappers = []interface{}{ + (*Executor_Remote_Extraction_Value)(nil), + (*Executor_Remote_Extraction_Header)(nil), + (*Executor_Remote_Extraction_DynamicMetadata)(nil), + (*Executor_Remote_Extraction_JsonValue)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[53].OneofWrappers = []interface{}{ + (*ValueProvider_TypedValueProvider_Header)(nil), + (*ValueProvider_TypedValueProvider_Value)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes[54].OneofWrappers = []interface{}{ + (*ValueProvider_Provider_GraphqlArg)(nil), + (*ValueProvider_Provider_TypedProvider)(nil), + (*ValueProvider_Provider_GraphqlParent)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDesc, + NumEnums: 2, + NumMessages: 58, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_depIdxs, + EnumInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_enumTypes, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_graphql_v2_graphql_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/filter/http/json_grpc_transcoder/v2/json_grpc_transcoder.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/json_grpc_transcoder/v2/json_grpc_transcoder.pb.go new file mode 100644 index 000000000..107f2a074 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/json_grpc_transcoder/v2/json_grpc_transcoder.pb.go @@ -0,0 +1,219 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/filter/http/json_grpc_transcoder/v2/json_grpc_transcoder.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// [#proto-status: experimental] +type JsonGrpcTranscoder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to DescriptorSet: + // + // *JsonGrpcTranscoder_ProtoDescriptor + // *JsonGrpcTranscoder_ProtoDescriptorBin + DescriptorSet isJsonGrpcTranscoder_DescriptorSet `protobuf_oneof:"descriptor_set"` +} + +func (x *JsonGrpcTranscoder) Reset() { + *x = JsonGrpcTranscoder{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JsonGrpcTranscoder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JsonGrpcTranscoder) ProtoMessage() {} + +func (x *JsonGrpcTranscoder) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JsonGrpcTranscoder.ProtoReflect.Descriptor instead. +func (*JsonGrpcTranscoder) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_rawDescGZIP(), []int{0} +} + +func (m *JsonGrpcTranscoder) GetDescriptorSet() isJsonGrpcTranscoder_DescriptorSet { + if m != nil { + return m.DescriptorSet + } + return nil +} + +func (x *JsonGrpcTranscoder) GetProtoDescriptor() string { + if x, ok := x.GetDescriptorSet().(*JsonGrpcTranscoder_ProtoDescriptor); ok { + return x.ProtoDescriptor + } + return "" +} + +func (x *JsonGrpcTranscoder) GetProtoDescriptorBin() []byte { + if x, ok := x.GetDescriptorSet().(*JsonGrpcTranscoder_ProtoDescriptorBin); ok { + return x.ProtoDescriptorBin + } + return nil +} + +type isJsonGrpcTranscoder_DescriptorSet interface { + isJsonGrpcTranscoder_DescriptorSet() +} + +type JsonGrpcTranscoder_ProtoDescriptor struct { + // Supplies the filename of the proto descriptor for the gRPC services. + ProtoDescriptor string `protobuf:"bytes,1,opt,name=proto_descriptor,json=protoDescriptor,proto3,oneof"` +} + +type JsonGrpcTranscoder_ProtoDescriptorBin struct { + // Supplies the binary content of the proto descriptor set for the gRPC + // services. + ProtoDescriptorBin []byte `protobuf:"bytes,2,opt,name=proto_descriptor_bin,json=protoDescriptorBin,proto3,oneof"` +} + +func (*JsonGrpcTranscoder_ProtoDescriptor) isJsonGrpcTranscoder_DescriptorSet() {} + +func (*JsonGrpcTranscoder_ProtoDescriptorBin) isJsonGrpcTranscoder_DescriptorSet() {} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_rawDesc = []byte{ + 0x0a, 0x86, 0x01, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x70, 0x63, + 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x6a, + 0x73, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, + 0x64, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x17, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x12, 0x4a, 0x73, 0x6f, 0x6e, 0x47, 0x72, 0x70, + 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x10, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x00, + 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, + 0x72, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x00, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x6f, 0x72, 0x42, 0x69, 0x6e, 0x42, 0x15, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0xcf, 0x01, 0x0a, + 0x3e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x70, + 0x63, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x42, + 0x17, 0x4a, 0x73, 0x6f, 0x6e, 0x47, 0x72, 0x70, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, + 0x64, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x72, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x70, 0x63, + 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_goTypes = []interface{}{ + (*JsonGrpcTranscoder)(nil), // 0: envoy.config.filter.http.json_grpc_transcoder.v2.JsonGrpcTranscoder +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonGrpcTranscoder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*JsonGrpcTranscoder_ProtoDescriptor)(nil), + (*JsonGrpcTranscoder_ProtoDescriptorBin)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_json_grpc_transcoder_v2_json_grpc_transcoder_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/filter/http/modsecurity/v2/modsecurity.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/modsecurity/v2/modsecurity.pb.go new file mode 100644 index 000000000..080328d3d --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/modsecurity/v2/modsecurity.pb.go @@ -0,0 +1,710 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/filter/http/modsecurity/v2/modsecurity.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/envoy-gloo-ee/api/envoy/config/filter/http/transformation_ee/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type AuditLogging_AuditLogAction int32 + +const ( + // Never generate audit logs. + AuditLogging_NEVER AuditLogging_AuditLogAction = 0 + // When set to RELEVANT_ONLY, this will have similar behavior to + // `SecAuditEngine RelevantOnly`. + AuditLogging_RELEVANT_ONLY AuditLogging_AuditLogAction = 1 + // Always generate an audit log entry (as long as the filter is not + // disabled). + AuditLogging_ALWAYS AuditLogging_AuditLogAction = 2 +) + +// Enum value maps for AuditLogging_AuditLogAction. +var ( + AuditLogging_AuditLogAction_name = map[int32]string{ + 0: "NEVER", + 1: "RELEVANT_ONLY", + 2: "ALWAYS", + } + AuditLogging_AuditLogAction_value = map[string]int32{ + "NEVER": 0, + "RELEVANT_ONLY": 1, + "ALWAYS": 2, + } +) + +func (x AuditLogging_AuditLogAction) Enum() *AuditLogging_AuditLogAction { + p := new(AuditLogging_AuditLogAction) + *p = x + return p +} + +func (x AuditLogging_AuditLogAction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AuditLogging_AuditLogAction) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_enumTypes[0].Descriptor() +} + +func (AuditLogging_AuditLogAction) Type() protoreflect.EnumType { + return &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_enumTypes[0] +} + +func (x AuditLogging_AuditLogAction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AuditLogging_AuditLogAction.Descriptor instead. +func (AuditLogging_AuditLogAction) EnumDescriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescGZIP(), []int{0, 0} +} + +type AuditLogging_AuditLogLocation int32 + +const ( + // Add the audit log to the filter state. + // it will be under the key "io.solo.modsecurity.audit_log". + // You can use this formatter in the access log: + // %FILTER_STATE(io.solo.modsecurity.audit_log)% + AuditLogging_FILTER_STATE AuditLogging_AuditLogLocation = 0 + // Add the audit log to the dynamic metadata. + // it will be under the filter name "io.solo.filters.http.modsecurity". with + // "audit_log" as the key. You can use this formatter in the access log: + // %DYNAMIC_METADATA(io.solo.filters.http.modsecurity:audit_log)% + AuditLogging_DYNAMIC_METADATA AuditLogging_AuditLogLocation = 1 +) + +// Enum value maps for AuditLogging_AuditLogLocation. +var ( + AuditLogging_AuditLogLocation_name = map[int32]string{ + 0: "FILTER_STATE", + 1: "DYNAMIC_METADATA", + } + AuditLogging_AuditLogLocation_value = map[string]int32{ + "FILTER_STATE": 0, + "DYNAMIC_METADATA": 1, + } +) + +func (x AuditLogging_AuditLogLocation) Enum() *AuditLogging_AuditLogLocation { + p := new(AuditLogging_AuditLogLocation) + *p = x + return p +} + +func (x AuditLogging_AuditLogLocation) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AuditLogging_AuditLogLocation) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_enumTypes[1].Descriptor() +} + +func (AuditLogging_AuditLogLocation) Type() protoreflect.EnumType { + return &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_enumTypes[1] +} + +func (x AuditLogging_AuditLogLocation) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AuditLogging_AuditLogLocation.Descriptor instead. +func (AuditLogging_AuditLogLocation) EnumDescriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescGZIP(), []int{0, 1} +} + +// Instead of matching properties of the request in the modsecurity language, +// matching will be done using envoy's access log primitives. +type AuditLogging struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Action AuditLogging_AuditLogAction `protobuf:"varint,1,opt,name=action,proto3,enum=envoy.config.filter.http.modsecurity.v2.AuditLogging_AuditLogAction" json:"action,omitempty"` + Location AuditLogging_AuditLogLocation `protobuf:"varint,2,opt,name=location,proto3,enum=envoy.config.filter.http.modsecurity.v2.AuditLogging_AuditLogLocation" json:"location,omitempty"` +} + +func (x *AuditLogging) Reset() { + *x = AuditLogging{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuditLogging) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuditLogging) ProtoMessage() {} + +func (x *AuditLogging) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuditLogging.ProtoReflect.Descriptor instead. +func (*AuditLogging) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescGZIP(), []int{0} +} + +func (x *AuditLogging) GetAction() AuditLogging_AuditLogAction { + if x != nil { + return x.Action + } + return AuditLogging_NEVER +} + +func (x *AuditLogging) GetLocation() AuditLogging_AuditLogLocation { + if x != nil { + return x.Location + } + return AuditLogging_FILTER_STATE +} + +type ModSecurity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Disable all rules on the current route + Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"` + // Global rule sets for the current http connection manager + RuleSets []*RuleSet `protobuf:"bytes,2,rep,name=rule_sets,json=ruleSets,proto3" json:"rule_sets,omitempty"` + // Custom message to display when an intervention occurs + CustomInterventionMessage string `protobuf:"bytes,3,opt,name=custom_intervention_message,json=customInterventionMessage,proto3" json:"custom_intervention_message,omitempty"` + // This instructs the filter what to do with the transaction's audit log. + AuditLogging *AuditLogging `protobuf:"bytes,5,opt,name=audit_logging,json=auditLogging,proto3" json:"audit_logging,omitempty"` + // If set, the body will not be buffered and fed to ModSecurity. Only the + // headers will. This can help improve perforance. + RequestHeadersOnly bool `protobuf:"varint,6,opt,name=request_headers_only,json=requestHeadersOnly,proto3" json:"request_headers_only,omitempty"` + ResponseHeadersOnly bool `protobuf:"varint,7,opt,name=response_headers_only,json=responseHeadersOnly,proto3" json:"response_headers_only,omitempty"` + // log in a format suited for the OWASP regression tests. + // this format is a multiline log format, so it is disabled for regular use. + // do not enable this in production! + RegressionLogs bool `protobuf:"varint,4,opt,name=regression_logs,json=regressionLogs,proto3" json:"regression_logs,omitempty"` + DlpTransformation *v2.DlpTransformation `protobuf:"bytes,8,opt,name=dlp_transformation,json=dlpTransformation,proto3" json:"dlp_transformation,omitempty"` +} + +func (x *ModSecurity) Reset() { + *x = ModSecurity{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModSecurity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModSecurity) ProtoMessage() {} + +func (x *ModSecurity) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ModSecurity.ProtoReflect.Descriptor instead. +func (*ModSecurity) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescGZIP(), []int{1} +} + +func (x *ModSecurity) GetDisabled() bool { + if x != nil { + return x.Disabled + } + return false +} + +func (x *ModSecurity) GetRuleSets() []*RuleSet { + if x != nil { + return x.RuleSets + } + return nil +} + +func (x *ModSecurity) GetCustomInterventionMessage() string { + if x != nil { + return x.CustomInterventionMessage + } + return "" +} + +func (x *ModSecurity) GetAuditLogging() *AuditLogging { + if x != nil { + return x.AuditLogging + } + return nil +} + +func (x *ModSecurity) GetRequestHeadersOnly() bool { + if x != nil { + return x.RequestHeadersOnly + } + return false +} + +func (x *ModSecurity) GetResponseHeadersOnly() bool { + if x != nil { + return x.ResponseHeadersOnly + } + return false +} + +func (x *ModSecurity) GetRegressionLogs() bool { + if x != nil { + return x.RegressionLogs + } + return false +} + +func (x *ModSecurity) GetDlpTransformation() *v2.DlpTransformation { + if x != nil { + return x.DlpTransformation + } + return nil +} + +type RuleSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // String of rules which are added directly + RuleStr string `protobuf:"bytes,1,opt,name=rule_str,json=ruleStr,proto3" json:"rule_str,omitempty"` + // Array of files to include + Files []string `protobuf:"bytes,3,rep,name=files,proto3" json:"files,omitempty"` + // A directory to include. all *.conf files in this directory will be + // included. sub directories will NOT be checked. + Directory string `protobuf:"bytes,4,opt,name=directory,proto3" json:"directory,omitempty"` +} + +func (x *RuleSet) Reset() { + *x = RuleSet{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RuleSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RuleSet) ProtoMessage() {} + +func (x *RuleSet) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RuleSet.ProtoReflect.Descriptor instead. +func (*RuleSet) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescGZIP(), []int{2} +} + +func (x *RuleSet) GetRuleStr() string { + if x != nil { + return x.RuleStr + } + return "" +} + +func (x *RuleSet) GetFiles() []string { + if x != nil { + return x.Files + } + return nil +} + +func (x *RuleSet) GetDirectory() string { + if x != nil { + return x.Directory + } + return "" +} + +type ModSecurityPerRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Disable all rules on the current route + Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"` + // Overwrite the global rules on this route + RuleSets []*RuleSet `protobuf:"bytes,2,rep,name=rule_sets,json=ruleSets,proto3" json:"rule_sets,omitempty"` + // Custom message to display when an intervention occurs + CustomInterventionMessage string `protobuf:"bytes,3,opt,name=custom_intervention_message,json=customInterventionMessage,proto3" json:"custom_intervention_message,omitempty"` + // This instructs the filter what to do with the transaction's audit log. + AuditLogging *AuditLogging `protobuf:"bytes,5,opt,name=audit_logging,json=auditLogging,proto3" json:"audit_logging,omitempty"` + // If set, the body will not be buffered and fed to ModSecurity. Only the + // headers will. This can help improve perforance. + RequestHeadersOnly bool `protobuf:"varint,6,opt,name=request_headers_only,json=requestHeadersOnly,proto3" json:"request_headers_only,omitempty"` + ResponseHeadersOnly bool `protobuf:"varint,7,opt,name=response_headers_only,json=responseHeadersOnly,proto3" json:"response_headers_only,omitempty"` + DlpTransformation *v2.DlpTransformation `protobuf:"bytes,8,opt,name=dlp_transformation,json=dlpTransformation,proto3" json:"dlp_transformation,omitempty"` +} + +func (x *ModSecurityPerRoute) Reset() { + *x = ModSecurityPerRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModSecurityPerRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModSecurityPerRoute) ProtoMessage() {} + +func (x *ModSecurityPerRoute) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ModSecurityPerRoute.ProtoReflect.Descriptor instead. +func (*ModSecurityPerRoute) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescGZIP(), []int{3} +} + +func (x *ModSecurityPerRoute) GetDisabled() bool { + if x != nil { + return x.Disabled + } + return false +} + +func (x *ModSecurityPerRoute) GetRuleSets() []*RuleSet { + if x != nil { + return x.RuleSets + } + return nil +} + +func (x *ModSecurityPerRoute) GetCustomInterventionMessage() string { + if x != nil { + return x.CustomInterventionMessage + } + return "" +} + +func (x *ModSecurityPerRoute) GetAuditLogging() *AuditLogging { + if x != nil { + return x.AuditLogging + } + return nil +} + +func (x *ModSecurityPerRoute) GetRequestHeadersOnly() bool { + if x != nil { + return x.RequestHeadersOnly + } + return false +} + +func (x *ModSecurityPerRoute) GetResponseHeadersOnly() bool { + if x != nil { + return x.ResponseHeadersOnly + } + return false +} + +func (x *ModSecurityPerRoute) GetDlpTransformation() *v2.DlpTransformation { + if x != nil { + return x.DlpTransformation + } + return nil +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDesc = []byte{ + 0x0a, 0x74, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6d, 0x6f, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x6f, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x6d, 0x6f, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x32, 0x1a, + 0x50, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2f, + 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xc8, 0x02, 0x0a, 0x0c, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x12, 0x5c, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6d, 0x6f, + 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, + 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x62, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6d, 0x6f, + 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, + 0x6f, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x10, + 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x4c, 0x45, 0x56, 0x41, 0x4e, 0x54, 0x5f, 0x4f, 0x4e, + 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x10, 0x02, + 0x22, 0x3a, 0x0a, 0x10, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, + 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x01, 0x22, 0x94, 0x04, 0x0a, + 0x0b, 0x4d, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6d, 0x6f, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x52, 0x08, 0x72, + 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5a, 0x0a, 0x0d, 0x61, 0x75, 0x64, 0x69, 0x74, + 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6d, 0x6f, 0x64, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, + 0x67, 0x73, 0x12, 0x6f, 0x0a, 0x12, 0x64, 0x6c, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, + 0x6c, 0x70, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x11, 0x64, 0x6c, 0x70, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x58, 0x0a, 0x07, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xf3, 0x03, + 0x0a, 0x13, 0x4d, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x65, 0x72, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x12, 0x4d, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, + 0x6d, 0x6f, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, + 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, + 0x12, 0x3e, 0x0a, 0x1b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x5a, 0x0a, 0x0d, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, + 0x74, 0x70, 0x2e, 0x6d, 0x6f, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x0c, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x32, + 0x0a, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4f, 0x6e, + 0x6c, 0x79, 0x12, 0x6f, 0x0a, 0x12, 0x64, 0x6c, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, + 0x6c, 0x70, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x11, 0x64, 0x6c, 0x70, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0xb6, 0x01, 0x0a, 0x35, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6d, + 0x6f, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x32, 0x42, 0x10, 0x4d, + 0x6f, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x69, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6d, 0x6f, + 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_goTypes = []interface{}{ + (AuditLogging_AuditLogAction)(0), // 0: envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogAction + (AuditLogging_AuditLogLocation)(0), // 1: envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogLocation + (*AuditLogging)(nil), // 2: envoy.config.filter.http.modsecurity.v2.AuditLogging + (*ModSecurity)(nil), // 3: envoy.config.filter.http.modsecurity.v2.ModSecurity + (*RuleSet)(nil), // 4: envoy.config.filter.http.modsecurity.v2.RuleSet + (*ModSecurityPerRoute)(nil), // 5: envoy.config.filter.http.modsecurity.v2.ModSecurityPerRoute + (*v2.DlpTransformation)(nil), // 6: envoy.config.filter.http.transformation_ee.v2.DlpTransformation +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_depIdxs = []int32{ + 0, // 0: envoy.config.filter.http.modsecurity.v2.AuditLogging.action:type_name -> envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogAction + 1, // 1: envoy.config.filter.http.modsecurity.v2.AuditLogging.location:type_name -> envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogLocation + 4, // 2: envoy.config.filter.http.modsecurity.v2.ModSecurity.rule_sets:type_name -> envoy.config.filter.http.modsecurity.v2.RuleSet + 2, // 3: envoy.config.filter.http.modsecurity.v2.ModSecurity.audit_logging:type_name -> envoy.config.filter.http.modsecurity.v2.AuditLogging + 6, // 4: envoy.config.filter.http.modsecurity.v2.ModSecurity.dlp_transformation:type_name -> envoy.config.filter.http.transformation_ee.v2.DlpTransformation + 4, // 5: envoy.config.filter.http.modsecurity.v2.ModSecurityPerRoute.rule_sets:type_name -> envoy.config.filter.http.modsecurity.v2.RuleSet + 2, // 6: envoy.config.filter.http.modsecurity.v2.ModSecurityPerRoute.audit_logging:type_name -> envoy.config.filter.http.modsecurity.v2.AuditLogging + 6, // 7: envoy.config.filter.http.modsecurity.v2.ModSecurityPerRoute.dlp_transformation:type_name -> envoy.config.filter.http.transformation_ee.v2.DlpTransformation + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuditLogging); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModSecurity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RuleSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModSecurityPerRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDesc, + NumEnums: 2, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_depIdxs, + EnumInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_enumTypes, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2_modsecurity_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/filter/http/proxylatency/v2/proxylatency.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/proxylatency/v2/proxylatency.pb.go new file mode 100644 index 000000000..e67cc11a3 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/proxylatency/v2/proxylatency.pb.go @@ -0,0 +1,334 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/filter/http/proxylatency/v2/proxylatency.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// How to perform the latency measurement. Given an incoming request from +// downstream and outging request to upstream; or incoming response from +// upstream and outgoing repsonse to downstream, This outlines how to measure +// the latency used by the proxy. +type ProxyLatency_Measurement int32 + +const ( + // Count from the last byte of the incoming request\response to the first + // byte of the outgoing request\response. + ProxyLatency_LAST_INCOMING_FIRST_OUTGOING ProxyLatency_Measurement = 0 + // Count from the first byte of the incoming request\response to the first + // byte of the outgoing request\response. + ProxyLatency_FIRST_INCOMING_FIRST_OUTGOING ProxyLatency_Measurement = 1 + // Count from the last byte of the incoming request\response to the last + // byte of the outgoing request\response. + ProxyLatency_LAST_INCOMING_LAST_OUTGOING ProxyLatency_Measurement = 2 + // Count from the first byte of the incoming request\response to the last + // byte of the outgoing request\response. + ProxyLatency_FIRST_INCOMING_LAST_OUTGOING ProxyLatency_Measurement = 3 +) + +// Enum value maps for ProxyLatency_Measurement. +var ( + ProxyLatency_Measurement_name = map[int32]string{ + 0: "LAST_INCOMING_FIRST_OUTGOING", + 1: "FIRST_INCOMING_FIRST_OUTGOING", + 2: "LAST_INCOMING_LAST_OUTGOING", + 3: "FIRST_INCOMING_LAST_OUTGOING", + } + ProxyLatency_Measurement_value = map[string]int32{ + "LAST_INCOMING_FIRST_OUTGOING": 0, + "FIRST_INCOMING_FIRST_OUTGOING": 1, + "LAST_INCOMING_LAST_OUTGOING": 2, + "FIRST_INCOMING_LAST_OUTGOING": 3, + } +) + +func (x ProxyLatency_Measurement) Enum() *ProxyLatency_Measurement { + p := new(ProxyLatency_Measurement) + *p = x + return p +} + +func (x ProxyLatency_Measurement) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ProxyLatency_Measurement) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_enumTypes[0].Descriptor() +} + +func (ProxyLatency_Measurement) Type() protoreflect.EnumType { + return &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_enumTypes[0] +} + +func (x ProxyLatency_Measurement) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ProxyLatency_Measurement.Descriptor instead. +func (ProxyLatency_Measurement) EnumDescriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDescGZIP(), []int{0, 0} +} + +// Configure the proxy latency fitler. This filter measures the latency +// incurred by the filter chain in a histogram. +type ProxyLatency struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // How to measure the request. + Request ProxyLatency_Measurement `protobuf:"varint,1,opt,name=request,proto3,enum=envoy.config.filter.http.proxylatency.v2.ProxyLatency_Measurement" json:"request,omitempty"` + // When FIRST_OUTGOING (i.e. LAST_INCOMING_FIRST_OUTGOING or + // FIRST_INCOMING_FIRST_OUTGOING) is selected for request measurment, finish + // measuring proxy latency when decodeHeader for this filter is hit instead of + // when the first byte is sent upstream. This has the advantage of not + // measuring the time it takes a connection to form, which may skew the P99. + // For this to work this filter should be inserted last, just before the + // router filter. This has no effect if other measurement type is selected, + // and has no effect on how response is measured. + MeasureRequestInternally bool `protobuf:"varint,5,opt,name=measure_request_internally,json=measureRequestInternally,proto3" json:"measure_request_internally,omitempty"` + // How measure the response. + Response ProxyLatency_Measurement `protobuf:"varint,2,opt,name=response,proto3,enum=envoy.config.filter.http.proxylatency.v2.ProxyLatency_Measurement" json:"response,omitempty"` + // Charge a stat per upstream cluster. If not specified, defaults to true. + ChargeClusterStat *wrappers.BoolValue `protobuf:"bytes,3,opt,name=charge_cluster_stat,json=chargeClusterStat,proto3" json:"charge_cluster_stat,omitempty"` + // Charge a stat per listener. If not specified, defaults to true. + ChargeListenerStat *wrappers.BoolValue `protobuf:"bytes,4,opt,name=charge_listener_stat,json=chargeListenerStat,proto3" json:"charge_listener_stat,omitempty"` + // Should we emit request timing to dynamic metadata. defaults to true. + EmitDynamicMetadata *wrappers.BoolValue `protobuf:"bytes,6,opt,name=emit_dynamic_metadata,json=emitDynamicMetadata,proto3" json:"emit_dynamic_metadata,omitempty"` +} + +func (x *ProxyLatency) Reset() { + *x = ProxyLatency{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProxyLatency) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProxyLatency) ProtoMessage() {} + +func (x *ProxyLatency) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProxyLatency.ProtoReflect.Descriptor instead. +func (*ProxyLatency) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDescGZIP(), []int{0} +} + +func (x *ProxyLatency) GetRequest() ProxyLatency_Measurement { + if x != nil { + return x.Request + } + return ProxyLatency_LAST_INCOMING_FIRST_OUTGOING +} + +func (x *ProxyLatency) GetMeasureRequestInternally() bool { + if x != nil { + return x.MeasureRequestInternally + } + return false +} + +func (x *ProxyLatency) GetResponse() ProxyLatency_Measurement { + if x != nil { + return x.Response + } + return ProxyLatency_LAST_INCOMING_FIRST_OUTGOING +} + +func (x *ProxyLatency) GetChargeClusterStat() *wrappers.BoolValue { + if x != nil { + return x.ChargeClusterStat + } + return nil +} + +func (x *ProxyLatency) GetChargeListenerStat() *wrappers.BoolValue { + if x != nil { + return x.ChargeListenerStat + } + return nil +} + +func (x *ProxyLatency) GetEmitDynamicMetadata() *wrappers.BoolValue { + if x != nil { + return x.EmitDynamicMetadata + } + return nil +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDesc = []byte{ + 0x0a, 0x76, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6c, 0x61, 0x74, 0x65, 0x6e, + 0x63, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6c, 0x61, 0x74, 0x65, 0x6e, + 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, + 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x2e, + 0x76, 0x32, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x8c, 0x05, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x12, 0x5c, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x32, 0x2e, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x4d, 0x65, 0x61, + 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3c, 0x0a, 0x1a, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x12, + 0x5e, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4a, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, + 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x12, 0x4c, 0x0a, 0x14, 0x63, + 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x12, 0x4e, 0x0a, 0x15, 0x65, 0x6d, 0x69, + 0x74, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x65, 0x6d, 0x69, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x95, 0x01, 0x0a, 0x0b, 0x4d, 0x65, + 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x41, 0x53, + 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, + 0x5f, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x46, + 0x49, 0x52, 0x53, 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x49, + 0x52, 0x53, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1f, + 0x0a, 0x1b, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, + 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, + 0x20, 0x0a, 0x1c, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, + 0x47, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, + 0x03, 0x42, 0xb9, 0x01, 0x0a, 0x36, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x76, 0x32, 0x42, 0x11, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x6a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_goTypes = []interface{}{ + (ProxyLatency_Measurement)(0), // 0: envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement + (*ProxyLatency)(nil), // 1: envoy.config.filter.http.proxylatency.v2.ProxyLatency + (*wrappers.BoolValue)(nil), // 2: google.protobuf.BoolValue +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_depIdxs = []int32{ + 0, // 0: envoy.config.filter.http.proxylatency.v2.ProxyLatency.request:type_name -> envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement + 0, // 1: envoy.config.filter.http.proxylatency.v2.ProxyLatency.response:type_name -> envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement + 2, // 2: envoy.config.filter.http.proxylatency.v2.ProxyLatency.charge_cluster_stat:type_name -> google.protobuf.BoolValue + 2, // 3: envoy.config.filter.http.proxylatency.v2.ProxyLatency.charge_listener_stat:type_name -> google.protobuf.BoolValue + 2, // 4: envoy.config.filter.http.proxylatency.v2.ProxyLatency.emit_dynamic_metadata:type_name -> google.protobuf.BoolValue + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProxyLatency); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDesc, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_depIdxs, + EnumInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_enumTypes, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_proxylatency_v2_proxylatency_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/filter/http/sanitize/v2/sanitize.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/sanitize/v2/sanitize.pb.go new file mode 100644 index 000000000..6686fabb0 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/sanitize/v2/sanitize.pb.go @@ -0,0 +1,251 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/filter/http/sanitize/v2/sanitize.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Sanitize struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HeadersToRemove []string `protobuf:"bytes,1,rep,name=headers_to_remove,json=headersToRemove,proto3" json:"headers_to_remove,omitempty"` + // The name of the custom ext auth server + // This is only set in the case where multiple auth servers exist and a + // non-default server configuration is applied. If using the default ext auth + // server, do not set this value. + CustomAuthServerName string `protobuf:"bytes,2,opt,name=custom_auth_server_name,json=customAuthServerName,proto3" json:"custom_auth_server_name,omitempty"` +} + +func (x *Sanitize) Reset() { + *x = Sanitize{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Sanitize) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Sanitize) ProtoMessage() {} + +func (x *Sanitize) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Sanitize.ProtoReflect.Descriptor instead. +func (*Sanitize) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDescGZIP(), []int{0} +} + +func (x *Sanitize) GetHeadersToRemove() []string { + if x != nil { + return x.HeadersToRemove + } + return nil +} + +func (x *Sanitize) GetCustomAuthServerName() string { + if x != nil { + return x.CustomAuthServerName + } + return "" +} + +type SanitizePerRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the custom ext auth server + // This is only set in the case where multiple auth servers exist and a + // non-default server configuration is applied. If using the default ext auth + // server, do not set this value. + CustomAuthServerName string `protobuf:"bytes,1,opt,name=custom_auth_server_name,json=customAuthServerName,proto3" json:"custom_auth_server_name,omitempty"` +} + +func (x *SanitizePerRoute) Reset() { + *x = SanitizePerRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SanitizePerRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SanitizePerRoute) ProtoMessage() {} + +func (x *SanitizePerRoute) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SanitizePerRoute.ProtoReflect.Descriptor instead. +func (*SanitizePerRoute) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDescGZIP(), []int{1} +} + +func (x *SanitizePerRoute) GetCustomAuthServerName() string { + if x != nil { + return x.CustomAuthServerName + } + return "" +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDesc = []byte{ + 0x0a, 0x6e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x2f, 0x76, + 0x32, 0x2f, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, + 0x69, 0x7a, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x6d, 0x0a, 0x08, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, + 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x49, + 0x0a, 0x10, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61, 0x75, 0x74, + 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0xad, 0x01, 0x0a, 0x32, 0x69, 0x6f, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x2e, 0x76, 0x32, + 0x42, 0x0d, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x66, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x61, + 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_goTypes = []interface{}{ + (*Sanitize)(nil), // 0: envoy.config.filter.http.sanitize.v2.Sanitize + (*SanitizePerRoute)(nil), // 1: envoy.config.filter.http.sanitize.v2.SanitizePerRoute +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Sanitize); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SanitizePerRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_sanitize_v2_sanitize_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/filter/http/solo_jwt_authn/v2/solo_jwt_authn.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/solo_jwt_authn/v2/solo_jwt_authn.pb.go new file mode 100644 index 000000000..c98aaf888 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/solo_jwt_authn/v2/solo_jwt_authn.pb.go @@ -0,0 +1,548 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/filter/http/solo_jwt_authn/v2/solo_jwt_authn.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + v3 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/jwt_authn/v3" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type JwtWithStage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The JwtAuthentication config for this filter. + JwtAuthn *v3.JwtAuthentication `protobuf:"bytes,1,opt,name=jwt_authn,json=jwtAuthn,proto3" json:"jwt_authn,omitempty"` + // Only SoloJwtAuthnPerRoute with matching stage in StagedJwtAuthnPerRoute + // will be used with this filter + Stage uint32 `protobuf:"varint,2,opt,name=stage,proto3" json:"stage,omitempty"` +} + +func (x *JwtWithStage) Reset() { + *x = JwtWithStage{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JwtWithStage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JwtWithStage) ProtoMessage() {} + +func (x *JwtWithStage) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JwtWithStage.ProtoReflect.Descriptor instead. +func (*JwtWithStage) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDescGZIP(), []int{0} +} + +func (x *JwtWithStage) GetJwtAuthn() *v3.JwtAuthentication { + if x != nil { + return x.JwtAuthn + } + return nil +} + +func (x *JwtWithStage) GetStage() uint32 { + if x != nil { + return x.Stage + } + return 0 +} + +type SoloJwtAuthnPerRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Requirement string `protobuf:"bytes,1,opt,name=requirement,proto3" json:"requirement,omitempty"` + // Copy the claims from the payload field is the key. + // non-existant fields are ignored. + ClaimsToHeaders map[string]*SoloJwtAuthnPerRoute_ClaimToHeaders `protobuf:"bytes,2,rep,name=claims_to_headers,json=claimsToHeaders,proto3" json:"claims_to_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // clear the route cache if claims were added to the header + ClearRouteCache bool `protobuf:"varint,3,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"` + // To easly integrate with other filters, this will copy the payload to this + // name in the dynamic metadata. The payload will only be copied if one + // payload is present (i.e. or match) + PayloadInMetadata string `protobuf:"bytes,4,opt,name=payload_in_metadata,json=payloadInMetadata,proto3" json:"payload_in_metadata,omitempty"` +} + +func (x *SoloJwtAuthnPerRoute) Reset() { + *x = SoloJwtAuthnPerRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SoloJwtAuthnPerRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SoloJwtAuthnPerRoute) ProtoMessage() {} + +func (x *SoloJwtAuthnPerRoute) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SoloJwtAuthnPerRoute.ProtoReflect.Descriptor instead. +func (*SoloJwtAuthnPerRoute) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDescGZIP(), []int{1} +} + +func (x *SoloJwtAuthnPerRoute) GetRequirement() string { + if x != nil { + return x.Requirement + } + return "" +} + +func (x *SoloJwtAuthnPerRoute) GetClaimsToHeaders() map[string]*SoloJwtAuthnPerRoute_ClaimToHeaders { + if x != nil { + return x.ClaimsToHeaders + } + return nil +} + +func (x *SoloJwtAuthnPerRoute) GetClearRouteCache() bool { + if x != nil { + return x.ClearRouteCache + } + return false +} + +func (x *SoloJwtAuthnPerRoute) GetPayloadInMetadata() string { + if x != nil { + return x.PayloadInMetadata + } + return "" +} + +type StagedJwtAuthnPerRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Map from stage number to jwt config + // This jwt config will only be processed by filters with the same stage + // number. + JwtConfigs map[uint32]*SoloJwtAuthnPerRoute `protobuf:"bytes,5,rep,name=jwt_configs,json=jwtConfigs,proto3" json:"jwt_configs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *StagedJwtAuthnPerRoute) Reset() { + *x = StagedJwtAuthnPerRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StagedJwtAuthnPerRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StagedJwtAuthnPerRoute) ProtoMessage() {} + +func (x *StagedJwtAuthnPerRoute) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StagedJwtAuthnPerRoute.ProtoReflect.Descriptor instead. +func (*StagedJwtAuthnPerRoute) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDescGZIP(), []int{2} +} + +func (x *StagedJwtAuthnPerRoute) GetJwtConfigs() map[uint32]*SoloJwtAuthnPerRoute { + if x != nil { + return x.JwtConfigs + } + return nil +} + +// If this is specified, one of the claims will be copied to a header +// and the route cache will be cleared. +type SoloJwtAuthnPerRoute_ClaimToHeader struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Claim string `protobuf:"bytes,1,opt,name=claim,proto3" json:"claim,omitempty"` + Header string `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"` + Append bool `protobuf:"varint,3,opt,name=append,proto3" json:"append,omitempty"` +} + +func (x *SoloJwtAuthnPerRoute_ClaimToHeader) Reset() { + *x = SoloJwtAuthnPerRoute_ClaimToHeader{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SoloJwtAuthnPerRoute_ClaimToHeader) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SoloJwtAuthnPerRoute_ClaimToHeader) ProtoMessage() {} + +func (x *SoloJwtAuthnPerRoute_ClaimToHeader) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SoloJwtAuthnPerRoute_ClaimToHeader.ProtoReflect.Descriptor instead. +func (*SoloJwtAuthnPerRoute_ClaimToHeader) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *SoloJwtAuthnPerRoute_ClaimToHeader) GetClaim() string { + if x != nil { + return x.Claim + } + return "" +} + +func (x *SoloJwtAuthnPerRoute_ClaimToHeader) GetHeader() string { + if x != nil { + return x.Header + } + return "" +} + +func (x *SoloJwtAuthnPerRoute_ClaimToHeader) GetAppend() bool { + if x != nil { + return x.Append + } + return false +} + +type SoloJwtAuthnPerRoute_ClaimToHeaders struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Claims []*SoloJwtAuthnPerRoute_ClaimToHeader `protobuf:"bytes,1,rep,name=claims,proto3" json:"claims,omitempty"` +} + +func (x *SoloJwtAuthnPerRoute_ClaimToHeaders) Reset() { + *x = SoloJwtAuthnPerRoute_ClaimToHeaders{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SoloJwtAuthnPerRoute_ClaimToHeaders) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SoloJwtAuthnPerRoute_ClaimToHeaders) ProtoMessage() {} + +func (x *SoloJwtAuthnPerRoute_ClaimToHeaders) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SoloJwtAuthnPerRoute_ClaimToHeaders.ProtoReflect.Descriptor instead. +func (*SoloJwtAuthnPerRoute_ClaimToHeaders) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *SoloJwtAuthnPerRoute_ClaimToHeaders) GetClaims() []*SoloJwtAuthnPerRoute_ClaimToHeader { + if x != nil { + return x.Claims + } + return nil +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDesc = []byte{ + 0x0a, 0x7a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, + 0x75, 0x74, 0x68, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x6a, 0x77, 0x74, + 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x6a, 0x77, 0x74, 0x5f, + 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, 0x1a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, + 0x6e, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x0c, 0x4a, + 0x77, 0x74, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x5a, 0x0a, 0x09, 0x6a, + 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6a, + 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4a, 0x77, 0x74, 0x41, + 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6a, + 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x12, 0x1d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x0a, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x22, 0x9a, 0x05, 0x0a, 0x14, 0x53, 0x6f, 0x6c, 0x6f, 0x4a, + 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, + 0x29, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x11, 0x63, + 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, + 0x70, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, + 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x6c, 0x6f, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6e, + 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x54, + 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, + 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2a, + 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x67, 0x0a, 0x0d, 0x43, 0x6c, + 0x61, 0x69, 0x6d, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x05, 0x63, + 0x6c, 0x61, 0x69, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, + 0x02, 0x20, 0x01, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x1f, 0x0a, 0x06, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, + 0x02, 0x20, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x70, 0x70, + 0x65, 0x6e, 0x64, 0x1a, 0x78, 0x0a, 0x0e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x6f, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x66, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, + 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x6c, 0x6f, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x50, + 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x6f, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x1a, 0x93, 0x01, + 0x0a, 0x14, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x65, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, + 0x74, 0x70, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, + 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x6c, 0x6f, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, + 0x6e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x54, + 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x8e, 0x02, 0x0a, 0x16, 0x53, 0x74, 0x61, 0x67, 0x65, 0x64, 0x4a, 0x77, + 0x74, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x73, + 0x0a, 0x0b, 0x6a, 0x77, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, 0x32, + 0x2e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x64, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x50, + 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x4a, 0x77, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6a, 0x77, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x1a, 0x7f, 0x0a, 0x0f, 0x4a, 0x77, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x56, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, + 0x74, 0x70, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, + 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x6c, 0x6f, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, + 0x6e, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x42, 0xbd, 0x01, 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x2e, 0x76, + 0x32, 0x42, 0x11, 0x53, 0x6f, 0x6c, 0x6f, 0x4a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6e, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, + 0x74, 0x70, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, + 0x6e, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_goTypes = []interface{}{ + (*JwtWithStage)(nil), // 0: envoy.config.filter.http.solo_jwt_authn.v2.JwtWithStage + (*SoloJwtAuthnPerRoute)(nil), // 1: envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute + (*StagedJwtAuthnPerRoute)(nil), // 2: envoy.config.filter.http.solo_jwt_authn.v2.StagedJwtAuthnPerRoute + (*SoloJwtAuthnPerRoute_ClaimToHeader)(nil), // 3: envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimToHeader + (*SoloJwtAuthnPerRoute_ClaimToHeaders)(nil), // 4: envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimToHeaders + nil, // 5: envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimsToHeadersEntry + nil, // 6: envoy.config.filter.http.solo_jwt_authn.v2.StagedJwtAuthnPerRoute.JwtConfigsEntry + (*v3.JwtAuthentication)(nil), // 7: envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_depIdxs = []int32{ + 7, // 0: envoy.config.filter.http.solo_jwt_authn.v2.JwtWithStage.jwt_authn:type_name -> envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication + 5, // 1: envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.claims_to_headers:type_name -> envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimsToHeadersEntry + 6, // 2: envoy.config.filter.http.solo_jwt_authn.v2.StagedJwtAuthnPerRoute.jwt_configs:type_name -> envoy.config.filter.http.solo_jwt_authn.v2.StagedJwtAuthnPerRoute.JwtConfigsEntry + 3, // 3: envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimToHeaders.claims:type_name -> envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimToHeader + 4, // 4: envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimsToHeadersEntry.value:type_name -> envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimToHeaders + 1, // 5: envoy.config.filter.http.solo_jwt_authn.v2.StagedJwtAuthnPerRoute.JwtConfigsEntry.value:type_name -> envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JwtWithStage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SoloJwtAuthnPerRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StagedJwtAuthnPerRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SoloJwtAuthnPerRoute_ClaimToHeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SoloJwtAuthnPerRoute_ClaimToHeaders); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_jwt_authn_v2_solo_jwt_authn_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/filter/http/solo_xff_offset/v2/solo_xff_offset_filter.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/solo_xff_offset/v2/solo_xff_offset_filter.pb.go new file mode 100644 index 000000000..553d0fc80 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/solo_xff_offset/v2/solo_xff_offset_filter.pb.go @@ -0,0 +1,168 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/filter/http/solo_xff_offset/v2/solo_xff_offset_filter.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type SoloXffOffset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The amount of addresses from the left of x-forwarded-for (xff) header + // which should be skipped to get the client address. + Offset uint32 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` +} + +func (x *SoloXffOffset) Reset() { + *x = SoloXffOffset{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SoloXffOffset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SoloXffOffset) ProtoMessage() {} + +func (x *SoloXffOffset) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SoloXffOffset.ProtoReflect.Descriptor instead. +func (*SoloXffOffset) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_rawDescGZIP(), []int{0} +} + +func (x *SoloXffOffset) GetOffset() uint32 { + if x != nil { + return x.Offset + } + return 0 +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_rawDesc = []byte{ + 0x0a, 0x83, 0x01, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x78, 0x66, 0x66, 0x5f, + 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x78, + 0x66, 0x66, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x78, 0x66, 0x66, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x2e, 0x76, 0x32, 0x22, 0x27, 0x0a, 0x0d, 0x53, 0x6f, 0x6c, 0x6f, 0x58, 0x66, 0x66, 0x4f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x42, 0xc0, 0x01, 0x0a, + 0x39, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x78, 0x66, 0x66, + 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x42, 0x12, 0x53, 0x6f, 0x6c, 0x6f, + 0x58, 0x66, 0x66, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x6d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x5f, 0x78, 0x66, 0x66, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x2f, 0x76, 0x32, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_goTypes = []interface{}{ + (*SoloXffOffset)(nil), // 0: envoy.config.filter.http.solo_xff_offset.v2.SoloXffOffset +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SoloXffOffset); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_solo_xff_offset_v2_solo_xff_offset_filter_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/filter/http/transformation_ee/v2/transformation_ee_filter.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/transformation_ee/v2/transformation_ee_filter.pb.go new file mode 100644 index 000000000..2f3b4027f --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/filter/http/transformation_ee/v2/transformation_ee_filter.pb.go @@ -0,0 +1,1106 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/filter/http/transformation_ee/v2/transformation_ee_filter.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + route "github.com/envoyproxy/go-control-plane/envoy/api/v2/route" + v3 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" + _type "github.com/envoyproxy/go-control-plane/envoy/type" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type FilterTransformations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specifies transformations based on the route matches. The first matched + // transformation will be applied. If there are overlapped match conditions, + // please put the most specific match first. + Transformations []*TransformationRule `protobuf:"bytes,1,rep,name=transformations,proto3" json:"transformations,omitempty"` + LogRequestResponseInfo bool `protobuf:"varint,2,opt,name=log_request_response_info,json=logRequestResponseInfo,proto3" json:"log_request_response_info,omitempty"` +} + +func (x *FilterTransformations) Reset() { + *x = FilterTransformations{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterTransformations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterTransformations) ProtoMessage() {} + +func (x *FilterTransformations) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FilterTransformations.ProtoReflect.Descriptor instead. +func (*FilterTransformations) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescGZIP(), []int{0} +} + +func (x *FilterTransformations) GetTransformations() []*TransformationRule { + if x != nil { + return x.Transformations + } + return nil +} + +func (x *FilterTransformations) GetLogRequestResponseInfo() bool { + if x != nil { + return x.LogRequestResponseInfo + } + return false +} + +type TransformationRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The route matching parameter. Only when the match is satisfied, the + // "requires" field will apply. + // + // For example: following match will match all requests. + // + // .. code-block:: yaml + // + // match: + // prefix: / + Match *route.RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` + MatchV3 *v3.RouteMatch `protobuf:"bytes,3,opt,name=match_v3,json=matchV3,proto3" json:"match_v3,omitempty"` + // transformation to perform + RouteTransformations *RouteTransformations `protobuf:"bytes,2,opt,name=route_transformations,json=routeTransformations,proto3" json:"route_transformations,omitempty"` +} + +func (x *TransformationRule) Reset() { + *x = TransformationRule{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransformationRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransformationRule) ProtoMessage() {} + +func (x *TransformationRule) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransformationRule.ProtoReflect.Descriptor instead. +func (*TransformationRule) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescGZIP(), []int{1} +} + +func (x *TransformationRule) GetMatch() *route.RouteMatch { + if x != nil { + return x.Match + } + return nil +} + +func (x *TransformationRule) GetMatchV3() *v3.RouteMatch { + if x != nil { + return x.MatchV3 + } + return nil +} + +func (x *TransformationRule) GetRouteTransformations() *RouteTransformations { + if x != nil { + return x.RouteTransformations + } + return nil +} + +type RouteTransformations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RequestTransformation *Transformation `protobuf:"bytes,1,opt,name=request_transformation,json=requestTransformation,proto3" json:"request_transformation,omitempty"` + // clear the route cache if the request transformation was applied + ClearRouteCache bool `protobuf:"varint,3,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"` + ResponseTransformation *Transformation `protobuf:"bytes,2,opt,name=response_transformation,json=responseTransformation,proto3" json:"response_transformation,omitempty"` + // Apply a transformation in the onStreamComplete callback + OnStreamCompletionTransformation *Transformation `protobuf:"bytes,4,opt,name=on_stream_completion_transformation,json=onStreamCompletionTransformation,proto3" json:"on_stream_completion_transformation,omitempty"` +} + +func (x *RouteTransformations) Reset() { + *x = RouteTransformations{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTransformations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTransformations) ProtoMessage() {} + +func (x *RouteTransformations) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteTransformations.ProtoReflect.Descriptor instead. +func (*RouteTransformations) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescGZIP(), []int{2} +} + +func (x *RouteTransformations) GetRequestTransformation() *Transformation { + if x != nil { + return x.RequestTransformation + } + return nil +} + +func (x *RouteTransformations) GetClearRouteCache() bool { + if x != nil { + return x.ClearRouteCache + } + return false +} + +func (x *RouteTransformations) GetResponseTransformation() *Transformation { + if x != nil { + return x.ResponseTransformation + } + return nil +} + +func (x *RouteTransformations) GetOnStreamCompletionTransformation() *Transformation { + if x != nil { + return x.OnStreamCompletionTransformation + } + return nil +} + +type Transformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Template is in the transformed request language domain + // + // Types that are assignable to TransformationType: + // + // *Transformation_DlpTransformation + TransformationType isTransformation_TransformationType `protobuf_oneof:"transformation_type"` +} + +func (x *Transformation) Reset() { + *x = Transformation{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Transformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Transformation) ProtoMessage() {} + +func (x *Transformation) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Transformation.ProtoReflect.Descriptor instead. +func (*Transformation) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescGZIP(), []int{3} +} + +func (m *Transformation) GetTransformationType() isTransformation_TransformationType { + if m != nil { + return m.TransformationType + } + return nil +} + +func (x *Transformation) GetDlpTransformation() *DlpTransformation { + if x, ok := x.GetTransformationType().(*Transformation_DlpTransformation); ok { + return x.DlpTransformation + } + return nil +} + +type isTransformation_TransformationType interface { + isTransformation_TransformationType() +} + +type Transformation_DlpTransformation struct { + DlpTransformation *DlpTransformation `protobuf:"bytes,1,opt,name=dlp_transformation,json=dlpTransformation,proto3,oneof"` +} + +func (*Transformation_DlpTransformation) isTransformation_TransformationType() {} + +type DlpTransformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // list of actions to apply + Actions []*Action `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` + // If true, headers will be transformed. Should only be used for the + // on_stream_complete_transformation route transformation type. + EnableHeaderTransformation bool `protobuf:"varint,2,opt,name=enable_header_transformation,json=enableHeaderTransformation,proto3" json:"enable_header_transformation,omitempty"` + // If true, dynamic metadata will be transformed. Should only be used for the + // on_stream_complete_transformation route transformation type. + EnableDynamicMetadataTransformation bool `protobuf:"varint,3,opt,name=enable_dynamic_metadata_transformation,json=enableDynamicMetadataTransformation,proto3" json:"enable_dynamic_metadata_transformation,omitempty"` +} + +func (x *DlpTransformation) Reset() { + *x = DlpTransformation{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DlpTransformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DlpTransformation) ProtoMessage() {} + +func (x *DlpTransformation) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DlpTransformation.ProtoReflect.Descriptor instead. +func (*DlpTransformation) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescGZIP(), []int{4} +} + +func (x *DlpTransformation) GetActions() []*Action { + if x != nil { + return x.Actions + } + return nil +} + +func (x *DlpTransformation) GetEnableHeaderTransformation() bool { + if x != nil { + return x.EnableHeaderTransformation + } + return false +} + +func (x *DlpTransformation) GetEnableDynamicMetadataTransformation() bool { + if x != nil { + return x.EnableDynamicMetadataTransformation + } + return false +} + +type Action struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier for this action. + // Used mostly to help ID specific actions in logs. + // If left null will default to unknown + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Deprecated in favor of DlpMatcher + // List of regexes to apply to the response body to match data which should be + // masked They will be applied iteratively in the order which they are + // specified. + // + // Deprecated: Do not use. + Regex []string `protobuf:"bytes,2,rep,name=regex,proto3" json:"regex,omitempty"` + // Deprecated in favor of DlpMatcher + // List of regexes to apply to the response body to match data which should be + // masked They will be applied iteratively in the order which they are + // specified. + // + // Deprecated: Do not use. + RegexActions []*RegexAction `protobuf:"bytes,6,rep,name=regex_actions,json=regexActions,proto3" json:"regex_actions,omitempty"` + // If specified, this rule will not actually be applied, but only logged. + Shadow bool `protobuf:"varint,3,opt,name=shadow,proto3" json:"shadow,omitempty"` + // The percent of the string which should be masked. + // If not set, defaults to 75% + Percent *_type.Percent `protobuf:"bytes,4,opt,name=percent,proto3" json:"percent,omitempty"` + // The character which should overwrite the masked data + // If left empty, defaults to "X" + MaskChar string `protobuf:"bytes,5,opt,name=mask_char,json=maskChar,proto3" json:"mask_char,omitempty"` + // The matcher used to determine which values will be masked by this action. + Matcher *Action_DlpMatcher `protobuf:"bytes,7,opt,name=matcher,proto3" json:"matcher,omitempty"` +} + +func (x *Action) Reset() { + *x = Action{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action) ProtoMessage() {} + +func (x *Action) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action.ProtoReflect.Descriptor instead. +func (*Action) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescGZIP(), []int{5} +} + +func (x *Action) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Deprecated: Do not use. +func (x *Action) GetRegex() []string { + if x != nil { + return x.Regex + } + return nil +} + +// Deprecated: Do not use. +func (x *Action) GetRegexActions() []*RegexAction { + if x != nil { + return x.RegexActions + } + return nil +} + +func (x *Action) GetShadow() bool { + if x != nil { + return x.Shadow + } + return false +} + +func (x *Action) GetPercent() *_type.Percent { + if x != nil { + return x.Percent + } + return nil +} + +func (x *Action) GetMaskChar() string { + if x != nil { + return x.MaskChar + } + return "" +} + +func (x *Action) GetMatcher() *Action_DlpMatcher { + if x != nil { + return x.Matcher + } + return nil +} + +type RegexAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The regex to match for masking. + Regex string `protobuf:"bytes,1,opt,name=regex,proto3" json:"regex,omitempty"` + // If provided and not 0, only this specific subgroup of the regex will be + // masked. + Subgroup uint32 `protobuf:"varint,2,opt,name=subgroup,proto3" json:"subgroup,omitempty"` +} + +func (x *RegexAction) Reset() { + *x = RegexAction{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegexAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegexAction) ProtoMessage() {} + +func (x *RegexAction) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegexAction.ProtoReflect.Descriptor instead. +func (*RegexAction) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescGZIP(), []int{6} +} + +func (x *RegexAction) GetRegex() string { + if x != nil { + return x.Regex + } + return "" +} + +func (x *RegexAction) GetSubgroup() uint32 { + if x != nil { + return x.Subgroup + } + return 0 +} + +// List of regexes to apply to the response body to match data which should be +// masked. They will be applied iteratively in the order which they are +// specified. +type Action_RegexMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RegexActions []*RegexAction `protobuf:"bytes,1,rep,name=regex_actions,json=regexActions,proto3" json:"regex_actions,omitempty"` +} + +func (x *Action_RegexMatcher) Reset() { + *x = Action_RegexMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action_RegexMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action_RegexMatcher) ProtoMessage() {} + +func (x *Action_RegexMatcher) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action_RegexMatcher.ProtoReflect.Descriptor instead. +func (*Action_RegexMatcher) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *Action_RegexMatcher) GetRegexActions() []*RegexAction { + if x != nil { + return x.RegexActions + } + return nil +} + +// List of headers for which associated values will be masked. +// Note that enable_header_transformation must be set for this to take effect. +// Note that if enable_dynamic_metadata_transformation is set, proto struct dynamic metadata +// (i.e., the values matching any JSON keys specified in `keys`; primarily for json-formatted WAF audit logs) will also be masked accordingly. +type Action_KeyValueMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` +} + +func (x *Action_KeyValueMatcher) Reset() { + *x = Action_KeyValueMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action_KeyValueMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action_KeyValueMatcher) ProtoMessage() {} + +func (x *Action_KeyValueMatcher) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action_KeyValueMatcher.ProtoReflect.Descriptor instead. +func (*Action_KeyValueMatcher) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescGZIP(), []int{5, 1} +} + +func (x *Action_KeyValueMatcher) GetKeys() []string { + if x != nil { + return x.Keys + } + return nil +} + +type Action_DlpMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Matcher: + // + // *Action_DlpMatcher_RegexMatcher + // *Action_DlpMatcher_KeyValueMatcher + Matcher isAction_DlpMatcher_Matcher `protobuf_oneof:"matcher"` +} + +func (x *Action_DlpMatcher) Reset() { + *x = Action_DlpMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action_DlpMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action_DlpMatcher) ProtoMessage() {} + +func (x *Action_DlpMatcher) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action_DlpMatcher.ProtoReflect.Descriptor instead. +func (*Action_DlpMatcher) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescGZIP(), []int{5, 2} +} + +func (m *Action_DlpMatcher) GetMatcher() isAction_DlpMatcher_Matcher { + if m != nil { + return m.Matcher + } + return nil +} + +func (x *Action_DlpMatcher) GetRegexMatcher() *Action_RegexMatcher { + if x, ok := x.GetMatcher().(*Action_DlpMatcher_RegexMatcher); ok { + return x.RegexMatcher + } + return nil +} + +func (x *Action_DlpMatcher) GetKeyValueMatcher() *Action_KeyValueMatcher { + if x, ok := x.GetMatcher().(*Action_DlpMatcher_KeyValueMatcher); ok { + return x.KeyValueMatcher + } + return nil +} + +type isAction_DlpMatcher_Matcher interface { + isAction_DlpMatcher_Matcher() +} + +type Action_DlpMatcher_RegexMatcher struct { + RegexMatcher *Action_RegexMatcher `protobuf:"bytes,1,opt,name=regex_matcher,json=regexMatcher,proto3,oneof"` +} + +type Action_DlpMatcher_KeyValueMatcher struct { + KeyValueMatcher *Action_KeyValueMatcher `protobuf:"bytes,2,opt,name=key_value_matcher,json=keyValueMatcher,proto3,oneof"` +} + +func (*Action_DlpMatcher_RegexMatcher) isAction_DlpMatcher_Matcher() {} + +func (*Action_DlpMatcher_KeyValueMatcher) isAction_DlpMatcher_Matcher() {} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDesc = []byte{ + 0x0a, 0x87, 0x01, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x5f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, + 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x15, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x6b, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x19, + 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x16, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x82, 0x02, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x34, + 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x3c, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x76, 0x33, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x56, 0x33, 0x12, 0x78, 0x0a, 0x15, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x43, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, + 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbf, 0x03, 0x0a, + 0x14, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x74, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x65, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x63, + 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x76, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x8c, 0x01, 0x0a, 0x23, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x20, 0x6f, 0x6e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9a, + 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x71, 0x0a, 0x12, 0x64, 0x6c, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6c, + 0x70, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x11, 0x64, 0x6c, 0x70, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x11, + 0x44, 0x6c, 0x70, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x4f, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x26, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, + 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x79, 0x6e, 0x61, + 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x06, 0x0a, 0x06, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0e, 0x18, 0x01, 0xfa, 0x42, 0x09, 0x92, 0x01, + 0x06, 0x22, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x63, + 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x65, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x65, 0x78, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x12, 0x2d, 0x0a, 0x07, 0x70, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6d, 0x61, + 0x73, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x72, + 0x12, 0x5a, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x6c, 0x70, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0x6f, 0x0a, 0x0c, + 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x5f, 0x0a, 0x0d, + 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, + 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0c, 0x72, 0x65, 0x67, 0x65, 0x78, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x25, 0x0a, + 0x0f, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x6b, 0x65, 0x79, 0x73, 0x1a, 0xf7, 0x01, 0x0a, 0x0a, 0x44, 0x6c, 0x70, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x12, 0x69, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, + 0x52, 0x0c, 0x72, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x73, + 0x0a, 0x11, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x0f, 0x6b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x22, 0x48, + 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x65, 0x78, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, + 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, + 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0xcd, 0x01, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x1b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x45, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, + 0x74, 0x74, 0x70, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_goTypes = []interface{}{ + (*FilterTransformations)(nil), // 0: envoy.config.filter.http.transformation_ee.v2.FilterTransformations + (*TransformationRule)(nil), // 1: envoy.config.filter.http.transformation_ee.v2.TransformationRule + (*RouteTransformations)(nil), // 2: envoy.config.filter.http.transformation_ee.v2.RouteTransformations + (*Transformation)(nil), // 3: envoy.config.filter.http.transformation_ee.v2.Transformation + (*DlpTransformation)(nil), // 4: envoy.config.filter.http.transformation_ee.v2.DlpTransformation + (*Action)(nil), // 5: envoy.config.filter.http.transformation_ee.v2.Action + (*RegexAction)(nil), // 6: envoy.config.filter.http.transformation_ee.v2.RegexAction + (*Action_RegexMatcher)(nil), // 7: envoy.config.filter.http.transformation_ee.v2.Action.RegexMatcher + (*Action_KeyValueMatcher)(nil), // 8: envoy.config.filter.http.transformation_ee.v2.Action.KeyValueMatcher + (*Action_DlpMatcher)(nil), // 9: envoy.config.filter.http.transformation_ee.v2.Action.DlpMatcher + (*route.RouteMatch)(nil), // 10: envoy.api.v2.route.RouteMatch + (*v3.RouteMatch)(nil), // 11: envoy.config.route.v3.RouteMatch + (*_type.Percent)(nil), // 12: envoy.type.Percent +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_depIdxs = []int32{ + 1, // 0: envoy.config.filter.http.transformation_ee.v2.FilterTransformations.transformations:type_name -> envoy.config.filter.http.transformation_ee.v2.TransformationRule + 10, // 1: envoy.config.filter.http.transformation_ee.v2.TransformationRule.match:type_name -> envoy.api.v2.route.RouteMatch + 11, // 2: envoy.config.filter.http.transformation_ee.v2.TransformationRule.match_v3:type_name -> envoy.config.route.v3.RouteMatch + 2, // 3: envoy.config.filter.http.transformation_ee.v2.TransformationRule.route_transformations:type_name -> envoy.config.filter.http.transformation_ee.v2.RouteTransformations + 3, // 4: envoy.config.filter.http.transformation_ee.v2.RouteTransformations.request_transformation:type_name -> envoy.config.filter.http.transformation_ee.v2.Transformation + 3, // 5: envoy.config.filter.http.transformation_ee.v2.RouteTransformations.response_transformation:type_name -> envoy.config.filter.http.transformation_ee.v2.Transformation + 3, // 6: envoy.config.filter.http.transformation_ee.v2.RouteTransformations.on_stream_completion_transformation:type_name -> envoy.config.filter.http.transformation_ee.v2.Transformation + 4, // 7: envoy.config.filter.http.transformation_ee.v2.Transformation.dlp_transformation:type_name -> envoy.config.filter.http.transformation_ee.v2.DlpTransformation + 5, // 8: envoy.config.filter.http.transformation_ee.v2.DlpTransformation.actions:type_name -> envoy.config.filter.http.transformation_ee.v2.Action + 6, // 9: envoy.config.filter.http.transformation_ee.v2.Action.regex_actions:type_name -> envoy.config.filter.http.transformation_ee.v2.RegexAction + 12, // 10: envoy.config.filter.http.transformation_ee.v2.Action.percent:type_name -> envoy.type.Percent + 9, // 11: envoy.config.filter.http.transformation_ee.v2.Action.matcher:type_name -> envoy.config.filter.http.transformation_ee.v2.Action.DlpMatcher + 6, // 12: envoy.config.filter.http.transformation_ee.v2.Action.RegexMatcher.regex_actions:type_name -> envoy.config.filter.http.transformation_ee.v2.RegexAction + 7, // 13: envoy.config.filter.http.transformation_ee.v2.Action.DlpMatcher.regex_matcher:type_name -> envoy.config.filter.http.transformation_ee.v2.Action.RegexMatcher + 8, // 14: envoy.config.filter.http.transformation_ee.v2.Action.DlpMatcher.key_value_matcher:type_name -> envoy.config.filter.http.transformation_ee.v2.Action.KeyValueMatcher + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterTransformations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransformationRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTransformations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Transformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DlpTransformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegexAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action_RegexMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action_KeyValueMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action_DlpMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*Transformation_DlpTransformation)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*Action_DlpMatcher_RegexMatcher)(nil), + (*Action_DlpMatcher_KeyValueMatcher)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDesc, + NumEnums: 0, + NumMessages: 10, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2_transformation_ee_filter_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.pb.go new file mode 100644 index 000000000..24695d8e1 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.pb.go @@ -0,0 +1,162 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto + +package v3 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/cncf/xds/go/udpa/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type TlsCipherInspector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *TlsCipherInspector) Reset() { + *x = TlsCipherInspector{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TlsCipherInspector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TlsCipherInspector) ProtoMessage() {} + +func (x *TlsCipherInspector) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TlsCipherInspector.ProtoReflect.Descriptor instead. +func (*TlsCipherInspector) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_rawDescGZIP(), []int{0} +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_rawDesc = []byte{ + 0x0a, 0x8a, 0x01, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x63, + 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, + 0x76, 0x33, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x6e, + 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x74, 0x6c, 0x73, 0x5f, + 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x54, 0x6c, 0x73, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x49, + 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0xdf, 0x01, 0x0a, 0x42, 0x69, 0x6f, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x69, 0x70, 0x68, + 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x33, 0x42, + 0x17, 0x54, 0x6c, 0x73, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x76, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x63, + 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, + 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_goTypes = []interface{}{ + (*TlsCipherInspector)(nil), // 0: envoy.config.filter.listener.tls_cipher_inspector.v3.TlsCipherInspector +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TlsCipherInspector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_filter_listener_tls_cipher_inspector_v3_tls_cipher_inspector_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/health_checker/advanced_http/v2/advanced_http.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/health_checker/advanced_http/v2/advanced_http.pb.go new file mode 100644 index 000000000..e88fc10bf --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/health_checker/advanced_http/v2/advanced_http.pb.go @@ -0,0 +1,769 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/health_checker/advanced_http/v2/advanced_http.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/cncf/xds/go/udpa/annotations" + v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + empty "github.com/golang/protobuf/ptypes/empty" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type HealthCheckResult int32 + +const ( + HealthCheckResult_healthy HealthCheckResult = 0 + HealthCheckResult_degraded HealthCheckResult = 1 + HealthCheckResult_unhealthy HealthCheckResult = 2 +) + +// Enum value maps for HealthCheckResult. +var ( + HealthCheckResult_name = map[int32]string{ + 0: "healthy", + 1: "degraded", + 2: "unhealthy", + } + HealthCheckResult_value = map[string]int32{ + "healthy": 0, + "degraded": 1, + "unhealthy": 2, + } +) + +func (x HealthCheckResult) Enum() *HealthCheckResult { + p := new(HealthCheckResult) + *p = x + return p +} + +func (x HealthCheckResult) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (HealthCheckResult) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_enumTypes[0].Descriptor() +} + +func (HealthCheckResult) Type() protoreflect.EnumType { + return &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_enumTypes[0] +} + +func (x HealthCheckResult) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use HealthCheckResult.Descriptor instead. +func (HealthCheckResult) EnumDescriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescGZIP(), []int{0} +} + +// Same as envoy's default HTTP health checker, but with some additions: +// - allows a custom path and method on the health check request per endpoint. +// The http path to use can be overridden using endpoint metadata. The +// endpoint-specific path should be in the +// "io.solo.health_checkers.advanced_http" namespace, under a string value +// named "path". The same can be done for the method by setting a string value +// named "method". +// - allows for health check responses to leverage the response body rather than +// +// just +// +// the http status code returned. The response body can be parsed as json and +// complex assertions can be made on fields parsed from the json or plaintext +// response body. +type AdvancedHttp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Http health check. + HttpHealthCheck *v3.HealthCheck_HttpHealthCheck `protobuf:"bytes,1,opt,name=http_health_check,json=httpHealthCheck,proto3" json:"http_health_check,omitempty"` + // If defined, the response health check rules take precedence over the http + // status settings defined in `http_health_check` + ResponseAssertions *ResponseAssertions `protobuf:"bytes,2,opt,name=response_assertions,json=responseAssertions,proto3" json:"response_assertions,omitempty"` +} + +func (x *AdvancedHttp) Reset() { + *x = AdvancedHttp{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AdvancedHttp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdvancedHttp) ProtoMessage() {} + +func (x *AdvancedHttp) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdvancedHttp.ProtoReflect.Descriptor instead. +func (*AdvancedHttp) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescGZIP(), []int{0} +} + +func (x *AdvancedHttp) GetHttpHealthCheck() *v3.HealthCheck_HttpHealthCheck { + if x != nil { + return x.HttpHealthCheck + } + return nil +} + +func (x *AdvancedHttp) GetResponseAssertions() *ResponseAssertions { + if x != nil { + return x.ResponseAssertions + } + return nil +} + +type ResponseAssertions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A bunch of match rules, the first match wins out and short-circuits + ResponseMatchers []*ResponseMatcher `protobuf:"bytes,1,rep,name=response_matchers,json=responseMatchers,proto3" json:"response_matchers,omitempty"` + // The default health response if none of the response health checks were + // matches. If omitted, defaults to healthy. Note for devs: we'd probably + // prefer this default to unhealthy, but since the version of protoc we're on + // doesn't support optional scalars without an experimental flag, we cannot + // have the `no_match_health` field default to unhealthy while the + // `match_health` field defaults to healthy. + // + // As such, we offload this defaulting behavior to the control plane. + // For more reading, see + // https://github.com/protocolbuffers/protobuf/issues/1606#issuecomment-618687169 + NoMatchHealth HealthCheckResult `protobuf:"varint,2,opt,name=no_match_health,json=noMatchHealth,proto3,enum=envoy.config.health_checker.advanced_http.v2.HealthCheckResult" json:"no_match_health,omitempty"` +} + +func (x *ResponseAssertions) Reset() { + *x = ResponseAssertions{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResponseAssertions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResponseAssertions) ProtoMessage() {} + +func (x *ResponseAssertions) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResponseAssertions.ProtoReflect.Descriptor instead. +func (*ResponseAssertions) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescGZIP(), []int{1} +} + +func (x *ResponseAssertions) GetResponseMatchers() []*ResponseMatcher { + if x != nil { + return x.ResponseMatchers + } + return nil +} + +func (x *ResponseAssertions) GetNoMatchHealth() HealthCheckResult { + if x != nil { + return x.NoMatchHealth + } + return HealthCheckResult_healthy +} + +// Defines a transformation template. +type ResponseMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Defines the parameters to determine a single match + ResponseMatch *ResponseMatch `protobuf:"bytes,1,opt,name=response_match,json=responseMatch,proto3" json:"response_match,omitempty"` + // The health response if this response_match is a match. + // If omitted, defaults to healthy + MatchHealth HealthCheckResult `protobuf:"varint,2,opt,name=match_health,json=matchHealth,proto3,enum=envoy.config.health_checker.advanced_http.v2.HealthCheckResult" json:"match_health,omitempty"` +} + +func (x *ResponseMatcher) Reset() { + *x = ResponseMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResponseMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResponseMatcher) ProtoMessage() {} + +func (x *ResponseMatcher) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResponseMatcher.ProtoReflect.Descriptor instead. +func (*ResponseMatcher) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescGZIP(), []int{2} +} + +func (x *ResponseMatcher) GetResponseMatch() *ResponseMatch { + if x != nil { + return x.ResponseMatch + } + return nil +} + +func (x *ResponseMatcher) GetMatchHealth() HealthCheckResult { + if x != nil { + return x.MatchHealth + } + return HealthCheckResult_healthy +} + +// ResponseMatches can be used to extract information from the request/response. +type ResponseMatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Configuration to get the json key. + // Treats the body as raw text if omitted. + JsonKey *JsonKey `protobuf:"bytes,1,opt,name=json_key,json=jsonKey,proto3" json:"json_key,omitempty"` + // DEPRECATED: this field no longer has any effect. All JSON responses are + // checked for errors and if parsing fails, the ResponseMatcher block will + // match to the value of whatever 'no_match_health' is set to + IgnoreErrorOnParse bool `protobuf:"varint,2,opt,name=ignore_error_on_parse,json=ignoreErrorOnParse,proto3" json:"ignore_error_on_parse,omitempty"` + // The source of the extraction + // + // Types that are assignable to Source: + // + // *ResponseMatch_Header + // *ResponseMatch_Body + Source isResponseMatch_Source `protobuf_oneof:"source"` + // Only strings matching this regular expression will be considered a match. + // The most simple value for this field is '.*', which matches the + // whole source. The field is required. + Regex string `protobuf:"bytes,5,opt,name=regex,proto3" json:"regex,omitempty"` +} + +func (x *ResponseMatch) Reset() { + *x = ResponseMatch{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResponseMatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResponseMatch) ProtoMessage() {} + +func (x *ResponseMatch) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResponseMatch.ProtoReflect.Descriptor instead. +func (*ResponseMatch) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescGZIP(), []int{3} +} + +func (x *ResponseMatch) GetJsonKey() *JsonKey { + if x != nil { + return x.JsonKey + } + return nil +} + +func (x *ResponseMatch) GetIgnoreErrorOnParse() bool { + if x != nil { + return x.IgnoreErrorOnParse + } + return false +} + +func (m *ResponseMatch) GetSource() isResponseMatch_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *ResponseMatch) GetHeader() string { + if x, ok := x.GetSource().(*ResponseMatch_Header); ok { + return x.Header + } + return "" +} + +func (x *ResponseMatch) GetBody() *empty.Empty { + if x, ok := x.GetSource().(*ResponseMatch_Body); ok { + return x.Body + } + return nil +} + +func (x *ResponseMatch) GetRegex() string { + if x != nil { + return x.Regex + } + return "" +} + +type isResponseMatch_Source interface { + isResponseMatch_Source() +} + +type ResponseMatch_Header struct { + // Extract information from headers + Header string `protobuf:"bytes,3,opt,name=header,proto3,oneof"` +} + +type ResponseMatch_Body struct { + // Extract information from the request/response body + Body *empty.Empty `protobuf:"bytes,4,opt,name=body,proto3,oneof"` +} + +func (*ResponseMatch_Header) isResponseMatch_Source() {} + +func (*ResponseMatch_Body) isResponseMatch_Source() {} + +type JsonKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The path to retrieve the Value. + Path []*JsonKey_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` +} + +func (x *JsonKey) Reset() { + *x = JsonKey{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JsonKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JsonKey) ProtoMessage() {} + +func (x *JsonKey) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JsonKey.ProtoReflect.Descriptor instead. +func (*JsonKey) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescGZIP(), []int{4} +} + +func (x *JsonKey) GetPath() []*JsonKey_PathSegment { + if x != nil { + return x.Path + } + return nil +} + +// Specifies the segment in a path to retrieve value. +type JsonKey_PathSegment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Segment: + // + // *JsonKey_PathSegment_Key + Segment isJsonKey_PathSegment_Segment `protobuf_oneof:"segment"` +} + +func (x *JsonKey_PathSegment) Reset() { + *x = JsonKey_PathSegment{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JsonKey_PathSegment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JsonKey_PathSegment) ProtoMessage() {} + +func (x *JsonKey_PathSegment) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JsonKey_PathSegment.ProtoReflect.Descriptor instead. +func (*JsonKey_PathSegment) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescGZIP(), []int{4, 0} +} + +func (m *JsonKey_PathSegment) GetSegment() isJsonKey_PathSegment_Segment { + if m != nil { + return m.Segment + } + return nil +} + +func (x *JsonKey_PathSegment) GetKey() string { + if x, ok := x.GetSegment().(*JsonKey_PathSegment_Key); ok { + return x.Key + } + return "" +} + +type isJsonKey_PathSegment_Segment interface { + isJsonKey_PathSegment_Segment() +} + +type JsonKey_PathSegment_Key struct { + // If specified, use the key to retrieve the value. + // If the key is not found, the value defaults to empty string. + Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"` +} + +func (*JsonKey_PathSegment_Key) isJsonKey_PathSegment_Segment() {} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDesc = []byte{ + 0x0a, 0x7b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, + 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, + 0x65, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2c, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x76, 0x61, 0x6e, + 0x63, 0x65, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x32, 0x1a, 0x1d, 0x75, 0x64, 0x70, + 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, + 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x01, 0x0a, 0x0c, 0x41, 0x64, + 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x48, 0x74, 0x74, 0x70, 0x12, 0x5d, 0x0a, 0x11, 0x68, 0x74, + 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x71, 0x0a, 0x13, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x68, 0x74, + 0x74, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x41, 0x73, + 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe9, 0x01, 0x0a, + 0x12, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x6a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x76, + 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x10, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, + 0x67, 0x0a, 0x0f, 0x6e, 0x6f, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x6e, 0x6f, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0xd9, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x0e, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x65, 0x72, 0x2e, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, + 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x62, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x68, 0x74, + 0x74, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x22, 0xfc, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x50, 0x0a, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, + 0x07, 0x6a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x67, 0x6e, 0x6f, + 0x72, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x73, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x06, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x04, 0x62, + 0x6f, 0x64, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x07, 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, + 0x5f, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x76, 0x61, + 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x4b, 0x65, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x1a, 0x3a, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x1b, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0e, 0x0a, 0x07, + 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x2a, 0x3d, 0x0a, 0x11, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x10, 0x00, 0x12, 0x0c, + 0x0a, 0x08, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, + 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x10, 0x02, 0x42, 0xc4, 0x01, 0x0a, 0x3a, + 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, + 0x65, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x41, 0x64, 0x76, 0x61, + 0x6e, 0x63, 0x65, 0x64, 0x48, 0x74, 0x74, 0x70, 0x50, 0x01, 0x5a, 0x6e, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, + 0x65, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 0x32, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, + 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_goTypes = []interface{}{ + (HealthCheckResult)(0), // 0: envoy.config.health_checker.advanced_http.v2.HealthCheckResult + (*AdvancedHttp)(nil), // 1: envoy.config.health_checker.advanced_http.v2.AdvancedHttp + (*ResponseAssertions)(nil), // 2: envoy.config.health_checker.advanced_http.v2.ResponseAssertions + (*ResponseMatcher)(nil), // 3: envoy.config.health_checker.advanced_http.v2.ResponseMatcher + (*ResponseMatch)(nil), // 4: envoy.config.health_checker.advanced_http.v2.ResponseMatch + (*JsonKey)(nil), // 5: envoy.config.health_checker.advanced_http.v2.JsonKey + (*JsonKey_PathSegment)(nil), // 6: envoy.config.health_checker.advanced_http.v2.JsonKey.PathSegment + (*v3.HealthCheck_HttpHealthCheck)(nil), // 7: envoy.config.core.v3.HealthCheck.HttpHealthCheck + (*empty.Empty)(nil), // 8: google.protobuf.Empty +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_depIdxs = []int32{ + 7, // 0: envoy.config.health_checker.advanced_http.v2.AdvancedHttp.http_health_check:type_name -> envoy.config.core.v3.HealthCheck.HttpHealthCheck + 2, // 1: envoy.config.health_checker.advanced_http.v2.AdvancedHttp.response_assertions:type_name -> envoy.config.health_checker.advanced_http.v2.ResponseAssertions + 3, // 2: envoy.config.health_checker.advanced_http.v2.ResponseAssertions.response_matchers:type_name -> envoy.config.health_checker.advanced_http.v2.ResponseMatcher + 0, // 3: envoy.config.health_checker.advanced_http.v2.ResponseAssertions.no_match_health:type_name -> envoy.config.health_checker.advanced_http.v2.HealthCheckResult + 4, // 4: envoy.config.health_checker.advanced_http.v2.ResponseMatcher.response_match:type_name -> envoy.config.health_checker.advanced_http.v2.ResponseMatch + 0, // 5: envoy.config.health_checker.advanced_http.v2.ResponseMatcher.match_health:type_name -> envoy.config.health_checker.advanced_http.v2.HealthCheckResult + 5, // 6: envoy.config.health_checker.advanced_http.v2.ResponseMatch.json_key:type_name -> envoy.config.health_checker.advanced_http.v2.JsonKey + 8, // 7: envoy.config.health_checker.advanced_http.v2.ResponseMatch.body:type_name -> google.protobuf.Empty + 6, // 8: envoy.config.health_checker.advanced_http.v2.JsonKey.path:type_name -> envoy.config.health_checker.advanced_http.v2.JsonKey.PathSegment + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AdvancedHttp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResponseAssertions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResponseMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResponseMatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonKey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonKey_PathSegment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*ResponseMatch_Header)(nil), + (*ResponseMatch_Body)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*JsonKey_PathSegment_Key)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDesc, + NumEnums: 1, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_depIdxs, + EnumInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_enumTypes, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_advanced_http_v2_advanced_http_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/health_checker/http_path/v2/http_path.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/health_checker/http_path/v2/http_path.pb.go new file mode 100644 index 000000000..6ca3addd8 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/health_checker/http_path/v2/http_path.pb.go @@ -0,0 +1,188 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/health_checker/http_path/v2/http_path.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/cncf/xds/go/udpa/annotations" + v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// DEPRECATED in favor of AdvancedHttp health checker, which has support for +// per-endpoint HTTP path health checking as well as additional behaviors. +// +// This proto remains for backwards compatibility. +// +// Same as envoy's default HTTP health checker, but with some additions: +// - allows a custom path on the health check request per endpoint. +// The http path to use can be overridden using endpoint metadata. The +// endpoint-specific path should be in the "io.solo.health_checkers.http_path" +// namespace, under a string value named "path". +type HttpPath struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Http health check. + HttpHealthCheck *v3.HealthCheck_HttpHealthCheck `protobuf:"bytes,1,opt,name=http_health_check,json=httpHealthCheck,proto3" json:"http_health_check,omitempty"` +} + +func (x *HttpPath) Reset() { + *x = HttpPath{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HttpPath) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HttpPath) ProtoMessage() {} + +func (x *HttpPath) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HttpPath.ProtoReflect.Descriptor instead. +func (*HttpPath) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_rawDescGZIP(), []int{0} +} + +func (x *HttpPath) GetHttpHealthCheck() *v3.HealthCheck_HttpHealthCheck { + if x != nil { + return x.HttpHealthCheck + } + return nil +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_rawDesc = []byte{ + 0x0a, 0x73, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x1a, + 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, + 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x08, 0x48, 0x74, 0x74, 0x70, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x5d, 0x0a, 0x11, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x52, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x42, 0xb8, 0x01, 0x0a, 0x36, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x48, + 0x74, 0x74, 0x70, 0x50, 0x61, 0x74, 0x68, 0x50, 0x01, 0x5a, 0x6a, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x2f, 0x76, 0x32, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_goTypes = []interface{}{ + (*HttpPath)(nil), // 0: envoy.config.health_checker.http_path.v2.HttpPath + (*v3.HealthCheck_HttpHealthCheck)(nil), // 1: envoy.config.core.v3.HealthCheck.HttpHealthCheck +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_depIdxs = []int32{ + 1, // 0: envoy.config.health_checker.http_path.v2.HttpPath.http_health_check:type_name -> envoy.config.core.v3.HealthCheck.HttpHealthCheck + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HttpPath); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_health_checker_http_path_v2_http_path_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/matching/cipher_detection_input/v3/cipher_detection_input.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/matching/cipher_detection_input/v3/cipher_detection_input.pb.go new file mode 100644 index 000000000..63df41709 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/matching/cipher_detection_input/v3/cipher_detection_input.pb.go @@ -0,0 +1,201 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/matching/cipher_detection_input/v3/cipher_detection_input.proto + +package v3 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/cncf/xds/go/udpa/annotations" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Specifies that matching should be performed by specified Ciphers +// [#extension: io.solo.matching.inputs.cipher_detection_input] +type CipherDetectionInput struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of TLS ciphers to send to the passthrough cipher chain. Ciphers must + // be provided using their 16-bit value. These numbers of IANA standardised + // values for all possible cipher suites and can be found here: + // https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml + // + // example: to select the following cipher + // + // 0x00,0x3c TLS_RSA_WITH_AES_128_CBC_SHA256 + // + // this field should be set to 0x003c + PassthroughCiphers []uint32 `protobuf:"varint,1,rep,packed,name=passthrough_ciphers,json=passthroughCiphers,proto3" json:"passthrough_ciphers,omitempty"` + // Terminating ciphers are those that should be considered as supported. + // If not specified, defaults to whatever the current envoy implementation + // finds to be the default set of ciphers. + TerminatingCiphers []uint32 `protobuf:"varint,2,rep,packed,name=terminating_ciphers,json=terminatingCiphers,proto3" json:"terminating_ciphers,omitempty"` +} + +func (x *CipherDetectionInput) Reset() { + *x = CipherDetectionInput{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CipherDetectionInput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CipherDetectionInput) ProtoMessage() {} + +func (x *CipherDetectionInput) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CipherDetectionInput.ProtoReflect.Descriptor instead. +func (*CipherDetectionInput) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_rawDescGZIP(), []int{0} +} + +func (x *CipherDetectionInput) GetPassthroughCiphers() []uint32 { + if x != nil { + return x.PassthroughCiphers + } + return nil +} + +func (x *CipherDetectionInput) GetTerminatingCiphers() []uint32 { + if x != nil { + return x.TerminatingCiphers + } + return nil +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_rawDesc = []byte{ + 0x0a, 0x87, 0x01, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x69, + 0x70, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, + 0x67, 0x2e, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x1d, 0x75, 0x64, 0x70, + 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x14, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x44, 0x65, 0x74, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x70, + 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x63, 0x69, 0x70, 0x68, 0x65, + 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, + 0x72, 0x6f, 0x75, 0x67, 0x68, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x13, + 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x69, 0x70, 0x68, + 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x42, 0xd0, 0x01, + 0x0a, 0x3d, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x76, 0x33, 0x42, + 0x12, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x71, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x63, + 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_goTypes = []interface{}{ + (*CipherDetectionInput)(nil), // 0: envoy.config.matching.cipher_detection_input.v3.CipherDetectionInput +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CipherDetectionInput); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_cipher_detection_input_v3_cipher_detection_input_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.pb.go new file mode 100644 index 000000000..fdaf6b033 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.pb.go @@ -0,0 +1,267 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto + +package v3 + +import ( + reflect "reflect" + sync "sync" + + v3 "github.com/cncf/xds/go/xds/type/matcher/v3" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Matches a specific server name provided in the client request against a set server names configured for the matcher to handle, with possible prefix wildcard. +type ServerNameMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Match server names. Order doesn't matter, the most specific server name is matched. + ServerNameMatchers []*ServerNameMatcher_ServerNameSetMatcher `protobuf:"bytes,1,rep,name=server_name_matchers,json=serverNameMatchers,proto3" json:"server_name_matchers,omitempty"` +} + +func (x *ServerNameMatcher) Reset() { + *x = ServerNameMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerNameMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerNameMatcher) ProtoMessage() {} + +func (x *ServerNameMatcher) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerNameMatcher.ProtoReflect.Descriptor instead. +func (*ServerNameMatcher) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDescGZIP(), []int{0} +} + +func (x *ServerNameMatcher) GetServerNameMatchers() []*ServerNameMatcher_ServerNameSetMatcher { + if x != nil { + return x.ServerNameMatchers + } + return nil +} + +// Specifies a list of server names and a match action. +type ServerNameMatcher_ServerNameSetMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A non-empty set of server names. + // Server name can start with a wildcard prefix, e.g. "*.example.com". + ServerNames []string `protobuf:"bytes,1,rep,name=server_names,json=serverNames,proto3" json:"server_names,omitempty"` + // Match action to apply when the input matches the server name. + OnMatch *v3.Matcher_OnMatch `protobuf:"bytes,2,opt,name=on_match,json=onMatch,proto3" json:"on_match,omitempty"` +} + +func (x *ServerNameMatcher_ServerNameSetMatcher) Reset() { + *x = ServerNameMatcher_ServerNameSetMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerNameMatcher_ServerNameSetMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerNameMatcher_ServerNameSetMatcher) ProtoMessage() {} + +func (x *ServerNameMatcher_ServerNameSetMatcher) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerNameMatcher_ServerNameSetMatcher.ProtoReflect.Descriptor instead. +func (*ServerNameMatcher_ServerNameSetMatcher) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ServerNameMatcher_ServerNameSetMatcher) GetServerNames() []string { + if x != nil { + return x.ServerNames + } + return nil +} + +func (x *ServerNameMatcher_ServerNameSetMatcher) GetOnMatch() *v3.Matcher_OnMatch { + if x != nil { + return x.OnMatch + } + return nil +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDesc = []byte{ + 0x0a, 0x89, 0x01, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x72, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, + 0x76, 0x33, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x72, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2e, + 0x76, 0x33, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x78, 0x64, 0x73, + 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, + 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, + 0x02, 0x0a, 0x11, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x12, 0x8e, 0x01, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x72, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x2b, + 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0b, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x6f, + 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x4f, 0x6e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x07, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0xcf, 0x01, 0x0a, + 0x3b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x78, 0x64, 0x73, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x16, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x76, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x76, 0x33, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_goTypes = []interface{}{ + (*ServerNameMatcher)(nil), // 0: envoy.config.matching.custom_matchers.server_name.v3.ServerNameMatcher + (*ServerNameMatcher_ServerNameSetMatcher)(nil), // 1: envoy.config.matching.custom_matchers.server_name.v3.ServerNameMatcher.ServerNameSetMatcher + (*v3.Matcher_OnMatch)(nil), // 2: xds.type.matcher.v3.Matcher.OnMatch +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_depIdxs = []int32{ + 1, // 0: envoy.config.matching.custom_matchers.server_name.v3.ServerNameMatcher.server_name_matchers:type_name -> envoy.config.matching.custom_matchers.server_name.v3.ServerNameMatcher.ServerNameSetMatcher + 2, // 1: envoy.config.matching.custom_matchers.server_name.v3.ServerNameMatcher.ServerNameSetMatcher.on_match:type_name -> xds.type.matcher.v3.Matcher.OnMatch + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServerNameMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServerNameMatcher_ServerNameSetMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_custom_matchers_server_name_v3_server_name_matcher_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/matching/inputs/http_inputs/v3/http_inputs.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/matching/inputs/http_inputs/v3/http_inputs.pb.go new file mode 100644 index 000000000..b78e58260 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/matching/inputs/http_inputs/v3/http_inputs.pb.go @@ -0,0 +1,267 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/matching/inputs/http_inputs/v3/http_inputs.proto + +package v3 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/cncf/xds/go/udpa/annotations" + v3 "github.com/envoyproxy/go-control-plane/envoy/type/metadata/v3" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Provides the route name as an input +// [#extension: io.solo.matching.inputs.http_inputs] +type RouteNameInput struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RouteNameInput) Reset() { + *x = RouteNameInput{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteNameInput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteNameInput) ProtoMessage() {} + +func (x *RouteNameInput) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteNameInput.ProtoReflect.Descriptor instead. +func (*RouteNameInput) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDescGZIP(), []int{0} +} + +// Metadata for input. Must be string type. +type MetadataInput struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MetadataKey *v3.MetadataKey `protobuf:"bytes,1,opt,name=metadata_key,json=metadataKey,proto3" json:"metadata_key,omitempty"` + // value to return if the path exists but not a string + OnValueNotString *wrappers.StringValue `protobuf:"bytes,2,opt,name=on_value_not_string,json=onValueNotString,proto3" json:"on_value_not_string,omitempty"` + OnMissingValue *wrappers.StringValue `protobuf:"bytes,3,opt,name=on_missing_value,json=onMissingValue,proto3" json:"on_missing_value,omitempty"` +} + +func (x *MetadataInput) Reset() { + *x = MetadataInput{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetadataInput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetadataInput) ProtoMessage() {} + +func (x *MetadataInput) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetadataInput.ProtoReflect.Descriptor instead. +func (*MetadataInput) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDescGZIP(), []int{1} +} + +func (x *MetadataInput) GetMetadataKey() *v3.MetadataKey { + if x != nil { + return x.MetadataKey + } + return nil +} + +func (x *MetadataInput) GetOnValueNotString() *wrappers.StringValue { + if x != nil { + return x.OnValueNotString + } + return nil +} + +func (x *MetadataInput) GetOnMissingValue() *wrappers.StringValue { + if x != nil { + return x.OnMissingValue + } + return nil +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDesc = []byte{ + 0x0a, 0x78, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, + 0x6e, 0x67, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, + 0x67, 0x2e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x33, 0x2f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, + 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0xec, 0x01, 0x0a, 0x0d, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, + 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x13, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6f, + 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, + 0x46, 0x0a, 0x10, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0xc9, 0x01, 0x0a, 0x39, 0x69, 0x6f, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6d, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2f, 0x68, 0x74, 0x74, + 0x70, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x2f, 0x76, 0x33, 0xba, 0x80, 0xc8, 0xd1, 0x06, + 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_goTypes = []interface{}{ + (*RouteNameInput)(nil), // 0: envoy.config.matching.inputs.http_inputs.v3.RouteNameInput + (*MetadataInput)(nil), // 1: envoy.config.matching.inputs.http_inputs.v3.MetadataInput + (*v3.MetadataKey)(nil), // 2: envoy.type.metadata.v3.MetadataKey + (*wrappers.StringValue)(nil), // 3: google.protobuf.StringValue +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_depIdxs = []int32{ + 2, // 0: envoy.config.matching.inputs.http_inputs.v3.MetadataInput.metadata_key:type_name -> envoy.type.metadata.v3.MetadataKey + 3, // 1: envoy.config.matching.inputs.http_inputs.v3.MetadataInput.on_value_not_string:type_name -> google.protobuf.StringValue + 3, // 2: envoy.config.matching.inputs.http_inputs.v3.MetadataInput.on_missing_value:type_name -> google.protobuf.StringValue + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteNameInput); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetadataInput); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_matching_inputs_http_inputs_v3_http_inputs_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/resolver/stitching/v2/stitching.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/resolver/stitching/v2/stitching.pb.go new file mode 100644 index 000000000..ee163fc02 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/resolver/stitching/v2/stitching.pb.go @@ -0,0 +1,1149 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/resolver/stitching/v2/stitching.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/golang/protobuf/ptypes/wrappers" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/envoy-gloo-ee/api/envoy/config/filter/http/graphql/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type FieldNode struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *FieldNode) Reset() { + *x = FieldNode{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FieldNode) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldNode) ProtoMessage() {} + +func (x *FieldNode) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FieldNode.ProtoReflect.Descriptor instead. +func (*FieldNode) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP(), []int{0} +} + +func (x *FieldNode) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type FieldNodeMap struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Nodes map[string]*FieldNodes `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *FieldNodeMap) Reset() { + *x = FieldNodeMap{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FieldNodeMap) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldNodeMap) ProtoMessage() {} + +func (x *FieldNodeMap) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FieldNodeMap.ProtoReflect.Descriptor instead. +func (*FieldNodeMap) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP(), []int{1} +} + +func (x *FieldNodeMap) GetNodes() map[string]*FieldNodes { + if x != nil { + return x.Nodes + } + return nil +} + +type FieldNodes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FieldNodes []*FieldNode `protobuf:"bytes,1,rep,name=field_nodes,json=fieldNodes,proto3" json:"field_nodes,omitempty"` +} + +func (x *FieldNodes) Reset() { + *x = FieldNodes{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FieldNodes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldNodes) ProtoMessage() {} + +func (x *FieldNodes) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FieldNodes.ProtoReflect.Descriptor instead. +func (*FieldNodes) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP(), []int{2} +} + +func (x *FieldNodes) GetFieldNodes() []*FieldNode { + if x != nil { + return x.FieldNodes + } + return nil +} + +type ResolverConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SelectionSet string `protobuf:"bytes,1,opt,name=selection_set,json=selectionSet,proto3" json:"selection_set,omitempty"` + FieldName string `protobuf:"bytes,2,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` +} + +func (x *ResolverConfig) Reset() { + *x = ResolverConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResolverConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResolverConfig) ProtoMessage() {} + +func (x *ResolverConfig) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResolverConfig.ProtoReflect.Descriptor instead. +func (*ResolverConfig) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP(), []int{3} +} + +func (x *ResolverConfig) GetSelectionSet() string { + if x != nil { + return x.SelectionSet + } + return "" +} + +func (x *ResolverConfig) GetFieldName() string { + if x != nil { + return x.FieldName + } + return "" +} + +type Schemas struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Schemas []string `protobuf:"bytes,1,rep,name=schemas,proto3" json:"schemas,omitempty"` +} + +func (x *Schemas) Reset() { + *x = Schemas{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Schemas) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Schemas) ProtoMessage() {} + +func (x *Schemas) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Schemas.ProtoReflect.Descriptor instead. +func (*Schemas) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP(), []int{4} +} + +func (x *Schemas) GetSchemas() []string { + if x != nil { + return x.Schemas + } + return nil +} + +type ArgPath struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Setter Path + SetterPath []string `protobuf:"bytes,1,rep,name=setter_path,json=setterPath,proto3" json:"setter_path,omitempty"` + // Extraction path + ExtractionPath []string `protobuf:"bytes,2,rep,name=extraction_path,json=extractionPath,proto3" json:"extraction_path,omitempty"` +} + +func (x *ArgPath) Reset() { + *x = ArgPath{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArgPath) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArgPath) ProtoMessage() {} + +func (x *ArgPath) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArgPath.ProtoReflect.Descriptor instead. +func (*ArgPath) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP(), []int{5} +} + +func (x *ArgPath) GetSetterPath() []string { + if x != nil { + return x.SetterPath + } + return nil +} + +func (x *ArgPath) GetExtractionPath() []string { + if x != nil { + return x.ExtractionPath + } + return nil +} + +type DefaultMergedResolver struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DefaultMergedResolver) Reset() { + *x = DefaultMergedResolver{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DefaultMergedResolver) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DefaultMergedResolver) ProtoMessage() {} + +func (x *DefaultMergedResolver) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DefaultMergedResolver.ProtoReflect.Descriptor instead. +func (*DefaultMergedResolver) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP(), []int{6} +} + +type ResolverInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` + Args []*ArgPath `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` +} + +func (x *ResolverInfo) Reset() { + *x = ResolverInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResolverInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResolverInfo) ProtoMessage() {} + +func (x *ResolverInfo) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResolverInfo.ProtoReflect.Descriptor instead. +func (*ResolverInfo) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP(), []int{7} +} + +func (x *ResolverInfo) GetFieldName() string { + if x != nil { + return x.FieldName + } + return "" +} + +func (x *ResolverInfo) GetArgs() []*ArgPath { + if x != nil { + return x.Args + } + return nil +} + +type MergedTypeConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeName string `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + // map of subschema name to selection set string + // e.g. name_subschema: '{ id }' + SelectionSets map[string]string `protobuf:"bytes,2,rep,name=selection_sets,json=selectionSets,proto3" json:"selection_sets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // field name -> schema name + UniqueFieldsToSubschemaName map[string]string `protobuf:"bytes,3,rep,name=unique_fields_to_subschema_name,json=uniqueFieldsToSubschemaName,proto3" json:"unique_fields_to_subschema_name,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + NonUniqueFieldsToSubschemaNames map[string]*Schemas `protobuf:"bytes,4,rep,name=non_unique_fields_to_subschema_names,json=nonUniqueFieldsToSubschemaNames,proto3" json:"non_unique_fields_to_subschema_names,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // schema -> subschemas + DeclarativeTargetSubschemas map[string]*Schemas `protobuf:"bytes,5,rep,name=declarative_target_subschemas,json=declarativeTargetSubschemas,proto3" json:"declarative_target_subschemas,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SubschemaNameToResolverInfo map[string]*ResolverInfo `protobuf:"bytes,6,rep,name=subschema_name_to_resolver_info,json=subschemaNameToResolverInfo,proto3" json:"subschema_name_to_resolver_info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *MergedTypeConfig) Reset() { + *x = MergedTypeConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MergedTypeConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MergedTypeConfig) ProtoMessage() {} + +func (x *MergedTypeConfig) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MergedTypeConfig.ProtoReflect.Descriptor instead. +func (*MergedTypeConfig) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP(), []int{8} +} + +func (x *MergedTypeConfig) GetTypeName() string { + if x != nil { + return x.TypeName + } + return "" +} + +func (x *MergedTypeConfig) GetSelectionSets() map[string]string { + if x != nil { + return x.SelectionSets + } + return nil +} + +func (x *MergedTypeConfig) GetUniqueFieldsToSubschemaName() map[string]string { + if x != nil { + return x.UniqueFieldsToSubschemaName + } + return nil +} + +func (x *MergedTypeConfig) GetNonUniqueFieldsToSubschemaNames() map[string]*Schemas { + if x != nil { + return x.NonUniqueFieldsToSubschemaNames + } + return nil +} + +func (x *MergedTypeConfig) GetDeclarativeTargetSubschemas() map[string]*Schemas { + if x != nil { + return x.DeclarativeTargetSubschemas + } + return nil +} + +func (x *MergedTypeConfig) GetSubschemaNameToResolverInfo() map[string]*ResolverInfo { + if x != nil { + return x.SubschemaNameToResolverInfo + } + return nil +} + +type StitchingInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Map of type name (e.g. User) to Field nodes + FieldNodesByType map[string]*FieldNodes `protobuf:"bytes,1,rep,name=field_nodes_by_type,json=fieldNodesByType,proto3" json:"field_nodes_by_type,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Map of type name to Field Node map + FieldNodesByField map[string]*FieldNodeMap `protobuf:"bytes,2,rep,name=field_nodes_by_field,json=fieldNodesByField,proto3" json:"field_nodes_by_field,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // map of type name to mergd type config + MergedTypes map[string]*MergedTypeConfig `protobuf:"bytes,3,rep,name=merged_types,json=mergedTypes,proto3" json:"merged_types,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // map of subschema names to the config + SubschemaNameToSubschemaConfig map[string]*StitchingInfo_SubschemaConfig `protobuf:"bytes,4,rep,name=subschema_name_to_subschema_config,json=subschemaNameToSubschemaConfig,proto3" json:"subschema_name_to_subschema_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *StitchingInfo) Reset() { + *x = StitchingInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StitchingInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StitchingInfo) ProtoMessage() {} + +func (x *StitchingInfo) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StitchingInfo.ProtoReflect.Descriptor instead. +func (*StitchingInfo) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP(), []int{9} +} + +func (x *StitchingInfo) GetFieldNodesByType() map[string]*FieldNodes { + if x != nil { + return x.FieldNodesByType + } + return nil +} + +func (x *StitchingInfo) GetFieldNodesByField() map[string]*FieldNodeMap { + if x != nil { + return x.FieldNodesByField + } + return nil +} + +func (x *StitchingInfo) GetMergedTypes() map[string]*MergedTypeConfig { + if x != nil { + return x.MergedTypes + } + return nil +} + +func (x *StitchingInfo) GetSubschemaNameToSubschemaConfig() map[string]*StitchingInfo_SubschemaConfig { + if x != nil { + return x.SubschemaNameToSubschemaConfig + } + return nil +} + +type StitchingResolver struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Each query field comes from a specific subschema, + // this is the name of the subschema that the query field comes from. + SubschemaName string `protobuf:"bytes,1,opt,name=subschema_name,json=subschemaName,proto3" json:"subschema_name,omitempty"` +} + +func (x *StitchingResolver) Reset() { + *x = StitchingResolver{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StitchingResolver) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StitchingResolver) ProtoMessage() {} + +func (x *StitchingResolver) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StitchingResolver.ProtoReflect.Descriptor instead. +func (*StitchingResolver) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP(), []int{10} +} + +func (x *StitchingResolver) GetSubschemaName() string { + if x != nil { + return x.SubschemaName + } + return "" +} + +type StitchingInfo_SubschemaConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExecutableSchema *v2.ExecutableSchema `protobuf:"bytes,1,opt,name=executable_schema,json=executableSchema,proto3" json:"executable_schema,omitempty"` +} + +func (x *StitchingInfo_SubschemaConfig) Reset() { + *x = StitchingInfo_SubschemaConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StitchingInfo_SubschemaConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StitchingInfo_SubschemaConfig) ProtoMessage() {} + +func (x *StitchingInfo_SubschemaConfig) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StitchingInfo_SubschemaConfig.ProtoReflect.Descriptor instead. +func (*StitchingInfo_SubschemaConfig) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP(), []int{9, 0} +} + +func (x *StitchingInfo_SubschemaConfig) GetExecutableSchema() *v2.ExecutableSchema { + if x != nil { + return x.ExecutableSchema + } + return nil +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDesc = []byte{ + 0x0a, 0x6d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x2f, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, + 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, + 0x70, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1f, 0x0a, 0x09, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x0c, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x51, 0x0a, 0x05, + 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, + 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a, + 0x68, 0x0a, 0x0a, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5c, 0x0a, 0x0a, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x54, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x23, 0x0a, + 0x07, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x73, 0x22, 0x53, 0x0a, 0x07, 0x41, 0x72, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, + 0x0b, 0x73, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x27, + 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, + 0x22, 0x6e, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x3f, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x72, 0x67, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x22, 0xb5, 0x0a, 0x0a, 0x10, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x6e, 0x0a, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, + 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x74, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x1f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x32, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x54, + 0x6f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x1b, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x54, 0x6f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0xa8, 0x01, 0x0a, 0x24, 0x6e, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x59, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x54, 0x6f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1f, 0x6e, 0x6f, 0x6e, 0x55, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x54, 0x6f, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x99, 0x01, 0x0a, 0x1d, + 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, + 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x54, + 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1b, 0x64, 0x65, 0x63, 0x6c, + 0x61, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x1f, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x55, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x54, 0x79, 0x70, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4e, 0x0a, 0x20, 0x55, 0x6e, 0x69, 0x71, 0x75, + 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x54, 0x6f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7f, 0x0a, 0x24, 0x4e, 0x6f, 0x6e, 0x55, 0x6e, + 0x69, 0x71, 0x75, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x54, 0x6f, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7b, 0x0a, 0x20, 0x44, 0x65, 0x63, 0x6c, + 0x61, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x41, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x32, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x80, 0x01, 0x0a, 0x20, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfe, 0x08, 0x0a, 0x0d, 0x53, 0x74, 0x69, + 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x76, 0x0a, 0x13, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, + 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x69, + 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x10, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x79, 0x0a, 0x14, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x48, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x49, + 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x79, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x65, 0x0a, + 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, + 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, + 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x12, 0xa1, 0x01, 0x0a, 0x22, 0x73, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x55, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, + 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, + 0x6d, 0x65, 0x54, 0x6f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x75, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x11, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, + 0x70, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x10, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x1a, + 0x73, 0x0a, 0x15, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x76, 0x0a, 0x16, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x42, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, + 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x74, 0x0a, 0x10, + 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x54, 0x79, 0x70, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x94, 0x01, 0x0a, 0x23, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x4e, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x57, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, + 0x2e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3a, 0x0a, 0x11, 0x53, 0x74, 0x69, + 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x66, 0x5a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, + 0x2f, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_goTypes = []interface{}{ + (*FieldNode)(nil), // 0: envoy.config.resolver.stitching.v2.FieldNode + (*FieldNodeMap)(nil), // 1: envoy.config.resolver.stitching.v2.FieldNodeMap + (*FieldNodes)(nil), // 2: envoy.config.resolver.stitching.v2.FieldNodes + (*ResolverConfig)(nil), // 3: envoy.config.resolver.stitching.v2.ResolverConfig + (*Schemas)(nil), // 4: envoy.config.resolver.stitching.v2.Schemas + (*ArgPath)(nil), // 5: envoy.config.resolver.stitching.v2.ArgPath + (*DefaultMergedResolver)(nil), // 6: envoy.config.resolver.stitching.v2.DefaultMergedResolver + (*ResolverInfo)(nil), // 7: envoy.config.resolver.stitching.v2.ResolverInfo + (*MergedTypeConfig)(nil), // 8: envoy.config.resolver.stitching.v2.MergedTypeConfig + (*StitchingInfo)(nil), // 9: envoy.config.resolver.stitching.v2.StitchingInfo + (*StitchingResolver)(nil), // 10: envoy.config.resolver.stitching.v2.StitchingResolver + nil, // 11: envoy.config.resolver.stitching.v2.FieldNodeMap.NodesEntry + nil, // 12: envoy.config.resolver.stitching.v2.MergedTypeConfig.SelectionSetsEntry + nil, // 13: envoy.config.resolver.stitching.v2.MergedTypeConfig.UniqueFieldsToSubschemaNameEntry + nil, // 14: envoy.config.resolver.stitching.v2.MergedTypeConfig.NonUniqueFieldsToSubschemaNamesEntry + nil, // 15: envoy.config.resolver.stitching.v2.MergedTypeConfig.DeclarativeTargetSubschemasEntry + nil, // 16: envoy.config.resolver.stitching.v2.MergedTypeConfig.SubschemaNameToResolverInfoEntry + (*StitchingInfo_SubschemaConfig)(nil), // 17: envoy.config.resolver.stitching.v2.StitchingInfo.SubschemaConfig + nil, // 18: envoy.config.resolver.stitching.v2.StitchingInfo.FieldNodesByTypeEntry + nil, // 19: envoy.config.resolver.stitching.v2.StitchingInfo.FieldNodesByFieldEntry + nil, // 20: envoy.config.resolver.stitching.v2.StitchingInfo.MergedTypesEntry + nil, // 21: envoy.config.resolver.stitching.v2.StitchingInfo.SubschemaNameToSubschemaConfigEntry + (*v2.ExecutableSchema)(nil), // 22: envoy.config.filter.http.graphql.v2.ExecutableSchema +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_depIdxs = []int32{ + 11, // 0: envoy.config.resolver.stitching.v2.FieldNodeMap.nodes:type_name -> envoy.config.resolver.stitching.v2.FieldNodeMap.NodesEntry + 0, // 1: envoy.config.resolver.stitching.v2.FieldNodes.field_nodes:type_name -> envoy.config.resolver.stitching.v2.FieldNode + 5, // 2: envoy.config.resolver.stitching.v2.ResolverInfo.args:type_name -> envoy.config.resolver.stitching.v2.ArgPath + 12, // 3: envoy.config.resolver.stitching.v2.MergedTypeConfig.selection_sets:type_name -> envoy.config.resolver.stitching.v2.MergedTypeConfig.SelectionSetsEntry + 13, // 4: envoy.config.resolver.stitching.v2.MergedTypeConfig.unique_fields_to_subschema_name:type_name -> envoy.config.resolver.stitching.v2.MergedTypeConfig.UniqueFieldsToSubschemaNameEntry + 14, // 5: envoy.config.resolver.stitching.v2.MergedTypeConfig.non_unique_fields_to_subschema_names:type_name -> envoy.config.resolver.stitching.v2.MergedTypeConfig.NonUniqueFieldsToSubschemaNamesEntry + 15, // 6: envoy.config.resolver.stitching.v2.MergedTypeConfig.declarative_target_subschemas:type_name -> envoy.config.resolver.stitching.v2.MergedTypeConfig.DeclarativeTargetSubschemasEntry + 16, // 7: envoy.config.resolver.stitching.v2.MergedTypeConfig.subschema_name_to_resolver_info:type_name -> envoy.config.resolver.stitching.v2.MergedTypeConfig.SubschemaNameToResolverInfoEntry + 18, // 8: envoy.config.resolver.stitching.v2.StitchingInfo.field_nodes_by_type:type_name -> envoy.config.resolver.stitching.v2.StitchingInfo.FieldNodesByTypeEntry + 19, // 9: envoy.config.resolver.stitching.v2.StitchingInfo.field_nodes_by_field:type_name -> envoy.config.resolver.stitching.v2.StitchingInfo.FieldNodesByFieldEntry + 20, // 10: envoy.config.resolver.stitching.v2.StitchingInfo.merged_types:type_name -> envoy.config.resolver.stitching.v2.StitchingInfo.MergedTypesEntry + 21, // 11: envoy.config.resolver.stitching.v2.StitchingInfo.subschema_name_to_subschema_config:type_name -> envoy.config.resolver.stitching.v2.StitchingInfo.SubschemaNameToSubschemaConfigEntry + 2, // 12: envoy.config.resolver.stitching.v2.FieldNodeMap.NodesEntry.value:type_name -> envoy.config.resolver.stitching.v2.FieldNodes + 4, // 13: envoy.config.resolver.stitching.v2.MergedTypeConfig.NonUniqueFieldsToSubschemaNamesEntry.value:type_name -> envoy.config.resolver.stitching.v2.Schemas + 4, // 14: envoy.config.resolver.stitching.v2.MergedTypeConfig.DeclarativeTargetSubschemasEntry.value:type_name -> envoy.config.resolver.stitching.v2.Schemas + 7, // 15: envoy.config.resolver.stitching.v2.MergedTypeConfig.SubschemaNameToResolverInfoEntry.value:type_name -> envoy.config.resolver.stitching.v2.ResolverInfo + 22, // 16: envoy.config.resolver.stitching.v2.StitchingInfo.SubschemaConfig.executable_schema:type_name -> envoy.config.filter.http.graphql.v2.ExecutableSchema + 2, // 17: envoy.config.resolver.stitching.v2.StitchingInfo.FieldNodesByTypeEntry.value:type_name -> envoy.config.resolver.stitching.v2.FieldNodes + 1, // 18: envoy.config.resolver.stitching.v2.StitchingInfo.FieldNodesByFieldEntry.value:type_name -> envoy.config.resolver.stitching.v2.FieldNodeMap + 8, // 19: envoy.config.resolver.stitching.v2.StitchingInfo.MergedTypesEntry.value:type_name -> envoy.config.resolver.stitching.v2.MergedTypeConfig + 17, // 20: envoy.config.resolver.stitching.v2.StitchingInfo.SubschemaNameToSubschemaConfigEntry.value:type_name -> envoy.config.resolver.stitching.v2.StitchingInfo.SubschemaConfig + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldNode); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldNodeMap); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldNodes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResolverConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Schemas); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArgPath); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DefaultMergedResolver); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResolverInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MergedTypeConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StitchingInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StitchingResolver); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StitchingInfo_SubschemaConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDesc, + NumEnums: 0, + NumMessages: 22, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_resolver_stitching_v2_stitching_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/transformer/aws_lambda/v2/api_gateway_request_transformer.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/transformer/aws_lambda/v2/api_gateway_request_transformer.pb.go new file mode 100644 index 000000000..b1d6be0a8 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/transformer/aws_lambda/v2/api_gateway_request_transformer.pb.go @@ -0,0 +1,157 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/transformer/aws_lambda/v2/api_gateway_request_transformer.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ApiGatewayRequestTransformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ApiGatewayRequestTransformation) Reset() { + *x = ApiGatewayRequestTransformation{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiGatewayRequestTransformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiGatewayRequestTransformation) ProtoMessage() {} + +func (x *ApiGatewayRequestTransformation) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiGatewayRequestTransformation.ProtoReflect.Descriptor instead. +func (*ApiGatewayRequestTransformation) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_rawDescGZIP(), []int{0} +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_rawDesc = []byte{ + 0x0a, 0x87, 0x01, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, + 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x65, 0x72, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, + 0x76, 0x32, 0x22, 0x21, 0x0a, 0x1f, 0x41, 0x70, 0x69, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xc5, 0x01, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, + 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x32, 0x42, 0x21, + 0x41, 0x70, 0x69, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x68, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x2f, + 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_goTypes = []interface{}{ + (*ApiGatewayRequestTransformation)(nil), // 0: envoy.config.transformer.aws_lambda.v2.ApiGatewayRequestTransformation +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiGatewayRequestTransformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_aws_lambda_v2_api_gateway_request_transformer_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/config/transformer/xslt/v2/xslt_transformer.pb.go b/client-go/envoy-gloo-ee/api/envoy/config/transformer/xslt/v2/xslt_transformer.pb.go new file mode 100644 index 000000000..4f3387b9a --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/config/transformer/xslt/v2/xslt_transformer.pb.go @@ -0,0 +1,196 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/config/transformer/xslt/v2/xslt_transformer.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Defines an XSLT Transformation. +type XsltTransformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // XSLT transformation template which you want to transform requests/responses + // with. Invalid XSLT transformation templates will result will result in a + // NACK during envoy configuration-time and the new configuration will not be + // loaded. + Xslt string `protobuf:"bytes,1,opt,name=xslt,proto3" json:"xslt,omitempty"` + // Sets the content-type of the HTTP request to what is set here. + // This is useful in situations where an XSLT transformation is used to + // transform XML to JSON and the content-type should be changed to + // `application/xml` to `application/json` + SetContentType string `protobuf:"bytes,2,opt,name=set_content_type,json=setContentType,proto3" json:"set_content_type,omitempty"` + // This should be set to true if the content being transformed is not XML. + // For example, if the content being transformed is from JSON to XML, this + // should be set to true. defaults to false. + NonXmlTransform bool `protobuf:"varint,3,opt,name=non_xml_transform,json=nonXmlTransform,proto3" json:"non_xml_transform,omitempty"` +} + +func (x *XsltTransformation) Reset() { + *x = XsltTransformation{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *XsltTransformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*XsltTransformation) ProtoMessage() {} + +func (x *XsltTransformation) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use XsltTransformation.ProtoReflect.Descriptor instead. +func (*XsltTransformation) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_rawDescGZIP(), []int{0} +} + +func (x *XsltTransformation) GetXslt() string { + if x != nil { + return x.Xslt + } + return "" +} + +func (x *XsltTransformation) GetSetContentType() string { + if x != nil { + return x.SetContentType + } + return "" +} + +func (x *XsltTransformation) GetNonXmlTransform() bool { + if x != nil { + return x.NonXmlTransform + } + return false +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_rawDesc = []byte{ + 0x0a, 0x72, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x2f, 0x78, 0x73, 0x6c, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x78, 0x73, + 0x6c, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x2e, 0x78, + 0x73, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x22, 0x7e, 0x0a, 0x12, 0x58, 0x73, 0x6c, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, + 0x78, 0x73, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x78, 0x73, 0x6c, 0x74, + 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x6f, + 0x6e, 0x5f, 0x78, 0x6d, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6e, 0x6f, 0x6e, 0x58, 0x6d, 0x6c, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xac, 0x01, 0x0a, 0x2e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, + 0x72, 0x2e, 0x78, 0x73, 0x6c, 0x74, 0x2e, 0x76, 0x32, 0x42, 0x14, 0x58, 0x73, 0x6c, 0x74, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x62, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x2f, 0x78, 0x73, + 0x6c, 0x74, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_goTypes = []interface{}{ + (*XsltTransformation)(nil), // 0: envoy.config.transformer.xslt.v2.XsltTransformation +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*XsltTransformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_config_transformer_xslt_v2_xslt_transformer_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo-ee/api/envoy/extensions/cache/grpc/v2/config.pb.go b/client-go/envoy-gloo-ee/api/envoy/extensions/cache/grpc/v2/config.pb.go new file mode 100644 index 000000000..943c9c759 --- /dev/null +++ b/client-go/envoy-gloo-ee/api/envoy/extensions/cache/grpc/v2/config.pb.go @@ -0,0 +1,205 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo-ee/api/envoy/extensions/cache/grpc/v2/config.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + duration "github.com/golang/protobuf/ptypes/duration" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// [#proto-status: experimental] +type GrpcCacheConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A GRPC service: this maps exactly to envoy GRPC service defintions + Service *v3.GrpcService `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + // Connection timeout for retrieval from cache + Timeout *duration.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"` + // Max payload size to cache. This may be set to protect against large + // requests or responses by not caching them. + MaxPayloadSize uint64 `protobuf:"varint,3,opt,name=max_payload_size,json=maxPayloadSize,proto3" json:"max_payload_size,omitempty"` +} + +func (x *GrpcCacheConfig) Reset() { + *x = GrpcCacheConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrpcCacheConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcCacheConfig) ProtoMessage() {} + +func (x *GrpcCacheConfig) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcCacheConfig.ProtoReflect.Descriptor instead. +func (*GrpcCacheConfig) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_rawDescGZIP(), []int{0} +} + +func (x *GrpcCacheConfig) GetService() *v3.GrpcService { + if x != nil { + return x.Service + } + return nil +} + +func (x *GrpcCacheConfig) GetTimeout() *duration.Duration { + if x != nil { + return x.Timeout + } + return nil +} + +func (x *GrpcCacheConfig) GetMaxPayloadSize() uint64 { + if x != nil { + return x.MaxPayloadSize + } + return 0 +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_rawDesc = []byte{ + 0x0a, 0x66, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, + 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x32, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, + 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb7, 0x01, 0x0a, 0x0f, 0x47, + 0x72, 0x70, 0x63, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, + 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, + 0x78, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x53, 0x69, 0x7a, 0x65, 0x42, 0xa8, 0x01, 0x0a, 0x2c, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x76, 0x32, 0x42, 0x14, 0x47, 0x72, 0x70, 0x63, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x60, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x32, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_goTypes = []interface{}{ + (*GrpcCacheConfig)(nil), // 0: envoy.extensions.cache.grpc.v2.GrpcCacheConfig + (*v3.GrpcService)(nil), // 1: envoy.config.core.v3.GrpcService + (*duration.Duration)(nil), // 2: google.protobuf.Duration +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_depIdxs = []int32{ + 1, // 0: envoy.extensions.cache.grpc.v2.GrpcCacheConfig.service:type_name -> envoy.config.core.v3.GrpcService + 2, // 1: envoy.extensions.cache.grpc.v2.GrpcCacheConfig.timeout:type_name -> google.protobuf.Duration + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrpcCacheConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_ee_api_envoy_extensions_cache_grpc_v2_config_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo/api/envoy/config/filter/http/aws_lambda/v2/aws_lambda.pb.go b/client-go/envoy-gloo/api/envoy/config/filter/http/aws_lambda/v2/aws_lambda.pb.go new file mode 100644 index 000000000..fea2e2acb --- /dev/null +++ b/client-go/envoy-gloo/api/envoy/config/filter/http/aws_lambda/v2/aws_lambda.pb.go @@ -0,0 +1,680 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo/api/envoy/config/filter/http/aws_lambda/v2/aws_lambda.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + duration "github.com/golang/protobuf/ptypes/duration" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// AWS Lambda contains the configuration necessary to perform transform regular +// http calls to AWS Lambda invocations. +type AWSLambdaPerRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the function + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The qualifier of the function (defaults to $LATEST if not specified) + Qualifier string `protobuf:"bytes,2,opt,name=qualifier,proto3" json:"qualifier,omitempty"` + // Invocation type - async or regular. + Async bool `protobuf:"varint,3,opt,name=async,proto3" json:"async,omitempty"` + // Optional default body if the body is empty. By default on default + // body is used if the body empty, and an empty body will be sent upstream. + EmptyBodyOverride *wrappers.StringValue `protobuf:"bytes,4,opt,name=empty_body_override,json=emptyBodyOverride,proto3" json:"empty_body_override,omitempty"` + // Deprecated. Use transformer_config to specify an AWS Lambda response transformer instead. + // Unwrap responses as AWS ALB does. + // Expects json lambda responses to construct response. + // Intended to ease migration when previously using alb to invoke Lambdas. + // When set on a route the filter will not stream data on the encoding step. + // Defaults to false. + // + // Deprecated: Do not use. + UnwrapAsAlb bool `protobuf:"varint,5,opt,name=unwrap_as_alb,json=unwrapAsAlb,proto3" json:"unwrap_as_alb,omitempty"` + // This is a transformer config, as defined in api.envoy.config.filter.http.transformation.v2 + // used to process response data. + // This config cannot be configured simultaneously with unwrap_as_alb + TransformerConfig *v3.TypedExtensionConfig `protobuf:"bytes,6,opt,name=transformer_config,json=transformerConfig,proto3" json:"transformer_config,omitempty"` + // This is a transformer config, as defined in api.envoy.config.filter.http.transformation.v2 + // used to process request data. + RequestTransformerConfig *v3.TypedExtensionConfig `protobuf:"bytes,7,opt,name=request_transformer_config,json=requestTransformerConfig,proto3" json:"request_transformer_config,omitempty"` +} + +func (x *AWSLambdaPerRoute) Reset() { + *x = AWSLambdaPerRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSLambdaPerRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSLambdaPerRoute) ProtoMessage() {} + +func (x *AWSLambdaPerRoute) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AWSLambdaPerRoute.ProtoReflect.Descriptor instead. +func (*AWSLambdaPerRoute) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDescGZIP(), []int{0} +} + +func (x *AWSLambdaPerRoute) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AWSLambdaPerRoute) GetQualifier() string { + if x != nil { + return x.Qualifier + } + return "" +} + +func (x *AWSLambdaPerRoute) GetAsync() bool { + if x != nil { + return x.Async + } + return false +} + +func (x *AWSLambdaPerRoute) GetEmptyBodyOverride() *wrappers.StringValue { + if x != nil { + return x.EmptyBodyOverride + } + return nil +} + +// Deprecated: Do not use. +func (x *AWSLambdaPerRoute) GetUnwrapAsAlb() bool { + if x != nil { + return x.UnwrapAsAlb + } + return false +} + +func (x *AWSLambdaPerRoute) GetTransformerConfig() *v3.TypedExtensionConfig { + if x != nil { + return x.TransformerConfig + } + return nil +} + +func (x *AWSLambdaPerRoute) GetRequestTransformerConfig() *v3.TypedExtensionConfig { + if x != nil { + return x.RequestTransformerConfig + } + return nil +} + +type AWSLambdaProtocolExtension struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The host header for AWS this cluster + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + // The region for this cluster + Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"` + // The access_key for AWS this cluster + AccessKey string `protobuf:"bytes,3,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` + // The secret_key for AWS this cluster + SecretKey string `protobuf:"bytes,4,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` + // The session_token for AWS this cluster + SessionToken string `protobuf:"bytes,5,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"` + // The role_arn to use when generating credentials for the mounted projected SA token + RoleArn string `protobuf:"bytes,6,opt,name=role_arn,json=roleArn,proto3" json:"role_arn,omitempty"` + // Optional override to disable role chaining; + DisableRoleChaining bool `protobuf:"varint,7,opt,name=disable_role_chaining,json=disableRoleChaining,proto3" json:"disable_role_chaining,omitempty"` +} + +func (x *AWSLambdaProtocolExtension) Reset() { + *x = AWSLambdaProtocolExtension{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSLambdaProtocolExtension) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSLambdaProtocolExtension) ProtoMessage() {} + +func (x *AWSLambdaProtocolExtension) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AWSLambdaProtocolExtension.ProtoReflect.Descriptor instead. +func (*AWSLambdaProtocolExtension) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDescGZIP(), []int{1} +} + +func (x *AWSLambdaProtocolExtension) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +func (x *AWSLambdaProtocolExtension) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *AWSLambdaProtocolExtension) GetAccessKey() string { + if x != nil { + return x.AccessKey + } + return "" +} + +func (x *AWSLambdaProtocolExtension) GetSecretKey() string { + if x != nil { + return x.SecretKey + } + return "" +} + +func (x *AWSLambdaProtocolExtension) GetSessionToken() string { + if x != nil { + return x.SessionToken + } + return "" +} + +func (x *AWSLambdaProtocolExtension) GetRoleArn() string { + if x != nil { + return x.RoleArn + } + return "" +} + +func (x *AWSLambdaProtocolExtension) GetDisableRoleChaining() bool { + if x != nil { + return x.DisableRoleChaining + } + return false +} + +type AWSLambdaConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to CredentialsFetcher: + // + // *AWSLambdaConfig_UseDefaultCredentials + // *AWSLambdaConfig_ServiceAccountCredentials_ + CredentialsFetcher isAWSLambdaConfig_CredentialsFetcher `protobuf_oneof:"credentials_fetcher"` + // Send downstream path and method as `x-envoy-original-path` and + // `x-envoy-original-method` headers on the request to AWS lambda. + // Defaults to false. + PropagateOriginalRouting bool `protobuf:"varint,3,opt,name=propagate_original_routing,json=propagateOriginalRouting,proto3" json:"propagate_original_routing,omitempty"` + // Sets cadence for refreshing credentials for Service Account. + // Does nothing if Service account is not set. + // Does not affect the default filewatch for service account only augments it. + // Defaults to not refreshing on time period. Suggested is 15 minutes. + CredentialRefreshDelay *duration.Duration `protobuf:"bytes,4,opt,name=credential_refresh_delay,json=credentialRefreshDelay,proto3" json:"credential_refresh_delay,omitempty"` +} + +func (x *AWSLambdaConfig) Reset() { + *x = AWSLambdaConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSLambdaConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSLambdaConfig) ProtoMessage() {} + +func (x *AWSLambdaConfig) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AWSLambdaConfig.ProtoReflect.Descriptor instead. +func (*AWSLambdaConfig) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDescGZIP(), []int{2} +} + +func (m *AWSLambdaConfig) GetCredentialsFetcher() isAWSLambdaConfig_CredentialsFetcher { + if m != nil { + return m.CredentialsFetcher + } + return nil +} + +func (x *AWSLambdaConfig) GetUseDefaultCredentials() *wrappers.BoolValue { + if x, ok := x.GetCredentialsFetcher().(*AWSLambdaConfig_UseDefaultCredentials); ok { + return x.UseDefaultCredentials + } + return nil +} + +func (x *AWSLambdaConfig) GetServiceAccountCredentials() *AWSLambdaConfig_ServiceAccountCredentials { + if x, ok := x.GetCredentialsFetcher().(*AWSLambdaConfig_ServiceAccountCredentials_); ok { + return x.ServiceAccountCredentials + } + return nil +} + +func (x *AWSLambdaConfig) GetPropagateOriginalRouting() bool { + if x != nil { + return x.PropagateOriginalRouting + } + return false +} + +func (x *AWSLambdaConfig) GetCredentialRefreshDelay() *duration.Duration { + if x != nil { + return x.CredentialRefreshDelay + } + return nil +} + +type isAWSLambdaConfig_CredentialsFetcher interface { + isAWSLambdaConfig_CredentialsFetcher() +} + +type AWSLambdaConfig_UseDefaultCredentials struct { + // Use AWS default credentials chain to get credentials. + // This will search environment variables, ECS metadata and instance metadata + // to get the credentials. credentials will be rotated automatically. + // + // If credentials are provided on the cluster (using the + // AWSLambdaProtocolExtension), it will override these credentials. This + // defaults to false, but may change in the future to true. + UseDefaultCredentials *wrappers.BoolValue `protobuf:"bytes,1,opt,name=use_default_credentials,json=useDefaultCredentials,proto3,oneof"` +} + +type AWSLambdaConfig_ServiceAccountCredentials_ struct { + // Use projected service account token, and role arn to create reate temporary + // credentials with which to authenticate lambda requests. + // This functionality is meant to work alongside EKS service account to IAM + // binding functionality as described in the [AWS docs](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html). + // + // If the following environment values are not present, this option cannot be used. + // 1. AWS_WEB_IDENTITY_TOKEN_FILE + // 2. AWS_ROLE_ARN + // + // The role arn may also be specified in the `AWSLambdaProtocolExtension` on the cluster level, + // to override the environment variable. + ServiceAccountCredentials *AWSLambdaConfig_ServiceAccountCredentials `protobuf:"bytes,2,opt,name=service_account_credentials,json=serviceAccountCredentials,proto3,oneof"` +} + +func (*AWSLambdaConfig_UseDefaultCredentials) isAWSLambdaConfig_CredentialsFetcher() {} + +func (*AWSLambdaConfig_ServiceAccountCredentials_) isAWSLambdaConfig_CredentialsFetcher() {} + +// In order to specify the aws sts endpoint, both the cluster and uri must be set. +// This is due to an envoy limitation which cannot infer the host or path from the cluster, +// and therefore must be explicitly specified via the uri +type AWSLambdaConfig_ServiceAccountCredentials struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the envoy cluster which represents the desired aws sts endpoint + Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` + // The full uri of the aws sts endpoint + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + // timeout for the request + Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` + // Region for the sts endpoint, defaults to us-east-1. + // This must be an enabled region https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html + // This should match the region specified in the uri. + Region string `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"` +} + +func (x *AWSLambdaConfig_ServiceAccountCredentials) Reset() { + *x = AWSLambdaConfig_ServiceAccountCredentials{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSLambdaConfig_ServiceAccountCredentials) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSLambdaConfig_ServiceAccountCredentials) ProtoMessage() {} + +func (x *AWSLambdaConfig_ServiceAccountCredentials) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AWSLambdaConfig_ServiceAccountCredentials.ProtoReflect.Descriptor instead. +func (*AWSLambdaConfig_ServiceAccountCredentials) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *AWSLambdaConfig_ServiceAccountCredentials) GetCluster() string { + if x != nil { + return x.Cluster + } + return "" +} + +func (x *AWSLambdaConfig_ServiceAccountCredentials) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *AWSLambdaConfig_ServiceAccountCredentials) GetTimeout() *duration.Duration { + if x != nil { + return x.Timeout + } + return nil +} + +func (x *AWSLambdaConfig_ServiceAccountCredentials) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDesc = []byte{ + 0x0a, 0x6f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, + 0x74, 0x70, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2f, 0x76, 0x32, + 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, + 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, + 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x03, 0x0a, 0x11, 0x41, 0x57, 0x53, + 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x1b, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x71, + 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x73, 0x79, + 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x12, + 0x4c, 0x0a, 0x13, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x6f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x65, 0x6d, 0x70, 0x74, + 0x79, 0x42, 0x6f, 0x64, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x26, 0x0a, + 0x0d, 0x75, 0x6e, 0x77, 0x72, 0x61, 0x70, 0x5f, 0x61, 0x73, 0x5f, 0x61, 0x6c, 0x62, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x75, 0x6e, 0x77, 0x72, 0x61, 0x70, + 0x41, 0x73, 0x41, 0x6c, 0x62, 0x12, 0x59, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x68, 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8c, 0x02, 0x0a, 0x1a, 0x41, + 0x57, 0x53, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x6f, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, + 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, + 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x6f, + 0x6c, 0x65, 0x41, 0x72, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x6c, + 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd0, 0x04, 0x0a, 0x0f, 0x41, 0x57, + 0x53, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, + 0x17, 0x75, 0x73, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x15, 0x75, 0x73, + 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x1b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x57, 0x53, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x19, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x70, 0x72, 0x6f, + 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x70, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x53, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65, + 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x1a, 0xa6, 0x01, 0x0a, + 0x19, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, + 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, + 0x02, 0x20, 0x01, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0xaf, 0x01, 0x0a, + 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, + 0x64, 0x61, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x41, 0x77, 0x73, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x65, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, + 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, + 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2f, 0x76, 0x32, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_goTypes = []interface{}{ + (*AWSLambdaPerRoute)(nil), // 0: envoy.config.filter.http.aws_lambda.v2.AWSLambdaPerRoute + (*AWSLambdaProtocolExtension)(nil), // 1: envoy.config.filter.http.aws_lambda.v2.AWSLambdaProtocolExtension + (*AWSLambdaConfig)(nil), // 2: envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig + (*AWSLambdaConfig_ServiceAccountCredentials)(nil), // 3: envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials + (*wrappers.StringValue)(nil), // 4: google.protobuf.StringValue + (*v3.TypedExtensionConfig)(nil), // 5: envoy.config.core.v3.TypedExtensionConfig + (*wrappers.BoolValue)(nil), // 6: google.protobuf.BoolValue + (*duration.Duration)(nil), // 7: google.protobuf.Duration +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_depIdxs = []int32{ + 4, // 0: envoy.config.filter.http.aws_lambda.v2.AWSLambdaPerRoute.empty_body_override:type_name -> google.protobuf.StringValue + 5, // 1: envoy.config.filter.http.aws_lambda.v2.AWSLambdaPerRoute.transformer_config:type_name -> envoy.config.core.v3.TypedExtensionConfig + 5, // 2: envoy.config.filter.http.aws_lambda.v2.AWSLambdaPerRoute.request_transformer_config:type_name -> envoy.config.core.v3.TypedExtensionConfig + 6, // 3: envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.use_default_credentials:type_name -> google.protobuf.BoolValue + 3, // 4: envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.service_account_credentials:type_name -> envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials + 7, // 5: envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.credential_refresh_delay:type_name -> google.protobuf.Duration + 7, // 6: envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials.timeout:type_name -> google.protobuf.Duration + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AWSLambdaPerRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AWSLambdaProtocolExtension); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AWSLambdaConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AWSLambdaConfig_ServiceAccountCredentials); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*AWSLambdaConfig_UseDefaultCredentials)(nil), + (*AWSLambdaConfig_ServiceAccountCredentials_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_aws_lambda_v2_aws_lambda_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo/api/envoy/config/filter/http/nats/streaming/v2/nats_streaming.pb.go b/client-go/envoy-gloo/api/envoy/config/filter/http/nats/streaming/v2/nats_streaming.pb.go new file mode 100644 index 000000000..cf7d6c180 --- /dev/null +++ b/client-go/envoy-gloo/api/envoy/config/filter/http/nats/streaming/v2/nats_streaming.pb.go @@ -0,0 +1,282 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo/api/envoy/config/filter/http/nats/streaming/v2/nats_streaming.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/envoyproxy/protoc-gen-validate/validate" + duration "github.com/golang/protobuf/ptypes/duration" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// [#proto-status: experimental] +type NatsStreaming struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` + MaxConnections uint32 `protobuf:"varint,2,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` + OpTimeout *duration.Duration `protobuf:"bytes,3,opt,name=op_timeout,json=opTimeout,proto3" json:"op_timeout,omitempty"` +} + +func (x *NatsStreaming) Reset() { + *x = NatsStreaming{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NatsStreaming) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NatsStreaming) ProtoMessage() {} + +func (x *NatsStreaming) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NatsStreaming.ProtoReflect.Descriptor instead. +func (*NatsStreaming) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDescGZIP(), []int{0} +} + +func (x *NatsStreaming) GetCluster() string { + if x != nil { + return x.Cluster + } + return "" +} + +func (x *NatsStreaming) GetMaxConnections() uint32 { + if x != nil { + return x.MaxConnections + } + return 0 +} + +func (x *NatsStreaming) GetOpTimeout() *duration.Duration { + if x != nil { + return x.OpTimeout + } + return nil +} + +type NatsStreamingPerRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"` + ClusterId string `protobuf:"bytes,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` + DiscoverPrefix string `protobuf:"bytes,3,opt,name=discover_prefix,json=discoverPrefix,proto3" json:"discover_prefix,omitempty"` +} + +func (x *NatsStreamingPerRoute) Reset() { + *x = NatsStreamingPerRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NatsStreamingPerRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NatsStreamingPerRoute) ProtoMessage() {} + +func (x *NatsStreamingPerRoute) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NatsStreamingPerRoute.ProtoReflect.Descriptor instead. +func (*NatsStreamingPerRoute) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDescGZIP(), []int{1} +} + +func (x *NatsStreamingPerRoute) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *NatsStreamingPerRoute) GetClusterId() string { + if x != nil { + return x.ClusterId + } + return "" +} + +func (x *NatsStreamingPerRoute) GetDiscoverPrefix() string { + if x != nil { + return x.DiscoverPrefix + } + return "" +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDesc = []byte{ + 0x0a, 0x77, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, + 0x74, 0x70, 0x2f, 0x6e, 0x61, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x6e, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x6e, 0x61, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, + 0x01, 0x0a, 0x0d, 0x4e, 0x61, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, + 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, + 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x0a, + 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x4e, 0x61, 0x74, 0x73, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x12, 0x21, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, + 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x0f, 0x64, + 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0e, 0x64, + 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0xbb, 0x01, + 0x0a, 0x38, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6e, 0x61, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x42, 0x12, 0x4e, 0x61, 0x74, 0x73, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x69, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6e, 0x61, 0x74, 0x73, 0x2f, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_goTypes = []interface{}{ + (*NatsStreaming)(nil), // 0: envoy.config.filter.http.nats.streaming.v2.NatsStreaming + (*NatsStreamingPerRoute)(nil), // 1: envoy.config.filter.http.nats.streaming.v2.NatsStreamingPerRoute + (*duration.Duration)(nil), // 2: google.protobuf.Duration +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_depIdxs = []int32{ + 2, // 0: envoy.config.filter.http.nats.streaming.v2.NatsStreaming.op_timeout:type_name -> google.protobuf.Duration + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NatsStreaming); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NatsStreamingPerRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_nats_streaming_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo/api/envoy/config/filter/http/nats/streaming/v2/payload.pb.go b/client-go/envoy-gloo/api/envoy/config/filter/http/nats/streaming/v2/payload.pb.go new file mode 100644 index 000000000..297f5bc11 --- /dev/null +++ b/client-go/envoy-gloo/api/envoy/config/filter/http/nats/streaming/v2/payload.pb.go @@ -0,0 +1,175 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo/api/envoy/config/filter/http/nats/streaming/v2/payload.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Payload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Headers map[string]string `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Body []byte `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *Payload) Reset() { + *x = Payload{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Payload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Payload) ProtoMessage() {} + +func (x *Payload) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Payload.ProtoReflect.Descriptor instead. +func (*Payload) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_rawDescGZIP(), []int{0} +} + +func (x *Payload) GetHeaders() map[string]string { + if x != nil { + return x.Headers + } + return nil +} + +func (x *Payload) GetBody() []byte { + if x != nil { + return x.Body + } + return nil +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_rawDesc = []byte{ + 0x0a, 0x70, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, + 0x74, 0x70, 0x2f, 0x6e, 0x61, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x8d, 0x01, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x32, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x8d, 0x01, 0x0a, 0x10, 0x69, 0x6f, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x62, 0x42, 0x0c, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x69, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, + 0x68, 0x74, 0x74, 0x70, 0x2f, 0x6e, 0x61, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_goTypes = []interface{}{ + (*Payload)(nil), // 0: pb.Payload + nil, // 1: pb.Payload.HeadersEntry +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_depIdxs = []int32{ + 1, // 0: pb.Payload.headers:type_name -> pb.Payload.HeadersEntry + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Payload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_nats_streaming_v2_payload_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo/api/envoy/config/filter/http/transformation/v2/transformation_filter.pb.go b/client-go/envoy-gloo/api/envoy/config/filter/http/transformation/v2/transformation_filter.pb.go new file mode 100644 index 000000000..b54c822e0 --- /dev/null +++ b/client-go/envoy-gloo/api/envoy/config/filter/http/transformation/v2/transformation_filter.pb.go @@ -0,0 +1,2175 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo/api/envoy/config/filter/http/transformation/v2/transformation_filter.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + v3 "github.com/cncf/xds/go/xds/type/matcher/v3" + v33 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" + v31 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3" + v32 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + empty "github.com/golang/protobuf/ptypes/empty" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Determines how the body will be parsed. +type TransformationTemplate_RequestBodyParse int32 + +const ( + // Will attempt to parse the request/response body as JSON + TransformationTemplate_ParseAsJson TransformationTemplate_RequestBodyParse = 0 + // The request/response body will be treated as plain text + TransformationTemplate_DontParse TransformationTemplate_RequestBodyParse = 1 +) + +// Enum value maps for TransformationTemplate_RequestBodyParse. +var ( + TransformationTemplate_RequestBodyParse_name = map[int32]string{ + 0: "ParseAsJson", + 1: "DontParse", + } + TransformationTemplate_RequestBodyParse_value = map[string]int32{ + "ParseAsJson": 0, + "DontParse": 1, + } +) + +func (x TransformationTemplate_RequestBodyParse) Enum() *TransformationTemplate_RequestBodyParse { + p := new(TransformationTemplate_RequestBodyParse) + *p = x + return p +} + +func (x TransformationTemplate_RequestBodyParse) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TransformationTemplate_RequestBodyParse) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_enumTypes[0].Descriptor() +} + +func (TransformationTemplate_RequestBodyParse) Type() protoreflect.EnumType { + return &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_enumTypes[0] +} + +func (x TransformationTemplate_RequestBodyParse) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TransformationTemplate_RequestBodyParse.Descriptor instead. +func (TransformationTemplate_RequestBodyParse) EnumDescriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{7, 0} +} + +type FilterTransformations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specifies transformations based on the route matches. The first matched + // transformation will be applied. If there are overlapped match conditions, + // please put the most specific match first. + Transformations []*TransformationRule `protobuf:"bytes,1,rep,name=transformations,proto3" json:"transformations,omitempty"` + // If provided, transformations fields here are ignored. The transformation will be the action from this matcher. + Matcher *v3.Matcher `protobuf:"bytes,4,opt,name=matcher,proto3" json:"matcher,omitempty"` + // Only RouteTransformations.RouteTransformation with matching stage will be + // used with this filter. + Stage uint32 `protobuf:"varint,2,opt,name=stage,proto3" json:"stage,omitempty"` + // Logs request/response sensitive information + // By default, this is false so no request or response sensitive information is logged. + // If set to true, the filter will log the request/response body and headers before and + // after any transformation is applied. + LogRequestResponseInfo bool `protobuf:"varint,3,opt,name=log_request_response_info,json=logRequestResponseInfo,proto3" json:"log_request_response_info,omitempty"` +} + +func (x *FilterTransformations) Reset() { + *x = FilterTransformations{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterTransformations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterTransformations) ProtoMessage() {} + +func (x *FilterTransformations) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FilterTransformations.ProtoReflect.Descriptor instead. +func (*FilterTransformations) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{0} +} + +func (x *FilterTransformations) GetTransformations() []*TransformationRule { + if x != nil { + return x.Transformations + } + return nil +} + +func (x *FilterTransformations) GetMatcher() *v3.Matcher { + if x != nil { + return x.Matcher + } + return nil +} + +func (x *FilterTransformations) GetStage() uint32 { + if x != nil { + return x.Stage + } + return 0 +} + +func (x *FilterTransformations) GetLogRequestResponseInfo() bool { + if x != nil { + return x.LogRequestResponseInfo + } + return false +} + +type TransformationRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The route matching parameter. Only when the match is satisfied, the + // "requires" field will apply. + // + // For example: following match will match all requests. + // + // .. code-block:: yaml + // + // match: + // prefix: / + Match *v31.RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` + // transformation to perform + RouteTransformations *TransformationRule_Transformations `protobuf:"bytes,2,opt,name=route_transformations,json=routeTransformations,proto3" json:"route_transformations,omitempty"` +} + +func (x *TransformationRule) Reset() { + *x = TransformationRule{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransformationRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransformationRule) ProtoMessage() {} + +func (x *TransformationRule) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransformationRule.ProtoReflect.Descriptor instead. +func (*TransformationRule) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{1} +} + +func (x *TransformationRule) GetMatch() *v31.RouteMatch { + if x != nil { + return x.Match + } + return nil +} + +func (x *TransformationRule) GetRouteTransformations() *TransformationRule_Transformations { + if x != nil { + return x.RouteTransformations + } + return nil +} + +type RouteTransformations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // deprecated. Use transformations[].request_match.request_transformation + // instead. + // + // Deprecated: Do not use. + RequestTransformation *Transformation `protobuf:"bytes,1,opt,name=request_transformation,json=requestTransformation,proto3" json:"request_transformation,omitempty"` + // deprecated. Use transformations[].request_match.response_transformation + // instead. + // + // Deprecated: Do not use. + ResponseTransformation *Transformation `protobuf:"bytes,2,opt,name=response_transformation,json=responseTransformation,proto3" json:"response_transformation,omitempty"` + // deprecated. Use transformations[].request_match.clear_route_cache instead. + // + // Deprecated: Do not use. + ClearRouteCache bool `protobuf:"varint,3,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"` + Transformations []*RouteTransformations_RouteTransformation `protobuf:"bytes,4,rep,name=transformations,proto3" json:"transformations,omitempty"` +} + +func (x *RouteTransformations) Reset() { + *x = RouteTransformations{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTransformations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTransformations) ProtoMessage() {} + +func (x *RouteTransformations) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteTransformations.ProtoReflect.Descriptor instead. +func (*RouteTransformations) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{2} +} + +// Deprecated: Do not use. +func (x *RouteTransformations) GetRequestTransformation() *Transformation { + if x != nil { + return x.RequestTransformation + } + return nil +} + +// Deprecated: Do not use. +func (x *RouteTransformations) GetResponseTransformation() *Transformation { + if x != nil { + return x.ResponseTransformation + } + return nil +} + +// Deprecated: Do not use. +func (x *RouteTransformations) GetClearRouteCache() bool { + if x != nil { + return x.ClearRouteCache + } + return false +} + +func (x *RouteTransformations) GetTransformations() []*RouteTransformations_RouteTransformation { + if x != nil { + return x.Transformations + } + return nil +} + +type ResponseMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specifies a set of headers that the route should match on. The router will + // check the response headers against all the specified headers in the route + // config. A match will happen if all the headers in the route are present in + // the request with the same values (or based on presence if the value field + // is not in the config). + Headers []*v31.HeaderMatcher `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` + // Only match responses with non empty response code details (this usually + // implies a local reply). + ResponseCodeDetails *v32.StringMatcher `protobuf:"bytes,2,opt,name=response_code_details,json=responseCodeDetails,proto3" json:"response_code_details,omitempty"` +} + +func (x *ResponseMatcher) Reset() { + *x = ResponseMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResponseMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResponseMatcher) ProtoMessage() {} + +func (x *ResponseMatcher) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResponseMatcher.ProtoReflect.Descriptor instead. +func (*ResponseMatcher) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{3} +} + +func (x *ResponseMatcher) GetHeaders() []*v31.HeaderMatcher { + if x != nil { + return x.Headers + } + return nil +} + +func (x *ResponseMatcher) GetResponseCodeDetails() *v32.StringMatcher { + if x != nil { + return x.ResponseCodeDetails + } + return nil +} + +type ResponseTransformationRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Match *ResponseMatcher `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` + // transformation to perform + ResponseTransformation *Transformation `protobuf:"bytes,2,opt,name=response_transformation,json=responseTransformation,proto3" json:"response_transformation,omitempty"` +} + +func (x *ResponseTransformationRule) Reset() { + *x = ResponseTransformationRule{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResponseTransformationRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResponseTransformationRule) ProtoMessage() {} + +func (x *ResponseTransformationRule) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResponseTransformationRule.ProtoReflect.Descriptor instead. +func (*ResponseTransformationRule) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{4} +} + +func (x *ResponseTransformationRule) GetMatch() *ResponseMatcher { + if x != nil { + return x.Match + } + return nil +} + +func (x *ResponseTransformationRule) GetResponseTransformation() *Transformation { + if x != nil { + return x.ResponseTransformation + } + return nil +} + +// This message defines a transformation. +type Transformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of transformation to apply. + // + // Types that are assignable to TransformationType: + // + // *Transformation_TransformationTemplate + // *Transformation_HeaderBodyTransform + // *Transformation_TransformerConfig + TransformationType isTransformation_TransformationType `protobuf_oneof:"transformation_type"` + // Logs request/response sensitive information + // By default, this is false so no request or response sensitive information is logged. + // If set to true, the filter will log the request/response body and headers before and + // after this transformation is applied. + LogRequestResponseInfo *wrappers.BoolValue `protobuf:"bytes,4,opt,name=log_request_response_info,json=logRequestResponseInfo,proto3" json:"log_request_response_info,omitempty"` +} + +func (x *Transformation) Reset() { + *x = Transformation{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Transformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Transformation) ProtoMessage() {} + +func (x *Transformation) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Transformation.ProtoReflect.Descriptor instead. +func (*Transformation) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{5} +} + +func (m *Transformation) GetTransformationType() isTransformation_TransformationType { + if m != nil { + return m.TransformationType + } + return nil +} + +func (x *Transformation) GetTransformationTemplate() *TransformationTemplate { + if x, ok := x.GetTransformationType().(*Transformation_TransformationTemplate); ok { + return x.TransformationTemplate + } + return nil +} + +func (x *Transformation) GetHeaderBodyTransform() *HeaderBodyTransform { + if x, ok := x.GetTransformationType().(*Transformation_HeaderBodyTransform); ok { + return x.HeaderBodyTransform + } + return nil +} + +func (x *Transformation) GetTransformerConfig() *v33.TypedExtensionConfig { + if x, ok := x.GetTransformationType().(*Transformation_TransformerConfig); ok { + return x.TransformerConfig + } + return nil +} + +func (x *Transformation) GetLogRequestResponseInfo() *wrappers.BoolValue { + if x != nil { + return x.LogRequestResponseInfo + } + return nil +} + +type isTransformation_TransformationType interface { + isTransformation_TransformationType() +} + +type Transformation_TransformationTemplate struct { + // Apply transformation templates. + TransformationTemplate *TransformationTemplate `protobuf:"bytes,1,opt,name=transformation_template,json=transformationTemplate,proto3,oneof"` +} + +type Transformation_HeaderBodyTransform struct { + // This type of transformation will make all the headers available in the + // response body. The resulting JSON body will consist of two attributes: + // 'headers', containing the headers, and 'body', containing the original + // body. + HeaderBodyTransform *HeaderBodyTransform `protobuf:"bytes,2,opt,name=header_body_transform,json=headerBodyTransform,proto3,oneof"` +} + +type Transformation_TransformerConfig struct { + // Configuration for an externally implemented transformer. + TransformerConfig *v33.TypedExtensionConfig `protobuf:"bytes,3,opt,name=transformer_config,json=transformerConfig,proto3,oneof"` +} + +func (*Transformation_TransformationTemplate) isTransformation_TransformationType() {} + +func (*Transformation_HeaderBodyTransform) isTransformation_TransformationType() {} + +func (*Transformation_TransformerConfig) isTransformation_TransformationType() {} + +// Extractions can be used to extract information from the request/response. +// The extracted information can then be referenced in template fields. +type Extraction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The source of the extraction + // + // Types that are assignable to Source: + // + // *Extraction_Header + // *Extraction_Body + Source isExtraction_Source `protobuf_oneof:"source"` + // Only strings matching this regular expression will be part of the + // extraction. The most simple value for this field is '.*', which matches the + // whole source. The field is required. If extraction fails the result is an + // empty value. + Regex string `protobuf:"bytes,2,opt,name=regex,proto3" json:"regex,omitempty"` + // If your regex contains capturing groups, use this field to determine which + // group should be selected. + Subgroup uint32 `protobuf:"varint,3,opt,name=subgroup,proto3" json:"subgroup,omitempty"` +} + +func (x *Extraction) Reset() { + *x = Extraction{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Extraction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Extraction) ProtoMessage() {} + +func (x *Extraction) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Extraction.ProtoReflect.Descriptor instead. +func (*Extraction) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{6} +} + +func (m *Extraction) GetSource() isExtraction_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *Extraction) GetHeader() string { + if x, ok := x.GetSource().(*Extraction_Header); ok { + return x.Header + } + return "" +} + +func (x *Extraction) GetBody() *empty.Empty { + if x, ok := x.GetSource().(*Extraction_Body); ok { + return x.Body + } + return nil +} + +func (x *Extraction) GetRegex() string { + if x != nil { + return x.Regex + } + return "" +} + +func (x *Extraction) GetSubgroup() uint32 { + if x != nil { + return x.Subgroup + } + return 0 +} + +type isExtraction_Source interface { + isExtraction_Source() +} + +type Extraction_Header struct { + // Extract information from headers + Header string `protobuf:"bytes,1,opt,name=header,proto3,oneof"` +} + +type Extraction_Body struct { + // Extract information from the request/response body + Body *empty.Empty `protobuf:"bytes,4,opt,name=body,proto3,oneof"` +} + +func (*Extraction_Header) isExtraction_Source() {} + +func (*Extraction_Body) isExtraction_Source() {} + +// Defines a transformation template. +type TransformationTemplate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If set to true, use JSON pointer notation (e.g. "time/start") instead of + // dot notation (e.g. "time.start") to access JSON elements. Defaults to + // false. + // + // Please note that, if set to 'true', you will need to use the `extraction` + // function to access extractors in the template (e.g. '{{ + // extraction("my_extractor") }}'); if the default value of 'false' is used, + // extractors will simply be available by their name (e.g. '{{ my_extractor + // }}'). + AdvancedTemplates bool `protobuf:"varint,1,opt,name=advanced_templates,json=advancedTemplates,proto3" json:"advanced_templates,omitempty"` + // Use this attribute to extract information from the request. It consists of + // a map of strings to extractors. The extractor will defines which + // information will be extracted, while the string key will provide the + // extractor with a name. You can reference extractors by their name in + // templates, e.g. "{{ my-extractor }}" will render to the value of the + // "my-extractor" extractor. + Extractors map[string]*Extraction `protobuf:"bytes,2,rep,name=extractors,proto3" json:"extractors,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Use this attribute to transform request/response headers. It consists of a + // map of strings to templates. The string key determines the name of the + // resulting header, the rendered template will determine the value. Any existing + // headers with the same header name will be replaced by the transformed header. + // If a header name is included in `headers` and `headers_to_append`, it will first + // be replaced the template in `headers`, then additional header values will be appended + // by the templates defined in `headers_to_append`. + Headers map[string]*InjaTemplate `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Use this attribute to transform request/response headers. It consists of + // an array of string/template objects. Use this attribute to define multiple + // templates for a single header. Header template(s) defined here will be appended to any + // existing headers with the same header name, not replace existing ones. + HeadersToAppend []*TransformationTemplate_HeaderToAppend `protobuf:"bytes,10,rep,name=headers_to_append,json=headersToAppend,proto3" json:"headers_to_append,omitempty"` + HeadersToRemove []string `protobuf:"bytes,11,rep,name=headers_to_remove,json=headersToRemove,proto3" json:"headers_to_remove,omitempty"` + // Determines the type of transformation to apply to the request/response body + // + // Types that are assignable to BodyTransformation: + // + // *TransformationTemplate_Body + // *TransformationTemplate_Passthrough + // *TransformationTemplate_MergeExtractorsToBody + BodyTransformation isTransformationTemplate_BodyTransformation `protobuf_oneof:"body_transformation"` + ParseBodyBehavior TransformationTemplate_RequestBodyParse `protobuf:"varint,7,opt,name=parse_body_behavior,json=parseBodyBehavior,proto3,enum=envoy.api.v2.filter.http.TransformationTemplate_RequestBodyParse" json:"parse_body_behavior,omitempty"` + // If set to true, Envoy will not throw an exception in case the body parsing + // fails. + IgnoreErrorOnParse bool `protobuf:"varint,8,opt,name=ignore_error_on_parse,json=ignoreErrorOnParse,proto3" json:"ignore_error_on_parse,omitempty"` + // Use this field to set Dynamic Metadata. + DynamicMetadataValues []*TransformationTemplate_DynamicMetadataValue `protobuf:"bytes,9,rep,name=dynamic_metadata_values,json=dynamicMetadataValues,proto3" json:"dynamic_metadata_values,omitempty"` + // Use to escape the output of a body transformation. This will cause + // rendered string values to be escaped in order to make valid JSON/YAML strings + EscapeCharacters bool `protobuf:"varint,12,opt,name=escape_characters,json=escapeCharacters,proto3" json:"escape_characters,omitempty"` +} + +func (x *TransformationTemplate) Reset() { + *x = TransformationTemplate{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransformationTemplate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransformationTemplate) ProtoMessage() {} + +func (x *TransformationTemplate) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransformationTemplate.ProtoReflect.Descriptor instead. +func (*TransformationTemplate) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{7} +} + +func (x *TransformationTemplate) GetAdvancedTemplates() bool { + if x != nil { + return x.AdvancedTemplates + } + return false +} + +func (x *TransformationTemplate) GetExtractors() map[string]*Extraction { + if x != nil { + return x.Extractors + } + return nil +} + +func (x *TransformationTemplate) GetHeaders() map[string]*InjaTemplate { + if x != nil { + return x.Headers + } + return nil +} + +func (x *TransformationTemplate) GetHeadersToAppend() []*TransformationTemplate_HeaderToAppend { + if x != nil { + return x.HeadersToAppend + } + return nil +} + +func (x *TransformationTemplate) GetHeadersToRemove() []string { + if x != nil { + return x.HeadersToRemove + } + return nil +} + +func (m *TransformationTemplate) GetBodyTransformation() isTransformationTemplate_BodyTransformation { + if m != nil { + return m.BodyTransformation + } + return nil +} + +func (x *TransformationTemplate) GetBody() *InjaTemplate { + if x, ok := x.GetBodyTransformation().(*TransformationTemplate_Body); ok { + return x.Body + } + return nil +} + +func (x *TransformationTemplate) GetPassthrough() *Passthrough { + if x, ok := x.GetBodyTransformation().(*TransformationTemplate_Passthrough); ok { + return x.Passthrough + } + return nil +} + +func (x *TransformationTemplate) GetMergeExtractorsToBody() *MergeExtractorsToBody { + if x, ok := x.GetBodyTransformation().(*TransformationTemplate_MergeExtractorsToBody); ok { + return x.MergeExtractorsToBody + } + return nil +} + +func (x *TransformationTemplate) GetParseBodyBehavior() TransformationTemplate_RequestBodyParse { + if x != nil { + return x.ParseBodyBehavior + } + return TransformationTemplate_ParseAsJson +} + +func (x *TransformationTemplate) GetIgnoreErrorOnParse() bool { + if x != nil { + return x.IgnoreErrorOnParse + } + return false +} + +func (x *TransformationTemplate) GetDynamicMetadataValues() []*TransformationTemplate_DynamicMetadataValue { + if x != nil { + return x.DynamicMetadataValues + } + return nil +} + +func (x *TransformationTemplate) GetEscapeCharacters() bool { + if x != nil { + return x.EscapeCharacters + } + return false +} + +type isTransformationTemplate_BodyTransformation interface { + isTransformationTemplate_BodyTransformation() +} + +type TransformationTemplate_Body struct { + // Apply a template to the body + Body *InjaTemplate `protobuf:"bytes,4,opt,name=body,proto3,oneof"` +} + +type TransformationTemplate_Passthrough struct { + // This will cause the transformation filter not to buffer the body. + // Use this setting if the response body is large and you don't need to + // transform nor extract information from it. + Passthrough *Passthrough `protobuf:"bytes,5,opt,name=passthrough,proto3,oneof"` +} + +type TransformationTemplate_MergeExtractorsToBody struct { + // Merge all defined extractors to the request/response body. + // If you want to nest elements inside the body, use dot separator in the + // extractor name. + MergeExtractorsToBody *MergeExtractorsToBody `protobuf:"bytes,6,opt,name=merge_extractors_to_body,json=mergeExtractorsToBody,proto3,oneof"` +} + +func (*TransformationTemplate_Body) isTransformationTemplate_BodyTransformation() {} + +func (*TransformationTemplate_Passthrough) isTransformationTemplate_BodyTransformation() {} + +func (*TransformationTemplate_MergeExtractorsToBody) isTransformationTemplate_BodyTransformation() {} + +// Defines an [Inja template](https://github.com/pantor/inja) that will be +// rendered by Gloo. In addition to the core template functions, the Gloo +// transformation filter defines the following custom functions: +// - header(header_name): returns the value of the header with the given name +// - extraction(extractor_name): returns the value of the extractor with the +// given name +// - env(env_var_name): returns the value of the environment variable with the +// given name +// - body(): returns the request/response body +// - context(): returns the base JSON context (allowing for example to range on +// a JSON body that is an array) +type InjaTemplate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` +} + +func (x *InjaTemplate) Reset() { + *x = InjaTemplate{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InjaTemplate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InjaTemplate) ProtoMessage() {} + +func (x *InjaTemplate) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InjaTemplate.ProtoReflect.Descriptor instead. +func (*InjaTemplate) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{8} +} + +func (x *InjaTemplate) GetText() string { + if x != nil { + return x.Text + } + return "" +} + +type Passthrough struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Passthrough) Reset() { + *x = Passthrough{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Passthrough) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Passthrough) ProtoMessage() {} + +func (x *Passthrough) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Passthrough.ProtoReflect.Descriptor instead. +func (*Passthrough) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{9} +} + +type MergeExtractorsToBody struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MergeExtractorsToBody) Reset() { + *x = MergeExtractorsToBody{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MergeExtractorsToBody) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MergeExtractorsToBody) ProtoMessage() {} + +func (x *MergeExtractorsToBody) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MergeExtractorsToBody.ProtoReflect.Descriptor instead. +func (*MergeExtractorsToBody) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{10} +} + +type HeaderBodyTransform struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // When transforming a request, setting this to true will additionally add + // "queryString", "queryStringParameters", "multiValueQueryStringParameters", + // "multiValueHeaders", "httpMethod" and "path" to the body. + // NOTE: To match the AWS API Gateway spec, multiValueQueryStringParameters + // and multiValueHeaders only contain query params and headers with multiple + // values. Query params and Headers with a single value will not be present + // in the multiValue fields. + AddRequestMetadata bool `protobuf:"varint,1,opt,name=add_request_metadata,json=addRequestMetadata,proto3" json:"add_request_metadata,omitempty"` +} + +func (x *HeaderBodyTransform) Reset() { + *x = HeaderBodyTransform{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HeaderBodyTransform) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HeaderBodyTransform) ProtoMessage() {} + +func (x *HeaderBodyTransform) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HeaderBodyTransform.ProtoReflect.Descriptor instead. +func (*HeaderBodyTransform) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{11} +} + +func (x *HeaderBodyTransform) GetAddRequestMetadata() bool { + if x != nil { + return x.AddRequestMetadata + } + return false +} + +type TransformationRule_Transformations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Apply a transformation to requests. + RequestTransformation *Transformation `protobuf:"bytes,1,opt,name=request_transformation,json=requestTransformation,proto3" json:"request_transformation,omitempty"` + // Clear the route cache if the request transformation was applied. + ClearRouteCache bool `protobuf:"varint,3,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"` + // Apply a transformation to responses. + ResponseTransformation *Transformation `protobuf:"bytes,2,opt,name=response_transformation,json=responseTransformation,proto3" json:"response_transformation,omitempty"` + // Apply a transformation in the onStreamComplete callback + OnStreamCompletionTransformation *Transformation `protobuf:"bytes,4,opt,name=on_stream_completion_transformation,json=onStreamCompletionTransformation,proto3" json:"on_stream_completion_transformation,omitempty"` +} + +func (x *TransformationRule_Transformations) Reset() { + *x = TransformationRule_Transformations{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransformationRule_Transformations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransformationRule_Transformations) ProtoMessage() {} + +func (x *TransformationRule_Transformations) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransformationRule_Transformations.ProtoReflect.Descriptor instead. +func (*TransformationRule_Transformations) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *TransformationRule_Transformations) GetRequestTransformation() *Transformation { + if x != nil { + return x.RequestTransformation + } + return nil +} + +func (x *TransformationRule_Transformations) GetClearRouteCache() bool { + if x != nil { + return x.ClearRouteCache + } + return false +} + +func (x *TransformationRule_Transformations) GetResponseTransformation() *Transformation { + if x != nil { + return x.ResponseTransformation + } + return nil +} + +func (x *TransformationRule_Transformations) GetOnStreamCompletionTransformation() *Transformation { + if x != nil { + return x.OnStreamCompletionTransformation + } + return nil +} + +type RouteTransformations_RouteTransformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Stage number. This transformation will only be processed by filters with + // the same stage number. + Stage uint32 `protobuf:"varint,1,opt,name=stage,proto3" json:"stage,omitempty"` + // Types that are assignable to Match: + // + // *RouteTransformations_RouteTransformation_RequestMatch_ + // *RouteTransformations_RouteTransformation_ResponseMatch_ + Match isRouteTransformations_RouteTransformation_Match `protobuf_oneof:"match"` + // If provided, transformations with request_match in transformations field are ignored. + // The transformation will be the action from this matcher. + Matcher *v3.Matcher `protobuf:"bytes,5,opt,name=matcher,proto3" json:"matcher,omitempty"` +} + +func (x *RouteTransformations_RouteTransformation) Reset() { + *x = RouteTransformations_RouteTransformation{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTransformations_RouteTransformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTransformations_RouteTransformation) ProtoMessage() {} + +func (x *RouteTransformations_RouteTransformation) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteTransformations_RouteTransformation.ProtoReflect.Descriptor instead. +func (*RouteTransformations_RouteTransformation) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *RouteTransformations_RouteTransformation) GetStage() uint32 { + if x != nil { + return x.Stage + } + return 0 +} + +func (m *RouteTransformations_RouteTransformation) GetMatch() isRouteTransformations_RouteTransformation_Match { + if m != nil { + return m.Match + } + return nil +} + +func (x *RouteTransformations_RouteTransformation) GetRequestMatch() *RouteTransformations_RouteTransformation_RequestMatch { + if x, ok := x.GetMatch().(*RouteTransformations_RouteTransformation_RequestMatch_); ok { + return x.RequestMatch + } + return nil +} + +func (x *RouteTransformations_RouteTransformation) GetResponseMatch() *RouteTransformations_RouteTransformation_ResponseMatch { + if x, ok := x.GetMatch().(*RouteTransformations_RouteTransformation_ResponseMatch_); ok { + return x.ResponseMatch + } + return nil +} + +func (x *RouteTransformations_RouteTransformation) GetMatcher() *v3.Matcher { + if x != nil { + return x.Matcher + } + return nil +} + +type isRouteTransformations_RouteTransformation_Match interface { + isRouteTransformations_RouteTransformation_Match() +} + +type RouteTransformations_RouteTransformation_RequestMatch_ struct { + RequestMatch *RouteTransformations_RouteTransformation_RequestMatch `protobuf:"bytes,2,opt,name=request_match,json=requestMatch,proto3,oneof"` +} + +type RouteTransformations_RouteTransformation_ResponseMatch_ struct { + ResponseMatch *RouteTransformations_RouteTransformation_ResponseMatch `protobuf:"bytes,3,opt,name=response_match,json=responseMatch,proto3,oneof"` +} + +func (*RouteTransformations_RouteTransformation_RequestMatch_) isRouteTransformations_RouteTransformation_Match() { +} + +func (*RouteTransformations_RouteTransformation_ResponseMatch_) isRouteTransformations_RouteTransformation_Match() { +} + +type RouteTransformations_RouteTransformation_RequestMatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // if no match is specified, will match all + Match *v31.RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` + // transformation to perform + RequestTransformation *Transformation `protobuf:"bytes,2,opt,name=request_transformation,json=requestTransformation,proto3" json:"request_transformation,omitempty"` + ResponseTransformation *Transformation `protobuf:"bytes,3,opt,name=response_transformation,json=responseTransformation,proto3" json:"response_transformation,omitempty"` + // clear the route cache if the request transformation was applied + ClearRouteCache bool `protobuf:"varint,4,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"` +} + +func (x *RouteTransformations_RouteTransformation_RequestMatch) Reset() { + *x = RouteTransformations_RouteTransformation_RequestMatch{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTransformations_RouteTransformation_RequestMatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTransformations_RouteTransformation_RequestMatch) ProtoMessage() {} + +func (x *RouteTransformations_RouteTransformation_RequestMatch) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteTransformations_RouteTransformation_RequestMatch.ProtoReflect.Descriptor instead. +func (*RouteTransformations_RouteTransformation_RequestMatch) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{2, 0, 0} +} + +func (x *RouteTransformations_RouteTransformation_RequestMatch) GetMatch() *v31.RouteMatch { + if x != nil { + return x.Match + } + return nil +} + +func (x *RouteTransformations_RouteTransformation_RequestMatch) GetRequestTransformation() *Transformation { + if x != nil { + return x.RequestTransformation + } + return nil +} + +func (x *RouteTransformations_RouteTransformation_RequestMatch) GetResponseTransformation() *Transformation { + if x != nil { + return x.ResponseTransformation + } + return nil +} + +func (x *RouteTransformations_RouteTransformation_RequestMatch) GetClearRouteCache() bool { + if x != nil { + return x.ClearRouteCache + } + return false +} + +type RouteTransformations_RouteTransformation_ResponseMatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Match *ResponseMatcher `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` + // transformation to perform + ResponseTransformation *Transformation `protobuf:"bytes,2,opt,name=response_transformation,json=responseTransformation,proto3" json:"response_transformation,omitempty"` +} + +func (x *RouteTransformations_RouteTransformation_ResponseMatch) Reset() { + *x = RouteTransformations_RouteTransformation_ResponseMatch{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTransformations_RouteTransformation_ResponseMatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTransformations_RouteTransformation_ResponseMatch) ProtoMessage() {} + +func (x *RouteTransformations_RouteTransformation_ResponseMatch) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteTransformations_RouteTransformation_ResponseMatch.ProtoReflect.Descriptor instead. +func (*RouteTransformations_RouteTransformation_ResponseMatch) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{2, 0, 1} +} + +func (x *RouteTransformations_RouteTransformation_ResponseMatch) GetMatch() *ResponseMatcher { + if x != nil { + return x.Match + } + return nil +} + +func (x *RouteTransformations_RouteTransformation_ResponseMatch) GetResponseTransformation() *Transformation { + if x != nil { + return x.ResponseTransformation + } + return nil +} + +// Defines a header-template pair to be used in `headers_to_append` +type TransformationTemplate_HeaderToAppend struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Header name + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // Apply a template to the header value + Value *InjaTemplate `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *TransformationTemplate_HeaderToAppend) Reset() { + *x = TransformationTemplate_HeaderToAppend{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransformationTemplate_HeaderToAppend) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransformationTemplate_HeaderToAppend) ProtoMessage() {} + +func (x *TransformationTemplate_HeaderToAppend) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransformationTemplate_HeaderToAppend.ProtoReflect.Descriptor instead. +func (*TransformationTemplate_HeaderToAppend) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{7, 2} +} + +func (x *TransformationTemplate_HeaderToAppend) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *TransformationTemplate_HeaderToAppend) GetValue() *InjaTemplate { + if x != nil { + return x.Value + } + return nil +} + +// Defines an [Envoy Dynamic +// Metadata](https://www.envoyproxy.io/docs/envoy/latest/configuration/advanced/well_known_dynamic_metadata) +// entry. +type TransformationTemplate_DynamicMetadataValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The metadata namespace. Defaults to the filter namespace. + MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"` + // The metadata key. + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + // A template that determines the metadata value. + Value *InjaTemplate `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *TransformationTemplate_DynamicMetadataValue) Reset() { + *x = TransformationTemplate_DynamicMetadataValue{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransformationTemplate_DynamicMetadataValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransformationTemplate_DynamicMetadataValue) ProtoMessage() {} + +func (x *TransformationTemplate_DynamicMetadataValue) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransformationTemplate_DynamicMetadataValue.ProtoReflect.Descriptor instead. +func (*TransformationTemplate_DynamicMetadataValue) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP(), []int{7, 3} +} + +func (x *TransformationTemplate_DynamicMetadataValue) GetMetadataNamespace() string { + if x != nil { + return x.MetadataNamespace + } + return "" +} + +func (x *TransformationTemplate_DynamicMetadataValue) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *TransformationTemplate_DynamicMetadataValue) GetValue() *InjaTemplate { + if x != nil { + return x.Value + } + return nil +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDesc = []byte{ + 0x0a, 0x7e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, + 0x74, 0x70, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, + 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x21, 0x78, 0x64, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x02, 0x0a, 0x15, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x56, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x0a, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, + 0xc7, 0x04, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, + 0x10, 0x01, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x71, 0x0a, 0x15, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xfa, 0x02, 0x0a, + 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x5f, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, + 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x61, 0x0a, + 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x77, 0x0a, 0x23, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x20, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe0, 0x09, 0x0a, 0x14, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x63, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, + 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x63, + 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x6c, + 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, + 0x74, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xdd, 0x06, 0x0a, + 0x13, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x0a, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x67, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x0c, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x79, 0x0a, 0x0e, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x36, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x1a, 0xb7, + 0x02, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x37, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5f, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x17, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, + 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x1a, 0xb3, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3f, 0x0a, 0x05, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x61, 0x0a, 0x17, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, + 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xab, 0x01, 0x0a, + 0x0f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x12, 0x3e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x12, 0x58, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, + 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xc0, 0x01, 0x0a, 0x1a, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x61, 0x0a, 0x17, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x03, + 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x6b, 0x0a, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x63, 0x0a, + 0x15, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x6f, + 0x64, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x48, 0x00, 0x52, 0x13, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x6f, 0x64, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x12, 0x5b, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, + 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x55, 0x0a, 0x19, 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, + 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x15, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x90, 0x01, + 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x06, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x04, + 0x62, 0x6f, 0x64, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, + 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x75, + 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0xf9, 0x0b, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x61, + 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, + 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x0a, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x07, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x6b, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x70, 0x70, 0x65, 0x6e, + 0x64, 0x52, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x70, 0x70, 0x65, + 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, + 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x3c, + 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x49, 0x6e, 0x6a, 0x61, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x49, 0x0a, 0x0b, + 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x50, 0x61, 0x73, + 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, + 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x6a, 0x0a, 0x18, 0x6d, 0x65, 0x72, 0x67, 0x65, + 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x62, + 0x6f, 0x64, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x54, 0x6f, 0x42, 0x6f, 0x64, 0x79, 0x48, 0x00, 0x52, 0x15, 0x6d, 0x65, + 0x72, 0x67, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x54, 0x6f, 0x42, + 0x6f, 0x64, 0x79, 0x12, 0x71, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, + 0x79, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x41, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x50, 0x61, + 0x72, 0x73, 0x65, 0x52, 0x11, 0x70, 0x61, 0x72, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, + 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x4f, 0x6e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x17, 0x64, 0x79, 0x6e, + 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x79, 0x6e, + 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x73, 0x63, 0x61, + 0x70, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, + 0x63, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x63, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x62, 0x0a, 0x0c, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x49, 0x6e, 0x6a, 0x61, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, + 0x0a, 0x0e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x49, 0x6e, 0x6a, + 0x61, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x1a, 0x9e, 0x01, 0x0a, 0x14, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x49, 0x6e, + 0x6a, 0x61, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x32, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, + 0x50, 0x61, 0x72, 0x73, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x73, 0x65, 0x41, 0x73, + 0x4a, 0x73, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x6f, 0x6e, 0x74, 0x50, 0x61, + 0x72, 0x73, 0x65, 0x10, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x22, 0x0a, 0x0c, + 0x49, 0x6e, 0x6a, 0x61, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, + 0x22, 0x0d, 0x0a, 0x0b, 0x50, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x22, + 0x17, 0x0a, 0x15, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x54, 0x6f, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x47, 0x0a, 0x13, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x42, 0x6f, 0x64, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, + 0x30, 0x0a, 0x14, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, + 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x42, 0xb0, 0x01, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x42, 0x19, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x69, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, + 0x74, 0x70, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_goTypes = []interface{}{ + (TransformationTemplate_RequestBodyParse)(0), // 0: envoy.api.v2.filter.http.TransformationTemplate.RequestBodyParse + (*FilterTransformations)(nil), // 1: envoy.api.v2.filter.http.FilterTransformations + (*TransformationRule)(nil), // 2: envoy.api.v2.filter.http.TransformationRule + (*RouteTransformations)(nil), // 3: envoy.api.v2.filter.http.RouteTransformations + (*ResponseMatcher)(nil), // 4: envoy.api.v2.filter.http.ResponseMatcher + (*ResponseTransformationRule)(nil), // 5: envoy.api.v2.filter.http.ResponseTransformationRule + (*Transformation)(nil), // 6: envoy.api.v2.filter.http.Transformation + (*Extraction)(nil), // 7: envoy.api.v2.filter.http.Extraction + (*TransformationTemplate)(nil), // 8: envoy.api.v2.filter.http.TransformationTemplate + (*InjaTemplate)(nil), // 9: envoy.api.v2.filter.http.InjaTemplate + (*Passthrough)(nil), // 10: envoy.api.v2.filter.http.Passthrough + (*MergeExtractorsToBody)(nil), // 11: envoy.api.v2.filter.http.MergeExtractorsToBody + (*HeaderBodyTransform)(nil), // 12: envoy.api.v2.filter.http.HeaderBodyTransform + (*TransformationRule_Transformations)(nil), // 13: envoy.api.v2.filter.http.TransformationRule.Transformations + (*RouteTransformations_RouteTransformation)(nil), // 14: envoy.api.v2.filter.http.RouteTransformations.RouteTransformation + (*RouteTransformations_RouteTransformation_RequestMatch)(nil), // 15: envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.RequestMatch + (*RouteTransformations_RouteTransformation_ResponseMatch)(nil), // 16: envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.ResponseMatch + nil, // 17: envoy.api.v2.filter.http.TransformationTemplate.ExtractorsEntry + nil, // 18: envoy.api.v2.filter.http.TransformationTemplate.HeadersEntry + (*TransformationTemplate_HeaderToAppend)(nil), // 19: envoy.api.v2.filter.http.TransformationTemplate.HeaderToAppend + (*TransformationTemplate_DynamicMetadataValue)(nil), // 20: envoy.api.v2.filter.http.TransformationTemplate.DynamicMetadataValue + (*v3.Matcher)(nil), // 21: xds.type.matcher.v3.Matcher + (*v31.RouteMatch)(nil), // 22: envoy.config.route.v3.RouteMatch + (*v31.HeaderMatcher)(nil), // 23: envoy.config.route.v3.HeaderMatcher + (*v32.StringMatcher)(nil), // 24: envoy.type.matcher.v3.StringMatcher + (*v33.TypedExtensionConfig)(nil), // 25: envoy.config.core.v3.TypedExtensionConfig + (*wrappers.BoolValue)(nil), // 26: google.protobuf.BoolValue + (*empty.Empty)(nil), // 27: google.protobuf.Empty +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_depIdxs = []int32{ + 2, // 0: envoy.api.v2.filter.http.FilterTransformations.transformations:type_name -> envoy.api.v2.filter.http.TransformationRule + 21, // 1: envoy.api.v2.filter.http.FilterTransformations.matcher:type_name -> xds.type.matcher.v3.Matcher + 22, // 2: envoy.api.v2.filter.http.TransformationRule.match:type_name -> envoy.config.route.v3.RouteMatch + 13, // 3: envoy.api.v2.filter.http.TransformationRule.route_transformations:type_name -> envoy.api.v2.filter.http.TransformationRule.Transformations + 6, // 4: envoy.api.v2.filter.http.RouteTransformations.request_transformation:type_name -> envoy.api.v2.filter.http.Transformation + 6, // 5: envoy.api.v2.filter.http.RouteTransformations.response_transformation:type_name -> envoy.api.v2.filter.http.Transformation + 14, // 6: envoy.api.v2.filter.http.RouteTransformations.transformations:type_name -> envoy.api.v2.filter.http.RouteTransformations.RouteTransformation + 23, // 7: envoy.api.v2.filter.http.ResponseMatcher.headers:type_name -> envoy.config.route.v3.HeaderMatcher + 24, // 8: envoy.api.v2.filter.http.ResponseMatcher.response_code_details:type_name -> envoy.type.matcher.v3.StringMatcher + 4, // 9: envoy.api.v2.filter.http.ResponseTransformationRule.match:type_name -> envoy.api.v2.filter.http.ResponseMatcher + 6, // 10: envoy.api.v2.filter.http.ResponseTransformationRule.response_transformation:type_name -> envoy.api.v2.filter.http.Transformation + 8, // 11: envoy.api.v2.filter.http.Transformation.transformation_template:type_name -> envoy.api.v2.filter.http.TransformationTemplate + 12, // 12: envoy.api.v2.filter.http.Transformation.header_body_transform:type_name -> envoy.api.v2.filter.http.HeaderBodyTransform + 25, // 13: envoy.api.v2.filter.http.Transformation.transformer_config:type_name -> envoy.config.core.v3.TypedExtensionConfig + 26, // 14: envoy.api.v2.filter.http.Transformation.log_request_response_info:type_name -> google.protobuf.BoolValue + 27, // 15: envoy.api.v2.filter.http.Extraction.body:type_name -> google.protobuf.Empty + 17, // 16: envoy.api.v2.filter.http.TransformationTemplate.extractors:type_name -> envoy.api.v2.filter.http.TransformationTemplate.ExtractorsEntry + 18, // 17: envoy.api.v2.filter.http.TransformationTemplate.headers:type_name -> envoy.api.v2.filter.http.TransformationTemplate.HeadersEntry + 19, // 18: envoy.api.v2.filter.http.TransformationTemplate.headers_to_append:type_name -> envoy.api.v2.filter.http.TransformationTemplate.HeaderToAppend + 9, // 19: envoy.api.v2.filter.http.TransformationTemplate.body:type_name -> envoy.api.v2.filter.http.InjaTemplate + 10, // 20: envoy.api.v2.filter.http.TransformationTemplate.passthrough:type_name -> envoy.api.v2.filter.http.Passthrough + 11, // 21: envoy.api.v2.filter.http.TransformationTemplate.merge_extractors_to_body:type_name -> envoy.api.v2.filter.http.MergeExtractorsToBody + 0, // 22: envoy.api.v2.filter.http.TransformationTemplate.parse_body_behavior:type_name -> envoy.api.v2.filter.http.TransformationTemplate.RequestBodyParse + 20, // 23: envoy.api.v2.filter.http.TransformationTemplate.dynamic_metadata_values:type_name -> envoy.api.v2.filter.http.TransformationTemplate.DynamicMetadataValue + 6, // 24: envoy.api.v2.filter.http.TransformationRule.Transformations.request_transformation:type_name -> envoy.api.v2.filter.http.Transformation + 6, // 25: envoy.api.v2.filter.http.TransformationRule.Transformations.response_transformation:type_name -> envoy.api.v2.filter.http.Transformation + 6, // 26: envoy.api.v2.filter.http.TransformationRule.Transformations.on_stream_completion_transformation:type_name -> envoy.api.v2.filter.http.Transformation + 15, // 27: envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.request_match:type_name -> envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.RequestMatch + 16, // 28: envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.response_match:type_name -> envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.ResponseMatch + 21, // 29: envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.matcher:type_name -> xds.type.matcher.v3.Matcher + 22, // 30: envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.RequestMatch.match:type_name -> envoy.config.route.v3.RouteMatch + 6, // 31: envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.RequestMatch.request_transformation:type_name -> envoy.api.v2.filter.http.Transformation + 6, // 32: envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.RequestMatch.response_transformation:type_name -> envoy.api.v2.filter.http.Transformation + 4, // 33: envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.ResponseMatch.match:type_name -> envoy.api.v2.filter.http.ResponseMatcher + 6, // 34: envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.ResponseMatch.response_transformation:type_name -> envoy.api.v2.filter.http.Transformation + 7, // 35: envoy.api.v2.filter.http.TransformationTemplate.ExtractorsEntry.value:type_name -> envoy.api.v2.filter.http.Extraction + 9, // 36: envoy.api.v2.filter.http.TransformationTemplate.HeadersEntry.value:type_name -> envoy.api.v2.filter.http.InjaTemplate + 9, // 37: envoy.api.v2.filter.http.TransformationTemplate.HeaderToAppend.value:type_name -> envoy.api.v2.filter.http.InjaTemplate + 9, // 38: envoy.api.v2.filter.http.TransformationTemplate.DynamicMetadataValue.value:type_name -> envoy.api.v2.filter.http.InjaTemplate + 39, // [39:39] is the sub-list for method output_type + 39, // [39:39] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterTransformations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransformationRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTransformations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResponseMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResponseTransformationRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Transformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Extraction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransformationTemplate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InjaTemplate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Passthrough); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MergeExtractorsToBody); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HeaderBodyTransform); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransformationRule_Transformations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTransformations_RouteTransformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTransformations_RouteTransformation_RequestMatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTransformations_RouteTransformation_ResponseMatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransformationTemplate_HeaderToAppend); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransformationTemplate_DynamicMetadataValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*Transformation_TransformationTemplate)(nil), + (*Transformation_HeaderBodyTransform)(nil), + (*Transformation_TransformerConfig)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*Extraction_Header)(nil), + (*Extraction_Body)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*TransformationTemplate_Body)(nil), + (*TransformationTemplate_Passthrough)(nil), + (*TransformationTemplate_MergeExtractorsToBody)(nil), + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes[13].OneofWrappers = []interface{}{ + (*RouteTransformations_RouteTransformation_RequestMatch_)(nil), + (*RouteTransformations_RouteTransformation_ResponseMatch_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDesc, + NumEnums: 1, + NumMessages: 20, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_depIdxs, + EnumInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_enumTypes, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_http_transformation_v2_transformation_filter_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo/api/envoy/config/filter/network/consul_connect/v2/authorize.pb.go b/client-go/envoy-gloo/api/envoy/config/filter/network/consul_connect/v2/authorize.pb.go new file mode 100644 index 000000000..540c09644 --- /dev/null +++ b/client-go/envoy-gloo/api/envoy/config/filter/network/consul_connect/v2/authorize.pb.go @@ -0,0 +1,262 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo/api/envoy/config/filter/network/consul_connect/v2/authorize.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/golang/protobuf/ptypes/duration" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// [#proto-status: experimental] +type AuthorizePayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Target string `protobuf:"bytes,1,opt,name=Target,proto3" json:"Target,omitempty"` + ClientCertURI string `protobuf:"bytes,2,opt,name=ClientCertURI,proto3" json:"ClientCertURI,omitempty"` + ClientCertSerial string `protobuf:"bytes,3,opt,name=ClientCertSerial,proto3" json:"ClientCertSerial,omitempty"` +} + +func (x *AuthorizePayload) Reset() { + *x = AuthorizePayload{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthorizePayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthorizePayload) ProtoMessage() {} + +func (x *AuthorizePayload) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthorizePayload.ProtoReflect.Descriptor instead. +func (*AuthorizePayload) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDescGZIP(), []int{0} +} + +func (x *AuthorizePayload) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +func (x *AuthorizePayload) GetClientCertURI() string { + if x != nil { + return x.ClientCertURI + } + return "" +} + +func (x *AuthorizePayload) GetClientCertSerial() string { + if x != nil { + return x.ClientCertSerial + } + return "" +} + +// [#proto-status: experimental] +type AuthorizeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Authorized bool `protobuf:"varint,1,opt,name=Authorized,proto3" json:"Authorized,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=Reason,proto3" json:"Reason,omitempty"` +} + +func (x *AuthorizeResponse) Reset() { + *x = AuthorizeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthorizeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthorizeResponse) ProtoMessage() {} + +func (x *AuthorizeResponse) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthorizeResponse.ProtoReflect.Descriptor instead. +func (*AuthorizeResponse) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDescGZIP(), []int{1} +} + +func (x *AuthorizeResponse) GetAuthorized() bool { + if x != nil { + return x.Authorized + } + return false +} + +func (x *AuthorizeResponse) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDesc = []byte{ + 0x0a, 0x75, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, + 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, + 0x24, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x55, 0x52, 0x49, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, + 0x72, 0x74, 0x55, 0x52, 0x49, 0x12, 0x2a, 0x0a, 0x10, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, + 0x65, 0x72, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x22, 0x4b, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0xaa, + 0x01, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6c, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, + 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_goTypes = []interface{}{ + (*AuthorizePayload)(nil), // 0: agent.connect.authorize.v1.AuthorizePayload + (*AuthorizeResponse)(nil), // 1: agent.connect.authorize.v1.AuthorizeResponse +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthorizePayload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthorizeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_authorize_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo/api/envoy/config/filter/network/consul_connect/v2/consul_connect.pb.go b/client-go/envoy-gloo/api/envoy/config/filter/network/consul_connect/v2/consul_connect.pb.go new file mode 100644 index 000000000..963417fe8 --- /dev/null +++ b/client-go/envoy-gloo/api/envoy/config/filter/network/consul_connect/v2/consul_connect.pb.go @@ -0,0 +1,223 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo/api/envoy/config/filter/network/consul_connect/v2/consul_connect.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/envoyproxy/protoc-gen-validate/validate" + _ "github.com/gogo/protobuf/gogoproto" + duration "github.com/golang/protobuf/ptypes/duration" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ConsulConnect contains the configuration necessary to perform client +// certificate-based authorization using a REST call to the Authorize endpoint +// of Consul Connect. +type ConsulConnect struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the service who owns this proxy + // Target must be delivered by the filter as part of the authorize request + // payload + Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` + // the hostname of the authorization REST service + AuthorizeHostname string `protobuf:"bytes,2,opt,name=authorize_hostname,json=authorizeHostname,proto3" json:"authorize_hostname,omitempty"` + // the name of the Envoy Cluster representing the authorization REST service + AuthorizeClusterName string `protobuf:"bytes,3,opt,name=authorize_cluster_name,json=authorizeClusterName,proto3" json:"authorize_cluster_name,omitempty"` + // Connection Timeout tells the filter to set a timeout for unresponsive + // connections created to this upstream. If not provided by the user, it will + // set to a default value + RequestTimeout *duration.Duration `protobuf:"bytes,4,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"` +} + +func (x *ConsulConnect) Reset() { + *x = ConsulConnect{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConsulConnect) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConsulConnect) ProtoMessage() {} + +func (x *ConsulConnect) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConsulConnect.ProtoReflect.Descriptor instead. +func (*ConsulConnect) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_rawDescGZIP(), []int{0} +} + +func (x *ConsulConnect) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +func (x *ConsulConnect) GetAuthorizeHostname() string { + if x != nil { + return x.AuthorizeHostname + } + return "" +} + +func (x *ConsulConnect) GetAuthorizeClusterName() string { + if x != nil { + return x.AuthorizeClusterName + } + return "" +} + +func (x *ConsulConnect) GetRequestTimeout() *duration.Duration { + if x != nil { + return x.RequestTimeout + } + return nil +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_rawDesc = []byte{ + 0x0a, 0x7a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x5f, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2d, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, + 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf1, 0x01, 0x0a, 0x0d, 0x43, + 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x06, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x36, 0x0a, + 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, + 0x20, 0x01, 0x52, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x48, 0x6f, 0x73, + 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x16, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x14, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x04, 0x98, 0xdf, 0x1f, 0x01, 0x52, 0x0e, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0xc1, + 0x01, 0x0a, 0x3b, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x73, 0x75, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x32, 0x42, 0x12, + 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, + 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_goTypes = []interface{}{ + (*ConsulConnect)(nil), // 0: envoy.config.filter.network.consul_connect.v2.ConsulConnect + (*duration.Duration)(nil), // 1: google.protobuf.Duration +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_depIdxs = []int32{ + 1, // 0: envoy.config.filter.network.consul_connect.v2.ConsulConnect.request_timeout:type_name -> google.protobuf.Duration + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConsulConnect); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_filter_network_consul_connect_v2_consul_connect_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo/api/envoy/config/transformer/aws_lambda/v2/api_gateway_transformer.pb.go b/client-go/envoy-gloo/api/envoy/config/transformer/aws_lambda/v2/api_gateway_transformer.pb.go new file mode 100644 index 000000000..7dfafb614 --- /dev/null +++ b/client-go/envoy-gloo/api/envoy/config/transformer/aws_lambda/v2/api_gateway_transformer.pb.go @@ -0,0 +1,155 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo/api/envoy/config/transformer/aws_lambda/v2/api_gateway_transformer.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ApiGatewayTransformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ApiGatewayTransformation) Reset() { + *x = ApiGatewayTransformation{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiGatewayTransformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiGatewayTransformation) ProtoMessage() {} + +func (x *ApiGatewayTransformation) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiGatewayTransformation.ProtoReflect.Descriptor instead. +func (*ApiGatewayTransformation) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_rawDescGZIP(), []int{0} +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_rawDesc = []byte{ + 0x0a, 0x7c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x65, 0x72, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2f, 0x76, 0x32, + 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, + 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x2e, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, + 0x62, 0x64, 0x61, 0x2e, 0x76, 0x32, 0x22, 0x1a, 0x0a, 0x18, 0x41, 0x70, 0x69, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0xbb, 0x01, 0x0a, 0x34, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x2e, 0x61, 0x77, + 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2e, 0x76, 0x32, 0x42, 0x1a, 0x41, 0x70, 0x69, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x65, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x65, 0x72, 0x2f, 0x61, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2f, 0x76, 0x32, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_goTypes = []interface{}{ + (*ApiGatewayTransformation)(nil), // 0: envoy.config.transformer.aws_lambda.v2.ApiGatewayTransformation +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiGatewayTransformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_depIdxs, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_config_transformer_aws_lambda_v2_api_gateway_transformer_proto_depIdxs = nil +} diff --git a/client-go/envoy-gloo/api/envoy/type/streaming/protocol.pb.go b/client-go/envoy-gloo/api/envoy/type/streaming/protocol.pb.go new file mode 100644 index 000000000..f4e99b11e --- /dev/null +++ b/client-go/envoy-gloo/api/envoy/type/streaming/protocol.pb.go @@ -0,0 +1,1185 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: envoy_codegen_imports/github.com/solo-io/envoy-gloo/api/envoy/type/streaming/protocol.proto + +package streaming + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Enum for start position type. +type StartPosition int32 + +const ( + StartPosition_NewOnly StartPosition = 0 + StartPosition_LastReceived StartPosition = 1 + StartPosition_TimeDeltaStart StartPosition = 2 + StartPosition_SequenceStart StartPosition = 3 + StartPosition_First StartPosition = 4 +) + +// Enum value maps for StartPosition. +var ( + StartPosition_name = map[int32]string{ + 0: "NewOnly", + 1: "LastReceived", + 2: "TimeDeltaStart", + 3: "SequenceStart", + 4: "First", + } + StartPosition_value = map[string]int32{ + "NewOnly": 0, + "LastReceived": 1, + "TimeDeltaStart": 2, + "SequenceStart": 3, + "First": 4, + } +) + +func (x StartPosition) Enum() *StartPosition { + p := new(StartPosition) + *p = x + return p +} + +func (x StartPosition) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StartPosition) Descriptor() protoreflect.EnumDescriptor { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_enumTypes[0].Descriptor() +} + +func (StartPosition) Type() protoreflect.EnumType { + return &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_enumTypes[0] +} + +func (x StartPosition) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StartPosition.Descriptor instead. +func (StartPosition) EnumDescriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP(), []int{0} +} + +// How messages are delivered to the STAN cluster +type PubMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientID string `protobuf:"bytes,1,opt,name=clientID,proto3" json:"clientID,omitempty"` // ClientID + Guid string `protobuf:"bytes,2,opt,name=guid,proto3" json:"guid,omitempty"` // guid + Subject string `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"` // subject + Reply string `protobuf:"bytes,4,opt,name=reply,proto3" json:"reply,omitempty"` // optional reply + Data []byte `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"` // payload + Sha256 []byte `protobuf:"bytes,10,opt,name=sha256,proto3" json:"sha256,omitempty"` // optional sha256 of data +} + +func (x *PubMsg) Reset() { + *x = PubMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PubMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PubMsg) ProtoMessage() {} + +func (x *PubMsg) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PubMsg.ProtoReflect.Descriptor instead. +func (*PubMsg) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP(), []int{0} +} + +func (x *PubMsg) GetClientID() string { + if x != nil { + return x.ClientID + } + return "" +} + +func (x *PubMsg) GetGuid() string { + if x != nil { + return x.Guid + } + return "" +} + +func (x *PubMsg) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *PubMsg) GetReply() string { + if x != nil { + return x.Reply + } + return "" +} + +func (x *PubMsg) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *PubMsg) GetSha256() []byte { + if x != nil { + return x.Sha256 + } + return nil +} + +// Used to ACK to publishers +type PubAck struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Guid string `protobuf:"bytes,1,opt,name=guid,proto3" json:"guid,omitempty"` // guid + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` // err string, empty/omitted if no error +} + +func (x *PubAck) Reset() { + *x = PubAck{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PubAck) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PubAck) ProtoMessage() {} + +func (x *PubAck) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PubAck.ProtoReflect.Descriptor instead. +func (*PubAck) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP(), []int{1} +} + +func (x *PubAck) GetGuid() string { + if x != nil { + return x.Guid + } + return "" +} + +func (x *PubAck) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +// Msg struct. Sequence is assigned for global ordering by +// the cluster after the publisher has been acknowledged. +type MsgProto struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Sequence uint64 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"` // globally ordered sequence number for the subject's channel + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` // subject + Reply string `protobuf:"bytes,3,opt,name=reply,proto3" json:"reply,omitempty"` // optional reply + Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` // payload + Timestamp int64 `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // received timestamp + Redelivered bool `protobuf:"varint,6,opt,name=redelivered,proto3" json:"redelivered,omitempty"` // Flag specifying if the message is being redelivered + CRC32 uint32 `protobuf:"varint,10,opt,name=CRC32,proto3" json:"CRC32,omitempty"` // optional IEEE CRC32 +} + +func (x *MsgProto) Reset() { + *x = MsgProto{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgProto) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgProto) ProtoMessage() {} + +func (x *MsgProto) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MsgProto.ProtoReflect.Descriptor instead. +func (*MsgProto) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP(), []int{2} +} + +func (x *MsgProto) GetSequence() uint64 { + if x != nil { + return x.Sequence + } + return 0 +} + +func (x *MsgProto) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *MsgProto) GetReply() string { + if x != nil { + return x.Reply + } + return "" +} + +func (x *MsgProto) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *MsgProto) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *MsgProto) GetRedelivered() bool { + if x != nil { + return x.Redelivered + } + return false +} + +func (x *MsgProto) GetCRC32() uint32 { + if x != nil { + return x.CRC32 + } + return 0 +} + +// Ack will deliver an ack for a delivered msg. +type Ack struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"` // Subject + Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"` // Sequence to acknowledge +} + +func (x *Ack) Reset() { + *x = Ack{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Ack) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ack) ProtoMessage() {} + +func (x *Ack) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Ack.ProtoReflect.Descriptor instead. +func (*Ack) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP(), []int{3} +} + +func (x *Ack) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *Ack) GetSequence() uint64 { + if x != nil { + return x.Sequence + } + return 0 +} + +// Connection Request +type ConnectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientID string `protobuf:"bytes,1,opt,name=clientID,proto3" json:"clientID,omitempty"` // Client name/identifier. + HeartbeatInbox string `protobuf:"bytes,2,opt,name=heartbeatInbox,proto3" json:"heartbeatInbox,omitempty"` // Inbox for server initiated heartbeats. +} + +func (x *ConnectRequest) Reset() { + *x = ConnectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectRequest) ProtoMessage() {} + +func (x *ConnectRequest) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectRequest.ProtoReflect.Descriptor instead. +func (*ConnectRequest) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP(), []int{4} +} + +func (x *ConnectRequest) GetClientID() string { + if x != nil { + return x.ClientID + } + return "" +} + +func (x *ConnectRequest) GetHeartbeatInbox() string { + if x != nil { + return x.HeartbeatInbox + } + return "" +} + +// Response to a client connect +type ConnectResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PubPrefix string `protobuf:"bytes,1,opt,name=pubPrefix,proto3" json:"pubPrefix,omitempty"` // Prefix to use when publishing to this STAN cluster + SubRequests string `protobuf:"bytes,2,opt,name=subRequests,proto3" json:"subRequests,omitempty"` // Subject to use for subscription requests + UnsubRequests string `protobuf:"bytes,3,opt,name=unsubRequests,proto3" json:"unsubRequests,omitempty"` // Subject to use for unsubscribe requests + CloseRequests string `protobuf:"bytes,4,opt,name=closeRequests,proto3" json:"closeRequests,omitempty"` // Subject for closing the stan connection + Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` // err string, empty/omitted if no error + SubCloseRequests string `protobuf:"bytes,6,opt,name=subCloseRequests,proto3" json:"subCloseRequests,omitempty"` // Subject to use for subscription close requests + PublicKey string `protobuf:"bytes,100,opt,name=publicKey,proto3" json:"publicKey,omitempty"` // Possibly used to sign acks, etc. +} + +func (x *ConnectResponse) Reset() { + *x = ConnectResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectResponse) ProtoMessage() {} + +func (x *ConnectResponse) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectResponse.ProtoReflect.Descriptor instead. +func (*ConnectResponse) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP(), []int{5} +} + +func (x *ConnectResponse) GetPubPrefix() string { + if x != nil { + return x.PubPrefix + } + return "" +} + +func (x *ConnectResponse) GetSubRequests() string { + if x != nil { + return x.SubRequests + } + return "" +} + +func (x *ConnectResponse) GetUnsubRequests() string { + if x != nil { + return x.UnsubRequests + } + return "" +} + +func (x *ConnectResponse) GetCloseRequests() string { + if x != nil { + return x.CloseRequests + } + return "" +} + +func (x *ConnectResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *ConnectResponse) GetSubCloseRequests() string { + if x != nil { + return x.SubCloseRequests + } + return "" +} + +func (x *ConnectResponse) GetPublicKey() string { + if x != nil { + return x.PublicKey + } + return "" +} + +// Protocol for a client to subscribe +type SubscriptionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientID string `protobuf:"bytes,1,opt,name=clientID,proto3" json:"clientID,omitempty"` // ClientID + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` // Formal subject to subscribe to, e.g. foo.bar + QGroup string `protobuf:"bytes,3,opt,name=qGroup,proto3" json:"qGroup,omitempty"` // Optional queue group + Inbox string `protobuf:"bytes,4,opt,name=inbox,proto3" json:"inbox,omitempty"` // Inbox subject to deliver messages on + MaxInFlight int32 `protobuf:"varint,5,opt,name=maxInFlight,proto3" json:"maxInFlight,omitempty"` // Maximum inflight messages without an ack allowed + AckWaitInSecs int32 `protobuf:"varint,6,opt,name=ackWaitInSecs,proto3" json:"ackWaitInSecs,omitempty"` // Timeout for receiving an ack from the client + DurableName string `protobuf:"bytes,7,opt,name=durableName,proto3" json:"durableName,omitempty"` // Optional durable name which survives client restarts + StartPosition StartPosition `protobuf:"varint,10,opt,name=startPosition,proto3,enum=pb.StartPosition" json:"startPosition,omitempty"` // Start position + StartSequence uint64 `protobuf:"varint,11,opt,name=startSequence,proto3" json:"startSequence,omitempty"` // Optional start sequence number + StartTimeDelta int64 `protobuf:"varint,12,opt,name=startTimeDelta,proto3" json:"startTimeDelta,omitempty"` // Optional start time +} + +func (x *SubscriptionRequest) Reset() { + *x = SubscriptionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscriptionRequest) ProtoMessage() {} + +func (x *SubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscriptionRequest.ProtoReflect.Descriptor instead. +func (*SubscriptionRequest) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP(), []int{6} +} + +func (x *SubscriptionRequest) GetClientID() string { + if x != nil { + return x.ClientID + } + return "" +} + +func (x *SubscriptionRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *SubscriptionRequest) GetQGroup() string { + if x != nil { + return x.QGroup + } + return "" +} + +func (x *SubscriptionRequest) GetInbox() string { + if x != nil { + return x.Inbox + } + return "" +} + +func (x *SubscriptionRequest) GetMaxInFlight() int32 { + if x != nil { + return x.MaxInFlight + } + return 0 +} + +func (x *SubscriptionRequest) GetAckWaitInSecs() int32 { + if x != nil { + return x.AckWaitInSecs + } + return 0 +} + +func (x *SubscriptionRequest) GetDurableName() string { + if x != nil { + return x.DurableName + } + return "" +} + +func (x *SubscriptionRequest) GetStartPosition() StartPosition { + if x != nil { + return x.StartPosition + } + return StartPosition_NewOnly +} + +func (x *SubscriptionRequest) GetStartSequence() uint64 { + if x != nil { + return x.StartSequence + } + return 0 +} + +func (x *SubscriptionRequest) GetStartTimeDelta() int64 { + if x != nil { + return x.StartTimeDelta + } + return 0 +} + +// Response for SubscriptionRequest and UnsubscribeRequests +type SubscriptionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AckInbox string `protobuf:"bytes,2,opt,name=ackInbox,proto3" json:"ackInbox,omitempty"` // ackInbox for sending acks + Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` // err string, empty/omitted if no error +} + +func (x *SubscriptionResponse) Reset() { + *x = SubscriptionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscriptionResponse) ProtoMessage() {} + +func (x *SubscriptionResponse) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscriptionResponse.ProtoReflect.Descriptor instead. +func (*SubscriptionResponse) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP(), []int{7} +} + +func (x *SubscriptionResponse) GetAckInbox() string { + if x != nil { + return x.AckInbox + } + return "" +} + +func (x *SubscriptionResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +// Protocol for a clients to unsubscribe. Will return a SubscriptionResponse +type UnsubscribeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientID string `protobuf:"bytes,1,opt,name=clientID,proto3" json:"clientID,omitempty"` // ClientID + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` // subject for the subscription + Inbox string `protobuf:"bytes,3,opt,name=inbox,proto3" json:"inbox,omitempty"` // Inbox subject to identify subscription + DurableName string `protobuf:"bytes,4,opt,name=durableName,proto3" json:"durableName,omitempty"` // Optional durable name which survives client restarts +} + +func (x *UnsubscribeRequest) Reset() { + *x = UnsubscribeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnsubscribeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnsubscribeRequest) ProtoMessage() {} + +func (x *UnsubscribeRequest) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnsubscribeRequest.ProtoReflect.Descriptor instead. +func (*UnsubscribeRequest) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP(), []int{8} +} + +func (x *UnsubscribeRequest) GetClientID() string { + if x != nil { + return x.ClientID + } + return "" +} + +func (x *UnsubscribeRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *UnsubscribeRequest) GetInbox() string { + if x != nil { + return x.Inbox + } + return "" +} + +func (x *UnsubscribeRequest) GetDurableName() string { + if x != nil { + return x.DurableName + } + return "" +} + +// Protocol for a client to close a connection +type CloseRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientID string `protobuf:"bytes,1,opt,name=clientID,proto3" json:"clientID,omitempty"` // Client name provided to Connect() requests +} + +func (x *CloseRequest) Reset() { + *x = CloseRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloseRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloseRequest) ProtoMessage() {} + +func (x *CloseRequest) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloseRequest.ProtoReflect.Descriptor instead. +func (*CloseRequest) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP(), []int{9} +} + +func (x *CloseRequest) GetClientID() string { + if x != nil { + return x.ClientID + } + return "" +} + +// Response for CloseRequest +type CloseResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` // err string, empty/omitted if no error +} + +func (x *CloseResponse) Reset() { + *x = CloseResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloseResponse) ProtoMessage() {} + +func (x *CloseResponse) ProtoReflect() protoreflect.Message { + mi := &file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloseResponse.ProtoReflect.Descriptor instead. +func (*CloseResponse) Descriptor() ([]byte, []int) { + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP(), []int{10} +} + +func (x *CloseResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +var File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto protoreflect.FileDescriptor + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDesc = []byte{ + 0x0a, 0x5b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x67, 0x65, 0x6e, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x74, 0x79, 0x70, 0x65, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, + 0x62, 0x22, 0x94, 0x01, 0x0a, 0x06, 0x50, 0x75, 0x62, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x22, 0x32, 0x0a, 0x06, 0x50, 0x75, 0x62, 0x41, + 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xc0, 0x01, 0x0a, + 0x08, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x72, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x64, 0x65, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x65, + 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x52, 0x43, + 0x33, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x43, 0x52, 0x43, 0x33, 0x32, 0x22, + 0x3b, 0x0a, 0x03, 0x41, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x54, 0x0a, 0x0e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x68, 0x65, + 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x62, + 0x6f, 0x78, 0x22, 0xfd, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, + 0x6e, 0x73, 0x75, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, + 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x43, + 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, + 0x79, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, + 0x65, 0x79, 0x22, 0xea, 0x02, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x71, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x71, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x62, 0x6f, + 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x12, 0x20, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, + 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x49, 0x6e, 0x53, 0x65, 0x63, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, + 0x49, 0x6e, 0x53, 0x65, 0x63, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x75, 0x72, + 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, + 0x48, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x6b, 0x49, 0x6e, + 0x62, 0x6f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x6b, 0x49, 0x6e, + 0x62, 0x6f, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x12, 0x55, 0x6e, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2a, + 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x22, 0x25, 0x0a, 0x0d, 0x43, 0x6c, + 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x2a, 0x60, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x65, 0x77, 0x4f, 0x6e, 0x6c, 0x79, 0x10, 0x00, 0x12, + 0x10, 0x0a, 0x0c, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, + 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x69, 0x72, 0x73, + 0x74, 0x10, 0x04, 0x42, 0x55, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, + 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, + 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescOnce sync.Once + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescData = file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDesc +) + +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescGZIP() []byte { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescOnce.Do(func() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescData) + }) + return file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDescData +} + +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_goTypes = []interface{}{ + (StartPosition)(0), // 0: pb.StartPosition + (*PubMsg)(nil), // 1: pb.PubMsg + (*PubAck)(nil), // 2: pb.PubAck + (*MsgProto)(nil), // 3: pb.MsgProto + (*Ack)(nil), // 4: pb.Ack + (*ConnectRequest)(nil), // 5: pb.ConnectRequest + (*ConnectResponse)(nil), // 6: pb.ConnectResponse + (*SubscriptionRequest)(nil), // 7: pb.SubscriptionRequest + (*SubscriptionResponse)(nil), // 8: pb.SubscriptionResponse + (*UnsubscribeRequest)(nil), // 9: pb.UnsubscribeRequest + (*CloseRequest)(nil), // 10: pb.CloseRequest + (*CloseResponse)(nil), // 11: pb.CloseResponse +} +var file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_depIdxs = []int32{ + 0, // 0: pb.SubscriptionRequest.startPosition:type_name -> pb.StartPosition + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_init() +} +func file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_init() { + if File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PubMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PubAck); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProto); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Ack); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscriptionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscriptionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnsubscribeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloseRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloseResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDesc, + NumEnums: 1, + NumMessages: 11, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_goTypes, + DependencyIndexes: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_depIdxs, + EnumInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_enumTypes, + MessageInfos: file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_msgTypes, + }.Build() + File_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto = out.File + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_rawDesc = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_goTypes = nil + file_envoy_codegen_imports_github_com_solo_io_envoy_gloo_api_envoy_type_streaming_protocol_proto_depIdxs = nil +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/clients.go b/client-go/extensions.policy.gloo.solo.io/v2/clients.go new file mode 100644 index 000000000..8945a6637 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/clients.go @@ -0,0 +1,213 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the extensions.policy.gloo.solo.io/v2 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the extensions.policy.gloo.solo.io/v2 APIs +type Clientset interface { + // clienset for the extensions.policy.gloo.solo.io/v2/v2 APIs + WasmDeploymentPolicies() WasmDeploymentPolicyClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the extensions.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) WasmDeploymentPolicies() WasmDeploymentPolicyClient { + return NewWasmDeploymentPolicyClient(c.client) +} + +// Reader knows how to read and list WasmDeploymentPolicys. +type WasmDeploymentPolicyReader interface { + // Get retrieves a WasmDeploymentPolicy for the given object key + GetWasmDeploymentPolicy(ctx context.Context, key client.ObjectKey) (*WasmDeploymentPolicy, error) + + // List retrieves list of WasmDeploymentPolicys for a given namespace and list options. + ListWasmDeploymentPolicy(ctx context.Context, opts ...client.ListOption) (*WasmDeploymentPolicyList, error) +} + +// WasmDeploymentPolicyTransitionFunction instructs the WasmDeploymentPolicyWriter how to transition between an existing +// WasmDeploymentPolicy object and a desired on an Upsert +type WasmDeploymentPolicyTransitionFunction func(existing, desired *WasmDeploymentPolicy) error + +// Writer knows how to create, delete, and update WasmDeploymentPolicys. +type WasmDeploymentPolicyWriter interface { + // Create saves the WasmDeploymentPolicy object. + CreateWasmDeploymentPolicy(ctx context.Context, obj *WasmDeploymentPolicy, opts ...client.CreateOption) error + + // Delete deletes the WasmDeploymentPolicy object. + DeleteWasmDeploymentPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given WasmDeploymentPolicy object. + UpdateWasmDeploymentPolicy(ctx context.Context, obj *WasmDeploymentPolicy, opts ...client.UpdateOption) error + + // Patch patches the given WasmDeploymentPolicy object. + PatchWasmDeploymentPolicy(ctx context.Context, obj *WasmDeploymentPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all WasmDeploymentPolicy objects matching the given options. + DeleteAllOfWasmDeploymentPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the WasmDeploymentPolicy object. + UpsertWasmDeploymentPolicy(ctx context.Context, obj *WasmDeploymentPolicy, transitionFuncs ...WasmDeploymentPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a WasmDeploymentPolicy object. +type WasmDeploymentPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given WasmDeploymentPolicy object. + UpdateWasmDeploymentPolicyStatus(ctx context.Context, obj *WasmDeploymentPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given WasmDeploymentPolicy object's subresource. + PatchWasmDeploymentPolicyStatus(ctx context.Context, obj *WasmDeploymentPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on WasmDeploymentPolicys. +type WasmDeploymentPolicyClient interface { + WasmDeploymentPolicyReader + WasmDeploymentPolicyWriter + WasmDeploymentPolicyStatusWriter +} + +type wasmDeploymentPolicyClient struct { + client client.Client +} + +func NewWasmDeploymentPolicyClient(client client.Client) *wasmDeploymentPolicyClient { + return &wasmDeploymentPolicyClient{client: client} +} + +func (c *wasmDeploymentPolicyClient) GetWasmDeploymentPolicy(ctx context.Context, key client.ObjectKey) (*WasmDeploymentPolicy, error) { + obj := &WasmDeploymentPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *wasmDeploymentPolicyClient) ListWasmDeploymentPolicy(ctx context.Context, opts ...client.ListOption) (*WasmDeploymentPolicyList, error) { + list := &WasmDeploymentPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *wasmDeploymentPolicyClient) CreateWasmDeploymentPolicy(ctx context.Context, obj *WasmDeploymentPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *wasmDeploymentPolicyClient) DeleteWasmDeploymentPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &WasmDeploymentPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *wasmDeploymentPolicyClient) UpdateWasmDeploymentPolicy(ctx context.Context, obj *WasmDeploymentPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *wasmDeploymentPolicyClient) PatchWasmDeploymentPolicy(ctx context.Context, obj *WasmDeploymentPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *wasmDeploymentPolicyClient) DeleteAllOfWasmDeploymentPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &WasmDeploymentPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *wasmDeploymentPolicyClient) UpsertWasmDeploymentPolicy(ctx context.Context, obj *WasmDeploymentPolicy, transitionFuncs ...WasmDeploymentPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*WasmDeploymentPolicy), desired.(*WasmDeploymentPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *wasmDeploymentPolicyClient) UpdateWasmDeploymentPolicyStatus(ctx context.Context, obj *WasmDeploymentPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *wasmDeploymentPolicyClient) PatchWasmDeploymentPolicyStatus(ctx context.Context, obj *WasmDeploymentPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides WasmDeploymentPolicyClients for multiple clusters. +type MulticlusterWasmDeploymentPolicyClient interface { + // Cluster returns a WasmDeploymentPolicyClient for the given cluster + Cluster(cluster string) (WasmDeploymentPolicyClient, error) +} + +type multiclusterWasmDeploymentPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterWasmDeploymentPolicyClient(client multicluster.Client) MulticlusterWasmDeploymentPolicyClient { + return &multiclusterWasmDeploymentPolicyClient{client: client} +} + +func (m *multiclusterWasmDeploymentPolicyClient) Cluster(cluster string) (WasmDeploymentPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewWasmDeploymentPolicyClient(client), nil +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/config_types.go b/client-go/extensions.policy.gloo.solo.io/v2/config_types.go new file mode 100644 index 000000000..dbdcfa583 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/config_types.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2 + +// IsConfigObject implements ConfigObject interface for WasmDeploymentPolicy +func (o *WasmDeploymentPolicy) IsConfigObject() {} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/controller/event_handlers.go b/client-go/extensions.policy.gloo.solo.io/v2/controller/event_handlers.go new file mode 100644 index 000000000..0e5c4ebca --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/controller/event_handlers.go @@ -0,0 +1,125 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + extensions_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the WasmDeploymentPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type WasmDeploymentPolicyEventHandler interface { + CreateWasmDeploymentPolicy(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error + UpdateWasmDeploymentPolicy(old, new *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error + DeleteWasmDeploymentPolicy(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error + GenericWasmDeploymentPolicy(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error +} + +type WasmDeploymentPolicyEventHandlerFuncs struct { + OnCreate func(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error + OnUpdate func(old, new *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error + OnDelete func(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error + OnGeneric func(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error +} + +func (f *WasmDeploymentPolicyEventHandlerFuncs) CreateWasmDeploymentPolicy(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *WasmDeploymentPolicyEventHandlerFuncs) DeleteWasmDeploymentPolicy(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *WasmDeploymentPolicyEventHandlerFuncs) UpdateWasmDeploymentPolicy(objOld, objNew *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *WasmDeploymentPolicyEventHandlerFuncs) GenericWasmDeploymentPolicy(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type WasmDeploymentPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h WasmDeploymentPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type wasmDeploymentPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewWasmDeploymentPolicyEventWatcher(name string, mgr manager.Manager) WasmDeploymentPolicyEventWatcher { + return &wasmDeploymentPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy{}), + } +} + +func (c *wasmDeploymentPolicyEventWatcher) AddEventHandler(ctx context.Context, h WasmDeploymentPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericWasmDeploymentPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericWasmDeploymentPolicyHandler implements a generic events.EventHandler +type genericWasmDeploymentPolicyHandler struct { + handler WasmDeploymentPolicyEventHandler +} + +func (h genericWasmDeploymentPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) + if !ok { + return errors.Errorf("internal error: WasmDeploymentPolicy handler received event for %T", object) + } + return h.handler.CreateWasmDeploymentPolicy(obj) +} + +func (h genericWasmDeploymentPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) + if !ok { + return errors.Errorf("internal error: WasmDeploymentPolicy handler received event for %T", object) + } + return h.handler.DeleteWasmDeploymentPolicy(obj) +} + +func (h genericWasmDeploymentPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) + if !ok { + return errors.Errorf("internal error: WasmDeploymentPolicy handler received event for %T", old) + } + objNew, ok := new.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) + if !ok { + return errors.Errorf("internal error: WasmDeploymentPolicy handler received event for %T", new) + } + return h.handler.UpdateWasmDeploymentPolicy(objOld, objNew) +} + +func (h genericWasmDeploymentPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) + if !ok { + return errors.Errorf("internal error: WasmDeploymentPolicy handler received event for %T", object) + } + return h.handler.GenericWasmDeploymentPolicy(obj) +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go b/client-go/extensions.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go new file mode 100644 index 000000000..572c2e43e --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go @@ -0,0 +1,137 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2/controller" +) + +// MockWasmDeploymentPolicyEventHandler is a mock of WasmDeploymentPolicyEventHandler interface. +type MockWasmDeploymentPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockWasmDeploymentPolicyEventHandlerMockRecorder +} + +// MockWasmDeploymentPolicyEventHandlerMockRecorder is the mock recorder for MockWasmDeploymentPolicyEventHandler. +type MockWasmDeploymentPolicyEventHandlerMockRecorder struct { + mock *MockWasmDeploymentPolicyEventHandler +} + +// NewMockWasmDeploymentPolicyEventHandler creates a new mock instance. +func NewMockWasmDeploymentPolicyEventHandler(ctrl *gomock.Controller) *MockWasmDeploymentPolicyEventHandler { + mock := &MockWasmDeploymentPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockWasmDeploymentPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWasmDeploymentPolicyEventHandler) EXPECT() *MockWasmDeploymentPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyEventHandler) CreateWasmDeploymentPolicy(obj *v2.WasmDeploymentPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateWasmDeploymentPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWasmDeploymentPolicy indicates an expected call of CreateWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyEventHandlerMockRecorder) CreateWasmDeploymentPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyEventHandler)(nil).CreateWasmDeploymentPolicy), obj) +} + +// DeleteWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyEventHandler) DeleteWasmDeploymentPolicy(obj *v2.WasmDeploymentPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteWasmDeploymentPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWasmDeploymentPolicy indicates an expected call of DeleteWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyEventHandlerMockRecorder) DeleteWasmDeploymentPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyEventHandler)(nil).DeleteWasmDeploymentPolicy), obj) +} + +// GenericWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyEventHandler) GenericWasmDeploymentPolicy(obj *v2.WasmDeploymentPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericWasmDeploymentPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericWasmDeploymentPolicy indicates an expected call of GenericWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyEventHandlerMockRecorder) GenericWasmDeploymentPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyEventHandler)(nil).GenericWasmDeploymentPolicy), obj) +} + +// UpdateWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyEventHandler) UpdateWasmDeploymentPolicy(old, new *v2.WasmDeploymentPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateWasmDeploymentPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWasmDeploymentPolicy indicates an expected call of UpdateWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyEventHandlerMockRecorder) UpdateWasmDeploymentPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyEventHandler)(nil).UpdateWasmDeploymentPolicy), old, new) +} + +// MockWasmDeploymentPolicyEventWatcher is a mock of WasmDeploymentPolicyEventWatcher interface. +type MockWasmDeploymentPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockWasmDeploymentPolicyEventWatcherMockRecorder +} + +// MockWasmDeploymentPolicyEventWatcherMockRecorder is the mock recorder for MockWasmDeploymentPolicyEventWatcher. +type MockWasmDeploymentPolicyEventWatcherMockRecorder struct { + mock *MockWasmDeploymentPolicyEventWatcher +} + +// NewMockWasmDeploymentPolicyEventWatcher creates a new mock instance. +func NewMockWasmDeploymentPolicyEventWatcher(ctrl *gomock.Controller) *MockWasmDeploymentPolicyEventWatcher { + mock := &MockWasmDeploymentPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockWasmDeploymentPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWasmDeploymentPolicyEventWatcher) EXPECT() *MockWasmDeploymentPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockWasmDeploymentPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.WasmDeploymentPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockWasmDeploymentPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockWasmDeploymentPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go b/client-go/extensions.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..207596cdc --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,132 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2/controller" +) + +// MockMulticlusterWasmDeploymentPolicyReconciler is a mock of MulticlusterWasmDeploymentPolicyReconciler interface. +type MockMulticlusterWasmDeploymentPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWasmDeploymentPolicyReconcilerMockRecorder +} + +// MockMulticlusterWasmDeploymentPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterWasmDeploymentPolicyReconciler. +type MockMulticlusterWasmDeploymentPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterWasmDeploymentPolicyReconciler +} + +// NewMockMulticlusterWasmDeploymentPolicyReconciler creates a new mock instance. +func NewMockMulticlusterWasmDeploymentPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterWasmDeploymentPolicyReconciler { + mock := &MockMulticlusterWasmDeploymentPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterWasmDeploymentPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWasmDeploymentPolicyReconciler) EXPECT() *MockMulticlusterWasmDeploymentPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWasmDeploymentPolicy mocks base method. +func (m *MockMulticlusterWasmDeploymentPolicyReconciler) ReconcileWasmDeploymentPolicy(clusterName string, obj *v2.WasmDeploymentPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWasmDeploymentPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWasmDeploymentPolicy indicates an expected call of ReconcileWasmDeploymentPolicy. +func (mr *MockMulticlusterWasmDeploymentPolicyReconcilerMockRecorder) ReconcileWasmDeploymentPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWasmDeploymentPolicy", reflect.TypeOf((*MockMulticlusterWasmDeploymentPolicyReconciler)(nil).ReconcileWasmDeploymentPolicy), clusterName, obj) +} + +// MockMulticlusterWasmDeploymentPolicyDeletionReconciler is a mock of MulticlusterWasmDeploymentPolicyDeletionReconciler interface. +type MockMulticlusterWasmDeploymentPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWasmDeploymentPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterWasmDeploymentPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterWasmDeploymentPolicyDeletionReconciler. +type MockMulticlusterWasmDeploymentPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterWasmDeploymentPolicyDeletionReconciler +} + +// NewMockMulticlusterWasmDeploymentPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterWasmDeploymentPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterWasmDeploymentPolicyDeletionReconciler { + mock := &MockMulticlusterWasmDeploymentPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterWasmDeploymentPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWasmDeploymentPolicyDeletionReconciler) EXPECT() *MockMulticlusterWasmDeploymentPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWasmDeploymentPolicyDeletion mocks base method. +func (m *MockMulticlusterWasmDeploymentPolicyDeletionReconciler) ReconcileWasmDeploymentPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWasmDeploymentPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileWasmDeploymentPolicyDeletion indicates an expected call of ReconcileWasmDeploymentPolicyDeletion. +func (mr *MockMulticlusterWasmDeploymentPolicyDeletionReconcilerMockRecorder) ReconcileWasmDeploymentPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWasmDeploymentPolicyDeletion", reflect.TypeOf((*MockMulticlusterWasmDeploymentPolicyDeletionReconciler)(nil).ReconcileWasmDeploymentPolicyDeletion), clusterName, req) +} + +// MockMulticlusterWasmDeploymentPolicyReconcileLoop is a mock of MulticlusterWasmDeploymentPolicyReconcileLoop interface. +type MockMulticlusterWasmDeploymentPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWasmDeploymentPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterWasmDeploymentPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterWasmDeploymentPolicyReconcileLoop. +type MockMulticlusterWasmDeploymentPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterWasmDeploymentPolicyReconcileLoop +} + +// NewMockMulticlusterWasmDeploymentPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterWasmDeploymentPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterWasmDeploymentPolicyReconcileLoop { + mock := &MockMulticlusterWasmDeploymentPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterWasmDeploymentPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWasmDeploymentPolicyReconcileLoop) EXPECT() *MockMulticlusterWasmDeploymentPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterWasmDeploymentPolicyReconciler mocks base method. +func (m *MockMulticlusterWasmDeploymentPolicyReconcileLoop) AddMulticlusterWasmDeploymentPolicyReconciler(ctx context.Context, rec controller.MulticlusterWasmDeploymentPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterWasmDeploymentPolicyReconciler", varargs...) +} + +// AddMulticlusterWasmDeploymentPolicyReconciler indicates an expected call of AddMulticlusterWasmDeploymentPolicyReconciler. +func (mr *MockMulticlusterWasmDeploymentPolicyReconcileLoopMockRecorder) AddMulticlusterWasmDeploymentPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterWasmDeploymentPolicyReconciler", reflect.TypeOf((*MockMulticlusterWasmDeploymentPolicyReconcileLoop)(nil).AddMulticlusterWasmDeploymentPolicyReconciler), varargs...) +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go b/client-go/extensions.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go new file mode 100644 index 000000000..646d4b814 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go @@ -0,0 +1,200 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2/controller" +) + +// MockWasmDeploymentPolicyReconciler is a mock of WasmDeploymentPolicyReconciler interface. +type MockWasmDeploymentPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockWasmDeploymentPolicyReconcilerMockRecorder +} + +// MockWasmDeploymentPolicyReconcilerMockRecorder is the mock recorder for MockWasmDeploymentPolicyReconciler. +type MockWasmDeploymentPolicyReconcilerMockRecorder struct { + mock *MockWasmDeploymentPolicyReconciler +} + +// NewMockWasmDeploymentPolicyReconciler creates a new mock instance. +func NewMockWasmDeploymentPolicyReconciler(ctrl *gomock.Controller) *MockWasmDeploymentPolicyReconciler { + mock := &MockWasmDeploymentPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockWasmDeploymentPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWasmDeploymentPolicyReconciler) EXPECT() *MockWasmDeploymentPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyReconciler) ReconcileWasmDeploymentPolicy(obj *v2.WasmDeploymentPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWasmDeploymentPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWasmDeploymentPolicy indicates an expected call of ReconcileWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyReconcilerMockRecorder) ReconcileWasmDeploymentPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyReconciler)(nil).ReconcileWasmDeploymentPolicy), obj) +} + +// MockWasmDeploymentPolicyDeletionReconciler is a mock of WasmDeploymentPolicyDeletionReconciler interface. +type MockWasmDeploymentPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockWasmDeploymentPolicyDeletionReconcilerMockRecorder +} + +// MockWasmDeploymentPolicyDeletionReconcilerMockRecorder is the mock recorder for MockWasmDeploymentPolicyDeletionReconciler. +type MockWasmDeploymentPolicyDeletionReconcilerMockRecorder struct { + mock *MockWasmDeploymentPolicyDeletionReconciler +} + +// NewMockWasmDeploymentPolicyDeletionReconciler creates a new mock instance. +func NewMockWasmDeploymentPolicyDeletionReconciler(ctrl *gomock.Controller) *MockWasmDeploymentPolicyDeletionReconciler { + mock := &MockWasmDeploymentPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockWasmDeploymentPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWasmDeploymentPolicyDeletionReconciler) EXPECT() *MockWasmDeploymentPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWasmDeploymentPolicyDeletion mocks base method. +func (m *MockWasmDeploymentPolicyDeletionReconciler) ReconcileWasmDeploymentPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWasmDeploymentPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileWasmDeploymentPolicyDeletion indicates an expected call of ReconcileWasmDeploymentPolicyDeletion. +func (mr *MockWasmDeploymentPolicyDeletionReconcilerMockRecorder) ReconcileWasmDeploymentPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWasmDeploymentPolicyDeletion", reflect.TypeOf((*MockWasmDeploymentPolicyDeletionReconciler)(nil).ReconcileWasmDeploymentPolicyDeletion), req) +} + +// MockWasmDeploymentPolicyFinalizer is a mock of WasmDeploymentPolicyFinalizer interface. +type MockWasmDeploymentPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockWasmDeploymentPolicyFinalizerMockRecorder +} + +// MockWasmDeploymentPolicyFinalizerMockRecorder is the mock recorder for MockWasmDeploymentPolicyFinalizer. +type MockWasmDeploymentPolicyFinalizerMockRecorder struct { + mock *MockWasmDeploymentPolicyFinalizer +} + +// NewMockWasmDeploymentPolicyFinalizer creates a new mock instance. +func NewMockWasmDeploymentPolicyFinalizer(ctrl *gomock.Controller) *MockWasmDeploymentPolicyFinalizer { + mock := &MockWasmDeploymentPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockWasmDeploymentPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWasmDeploymentPolicyFinalizer) EXPECT() *MockWasmDeploymentPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyFinalizer) FinalizeWasmDeploymentPolicy(obj *v2.WasmDeploymentPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeWasmDeploymentPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeWasmDeploymentPolicy indicates an expected call of FinalizeWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyFinalizerMockRecorder) FinalizeWasmDeploymentPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyFinalizer)(nil).FinalizeWasmDeploymentPolicy), obj) +} + +// ReconcileWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyFinalizer) ReconcileWasmDeploymentPolicy(obj *v2.WasmDeploymentPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWasmDeploymentPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWasmDeploymentPolicy indicates an expected call of ReconcileWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyFinalizerMockRecorder) ReconcileWasmDeploymentPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyFinalizer)(nil).ReconcileWasmDeploymentPolicy), obj) +} + +// WasmDeploymentPolicyFinalizerName mocks base method. +func (m *MockWasmDeploymentPolicyFinalizer) WasmDeploymentPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "WasmDeploymentPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// WasmDeploymentPolicyFinalizerName indicates an expected call of WasmDeploymentPolicyFinalizerName. +func (mr *MockWasmDeploymentPolicyFinalizerMockRecorder) WasmDeploymentPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WasmDeploymentPolicyFinalizerName", reflect.TypeOf((*MockWasmDeploymentPolicyFinalizer)(nil).WasmDeploymentPolicyFinalizerName)) +} + +// MockWasmDeploymentPolicyReconcileLoop is a mock of WasmDeploymentPolicyReconcileLoop interface. +type MockWasmDeploymentPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockWasmDeploymentPolicyReconcileLoopMockRecorder +} + +// MockWasmDeploymentPolicyReconcileLoopMockRecorder is the mock recorder for MockWasmDeploymentPolicyReconcileLoop. +type MockWasmDeploymentPolicyReconcileLoopMockRecorder struct { + mock *MockWasmDeploymentPolicyReconcileLoop +} + +// NewMockWasmDeploymentPolicyReconcileLoop creates a new mock instance. +func NewMockWasmDeploymentPolicyReconcileLoop(ctrl *gomock.Controller) *MockWasmDeploymentPolicyReconcileLoop { + mock := &MockWasmDeploymentPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockWasmDeploymentPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWasmDeploymentPolicyReconcileLoop) EXPECT() *MockWasmDeploymentPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunWasmDeploymentPolicyReconciler mocks base method. +func (m *MockWasmDeploymentPolicyReconcileLoop) RunWasmDeploymentPolicyReconciler(ctx context.Context, rec controller.WasmDeploymentPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunWasmDeploymentPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunWasmDeploymentPolicyReconciler indicates an expected call of RunWasmDeploymentPolicyReconciler. +func (mr *MockWasmDeploymentPolicyReconcileLoopMockRecorder) RunWasmDeploymentPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunWasmDeploymentPolicyReconciler", reflect.TypeOf((*MockWasmDeploymentPolicyReconcileLoop)(nil).RunWasmDeploymentPolicyReconciler), varargs...) +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go b/client-go/extensions.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..962f01f14 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go @@ -0,0 +1,90 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + extensions_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the WasmDeploymentPolicy Resource across clusters. +// implemented by the user +type MulticlusterWasmDeploymentPolicyReconciler interface { + ReconcileWasmDeploymentPolicy(clusterName string, obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the WasmDeploymentPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterWasmDeploymentPolicyDeletionReconciler interface { + ReconcileWasmDeploymentPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterWasmDeploymentPolicyReconcilerFuncs struct { + OnReconcileWasmDeploymentPolicy func(clusterName string, obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) (reconcile.Result, error) + OnReconcileWasmDeploymentPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterWasmDeploymentPolicyReconcilerFuncs) ReconcileWasmDeploymentPolicy(clusterName string, obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) (reconcile.Result, error) { + if f.OnReconcileWasmDeploymentPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileWasmDeploymentPolicy(clusterName, obj) +} + +func (f *MulticlusterWasmDeploymentPolicyReconcilerFuncs) ReconcileWasmDeploymentPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileWasmDeploymentPolicyDeletion == nil { + return nil + } + return f.OnReconcileWasmDeploymentPolicyDeletion(clusterName, req) +} + +type MulticlusterWasmDeploymentPolicyReconcileLoop interface { + // AddMulticlusterWasmDeploymentPolicyReconciler adds a MulticlusterWasmDeploymentPolicyReconciler to the MulticlusterWasmDeploymentPolicyReconcileLoop. + AddMulticlusterWasmDeploymentPolicyReconciler(ctx context.Context, rec MulticlusterWasmDeploymentPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterWasmDeploymentPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterWasmDeploymentPolicyReconcileLoop) AddMulticlusterWasmDeploymentPolicyReconciler(ctx context.Context, rec MulticlusterWasmDeploymentPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericWasmDeploymentPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterWasmDeploymentPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterWasmDeploymentPolicyReconcileLoop { + return &multiclusterWasmDeploymentPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy{}, options)} +} + +type genericWasmDeploymentPolicyMulticlusterReconciler struct { + reconciler MulticlusterWasmDeploymentPolicyReconciler +} + +func (g genericWasmDeploymentPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterWasmDeploymentPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileWasmDeploymentPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericWasmDeploymentPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: WasmDeploymentPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileWasmDeploymentPolicy(cluster, obj) +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/controller/reconcilers.go b/client-go/extensions.policy.gloo.solo.io/v2/controller/reconcilers.go new file mode 100644 index 000000000..2a23f00be --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/controller/reconcilers.go @@ -0,0 +1,135 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + extensions_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the WasmDeploymentPolicy Resource. +// implemented by the user +type WasmDeploymentPolicyReconciler interface { + ReconcileWasmDeploymentPolicy(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the WasmDeploymentPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type WasmDeploymentPolicyDeletionReconciler interface { + ReconcileWasmDeploymentPolicyDeletion(req reconcile.Request) error +} + +type WasmDeploymentPolicyReconcilerFuncs struct { + OnReconcileWasmDeploymentPolicy func(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) (reconcile.Result, error) + OnReconcileWasmDeploymentPolicyDeletion func(req reconcile.Request) error +} + +func (f *WasmDeploymentPolicyReconcilerFuncs) ReconcileWasmDeploymentPolicy(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) (reconcile.Result, error) { + if f.OnReconcileWasmDeploymentPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileWasmDeploymentPolicy(obj) +} + +func (f *WasmDeploymentPolicyReconcilerFuncs) ReconcileWasmDeploymentPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileWasmDeploymentPolicyDeletion == nil { + return nil + } + return f.OnReconcileWasmDeploymentPolicyDeletion(req) +} + +// Reconcile and finalize the WasmDeploymentPolicy Resource +// implemented by the user +type WasmDeploymentPolicyFinalizer interface { + WasmDeploymentPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + WasmDeploymentPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeWasmDeploymentPolicy(obj *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) error +} + +type WasmDeploymentPolicyReconcileLoop interface { + RunWasmDeploymentPolicyReconciler(ctx context.Context, rec WasmDeploymentPolicyReconciler, predicates ...predicate.Predicate) error +} + +type wasmDeploymentPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewWasmDeploymentPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) WasmDeploymentPolicyReconcileLoop { + return &wasmDeploymentPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy{}, options), + } +} + +func (c *wasmDeploymentPolicyReconcileLoop) RunWasmDeploymentPolicyReconciler(ctx context.Context, reconciler WasmDeploymentPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericWasmDeploymentPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(WasmDeploymentPolicyFinalizer); ok { + reconcilerWrapper = genericWasmDeploymentPolicyFinalizer{ + genericWasmDeploymentPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericWasmDeploymentPolicyHandler implements a generic reconcile.Reconciler +type genericWasmDeploymentPolicyReconciler struct { + reconciler WasmDeploymentPolicyReconciler +} + +func (r genericWasmDeploymentPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: WasmDeploymentPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileWasmDeploymentPolicy(obj) +} + +func (r genericWasmDeploymentPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(WasmDeploymentPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileWasmDeploymentPolicyDeletion(request) + } + return nil +} + +// genericWasmDeploymentPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericWasmDeploymentPolicyFinalizer struct { + genericWasmDeploymentPolicyReconciler + finalizingReconciler WasmDeploymentPolicyFinalizer +} + +func (r genericWasmDeploymentPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.WasmDeploymentPolicyFinalizerName() +} + +func (r genericWasmDeploymentPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) + if !ok { + return errors.Errorf("internal error: WasmDeploymentPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeWasmDeploymentPolicy(obj) +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/doc.go b/client-go/extensions.policy.gloo.solo.io/v2/doc.go new file mode 100644 index 000000000..58a27a222 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2 contains API Schema definitions for the extensions.policy.gloo.solo.io v2 API group +// +k8s:deepcopy-gen=package,register +// +groupName=extensions.policy.gloo.solo.io +package v2 diff --git a/client-go/extensions.policy.gloo.solo.io/v2/json.gen.go b/client-go/extensions.policy.gloo.solo.io/v2/json.gen.go new file mode 100644 index 000000000..2eb40d5ec --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/json.gen.go @@ -0,0 +1,50 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for WasmDeploymentPolicySpec +func (this *WasmDeploymentPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for WasmDeploymentPolicySpec +func (this *WasmDeploymentPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for WasmDeploymentPolicyStatus +func (this *WasmDeploymentPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for WasmDeploymentPolicyStatus +func (this *WasmDeploymentPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/mocks/clients.go b/client-go/extensions.policy.gloo.solo.io/v2/mocks/clients.go new file mode 100644 index 000000000..10979c232 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/mocks/clients.go @@ -0,0 +1,594 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2 is a generated GoMock package. +package mock_v2 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2 "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// WasmDeploymentPolicies mocks base method. +func (m *MockClientset) WasmDeploymentPolicies() v2.WasmDeploymentPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "WasmDeploymentPolicies") + ret0, _ := ret[0].(v2.WasmDeploymentPolicyClient) + return ret0 +} + +// WasmDeploymentPolicies indicates an expected call of WasmDeploymentPolicies. +func (mr *MockClientsetMockRecorder) WasmDeploymentPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WasmDeploymentPolicies", reflect.TypeOf((*MockClientset)(nil).WasmDeploymentPolicies)) +} + +// MockWasmDeploymentPolicyReader is a mock of WasmDeploymentPolicyReader interface. +type MockWasmDeploymentPolicyReader struct { + ctrl *gomock.Controller + recorder *MockWasmDeploymentPolicyReaderMockRecorder +} + +// MockWasmDeploymentPolicyReaderMockRecorder is the mock recorder for MockWasmDeploymentPolicyReader. +type MockWasmDeploymentPolicyReaderMockRecorder struct { + mock *MockWasmDeploymentPolicyReader +} + +// NewMockWasmDeploymentPolicyReader creates a new mock instance. +func NewMockWasmDeploymentPolicyReader(ctrl *gomock.Controller) *MockWasmDeploymentPolicyReader { + mock := &MockWasmDeploymentPolicyReader{ctrl: ctrl} + mock.recorder = &MockWasmDeploymentPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWasmDeploymentPolicyReader) EXPECT() *MockWasmDeploymentPolicyReaderMockRecorder { + return m.recorder +} + +// GetWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyReader) GetWasmDeploymentPolicy(ctx context.Context, key client.ObjectKey) (*v2.WasmDeploymentPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWasmDeploymentPolicy", ctx, key) + ret0, _ := ret[0].(*v2.WasmDeploymentPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWasmDeploymentPolicy indicates an expected call of GetWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyReaderMockRecorder) GetWasmDeploymentPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyReader)(nil).GetWasmDeploymentPolicy), ctx, key) +} + +// ListWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyReader) ListWasmDeploymentPolicy(ctx context.Context, opts ...client.ListOption) (*v2.WasmDeploymentPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(*v2.WasmDeploymentPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWasmDeploymentPolicy indicates an expected call of ListWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyReaderMockRecorder) ListWasmDeploymentPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyReader)(nil).ListWasmDeploymentPolicy), varargs...) +} + +// MockWasmDeploymentPolicyWriter is a mock of WasmDeploymentPolicyWriter interface. +type MockWasmDeploymentPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockWasmDeploymentPolicyWriterMockRecorder +} + +// MockWasmDeploymentPolicyWriterMockRecorder is the mock recorder for MockWasmDeploymentPolicyWriter. +type MockWasmDeploymentPolicyWriterMockRecorder struct { + mock *MockWasmDeploymentPolicyWriter +} + +// NewMockWasmDeploymentPolicyWriter creates a new mock instance. +func NewMockWasmDeploymentPolicyWriter(ctrl *gomock.Controller) *MockWasmDeploymentPolicyWriter { + mock := &MockWasmDeploymentPolicyWriter{ctrl: ctrl} + mock.recorder = &MockWasmDeploymentPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWasmDeploymentPolicyWriter) EXPECT() *MockWasmDeploymentPolicyWriterMockRecorder { + return m.recorder +} + +// CreateWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyWriter) CreateWasmDeploymentPolicy(ctx context.Context, obj *v2.WasmDeploymentPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWasmDeploymentPolicy indicates an expected call of CreateWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyWriterMockRecorder) CreateWasmDeploymentPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyWriter)(nil).CreateWasmDeploymentPolicy), varargs...) +} + +// DeleteAllOfWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyWriter) DeleteAllOfWasmDeploymentPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfWasmDeploymentPolicy indicates an expected call of DeleteAllOfWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyWriterMockRecorder) DeleteAllOfWasmDeploymentPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyWriter)(nil).DeleteAllOfWasmDeploymentPolicy), varargs...) +} + +// DeleteWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyWriter) DeleteWasmDeploymentPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWasmDeploymentPolicy indicates an expected call of DeleteWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyWriterMockRecorder) DeleteWasmDeploymentPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyWriter)(nil).DeleteWasmDeploymentPolicy), varargs...) +} + +// PatchWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyWriter) PatchWasmDeploymentPolicy(ctx context.Context, obj *v2.WasmDeploymentPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWasmDeploymentPolicy indicates an expected call of PatchWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyWriterMockRecorder) PatchWasmDeploymentPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyWriter)(nil).PatchWasmDeploymentPolicy), varargs...) +} + +// UpdateWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyWriter) UpdateWasmDeploymentPolicy(ctx context.Context, obj *v2.WasmDeploymentPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWasmDeploymentPolicy indicates an expected call of UpdateWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyWriterMockRecorder) UpdateWasmDeploymentPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyWriter)(nil).UpdateWasmDeploymentPolicy), varargs...) +} + +// UpsertWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyWriter) UpsertWasmDeploymentPolicy(ctx context.Context, obj *v2.WasmDeploymentPolicy, transitionFuncs ...v2.WasmDeploymentPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertWasmDeploymentPolicy indicates an expected call of UpsertWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyWriterMockRecorder) UpsertWasmDeploymentPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyWriter)(nil).UpsertWasmDeploymentPolicy), varargs...) +} + +// MockWasmDeploymentPolicyStatusWriter is a mock of WasmDeploymentPolicyStatusWriter interface. +type MockWasmDeploymentPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockWasmDeploymentPolicyStatusWriterMockRecorder +} + +// MockWasmDeploymentPolicyStatusWriterMockRecorder is the mock recorder for MockWasmDeploymentPolicyStatusWriter. +type MockWasmDeploymentPolicyStatusWriterMockRecorder struct { + mock *MockWasmDeploymentPolicyStatusWriter +} + +// NewMockWasmDeploymentPolicyStatusWriter creates a new mock instance. +func NewMockWasmDeploymentPolicyStatusWriter(ctrl *gomock.Controller) *MockWasmDeploymentPolicyStatusWriter { + mock := &MockWasmDeploymentPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockWasmDeploymentPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWasmDeploymentPolicyStatusWriter) EXPECT() *MockWasmDeploymentPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchWasmDeploymentPolicyStatus mocks base method. +func (m *MockWasmDeploymentPolicyStatusWriter) PatchWasmDeploymentPolicyStatus(ctx context.Context, obj *v2.WasmDeploymentPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWasmDeploymentPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWasmDeploymentPolicyStatus indicates an expected call of PatchWasmDeploymentPolicyStatus. +func (mr *MockWasmDeploymentPolicyStatusWriterMockRecorder) PatchWasmDeploymentPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWasmDeploymentPolicyStatus", reflect.TypeOf((*MockWasmDeploymentPolicyStatusWriter)(nil).PatchWasmDeploymentPolicyStatus), varargs...) +} + +// UpdateWasmDeploymentPolicyStatus mocks base method. +func (m *MockWasmDeploymentPolicyStatusWriter) UpdateWasmDeploymentPolicyStatus(ctx context.Context, obj *v2.WasmDeploymentPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWasmDeploymentPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWasmDeploymentPolicyStatus indicates an expected call of UpdateWasmDeploymentPolicyStatus. +func (mr *MockWasmDeploymentPolicyStatusWriterMockRecorder) UpdateWasmDeploymentPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWasmDeploymentPolicyStatus", reflect.TypeOf((*MockWasmDeploymentPolicyStatusWriter)(nil).UpdateWasmDeploymentPolicyStatus), varargs...) +} + +// MockWasmDeploymentPolicyClient is a mock of WasmDeploymentPolicyClient interface. +type MockWasmDeploymentPolicyClient struct { + ctrl *gomock.Controller + recorder *MockWasmDeploymentPolicyClientMockRecorder +} + +// MockWasmDeploymentPolicyClientMockRecorder is the mock recorder for MockWasmDeploymentPolicyClient. +type MockWasmDeploymentPolicyClientMockRecorder struct { + mock *MockWasmDeploymentPolicyClient +} + +// NewMockWasmDeploymentPolicyClient creates a new mock instance. +func NewMockWasmDeploymentPolicyClient(ctrl *gomock.Controller) *MockWasmDeploymentPolicyClient { + mock := &MockWasmDeploymentPolicyClient{ctrl: ctrl} + mock.recorder = &MockWasmDeploymentPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWasmDeploymentPolicyClient) EXPECT() *MockWasmDeploymentPolicyClientMockRecorder { + return m.recorder +} + +// CreateWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyClient) CreateWasmDeploymentPolicy(ctx context.Context, obj *v2.WasmDeploymentPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWasmDeploymentPolicy indicates an expected call of CreateWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyClientMockRecorder) CreateWasmDeploymentPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyClient)(nil).CreateWasmDeploymentPolicy), varargs...) +} + +// DeleteAllOfWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyClient) DeleteAllOfWasmDeploymentPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfWasmDeploymentPolicy indicates an expected call of DeleteAllOfWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyClientMockRecorder) DeleteAllOfWasmDeploymentPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyClient)(nil).DeleteAllOfWasmDeploymentPolicy), varargs...) +} + +// DeleteWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyClient) DeleteWasmDeploymentPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWasmDeploymentPolicy indicates an expected call of DeleteWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyClientMockRecorder) DeleteWasmDeploymentPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyClient)(nil).DeleteWasmDeploymentPolicy), varargs...) +} + +// GetWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyClient) GetWasmDeploymentPolicy(ctx context.Context, key client.ObjectKey) (*v2.WasmDeploymentPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWasmDeploymentPolicy", ctx, key) + ret0, _ := ret[0].(*v2.WasmDeploymentPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWasmDeploymentPolicy indicates an expected call of GetWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyClientMockRecorder) GetWasmDeploymentPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyClient)(nil).GetWasmDeploymentPolicy), ctx, key) +} + +// ListWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyClient) ListWasmDeploymentPolicy(ctx context.Context, opts ...client.ListOption) (*v2.WasmDeploymentPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(*v2.WasmDeploymentPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWasmDeploymentPolicy indicates an expected call of ListWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyClientMockRecorder) ListWasmDeploymentPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyClient)(nil).ListWasmDeploymentPolicy), varargs...) +} + +// PatchWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyClient) PatchWasmDeploymentPolicy(ctx context.Context, obj *v2.WasmDeploymentPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWasmDeploymentPolicy indicates an expected call of PatchWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyClientMockRecorder) PatchWasmDeploymentPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyClient)(nil).PatchWasmDeploymentPolicy), varargs...) +} + +// PatchWasmDeploymentPolicyStatus mocks base method. +func (m *MockWasmDeploymentPolicyClient) PatchWasmDeploymentPolicyStatus(ctx context.Context, obj *v2.WasmDeploymentPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWasmDeploymentPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWasmDeploymentPolicyStatus indicates an expected call of PatchWasmDeploymentPolicyStatus. +func (mr *MockWasmDeploymentPolicyClientMockRecorder) PatchWasmDeploymentPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWasmDeploymentPolicyStatus", reflect.TypeOf((*MockWasmDeploymentPolicyClient)(nil).PatchWasmDeploymentPolicyStatus), varargs...) +} + +// UpdateWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyClient) UpdateWasmDeploymentPolicy(ctx context.Context, obj *v2.WasmDeploymentPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWasmDeploymentPolicy indicates an expected call of UpdateWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyClientMockRecorder) UpdateWasmDeploymentPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyClient)(nil).UpdateWasmDeploymentPolicy), varargs...) +} + +// UpdateWasmDeploymentPolicyStatus mocks base method. +func (m *MockWasmDeploymentPolicyClient) UpdateWasmDeploymentPolicyStatus(ctx context.Context, obj *v2.WasmDeploymentPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWasmDeploymentPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWasmDeploymentPolicyStatus indicates an expected call of UpdateWasmDeploymentPolicyStatus. +func (mr *MockWasmDeploymentPolicyClientMockRecorder) UpdateWasmDeploymentPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWasmDeploymentPolicyStatus", reflect.TypeOf((*MockWasmDeploymentPolicyClient)(nil).UpdateWasmDeploymentPolicyStatus), varargs...) +} + +// UpsertWasmDeploymentPolicy mocks base method. +func (m *MockWasmDeploymentPolicyClient) UpsertWasmDeploymentPolicy(ctx context.Context, obj *v2.WasmDeploymentPolicy, transitionFuncs ...v2.WasmDeploymentPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertWasmDeploymentPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertWasmDeploymentPolicy indicates an expected call of UpsertWasmDeploymentPolicy. +func (mr *MockWasmDeploymentPolicyClientMockRecorder) UpsertWasmDeploymentPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertWasmDeploymentPolicy", reflect.TypeOf((*MockWasmDeploymentPolicyClient)(nil).UpsertWasmDeploymentPolicy), varargs...) +} + +// MockMulticlusterWasmDeploymentPolicyClient is a mock of MulticlusterWasmDeploymentPolicyClient interface. +type MockMulticlusterWasmDeploymentPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWasmDeploymentPolicyClientMockRecorder +} + +// MockMulticlusterWasmDeploymentPolicyClientMockRecorder is the mock recorder for MockMulticlusterWasmDeploymentPolicyClient. +type MockMulticlusterWasmDeploymentPolicyClientMockRecorder struct { + mock *MockMulticlusterWasmDeploymentPolicyClient +} + +// NewMockMulticlusterWasmDeploymentPolicyClient creates a new mock instance. +func NewMockMulticlusterWasmDeploymentPolicyClient(ctrl *gomock.Controller) *MockMulticlusterWasmDeploymentPolicyClient { + mock := &MockMulticlusterWasmDeploymentPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterWasmDeploymentPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWasmDeploymentPolicyClient) EXPECT() *MockMulticlusterWasmDeploymentPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterWasmDeploymentPolicyClient) Cluster(cluster string) (v2.WasmDeploymentPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.WasmDeploymentPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterWasmDeploymentPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterWasmDeploymentPolicyClient)(nil).Cluster), cluster) +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/policy_types.go b/client-go/extensions.policy.gloo.solo.io/v2/policy_types.go new file mode 100644 index 000000000..1de97048a --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/policy_types.go @@ -0,0 +1,16 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2 + +import ( + commonv2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// IsPolicy implements Policy interface for WasmDeploymentPolicy +func (o *WasmDeploymentPolicy) IsPolicy() {} + +// GetWorkloadSelectors returns the workload selectors of the WasmDeploymentPolicy policy +func (o *WasmDeploymentPolicy) GetWorkloadSelectors() []*commonv2.WorkloadSelector { + return o.Spec.ApplyToWorkloads +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/proto_deepcopy.go b/client-go/extensions.policy.gloo.solo.io/v2/proto_deepcopy.go new file mode 100644 index 000000000..f95aae580 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/proto_deepcopy.go @@ -0,0 +1,32 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the WasmDeploymentPolicy.Spec +func (in *WasmDeploymentPolicySpec) DeepCopyInto(out *WasmDeploymentPolicySpec) { + var p *WasmDeploymentPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*WasmDeploymentPolicySpec) + } else { + p = proto.Clone(in).(*WasmDeploymentPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the WasmDeploymentPolicy.Status +func (in *WasmDeploymentPolicyStatus) DeepCopyInto(out *WasmDeploymentPolicyStatus) { + var p *WasmDeploymentPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*WasmDeploymentPolicyStatus) + } else { + p = proto.Clone(in).(*WasmDeploymentPolicyStatus) + } + *out = *p +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/providers/client_providers.go b/client-go/extensions.policy.gloo.solo.io/v2/providers/client_providers.go new file mode 100644 index 000000000..b778eebbc --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/providers/client_providers.go @@ -0,0 +1,46 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2 + +import ( + extensions_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for WasmDeploymentPolicyClient from Clientset +func WasmDeploymentPolicyClientFromClientsetProvider(clients extensions_policy_gloo_solo_io_v2.Clientset) extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicyClient { + return clients.WasmDeploymentPolicies() +} + +// Provider for WasmDeploymentPolicy Client from Client +func WasmDeploymentPolicyClientProvider(client client.Client) extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicyClient { + return extensions_policy_gloo_solo_io_v2.NewWasmDeploymentPolicyClient(client) +} + +type WasmDeploymentPolicyClientFactory func(client client.Client) extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicyClient + +func WasmDeploymentPolicyClientFactoryProvider() WasmDeploymentPolicyClientFactory { + return WasmDeploymentPolicyClientProvider +} + +type WasmDeploymentPolicyClientFromConfigFactory func(cfg *rest.Config) (extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicyClient, error) + +func WasmDeploymentPolicyClientFromConfigFactoryProvider() WasmDeploymentPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicyClient, error) { + clients, err := extensions_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.WasmDeploymentPolicies(), nil + } +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/register.go b/client-go/extensions.policy.gloo.solo.io/v2/register.go new file mode 100644 index 000000000..6ee2ba274 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "extensions.policy.gloo.solo.io", Version: "v2"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/report_types.go b/client-go/extensions.policy.gloo.solo.io/v2/report_types.go new file mode 100644 index 000000000..326baa616 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/report_types.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2 + +// IsReport implements Reportable interface for WasmDeploymentPolicyReport +func (o *WasmDeploymentPolicyReport) IsReport() {} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/sets/mocks/sets.go b/client-go/extensions.policy.gloo.solo.io/v2/sets/mocks/sets.go new file mode 100644 index 000000000..9bd948b63 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/sets/mocks/sets.go @@ -0,0 +1,273 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2sets is a generated GoMock package. +package mock_v2sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2 "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2" + v2sets "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2/sets" +) + +// MockWasmDeploymentPolicySet is a mock of WasmDeploymentPolicySet interface. +type MockWasmDeploymentPolicySet struct { + ctrl *gomock.Controller + recorder *MockWasmDeploymentPolicySetMockRecorder +} + +// MockWasmDeploymentPolicySetMockRecorder is the mock recorder for MockWasmDeploymentPolicySet. +type MockWasmDeploymentPolicySetMockRecorder struct { + mock *MockWasmDeploymentPolicySet +} + +// NewMockWasmDeploymentPolicySet creates a new mock instance. +func NewMockWasmDeploymentPolicySet(ctrl *gomock.Controller) *MockWasmDeploymentPolicySet { + mock := &MockWasmDeploymentPolicySet{ctrl: ctrl} + mock.recorder = &MockWasmDeploymentPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWasmDeploymentPolicySet) EXPECT() *MockWasmDeploymentPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockWasmDeploymentPolicySet) Clone() v2sets.WasmDeploymentPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.WasmDeploymentPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockWasmDeploymentPolicySet) Delete(wasmDeploymentPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", wasmDeploymentPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Delete(wasmDeploymentPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Delete), wasmDeploymentPolicy) +} + +// Delta mocks base method. +func (m *MockWasmDeploymentPolicySet) Delta(newSet v2sets.WasmDeploymentPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockWasmDeploymentPolicySet) Difference(set v2sets.WasmDeploymentPolicySet) v2sets.WasmDeploymentPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.WasmDeploymentPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockWasmDeploymentPolicySet) Equal(wasmDeploymentPolicySet v2sets.WasmDeploymentPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", wasmDeploymentPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Equal(wasmDeploymentPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Equal), wasmDeploymentPolicySet) +} + +// Find mocks base method. +func (m *MockWasmDeploymentPolicySet) Find(id ezkube.ResourceId) (*v2.WasmDeploymentPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.WasmDeploymentPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockWasmDeploymentPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockWasmDeploymentPolicySet) Has(wasmDeploymentPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", wasmDeploymentPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Has(wasmDeploymentPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Has), wasmDeploymentPolicy) +} + +// Insert mocks base method. +func (m *MockWasmDeploymentPolicySet) Insert(wasmDeploymentPolicy ...*v2.WasmDeploymentPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range wasmDeploymentPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Insert(wasmDeploymentPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Insert), wasmDeploymentPolicy...) +} + +// Intersection mocks base method. +func (m *MockWasmDeploymentPolicySet) Intersection(set v2sets.WasmDeploymentPolicySet) v2sets.WasmDeploymentPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.WasmDeploymentPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockWasmDeploymentPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockWasmDeploymentPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockWasmDeploymentPolicySet) List(filterResource ...func(*v2.WasmDeploymentPolicy) bool) []*v2.WasmDeploymentPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.WasmDeploymentPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockWasmDeploymentPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockWasmDeploymentPolicySet) Map() map[string]*v2.WasmDeploymentPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.WasmDeploymentPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockWasmDeploymentPolicySet) Union(set v2sets.WasmDeploymentPolicySet) v2sets.WasmDeploymentPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.WasmDeploymentPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockWasmDeploymentPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockWasmDeploymentPolicySet) UnsortedList(filterResource ...func(*v2.WasmDeploymentPolicy) bool) []*v2.WasmDeploymentPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.WasmDeploymentPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockWasmDeploymentPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockWasmDeploymentPolicySet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/sets/sets.go b/client-go/extensions.policy.gloo.solo.io/v2/sets/sets.go new file mode 100644 index 000000000..9b261eab2 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/sets/sets.go @@ -0,0 +1,237 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2sets + +import ( + extensions_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type WasmDeploymentPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) bool) []*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) bool) []*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy + // Return the Set as a map of key to resource. + Map() map[string]*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy + // Insert a resource into the set. + Insert(wasmDeploymentPolicy ...*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(wasmDeploymentPolicySet WasmDeploymentPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(wasmDeploymentPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(wasmDeploymentPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set WasmDeploymentPolicySet) WasmDeploymentPolicySet + // Return the difference with the provided set + Difference(set WasmDeploymentPolicySet) WasmDeploymentPolicySet + // Return the intersection with the provided set + Intersection(set WasmDeploymentPolicySet) WasmDeploymentPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another WasmDeploymentPolicySet + Delta(newSet WasmDeploymentPolicySet) sksets.ResourceDelta + // Create a deep copy of the current WasmDeploymentPolicySet + Clone() WasmDeploymentPolicySet +} + +func makeGenericWasmDeploymentPolicySet(wasmDeploymentPolicyList []*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range wasmDeploymentPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type wasmDeploymentPolicySet struct { + set sksets.ResourceSet +} + +func NewWasmDeploymentPolicySet(wasmDeploymentPolicyList ...*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) WasmDeploymentPolicySet { + return &wasmDeploymentPolicySet{set: makeGenericWasmDeploymentPolicySet(wasmDeploymentPolicyList)} +} + +func NewWasmDeploymentPolicySetFromList(wasmDeploymentPolicyList *extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicyList) WasmDeploymentPolicySet { + list := make([]*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy, 0, len(wasmDeploymentPolicyList.Items)) + for idx := range wasmDeploymentPolicyList.Items { + list = append(list, &wasmDeploymentPolicyList.Items[idx]) + } + return &wasmDeploymentPolicySet{set: makeGenericWasmDeploymentPolicySet(list)} +} + +func (s *wasmDeploymentPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *wasmDeploymentPolicySet) List(filterResource ...func(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) bool) []*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + wasmDeploymentPolicyList := make([]*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy, 0, len(objs)) + for _, obj := range objs { + wasmDeploymentPolicyList = append(wasmDeploymentPolicyList, obj.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy)) + } + return wasmDeploymentPolicyList +} + +func (s *wasmDeploymentPolicySet) UnsortedList(filterResource ...func(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) bool) []*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy)) + }) + } + + var wasmDeploymentPolicyList []*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + wasmDeploymentPolicyList = append(wasmDeploymentPolicyList, obj.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy)) + } + return wasmDeploymentPolicyList +} + +func (s *wasmDeploymentPolicySet) Map() map[string]*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy { + if s == nil { + return nil + } + + newMap := map[string]*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy) + } + return newMap +} + +func (s *wasmDeploymentPolicySet) Insert( + wasmDeploymentPolicyList ...*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range wasmDeploymentPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *wasmDeploymentPolicySet) Has(wasmDeploymentPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(wasmDeploymentPolicy) +} + +func (s *wasmDeploymentPolicySet) Equal( + wasmDeploymentPolicySet WasmDeploymentPolicySet, +) bool { + if s == nil { + return wasmDeploymentPolicySet == nil + } + return s.Generic().Equal(wasmDeploymentPolicySet.Generic()) +} + +func (s *wasmDeploymentPolicySet) Delete(WasmDeploymentPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(WasmDeploymentPolicy) +} + +func (s *wasmDeploymentPolicySet) Union(set WasmDeploymentPolicySet) WasmDeploymentPolicySet { + if s == nil { + return set + } + return NewWasmDeploymentPolicySet(append(s.List(), set.List()...)...) +} + +func (s *wasmDeploymentPolicySet) Difference(set WasmDeploymentPolicySet) WasmDeploymentPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &wasmDeploymentPolicySet{set: newSet} +} + +func (s *wasmDeploymentPolicySet) Intersection(set WasmDeploymentPolicySet) WasmDeploymentPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var wasmDeploymentPolicyList []*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy + for _, obj := range newSet.List() { + wasmDeploymentPolicyList = append(wasmDeploymentPolicyList, obj.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy)) + } + return NewWasmDeploymentPolicySet(wasmDeploymentPolicyList...) +} + +func (s *wasmDeploymentPolicySet) Find(id ezkube.ResourceId) (*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find WasmDeploymentPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*extensions_policy_gloo_solo_io_v2.WasmDeploymentPolicy), nil +} + +func (s *wasmDeploymentPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *wasmDeploymentPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *wasmDeploymentPolicySet) Delta(newSet WasmDeploymentPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *wasmDeploymentPolicySet) Clone() WasmDeploymentPolicySet { + if s == nil { + return nil + } + return &wasmDeploymentPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/type_helpers.go b/client-go/extensions.policy.gloo.solo.io/v2/type_helpers.go new file mode 100644 index 000000000..4aa92761b --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/type_helpers.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +// WasmDeploymentPolicySlice represents a slice of *WasmDeploymentPolicy +type WasmDeploymentPolicySlice []*WasmDeploymentPolicy diff --git a/client-go/extensions.policy.gloo.solo.io/v2/types.go b/client-go/extensions.policy.gloo.solo.io/v2/types.go new file mode 100644 index 000000000..68b74bf60 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/types.go @@ -0,0 +1,48 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for WasmDeploymentPolicy +var WasmDeploymentPolicyGVK = schema.GroupVersionKind{ + Group: "extensions.policy.gloo.solo.io", + Version: "v2", + Kind: "WasmDeploymentPolicy", +} + +// WasmDeploymentPolicy is the Schema for the wasmDeploymentPolicy API +type WasmDeploymentPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec WasmDeploymentPolicySpec `json:"spec,omitempty"` + Status WasmDeploymentPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (WasmDeploymentPolicy) GVK() schema.GroupVersionKind { + return WasmDeploymentPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// WasmDeploymentPolicyList contains a list of WasmDeploymentPolicy +type WasmDeploymentPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WasmDeploymentPolicy `json:"items"` +} + +func init() { + SchemeBuilder.Register(&WasmDeploymentPolicy{}, &WasmDeploymentPolicyList{}) +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/wasm_deployment_policy.pb.clone.go b/client-go/extensions.policy.gloo.solo.io/v2/wasm_deployment_policy.pb.clone.go new file mode 100644 index 000000000..91f0623c0 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/wasm_deployment_policy.pb.clone.go @@ -0,0 +1,245 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/extensions/wasm_deployment_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_any "github.com/golang/protobuf/ptypes/any" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *WasmDeploymentPolicySpec) Clone() proto.Message { + var target *WasmDeploymentPolicySpec + if m == nil { + return target + } + target = &WasmDeploymentPolicySpec{} + + if m.GetApplyToWorkloads() != nil { + target.ApplyToWorkloads = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector, len(m.GetApplyToWorkloads())) + for idx, v := range m.GetApplyToWorkloads() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToWorkloads[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector) + } else { + target.ApplyToWorkloads[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*WasmDeploymentPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*WasmDeploymentPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *WasmDeploymentPolicyStatus) Clone() proto.Message { + var target *WasmDeploymentPolicyStatus + if m == nil { + return target + } + target = &WasmDeploymentPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedWorkloads = m.GetNumSelectedWorkloads() + + return target +} + +// Clone function +func (m *WasmDeploymentPolicyReport) Clone() proto.Message { + var target *WasmDeploymentPolicyReport + if m == nil { + return target + } + target = &WasmDeploymentPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedWorkloads() != nil { + target.SelectedWorkloads = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadReference, len(m.GetSelectedWorkloads())) + for idx, v := range m.GetSelectedWorkloads() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedWorkloads[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadReference) + } else { + target.SelectedWorkloads[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadReference) + } + + } + } + + return target +} + +// Clone function +func (m *WasmDeploymentPolicySpec_Config) Clone() proto.Message { + var target *WasmDeploymentPolicySpec_Config + if m == nil { + return target + } + target = &WasmDeploymentPolicySpec_Config{} + + if m.GetFilters() != nil { + target.Filters = make([]*WasmDeploymentPolicySpec_Config_WasmFilter, len(m.GetFilters())) + for idx, v := range m.GetFilters() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Filters[idx] = h.Clone().(*WasmDeploymentPolicySpec_Config_WasmFilter) + } else { + target.Filters[idx] = proto.Clone(v).(*WasmDeploymentPolicySpec_Config_WasmFilter) + } + + } + } + + target.Weight = m.GetWeight() + + return target +} + +// Clone function +func (m *WasmDeploymentPolicySpec_Config_WasmFilter) Clone() proto.Message { + var target *WasmDeploymentPolicySpec_Config_WasmFilter + if m == nil { + return target + } + target = &WasmDeploymentPolicySpec_Config_WasmFilter{} + + target.RootId = m.GetRootId() + + target.VmId = m.GetVmId() + + target.FilterContext = m.GetFilterContext() + + target.InsertBeforeFilter = m.GetInsertBeforeFilter() + + switch m.FilterSource.(type) { + + case *WasmDeploymentPolicySpec_Config_WasmFilter_LocalPathSource: + + target.FilterSource = &WasmDeploymentPolicySpec_Config_WasmFilter_LocalPathSource{ + LocalPathSource: m.GetLocalPathSource(), + } + + case *WasmDeploymentPolicySpec_Config_WasmFilter_HttpUriSource: + + if h, ok := interface{}(m.GetHttpUriSource()).(clone.Cloner); ok { + target.FilterSource = &WasmDeploymentPolicySpec_Config_WasmFilter_HttpUriSource{ + HttpUriSource: h.Clone().(*WasmDeploymentPolicySpec_Config_WasmFilter_UriSource), + } + } else { + target.FilterSource = &WasmDeploymentPolicySpec_Config_WasmFilter_HttpUriSource{ + HttpUriSource: proto.Clone(m.GetHttpUriSource()).(*WasmDeploymentPolicySpec_Config_WasmFilter_UriSource), + } + } + + case *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource_: + + if h, ok := interface{}(m.GetWasmImageSource()).(clone.Cloner); ok { + target.FilterSource = &WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource_{ + WasmImageSource: h.Clone().(*WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource), + } + } else { + target.FilterSource = &WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource_{ + WasmImageSource: proto.Clone(m.GetWasmImageSource()).(*WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource), + } + } + + } + + switch m.FilterConfigSource.(type) { + + case *WasmDeploymentPolicySpec_Config_WasmFilter_StaticFilterConfig: + + if h, ok := interface{}(m.GetStaticFilterConfig()).(clone.Cloner); ok { + target.FilterConfigSource = &WasmDeploymentPolicySpec_Config_WasmFilter_StaticFilterConfig{ + StaticFilterConfig: h.Clone().(*github_com_golang_protobuf_ptypes_any.Any), + } + } else { + target.FilterConfigSource = &WasmDeploymentPolicySpec_Config_WasmFilter_StaticFilterConfig{ + StaticFilterConfig: proto.Clone(m.GetStaticFilterConfig()).(*github_com_golang_protobuf_ptypes_any.Any), + } + } + + case *WasmDeploymentPolicySpec_Config_WasmFilter_DynamicFilterConfig: + + target.FilterConfigSource = &WasmDeploymentPolicySpec_Config_WasmFilter_DynamicFilterConfig{ + DynamicFilterConfig: m.GetDynamicFilterConfig(), + } + + } + + return target +} + +// Clone function +func (m *WasmDeploymentPolicySpec_Config_WasmFilter_UriSource) Clone() proto.Message { + var target *WasmDeploymentPolicySpec_Config_WasmFilter_UriSource + if m == nil { + return target + } + target = &WasmDeploymentPolicySpec_Config_WasmFilter_UriSource{} + + target.Uri = m.GetUri() + + target.Sha = m.GetSha() + + return target +} + +// Clone function +func (m *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource) Clone() proto.Message { + var target *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource + if m == nil { + return target + } + target = &WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource{} + + target.WasmImageTag = m.GetWasmImageTag() + + return target +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/wasm_deployment_policy.pb.equal.go b/client-go/extensions.policy.gloo.solo.io/v2/wasm_deployment_policy.pb.equal.go new file mode 100644 index 000000000..b0fa884ba --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/wasm_deployment_policy.pb.equal.go @@ -0,0 +1,403 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/extensions/wasm_deployment_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" + + v1alpha3 "istio.io/api/networking/v1alpha3" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) + + _ = v1alpha3.EnvoyFilter_PatchContext(0) +) + +// Equal function +func (m *WasmDeploymentPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WasmDeploymentPolicySpec) + if !ok { + that2, ok := that.(WasmDeploymentPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToWorkloads()) != len(target.GetApplyToWorkloads()) { + return false + } + for idx, v := range m.GetApplyToWorkloads() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToWorkloads()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToWorkloads()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *WasmDeploymentPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WasmDeploymentPolicyStatus) + if !ok { + that2, ok := that.(WasmDeploymentPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedWorkloads() != target.GetNumSelectedWorkloads() { + return false + } + + return true +} + +// Equal function +func (m *WasmDeploymentPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WasmDeploymentPolicyReport) + if !ok { + that2, ok := that.(WasmDeploymentPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedWorkloads()) != len(target.GetSelectedWorkloads()) { + return false + } + for idx, v := range m.GetSelectedWorkloads() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedWorkloads()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedWorkloads()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *WasmDeploymentPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WasmDeploymentPolicySpec_Config) + if !ok { + that2, ok := that.(WasmDeploymentPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetFilters()) != len(target.GetFilters()) { + return false + } + for idx, v := range m.GetFilters() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetFilters()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetFilters()[idx]) { + return false + } + } + + } + + if m.GetWeight() != target.GetWeight() { + return false + } + + return true +} + +// Equal function +func (m *WasmDeploymentPolicySpec_Config_WasmFilter) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WasmDeploymentPolicySpec_Config_WasmFilter) + if !ok { + that2, ok := that.(WasmDeploymentPolicySpec_Config_WasmFilter) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetRootId(), target.GetRootId()) != 0 { + return false + } + + if strings.Compare(m.GetVmId(), target.GetVmId()) != 0 { + return false + } + + if m.GetFilterContext() != target.GetFilterContext() { + return false + } + + if strings.Compare(m.GetInsertBeforeFilter(), target.GetInsertBeforeFilter()) != 0 { + return false + } + + switch m.FilterSource.(type) { + + case *WasmDeploymentPolicySpec_Config_WasmFilter_LocalPathSource: + if _, ok := target.FilterSource.(*WasmDeploymentPolicySpec_Config_WasmFilter_LocalPathSource); !ok { + return false + } + + if strings.Compare(m.GetLocalPathSource(), target.GetLocalPathSource()) != 0 { + return false + } + + case *WasmDeploymentPolicySpec_Config_WasmFilter_HttpUriSource: + if _, ok := target.FilterSource.(*WasmDeploymentPolicySpec_Config_WasmFilter_HttpUriSource); !ok { + return false + } + + if h, ok := interface{}(m.GetHttpUriSource()).(equality.Equalizer); ok { + if !h.Equal(target.GetHttpUriSource()) { + return false + } + } else { + if !proto.Equal(m.GetHttpUriSource(), target.GetHttpUriSource()) { + return false + } + } + + case *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource_: + if _, ok := target.FilterSource.(*WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource_); !ok { + return false + } + + if h, ok := interface{}(m.GetWasmImageSource()).(equality.Equalizer); ok { + if !h.Equal(target.GetWasmImageSource()) { + return false + } + } else { + if !proto.Equal(m.GetWasmImageSource(), target.GetWasmImageSource()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.FilterSource != target.FilterSource { + return false + } + } + + switch m.FilterConfigSource.(type) { + + case *WasmDeploymentPolicySpec_Config_WasmFilter_StaticFilterConfig: + if _, ok := target.FilterConfigSource.(*WasmDeploymentPolicySpec_Config_WasmFilter_StaticFilterConfig); !ok { + return false + } + + if h, ok := interface{}(m.GetStaticFilterConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetStaticFilterConfig()) { + return false + } + } else { + if !proto.Equal(m.GetStaticFilterConfig(), target.GetStaticFilterConfig()) { + return false + } + } + + case *WasmDeploymentPolicySpec_Config_WasmFilter_DynamicFilterConfig: + if _, ok := target.FilterConfigSource.(*WasmDeploymentPolicySpec_Config_WasmFilter_DynamicFilterConfig); !ok { + return false + } + + if strings.Compare(m.GetDynamicFilterConfig(), target.GetDynamicFilterConfig()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.FilterConfigSource != target.FilterConfigSource { + return false + } + } + + return true +} + +// Equal function +func (m *WasmDeploymentPolicySpec_Config_WasmFilter_UriSource) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WasmDeploymentPolicySpec_Config_WasmFilter_UriSource) + if !ok { + that2, ok := that.(WasmDeploymentPolicySpec_Config_WasmFilter_UriSource) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetUri(), target.GetUri()) != 0 { + return false + } + + if strings.Compare(m.GetSha(), target.GetSha()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource) + if !ok { + that2, ok := that.(WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetWasmImageTag(), target.GetWasmImageTag()) != 0 { + return false + } + + return true +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/wasm_deployment_policy.pb.go b/client-go/extensions.policy.gloo.solo.io/v2/wasm_deployment_policy.pb.go new file mode 100644 index 000000000..e8ac2a8b0 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/wasm_deployment_policy.pb.go @@ -0,0 +1,932 @@ +// Add a Wasm filter to the Envoy sidecar proxy, for use cases such as +// customizing the endpoints and thresholds for your workloads. +// WasmDeploymentPolicies are applied at the *Workload* level. +// +// {{% notice note %}} +// To apply Wasm filters, you must first enable the Envoy sidecar proxies +// on your workloads to fetch Wasm filters from an Envoy cluster. For more information, +// see [Enable the Envoy sidecar to fetch Wasm filters](https://docs.solo.io/gloo-mesh-enterprise/latest/policies/wasm/wasm-policy/#enable-filter). +// {{% /notice %}} +// +// **Example**: In this example, a filter adds a custom header +// to the response from the ratings service in the Bookinfo application. +// ```yaml +// {{% readfile file="content/mesh/static/content/examples/manual/wasm-deployment-policy_bookinfo_wasm-deployment-policy.yaml" %}} +// ``` + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/extensions/wasm_deployment_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + any1 "github.com/golang/protobuf/ptypes/any" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + v1alpha3 "istio.io/api/networking/v1alpha3" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Specifications for the policy. +type WasmDeploymentPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the workloads to apply the Wasm filter to. + // If empty, the policy applies to all workloads in the workspace. + ApplyToWorkloads []*v2.WorkloadSelector `protobuf:"bytes,1,rep,name=apply_to_workloads,json=applyToWorkloads,proto3" json:"apply_to_workloads,omitempty"` + // Details of the policy specifying the Wasm filters to apply to the selected workloads. + Config *WasmDeploymentPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *WasmDeploymentPolicySpec) Reset() { + *x = WasmDeploymentPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WasmDeploymentPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WasmDeploymentPolicySpec) ProtoMessage() {} + +func (x *WasmDeploymentPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WasmDeploymentPolicySpec.ProtoReflect.Descriptor instead. +func (*WasmDeploymentPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *WasmDeploymentPolicySpec) GetApplyToWorkloads() []*v2.WorkloadSelector { + if x != nil { + return x.ApplyToWorkloads + } + return nil +} + +func (x *WasmDeploymentPolicySpec) GetConfig() *WasmDeploymentPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type WasmDeploymentPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of workloads selected by the policy. + NumSelectedWorkloads uint32 `protobuf:"varint,2,opt,name=num_selected_workloads,json=numSelectedWorkloads,proto3" json:"num_selected_workloads,omitempty"` +} + +func (x *WasmDeploymentPolicyStatus) Reset() { + *x = WasmDeploymentPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WasmDeploymentPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WasmDeploymentPolicyStatus) ProtoMessage() {} + +func (x *WasmDeploymentPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WasmDeploymentPolicyStatus.ProtoReflect.Descriptor instead. +func (*WasmDeploymentPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *WasmDeploymentPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *WasmDeploymentPolicyStatus) GetNumSelectedWorkloads() uint32 { + if x != nil { + return x.NumSelectedWorkloads + } + return 0 +} + +// The report shows the resources that the policy selects after the policy is successfully applied. +type WasmDeploymentPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of workloads selected by the policy. + SelectedWorkloads []*v2.WorkloadReference `protobuf:"bytes,2,rep,name=selected_workloads,json=selectedWorkloads,proto3" json:"selected_workloads,omitempty"` +} + +func (x *WasmDeploymentPolicyReport) Reset() { + *x = WasmDeploymentPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WasmDeploymentPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WasmDeploymentPolicyReport) ProtoMessage() {} + +func (x *WasmDeploymentPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WasmDeploymentPolicyReport.ProtoReflect.Descriptor instead. +func (*WasmDeploymentPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *WasmDeploymentPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *WasmDeploymentPolicyReport) GetSelectedWorkloads() []*v2.WorkloadReference { + if x != nil { + return x.SelectedWorkloads + } + return nil +} + +// Details of the policy specifying the Wasm filters to apply to the selected workloads. +type WasmDeploymentPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Wasm filter parameters. + Filters []*WasmDeploymentPolicySpec_Config_WasmFilter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` + // If you apply multiple Wasm filters to a single workload, add a `weight` + // to specify the order in which the filters are applied. + // Deployed Wasm filters are sorted in order of highest to lowest weight. + // Wasm filters with equal weights are sorted non-deterministically. + // Note that all Wasm filters are inserted immediately before the Envoy router filter + // in the HTTP Connection Manager's HTTP Filter Chain. + Weight uint32 `protobuf:"varint,3,opt,name=weight,proto3" json:"weight,omitempty"` +} + +func (x *WasmDeploymentPolicySpec_Config) Reset() { + *x = WasmDeploymentPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WasmDeploymentPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WasmDeploymentPolicySpec_Config) ProtoMessage() {} + +func (x *WasmDeploymentPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WasmDeploymentPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*WasmDeploymentPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *WasmDeploymentPolicySpec_Config) GetFilters() []*WasmDeploymentPolicySpec_Config_WasmFilter { + if x != nil { + return x.Filters + } + return nil +} + +func (x *WasmDeploymentPolicySpec_Config) GetWeight() uint32 { + if x != nil { + return x.Weight + } + return 0 +} + +// Specify the Wasm filter to deploy. +type WasmDeploymentPolicySpec_Config_WasmFilter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: The filter source. Several options are available for providing + // a source of the Wasm filter file. + // + // Types that are assignable to FilterSource: + // + // *WasmDeploymentPolicySpec_Config_WasmFilter_LocalPathSource + // *WasmDeploymentPolicySpec_Config_WasmFilter_HttpUriSource + // *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource_ + FilterSource isWasmDeploymentPolicySpec_Config_WasmFilter_FilterSource `protobuf_oneof:"filter_source"` + // The source of a static or dynamic filter configuration. + // Equivalent to `proxy_on_configuration`. + // + // Types that are assignable to FilterConfigSource: + // + // *WasmDeploymentPolicySpec_Config_WasmFilter_StaticFilterConfig + // *WasmDeploymentPolicySpec_Config_WasmFilter_DynamicFilterConfig + FilterConfigSource isWasmDeploymentPolicySpec_Config_WasmFilter_FilterConfigSource `protobuf_oneof:"filter_config_source"` + // The `rootId` must match the `rootId` defined in the filter. If omitted, + // Gloo Mesh pulls and sets the image from the `filter_conf` contained + // in the image config. Note that if the `filter_source` is not set to + // `wasm_image_source`, this field is required. + RootId string `protobuf:"bytes,5,opt,name=root_id,json=rootId,proto3" json:"root_id,omitempty"` + // Optional: A VM ID, used along with a hash of the Wasm code (or the name of the + // registered Null VM plugin), to determine which VM loads the Wasm filter. + // All filters on the same workload that use the same `vmId` and code within + // use the same VM. + // + // Note that sharing a VM between plugins can reduce memory + // utilization and make sharing of data easier, which may have security implications. + VmId string `protobuf:"bytes,6,opt,name=vm_id,json=vmId,proto3" json:"vm_id,omitempty"` + // The context that the filter is attached to: + //
  • Any workload context (`ANY`)
  • + //
  • A gateway (`GATEWAY`)
  • + //
  • Inbound traffic to a sidecar proxy (`SIDECAR_INBOUND`)
  • + //
  • Outbound traffic from a sidecar (`SIDECAR_OUTBOUND`)
+ // + // By default, the value is `ANY` to permit any context. + FilterContext v1alpha3.EnvoyFilter_PatchContext `protobuf:"varint,7,opt,name=filter_context,json=filterContext,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_PatchContext" json:"filter_context,omitempty"` + // In the Envoy HTTP Filter Chain, the filter that the Wasm filter is inserted + // immediately before. Note that not all filters might be applied to a + // particular workload. Default value: `envoy.router`. + InsertBeforeFilter string `protobuf:"bytes,9,opt,name=insert_before_filter,json=insertBeforeFilter,proto3" json:"insert_before_filter,omitempty"` +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter) Reset() { + *x = WasmDeploymentPolicySpec_Config_WasmFilter{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WasmDeploymentPolicySpec_Config_WasmFilter) ProtoMessage() {} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WasmDeploymentPolicySpec_Config_WasmFilter.ProtoReflect.Descriptor instead. +func (*WasmDeploymentPolicySpec_Config_WasmFilter) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (m *WasmDeploymentPolicySpec_Config_WasmFilter) GetFilterSource() isWasmDeploymentPolicySpec_Config_WasmFilter_FilterSource { + if m != nil { + return m.FilterSource + } + return nil +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter) GetLocalPathSource() string { + if x, ok := x.GetFilterSource().(*WasmDeploymentPolicySpec_Config_WasmFilter_LocalPathSource); ok { + return x.LocalPathSource + } + return "" +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter) GetHttpUriSource() *WasmDeploymentPolicySpec_Config_WasmFilter_UriSource { + if x, ok := x.GetFilterSource().(*WasmDeploymentPolicySpec_Config_WasmFilter_HttpUriSource); ok { + return x.HttpUriSource + } + return nil +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter) GetWasmImageSource() *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource { + if x, ok := x.GetFilterSource().(*WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource_); ok { + return x.WasmImageSource + } + return nil +} + +func (m *WasmDeploymentPolicySpec_Config_WasmFilter) GetFilterConfigSource() isWasmDeploymentPolicySpec_Config_WasmFilter_FilterConfigSource { + if m != nil { + return m.FilterConfigSource + } + return nil +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter) GetStaticFilterConfig() *any1.Any { + if x, ok := x.GetFilterConfigSource().(*WasmDeploymentPolicySpec_Config_WasmFilter_StaticFilterConfig); ok { + return x.StaticFilterConfig + } + return nil +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter) GetDynamicFilterConfig() string { + if x, ok := x.GetFilterConfigSource().(*WasmDeploymentPolicySpec_Config_WasmFilter_DynamicFilterConfig); ok { + return x.DynamicFilterConfig + } + return "" +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter) GetRootId() string { + if x != nil { + return x.RootId + } + return "" +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter) GetVmId() string { + if x != nil { + return x.VmId + } + return "" +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter) GetFilterContext() v1alpha3.EnvoyFilter_PatchContext { + if x != nil { + return x.FilterContext + } + return v1alpha3.EnvoyFilter_ANY +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter) GetInsertBeforeFilter() string { + if x != nil { + return x.InsertBeforeFilter + } + return "" +} + +type isWasmDeploymentPolicySpec_Config_WasmFilter_FilterSource interface { + isWasmDeploymentPolicySpec_Config_WasmFilter_FilterSource() +} + +type WasmDeploymentPolicySpec_Config_WasmFilter_LocalPathSource struct { + // Select `local_path_source` to deploy the filter from a file accessible + // to the workload proxy. Note that Gloo Mesh cannot verify + // whether the target workload proxy containers contain the given path. + // If filters do not load, check the sidecar proxy logs. + // + LocalPathSource string `protobuf:"bytes,1,opt,name=local_path_source,json=localPathSource,proto3,oneof"` +} + +type WasmDeploymentPolicySpec_Config_WasmFilter_HttpUriSource struct { + // Select `http_uri_source` to deploy the filter from an HTTP/S URI accessible + // to the workload proxy. Note that Gloo Mesh cannot verify + // whether the target workload proxy containers have HTTP access the given URI. + // If filters do not load, check the sidecar proxy logs. + // + // + HttpUriSource *WasmDeploymentPolicySpec_Config_WasmFilter_UriSource `protobuf:"bytes,2,opt,name=http_uri_source,json=httpUriSource,proto3,oneof"` +} + +type WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource_ struct { + // Fetch the image from a [Wasm OCI Registry](https://webassemblyhub.io/). + // Images can be built and pushed to registries using `meshctl` and + // [`wasme` CLI tool](https://docs.solo.io/web-assembly-hub/latest/tutorial_code/getting_started/). + // For more info, check out the [WebAssembly Hub](https://docs.solo.io/web-assembly-hub/latest). + WasmImageSource *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource `protobuf:"bytes,3,opt,name=wasm_image_source,json=wasmImageSource,proto3,oneof"` +} + +func (*WasmDeploymentPolicySpec_Config_WasmFilter_LocalPathSource) isWasmDeploymentPolicySpec_Config_WasmFilter_FilterSource() { +} + +func (*WasmDeploymentPolicySpec_Config_WasmFilter_HttpUriSource) isWasmDeploymentPolicySpec_Config_WasmFilter_FilterSource() { +} + +func (*WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource_) isWasmDeploymentPolicySpec_Config_WasmFilter_FilterSource() { +} + +type isWasmDeploymentPolicySpec_Config_WasmFilter_FilterConfigSource interface { + isWasmDeploymentPolicySpec_Config_WasmFilter_FilterConfigSource() +} + +type WasmDeploymentPolicySpec_Config_WasmFilter_StaticFilterConfig struct { + // Provide configuration as a static configuration source. + //
  • `google.protobuf.Struct` is serialized as JSON before it is passed to the plugin.
  • + //
  • `google.protobuf.BytesValue` and `google.protobuf.StringValue` are passed directly without the wrapper.
+ // + // For information about the value format, see the + // [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any). + StaticFilterConfig *any1.Any `protobuf:"bytes,4,opt,name=static_filter_config,json=staticFilterConfig,proto3,oneof"` +} + +type WasmDeploymentPolicySpec_Config_WasmFilter_DynamicFilterConfig struct { + // NOTE: **Not currently implemented.** This field serves as a placeholder. + // Provide configuration from a dynamic configuration source. + // This setting connects proxies to a configuration server to update filter + // configuration instead of using a filter provided in the policy. + //
  • `google.protobuf.Struct` is serialized as JSON before it is passed to the plugin.
  • + //
  • `google.protobuf.BytesValue` and `google.protobuf.StringValue` are passed directly without the wrapper.
+ // + // + DynamicFilterConfig string `protobuf:"bytes,8,opt,name=dynamic_filter_config,json=dynamicFilterConfig,proto3,oneof"` +} + +func (*WasmDeploymentPolicySpec_Config_WasmFilter_StaticFilterConfig) isWasmDeploymentPolicySpec_Config_WasmFilter_FilterConfigSource() { +} + +func (*WasmDeploymentPolicySpec_Config_WasmFilter_DynamicFilterConfig) isWasmDeploymentPolicySpec_Config_WasmFilter_FilterConfigSource() { +} + +// Options for fetching Wasm filters from an HTTP URI. +type WasmDeploymentPolicySpec_Config_WasmFilter_UriSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The HTTP URI from which to fetch the filter. + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + // Required: The sha256 checksum of the filter binary. + // This value is verified by the proxy. + Sha string `protobuf:"bytes,2,opt,name=sha,proto3" json:"sha,omitempty"` +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter_UriSource) Reset() { + *x = WasmDeploymentPolicySpec_Config_WasmFilter_UriSource{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter_UriSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WasmDeploymentPolicySpec_Config_WasmFilter_UriSource) ProtoMessage() {} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter_UriSource) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WasmDeploymentPolicySpec_Config_WasmFilter_UriSource.ProtoReflect.Descriptor instead. +func (*WasmDeploymentPolicySpec_Config_WasmFilter_UriSource) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescGZIP(), []int{0, 0, 0, 0} +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter_UriSource) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter_UriSource) GetSha() string { + if x != nil { + return x.Sha + } + return "" +} + +// Options for fetching the Wasm image from a +// [Wasm-compatible OCI Registry](https://webassemblyhub.io/). +// Images can be built and pushed to registries using `meshctl` and `wasme`. +type WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The full tag of the Wasm image. The tag must include the registry + // address at the beginning, such as `webassemblyhub.io/ilackarms/helloworld:v0.1`. + WasmImageTag string `protobuf:"bytes,1,opt,name=wasm_image_tag,json=wasmImageTag,proto3" json:"wasm_image_tag,omitempty"` +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource) Reset() { + *x = WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource) ProtoMessage() {} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource.ProtoReflect.Descriptor instead. +func (*WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescGZIP(), []int{0, 0, 0, 1} +} + +func (x *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource) GetWasmImageTag() string { + if x != nil { + return x.WasmImageTag + } + return "" +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDesc = []byte{ + 0x0a, 0x6a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x77, 0x61, 0x73, 0x6d, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x65, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, + 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, + 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x08, + 0x0a, 0x18, 0x57, 0x61, 0x73, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, 0x0a, 0x12, 0x61, 0x70, + 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, + 0x57, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3f, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x57, 0x61, 0x73, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x9d, 0x07, 0x0a, 0x06, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x61, 0x73, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x61, 0x73, 0x6d, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x1a, 0x94, 0x06, 0x0a, 0x0a, 0x57, 0x61, 0x73, 0x6d, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x2c, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7e, + 0x0a, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x61, 0x73, 0x6d, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x61, 0x73, 0x6d, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x55, 0x72, 0x69, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, + 0x0d, 0x68, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x88, + 0x01, 0x0a, 0x11, 0x77, 0x61, 0x73, 0x6d, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x61, 0x73, 0x6d, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x61, 0x73, 0x6d, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x57, 0x61, 0x73, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x61, 0x73, 0x6d, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x14, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x01, 0x52, + 0x12, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x13, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x74, + 0x49, 0x64, 0x12, 0x13, 0x0a, 0x05, 0x76, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x76, 0x6d, 0x49, 0x64, 0x12, 0x5a, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x45, 0x6e, 0x76, 0x6f, + 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x62, 0x65, + 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x2f, 0x0a, 0x09, 0x55, 0x72, 0x69, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x69, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x68, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x73, 0x68, 0x61, 0x1a, 0x37, 0x0a, 0x0f, 0x57, 0x61, 0x73, 0x6d, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x77, 0x61, 0x73, + 0x6d, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x77, 0x61, 0x73, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x42, + 0x0f, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x16, 0x0a, 0x14, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x1a, 0x57, 0x61, 0x73, + 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, + 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6e, 0x75, + 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x73, 0x22, 0xbb, 0x02, 0x0a, 0x1a, 0x57, 0x61, 0x73, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x6a, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x61, 0x73, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x55, 0x0a, + 0x12, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x11, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x42, 0x5f, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, + 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_goTypes = []interface{}{ + (*WasmDeploymentPolicySpec)(nil), // 0: extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec + (*WasmDeploymentPolicyStatus)(nil), // 1: extensions.policy.gloo.solo.io.WasmDeploymentPolicyStatus + (*WasmDeploymentPolicyReport)(nil), // 2: extensions.policy.gloo.solo.io.WasmDeploymentPolicyReport + (*WasmDeploymentPolicySpec_Config)(nil), // 3: extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config + (*WasmDeploymentPolicySpec_Config_WasmFilter)(nil), // 4: extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config.WasmFilter + (*WasmDeploymentPolicySpec_Config_WasmFilter_UriSource)(nil), // 5: extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config.WasmFilter.UriSource + (*WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource)(nil), // 6: extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config.WasmFilter.WasmImageSource + nil, // 7: extensions.policy.gloo.solo.io.WasmDeploymentPolicyReport.WorkspacesEntry + (*v2.WorkloadSelector)(nil), // 8: common.gloo.solo.io.WorkloadSelector + (*v2.Status)(nil), // 9: common.gloo.solo.io.Status + (*v2.WorkloadReference)(nil), // 10: common.gloo.solo.io.WorkloadReference + (*any1.Any)(nil), // 11: google.protobuf.Any + (v1alpha3.EnvoyFilter_PatchContext)(0), // 12: istio.networking.v1alpha3.EnvoyFilter.PatchContext + (*v2.Report)(nil), // 13: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_depIdxs = []int32{ + 8, // 0: extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.apply_to_workloads:type_name -> common.gloo.solo.io.WorkloadSelector + 3, // 1: extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.config:type_name -> extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config + 9, // 2: extensions.policy.gloo.solo.io.WasmDeploymentPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 7, // 3: extensions.policy.gloo.solo.io.WasmDeploymentPolicyReport.workspaces:type_name -> extensions.policy.gloo.solo.io.WasmDeploymentPolicyReport.WorkspacesEntry + 10, // 4: extensions.policy.gloo.solo.io.WasmDeploymentPolicyReport.selected_workloads:type_name -> common.gloo.solo.io.WorkloadReference + 4, // 5: extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config.filters:type_name -> extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config.WasmFilter + 5, // 6: extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config.WasmFilter.http_uri_source:type_name -> extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config.WasmFilter.UriSource + 6, // 7: extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config.WasmFilter.wasm_image_source:type_name -> extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config.WasmFilter.WasmImageSource + 11, // 8: extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config.WasmFilter.static_filter_config:type_name -> google.protobuf.Any + 12, // 9: extensions.policy.gloo.solo.io.WasmDeploymentPolicySpec.Config.WasmFilter.filter_context:type_name -> istio.networking.v1alpha3.EnvoyFilter.PatchContext + 13, // 10: extensions.policy.gloo.solo.io.WasmDeploymentPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WasmDeploymentPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WasmDeploymentPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WasmDeploymentPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WasmDeploymentPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WasmDeploymentPolicySpec_Config_WasmFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WasmDeploymentPolicySpec_Config_WasmFilter_UriSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*WasmDeploymentPolicySpec_Config_WasmFilter_LocalPathSource)(nil), + (*WasmDeploymentPolicySpec_Config_WasmFilter_HttpUriSource)(nil), + (*WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource_)(nil), + (*WasmDeploymentPolicySpec_Config_WasmFilter_StaticFilterConfig)(nil), + (*WasmDeploymentPolicySpec_Config_WasmFilter_DynamicFilterConfig)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_extensions_wasm_deployment_policy_proto_depIdxs = nil +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/wasm_deployment_policy.pb.hash.go b/client-go/extensions.policy.gloo.solo.io/v2/wasm_deployment_policy.pb.hash.go new file mode 100644 index 000000000..cbf5db8d0 --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/wasm_deployment_policy.pb.hash.go @@ -0,0 +1,418 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/extensions/wasm_deployment_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" + + v1alpha3 "istio.io/api/networking/v1alpha3" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) + + _ = v1alpha3.EnvoyFilter_PatchContext(0) +) + +// Hash function +func (m *WasmDeploymentPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("extensions.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2.WasmDeploymentPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToWorkloads() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WasmDeploymentPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("extensions.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2.WasmDeploymentPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedWorkloads()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WasmDeploymentPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("extensions.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2.WasmDeploymentPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedWorkloads() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WasmDeploymentPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("extensions.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2.WasmDeploymentPolicySpec_Config")); err != nil { + return 0, err + } + + for _, v := range m.GetFilters() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetWeight()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WasmDeploymentPolicySpec_Config_WasmFilter) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("extensions.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2.WasmDeploymentPolicySpec_Config_WasmFilter")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRootId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetVmId())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetFilterContext()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetInsertBeforeFilter())); err != nil { + return 0, err + } + + switch m.FilterSource.(type) { + + case *WasmDeploymentPolicySpec_Config_WasmFilter_LocalPathSource: + + if _, err = hasher.Write([]byte(m.GetLocalPathSource())); err != nil { + return 0, err + } + + case *WasmDeploymentPolicySpec_Config_WasmFilter_HttpUriSource: + + if h, ok := interface{}(m.GetHttpUriSource()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HttpUriSource")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHttpUriSource(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HttpUriSource")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource_: + + if h, ok := interface{}(m.GetWasmImageSource()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("WasmImageSource")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetWasmImageSource(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("WasmImageSource")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.FilterConfigSource.(type) { + + case *WasmDeploymentPolicySpec_Config_WasmFilter_StaticFilterConfig: + + if h, ok := interface{}(m.GetStaticFilterConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("StaticFilterConfig")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetStaticFilterConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("StaticFilterConfig")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *WasmDeploymentPolicySpec_Config_WasmFilter_DynamicFilterConfig: + + if _, err = hasher.Write([]byte(m.GetDynamicFilterConfig())); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WasmDeploymentPolicySpec_Config_WasmFilter_UriSource) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("extensions.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2.WasmDeploymentPolicySpec_Config_WasmFilter_UriSource")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUri())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSha())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("extensions.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/extensions.policy.gloo.solo.io/v2.WasmDeploymentPolicySpec_Config_WasmFilter_WasmImageSource")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetWasmImageTag())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/extensions.policy.gloo.solo.io/v2/zz_generated.deepcopy.go b/client-go/extensions.policy.gloo.solo.io/v2/zz_generated.deepcopy.go new file mode 100644 index 000000000..0429a6c1d --- /dev/null +++ b/client-go/extensions.policy.gloo.solo.io/v2/zz_generated.deepcopy.go @@ -0,0 +1,69 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for extensions.policy.gloo.solo.io/v2 resources + +package v2 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for WasmDeploymentPolicy + +func (in *WasmDeploymentPolicy) DeepCopyInto(out *WasmDeploymentPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *WasmDeploymentPolicy) DeepCopy() *WasmDeploymentPolicy { + if in == nil { + return nil + } + out := new(WasmDeploymentPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *WasmDeploymentPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *WasmDeploymentPolicyList) DeepCopyInto(out *WasmDeploymentPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WasmDeploymentPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *WasmDeploymentPolicyList) DeepCopy() *WasmDeploymentPolicyList { + if in == nil { + return nil + } + out := new(WasmDeploymentPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *WasmDeploymentPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/clients.go b/client-go/infrastructure.gloo.solo.io/v2/clients.go new file mode 100644 index 000000000..565d4419b --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/clients.go @@ -0,0 +1,362 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the infrastructure.gloo.solo.io/v2 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the infrastructure.gloo.solo.io/v2 APIs +type Clientset interface { + // clienset for the infrastructure.gloo.solo.io/v2/v2 APIs + CloudProviders() CloudProviderClient + // clienset for the infrastructure.gloo.solo.io/v2/v2 APIs + CloudResources() CloudResourcesClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the infrastructure.gloo.solo.io/v2/v2 APIs +func (c *clientSet) CloudProviders() CloudProviderClient { + return NewCloudProviderClient(c.client) +} + +// clienset for the infrastructure.gloo.solo.io/v2/v2 APIs +func (c *clientSet) CloudResources() CloudResourcesClient { + return NewCloudResourcesClient(c.client) +} + +// Reader knows how to read and list CloudProviders. +type CloudProviderReader interface { + // Get retrieves a CloudProvider for the given object key + GetCloudProvider(ctx context.Context, key client.ObjectKey) (*CloudProvider, error) + + // List retrieves list of CloudProviders for a given namespace and list options. + ListCloudProvider(ctx context.Context, opts ...client.ListOption) (*CloudProviderList, error) +} + +// CloudProviderTransitionFunction instructs the CloudProviderWriter how to transition between an existing +// CloudProvider object and a desired on an Upsert +type CloudProviderTransitionFunction func(existing, desired *CloudProvider) error + +// Writer knows how to create, delete, and update CloudProviders. +type CloudProviderWriter interface { + // Create saves the CloudProvider object. + CreateCloudProvider(ctx context.Context, obj *CloudProvider, opts ...client.CreateOption) error + + // Delete deletes the CloudProvider object. + DeleteCloudProvider(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given CloudProvider object. + UpdateCloudProvider(ctx context.Context, obj *CloudProvider, opts ...client.UpdateOption) error + + // Patch patches the given CloudProvider object. + PatchCloudProvider(ctx context.Context, obj *CloudProvider, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all CloudProvider objects matching the given options. + DeleteAllOfCloudProvider(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the CloudProvider object. + UpsertCloudProvider(ctx context.Context, obj *CloudProvider, transitionFuncs ...CloudProviderTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a CloudProvider object. +type CloudProviderStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given CloudProvider object. + UpdateCloudProviderStatus(ctx context.Context, obj *CloudProvider, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given CloudProvider object's subresource. + PatchCloudProviderStatus(ctx context.Context, obj *CloudProvider, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on CloudProviders. +type CloudProviderClient interface { + CloudProviderReader + CloudProviderWriter + CloudProviderStatusWriter +} + +type cloudProviderClient struct { + client client.Client +} + +func NewCloudProviderClient(client client.Client) *cloudProviderClient { + return &cloudProviderClient{client: client} +} + +func (c *cloudProviderClient) GetCloudProvider(ctx context.Context, key client.ObjectKey) (*CloudProvider, error) { + obj := &CloudProvider{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *cloudProviderClient) ListCloudProvider(ctx context.Context, opts ...client.ListOption) (*CloudProviderList, error) { + list := &CloudProviderList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *cloudProviderClient) CreateCloudProvider(ctx context.Context, obj *CloudProvider, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *cloudProviderClient) DeleteCloudProvider(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &CloudProvider{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *cloudProviderClient) UpdateCloudProvider(ctx context.Context, obj *CloudProvider, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *cloudProviderClient) PatchCloudProvider(ctx context.Context, obj *CloudProvider, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *cloudProviderClient) DeleteAllOfCloudProvider(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &CloudProvider{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *cloudProviderClient) UpsertCloudProvider(ctx context.Context, obj *CloudProvider, transitionFuncs ...CloudProviderTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*CloudProvider), desired.(*CloudProvider)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *cloudProviderClient) UpdateCloudProviderStatus(ctx context.Context, obj *CloudProvider, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *cloudProviderClient) PatchCloudProviderStatus(ctx context.Context, obj *CloudProvider, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides CloudProviderClients for multiple clusters. +type MulticlusterCloudProviderClient interface { + // Cluster returns a CloudProviderClient for the given cluster + Cluster(cluster string) (CloudProviderClient, error) +} + +type multiclusterCloudProviderClient struct { + client multicluster.Client +} + +func NewMulticlusterCloudProviderClient(client multicluster.Client) MulticlusterCloudProviderClient { + return &multiclusterCloudProviderClient{client: client} +} + +func (m *multiclusterCloudProviderClient) Cluster(cluster string) (CloudProviderClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewCloudProviderClient(client), nil +} + +// Reader knows how to read and list CloudResourcess. +type CloudResourcesReader interface { + // Get retrieves a CloudResources for the given object key + GetCloudResources(ctx context.Context, key client.ObjectKey) (*CloudResources, error) + + // List retrieves list of CloudResourcess for a given namespace and list options. + ListCloudResources(ctx context.Context, opts ...client.ListOption) (*CloudResourcesList, error) +} + +// CloudResourcesTransitionFunction instructs the CloudResourcesWriter how to transition between an existing +// CloudResources object and a desired on an Upsert +type CloudResourcesTransitionFunction func(existing, desired *CloudResources) error + +// Writer knows how to create, delete, and update CloudResourcess. +type CloudResourcesWriter interface { + // Create saves the CloudResources object. + CreateCloudResources(ctx context.Context, obj *CloudResources, opts ...client.CreateOption) error + + // Delete deletes the CloudResources object. + DeleteCloudResources(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given CloudResources object. + UpdateCloudResources(ctx context.Context, obj *CloudResources, opts ...client.UpdateOption) error + + // Patch patches the given CloudResources object. + PatchCloudResources(ctx context.Context, obj *CloudResources, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all CloudResources objects matching the given options. + DeleteAllOfCloudResources(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the CloudResources object. + UpsertCloudResources(ctx context.Context, obj *CloudResources, transitionFuncs ...CloudResourcesTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a CloudResources object. +type CloudResourcesStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given CloudResources object. + UpdateCloudResourcesStatus(ctx context.Context, obj *CloudResources, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given CloudResources object's subresource. + PatchCloudResourcesStatus(ctx context.Context, obj *CloudResources, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on CloudResourcess. +type CloudResourcesClient interface { + CloudResourcesReader + CloudResourcesWriter + CloudResourcesStatusWriter +} + +type cloudResourcesClient struct { + client client.Client +} + +func NewCloudResourcesClient(client client.Client) *cloudResourcesClient { + return &cloudResourcesClient{client: client} +} + +func (c *cloudResourcesClient) GetCloudResources(ctx context.Context, key client.ObjectKey) (*CloudResources, error) { + obj := &CloudResources{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *cloudResourcesClient) ListCloudResources(ctx context.Context, opts ...client.ListOption) (*CloudResourcesList, error) { + list := &CloudResourcesList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *cloudResourcesClient) CreateCloudResources(ctx context.Context, obj *CloudResources, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *cloudResourcesClient) DeleteCloudResources(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &CloudResources{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *cloudResourcesClient) UpdateCloudResources(ctx context.Context, obj *CloudResources, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *cloudResourcesClient) PatchCloudResources(ctx context.Context, obj *CloudResources, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *cloudResourcesClient) DeleteAllOfCloudResources(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &CloudResources{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *cloudResourcesClient) UpsertCloudResources(ctx context.Context, obj *CloudResources, transitionFuncs ...CloudResourcesTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*CloudResources), desired.(*CloudResources)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *cloudResourcesClient) UpdateCloudResourcesStatus(ctx context.Context, obj *CloudResources, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *cloudResourcesClient) PatchCloudResourcesStatus(ctx context.Context, obj *CloudResources, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides CloudResourcesClients for multiple clusters. +type MulticlusterCloudResourcesClient interface { + // Cluster returns a CloudResourcesClient for the given cluster + Cluster(cluster string) (CloudResourcesClient, error) +} + +type multiclusterCloudResourcesClient struct { + client multicluster.Client +} + +func NewMulticlusterCloudResourcesClient(client multicluster.Client) MulticlusterCloudResourcesClient { + return &multiclusterCloudResourcesClient{client: client} +} + +func (m *multiclusterCloudResourcesClient) Cluster(cluster string) (CloudResourcesClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewCloudResourcesClient(client), nil +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/cloud_provider.pb.clone.go b/client-go/infrastructure.gloo.solo.io/v2/cloud_provider.pb.clone.go new file mode 100644 index 000000000..e56477de5 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/cloud_provider.pb.clone.go @@ -0,0 +1,231 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/infrastructure/v2/cloud_provider.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *CloudProviderSpec) Clone() proto.Message { + var target *CloudProviderSpec + if m == nil { + return target + } + target = &CloudProviderSpec{} + + switch m.Provider.(type) { + + case *CloudProviderSpec_Aws: + + if h, ok := interface{}(m.GetAws()).(clone.Cloner); ok { + target.Provider = &CloudProviderSpec_Aws{ + Aws: h.Clone().(*AWSProvider), + } + } else { + target.Provider = &CloudProviderSpec_Aws{ + Aws: proto.Clone(m.GetAws()).(*AWSProvider), + } + } + + } + + return target +} + +// Clone function +func (m *AWSProvider) Clone() proto.Message { + var target *AWSProvider + if m == nil { + return target + } + target = &AWSProvider{} + + target.AccountId = m.GetAccountId() + + target.Region = m.GetRegion() + + target.StsEndpoint = m.GetStsEndpoint() + + if h, ok := interface{}(m.GetLambda()).(clone.Cloner); ok { + target.Lambda = h.Clone().(*AWSProvider_LambdaOptions) + } else { + target.Lambda = proto.Clone(m.GetLambda()).(*AWSProvider_LambdaOptions) + } + + return target +} + +// Clone function +func (m *CloudProviderStatus) Clone() proto.Message { + var target *CloudProviderStatus + if m == nil { + return target + } + target = &CloudProviderStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + if m.GetNumAppliedRoutableFunctions() != nil { + target.NumAppliedRoutableFunctions = make(map[string]uint32, len(m.GetNumAppliedRoutableFunctions())) + for k, v := range m.GetNumAppliedRoutableFunctions() { + + target.NumAppliedRoutableFunctions[k] = v + + } + } + + target.NumChildCloudResources = m.GetNumChildCloudResources() + + return target +} + +// Clone function +func (m *CloudProviderReport) Clone() proto.Message { + var target *CloudProviderReport + if m == nil { + return target + } + target = &CloudProviderReport{} + + if h, ok := interface{}(m.GetReport()).(clone.Cloner); ok { + target.Report = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Report = proto.Clone(m.GetReport()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + if m.GetAppliedRoutableFunctions() != nil { + target.AppliedRoutableFunctions = make(map[string]*CloudProviderReport_LambdaFunctions, len(m.GetAppliedRoutableFunctions())) + for k, v := range m.GetAppliedRoutableFunctions() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AppliedRoutableFunctions[k] = h.Clone().(*CloudProviderReport_LambdaFunctions) + } else { + target.AppliedRoutableFunctions[k] = proto.Clone(v).(*CloudProviderReport_LambdaFunctions) + } + + } + } + + if m.GetChildCloudResources() != nil { + target.ChildCloudResources = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetChildCloudResources())) + for idx, v := range m.GetChildCloudResources() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ChildCloudResources[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.ChildCloudResources[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + return target +} + +// Clone function +func (m *AWSProvider_LambdaOptions) Clone() proto.Message { + var target *AWSProvider_LambdaOptions + if m == nil { + return target + } + target = &AWSProvider_LambdaOptions{} + + target.InvokeRoleName = m.GetInvokeRoleName() + + if h, ok := interface{}(m.GetDiscovery()).(clone.Cloner); ok { + target.Discovery = h.Clone().(*AWSProvider_LambdaOptions_LambdaDiscovery) + } else { + target.Discovery = proto.Clone(m.GetDiscovery()).(*AWSProvider_LambdaOptions_LambdaDiscovery) + } + + return target +} + +// Clone function +func (m *AWSProvider_LambdaOptions_LambdaDiscovery) Clone() proto.Message { + var target *AWSProvider_LambdaOptions_LambdaDiscovery + if m == nil { + return target + } + target = &AWSProvider_LambdaOptions_LambdaDiscovery{} + + target.Enabled = m.GetEnabled() + + target.RoleName = m.GetRoleName() + + if h, ok := interface{}(m.GetFilter()).(clone.Cloner); ok { + target.Filter = h.Clone().(*AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) + } else { + target.Filter = proto.Clone(m.GetFilter()).(*AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) + } + + return target +} + +// Clone function +func (m *AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) Clone() proto.Message { + var target *AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter + if m == nil { + return target + } + target = &AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter{} + + if m.GetNames() != nil { + target.Names = make([]string, len(m.GetNames())) + for idx, v := range m.GetNames() { + + target.Names[idx] = v + + } + } + + target.LatestOnly = m.GetLatestOnly() + + return target +} + +// Clone function +func (m *CloudProviderReport_LambdaFunctions) Clone() proto.Message { + var target *CloudProviderReport_LambdaFunctions + if m == nil { + return target + } + target = &CloudProviderReport_LambdaFunctions{} + + if m.GetFunctions() != nil { + target.Functions = make([]string, len(m.GetFunctions())) + for idx, v := range m.GetFunctions() { + + target.Functions[idx] = v + + } + } + + return target +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/cloud_provider.pb.equal.go b/client-go/infrastructure.gloo.solo.io/v2/cloud_provider.pb.equal.go new file mode 100644 index 000000000..d544154c4 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/cloud_provider.pb.equal.go @@ -0,0 +1,391 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/infrastructure/v2/cloud_provider.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *CloudProviderSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CloudProviderSpec) + if !ok { + that2, ok := that.(CloudProviderSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Provider.(type) { + + case *CloudProviderSpec_Aws: + if _, ok := target.Provider.(*CloudProviderSpec_Aws); !ok { + return false + } + + if h, ok := interface{}(m.GetAws()).(equality.Equalizer); ok { + if !h.Equal(target.GetAws()) { + return false + } + } else { + if !proto.Equal(m.GetAws(), target.GetAws()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Provider != target.Provider { + return false + } + } + + return true +} + +// Equal function +func (m *AWSProvider) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AWSProvider) + if !ok { + that2, ok := that.(AWSProvider) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetAccountId(), target.GetAccountId()) != 0 { + return false + } + + if strings.Compare(m.GetRegion(), target.GetRegion()) != 0 { + return false + } + + if strings.Compare(m.GetStsEndpoint(), target.GetStsEndpoint()) != 0 { + return false + } + + if h, ok := interface{}(m.GetLambda()).(equality.Equalizer); ok { + if !h.Equal(target.GetLambda()) { + return false + } + } else { + if !proto.Equal(m.GetLambda(), target.GetLambda()) { + return false + } + } + + return true +} + +// Equal function +func (m *CloudProviderStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CloudProviderStatus) + if !ok { + that2, ok := that.(CloudProviderStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if len(m.GetNumAppliedRoutableFunctions()) != len(target.GetNumAppliedRoutableFunctions()) { + return false + } + for k, v := range m.GetNumAppliedRoutableFunctions() { + + if v != target.GetNumAppliedRoutableFunctions()[k] { + return false + } + + } + + if m.GetNumChildCloudResources() != target.GetNumChildCloudResources() { + return false + } + + return true +} + +// Equal function +func (m *CloudProviderReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CloudProviderReport) + if !ok { + that2, ok := that.(CloudProviderReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetReport()).(equality.Equalizer); ok { + if !h.Equal(target.GetReport()) { + return false + } + } else { + if !proto.Equal(m.GetReport(), target.GetReport()) { + return false + } + } + + if len(m.GetAppliedRoutableFunctions()) != len(target.GetAppliedRoutableFunctions()) { + return false + } + for k, v := range m.GetAppliedRoutableFunctions() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAppliedRoutableFunctions()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetAppliedRoutableFunctions()[k]) { + return false + } + } + + } + + if len(m.GetChildCloudResources()) != len(target.GetChildCloudResources()) { + return false + } + for idx, v := range m.GetChildCloudResources() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetChildCloudResources()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetChildCloudResources()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *AWSProvider_LambdaOptions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AWSProvider_LambdaOptions) + if !ok { + that2, ok := that.(AWSProvider_LambdaOptions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetInvokeRoleName(), target.GetInvokeRoleName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetDiscovery()).(equality.Equalizer); ok { + if !h.Equal(target.GetDiscovery()) { + return false + } + } else { + if !proto.Equal(m.GetDiscovery(), target.GetDiscovery()) { + return false + } + } + + return true +} + +// Equal function +func (m *AWSProvider_LambdaOptions_LambdaDiscovery) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AWSProvider_LambdaOptions_LambdaDiscovery) + if !ok { + that2, ok := that.(AWSProvider_LambdaOptions_LambdaDiscovery) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetEnabled() != target.GetEnabled() { + return false + } + + if strings.Compare(m.GetRoleName(), target.GetRoleName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetFilter()).(equality.Equalizer); ok { + if !h.Equal(target.GetFilter()) { + return false + } + } else { + if !proto.Equal(m.GetFilter(), target.GetFilter()) { + return false + } + } + + return true +} + +// Equal function +func (m *AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) + if !ok { + that2, ok := that.(AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetNames()) != len(target.GetNames()) { + return false + } + for idx, v := range m.GetNames() { + + if strings.Compare(v, target.GetNames()[idx]) != 0 { + return false + } + + } + + if m.GetLatestOnly() != target.GetLatestOnly() { + return false + } + + return true +} + +// Equal function +func (m *CloudProviderReport_LambdaFunctions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CloudProviderReport_LambdaFunctions) + if !ok { + that2, ok := that.(CloudProviderReport_LambdaFunctions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetFunctions()) != len(target.GetFunctions()) { + return false + } + for idx, v := range m.GetFunctions() { + + if strings.Compare(v, target.GetFunctions()[idx]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/cloud_provider.pb.go b/client-go/infrastructure.gloo.solo.io/v2/cloud_provider.pb.go new file mode 100644 index 000000000..4b34bce66 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/cloud_provider.pb.go @@ -0,0 +1,855 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/infrastructure/v2/cloud_provider.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + _ "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A CloudProvider is a representation of a cloud/infrastructure provider, and allows you to specify the configuration used to communicate +// with that cloud provider, as well as how to discover the set of backing functionality associated with that CloudProvider. +type CloudProviderSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Provider: + // + // *CloudProviderSpec_Aws + Provider isCloudProviderSpec_Provider `protobuf_oneof:"provider"` +} + +func (x *CloudProviderSpec) Reset() { + *x = CloudProviderSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudProviderSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudProviderSpec) ProtoMessage() {} + +func (x *CloudProviderSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudProviderSpec.ProtoReflect.Descriptor instead. +func (*CloudProviderSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescGZIP(), []int{0} +} + +func (m *CloudProviderSpec) GetProvider() isCloudProviderSpec_Provider { + if m != nil { + return m.Provider + } + return nil +} + +func (x *CloudProviderSpec) GetAws() *AWSProvider { + if x, ok := x.GetProvider().(*CloudProviderSpec_Aws); ok { + return x.Aws + } + return nil +} + +type isCloudProviderSpec_Provider interface { + isCloudProviderSpec_Provider() +} + +type CloudProviderSpec_Aws struct { + // AWS cloud provider configuration. + Aws *AWSProvider `protobuf:"bytes,1,opt,name=aws,proto3,oneof"` +} + +func (*CloudProviderSpec_Aws) isCloudProviderSpec_Provider() {} + +// AWSProvider is the implementation for AWS, used for specifying how functionality should be discovered and which +// credentials should be used, unless otherwise discovered using the aws credentials in the workspace settings. +type AWSProvider struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // AWS account ID + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // AWS region + Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"` + // STS endpoint to reach out to for AWS credentials + StsEndpoint string `protobuf:"bytes,3,opt,name=sts_endpoint,json=stsEndpoint,proto3" json:"sts_endpoint,omitempty"` + // Lambda configuration + Lambda *AWSProvider_LambdaOptions `protobuf:"bytes,4,opt,name=lambda,proto3" json:"lambda,omitempty"` +} + +func (x *AWSProvider) Reset() { + *x = AWSProvider{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSProvider) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSProvider) ProtoMessage() {} + +func (x *AWSProvider) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AWSProvider.ProtoReflect.Descriptor instead. +func (*AWSProvider) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescGZIP(), []int{1} +} + +func (x *AWSProvider) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *AWSProvider) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *AWSProvider) GetStsEndpoint() string { + if x != nil { + return x.StsEndpoint + } + return "" +} + +func (x *AWSProvider) GetLambda() *AWSProvider_LambdaOptions { + if x != nil { + return x.Lambda + } + return nil +} + +// The status of the resource after it is applied to your Gloo environment. +type CloudProviderStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // A map of CloudResources to the number of routable functions + // provided by that CloudResource. + NumAppliedRoutableFunctions map[string]uint32 `protobuf:"bytes,2,rep,name=num_applied_routable_functions,json=numAppliedRoutableFunctions,proto3" json:"num_applied_routable_functions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + // The number of CloudResources that back this CloudProvider. + NumChildCloudResources uint32 `protobuf:"varint,3,opt,name=num_child_cloud_resources,json=numChildCloudResources,proto3" json:"num_child_cloud_resources,omitempty"` +} + +func (x *CloudProviderStatus) Reset() { + *x = CloudProviderStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudProviderStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudProviderStatus) ProtoMessage() {} + +func (x *CloudProviderStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudProviderStatus.ProtoReflect.Descriptor instead. +func (*CloudProviderStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescGZIP(), []int{2} +} + +func (x *CloudProviderStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *CloudProviderStatus) GetNumAppliedRoutableFunctions() map[string]uint32 { + if x != nil { + return x.NumAppliedRoutableFunctions + } + return nil +} + +func (x *CloudProviderStatus) GetNumChildCloudResources() uint32 { + if x != nil { + return x.NumChildCloudResources + } + return 0 +} + +// reflects the report of the Cloud Provider +type CloudProviderReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Report *v2.Report `protobuf:"bytes,1,opt,name=report,proto3" json:"report,omitempty"` + // A map of CloudResources to the number of routable functions + // provided by that CloudResource. + AppliedRoutableFunctions map[string]*CloudProviderReport_LambdaFunctions `protobuf:"bytes,2,rep,name=applied_routable_functions,json=appliedRoutableFunctions,proto3" json:"applied_routable_functions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of CloudResources that back this CloudProvider. + ChildCloudResources []*v2.ObjectReference `protobuf:"bytes,3,rep,name=child_cloud_resources,json=childCloudResources,proto3" json:"child_cloud_resources,omitempty"` +} + +func (x *CloudProviderReport) Reset() { + *x = CloudProviderReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudProviderReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudProviderReport) ProtoMessage() {} + +func (x *CloudProviderReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudProviderReport.ProtoReflect.Descriptor instead. +func (*CloudProviderReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescGZIP(), []int{3} +} + +func (x *CloudProviderReport) GetReport() *v2.Report { + if x != nil { + return x.Report + } + return nil +} + +func (x *CloudProviderReport) GetAppliedRoutableFunctions() map[string]*CloudProviderReport_LambdaFunctions { + if x != nil { + return x.AppliedRoutableFunctions + } + return nil +} + +func (x *CloudProviderReport) GetChildCloudResources() []*v2.ObjectReference { + if x != nil { + return x.ChildCloudResources + } + return nil +} + +// LambdaOptions specifies options for configuring invocation and filtering of lambda functions +type AWSProvider_LambdaOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The name of the IAM role to assume when calling the specified Cloud Function, associated with the account ID + // and region specified on the CloudProvider. If omitted, the IAM role specified on the gateway is used, + // unless referencing an imported CloudProvider. If importing a CloudProvider, you must specify this field. You can also + // specify a default invokeRole in a RouteTable by using the 'gloo.solo.io/defaultInvokeRole' annotation. + InvokeRoleName string `protobuf:"bytes,1,opt,name=invoke_role_name,json=invokeRoleName,proto3" json:"invoke_role_name,omitempty"` + // Discovery of lambda functions + Discovery *AWSProvider_LambdaOptions_LambdaDiscovery `protobuf:"bytes,2,opt,name=discovery,proto3" json:"discovery,omitempty"` +} + +func (x *AWSProvider_LambdaOptions) Reset() { + *x = AWSProvider_LambdaOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSProvider_LambdaOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSProvider_LambdaOptions) ProtoMessage() {} + +func (x *AWSProvider_LambdaOptions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AWSProvider_LambdaOptions.ProtoReflect.Descriptor instead. +func (*AWSProvider_LambdaOptions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *AWSProvider_LambdaOptions) GetInvokeRoleName() string { + if x != nil { + return x.InvokeRoleName + } + return "" +} + +func (x *AWSProvider_LambdaOptions) GetDiscovery() *AWSProvider_LambdaOptions_LambdaDiscovery { + if x != nil { + return x.Discovery + } + return nil +} + +// LambdaDiscovery specifies options for discovering lambda functions +type AWSProvider_LambdaOptions_LambdaDiscovery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Enable discovery of lambda functions. + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // Optional. The name of role to use for discovering CloudResources, associated with the account ID and region specified + // on the CloudProvider. If set, this name will be used to override the value found in the $AWS_ROLE_ARN environment variable + // on the mgmt-server pod. + RoleName string `protobuf:"bytes,2,opt,name=role_name,json=roleName,proto3" json:"role_name,omitempty"` + // Lambda function configuration specifies how lambda functions will be discovered. + Filter *AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *AWSProvider_LambdaOptions_LambdaDiscovery) Reset() { + *x = AWSProvider_LambdaOptions_LambdaDiscovery{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSProvider_LambdaOptions_LambdaDiscovery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSProvider_LambdaOptions_LambdaDiscovery) ProtoMessage() {} + +func (x *AWSProvider_LambdaOptions_LambdaDiscovery) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AWSProvider_LambdaOptions_LambdaDiscovery.ProtoReflect.Descriptor instead. +func (*AWSProvider_LambdaOptions_LambdaDiscovery) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescGZIP(), []int{1, 0, 0} +} + +func (x *AWSProvider_LambdaOptions_LambdaDiscovery) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *AWSProvider_LambdaOptions_LambdaDiscovery) GetRoleName() string { + if x != nil { + return x.RoleName + } + return "" +} + +func (x *AWSProvider_LambdaOptions_LambdaDiscovery) GetFilter() *AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter { + if x != nil { + return x.Filter + } + return nil +} + +type AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // filter by the names of the functions. Functions that do not match this selector will not be included. Regex supported. + Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` + // select only Lambda functions with the $LATEST version, to reduce the amount of discovered functions. If disabled, the + // generated resources will contain all versions associated with the functions specified. + LatestOnly bool `protobuf:"varint,2,opt,name=latest_only,json=latestOnly,proto3" json:"latest_only,omitempty"` +} + +func (x *AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) Reset() { + *x = AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) ProtoMessage() {} + +func (x *AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter.ProtoReflect.Descriptor instead. +func (*AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescGZIP(), []int{1, 0, 0, 0} +} + +func (x *AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) GetNames() []string { + if x != nil { + return x.Names + } + return nil +} + +func (x *AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) GetLatestOnly() bool { + if x != nil { + return x.LatestOnly + } + return false +} + +type CloudProviderReport_LambdaFunctions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Functions []string `protobuf:"bytes,1,rep,name=functions,proto3" json:"functions,omitempty"` +} + +func (x *CloudProviderReport_LambdaFunctions) Reset() { + *x = CloudProviderReport_LambdaFunctions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudProviderReport_LambdaFunctions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudProviderReport_LambdaFunctions) ProtoMessage() {} + +func (x *CloudProviderReport_LambdaFunctions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudProviderReport_LambdaFunctions.ProtoReflect.Descriptor instead. +func (*CloudProviderReport_LambdaFunctions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *CloudProviderReport_LambdaFunctions) GetFunctions() []string { + if x != nil { + return x.Functions + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDesc = []byte{ + 0x0a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x1b, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x2e, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x11, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x3c, 0x0a, 0x03, 0x61, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x57, 0x53, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x03, 0x61, 0x77, 0x73, 0x42, + 0x0a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xd8, 0x04, 0x0a, 0x0b, + 0x41, 0x57, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x57, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, + 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x6c, + 0x61, 0x6d, 0x62, 0x64, 0x61, 0x1a, 0x9e, 0x03, 0x0a, 0x0d, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x6b, + 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x64, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x41, 0x57, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x4c, + 0x61, 0x6d, 0x62, 0x64, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x6d, + 0x62, 0x64, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x09, 0x64, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x1a, 0xfc, 0x01, 0x0a, 0x0f, 0x4c, 0x61, 0x6d, 0x62, + 0x64, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x6b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x41, 0x57, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x6d, + 0x62, 0x64, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x6d, 0x62, 0x64, + 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x61, 0x6d, 0x62, 0x64, + 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x1a, + 0x45, 0x0a, 0x0c, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0xee, 0x02, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, + 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x12, 0x96, 0x01, 0x0a, 0x1e, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x69, + 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x4e, + 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x1b, 0x6e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x19, + 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x16, 0x6e, 0x75, 0x6d, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x4e, 0x0a, 0x20, 0x4e, 0x75, 0x6d, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf4, 0x03, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x33, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x12, 0x8c, 0x01, 0x0a, 0x1a, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x69, 0x6e, 0x66, 0x72, + 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x15, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x13, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x2f, 0x0a, + 0x0f, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x8d, + 0x01, 0x0a, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x56, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, + 0x72, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5c, + 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, + 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_goTypes = []interface{}{ + (*CloudProviderSpec)(nil), // 0: infrastructure.gloo.solo.io.CloudProviderSpec + (*AWSProvider)(nil), // 1: infrastructure.gloo.solo.io.AWSProvider + (*CloudProviderStatus)(nil), // 2: infrastructure.gloo.solo.io.CloudProviderStatus + (*CloudProviderReport)(nil), // 3: infrastructure.gloo.solo.io.CloudProviderReport + (*AWSProvider_LambdaOptions)(nil), // 4: infrastructure.gloo.solo.io.AWSProvider.LambdaOptions + (*AWSProvider_LambdaOptions_LambdaDiscovery)(nil), // 5: infrastructure.gloo.solo.io.AWSProvider.LambdaOptions.LambdaDiscovery + (*AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter)(nil), // 6: infrastructure.gloo.solo.io.AWSProvider.LambdaOptions.LambdaDiscovery.LambdaFilter + nil, // 7: infrastructure.gloo.solo.io.CloudProviderStatus.NumAppliedRoutableFunctionsEntry + (*CloudProviderReport_LambdaFunctions)(nil), // 8: infrastructure.gloo.solo.io.CloudProviderReport.LambdaFunctions + nil, // 9: infrastructure.gloo.solo.io.CloudProviderReport.AppliedRoutableFunctionsEntry + (*v2.Status)(nil), // 10: common.gloo.solo.io.Status + (*v2.Report)(nil), // 11: common.gloo.solo.io.Report + (*v2.ObjectReference)(nil), // 12: common.gloo.solo.io.ObjectReference +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_depIdxs = []int32{ + 1, // 0: infrastructure.gloo.solo.io.CloudProviderSpec.aws:type_name -> infrastructure.gloo.solo.io.AWSProvider + 4, // 1: infrastructure.gloo.solo.io.AWSProvider.lambda:type_name -> infrastructure.gloo.solo.io.AWSProvider.LambdaOptions + 10, // 2: infrastructure.gloo.solo.io.CloudProviderStatus.common:type_name -> common.gloo.solo.io.Status + 7, // 3: infrastructure.gloo.solo.io.CloudProviderStatus.num_applied_routable_functions:type_name -> infrastructure.gloo.solo.io.CloudProviderStatus.NumAppliedRoutableFunctionsEntry + 11, // 4: infrastructure.gloo.solo.io.CloudProviderReport.report:type_name -> common.gloo.solo.io.Report + 9, // 5: infrastructure.gloo.solo.io.CloudProviderReport.applied_routable_functions:type_name -> infrastructure.gloo.solo.io.CloudProviderReport.AppliedRoutableFunctionsEntry + 12, // 6: infrastructure.gloo.solo.io.CloudProviderReport.child_cloud_resources:type_name -> common.gloo.solo.io.ObjectReference + 5, // 7: infrastructure.gloo.solo.io.AWSProvider.LambdaOptions.discovery:type_name -> infrastructure.gloo.solo.io.AWSProvider.LambdaOptions.LambdaDiscovery + 6, // 8: infrastructure.gloo.solo.io.AWSProvider.LambdaOptions.LambdaDiscovery.filter:type_name -> infrastructure.gloo.solo.io.AWSProvider.LambdaOptions.LambdaDiscovery.LambdaFilter + 8, // 9: infrastructure.gloo.solo.io.CloudProviderReport.AppliedRoutableFunctionsEntry.value:type_name -> infrastructure.gloo.solo.io.CloudProviderReport.LambdaFunctions + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudProviderSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AWSProvider); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudProviderStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudProviderReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AWSProvider_LambdaOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AWSProvider_LambdaOptions_LambdaDiscovery); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudProviderReport_LambdaFunctions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*CloudProviderSpec_Aws)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDesc, + NumEnums: 0, + NumMessages: 10, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_provider_proto_depIdxs = nil +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/cloud_provider.pb.hash.go b/client-go/infrastructure.gloo.solo.io/v2/cloud_provider.pb.hash.go new file mode 100644 index 000000000..378f4a228 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/cloud_provider.pb.hash.go @@ -0,0 +1,418 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/infrastructure/v2/cloud_provider.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *CloudProviderSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("infrastructure.gloo.solo.io.github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2.CloudProviderSpec")); err != nil { + return 0, err + } + + switch m.Provider.(type) { + + case *CloudProviderSpec_Aws: + + if h, ok := interface{}(m.GetAws()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Aws")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAws(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Aws")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AWSProvider) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("infrastructure.gloo.solo.io.github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2.AWSProvider")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAccountId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRegion())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetStsEndpoint())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetLambda()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Lambda")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLambda(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Lambda")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CloudProviderStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("infrastructure.gloo.solo.io.github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2.CloudProviderStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetNumAppliedRoutableFunctions() { + innerHash.Reset() + + err = binary.Write(innerHash, binary.LittleEndian, v) + if err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumChildCloudResources()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CloudProviderReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("infrastructure.gloo.solo.io.github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2.CloudProviderReport")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetReport()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Report")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetReport(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Report")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAppliedRoutableFunctions() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetChildCloudResources() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AWSProvider_LambdaOptions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("infrastructure.gloo.solo.io.github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2.AWSProvider_LambdaOptions")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetInvokeRoleName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetDiscovery()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Discovery")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDiscovery(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Discovery")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AWSProvider_LambdaOptions_LambdaDiscovery) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("infrastructure.gloo.solo.io.github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2.AWSProvider_LambdaOptions_LambdaDiscovery")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetEnabled()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRoleName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetFilter()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Filter")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetFilter(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Filter")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("infrastructure.gloo.solo.io.github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2.AWSProvider_LambdaOptions_LambdaDiscovery_LambdaFilter")); err != nil { + return 0, err + } + + for _, v := range m.GetNames() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetLatestOnly()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CloudProviderReport_LambdaFunctions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("infrastructure.gloo.solo.io.github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2.CloudProviderReport_LambdaFunctions")); err != nil { + return 0, err + } + + for _, v := range m.GetFunctions() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/cloud_resources.pb.clone.go b/client-go/infrastructure.gloo.solo.io/v2/cloud_resources.pb.clone.go new file mode 100644 index 000000000..037a2760e --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/cloud_resources.pb.clone.go @@ -0,0 +1,94 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/infrastructure/v2/cloud_resources.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *CloudResourcesSpec) Clone() proto.Message { + var target *CloudResourcesSpec + if m == nil { + return target + } + target = &CloudResourcesSpec{} + + target.Provider = m.GetProvider() + + switch m.ProviderType.(type) { + + case *CloudResourcesSpec_Aws: + + if h, ok := interface{}(m.GetAws()).(clone.Cloner); ok { + target.ProviderType = &CloudResourcesSpec_Aws{ + Aws: h.Clone().(*CloudResourcesSpec_AWSResources), + } + } else { + target.ProviderType = &CloudResourcesSpec_Aws{ + Aws: proto.Clone(m.GetAws()).(*CloudResourcesSpec_AWSResources), + } + } + + } + + return target +} + +// Clone function +func (m *CloudResourcesSpec_AWSResources) Clone() proto.Message { + var target *CloudResourcesSpec_AWSResources + if m == nil { + return target + } + target = &CloudResourcesSpec_AWSResources{} + + if m.GetLambda() != nil { + target.Lambda = make([]*CloudResourcesSpec_AWSResources_Lambda, len(m.GetLambda())) + for idx, v := range m.GetLambda() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Lambda[idx] = h.Clone().(*CloudResourcesSpec_AWSResources_Lambda) + } else { + target.Lambda[idx] = proto.Clone(v).(*CloudResourcesSpec_AWSResources_Lambda) + } + + } + } + + return target +} + +// Clone function +func (m *CloudResourcesSpec_AWSResources_Lambda) Clone() proto.Message { + var target *CloudResourcesSpec_AWSResources_Lambda + if m == nil { + return target + } + target = &CloudResourcesSpec_AWSResources_Lambda{} + + target.LambdaFunctionName = m.GetLambdaFunctionName() + + target.Qualifier = m.GetQualifier() + + return target +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/cloud_resources.pb.equal.go b/client-go/infrastructure.gloo.solo.io/v2/cloud_resources.pb.equal.go new file mode 100644 index 000000000..504118581 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/cloud_resources.pb.equal.go @@ -0,0 +1,151 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/infrastructure/v2/cloud_resources.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *CloudResourcesSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CloudResourcesSpec) + if !ok { + that2, ok := that.(CloudResourcesSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetProvider(), target.GetProvider()) != 0 { + return false + } + + switch m.ProviderType.(type) { + + case *CloudResourcesSpec_Aws: + if _, ok := target.ProviderType.(*CloudResourcesSpec_Aws); !ok { + return false + } + + if h, ok := interface{}(m.GetAws()).(equality.Equalizer); ok { + if !h.Equal(target.GetAws()) { + return false + } + } else { + if !proto.Equal(m.GetAws(), target.GetAws()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ProviderType != target.ProviderType { + return false + } + } + + return true +} + +// Equal function +func (m *CloudResourcesSpec_AWSResources) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CloudResourcesSpec_AWSResources) + if !ok { + that2, ok := that.(CloudResourcesSpec_AWSResources) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetLambda()) != len(target.GetLambda()) { + return false + } + for idx, v := range m.GetLambda() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetLambda()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetLambda()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *CloudResourcesSpec_AWSResources_Lambda) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CloudResourcesSpec_AWSResources_Lambda) + if !ok { + that2, ok := that.(CloudResourcesSpec_AWSResources_Lambda) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetLambdaFunctionName(), target.GetLambdaFunctionName()) != 0 { + return false + } + + if strings.Compare(m.GetQualifier(), target.GetQualifier()) != 0 { + return false + } + + return true +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/cloud_resources.pb.go b/client-go/infrastructure.gloo.solo.io/v2/cloud_resources.pb.go new file mode 100644 index 000000000..97d4c5187 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/cloud_resources.pb.go @@ -0,0 +1,366 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/infrastructure/v2/cloud_resources.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + _ "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + _ "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// CloudResources are units of functionality that back a referenced CloudProvider resource. These bits of functionality +// can be referenced in the route table to route to the corresponding backend service. +type CloudResourcesSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the cloud provider that this configuration references. Must live in the same namespace as the + // CloudResources. + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + // Types that are assignable to ProviderType: + // + // *CloudResourcesSpec_Aws + ProviderType isCloudResourcesSpec_ProviderType `protobuf_oneof:"provider_type"` +} + +func (x *CloudResourcesSpec) Reset() { + *x = CloudResourcesSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudResourcesSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudResourcesSpec) ProtoMessage() {} + +func (x *CloudResourcesSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudResourcesSpec.ProtoReflect.Descriptor instead. +func (*CloudResourcesSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDescGZIP(), []int{0} +} + +func (x *CloudResourcesSpec) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (m *CloudResourcesSpec) GetProviderType() isCloudResourcesSpec_ProviderType { + if m != nil { + return m.ProviderType + } + return nil +} + +func (x *CloudResourcesSpec) GetAws() *CloudResourcesSpec_AWSResources { + if x, ok := x.GetProviderType().(*CloudResourcesSpec_Aws); ok { + return x.Aws + } + return nil +} + +type isCloudResourcesSpec_ProviderType interface { + isCloudResourcesSpec_ProviderType() +} + +type CloudResourcesSpec_Aws struct { + // AWSResources discovered resources from AWS + Aws *CloudResourcesSpec_AWSResources `protobuf:"bytes,2,opt,name=aws,proto3,oneof"` +} + +func (*CloudResourcesSpec_Aws) isCloudResourcesSpec_ProviderType() {} + +// AWSResources discovered resources from AWS +type CloudResourcesSpec_AWSResources struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of lambda functions Gloo Mesh can route to for the AWS provider. + Lambda []*CloudResourcesSpec_AWSResources_Lambda `protobuf:"bytes,3,rep,name=lambda,proto3" json:"lambda,omitempty"` +} + +func (x *CloudResourcesSpec_AWSResources) Reset() { + *x = CloudResourcesSpec_AWSResources{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudResourcesSpec_AWSResources) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudResourcesSpec_AWSResources) ProtoMessage() {} + +func (x *CloudResourcesSpec_AWSResources) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudResourcesSpec_AWSResources.ProtoReflect.Descriptor instead. +func (*CloudResourcesSpec_AWSResources) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *CloudResourcesSpec_AWSResources) GetLambda() []*CloudResourcesSpec_AWSResources_Lambda { + if x != nil { + return x.Lambda + } + return nil +} + +// Each Lambda Function contains data necessary for Gloo Mesh to invoke those functions: +type CloudResourcesSpec_AWSResources_Lambda struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Name of the Lambda Function as it appears in the AWS Lambda Portal + LambdaFunctionName string `protobuf:"bytes,1,opt,name=lambda_function_name,json=lambdaFunctionName,proto3" json:"lambda_function_name,omitempty"` + // The Qualifier for the Lambda Function. Qualifiers act as a kind of version + // for Lambda Functions. See https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html for more info. + Qualifier string `protobuf:"bytes,2,opt,name=qualifier,proto3" json:"qualifier,omitempty"` +} + +func (x *CloudResourcesSpec_AWSResources_Lambda) Reset() { + *x = CloudResourcesSpec_AWSResources_Lambda{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudResourcesSpec_AWSResources_Lambda) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudResourcesSpec_AWSResources_Lambda) ProtoMessage() {} + +func (x *CloudResourcesSpec_AWSResources_Lambda) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudResourcesSpec_AWSResources_Lambda.ProtoReflect.Descriptor instead. +func (*CloudResourcesSpec_AWSResources_Lambda) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *CloudResourcesSpec_AWSResources_Lambda) GetLambdaFunctionName() string { + if x != nil { + return x.LambdaFunctionName + } + return "" +} + +func (x *CloudResourcesSpec_AWSResources_Lambda) GetQualifier() string { + if x != nil { + return x.Qualifier + } + return "" +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDesc = []byte{ + 0x0a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x1b, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, + 0x72, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, + 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, + 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x02, 0x0a, 0x12, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x03, 0x61, + 0x77, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x57, 0x53, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x03, 0x61, 0x77, 0x73, 0x1a, 0xc5, 0x01, + 0x0a, 0x0c, 0x41, 0x57, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x5b, + 0x0a, 0x06, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, + 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x41, 0x57, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x4c, 0x61, 0x6d, + 0x62, 0x64, 0x61, 0x52, 0x06, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x1a, 0x58, 0x0a, 0x06, 0x4c, + 0x61, 0x6d, 0x62, 0x64, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x5f, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x61, 0x6c, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x61, 0x6c, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x5c, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, + 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_goTypes = []interface{}{ + (*CloudResourcesSpec)(nil), // 0: infrastructure.gloo.solo.io.CloudResourcesSpec + (*CloudResourcesSpec_AWSResources)(nil), // 1: infrastructure.gloo.solo.io.CloudResourcesSpec.AWSResources + (*CloudResourcesSpec_AWSResources_Lambda)(nil), // 2: infrastructure.gloo.solo.io.CloudResourcesSpec.AWSResources.Lambda +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_depIdxs = []int32{ + 1, // 0: infrastructure.gloo.solo.io.CloudResourcesSpec.aws:type_name -> infrastructure.gloo.solo.io.CloudResourcesSpec.AWSResources + 2, // 1: infrastructure.gloo.solo.io.CloudResourcesSpec.AWSResources.lambda:type_name -> infrastructure.gloo.solo.io.CloudResourcesSpec.AWSResources.Lambda + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudResourcesSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudResourcesSpec_AWSResources); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudResourcesSpec_AWSResources_Lambda); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*CloudResourcesSpec_Aws)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_infrastructure_v2_cloud_resources_proto_depIdxs = nil +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/cloud_resources.pb.hash.go b/client-go/infrastructure.gloo.solo.io/v2/cloud_resources.pb.hash.go new file mode 100644 index 000000000..4d3b696e2 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/cloud_resources.pb.hash.go @@ -0,0 +1,136 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/infrastructure/v2/cloud_resources.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *CloudResourcesSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("infrastructure.gloo.solo.io.github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2.CloudResourcesSpec")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetProvider())); err != nil { + return 0, err + } + + switch m.ProviderType.(type) { + + case *CloudResourcesSpec_Aws: + + if h, ok := interface{}(m.GetAws()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Aws")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAws(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Aws")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CloudResourcesSpec_AWSResources) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("infrastructure.gloo.solo.io.github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2.CloudResourcesSpec_AWSResources")); err != nil { + return 0, err + } + + for _, v := range m.GetLambda() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CloudResourcesSpec_AWSResources_Lambda) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("infrastructure.gloo.solo.io.github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2.CloudResourcesSpec_AWSResources_Lambda")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetLambdaFunctionName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetQualifier())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/controller/event_handlers.go b/client-go/infrastructure.gloo.solo.io/v2/controller/event_handlers.go new file mode 100644 index 000000000..b6275a3aa --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/controller/event_handlers.go @@ -0,0 +1,232 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + infrastructure_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the CloudProvider Resource +// DEPRECATED: Prefer reconciler pattern. +type CloudProviderEventHandler interface { + CreateCloudProvider(obj *infrastructure_gloo_solo_io_v2.CloudProvider) error + UpdateCloudProvider(old, new *infrastructure_gloo_solo_io_v2.CloudProvider) error + DeleteCloudProvider(obj *infrastructure_gloo_solo_io_v2.CloudProvider) error + GenericCloudProvider(obj *infrastructure_gloo_solo_io_v2.CloudProvider) error +} + +type CloudProviderEventHandlerFuncs struct { + OnCreate func(obj *infrastructure_gloo_solo_io_v2.CloudProvider) error + OnUpdate func(old, new *infrastructure_gloo_solo_io_v2.CloudProvider) error + OnDelete func(obj *infrastructure_gloo_solo_io_v2.CloudProvider) error + OnGeneric func(obj *infrastructure_gloo_solo_io_v2.CloudProvider) error +} + +func (f *CloudProviderEventHandlerFuncs) CreateCloudProvider(obj *infrastructure_gloo_solo_io_v2.CloudProvider) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *CloudProviderEventHandlerFuncs) DeleteCloudProvider(obj *infrastructure_gloo_solo_io_v2.CloudProvider) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *CloudProviderEventHandlerFuncs) UpdateCloudProvider(objOld, objNew *infrastructure_gloo_solo_io_v2.CloudProvider) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *CloudProviderEventHandlerFuncs) GenericCloudProvider(obj *infrastructure_gloo_solo_io_v2.CloudProvider) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type CloudProviderEventWatcher interface { + AddEventHandler(ctx context.Context, h CloudProviderEventHandler, predicates ...predicate.Predicate) error +} + +type cloudProviderEventWatcher struct { + watcher events.EventWatcher +} + +func NewCloudProviderEventWatcher(name string, mgr manager.Manager) CloudProviderEventWatcher { + return &cloudProviderEventWatcher{ + watcher: events.NewWatcher(name, mgr, &infrastructure_gloo_solo_io_v2.CloudProvider{}), + } +} + +func (c *cloudProviderEventWatcher) AddEventHandler(ctx context.Context, h CloudProviderEventHandler, predicates ...predicate.Predicate) error { + handler := genericCloudProviderHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericCloudProviderHandler implements a generic events.EventHandler +type genericCloudProviderHandler struct { + handler CloudProviderEventHandler +} + +func (h genericCloudProviderHandler) Create(object client.Object) error { + obj, ok := object.(*infrastructure_gloo_solo_io_v2.CloudProvider) + if !ok { + return errors.Errorf("internal error: CloudProvider handler received event for %T", object) + } + return h.handler.CreateCloudProvider(obj) +} + +func (h genericCloudProviderHandler) Delete(object client.Object) error { + obj, ok := object.(*infrastructure_gloo_solo_io_v2.CloudProvider) + if !ok { + return errors.Errorf("internal error: CloudProvider handler received event for %T", object) + } + return h.handler.DeleteCloudProvider(obj) +} + +func (h genericCloudProviderHandler) Update(old, new client.Object) error { + objOld, ok := old.(*infrastructure_gloo_solo_io_v2.CloudProvider) + if !ok { + return errors.Errorf("internal error: CloudProvider handler received event for %T", old) + } + objNew, ok := new.(*infrastructure_gloo_solo_io_v2.CloudProvider) + if !ok { + return errors.Errorf("internal error: CloudProvider handler received event for %T", new) + } + return h.handler.UpdateCloudProvider(objOld, objNew) +} + +func (h genericCloudProviderHandler) Generic(object client.Object) error { + obj, ok := object.(*infrastructure_gloo_solo_io_v2.CloudProvider) + if !ok { + return errors.Errorf("internal error: CloudProvider handler received event for %T", object) + } + return h.handler.GenericCloudProvider(obj) +} + +// Handle events for the CloudResources Resource +// DEPRECATED: Prefer reconciler pattern. +type CloudResourcesEventHandler interface { + CreateCloudResources(obj *infrastructure_gloo_solo_io_v2.CloudResources) error + UpdateCloudResources(old, new *infrastructure_gloo_solo_io_v2.CloudResources) error + DeleteCloudResources(obj *infrastructure_gloo_solo_io_v2.CloudResources) error + GenericCloudResources(obj *infrastructure_gloo_solo_io_v2.CloudResources) error +} + +type CloudResourcesEventHandlerFuncs struct { + OnCreate func(obj *infrastructure_gloo_solo_io_v2.CloudResources) error + OnUpdate func(old, new *infrastructure_gloo_solo_io_v2.CloudResources) error + OnDelete func(obj *infrastructure_gloo_solo_io_v2.CloudResources) error + OnGeneric func(obj *infrastructure_gloo_solo_io_v2.CloudResources) error +} + +func (f *CloudResourcesEventHandlerFuncs) CreateCloudResources(obj *infrastructure_gloo_solo_io_v2.CloudResources) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *CloudResourcesEventHandlerFuncs) DeleteCloudResources(obj *infrastructure_gloo_solo_io_v2.CloudResources) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *CloudResourcesEventHandlerFuncs) UpdateCloudResources(objOld, objNew *infrastructure_gloo_solo_io_v2.CloudResources) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *CloudResourcesEventHandlerFuncs) GenericCloudResources(obj *infrastructure_gloo_solo_io_v2.CloudResources) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type CloudResourcesEventWatcher interface { + AddEventHandler(ctx context.Context, h CloudResourcesEventHandler, predicates ...predicate.Predicate) error +} + +type cloudResourcesEventWatcher struct { + watcher events.EventWatcher +} + +func NewCloudResourcesEventWatcher(name string, mgr manager.Manager) CloudResourcesEventWatcher { + return &cloudResourcesEventWatcher{ + watcher: events.NewWatcher(name, mgr, &infrastructure_gloo_solo_io_v2.CloudResources{}), + } +} + +func (c *cloudResourcesEventWatcher) AddEventHandler(ctx context.Context, h CloudResourcesEventHandler, predicates ...predicate.Predicate) error { + handler := genericCloudResourcesHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericCloudResourcesHandler implements a generic events.EventHandler +type genericCloudResourcesHandler struct { + handler CloudResourcesEventHandler +} + +func (h genericCloudResourcesHandler) Create(object client.Object) error { + obj, ok := object.(*infrastructure_gloo_solo_io_v2.CloudResources) + if !ok { + return errors.Errorf("internal error: CloudResources handler received event for %T", object) + } + return h.handler.CreateCloudResources(obj) +} + +func (h genericCloudResourcesHandler) Delete(object client.Object) error { + obj, ok := object.(*infrastructure_gloo_solo_io_v2.CloudResources) + if !ok { + return errors.Errorf("internal error: CloudResources handler received event for %T", object) + } + return h.handler.DeleteCloudResources(obj) +} + +func (h genericCloudResourcesHandler) Update(old, new client.Object) error { + objOld, ok := old.(*infrastructure_gloo_solo_io_v2.CloudResources) + if !ok { + return errors.Errorf("internal error: CloudResources handler received event for %T", old) + } + objNew, ok := new.(*infrastructure_gloo_solo_io_v2.CloudResources) + if !ok { + return errors.Errorf("internal error: CloudResources handler received event for %T", new) + } + return h.handler.UpdateCloudResources(objOld, objNew) +} + +func (h genericCloudResourcesHandler) Generic(object client.Object) error { + obj, ok := object.(*infrastructure_gloo_solo_io_v2.CloudResources) + if !ok { + return errors.Errorf("internal error: CloudResources handler received event for %T", object) + } + return h.handler.GenericCloudResources(obj) +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/controller/mocks/event_handlers.go b/client-go/infrastructure.gloo.solo.io/v2/controller/mocks/event_handlers.go new file mode 100644 index 000000000..f3414d203 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/controller/mocks/event_handlers.go @@ -0,0 +1,258 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2/controller" +) + +// MockCloudProviderEventHandler is a mock of CloudProviderEventHandler interface. +type MockCloudProviderEventHandler struct { + ctrl *gomock.Controller + recorder *MockCloudProviderEventHandlerMockRecorder +} + +// MockCloudProviderEventHandlerMockRecorder is the mock recorder for MockCloudProviderEventHandler. +type MockCloudProviderEventHandlerMockRecorder struct { + mock *MockCloudProviderEventHandler +} + +// NewMockCloudProviderEventHandler creates a new mock instance. +func NewMockCloudProviderEventHandler(ctrl *gomock.Controller) *MockCloudProviderEventHandler { + mock := &MockCloudProviderEventHandler{ctrl: ctrl} + mock.recorder = &MockCloudProviderEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudProviderEventHandler) EXPECT() *MockCloudProviderEventHandlerMockRecorder { + return m.recorder +} + +// CreateCloudProvider mocks base method. +func (m *MockCloudProviderEventHandler) CreateCloudProvider(obj *v2.CloudProvider) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateCloudProvider", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCloudProvider indicates an expected call of CreateCloudProvider. +func (mr *MockCloudProviderEventHandlerMockRecorder) CreateCloudProvider(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCloudProvider", reflect.TypeOf((*MockCloudProviderEventHandler)(nil).CreateCloudProvider), obj) +} + +// DeleteCloudProvider mocks base method. +func (m *MockCloudProviderEventHandler) DeleteCloudProvider(obj *v2.CloudProvider) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteCloudProvider", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCloudProvider indicates an expected call of DeleteCloudProvider. +func (mr *MockCloudProviderEventHandlerMockRecorder) DeleteCloudProvider(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCloudProvider", reflect.TypeOf((*MockCloudProviderEventHandler)(nil).DeleteCloudProvider), obj) +} + +// GenericCloudProvider mocks base method. +func (m *MockCloudProviderEventHandler) GenericCloudProvider(obj *v2.CloudProvider) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericCloudProvider", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericCloudProvider indicates an expected call of GenericCloudProvider. +func (mr *MockCloudProviderEventHandlerMockRecorder) GenericCloudProvider(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericCloudProvider", reflect.TypeOf((*MockCloudProviderEventHandler)(nil).GenericCloudProvider), obj) +} + +// UpdateCloudProvider mocks base method. +func (m *MockCloudProviderEventHandler) UpdateCloudProvider(old, new *v2.CloudProvider) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateCloudProvider", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCloudProvider indicates an expected call of UpdateCloudProvider. +func (mr *MockCloudProviderEventHandlerMockRecorder) UpdateCloudProvider(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCloudProvider", reflect.TypeOf((*MockCloudProviderEventHandler)(nil).UpdateCloudProvider), old, new) +} + +// MockCloudProviderEventWatcher is a mock of CloudProviderEventWatcher interface. +type MockCloudProviderEventWatcher struct { + ctrl *gomock.Controller + recorder *MockCloudProviderEventWatcherMockRecorder +} + +// MockCloudProviderEventWatcherMockRecorder is the mock recorder for MockCloudProviderEventWatcher. +type MockCloudProviderEventWatcherMockRecorder struct { + mock *MockCloudProviderEventWatcher +} + +// NewMockCloudProviderEventWatcher creates a new mock instance. +func NewMockCloudProviderEventWatcher(ctrl *gomock.Controller) *MockCloudProviderEventWatcher { + mock := &MockCloudProviderEventWatcher{ctrl: ctrl} + mock.recorder = &MockCloudProviderEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudProviderEventWatcher) EXPECT() *MockCloudProviderEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockCloudProviderEventWatcher) AddEventHandler(ctx context.Context, h controller.CloudProviderEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockCloudProviderEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockCloudProviderEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockCloudResourcesEventHandler is a mock of CloudResourcesEventHandler interface. +type MockCloudResourcesEventHandler struct { + ctrl *gomock.Controller + recorder *MockCloudResourcesEventHandlerMockRecorder +} + +// MockCloudResourcesEventHandlerMockRecorder is the mock recorder for MockCloudResourcesEventHandler. +type MockCloudResourcesEventHandlerMockRecorder struct { + mock *MockCloudResourcesEventHandler +} + +// NewMockCloudResourcesEventHandler creates a new mock instance. +func NewMockCloudResourcesEventHandler(ctrl *gomock.Controller) *MockCloudResourcesEventHandler { + mock := &MockCloudResourcesEventHandler{ctrl: ctrl} + mock.recorder = &MockCloudResourcesEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudResourcesEventHandler) EXPECT() *MockCloudResourcesEventHandlerMockRecorder { + return m.recorder +} + +// CreateCloudResources mocks base method. +func (m *MockCloudResourcesEventHandler) CreateCloudResources(obj *v2.CloudResources) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateCloudResources", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCloudResources indicates an expected call of CreateCloudResources. +func (mr *MockCloudResourcesEventHandlerMockRecorder) CreateCloudResources(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCloudResources", reflect.TypeOf((*MockCloudResourcesEventHandler)(nil).CreateCloudResources), obj) +} + +// DeleteCloudResources mocks base method. +func (m *MockCloudResourcesEventHandler) DeleteCloudResources(obj *v2.CloudResources) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteCloudResources", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCloudResources indicates an expected call of DeleteCloudResources. +func (mr *MockCloudResourcesEventHandlerMockRecorder) DeleteCloudResources(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCloudResources", reflect.TypeOf((*MockCloudResourcesEventHandler)(nil).DeleteCloudResources), obj) +} + +// GenericCloudResources mocks base method. +func (m *MockCloudResourcesEventHandler) GenericCloudResources(obj *v2.CloudResources) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericCloudResources", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericCloudResources indicates an expected call of GenericCloudResources. +func (mr *MockCloudResourcesEventHandlerMockRecorder) GenericCloudResources(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericCloudResources", reflect.TypeOf((*MockCloudResourcesEventHandler)(nil).GenericCloudResources), obj) +} + +// UpdateCloudResources mocks base method. +func (m *MockCloudResourcesEventHandler) UpdateCloudResources(old, new *v2.CloudResources) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateCloudResources", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCloudResources indicates an expected call of UpdateCloudResources. +func (mr *MockCloudResourcesEventHandlerMockRecorder) UpdateCloudResources(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCloudResources", reflect.TypeOf((*MockCloudResourcesEventHandler)(nil).UpdateCloudResources), old, new) +} + +// MockCloudResourcesEventWatcher is a mock of CloudResourcesEventWatcher interface. +type MockCloudResourcesEventWatcher struct { + ctrl *gomock.Controller + recorder *MockCloudResourcesEventWatcherMockRecorder +} + +// MockCloudResourcesEventWatcherMockRecorder is the mock recorder for MockCloudResourcesEventWatcher. +type MockCloudResourcesEventWatcherMockRecorder struct { + mock *MockCloudResourcesEventWatcher +} + +// NewMockCloudResourcesEventWatcher creates a new mock instance. +func NewMockCloudResourcesEventWatcher(ctrl *gomock.Controller) *MockCloudResourcesEventWatcher { + mock := &MockCloudResourcesEventWatcher{ctrl: ctrl} + mock.recorder = &MockCloudResourcesEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudResourcesEventWatcher) EXPECT() *MockCloudResourcesEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockCloudResourcesEventWatcher) AddEventHandler(ctx context.Context, h controller.CloudResourcesEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockCloudResourcesEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockCloudResourcesEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go b/client-go/infrastructure.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..21ed89f9e --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,247 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2/controller" +) + +// MockMulticlusterCloudProviderReconciler is a mock of MulticlusterCloudProviderReconciler interface. +type MockMulticlusterCloudProviderReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCloudProviderReconcilerMockRecorder +} + +// MockMulticlusterCloudProviderReconcilerMockRecorder is the mock recorder for MockMulticlusterCloudProviderReconciler. +type MockMulticlusterCloudProviderReconcilerMockRecorder struct { + mock *MockMulticlusterCloudProviderReconciler +} + +// NewMockMulticlusterCloudProviderReconciler creates a new mock instance. +func NewMockMulticlusterCloudProviderReconciler(ctrl *gomock.Controller) *MockMulticlusterCloudProviderReconciler { + mock := &MockMulticlusterCloudProviderReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterCloudProviderReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCloudProviderReconciler) EXPECT() *MockMulticlusterCloudProviderReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCloudProvider mocks base method. +func (m *MockMulticlusterCloudProviderReconciler) ReconcileCloudProvider(clusterName string, obj *v2.CloudProvider) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCloudProvider", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCloudProvider indicates an expected call of ReconcileCloudProvider. +func (mr *MockMulticlusterCloudProviderReconcilerMockRecorder) ReconcileCloudProvider(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCloudProvider", reflect.TypeOf((*MockMulticlusterCloudProviderReconciler)(nil).ReconcileCloudProvider), clusterName, obj) +} + +// MockMulticlusterCloudProviderDeletionReconciler is a mock of MulticlusterCloudProviderDeletionReconciler interface. +type MockMulticlusterCloudProviderDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCloudProviderDeletionReconcilerMockRecorder +} + +// MockMulticlusterCloudProviderDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterCloudProviderDeletionReconciler. +type MockMulticlusterCloudProviderDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterCloudProviderDeletionReconciler +} + +// NewMockMulticlusterCloudProviderDeletionReconciler creates a new mock instance. +func NewMockMulticlusterCloudProviderDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterCloudProviderDeletionReconciler { + mock := &MockMulticlusterCloudProviderDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterCloudProviderDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCloudProviderDeletionReconciler) EXPECT() *MockMulticlusterCloudProviderDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCloudProviderDeletion mocks base method. +func (m *MockMulticlusterCloudProviderDeletionReconciler) ReconcileCloudProviderDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCloudProviderDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileCloudProviderDeletion indicates an expected call of ReconcileCloudProviderDeletion. +func (mr *MockMulticlusterCloudProviderDeletionReconcilerMockRecorder) ReconcileCloudProviderDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCloudProviderDeletion", reflect.TypeOf((*MockMulticlusterCloudProviderDeletionReconciler)(nil).ReconcileCloudProviderDeletion), clusterName, req) +} + +// MockMulticlusterCloudProviderReconcileLoop is a mock of MulticlusterCloudProviderReconcileLoop interface. +type MockMulticlusterCloudProviderReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCloudProviderReconcileLoopMockRecorder +} + +// MockMulticlusterCloudProviderReconcileLoopMockRecorder is the mock recorder for MockMulticlusterCloudProviderReconcileLoop. +type MockMulticlusterCloudProviderReconcileLoopMockRecorder struct { + mock *MockMulticlusterCloudProviderReconcileLoop +} + +// NewMockMulticlusterCloudProviderReconcileLoop creates a new mock instance. +func NewMockMulticlusterCloudProviderReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterCloudProviderReconcileLoop { + mock := &MockMulticlusterCloudProviderReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterCloudProviderReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCloudProviderReconcileLoop) EXPECT() *MockMulticlusterCloudProviderReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterCloudProviderReconciler mocks base method. +func (m *MockMulticlusterCloudProviderReconcileLoop) AddMulticlusterCloudProviderReconciler(ctx context.Context, rec controller.MulticlusterCloudProviderReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterCloudProviderReconciler", varargs...) +} + +// AddMulticlusterCloudProviderReconciler indicates an expected call of AddMulticlusterCloudProviderReconciler. +func (mr *MockMulticlusterCloudProviderReconcileLoopMockRecorder) AddMulticlusterCloudProviderReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterCloudProviderReconciler", reflect.TypeOf((*MockMulticlusterCloudProviderReconcileLoop)(nil).AddMulticlusterCloudProviderReconciler), varargs...) +} + +// MockMulticlusterCloudResourcesReconciler is a mock of MulticlusterCloudResourcesReconciler interface. +type MockMulticlusterCloudResourcesReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCloudResourcesReconcilerMockRecorder +} + +// MockMulticlusterCloudResourcesReconcilerMockRecorder is the mock recorder for MockMulticlusterCloudResourcesReconciler. +type MockMulticlusterCloudResourcesReconcilerMockRecorder struct { + mock *MockMulticlusterCloudResourcesReconciler +} + +// NewMockMulticlusterCloudResourcesReconciler creates a new mock instance. +func NewMockMulticlusterCloudResourcesReconciler(ctrl *gomock.Controller) *MockMulticlusterCloudResourcesReconciler { + mock := &MockMulticlusterCloudResourcesReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterCloudResourcesReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCloudResourcesReconciler) EXPECT() *MockMulticlusterCloudResourcesReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCloudResources mocks base method. +func (m *MockMulticlusterCloudResourcesReconciler) ReconcileCloudResources(clusterName string, obj *v2.CloudResources) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCloudResources", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCloudResources indicates an expected call of ReconcileCloudResources. +func (mr *MockMulticlusterCloudResourcesReconcilerMockRecorder) ReconcileCloudResources(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCloudResources", reflect.TypeOf((*MockMulticlusterCloudResourcesReconciler)(nil).ReconcileCloudResources), clusterName, obj) +} + +// MockMulticlusterCloudResourcesDeletionReconciler is a mock of MulticlusterCloudResourcesDeletionReconciler interface. +type MockMulticlusterCloudResourcesDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCloudResourcesDeletionReconcilerMockRecorder +} + +// MockMulticlusterCloudResourcesDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterCloudResourcesDeletionReconciler. +type MockMulticlusterCloudResourcesDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterCloudResourcesDeletionReconciler +} + +// NewMockMulticlusterCloudResourcesDeletionReconciler creates a new mock instance. +func NewMockMulticlusterCloudResourcesDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterCloudResourcesDeletionReconciler { + mock := &MockMulticlusterCloudResourcesDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterCloudResourcesDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCloudResourcesDeletionReconciler) EXPECT() *MockMulticlusterCloudResourcesDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCloudResourcesDeletion mocks base method. +func (m *MockMulticlusterCloudResourcesDeletionReconciler) ReconcileCloudResourcesDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCloudResourcesDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileCloudResourcesDeletion indicates an expected call of ReconcileCloudResourcesDeletion. +func (mr *MockMulticlusterCloudResourcesDeletionReconcilerMockRecorder) ReconcileCloudResourcesDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCloudResourcesDeletion", reflect.TypeOf((*MockMulticlusterCloudResourcesDeletionReconciler)(nil).ReconcileCloudResourcesDeletion), clusterName, req) +} + +// MockMulticlusterCloudResourcesReconcileLoop is a mock of MulticlusterCloudResourcesReconcileLoop interface. +type MockMulticlusterCloudResourcesReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCloudResourcesReconcileLoopMockRecorder +} + +// MockMulticlusterCloudResourcesReconcileLoopMockRecorder is the mock recorder for MockMulticlusterCloudResourcesReconcileLoop. +type MockMulticlusterCloudResourcesReconcileLoopMockRecorder struct { + mock *MockMulticlusterCloudResourcesReconcileLoop +} + +// NewMockMulticlusterCloudResourcesReconcileLoop creates a new mock instance. +func NewMockMulticlusterCloudResourcesReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterCloudResourcesReconcileLoop { + mock := &MockMulticlusterCloudResourcesReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterCloudResourcesReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCloudResourcesReconcileLoop) EXPECT() *MockMulticlusterCloudResourcesReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterCloudResourcesReconciler mocks base method. +func (m *MockMulticlusterCloudResourcesReconcileLoop) AddMulticlusterCloudResourcesReconciler(ctx context.Context, rec controller.MulticlusterCloudResourcesReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterCloudResourcesReconciler", varargs...) +} + +// AddMulticlusterCloudResourcesReconciler indicates an expected call of AddMulticlusterCloudResourcesReconciler. +func (mr *MockMulticlusterCloudResourcesReconcileLoopMockRecorder) AddMulticlusterCloudResourcesReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterCloudResourcesReconciler", reflect.TypeOf((*MockMulticlusterCloudResourcesReconcileLoop)(nil).AddMulticlusterCloudResourcesReconciler), varargs...) +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/controller/mocks/reconcilers.go b/client-go/infrastructure.gloo.solo.io/v2/controller/mocks/reconcilers.go new file mode 100644 index 000000000..11a9752a9 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/controller/mocks/reconcilers.go @@ -0,0 +1,383 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2/controller" +) + +// MockCloudProviderReconciler is a mock of CloudProviderReconciler interface. +type MockCloudProviderReconciler struct { + ctrl *gomock.Controller + recorder *MockCloudProviderReconcilerMockRecorder +} + +// MockCloudProviderReconcilerMockRecorder is the mock recorder for MockCloudProviderReconciler. +type MockCloudProviderReconcilerMockRecorder struct { + mock *MockCloudProviderReconciler +} + +// NewMockCloudProviderReconciler creates a new mock instance. +func NewMockCloudProviderReconciler(ctrl *gomock.Controller) *MockCloudProviderReconciler { + mock := &MockCloudProviderReconciler{ctrl: ctrl} + mock.recorder = &MockCloudProviderReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudProviderReconciler) EXPECT() *MockCloudProviderReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCloudProvider mocks base method. +func (m *MockCloudProviderReconciler) ReconcileCloudProvider(obj *v2.CloudProvider) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCloudProvider", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCloudProvider indicates an expected call of ReconcileCloudProvider. +func (mr *MockCloudProviderReconcilerMockRecorder) ReconcileCloudProvider(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCloudProvider", reflect.TypeOf((*MockCloudProviderReconciler)(nil).ReconcileCloudProvider), obj) +} + +// MockCloudProviderDeletionReconciler is a mock of CloudProviderDeletionReconciler interface. +type MockCloudProviderDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockCloudProviderDeletionReconcilerMockRecorder +} + +// MockCloudProviderDeletionReconcilerMockRecorder is the mock recorder for MockCloudProviderDeletionReconciler. +type MockCloudProviderDeletionReconcilerMockRecorder struct { + mock *MockCloudProviderDeletionReconciler +} + +// NewMockCloudProviderDeletionReconciler creates a new mock instance. +func NewMockCloudProviderDeletionReconciler(ctrl *gomock.Controller) *MockCloudProviderDeletionReconciler { + mock := &MockCloudProviderDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockCloudProviderDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudProviderDeletionReconciler) EXPECT() *MockCloudProviderDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCloudProviderDeletion mocks base method. +func (m *MockCloudProviderDeletionReconciler) ReconcileCloudProviderDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCloudProviderDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileCloudProviderDeletion indicates an expected call of ReconcileCloudProviderDeletion. +func (mr *MockCloudProviderDeletionReconcilerMockRecorder) ReconcileCloudProviderDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCloudProviderDeletion", reflect.TypeOf((*MockCloudProviderDeletionReconciler)(nil).ReconcileCloudProviderDeletion), req) +} + +// MockCloudProviderFinalizer is a mock of CloudProviderFinalizer interface. +type MockCloudProviderFinalizer struct { + ctrl *gomock.Controller + recorder *MockCloudProviderFinalizerMockRecorder +} + +// MockCloudProviderFinalizerMockRecorder is the mock recorder for MockCloudProviderFinalizer. +type MockCloudProviderFinalizerMockRecorder struct { + mock *MockCloudProviderFinalizer +} + +// NewMockCloudProviderFinalizer creates a new mock instance. +func NewMockCloudProviderFinalizer(ctrl *gomock.Controller) *MockCloudProviderFinalizer { + mock := &MockCloudProviderFinalizer{ctrl: ctrl} + mock.recorder = &MockCloudProviderFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudProviderFinalizer) EXPECT() *MockCloudProviderFinalizerMockRecorder { + return m.recorder +} + +// CloudProviderFinalizerName mocks base method. +func (m *MockCloudProviderFinalizer) CloudProviderFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CloudProviderFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// CloudProviderFinalizerName indicates an expected call of CloudProviderFinalizerName. +func (mr *MockCloudProviderFinalizerMockRecorder) CloudProviderFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloudProviderFinalizerName", reflect.TypeOf((*MockCloudProviderFinalizer)(nil).CloudProviderFinalizerName)) +} + +// FinalizeCloudProvider mocks base method. +func (m *MockCloudProviderFinalizer) FinalizeCloudProvider(obj *v2.CloudProvider) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeCloudProvider", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeCloudProvider indicates an expected call of FinalizeCloudProvider. +func (mr *MockCloudProviderFinalizerMockRecorder) FinalizeCloudProvider(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeCloudProvider", reflect.TypeOf((*MockCloudProviderFinalizer)(nil).FinalizeCloudProvider), obj) +} + +// ReconcileCloudProvider mocks base method. +func (m *MockCloudProviderFinalizer) ReconcileCloudProvider(obj *v2.CloudProvider) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCloudProvider", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCloudProvider indicates an expected call of ReconcileCloudProvider. +func (mr *MockCloudProviderFinalizerMockRecorder) ReconcileCloudProvider(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCloudProvider", reflect.TypeOf((*MockCloudProviderFinalizer)(nil).ReconcileCloudProvider), obj) +} + +// MockCloudProviderReconcileLoop is a mock of CloudProviderReconcileLoop interface. +type MockCloudProviderReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockCloudProviderReconcileLoopMockRecorder +} + +// MockCloudProviderReconcileLoopMockRecorder is the mock recorder for MockCloudProviderReconcileLoop. +type MockCloudProviderReconcileLoopMockRecorder struct { + mock *MockCloudProviderReconcileLoop +} + +// NewMockCloudProviderReconcileLoop creates a new mock instance. +func NewMockCloudProviderReconcileLoop(ctrl *gomock.Controller) *MockCloudProviderReconcileLoop { + mock := &MockCloudProviderReconcileLoop{ctrl: ctrl} + mock.recorder = &MockCloudProviderReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudProviderReconcileLoop) EXPECT() *MockCloudProviderReconcileLoopMockRecorder { + return m.recorder +} + +// RunCloudProviderReconciler mocks base method. +func (m *MockCloudProviderReconcileLoop) RunCloudProviderReconciler(ctx context.Context, rec controller.CloudProviderReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunCloudProviderReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunCloudProviderReconciler indicates an expected call of RunCloudProviderReconciler. +func (mr *MockCloudProviderReconcileLoopMockRecorder) RunCloudProviderReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunCloudProviderReconciler", reflect.TypeOf((*MockCloudProviderReconcileLoop)(nil).RunCloudProviderReconciler), varargs...) +} + +// MockCloudResourcesReconciler is a mock of CloudResourcesReconciler interface. +type MockCloudResourcesReconciler struct { + ctrl *gomock.Controller + recorder *MockCloudResourcesReconcilerMockRecorder +} + +// MockCloudResourcesReconcilerMockRecorder is the mock recorder for MockCloudResourcesReconciler. +type MockCloudResourcesReconcilerMockRecorder struct { + mock *MockCloudResourcesReconciler +} + +// NewMockCloudResourcesReconciler creates a new mock instance. +func NewMockCloudResourcesReconciler(ctrl *gomock.Controller) *MockCloudResourcesReconciler { + mock := &MockCloudResourcesReconciler{ctrl: ctrl} + mock.recorder = &MockCloudResourcesReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudResourcesReconciler) EXPECT() *MockCloudResourcesReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCloudResources mocks base method. +func (m *MockCloudResourcesReconciler) ReconcileCloudResources(obj *v2.CloudResources) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCloudResources", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCloudResources indicates an expected call of ReconcileCloudResources. +func (mr *MockCloudResourcesReconcilerMockRecorder) ReconcileCloudResources(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCloudResources", reflect.TypeOf((*MockCloudResourcesReconciler)(nil).ReconcileCloudResources), obj) +} + +// MockCloudResourcesDeletionReconciler is a mock of CloudResourcesDeletionReconciler interface. +type MockCloudResourcesDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockCloudResourcesDeletionReconcilerMockRecorder +} + +// MockCloudResourcesDeletionReconcilerMockRecorder is the mock recorder for MockCloudResourcesDeletionReconciler. +type MockCloudResourcesDeletionReconcilerMockRecorder struct { + mock *MockCloudResourcesDeletionReconciler +} + +// NewMockCloudResourcesDeletionReconciler creates a new mock instance. +func NewMockCloudResourcesDeletionReconciler(ctrl *gomock.Controller) *MockCloudResourcesDeletionReconciler { + mock := &MockCloudResourcesDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockCloudResourcesDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudResourcesDeletionReconciler) EXPECT() *MockCloudResourcesDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCloudResourcesDeletion mocks base method. +func (m *MockCloudResourcesDeletionReconciler) ReconcileCloudResourcesDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCloudResourcesDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileCloudResourcesDeletion indicates an expected call of ReconcileCloudResourcesDeletion. +func (mr *MockCloudResourcesDeletionReconcilerMockRecorder) ReconcileCloudResourcesDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCloudResourcesDeletion", reflect.TypeOf((*MockCloudResourcesDeletionReconciler)(nil).ReconcileCloudResourcesDeletion), req) +} + +// MockCloudResourcesFinalizer is a mock of CloudResourcesFinalizer interface. +type MockCloudResourcesFinalizer struct { + ctrl *gomock.Controller + recorder *MockCloudResourcesFinalizerMockRecorder +} + +// MockCloudResourcesFinalizerMockRecorder is the mock recorder for MockCloudResourcesFinalizer. +type MockCloudResourcesFinalizerMockRecorder struct { + mock *MockCloudResourcesFinalizer +} + +// NewMockCloudResourcesFinalizer creates a new mock instance. +func NewMockCloudResourcesFinalizer(ctrl *gomock.Controller) *MockCloudResourcesFinalizer { + mock := &MockCloudResourcesFinalizer{ctrl: ctrl} + mock.recorder = &MockCloudResourcesFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudResourcesFinalizer) EXPECT() *MockCloudResourcesFinalizerMockRecorder { + return m.recorder +} + +// CloudResourcesFinalizerName mocks base method. +func (m *MockCloudResourcesFinalizer) CloudResourcesFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CloudResourcesFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// CloudResourcesFinalizerName indicates an expected call of CloudResourcesFinalizerName. +func (mr *MockCloudResourcesFinalizerMockRecorder) CloudResourcesFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloudResourcesFinalizerName", reflect.TypeOf((*MockCloudResourcesFinalizer)(nil).CloudResourcesFinalizerName)) +} + +// FinalizeCloudResources mocks base method. +func (m *MockCloudResourcesFinalizer) FinalizeCloudResources(obj *v2.CloudResources) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeCloudResources", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeCloudResources indicates an expected call of FinalizeCloudResources. +func (mr *MockCloudResourcesFinalizerMockRecorder) FinalizeCloudResources(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeCloudResources", reflect.TypeOf((*MockCloudResourcesFinalizer)(nil).FinalizeCloudResources), obj) +} + +// ReconcileCloudResources mocks base method. +func (m *MockCloudResourcesFinalizer) ReconcileCloudResources(obj *v2.CloudResources) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCloudResources", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCloudResources indicates an expected call of ReconcileCloudResources. +func (mr *MockCloudResourcesFinalizerMockRecorder) ReconcileCloudResources(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCloudResources", reflect.TypeOf((*MockCloudResourcesFinalizer)(nil).ReconcileCloudResources), obj) +} + +// MockCloudResourcesReconcileLoop is a mock of CloudResourcesReconcileLoop interface. +type MockCloudResourcesReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockCloudResourcesReconcileLoopMockRecorder +} + +// MockCloudResourcesReconcileLoopMockRecorder is the mock recorder for MockCloudResourcesReconcileLoop. +type MockCloudResourcesReconcileLoopMockRecorder struct { + mock *MockCloudResourcesReconcileLoop +} + +// NewMockCloudResourcesReconcileLoop creates a new mock instance. +func NewMockCloudResourcesReconcileLoop(ctrl *gomock.Controller) *MockCloudResourcesReconcileLoop { + mock := &MockCloudResourcesReconcileLoop{ctrl: ctrl} + mock.recorder = &MockCloudResourcesReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudResourcesReconcileLoop) EXPECT() *MockCloudResourcesReconcileLoopMockRecorder { + return m.recorder +} + +// RunCloudResourcesReconciler mocks base method. +func (m *MockCloudResourcesReconcileLoop) RunCloudResourcesReconciler(ctx context.Context, rec controller.CloudResourcesReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunCloudResourcesReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunCloudResourcesReconciler indicates an expected call of RunCloudResourcesReconciler. +func (mr *MockCloudResourcesReconcileLoopMockRecorder) RunCloudResourcesReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunCloudResourcesReconciler", reflect.TypeOf((*MockCloudResourcesReconcileLoop)(nil).RunCloudResourcesReconciler), varargs...) +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/controller/multicluster_reconcilers.go b/client-go/infrastructure.gloo.solo.io/v2/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..f8c54751d --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/controller/multicluster_reconcilers.go @@ -0,0 +1,161 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + infrastructure_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the CloudProvider Resource across clusters. +// implemented by the user +type MulticlusterCloudProviderReconciler interface { + ReconcileCloudProvider(clusterName string, obj *infrastructure_gloo_solo_io_v2.CloudProvider) (reconcile.Result, error) +} + +// Reconcile deletion events for the CloudProvider Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterCloudProviderDeletionReconciler interface { + ReconcileCloudProviderDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterCloudProviderReconcilerFuncs struct { + OnReconcileCloudProvider func(clusterName string, obj *infrastructure_gloo_solo_io_v2.CloudProvider) (reconcile.Result, error) + OnReconcileCloudProviderDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterCloudProviderReconcilerFuncs) ReconcileCloudProvider(clusterName string, obj *infrastructure_gloo_solo_io_v2.CloudProvider) (reconcile.Result, error) { + if f.OnReconcileCloudProvider == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileCloudProvider(clusterName, obj) +} + +func (f *MulticlusterCloudProviderReconcilerFuncs) ReconcileCloudProviderDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileCloudProviderDeletion == nil { + return nil + } + return f.OnReconcileCloudProviderDeletion(clusterName, req) +} + +type MulticlusterCloudProviderReconcileLoop interface { + // AddMulticlusterCloudProviderReconciler adds a MulticlusterCloudProviderReconciler to the MulticlusterCloudProviderReconcileLoop. + AddMulticlusterCloudProviderReconciler(ctx context.Context, rec MulticlusterCloudProviderReconciler, predicates ...predicate.Predicate) +} + +type multiclusterCloudProviderReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterCloudProviderReconcileLoop) AddMulticlusterCloudProviderReconciler(ctx context.Context, rec MulticlusterCloudProviderReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericCloudProviderMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterCloudProviderReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterCloudProviderReconcileLoop { + return &multiclusterCloudProviderReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &infrastructure_gloo_solo_io_v2.CloudProvider{}, options)} +} + +type genericCloudProviderMulticlusterReconciler struct { + reconciler MulticlusterCloudProviderReconciler +} + +func (g genericCloudProviderMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterCloudProviderDeletionReconciler); ok { + return deletionReconciler.ReconcileCloudProviderDeletion(cluster, req) + } + return nil +} + +func (g genericCloudProviderMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*infrastructure_gloo_solo_io_v2.CloudProvider) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: CloudProvider handler received event for %T", object) + } + return g.reconciler.ReconcileCloudProvider(cluster, obj) +} + +// Reconcile Upsert events for the CloudResources Resource across clusters. +// implemented by the user +type MulticlusterCloudResourcesReconciler interface { + ReconcileCloudResources(clusterName string, obj *infrastructure_gloo_solo_io_v2.CloudResources) (reconcile.Result, error) +} + +// Reconcile deletion events for the CloudResources Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterCloudResourcesDeletionReconciler interface { + ReconcileCloudResourcesDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterCloudResourcesReconcilerFuncs struct { + OnReconcileCloudResources func(clusterName string, obj *infrastructure_gloo_solo_io_v2.CloudResources) (reconcile.Result, error) + OnReconcileCloudResourcesDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterCloudResourcesReconcilerFuncs) ReconcileCloudResources(clusterName string, obj *infrastructure_gloo_solo_io_v2.CloudResources) (reconcile.Result, error) { + if f.OnReconcileCloudResources == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileCloudResources(clusterName, obj) +} + +func (f *MulticlusterCloudResourcesReconcilerFuncs) ReconcileCloudResourcesDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileCloudResourcesDeletion == nil { + return nil + } + return f.OnReconcileCloudResourcesDeletion(clusterName, req) +} + +type MulticlusterCloudResourcesReconcileLoop interface { + // AddMulticlusterCloudResourcesReconciler adds a MulticlusterCloudResourcesReconciler to the MulticlusterCloudResourcesReconcileLoop. + AddMulticlusterCloudResourcesReconciler(ctx context.Context, rec MulticlusterCloudResourcesReconciler, predicates ...predicate.Predicate) +} + +type multiclusterCloudResourcesReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterCloudResourcesReconcileLoop) AddMulticlusterCloudResourcesReconciler(ctx context.Context, rec MulticlusterCloudResourcesReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericCloudResourcesMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterCloudResourcesReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterCloudResourcesReconcileLoop { + return &multiclusterCloudResourcesReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &infrastructure_gloo_solo_io_v2.CloudResources{}, options)} +} + +type genericCloudResourcesMulticlusterReconciler struct { + reconciler MulticlusterCloudResourcesReconciler +} + +func (g genericCloudResourcesMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterCloudResourcesDeletionReconciler); ok { + return deletionReconciler.ReconcileCloudResourcesDeletion(cluster, req) + } + return nil +} + +func (g genericCloudResourcesMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*infrastructure_gloo_solo_io_v2.CloudResources) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: CloudResources handler received event for %T", object) + } + return g.reconciler.ReconcileCloudResources(cluster, obj) +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/controller/reconcilers.go b/client-go/infrastructure.gloo.solo.io/v2/controller/reconcilers.go new file mode 100644 index 000000000..9ef82d1de --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/controller/reconcilers.go @@ -0,0 +1,252 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + infrastructure_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the CloudProvider Resource. +// implemented by the user +type CloudProviderReconciler interface { + ReconcileCloudProvider(obj *infrastructure_gloo_solo_io_v2.CloudProvider) (reconcile.Result, error) +} + +// Reconcile deletion events for the CloudProvider Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type CloudProviderDeletionReconciler interface { + ReconcileCloudProviderDeletion(req reconcile.Request) error +} + +type CloudProviderReconcilerFuncs struct { + OnReconcileCloudProvider func(obj *infrastructure_gloo_solo_io_v2.CloudProvider) (reconcile.Result, error) + OnReconcileCloudProviderDeletion func(req reconcile.Request) error +} + +func (f *CloudProviderReconcilerFuncs) ReconcileCloudProvider(obj *infrastructure_gloo_solo_io_v2.CloudProvider) (reconcile.Result, error) { + if f.OnReconcileCloudProvider == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileCloudProvider(obj) +} + +func (f *CloudProviderReconcilerFuncs) ReconcileCloudProviderDeletion(req reconcile.Request) error { + if f.OnReconcileCloudProviderDeletion == nil { + return nil + } + return f.OnReconcileCloudProviderDeletion(req) +} + +// Reconcile and finalize the CloudProvider Resource +// implemented by the user +type CloudProviderFinalizer interface { + CloudProviderReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + CloudProviderFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeCloudProvider(obj *infrastructure_gloo_solo_io_v2.CloudProvider) error +} + +type CloudProviderReconcileLoop interface { + RunCloudProviderReconciler(ctx context.Context, rec CloudProviderReconciler, predicates ...predicate.Predicate) error +} + +type cloudProviderReconcileLoop struct { + loop reconcile.Loop +} + +func NewCloudProviderReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) CloudProviderReconcileLoop { + return &cloudProviderReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &infrastructure_gloo_solo_io_v2.CloudProvider{}, options), + } +} + +func (c *cloudProviderReconcileLoop) RunCloudProviderReconciler(ctx context.Context, reconciler CloudProviderReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericCloudProviderReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(CloudProviderFinalizer); ok { + reconcilerWrapper = genericCloudProviderFinalizer{ + genericCloudProviderReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericCloudProviderHandler implements a generic reconcile.Reconciler +type genericCloudProviderReconciler struct { + reconciler CloudProviderReconciler +} + +func (r genericCloudProviderReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*infrastructure_gloo_solo_io_v2.CloudProvider) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: CloudProvider handler received event for %T", object) + } + return r.reconciler.ReconcileCloudProvider(obj) +} + +func (r genericCloudProviderReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(CloudProviderDeletionReconciler); ok { + return deletionReconciler.ReconcileCloudProviderDeletion(request) + } + return nil +} + +// genericCloudProviderFinalizer implements a generic reconcile.FinalizingReconciler +type genericCloudProviderFinalizer struct { + genericCloudProviderReconciler + finalizingReconciler CloudProviderFinalizer +} + +func (r genericCloudProviderFinalizer) FinalizerName() string { + return r.finalizingReconciler.CloudProviderFinalizerName() +} + +func (r genericCloudProviderFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*infrastructure_gloo_solo_io_v2.CloudProvider) + if !ok { + return errors.Errorf("internal error: CloudProvider handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeCloudProvider(obj) +} + +// Reconcile Upsert events for the CloudResources Resource. +// implemented by the user +type CloudResourcesReconciler interface { + ReconcileCloudResources(obj *infrastructure_gloo_solo_io_v2.CloudResources) (reconcile.Result, error) +} + +// Reconcile deletion events for the CloudResources Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type CloudResourcesDeletionReconciler interface { + ReconcileCloudResourcesDeletion(req reconcile.Request) error +} + +type CloudResourcesReconcilerFuncs struct { + OnReconcileCloudResources func(obj *infrastructure_gloo_solo_io_v2.CloudResources) (reconcile.Result, error) + OnReconcileCloudResourcesDeletion func(req reconcile.Request) error +} + +func (f *CloudResourcesReconcilerFuncs) ReconcileCloudResources(obj *infrastructure_gloo_solo_io_v2.CloudResources) (reconcile.Result, error) { + if f.OnReconcileCloudResources == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileCloudResources(obj) +} + +func (f *CloudResourcesReconcilerFuncs) ReconcileCloudResourcesDeletion(req reconcile.Request) error { + if f.OnReconcileCloudResourcesDeletion == nil { + return nil + } + return f.OnReconcileCloudResourcesDeletion(req) +} + +// Reconcile and finalize the CloudResources Resource +// implemented by the user +type CloudResourcesFinalizer interface { + CloudResourcesReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + CloudResourcesFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeCloudResources(obj *infrastructure_gloo_solo_io_v2.CloudResources) error +} + +type CloudResourcesReconcileLoop interface { + RunCloudResourcesReconciler(ctx context.Context, rec CloudResourcesReconciler, predicates ...predicate.Predicate) error +} + +type cloudResourcesReconcileLoop struct { + loop reconcile.Loop +} + +func NewCloudResourcesReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) CloudResourcesReconcileLoop { + return &cloudResourcesReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &infrastructure_gloo_solo_io_v2.CloudResources{}, options), + } +} + +func (c *cloudResourcesReconcileLoop) RunCloudResourcesReconciler(ctx context.Context, reconciler CloudResourcesReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericCloudResourcesReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(CloudResourcesFinalizer); ok { + reconcilerWrapper = genericCloudResourcesFinalizer{ + genericCloudResourcesReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericCloudResourcesHandler implements a generic reconcile.Reconciler +type genericCloudResourcesReconciler struct { + reconciler CloudResourcesReconciler +} + +func (r genericCloudResourcesReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*infrastructure_gloo_solo_io_v2.CloudResources) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: CloudResources handler received event for %T", object) + } + return r.reconciler.ReconcileCloudResources(obj) +} + +func (r genericCloudResourcesReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(CloudResourcesDeletionReconciler); ok { + return deletionReconciler.ReconcileCloudResourcesDeletion(request) + } + return nil +} + +// genericCloudResourcesFinalizer implements a generic reconcile.FinalizingReconciler +type genericCloudResourcesFinalizer struct { + genericCloudResourcesReconciler + finalizingReconciler CloudResourcesFinalizer +} + +func (r genericCloudResourcesFinalizer) FinalizerName() string { + return r.finalizingReconciler.CloudResourcesFinalizerName() +} + +func (r genericCloudResourcesFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*infrastructure_gloo_solo_io_v2.CloudResources) + if !ok { + return errors.Errorf("internal error: CloudResources handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeCloudResources(obj) +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/doc.go b/client-go/infrastructure.gloo.solo.io/v2/doc.go new file mode 100644 index 000000000..84d1acf76 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2 contains API Schema definitions for the infrastructure.gloo.solo.io v2 API group +// +k8s:deepcopy-gen=package,register +// +groupName=infrastructure.gloo.solo.io +package v2 diff --git a/client-go/infrastructure.gloo.solo.io/v2/json.gen.go b/client-go/infrastructure.gloo.solo.io/v2/json.gen.go new file mode 100644 index 000000000..26f193711 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/json.gen.go @@ -0,0 +1,61 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for CloudProviderSpec +func (this *CloudProviderSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for CloudProviderSpec +func (this *CloudProviderSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for CloudProviderStatus +func (this *CloudProviderStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for CloudProviderStatus +func (this *CloudProviderStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for CloudResourcesSpec +func (this *CloudResourcesSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for CloudResourcesSpec +func (this *CloudResourcesSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/mocks/clients.go b/client-go/infrastructure.gloo.solo.io/v2/mocks/clients.go new file mode 100644 index 000000000..6f1656ed0 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/mocks/clients.go @@ -0,0 +1,1112 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2 is a generated GoMock package. +package mock_v2 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2 "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// CloudProviders mocks base method. +func (m *MockClientset) CloudProviders() v2.CloudProviderClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CloudProviders") + ret0, _ := ret[0].(v2.CloudProviderClient) + return ret0 +} + +// CloudProviders indicates an expected call of CloudProviders. +func (mr *MockClientsetMockRecorder) CloudProviders() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloudProviders", reflect.TypeOf((*MockClientset)(nil).CloudProviders)) +} + +// CloudResources mocks base method. +func (m *MockClientset) CloudResources() v2.CloudResourcesClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CloudResources") + ret0, _ := ret[0].(v2.CloudResourcesClient) + return ret0 +} + +// CloudResources indicates an expected call of CloudResources. +func (mr *MockClientsetMockRecorder) CloudResources() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloudResources", reflect.TypeOf((*MockClientset)(nil).CloudResources)) +} + +// MockCloudProviderReader is a mock of CloudProviderReader interface. +type MockCloudProviderReader struct { + ctrl *gomock.Controller + recorder *MockCloudProviderReaderMockRecorder +} + +// MockCloudProviderReaderMockRecorder is the mock recorder for MockCloudProviderReader. +type MockCloudProviderReaderMockRecorder struct { + mock *MockCloudProviderReader +} + +// NewMockCloudProviderReader creates a new mock instance. +func NewMockCloudProviderReader(ctrl *gomock.Controller) *MockCloudProviderReader { + mock := &MockCloudProviderReader{ctrl: ctrl} + mock.recorder = &MockCloudProviderReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudProviderReader) EXPECT() *MockCloudProviderReaderMockRecorder { + return m.recorder +} + +// GetCloudProvider mocks base method. +func (m *MockCloudProviderReader) GetCloudProvider(ctx context.Context, key client.ObjectKey) (*v2.CloudProvider, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetCloudProvider", ctx, key) + ret0, _ := ret[0].(*v2.CloudProvider) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetCloudProvider indicates an expected call of GetCloudProvider. +func (mr *MockCloudProviderReaderMockRecorder) GetCloudProvider(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCloudProvider", reflect.TypeOf((*MockCloudProviderReader)(nil).GetCloudProvider), ctx, key) +} + +// ListCloudProvider mocks base method. +func (m *MockCloudProviderReader) ListCloudProvider(ctx context.Context, opts ...client.ListOption) (*v2.CloudProviderList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListCloudProvider", varargs...) + ret0, _ := ret[0].(*v2.CloudProviderList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListCloudProvider indicates an expected call of ListCloudProvider. +func (mr *MockCloudProviderReaderMockRecorder) ListCloudProvider(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCloudProvider", reflect.TypeOf((*MockCloudProviderReader)(nil).ListCloudProvider), varargs...) +} + +// MockCloudProviderWriter is a mock of CloudProviderWriter interface. +type MockCloudProviderWriter struct { + ctrl *gomock.Controller + recorder *MockCloudProviderWriterMockRecorder +} + +// MockCloudProviderWriterMockRecorder is the mock recorder for MockCloudProviderWriter. +type MockCloudProviderWriterMockRecorder struct { + mock *MockCloudProviderWriter +} + +// NewMockCloudProviderWriter creates a new mock instance. +func NewMockCloudProviderWriter(ctrl *gomock.Controller) *MockCloudProviderWriter { + mock := &MockCloudProviderWriter{ctrl: ctrl} + mock.recorder = &MockCloudProviderWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudProviderWriter) EXPECT() *MockCloudProviderWriterMockRecorder { + return m.recorder +} + +// CreateCloudProvider mocks base method. +func (m *MockCloudProviderWriter) CreateCloudProvider(ctx context.Context, obj *v2.CloudProvider, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateCloudProvider", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCloudProvider indicates an expected call of CreateCloudProvider. +func (mr *MockCloudProviderWriterMockRecorder) CreateCloudProvider(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCloudProvider", reflect.TypeOf((*MockCloudProviderWriter)(nil).CreateCloudProvider), varargs...) +} + +// DeleteAllOfCloudProvider mocks base method. +func (m *MockCloudProviderWriter) DeleteAllOfCloudProvider(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfCloudProvider", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfCloudProvider indicates an expected call of DeleteAllOfCloudProvider. +func (mr *MockCloudProviderWriterMockRecorder) DeleteAllOfCloudProvider(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfCloudProvider", reflect.TypeOf((*MockCloudProviderWriter)(nil).DeleteAllOfCloudProvider), varargs...) +} + +// DeleteCloudProvider mocks base method. +func (m *MockCloudProviderWriter) DeleteCloudProvider(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteCloudProvider", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCloudProvider indicates an expected call of DeleteCloudProvider. +func (mr *MockCloudProviderWriterMockRecorder) DeleteCloudProvider(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCloudProvider", reflect.TypeOf((*MockCloudProviderWriter)(nil).DeleteCloudProvider), varargs...) +} + +// PatchCloudProvider mocks base method. +func (m *MockCloudProviderWriter) PatchCloudProvider(ctx context.Context, obj *v2.CloudProvider, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCloudProvider", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCloudProvider indicates an expected call of PatchCloudProvider. +func (mr *MockCloudProviderWriterMockRecorder) PatchCloudProvider(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCloudProvider", reflect.TypeOf((*MockCloudProviderWriter)(nil).PatchCloudProvider), varargs...) +} + +// UpdateCloudProvider mocks base method. +func (m *MockCloudProviderWriter) UpdateCloudProvider(ctx context.Context, obj *v2.CloudProvider, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCloudProvider", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCloudProvider indicates an expected call of UpdateCloudProvider. +func (mr *MockCloudProviderWriterMockRecorder) UpdateCloudProvider(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCloudProvider", reflect.TypeOf((*MockCloudProviderWriter)(nil).UpdateCloudProvider), varargs...) +} + +// UpsertCloudProvider mocks base method. +func (m *MockCloudProviderWriter) UpsertCloudProvider(ctx context.Context, obj *v2.CloudProvider, transitionFuncs ...v2.CloudProviderTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertCloudProvider", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertCloudProvider indicates an expected call of UpsertCloudProvider. +func (mr *MockCloudProviderWriterMockRecorder) UpsertCloudProvider(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertCloudProvider", reflect.TypeOf((*MockCloudProviderWriter)(nil).UpsertCloudProvider), varargs...) +} + +// MockCloudProviderStatusWriter is a mock of CloudProviderStatusWriter interface. +type MockCloudProviderStatusWriter struct { + ctrl *gomock.Controller + recorder *MockCloudProviderStatusWriterMockRecorder +} + +// MockCloudProviderStatusWriterMockRecorder is the mock recorder for MockCloudProviderStatusWriter. +type MockCloudProviderStatusWriterMockRecorder struct { + mock *MockCloudProviderStatusWriter +} + +// NewMockCloudProviderStatusWriter creates a new mock instance. +func NewMockCloudProviderStatusWriter(ctrl *gomock.Controller) *MockCloudProviderStatusWriter { + mock := &MockCloudProviderStatusWriter{ctrl: ctrl} + mock.recorder = &MockCloudProviderStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudProviderStatusWriter) EXPECT() *MockCloudProviderStatusWriterMockRecorder { + return m.recorder +} + +// PatchCloudProviderStatus mocks base method. +func (m *MockCloudProviderStatusWriter) PatchCloudProviderStatus(ctx context.Context, obj *v2.CloudProvider, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCloudProviderStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCloudProviderStatus indicates an expected call of PatchCloudProviderStatus. +func (mr *MockCloudProviderStatusWriterMockRecorder) PatchCloudProviderStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCloudProviderStatus", reflect.TypeOf((*MockCloudProviderStatusWriter)(nil).PatchCloudProviderStatus), varargs...) +} + +// UpdateCloudProviderStatus mocks base method. +func (m *MockCloudProviderStatusWriter) UpdateCloudProviderStatus(ctx context.Context, obj *v2.CloudProvider, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCloudProviderStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCloudProviderStatus indicates an expected call of UpdateCloudProviderStatus. +func (mr *MockCloudProviderStatusWriterMockRecorder) UpdateCloudProviderStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCloudProviderStatus", reflect.TypeOf((*MockCloudProviderStatusWriter)(nil).UpdateCloudProviderStatus), varargs...) +} + +// MockCloudProviderClient is a mock of CloudProviderClient interface. +type MockCloudProviderClient struct { + ctrl *gomock.Controller + recorder *MockCloudProviderClientMockRecorder +} + +// MockCloudProviderClientMockRecorder is the mock recorder for MockCloudProviderClient. +type MockCloudProviderClientMockRecorder struct { + mock *MockCloudProviderClient +} + +// NewMockCloudProviderClient creates a new mock instance. +func NewMockCloudProviderClient(ctrl *gomock.Controller) *MockCloudProviderClient { + mock := &MockCloudProviderClient{ctrl: ctrl} + mock.recorder = &MockCloudProviderClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudProviderClient) EXPECT() *MockCloudProviderClientMockRecorder { + return m.recorder +} + +// CreateCloudProvider mocks base method. +func (m *MockCloudProviderClient) CreateCloudProvider(ctx context.Context, obj *v2.CloudProvider, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateCloudProvider", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCloudProvider indicates an expected call of CreateCloudProvider. +func (mr *MockCloudProviderClientMockRecorder) CreateCloudProvider(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCloudProvider", reflect.TypeOf((*MockCloudProviderClient)(nil).CreateCloudProvider), varargs...) +} + +// DeleteAllOfCloudProvider mocks base method. +func (m *MockCloudProviderClient) DeleteAllOfCloudProvider(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfCloudProvider", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfCloudProvider indicates an expected call of DeleteAllOfCloudProvider. +func (mr *MockCloudProviderClientMockRecorder) DeleteAllOfCloudProvider(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfCloudProvider", reflect.TypeOf((*MockCloudProviderClient)(nil).DeleteAllOfCloudProvider), varargs...) +} + +// DeleteCloudProvider mocks base method. +func (m *MockCloudProviderClient) DeleteCloudProvider(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteCloudProvider", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCloudProvider indicates an expected call of DeleteCloudProvider. +func (mr *MockCloudProviderClientMockRecorder) DeleteCloudProvider(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCloudProvider", reflect.TypeOf((*MockCloudProviderClient)(nil).DeleteCloudProvider), varargs...) +} + +// GetCloudProvider mocks base method. +func (m *MockCloudProviderClient) GetCloudProvider(ctx context.Context, key client.ObjectKey) (*v2.CloudProvider, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetCloudProvider", ctx, key) + ret0, _ := ret[0].(*v2.CloudProvider) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetCloudProvider indicates an expected call of GetCloudProvider. +func (mr *MockCloudProviderClientMockRecorder) GetCloudProvider(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCloudProvider", reflect.TypeOf((*MockCloudProviderClient)(nil).GetCloudProvider), ctx, key) +} + +// ListCloudProvider mocks base method. +func (m *MockCloudProviderClient) ListCloudProvider(ctx context.Context, opts ...client.ListOption) (*v2.CloudProviderList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListCloudProvider", varargs...) + ret0, _ := ret[0].(*v2.CloudProviderList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListCloudProvider indicates an expected call of ListCloudProvider. +func (mr *MockCloudProviderClientMockRecorder) ListCloudProvider(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCloudProvider", reflect.TypeOf((*MockCloudProviderClient)(nil).ListCloudProvider), varargs...) +} + +// PatchCloudProvider mocks base method. +func (m *MockCloudProviderClient) PatchCloudProvider(ctx context.Context, obj *v2.CloudProvider, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCloudProvider", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCloudProvider indicates an expected call of PatchCloudProvider. +func (mr *MockCloudProviderClientMockRecorder) PatchCloudProvider(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCloudProvider", reflect.TypeOf((*MockCloudProviderClient)(nil).PatchCloudProvider), varargs...) +} + +// PatchCloudProviderStatus mocks base method. +func (m *MockCloudProviderClient) PatchCloudProviderStatus(ctx context.Context, obj *v2.CloudProvider, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCloudProviderStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCloudProviderStatus indicates an expected call of PatchCloudProviderStatus. +func (mr *MockCloudProviderClientMockRecorder) PatchCloudProviderStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCloudProviderStatus", reflect.TypeOf((*MockCloudProviderClient)(nil).PatchCloudProviderStatus), varargs...) +} + +// UpdateCloudProvider mocks base method. +func (m *MockCloudProviderClient) UpdateCloudProvider(ctx context.Context, obj *v2.CloudProvider, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCloudProvider", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCloudProvider indicates an expected call of UpdateCloudProvider. +func (mr *MockCloudProviderClientMockRecorder) UpdateCloudProvider(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCloudProvider", reflect.TypeOf((*MockCloudProviderClient)(nil).UpdateCloudProvider), varargs...) +} + +// UpdateCloudProviderStatus mocks base method. +func (m *MockCloudProviderClient) UpdateCloudProviderStatus(ctx context.Context, obj *v2.CloudProvider, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCloudProviderStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCloudProviderStatus indicates an expected call of UpdateCloudProviderStatus. +func (mr *MockCloudProviderClientMockRecorder) UpdateCloudProviderStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCloudProviderStatus", reflect.TypeOf((*MockCloudProviderClient)(nil).UpdateCloudProviderStatus), varargs...) +} + +// UpsertCloudProvider mocks base method. +func (m *MockCloudProviderClient) UpsertCloudProvider(ctx context.Context, obj *v2.CloudProvider, transitionFuncs ...v2.CloudProviderTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertCloudProvider", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertCloudProvider indicates an expected call of UpsertCloudProvider. +func (mr *MockCloudProviderClientMockRecorder) UpsertCloudProvider(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertCloudProvider", reflect.TypeOf((*MockCloudProviderClient)(nil).UpsertCloudProvider), varargs...) +} + +// MockMulticlusterCloudProviderClient is a mock of MulticlusterCloudProviderClient interface. +type MockMulticlusterCloudProviderClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCloudProviderClientMockRecorder +} + +// MockMulticlusterCloudProviderClientMockRecorder is the mock recorder for MockMulticlusterCloudProviderClient. +type MockMulticlusterCloudProviderClientMockRecorder struct { + mock *MockMulticlusterCloudProviderClient +} + +// NewMockMulticlusterCloudProviderClient creates a new mock instance. +func NewMockMulticlusterCloudProviderClient(ctrl *gomock.Controller) *MockMulticlusterCloudProviderClient { + mock := &MockMulticlusterCloudProviderClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterCloudProviderClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCloudProviderClient) EXPECT() *MockMulticlusterCloudProviderClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterCloudProviderClient) Cluster(cluster string) (v2.CloudProviderClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.CloudProviderClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterCloudProviderClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterCloudProviderClient)(nil).Cluster), cluster) +} + +// MockCloudResourcesReader is a mock of CloudResourcesReader interface. +type MockCloudResourcesReader struct { + ctrl *gomock.Controller + recorder *MockCloudResourcesReaderMockRecorder +} + +// MockCloudResourcesReaderMockRecorder is the mock recorder for MockCloudResourcesReader. +type MockCloudResourcesReaderMockRecorder struct { + mock *MockCloudResourcesReader +} + +// NewMockCloudResourcesReader creates a new mock instance. +func NewMockCloudResourcesReader(ctrl *gomock.Controller) *MockCloudResourcesReader { + mock := &MockCloudResourcesReader{ctrl: ctrl} + mock.recorder = &MockCloudResourcesReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudResourcesReader) EXPECT() *MockCloudResourcesReaderMockRecorder { + return m.recorder +} + +// GetCloudResources mocks base method. +func (m *MockCloudResourcesReader) GetCloudResources(ctx context.Context, key client.ObjectKey) (*v2.CloudResources, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetCloudResources", ctx, key) + ret0, _ := ret[0].(*v2.CloudResources) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetCloudResources indicates an expected call of GetCloudResources. +func (mr *MockCloudResourcesReaderMockRecorder) GetCloudResources(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCloudResources", reflect.TypeOf((*MockCloudResourcesReader)(nil).GetCloudResources), ctx, key) +} + +// ListCloudResources mocks base method. +func (m *MockCloudResourcesReader) ListCloudResources(ctx context.Context, opts ...client.ListOption) (*v2.CloudResourcesList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListCloudResources", varargs...) + ret0, _ := ret[0].(*v2.CloudResourcesList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListCloudResources indicates an expected call of ListCloudResources. +func (mr *MockCloudResourcesReaderMockRecorder) ListCloudResources(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCloudResources", reflect.TypeOf((*MockCloudResourcesReader)(nil).ListCloudResources), varargs...) +} + +// MockCloudResourcesWriter is a mock of CloudResourcesWriter interface. +type MockCloudResourcesWriter struct { + ctrl *gomock.Controller + recorder *MockCloudResourcesWriterMockRecorder +} + +// MockCloudResourcesWriterMockRecorder is the mock recorder for MockCloudResourcesWriter. +type MockCloudResourcesWriterMockRecorder struct { + mock *MockCloudResourcesWriter +} + +// NewMockCloudResourcesWriter creates a new mock instance. +func NewMockCloudResourcesWriter(ctrl *gomock.Controller) *MockCloudResourcesWriter { + mock := &MockCloudResourcesWriter{ctrl: ctrl} + mock.recorder = &MockCloudResourcesWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudResourcesWriter) EXPECT() *MockCloudResourcesWriterMockRecorder { + return m.recorder +} + +// CreateCloudResources mocks base method. +func (m *MockCloudResourcesWriter) CreateCloudResources(ctx context.Context, obj *v2.CloudResources, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateCloudResources", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCloudResources indicates an expected call of CreateCloudResources. +func (mr *MockCloudResourcesWriterMockRecorder) CreateCloudResources(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCloudResources", reflect.TypeOf((*MockCloudResourcesWriter)(nil).CreateCloudResources), varargs...) +} + +// DeleteAllOfCloudResources mocks base method. +func (m *MockCloudResourcesWriter) DeleteAllOfCloudResources(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfCloudResources", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfCloudResources indicates an expected call of DeleteAllOfCloudResources. +func (mr *MockCloudResourcesWriterMockRecorder) DeleteAllOfCloudResources(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfCloudResources", reflect.TypeOf((*MockCloudResourcesWriter)(nil).DeleteAllOfCloudResources), varargs...) +} + +// DeleteCloudResources mocks base method. +func (m *MockCloudResourcesWriter) DeleteCloudResources(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteCloudResources", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCloudResources indicates an expected call of DeleteCloudResources. +func (mr *MockCloudResourcesWriterMockRecorder) DeleteCloudResources(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCloudResources", reflect.TypeOf((*MockCloudResourcesWriter)(nil).DeleteCloudResources), varargs...) +} + +// PatchCloudResources mocks base method. +func (m *MockCloudResourcesWriter) PatchCloudResources(ctx context.Context, obj *v2.CloudResources, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCloudResources", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCloudResources indicates an expected call of PatchCloudResources. +func (mr *MockCloudResourcesWriterMockRecorder) PatchCloudResources(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCloudResources", reflect.TypeOf((*MockCloudResourcesWriter)(nil).PatchCloudResources), varargs...) +} + +// UpdateCloudResources mocks base method. +func (m *MockCloudResourcesWriter) UpdateCloudResources(ctx context.Context, obj *v2.CloudResources, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCloudResources", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCloudResources indicates an expected call of UpdateCloudResources. +func (mr *MockCloudResourcesWriterMockRecorder) UpdateCloudResources(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCloudResources", reflect.TypeOf((*MockCloudResourcesWriter)(nil).UpdateCloudResources), varargs...) +} + +// UpsertCloudResources mocks base method. +func (m *MockCloudResourcesWriter) UpsertCloudResources(ctx context.Context, obj *v2.CloudResources, transitionFuncs ...v2.CloudResourcesTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertCloudResources", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertCloudResources indicates an expected call of UpsertCloudResources. +func (mr *MockCloudResourcesWriterMockRecorder) UpsertCloudResources(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertCloudResources", reflect.TypeOf((*MockCloudResourcesWriter)(nil).UpsertCloudResources), varargs...) +} + +// MockCloudResourcesStatusWriter is a mock of CloudResourcesStatusWriter interface. +type MockCloudResourcesStatusWriter struct { + ctrl *gomock.Controller + recorder *MockCloudResourcesStatusWriterMockRecorder +} + +// MockCloudResourcesStatusWriterMockRecorder is the mock recorder for MockCloudResourcesStatusWriter. +type MockCloudResourcesStatusWriterMockRecorder struct { + mock *MockCloudResourcesStatusWriter +} + +// NewMockCloudResourcesStatusWriter creates a new mock instance. +func NewMockCloudResourcesStatusWriter(ctrl *gomock.Controller) *MockCloudResourcesStatusWriter { + mock := &MockCloudResourcesStatusWriter{ctrl: ctrl} + mock.recorder = &MockCloudResourcesStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudResourcesStatusWriter) EXPECT() *MockCloudResourcesStatusWriterMockRecorder { + return m.recorder +} + +// PatchCloudResourcesStatus mocks base method. +func (m *MockCloudResourcesStatusWriter) PatchCloudResourcesStatus(ctx context.Context, obj *v2.CloudResources, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCloudResourcesStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCloudResourcesStatus indicates an expected call of PatchCloudResourcesStatus. +func (mr *MockCloudResourcesStatusWriterMockRecorder) PatchCloudResourcesStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCloudResourcesStatus", reflect.TypeOf((*MockCloudResourcesStatusWriter)(nil).PatchCloudResourcesStatus), varargs...) +} + +// UpdateCloudResourcesStatus mocks base method. +func (m *MockCloudResourcesStatusWriter) UpdateCloudResourcesStatus(ctx context.Context, obj *v2.CloudResources, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCloudResourcesStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCloudResourcesStatus indicates an expected call of UpdateCloudResourcesStatus. +func (mr *MockCloudResourcesStatusWriterMockRecorder) UpdateCloudResourcesStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCloudResourcesStatus", reflect.TypeOf((*MockCloudResourcesStatusWriter)(nil).UpdateCloudResourcesStatus), varargs...) +} + +// MockCloudResourcesClient is a mock of CloudResourcesClient interface. +type MockCloudResourcesClient struct { + ctrl *gomock.Controller + recorder *MockCloudResourcesClientMockRecorder +} + +// MockCloudResourcesClientMockRecorder is the mock recorder for MockCloudResourcesClient. +type MockCloudResourcesClientMockRecorder struct { + mock *MockCloudResourcesClient +} + +// NewMockCloudResourcesClient creates a new mock instance. +func NewMockCloudResourcesClient(ctrl *gomock.Controller) *MockCloudResourcesClient { + mock := &MockCloudResourcesClient{ctrl: ctrl} + mock.recorder = &MockCloudResourcesClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudResourcesClient) EXPECT() *MockCloudResourcesClientMockRecorder { + return m.recorder +} + +// CreateCloudResources mocks base method. +func (m *MockCloudResourcesClient) CreateCloudResources(ctx context.Context, obj *v2.CloudResources, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateCloudResources", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCloudResources indicates an expected call of CreateCloudResources. +func (mr *MockCloudResourcesClientMockRecorder) CreateCloudResources(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCloudResources", reflect.TypeOf((*MockCloudResourcesClient)(nil).CreateCloudResources), varargs...) +} + +// DeleteAllOfCloudResources mocks base method. +func (m *MockCloudResourcesClient) DeleteAllOfCloudResources(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfCloudResources", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfCloudResources indicates an expected call of DeleteAllOfCloudResources. +func (mr *MockCloudResourcesClientMockRecorder) DeleteAllOfCloudResources(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfCloudResources", reflect.TypeOf((*MockCloudResourcesClient)(nil).DeleteAllOfCloudResources), varargs...) +} + +// DeleteCloudResources mocks base method. +func (m *MockCloudResourcesClient) DeleteCloudResources(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteCloudResources", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCloudResources indicates an expected call of DeleteCloudResources. +func (mr *MockCloudResourcesClientMockRecorder) DeleteCloudResources(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCloudResources", reflect.TypeOf((*MockCloudResourcesClient)(nil).DeleteCloudResources), varargs...) +} + +// GetCloudResources mocks base method. +func (m *MockCloudResourcesClient) GetCloudResources(ctx context.Context, key client.ObjectKey) (*v2.CloudResources, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetCloudResources", ctx, key) + ret0, _ := ret[0].(*v2.CloudResources) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetCloudResources indicates an expected call of GetCloudResources. +func (mr *MockCloudResourcesClientMockRecorder) GetCloudResources(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCloudResources", reflect.TypeOf((*MockCloudResourcesClient)(nil).GetCloudResources), ctx, key) +} + +// ListCloudResources mocks base method. +func (m *MockCloudResourcesClient) ListCloudResources(ctx context.Context, opts ...client.ListOption) (*v2.CloudResourcesList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListCloudResources", varargs...) + ret0, _ := ret[0].(*v2.CloudResourcesList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListCloudResources indicates an expected call of ListCloudResources. +func (mr *MockCloudResourcesClientMockRecorder) ListCloudResources(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCloudResources", reflect.TypeOf((*MockCloudResourcesClient)(nil).ListCloudResources), varargs...) +} + +// PatchCloudResources mocks base method. +func (m *MockCloudResourcesClient) PatchCloudResources(ctx context.Context, obj *v2.CloudResources, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCloudResources", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCloudResources indicates an expected call of PatchCloudResources. +func (mr *MockCloudResourcesClientMockRecorder) PatchCloudResources(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCloudResources", reflect.TypeOf((*MockCloudResourcesClient)(nil).PatchCloudResources), varargs...) +} + +// PatchCloudResourcesStatus mocks base method. +func (m *MockCloudResourcesClient) PatchCloudResourcesStatus(ctx context.Context, obj *v2.CloudResources, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCloudResourcesStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCloudResourcesStatus indicates an expected call of PatchCloudResourcesStatus. +func (mr *MockCloudResourcesClientMockRecorder) PatchCloudResourcesStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCloudResourcesStatus", reflect.TypeOf((*MockCloudResourcesClient)(nil).PatchCloudResourcesStatus), varargs...) +} + +// UpdateCloudResources mocks base method. +func (m *MockCloudResourcesClient) UpdateCloudResources(ctx context.Context, obj *v2.CloudResources, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCloudResources", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCloudResources indicates an expected call of UpdateCloudResources. +func (mr *MockCloudResourcesClientMockRecorder) UpdateCloudResources(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCloudResources", reflect.TypeOf((*MockCloudResourcesClient)(nil).UpdateCloudResources), varargs...) +} + +// UpdateCloudResourcesStatus mocks base method. +func (m *MockCloudResourcesClient) UpdateCloudResourcesStatus(ctx context.Context, obj *v2.CloudResources, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCloudResourcesStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCloudResourcesStatus indicates an expected call of UpdateCloudResourcesStatus. +func (mr *MockCloudResourcesClientMockRecorder) UpdateCloudResourcesStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCloudResourcesStatus", reflect.TypeOf((*MockCloudResourcesClient)(nil).UpdateCloudResourcesStatus), varargs...) +} + +// UpsertCloudResources mocks base method. +func (m *MockCloudResourcesClient) UpsertCloudResources(ctx context.Context, obj *v2.CloudResources, transitionFuncs ...v2.CloudResourcesTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertCloudResources", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertCloudResources indicates an expected call of UpsertCloudResources. +func (mr *MockCloudResourcesClientMockRecorder) UpsertCloudResources(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertCloudResources", reflect.TypeOf((*MockCloudResourcesClient)(nil).UpsertCloudResources), varargs...) +} + +// MockMulticlusterCloudResourcesClient is a mock of MulticlusterCloudResourcesClient interface. +type MockMulticlusterCloudResourcesClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCloudResourcesClientMockRecorder +} + +// MockMulticlusterCloudResourcesClientMockRecorder is the mock recorder for MockMulticlusterCloudResourcesClient. +type MockMulticlusterCloudResourcesClientMockRecorder struct { + mock *MockMulticlusterCloudResourcesClient +} + +// NewMockMulticlusterCloudResourcesClient creates a new mock instance. +func NewMockMulticlusterCloudResourcesClient(ctrl *gomock.Controller) *MockMulticlusterCloudResourcesClient { + mock := &MockMulticlusterCloudResourcesClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterCloudResourcesClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCloudResourcesClient) EXPECT() *MockMulticlusterCloudResourcesClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterCloudResourcesClient) Cluster(cluster string) (v2.CloudResourcesClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.CloudResourcesClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterCloudResourcesClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterCloudResourcesClient)(nil).Cluster), cluster) +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/proto_deepcopy.go b/client-go/infrastructure.gloo.solo.io/v2/proto_deepcopy.go new file mode 100644 index 000000000..7692425ad --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/proto_deepcopy.go @@ -0,0 +1,43 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the CloudProvider.Spec +func (in *CloudProviderSpec) DeepCopyInto(out *CloudProviderSpec) { + var p *CloudProviderSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*CloudProviderSpec) + } else { + p = proto.Clone(in).(*CloudProviderSpec) + } + *out = *p +} + +// DeepCopyInto for the CloudProvider.Status +func (in *CloudProviderStatus) DeepCopyInto(out *CloudProviderStatus) { + var p *CloudProviderStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*CloudProviderStatus) + } else { + p = proto.Clone(in).(*CloudProviderStatus) + } + *out = *p +} + +// DeepCopyInto for the CloudResources.Spec +func (in *CloudResourcesSpec) DeepCopyInto(out *CloudResourcesSpec) { + var p *CloudResourcesSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*CloudResourcesSpec) + } else { + p = proto.Clone(in).(*CloudResourcesSpec) + } + *out = *p +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/providers/client_providers.go b/client-go/infrastructure.gloo.solo.io/v2/providers/client_providers.go new file mode 100644 index 000000000..a21771a1b --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/providers/client_providers.go @@ -0,0 +1,74 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2 + +import ( + infrastructure_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for CloudProviderClient from Clientset +func CloudProviderClientFromClientsetProvider(clients infrastructure_gloo_solo_io_v2.Clientset) infrastructure_gloo_solo_io_v2.CloudProviderClient { + return clients.CloudProviders() +} + +// Provider for CloudProvider Client from Client +func CloudProviderClientProvider(client client.Client) infrastructure_gloo_solo_io_v2.CloudProviderClient { + return infrastructure_gloo_solo_io_v2.NewCloudProviderClient(client) +} + +type CloudProviderClientFactory func(client client.Client) infrastructure_gloo_solo_io_v2.CloudProviderClient + +func CloudProviderClientFactoryProvider() CloudProviderClientFactory { + return CloudProviderClientProvider +} + +type CloudProviderClientFromConfigFactory func(cfg *rest.Config) (infrastructure_gloo_solo_io_v2.CloudProviderClient, error) + +func CloudProviderClientFromConfigFactoryProvider() CloudProviderClientFromConfigFactory { + return func(cfg *rest.Config) (infrastructure_gloo_solo_io_v2.CloudProviderClient, error) { + clients, err := infrastructure_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.CloudProviders(), nil + } +} + +// Provider for CloudResourcesClient from Clientset +func CloudResourcesClientFromClientsetProvider(clients infrastructure_gloo_solo_io_v2.Clientset) infrastructure_gloo_solo_io_v2.CloudResourcesClient { + return clients.CloudResources() +} + +// Provider for CloudResources Client from Client +func CloudResourcesClientProvider(client client.Client) infrastructure_gloo_solo_io_v2.CloudResourcesClient { + return infrastructure_gloo_solo_io_v2.NewCloudResourcesClient(client) +} + +type CloudResourcesClientFactory func(client client.Client) infrastructure_gloo_solo_io_v2.CloudResourcesClient + +func CloudResourcesClientFactoryProvider() CloudResourcesClientFactory { + return CloudResourcesClientProvider +} + +type CloudResourcesClientFromConfigFactory func(cfg *rest.Config) (infrastructure_gloo_solo_io_v2.CloudResourcesClient, error) + +func CloudResourcesClientFromConfigFactoryProvider() CloudResourcesClientFromConfigFactory { + return func(cfg *rest.Config) (infrastructure_gloo_solo_io_v2.CloudResourcesClient, error) { + clients, err := infrastructure_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.CloudResources(), nil + } +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/register.go b/client-go/infrastructure.gloo.solo.io/v2/register.go new file mode 100644 index 000000000..2b493ce8a --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "infrastructure.gloo.solo.io", Version: "v2"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/report_types.go b/client-go/infrastructure.gloo.solo.io/v2/report_types.go new file mode 100644 index 000000000..309e0fa44 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/report_types.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2 + +// IsReport implements Reportable interface for CloudProviderReport +func (o *CloudProviderReport) IsReport() {} diff --git a/client-go/infrastructure.gloo.solo.io/v2/sets/mocks/sets.go b/client-go/infrastructure.gloo.solo.io/v2/sets/mocks/sets.go new file mode 100644 index 000000000..70d36374a --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/sets/mocks/sets.go @@ -0,0 +1,529 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2sets is a generated GoMock package. +package mock_v2sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2 "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2" + v2sets "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2/sets" +) + +// MockCloudProviderSet is a mock of CloudProviderSet interface. +type MockCloudProviderSet struct { + ctrl *gomock.Controller + recorder *MockCloudProviderSetMockRecorder +} + +// MockCloudProviderSetMockRecorder is the mock recorder for MockCloudProviderSet. +type MockCloudProviderSetMockRecorder struct { + mock *MockCloudProviderSet +} + +// NewMockCloudProviderSet creates a new mock instance. +func NewMockCloudProviderSet(ctrl *gomock.Controller) *MockCloudProviderSet { + mock := &MockCloudProviderSet{ctrl: ctrl} + mock.recorder = &MockCloudProviderSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudProviderSet) EXPECT() *MockCloudProviderSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockCloudProviderSet) Clone() v2sets.CloudProviderSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.CloudProviderSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockCloudProviderSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockCloudProviderSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockCloudProviderSet) Delete(cloudProvider ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", cloudProvider) +} + +// Delete indicates an expected call of Delete. +func (mr *MockCloudProviderSetMockRecorder) Delete(cloudProvider interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockCloudProviderSet)(nil).Delete), cloudProvider) +} + +// Delta mocks base method. +func (m *MockCloudProviderSet) Delta(newSet v2sets.CloudProviderSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockCloudProviderSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockCloudProviderSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockCloudProviderSet) Difference(set v2sets.CloudProviderSet) v2sets.CloudProviderSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.CloudProviderSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockCloudProviderSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockCloudProviderSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockCloudProviderSet) Equal(cloudProviderSet v2sets.CloudProviderSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", cloudProviderSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockCloudProviderSetMockRecorder) Equal(cloudProviderSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockCloudProviderSet)(nil).Equal), cloudProviderSet) +} + +// Find mocks base method. +func (m *MockCloudProviderSet) Find(id ezkube.ResourceId) (*v2.CloudProvider, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.CloudProvider) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockCloudProviderSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockCloudProviderSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockCloudProviderSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockCloudProviderSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockCloudProviderSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockCloudProviderSet) Has(cloudProvider ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", cloudProvider) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockCloudProviderSetMockRecorder) Has(cloudProvider interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockCloudProviderSet)(nil).Has), cloudProvider) +} + +// Insert mocks base method. +func (m *MockCloudProviderSet) Insert(cloudProvider ...*v2.CloudProvider) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range cloudProvider { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockCloudProviderSetMockRecorder) Insert(cloudProvider ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockCloudProviderSet)(nil).Insert), cloudProvider...) +} + +// Intersection mocks base method. +func (m *MockCloudProviderSet) Intersection(set v2sets.CloudProviderSet) v2sets.CloudProviderSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.CloudProviderSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockCloudProviderSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockCloudProviderSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockCloudProviderSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockCloudProviderSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockCloudProviderSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockCloudProviderSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockCloudProviderSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockCloudProviderSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockCloudProviderSet) List(filterResource ...func(*v2.CloudProvider) bool) []*v2.CloudProvider { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.CloudProvider) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockCloudProviderSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockCloudProviderSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockCloudProviderSet) Map() map[string]*v2.CloudProvider { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.CloudProvider) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockCloudProviderSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockCloudProviderSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockCloudProviderSet) Union(set v2sets.CloudProviderSet) v2sets.CloudProviderSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.CloudProviderSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockCloudProviderSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockCloudProviderSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockCloudProviderSet) UnsortedList(filterResource ...func(*v2.CloudProvider) bool) []*v2.CloudProvider { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.CloudProvider) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockCloudProviderSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockCloudProviderSet)(nil).UnsortedList), filterResource...) +} + +// MockCloudResourcesSet is a mock of CloudResourcesSet interface. +type MockCloudResourcesSet struct { + ctrl *gomock.Controller + recorder *MockCloudResourcesSetMockRecorder +} + +// MockCloudResourcesSetMockRecorder is the mock recorder for MockCloudResourcesSet. +type MockCloudResourcesSetMockRecorder struct { + mock *MockCloudResourcesSet +} + +// NewMockCloudResourcesSet creates a new mock instance. +func NewMockCloudResourcesSet(ctrl *gomock.Controller) *MockCloudResourcesSet { + mock := &MockCloudResourcesSet{ctrl: ctrl} + mock.recorder = &MockCloudResourcesSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCloudResourcesSet) EXPECT() *MockCloudResourcesSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockCloudResourcesSet) Clone() v2sets.CloudResourcesSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.CloudResourcesSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockCloudResourcesSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockCloudResourcesSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockCloudResourcesSet) Delete(cloudResources ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", cloudResources) +} + +// Delete indicates an expected call of Delete. +func (mr *MockCloudResourcesSetMockRecorder) Delete(cloudResources interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockCloudResourcesSet)(nil).Delete), cloudResources) +} + +// Delta mocks base method. +func (m *MockCloudResourcesSet) Delta(newSet v2sets.CloudResourcesSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockCloudResourcesSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockCloudResourcesSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockCloudResourcesSet) Difference(set v2sets.CloudResourcesSet) v2sets.CloudResourcesSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.CloudResourcesSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockCloudResourcesSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockCloudResourcesSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockCloudResourcesSet) Equal(cloudResourcesSet v2sets.CloudResourcesSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", cloudResourcesSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockCloudResourcesSetMockRecorder) Equal(cloudResourcesSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockCloudResourcesSet)(nil).Equal), cloudResourcesSet) +} + +// Find mocks base method. +func (m *MockCloudResourcesSet) Find(id ezkube.ResourceId) (*v2.CloudResources, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.CloudResources) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockCloudResourcesSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockCloudResourcesSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockCloudResourcesSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockCloudResourcesSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockCloudResourcesSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockCloudResourcesSet) Has(cloudResources ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", cloudResources) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockCloudResourcesSetMockRecorder) Has(cloudResources interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockCloudResourcesSet)(nil).Has), cloudResources) +} + +// Insert mocks base method. +func (m *MockCloudResourcesSet) Insert(cloudResources ...*v2.CloudResources) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range cloudResources { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockCloudResourcesSetMockRecorder) Insert(cloudResources ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockCloudResourcesSet)(nil).Insert), cloudResources...) +} + +// Intersection mocks base method. +func (m *MockCloudResourcesSet) Intersection(set v2sets.CloudResourcesSet) v2sets.CloudResourcesSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.CloudResourcesSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockCloudResourcesSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockCloudResourcesSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockCloudResourcesSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockCloudResourcesSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockCloudResourcesSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockCloudResourcesSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockCloudResourcesSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockCloudResourcesSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockCloudResourcesSet) List(filterResource ...func(*v2.CloudResources) bool) []*v2.CloudResources { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.CloudResources) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockCloudResourcesSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockCloudResourcesSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockCloudResourcesSet) Map() map[string]*v2.CloudResources { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.CloudResources) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockCloudResourcesSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockCloudResourcesSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockCloudResourcesSet) Union(set v2sets.CloudResourcesSet) v2sets.CloudResourcesSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.CloudResourcesSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockCloudResourcesSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockCloudResourcesSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockCloudResourcesSet) UnsortedList(filterResource ...func(*v2.CloudResources) bool) []*v2.CloudResources { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.CloudResources) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockCloudResourcesSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockCloudResourcesSet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/sets/sets.go b/client-go/infrastructure.gloo.solo.io/v2/sets/sets.go new file mode 100644 index 000000000..50a63a71a --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/sets/sets.go @@ -0,0 +1,460 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2sets + +import ( + infrastructure_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/infrastructure.gloo.solo.io/v2" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type CloudProviderSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*infrastructure_gloo_solo_io_v2.CloudProvider) bool) []*infrastructure_gloo_solo_io_v2.CloudProvider + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*infrastructure_gloo_solo_io_v2.CloudProvider) bool) []*infrastructure_gloo_solo_io_v2.CloudProvider + // Return the Set as a map of key to resource. + Map() map[string]*infrastructure_gloo_solo_io_v2.CloudProvider + // Insert a resource into the set. + Insert(cloudProvider ...*infrastructure_gloo_solo_io_v2.CloudProvider) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(cloudProviderSet CloudProviderSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(cloudProvider ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(cloudProvider ezkube.ResourceId) + // Return the union with the provided set + Union(set CloudProviderSet) CloudProviderSet + // Return the difference with the provided set + Difference(set CloudProviderSet) CloudProviderSet + // Return the intersection with the provided set + Intersection(set CloudProviderSet) CloudProviderSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*infrastructure_gloo_solo_io_v2.CloudProvider, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another CloudProviderSet + Delta(newSet CloudProviderSet) sksets.ResourceDelta + // Create a deep copy of the current CloudProviderSet + Clone() CloudProviderSet +} + +func makeGenericCloudProviderSet(cloudProviderList []*infrastructure_gloo_solo_io_v2.CloudProvider) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range cloudProviderList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type cloudProviderSet struct { + set sksets.ResourceSet +} + +func NewCloudProviderSet(cloudProviderList ...*infrastructure_gloo_solo_io_v2.CloudProvider) CloudProviderSet { + return &cloudProviderSet{set: makeGenericCloudProviderSet(cloudProviderList)} +} + +func NewCloudProviderSetFromList(cloudProviderList *infrastructure_gloo_solo_io_v2.CloudProviderList) CloudProviderSet { + list := make([]*infrastructure_gloo_solo_io_v2.CloudProvider, 0, len(cloudProviderList.Items)) + for idx := range cloudProviderList.Items { + list = append(list, &cloudProviderList.Items[idx]) + } + return &cloudProviderSet{set: makeGenericCloudProviderSet(list)} +} + +func (s *cloudProviderSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *cloudProviderSet) List(filterResource ...func(*infrastructure_gloo_solo_io_v2.CloudProvider) bool) []*infrastructure_gloo_solo_io_v2.CloudProvider { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*infrastructure_gloo_solo_io_v2.CloudProvider)) + }) + } + + objs := s.Generic().List(genericFilters...) + cloudProviderList := make([]*infrastructure_gloo_solo_io_v2.CloudProvider, 0, len(objs)) + for _, obj := range objs { + cloudProviderList = append(cloudProviderList, obj.(*infrastructure_gloo_solo_io_v2.CloudProvider)) + } + return cloudProviderList +} + +func (s *cloudProviderSet) UnsortedList(filterResource ...func(*infrastructure_gloo_solo_io_v2.CloudProvider) bool) []*infrastructure_gloo_solo_io_v2.CloudProvider { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*infrastructure_gloo_solo_io_v2.CloudProvider)) + }) + } + + var cloudProviderList []*infrastructure_gloo_solo_io_v2.CloudProvider + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + cloudProviderList = append(cloudProviderList, obj.(*infrastructure_gloo_solo_io_v2.CloudProvider)) + } + return cloudProviderList +} + +func (s *cloudProviderSet) Map() map[string]*infrastructure_gloo_solo_io_v2.CloudProvider { + if s == nil { + return nil + } + + newMap := map[string]*infrastructure_gloo_solo_io_v2.CloudProvider{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*infrastructure_gloo_solo_io_v2.CloudProvider) + } + return newMap +} + +func (s *cloudProviderSet) Insert( + cloudProviderList ...*infrastructure_gloo_solo_io_v2.CloudProvider, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range cloudProviderList { + s.Generic().Insert(obj) + } +} + +func (s *cloudProviderSet) Has(cloudProvider ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(cloudProvider) +} + +func (s *cloudProviderSet) Equal( + cloudProviderSet CloudProviderSet, +) bool { + if s == nil { + return cloudProviderSet == nil + } + return s.Generic().Equal(cloudProviderSet.Generic()) +} + +func (s *cloudProviderSet) Delete(CloudProvider ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(CloudProvider) +} + +func (s *cloudProviderSet) Union(set CloudProviderSet) CloudProviderSet { + if s == nil { + return set + } + return NewCloudProviderSet(append(s.List(), set.List()...)...) +} + +func (s *cloudProviderSet) Difference(set CloudProviderSet) CloudProviderSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &cloudProviderSet{set: newSet} +} + +func (s *cloudProviderSet) Intersection(set CloudProviderSet) CloudProviderSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var cloudProviderList []*infrastructure_gloo_solo_io_v2.CloudProvider + for _, obj := range newSet.List() { + cloudProviderList = append(cloudProviderList, obj.(*infrastructure_gloo_solo_io_v2.CloudProvider)) + } + return NewCloudProviderSet(cloudProviderList...) +} + +func (s *cloudProviderSet) Find(id ezkube.ResourceId) (*infrastructure_gloo_solo_io_v2.CloudProvider, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find CloudProvider %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&infrastructure_gloo_solo_io_v2.CloudProvider{}, id) + if err != nil { + return nil, err + } + + return obj.(*infrastructure_gloo_solo_io_v2.CloudProvider), nil +} + +func (s *cloudProviderSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *cloudProviderSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *cloudProviderSet) Delta(newSet CloudProviderSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *cloudProviderSet) Clone() CloudProviderSet { + if s == nil { + return nil + } + return &cloudProviderSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type CloudResourcesSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*infrastructure_gloo_solo_io_v2.CloudResources) bool) []*infrastructure_gloo_solo_io_v2.CloudResources + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*infrastructure_gloo_solo_io_v2.CloudResources) bool) []*infrastructure_gloo_solo_io_v2.CloudResources + // Return the Set as a map of key to resource. + Map() map[string]*infrastructure_gloo_solo_io_v2.CloudResources + // Insert a resource into the set. + Insert(cloudResources ...*infrastructure_gloo_solo_io_v2.CloudResources) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(cloudResourcesSet CloudResourcesSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(cloudResources ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(cloudResources ezkube.ResourceId) + // Return the union with the provided set + Union(set CloudResourcesSet) CloudResourcesSet + // Return the difference with the provided set + Difference(set CloudResourcesSet) CloudResourcesSet + // Return the intersection with the provided set + Intersection(set CloudResourcesSet) CloudResourcesSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*infrastructure_gloo_solo_io_v2.CloudResources, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another CloudResourcesSet + Delta(newSet CloudResourcesSet) sksets.ResourceDelta + // Create a deep copy of the current CloudResourcesSet + Clone() CloudResourcesSet +} + +func makeGenericCloudResourcesSet(cloudResourcesList []*infrastructure_gloo_solo_io_v2.CloudResources) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range cloudResourcesList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type cloudResourcesSet struct { + set sksets.ResourceSet +} + +func NewCloudResourcesSet(cloudResourcesList ...*infrastructure_gloo_solo_io_v2.CloudResources) CloudResourcesSet { + return &cloudResourcesSet{set: makeGenericCloudResourcesSet(cloudResourcesList)} +} + +func NewCloudResourcesSetFromList(cloudResourcesList *infrastructure_gloo_solo_io_v2.CloudResourcesList) CloudResourcesSet { + list := make([]*infrastructure_gloo_solo_io_v2.CloudResources, 0, len(cloudResourcesList.Items)) + for idx := range cloudResourcesList.Items { + list = append(list, &cloudResourcesList.Items[idx]) + } + return &cloudResourcesSet{set: makeGenericCloudResourcesSet(list)} +} + +func (s *cloudResourcesSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *cloudResourcesSet) List(filterResource ...func(*infrastructure_gloo_solo_io_v2.CloudResources) bool) []*infrastructure_gloo_solo_io_v2.CloudResources { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*infrastructure_gloo_solo_io_v2.CloudResources)) + }) + } + + objs := s.Generic().List(genericFilters...) + cloudResourcesList := make([]*infrastructure_gloo_solo_io_v2.CloudResources, 0, len(objs)) + for _, obj := range objs { + cloudResourcesList = append(cloudResourcesList, obj.(*infrastructure_gloo_solo_io_v2.CloudResources)) + } + return cloudResourcesList +} + +func (s *cloudResourcesSet) UnsortedList(filterResource ...func(*infrastructure_gloo_solo_io_v2.CloudResources) bool) []*infrastructure_gloo_solo_io_v2.CloudResources { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*infrastructure_gloo_solo_io_v2.CloudResources)) + }) + } + + var cloudResourcesList []*infrastructure_gloo_solo_io_v2.CloudResources + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + cloudResourcesList = append(cloudResourcesList, obj.(*infrastructure_gloo_solo_io_v2.CloudResources)) + } + return cloudResourcesList +} + +func (s *cloudResourcesSet) Map() map[string]*infrastructure_gloo_solo_io_v2.CloudResources { + if s == nil { + return nil + } + + newMap := map[string]*infrastructure_gloo_solo_io_v2.CloudResources{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*infrastructure_gloo_solo_io_v2.CloudResources) + } + return newMap +} + +func (s *cloudResourcesSet) Insert( + cloudResourcesList ...*infrastructure_gloo_solo_io_v2.CloudResources, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range cloudResourcesList { + s.Generic().Insert(obj) + } +} + +func (s *cloudResourcesSet) Has(cloudResources ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(cloudResources) +} + +func (s *cloudResourcesSet) Equal( + cloudResourcesSet CloudResourcesSet, +) bool { + if s == nil { + return cloudResourcesSet == nil + } + return s.Generic().Equal(cloudResourcesSet.Generic()) +} + +func (s *cloudResourcesSet) Delete(CloudResources ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(CloudResources) +} + +func (s *cloudResourcesSet) Union(set CloudResourcesSet) CloudResourcesSet { + if s == nil { + return set + } + return NewCloudResourcesSet(append(s.List(), set.List()...)...) +} + +func (s *cloudResourcesSet) Difference(set CloudResourcesSet) CloudResourcesSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &cloudResourcesSet{set: newSet} +} + +func (s *cloudResourcesSet) Intersection(set CloudResourcesSet) CloudResourcesSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var cloudResourcesList []*infrastructure_gloo_solo_io_v2.CloudResources + for _, obj := range newSet.List() { + cloudResourcesList = append(cloudResourcesList, obj.(*infrastructure_gloo_solo_io_v2.CloudResources)) + } + return NewCloudResourcesSet(cloudResourcesList...) +} + +func (s *cloudResourcesSet) Find(id ezkube.ResourceId) (*infrastructure_gloo_solo_io_v2.CloudResources, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find CloudResources %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&infrastructure_gloo_solo_io_v2.CloudResources{}, id) + if err != nil { + return nil, err + } + + return obj.(*infrastructure_gloo_solo_io_v2.CloudResources), nil +} + +func (s *cloudResourcesSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *cloudResourcesSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *cloudResourcesSet) Delta(newSet CloudResourcesSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *cloudResourcesSet) Clone() CloudResourcesSet { + if s == nil { + return nil + } + return &cloudResourcesSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/type_helpers.go b/client-go/infrastructure.gloo.solo.io/v2/type_helpers.go new file mode 100644 index 000000000..0d8745af3 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/type_helpers.go @@ -0,0 +1,10 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +// CloudProviderSlice represents a slice of *CloudProvider +type CloudProviderSlice []*CloudProvider + +// CloudResourcesSlice represents a slice of *CloudResources +type CloudResourcesSlice []*CloudResources diff --git a/client-go/infrastructure.gloo.solo.io/v2/types.go b/client-go/infrastructure.gloo.solo.io/v2/types.go new file mode 100644 index 000000000..6c14d90b2 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/types.go @@ -0,0 +1,83 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for CloudProvider +var CloudProviderGVK = schema.GroupVersionKind{ + Group: "infrastructure.gloo.solo.io", + Version: "v2", + Kind: "CloudProvider", +} + +// CloudProvider is the Schema for the cloudProvider API +type CloudProvider struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec CloudProviderSpec `json:"spec,omitempty"` + Status CloudProviderStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (CloudProvider) GVK() schema.GroupVersionKind { + return CloudProviderGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// CloudProviderList contains a list of CloudProvider +type CloudProviderList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CloudProvider `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +genclient:noStatus + +// GroupVersionKind for CloudResources +var CloudResourcesGVK = schema.GroupVersionKind{ + Group: "infrastructure.gloo.solo.io", + Version: "v2", + Kind: "CloudResources", +} + +// CloudResources is the Schema for the cloudResources API +type CloudResources struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec CloudResourcesSpec `json:"spec,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (CloudResources) GVK() schema.GroupVersionKind { + return CloudResourcesGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// CloudResourcesList contains a list of CloudResources +type CloudResourcesList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CloudResources `json:"items"` +} + +func init() { + SchemeBuilder.Register(&CloudProvider{}, &CloudProviderList{}) + SchemeBuilder.Register(&CloudResources{}, &CloudResourcesList{}) +} diff --git a/client-go/infrastructure.gloo.solo.io/v2/zz_generated.deepcopy.go b/client-go/infrastructure.gloo.solo.io/v2/zz_generated.deepcopy.go new file mode 100644 index 000000000..79f60f1c8 --- /dev/null +++ b/client-go/infrastructure.gloo.solo.io/v2/zz_generated.deepcopy.go @@ -0,0 +1,127 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for infrastructure.gloo.solo.io/v2 resources + +package v2 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for CloudProvider + +func (in *CloudProvider) DeepCopyInto(out *CloudProvider) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *CloudProvider) DeepCopy() *CloudProvider { + if in == nil { + return nil + } + out := new(CloudProvider) + in.DeepCopyInto(out) + return out +} + +func (in *CloudProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *CloudProviderList) DeepCopyInto(out *CloudProviderList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CloudProvider, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *CloudProviderList) DeepCopy() *CloudProviderList { + if in == nil { + return nil + } + out := new(CloudProviderList) + in.DeepCopyInto(out) + return out +} + +func (in *CloudProviderList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for CloudResources + +func (in *CloudResources) DeepCopyInto(out *CloudResources) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + + return +} + +func (in *CloudResources) DeepCopy() *CloudResources { + if in == nil { + return nil + } + out := new(CloudResources) + in.DeepCopyInto(out) + return out +} + +func (in *CloudResources) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *CloudResourcesList) DeepCopyInto(out *CloudResourcesList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CloudResources, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *CloudResourcesList) DeepCopy() *CloudResourcesList { + if in == nil { + return nil + } + out := new(CloudResourcesList) + in.DeepCopyInto(out) + return out +} + +func (in *CloudResourcesList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/insights.internal.gloo.solo.io/v2alpha1/insights.pb.go b/client-go/insights.internal.gloo.solo.io/v2alpha1/insights.pb.go new file mode 100644 index 000000000..779459b99 --- /dev/null +++ b/client-go/insights.internal.gloo.solo.io/v2alpha1/insights.pb.go @@ -0,0 +1,3083 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/insights/v2alpha1/insights.proto + +package v2alpha1 + +import ( + reflect "reflect" + sync "sync" + + timestamp "github.com/golang/protobuf/ptypes/timestamp" + v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Insight_Severity int32 + +const ( + // SEVERITY_UNSPECIFIED is the default SeverityNumber. It should not be used + // as all insights should have a severity. + Insight_SEVERITY_UNSPECIFIED Insight_Severity = 0 + // guidance, suggestions, and best practices + Insight_INFO Insight_Severity = 1 + // something may not work as expected + Insight_WARNING Insight_Severity = 2 + // something is broken, will not work as expected + Insight_ERROR Insight_Severity = 3 +) + +// Enum value maps for Insight_Severity. +var ( + Insight_Severity_name = map[int32]string{ + 0: "SEVERITY_UNSPECIFIED", + 1: "INFO", + 2: "WARNING", + 3: "ERROR", + } + Insight_Severity_value = map[string]int32{ + "SEVERITY_UNSPECIFIED": 0, + "INFO": 1, + "WARNING": 2, + "ERROR": 3, + } +) + +func (x Insight_Severity) Enum() *Insight_Severity { + p := new(Insight_Severity) + *p = x + return p +} + +func (x Insight_Severity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Insight_Severity) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_enumTypes[0].Descriptor() +} + +func (Insight_Severity) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_enumTypes[0] +} + +func (x Insight_Severity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Insight_Severity.Descriptor instead. +func (Insight_Severity) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 0} +} + +type Insight struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Numerical value of the insight severity. + Severity Insight_Severity `protobuf:"varint,1,opt,name=severity,proto3,enum=insights.internal.gloo.solo.io.Insight_Severity" json:"severity,omitempty"` + // Time when the situation that caused the insight was last observed. + LastObserved *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_observed,json=lastObserved,proto3" json:"last_observed,omitempty"` + // Time when the insight was generated. + Created *timestamp.Timestamp `protobuf:"bytes,3,opt,name=created,proto3" json:"created,omitempty"` + // A code that identifies the situation that caused the insight. + // For example - IST0102 + Code *Insight_Code `protobuf:"bytes,4,opt,name=code,proto3" json:"code,omitempty"` + // A unique identifier for the insight. + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` + Target *Insight_Target `protobuf:"bytes,7,opt,name=target,proto3" json:"target,omitempty"` + // An identifier of the instance of the analytics job that last produced the inisght. + // Used for garbage collection. + LastSourceExecId string `protobuf:"bytes,9,opt,name=last_source_exec_id,json=lastSourceExecId,proto3" json:"last_source_exec_id,omitempty"` + // A short dynamic summary of this specific insight, derived by the insights engine. + Summary string `protobuf:"bytes,10,opt,name=summary,proto3" json:"summary,omitempty"` + // A longer dynamic details of this specific insight with more context, derived by the insights engine. + Details string `protobuf:"bytes,11,opt,name=details,proto3" json:"details,omitempty"` + // A flag for whether this is an internal system insight. + System bool `protobuf:"varint,12,opt,name=system,proto3" json:"system,omitempty"` + // used for TTL based garbage collection + ExpireyTime *timestamp.Timestamp `protobuf:"bytes,13,opt,name=expirey_time,json=expireyTime,proto3" json:"expirey_time,omitempty"` + // Time used internally to determine if an insight is potentially stale, this should be updated everytime the engine processes the insight. + LastProcessedTime *timestamp.Timestamp `protobuf:"bytes,14,opt,name=last_processed_time,json=lastProcessedTime,proto3" json:"last_processed_time,omitempty"` + // Storage for extra custom data that is output by the insights engine and consumed directly by the UI for custom components. + Data *Insight_Data `protobuf:"bytes,15,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *Insight) Reset() { + *x = Insight{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight) ProtoMessage() {} + +func (x *Insight) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight.ProtoReflect.Descriptor instead. +func (*Insight) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0} +} + +func (x *Insight) GetSeverity() Insight_Severity { + if x != nil { + return x.Severity + } + return Insight_SEVERITY_UNSPECIFIED +} + +func (x *Insight) GetLastObserved() *timestamp.Timestamp { + if x != nil { + return x.LastObserved + } + return nil +} + +func (x *Insight) GetCreated() *timestamp.Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *Insight) GetCode() *Insight_Code { + if x != nil { + return x.Code + } + return nil +} + +func (x *Insight) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Insight) GetTarget() *Insight_Target { + if x != nil { + return x.Target + } + return nil +} + +func (x *Insight) GetLastSourceExecId() string { + if x != nil { + return x.LastSourceExecId + } + return "" +} + +func (x *Insight) GetSummary() string { + if x != nil { + return x.Summary + } + return "" +} + +func (x *Insight) GetDetails() string { + if x != nil { + return x.Details + } + return "" +} + +func (x *Insight) GetSystem() bool { + if x != nil { + return x.System + } + return false +} + +func (x *Insight) GetExpireyTime() *timestamp.Timestamp { + if x != nil { + return x.ExpireyTime + } + return nil +} + +func (x *Insight) GetLastProcessedTime() *timestamp.Timestamp { + if x != nil { + return x.LastProcessedTime + } + return nil +} + +func (x *Insight) GetData() *Insight_Data { + if x != nil { + return x.Data + } + return nil +} + +type Insight_Code struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The group of the code -- e.g. IST + Group string `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"` + // The key of the code -- e.g. 0102 + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *Insight_Code) Reset() { + *x = Insight_Code{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_Code) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_Code) ProtoMessage() {} + +func (x *Insight_Code) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_Code.ProtoReflect.Descriptor instead. +func (*Insight_Code) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Insight_Code) GetGroup() string { + if x != nil { + return x.Group + } + return "" +} + +func (x *Insight_Code) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +type Insight_ClusterRef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *Insight_ClusterRef) Reset() { + *x = Insight_ClusterRef{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_ClusterRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_ClusterRef) ProtoMessage() {} + +func (x *Insight_ClusterRef) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_ClusterRef.ProtoReflect.Descriptor instead. +func (*Insight_ClusterRef) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *Insight_ClusterRef) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type Insight_Target struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Target: + // + // *Insight_Target_Cluster + // *Insight_Target_Resource + // *Insight_Target_Global + Target isInsight_Target_Target `protobuf_oneof:"target"` +} + +func (x *Insight_Target) Reset() { + *x = Insight_Target{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_Target) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_Target) ProtoMessage() {} + +func (x *Insight_Target) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_Target.ProtoReflect.Descriptor instead. +func (*Insight_Target) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 2} +} + +func (m *Insight_Target) GetTarget() isInsight_Target_Target { + if m != nil { + return m.Target + } + return nil +} + +func (x *Insight_Target) GetCluster() *Insight_ClusterRef { + if x, ok := x.GetTarget().(*Insight_Target_Cluster); ok { + return x.Cluster + } + return nil +} + +func (x *Insight_Target) GetResource() *v1.TypedClusterObjectRef { + if x, ok := x.GetTarget().(*Insight_Target_Resource); ok { + return x.Resource + } + return nil +} + +func (x *Insight_Target) GetGlobal() bool { + if x, ok := x.GetTarget().(*Insight_Target_Global); ok { + return x.Global + } + return false +} + +type isInsight_Target_Target interface { + isInsight_Target_Target() +} + +type Insight_Target_Cluster struct { + // The cluster that the insight was generated for. + Cluster *Insight_ClusterRef `protobuf:"bytes,7,opt,name=cluster,proto3,oneof"` +} + +type Insight_Target_Resource struct { + Resource *v1.TypedClusterObjectRef `protobuf:"bytes,8,opt,name=resource,proto3,oneof"` +} + +type Insight_Target_Global struct { + Global bool `protobuf:"varint,16,opt,name=global,proto3,oneof"` +} + +func (*Insight_Target_Cluster) isInsight_Target_Target() {} + +func (*Insight_Target_Resource) isInsight_Target_Target() {} + +func (*Insight_Target_Global) isInsight_Target_Target() {} + +type Insight_Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Data: + // + // *Insight_Data_SYS0003 + // *Insight_Data_SYS0006 + // *Insight_Data_SYS0007 + // *Insight_Data_SYS0008 + // *Insight_Data_SYS0009 + // *Insight_Data_SYS0010 + // *Insight_Data_SYS0011 + // *Insight_Data_SYS0014 + // *Insight_Data_SYS0015 + // *Insight_Data_SYS0019 + // *Insight_Data_SYS0020 + // *Insight_Data_SYS0025 + // *Insight_Data_SYS0021 + // *Insight_Data_SYS0022 + // *Insight_Data_SYS0023 + Data isInsight_Data_Data `protobuf_oneof:"data"` +} + +func (x *Insight_Data) Reset() { + *x = Insight_Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_Data) ProtoMessage() {} + +func (x *Insight_Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_Data.ProtoReflect.Descriptor instead. +func (*Insight_Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 3} +} + +func (m *Insight_Data) GetData() isInsight_Data_Data { + if m != nil { + return m.Data + } + return nil +} + +func (x *Insight_Data) GetSYS0003() *Insight_SYS0003Data { + if x, ok := x.GetData().(*Insight_Data_SYS0003); ok { + return x.SYS0003 + } + return nil +} + +func (x *Insight_Data) GetSYS0006() *Insight_SYS0006Data { + if x, ok := x.GetData().(*Insight_Data_SYS0006); ok { + return x.SYS0006 + } + return nil +} + +func (x *Insight_Data) GetSYS0007() *Insight_SYS0007Data { + if x, ok := x.GetData().(*Insight_Data_SYS0007); ok { + return x.SYS0007 + } + return nil +} + +func (x *Insight_Data) GetSYS0008() *Insight_SYS0008Data { + if x, ok := x.GetData().(*Insight_Data_SYS0008); ok { + return x.SYS0008 + } + return nil +} + +func (x *Insight_Data) GetSYS0009() *Insight_SYS0009Data { + if x, ok := x.GetData().(*Insight_Data_SYS0009); ok { + return x.SYS0009 + } + return nil +} + +func (x *Insight_Data) GetSYS0010() *Insight_SYS0010Data { + if x, ok := x.GetData().(*Insight_Data_SYS0010); ok { + return x.SYS0010 + } + return nil +} + +func (x *Insight_Data) GetSYS0011() *Insight_SYS0011Data { + if x, ok := x.GetData().(*Insight_Data_SYS0011); ok { + return x.SYS0011 + } + return nil +} + +func (x *Insight_Data) GetSYS0014() *Insight_SYS0014Data { + if x, ok := x.GetData().(*Insight_Data_SYS0014); ok { + return x.SYS0014 + } + return nil +} + +func (x *Insight_Data) GetSYS0015() *Insight_SYS0015Data { + if x, ok := x.GetData().(*Insight_Data_SYS0015); ok { + return x.SYS0015 + } + return nil +} + +func (x *Insight_Data) GetSYS0019() *Insight_SYS0019Data { + if x, ok := x.GetData().(*Insight_Data_SYS0019); ok { + return x.SYS0019 + } + return nil +} + +func (x *Insight_Data) GetSYS0020() *Insight_SYS0020Data { + if x, ok := x.GetData().(*Insight_Data_SYS0020); ok { + return x.SYS0020 + } + return nil +} + +func (x *Insight_Data) GetSYS0025() *Insight_SYS0025Data { + if x, ok := x.GetData().(*Insight_Data_SYS0025); ok { + return x.SYS0025 + } + return nil +} + +func (x *Insight_Data) GetSYS0021() *Insight_SYS0021Data { + if x, ok := x.GetData().(*Insight_Data_SYS0021); ok { + return x.SYS0021 + } + return nil +} + +func (x *Insight_Data) GetSYS0022() *Insight_SYS0022Data { + if x, ok := x.GetData().(*Insight_Data_SYS0022); ok { + return x.SYS0022 + } + return nil +} + +func (x *Insight_Data) GetSYS0023() *Insight_SYS0023Data { + if x, ok := x.GetData().(*Insight_Data_SYS0023); ok { + return x.SYS0023 + } + return nil +} + +type isInsight_Data_Data interface { + isInsight_Data_Data() +} + +type Insight_Data_SYS0003 struct { + SYS0003 *Insight_SYS0003Data `protobuf:"bytes,18,opt,name=SYS0003,proto3,oneof"` +} + +type Insight_Data_SYS0006 struct { + SYS0006 *Insight_SYS0006Data `protobuf:"bytes,19,opt,name=SYS0006,proto3,oneof"` +} + +type Insight_Data_SYS0007 struct { + SYS0007 *Insight_SYS0007Data `protobuf:"bytes,20,opt,name=SYS0007,proto3,oneof"` +} + +type Insight_Data_SYS0008 struct { + SYS0008 *Insight_SYS0008Data `protobuf:"bytes,21,opt,name=SYS0008,proto3,oneof"` +} + +type Insight_Data_SYS0009 struct { + SYS0009 *Insight_SYS0009Data `protobuf:"bytes,22,opt,name=SYS0009,proto3,oneof"` +} + +type Insight_Data_SYS0010 struct { + SYS0010 *Insight_SYS0010Data `protobuf:"bytes,23,opt,name=SYS0010,proto3,oneof"` +} + +type Insight_Data_SYS0011 struct { + SYS0011 *Insight_SYS0011Data `protobuf:"bytes,24,opt,name=SYS0011,proto3,oneof"` +} + +type Insight_Data_SYS0014 struct { + SYS0014 *Insight_SYS0014Data `protobuf:"bytes,27,opt,name=SYS0014,proto3,oneof"` +} + +type Insight_Data_SYS0015 struct { + SYS0015 *Insight_SYS0015Data `protobuf:"bytes,28,opt,name=SYS0015,proto3,oneof"` +} + +type Insight_Data_SYS0019 struct { + SYS0019 *Insight_SYS0019Data `protobuf:"bytes,29,opt,name=SYS0019,proto3,oneof"` // Adding so UI works for mock - might change later +} + +type Insight_Data_SYS0020 struct { + SYS0020 *Insight_SYS0020Data `protobuf:"bytes,30,opt,name=SYS0020,proto3,oneof"` +} + +type Insight_Data_SYS0025 struct { + SYS0025 *Insight_SYS0025Data `protobuf:"bytes,31,opt,name=SYS0025,proto3,oneof"` +} + +type Insight_Data_SYS0021 struct { + SYS0021 *Insight_SYS0021Data `protobuf:"bytes,32,opt,name=SYS0021,proto3,oneof"` +} + +type Insight_Data_SYS0022 struct { + SYS0022 *Insight_SYS0022Data `protobuf:"bytes,33,opt,name=SYS0022,proto3,oneof"` +} + +type Insight_Data_SYS0023 struct { + SYS0023 *Insight_SYS0023Data `protobuf:"bytes,34,opt,name=SYS0023,proto3,oneof"` +} + +func (*Insight_Data_SYS0003) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0006) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0007) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0008) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0009) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0010) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0011) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0014) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0015) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0019) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0020) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0025) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0021) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0022) isInsight_Data_Data() {} + +func (*Insight_Data_SYS0023) isInsight_Data_Data() {} + +// Agent Deployent Reference +type Insight_SYS0003Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DeploymentRef *v1.TypedClusterObjectRef `protobuf:"bytes,1,opt,name=deployment_ref,json=deploymentRef,proto3" json:"deployment_ref,omitempty"` +} + +func (x *Insight_SYS0003Data) Reset() { + *x = Insight_SYS0003Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0003Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0003Data) ProtoMessage() {} + +func (x *Insight_SYS0003Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0003Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0003Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *Insight_SYS0003Data) GetDeploymentRef() *v1.TypedClusterObjectRef { + if x != nil { + return x.DeploymentRef + } + return nil +} + +// CRDs +type Insight_SYS0006Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IstioVersion string `protobuf:"bytes,1,opt,name=istio_version,json=istioVersion,proto3" json:"istio_version,omitempty"` +} + +func (x *Insight_SYS0006Data) Reset() { + *x = Insight_SYS0006Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0006Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0006Data) ProtoMessage() {} + +func (x *Insight_SYS0006Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0006Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0006Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 5} +} + +func (x *Insight_SYS0006Data) GetIstioVersion() string { + if x != nil { + return x.IstioVersion + } + return "" +} + +// root certificate +type Insight_SYS0007Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` + IssuedToCn string `protobuf:"bytes,2,opt,name=issued_to_cn,json=issuedToCn,proto3" json:"issued_to_cn,omitempty"` + IssuedToOrganization []string `protobuf:"bytes,3,rep,name=issued_to_organization,json=issuedToOrganization,proto3" json:"issued_to_organization,omitempty"` + IssuedToOrganizationUnit []string `protobuf:"bytes,4,rep,name=issued_to_organization_unit,json=issuedToOrganizationUnit,proto3" json:"issued_to_organization_unit,omitempty"` + IssuedFromCn string `protobuf:"bytes,5,opt,name=issued_from_cn,json=issuedFromCn,proto3" json:"issued_from_cn,omitempty"` + IssuedFromOrganization []string `protobuf:"bytes,6,rep,name=issued_from_organization,json=issuedFromOrganization,proto3" json:"issued_from_organization,omitempty"` + IssuedFromOrganizationUnit []string `protobuf:"bytes,7,rep,name=issued_from_organization_unit,json=issuedFromOrganizationUnit,proto3" json:"issued_from_organization_unit,omitempty"` + IssuedOn *timestamp.Timestamp `protobuf:"bytes,8,opt,name=issued_on,json=issuedOn,proto3" json:"issued_on,omitempty"` + ExpiresOn *timestamp.Timestamp `protobuf:"bytes,9,opt,name=expires_on,json=expiresOn,proto3" json:"expires_on,omitempty"` + Fingerprints []*Insight_SYS0007Data_Fingerprints `protobuf:"bytes,10,rep,name=fingerprints,proto3" json:"fingerprints,omitempty"` + SubjectKeyIdentifier string `protobuf:"bytes,11,opt,name=subject_key_identifier,json=subjectKeyIdentifier,proto3" json:"subject_key_identifier,omitempty"` + AuthorityKeyIdentifier string `protobuf:"bytes,12,opt,name=authority_key_identifier,json=authorityKeyIdentifier,proto3" json:"authority_key_identifier,omitempty"` +} + +func (x *Insight_SYS0007Data) Reset() { + *x = Insight_SYS0007Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0007Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0007Data) ProtoMessage() {} + +func (x *Insight_SYS0007Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0007Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0007Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 6} +} + +func (x *Insight_SYS0007Data) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *Insight_SYS0007Data) GetIssuedToCn() string { + if x != nil { + return x.IssuedToCn + } + return "" +} + +func (x *Insight_SYS0007Data) GetIssuedToOrganization() []string { + if x != nil { + return x.IssuedToOrganization + } + return nil +} + +func (x *Insight_SYS0007Data) GetIssuedToOrganizationUnit() []string { + if x != nil { + return x.IssuedToOrganizationUnit + } + return nil +} + +func (x *Insight_SYS0007Data) GetIssuedFromCn() string { + if x != nil { + return x.IssuedFromCn + } + return "" +} + +func (x *Insight_SYS0007Data) GetIssuedFromOrganization() []string { + if x != nil { + return x.IssuedFromOrganization + } + return nil +} + +func (x *Insight_SYS0007Data) GetIssuedFromOrganizationUnit() []string { + if x != nil { + return x.IssuedFromOrganizationUnit + } + return nil +} + +func (x *Insight_SYS0007Data) GetIssuedOn() *timestamp.Timestamp { + if x != nil { + return x.IssuedOn + } + return nil +} + +func (x *Insight_SYS0007Data) GetExpiresOn() *timestamp.Timestamp { + if x != nil { + return x.ExpiresOn + } + return nil +} + +func (x *Insight_SYS0007Data) GetFingerprints() []*Insight_SYS0007Data_Fingerprints { + if x != nil { + return x.Fingerprints + } + return nil +} + +func (x *Insight_SYS0007Data) GetSubjectKeyIdentifier() string { + if x != nil { + return x.SubjectKeyIdentifier + } + return "" +} + +func (x *Insight_SYS0007Data) GetAuthorityKeyIdentifier() string { + if x != nil { + return x.AuthorityKeyIdentifier + } + return "" +} + +// intermediate certificate +type Insight_SYS0008Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` + IssuedToCn string `protobuf:"bytes,2,opt,name=issued_to_cn,json=issuedToCn,proto3" json:"issued_to_cn,omitempty"` + IssuedToOrganization []string `protobuf:"bytes,3,rep,name=issued_to_organization,json=issuedToOrganization,proto3" json:"issued_to_organization,omitempty"` + IssuedToOrganizationUnit []string `protobuf:"bytes,4,rep,name=issued_to_organization_unit,json=issuedToOrganizationUnit,proto3" json:"issued_to_organization_unit,omitempty"` + IssuedFromCn string `protobuf:"bytes,5,opt,name=issued_from_cn,json=issuedFromCn,proto3" json:"issued_from_cn,omitempty"` + IssuedFromOrganization []string `protobuf:"bytes,6,rep,name=issued_from_organization,json=issuedFromOrganization,proto3" json:"issued_from_organization,omitempty"` + IssuedFromOrganizationUnit []string `protobuf:"bytes,7,rep,name=issued_from_organization_unit,json=issuedFromOrganizationUnit,proto3" json:"issued_from_organization_unit,omitempty"` + IssuedOn *timestamp.Timestamp `protobuf:"bytes,8,opt,name=issued_on,json=issuedOn,proto3" json:"issued_on,omitempty"` + ExpiresOn *timestamp.Timestamp `protobuf:"bytes,9,opt,name=expires_on,json=expiresOn,proto3" json:"expires_on,omitempty"` + Fingerprints []*Insight_SYS0008Data_Fingerprints `protobuf:"bytes,10,rep,name=fingerprints,proto3" json:"fingerprints,omitempty"` + SubjectKeyIdentifier string `protobuf:"bytes,11,opt,name=subject_key_identifier,json=subjectKeyIdentifier,proto3" json:"subject_key_identifier,omitempty"` + AuthorityKeyIdentifier string `protobuf:"bytes,12,opt,name=authority_key_identifier,json=authorityKeyIdentifier,proto3" json:"authority_key_identifier,omitempty"` +} + +func (x *Insight_SYS0008Data) Reset() { + *x = Insight_SYS0008Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0008Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0008Data) ProtoMessage() {} + +func (x *Insight_SYS0008Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0008Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0008Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 7} +} + +func (x *Insight_SYS0008Data) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *Insight_SYS0008Data) GetIssuedToCn() string { + if x != nil { + return x.IssuedToCn + } + return "" +} + +func (x *Insight_SYS0008Data) GetIssuedToOrganization() []string { + if x != nil { + return x.IssuedToOrganization + } + return nil +} + +func (x *Insight_SYS0008Data) GetIssuedToOrganizationUnit() []string { + if x != nil { + return x.IssuedToOrganizationUnit + } + return nil +} + +func (x *Insight_SYS0008Data) GetIssuedFromCn() string { + if x != nil { + return x.IssuedFromCn + } + return "" +} + +func (x *Insight_SYS0008Data) GetIssuedFromOrganization() []string { + if x != nil { + return x.IssuedFromOrganization + } + return nil +} + +func (x *Insight_SYS0008Data) GetIssuedFromOrganizationUnit() []string { + if x != nil { + return x.IssuedFromOrganizationUnit + } + return nil +} + +func (x *Insight_SYS0008Data) GetIssuedOn() *timestamp.Timestamp { + if x != nil { + return x.IssuedOn + } + return nil +} + +func (x *Insight_SYS0008Data) GetExpiresOn() *timestamp.Timestamp { + if x != nil { + return x.ExpiresOn + } + return nil +} + +func (x *Insight_SYS0008Data) GetFingerprints() []*Insight_SYS0008Data_Fingerprints { + if x != nil { + return x.Fingerprints + } + return nil +} + +func (x *Insight_SYS0008Data) GetSubjectKeyIdentifier() string { + if x != nil { + return x.SubjectKeyIdentifier + } + return "" +} + +func (x *Insight_SYS0008Data) GetAuthorityKeyIdentifier() string { + if x != nil { + return x.AuthorityKeyIdentifier + } + return "" +} + +// Istio Gateway certificates +type Insight_SYS0015Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Certificates []*Insight_ReferencedCertificateSecret `protobuf:"bytes,1,rep,name=certificates,proto3" json:"certificates,omitempty"` +} + +func (x *Insight_SYS0015Data) Reset() { + *x = Insight_SYS0015Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0015Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0015Data) ProtoMessage() {} + +func (x *Insight_SYS0015Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0015Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0015Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 8} +} + +func (x *Insight_SYS0015Data) GetCertificates() []*Insight_ReferencedCertificateSecret { + if x != nil { + return x.Certificates + } + return nil +} + +// Kubernetes Gateway certificates +type Insight_SYS0025Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Certificates []*Insight_ReferencedCertificateSecret `protobuf:"bytes,1,rep,name=certificates,proto3" json:"certificates,omitempty"` +} + +func (x *Insight_SYS0025Data) Reset() { + *x = Insight_SYS0025Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0025Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0025Data) ProtoMessage() {} + +func (x *Insight_SYS0025Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0025Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0025Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 9} +} + +func (x *Insight_SYS0025Data) GetCertificates() []*Insight_ReferencedCertificateSecret { + if x != nil { + return x.Certificates + } + return nil +} + +// Endpoint policy info +type Insight_SYS0021Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EndpointsWithPolicies uint32 `protobuf:"varint,1,opt,name=endpoints_with_policies,json=endpointsWithPolicies,proto3" json:"endpoints_with_policies,omitempty"` + TotalEndpoints uint32 `protobuf:"varint,2,opt,name=total_endpoints,json=totalEndpoints,proto3" json:"total_endpoints,omitempty"` +} + +func (x *Insight_SYS0021Data) Reset() { + *x = Insight_SYS0021Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0021Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0021Data) ProtoMessage() {} + +func (x *Insight_SYS0021Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0021Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0021Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 10} +} + +func (x *Insight_SYS0021Data) GetEndpointsWithPolicies() uint32 { + if x != nil { + return x.EndpointsWithPolicies + } + return 0 +} + +func (x *Insight_SYS0021Data) GetTotalEndpoints() uint32 { + if x != nil { + return x.TotalEndpoints + } + return 0 +} + +type Insight_ReferencedCertificateSecret struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ref *v1.TypedClusterObjectRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` + Certificate *Insight_CertificateInformation `protobuf:"bytes,2,opt,name=certificate,proto3" json:"certificate,omitempty"` +} + +func (x *Insight_ReferencedCertificateSecret) Reset() { + *x = Insight_ReferencedCertificateSecret{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_ReferencedCertificateSecret) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_ReferencedCertificateSecret) ProtoMessage() {} + +func (x *Insight_ReferencedCertificateSecret) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_ReferencedCertificateSecret.ProtoReflect.Descriptor instead. +func (*Insight_ReferencedCertificateSecret) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 11} +} + +func (x *Insight_ReferencedCertificateSecret) GetRef() *v1.TypedClusterObjectRef { + if x != nil { + return x.Ref + } + return nil +} + +func (x *Insight_ReferencedCertificateSecret) GetCertificate() *Insight_CertificateInformation { + if x != nil { + return x.Certificate + } + return nil +} + +type Insight_CertificateInformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` + IssuedToCn string `protobuf:"bytes,2,opt,name=issued_to_cn,json=issuedToCn,proto3" json:"issued_to_cn,omitempty"` + IssuedToOrganization []string `protobuf:"bytes,3,rep,name=issued_to_organization,json=issuedToOrganization,proto3" json:"issued_to_organization,omitempty"` + IssuedToOrganizationUnit []string `protobuf:"bytes,4,rep,name=issued_to_organization_unit,json=issuedToOrganizationUnit,proto3" json:"issued_to_organization_unit,omitempty"` + IssuedFromCn string `protobuf:"bytes,5,opt,name=issued_from_cn,json=issuedFromCn,proto3" json:"issued_from_cn,omitempty"` + IssuedFromOrganization []string `protobuf:"bytes,6,rep,name=issued_from_organization,json=issuedFromOrganization,proto3" json:"issued_from_organization,omitempty"` + IssuedFromOrganizationUnit []string `protobuf:"bytes,7,rep,name=issued_from_organization_unit,json=issuedFromOrganizationUnit,proto3" json:"issued_from_organization_unit,omitempty"` + IssuedOn *timestamp.Timestamp `protobuf:"bytes,8,opt,name=issued_on,json=issuedOn,proto3" json:"issued_on,omitempty"` + ExpiresOn *timestamp.Timestamp `protobuf:"bytes,9,opt,name=expires_on,json=expiresOn,proto3" json:"expires_on,omitempty"` + Fingerprints []*Insight_CertificateInformation_Fingerprints `protobuf:"bytes,10,rep,name=fingerprints,proto3" json:"fingerprints,omitempty"` + SubjectKeyIdentifier string `protobuf:"bytes,11,opt,name=subject_key_identifier,json=subjectKeyIdentifier,proto3" json:"subject_key_identifier,omitempty"` + AuthorityKeyIdentifier string `protobuf:"bytes,12,opt,name=authority_key_identifier,json=authorityKeyIdentifier,proto3" json:"authority_key_identifier,omitempty"` +} + +func (x *Insight_CertificateInformation) Reset() { + *x = Insight_CertificateInformation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_CertificateInformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_CertificateInformation) ProtoMessage() {} + +func (x *Insight_CertificateInformation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_CertificateInformation.ProtoReflect.Descriptor instead. +func (*Insight_CertificateInformation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 12} +} + +func (x *Insight_CertificateInformation) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *Insight_CertificateInformation) GetIssuedToCn() string { + if x != nil { + return x.IssuedToCn + } + return "" +} + +func (x *Insight_CertificateInformation) GetIssuedToOrganization() []string { + if x != nil { + return x.IssuedToOrganization + } + return nil +} + +func (x *Insight_CertificateInformation) GetIssuedToOrganizationUnit() []string { + if x != nil { + return x.IssuedToOrganizationUnit + } + return nil +} + +func (x *Insight_CertificateInformation) GetIssuedFromCn() string { + if x != nil { + return x.IssuedFromCn + } + return "" +} + +func (x *Insight_CertificateInformation) GetIssuedFromOrganization() []string { + if x != nil { + return x.IssuedFromOrganization + } + return nil +} + +func (x *Insight_CertificateInformation) GetIssuedFromOrganizationUnit() []string { + if x != nil { + return x.IssuedFromOrganizationUnit + } + return nil +} + +func (x *Insight_CertificateInformation) GetIssuedOn() *timestamp.Timestamp { + if x != nil { + return x.IssuedOn + } + return nil +} + +func (x *Insight_CertificateInformation) GetExpiresOn() *timestamp.Timestamp { + if x != nil { + return x.ExpiresOn + } + return nil +} + +func (x *Insight_CertificateInformation) GetFingerprints() []*Insight_CertificateInformation_Fingerprints { + if x != nil { + return x.Fingerprints + } + return nil +} + +func (x *Insight_CertificateInformation) GetSubjectKeyIdentifier() string { + if x != nil { + return x.SubjectKeyIdentifier + } + return "" +} + +func (x *Insight_CertificateInformation) GetAuthorityKeyIdentifier() string { + if x != nil { + return x.AuthorityKeyIdentifier + } + return "" +} + +// Control plane FIPs +type Insight_SYS0009Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FipsCompliantIstioWorkloads int32 `protobuf:"varint,1,opt,name=fips_compliant_istio_workloads,json=fipsCompliantIstioWorkloads,proto3" json:"fips_compliant_istio_workloads,omitempty"` + TotalIstioWorkloads int32 `protobuf:"varint,2,opt,name=total_istio_workloads,json=totalIstioWorkloads,proto3" json:"total_istio_workloads,omitempty"` + UniqueFipsVersions []string `protobuf:"bytes,4,rep,name=unique_fips_versions,json=uniqueFipsVersions,proto3" json:"unique_fips_versions,omitempty"` +} + +func (x *Insight_SYS0009Data) Reset() { + *x = Insight_SYS0009Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0009Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0009Data) ProtoMessage() {} + +func (x *Insight_SYS0009Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0009Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0009Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 13} +} + +func (x *Insight_SYS0009Data) GetFipsCompliantIstioWorkloads() int32 { + if x != nil { + return x.FipsCompliantIstioWorkloads + } + return 0 +} + +func (x *Insight_SYS0009Data) GetTotalIstioWorkloads() int32 { + if x != nil { + return x.TotalIstioWorkloads + } + return 0 +} + +func (x *Insight_SYS0009Data) GetUniqueFipsVersions() []string { + if x != nil { + return x.UniqueFipsVersions + } + return nil +} + +// Data plane FIPs +type Insight_SYS0010Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FipsCompliantIstioWorkloads int32 `protobuf:"varint,1,opt,name=fips_compliant_istio_workloads,json=fipsCompliantIstioWorkloads,proto3" json:"fips_compliant_istio_workloads,omitempty"` + TotalIstioWorkloads int32 `protobuf:"varint,2,opt,name=total_istio_workloads,json=totalIstioWorkloads,proto3" json:"total_istio_workloads,omitempty"` + UniqueFipsVersions []string `protobuf:"bytes,4,rep,name=unique_fips_versions,json=uniqueFipsVersions,proto3" json:"unique_fips_versions,omitempty"` +} + +func (x *Insight_SYS0010Data) Reset() { + *x = Insight_SYS0010Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0010Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0010Data) ProtoMessage() {} + +func (x *Insight_SYS0010Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0010Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0010Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 14} +} + +func (x *Insight_SYS0010Data) GetFipsCompliantIstioWorkloads() int32 { + if x != nil { + return x.FipsCompliantIstioWorkloads + } + return 0 +} + +func (x *Insight_SYS0010Data) GetTotalIstioWorkloads() int32 { + if x != nil { + return x.TotalIstioWorkloads + } + return 0 +} + +func (x *Insight_SYS0010Data) GetUniqueFipsVersions() []string { + if x != nil { + return x.UniqueFipsVersions + } + return nil +} + +// Cluster services +type Insight_SYS0011Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + InMeshServices int32 `protobuf:"varint,1,opt,name=in_mesh_services,json=inMeshServices,proto3" json:"in_mesh_services,omitempty"` + OutOfMeshServices int32 `protobuf:"varint,2,opt,name=out_of_mesh_services,json=outOfMeshServices,proto3" json:"out_of_mesh_services,omitempty"` + SidecarServices int32 `protobuf:"varint,3,opt,name=sidecar_services,json=sidecarServices,proto3" json:"sidecar_services,omitempty"` + AmbientServices int32 `protobuf:"varint,4,opt,name=ambient_services,json=ambientServices,proto3" json:"ambient_services,omitempty"` + GatewayServices int32 `protobuf:"varint,5,opt,name=gateway_services,json=gatewayServices,proto3" json:"gateway_services,omitempty"` + TotalServices int32 `protobuf:"varint,6,opt,name=total_services,json=totalServices,proto3" json:"total_services,omitempty"` +} + +func (x *Insight_SYS0011Data) Reset() { + *x = Insight_SYS0011Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0011Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0011Data) ProtoMessage() {} + +func (x *Insight_SYS0011Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0011Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0011Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 15} +} + +func (x *Insight_SYS0011Data) GetInMeshServices() int32 { + if x != nil { + return x.InMeshServices + } + return 0 +} + +func (x *Insight_SYS0011Data) GetOutOfMeshServices() int32 { + if x != nil { + return x.OutOfMeshServices + } + return 0 +} + +func (x *Insight_SYS0011Data) GetSidecarServices() int32 { + if x != nil { + return x.SidecarServices + } + return 0 +} + +func (x *Insight_SYS0011Data) GetAmbientServices() int32 { + if x != nil { + return x.AmbientServices + } + return 0 +} + +func (x *Insight_SYS0011Data) GetGatewayServices() int32 { + if x != nil { + return x.GatewayServices + } + return 0 +} + +func (x *Insight_SYS0011Data) GetTotalServices() int32 { + if x != nil { + return x.TotalServices + } + return 0 +} + +// zero trust - workloads receiving mesh encrypted traffic +type Insight_SYS0012Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MtlsEncryptedWorkloads int32 `protobuf:"varint,1,opt,name=mtls_encrypted_workloads,json=mtlsEncryptedWorkloads,proto3" json:"mtls_encrypted_workloads,omitempty"` + TotalWorkloads int32 `protobuf:"varint,2,opt,name=total_workloads,json=totalWorkloads,proto3" json:"total_workloads,omitempty"` +} + +func (x *Insight_SYS0012Data) Reset() { + *x = Insight_SYS0012Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0012Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0012Data) ProtoMessage() {} + +func (x *Insight_SYS0012Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0012Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0012Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 16} +} + +func (x *Insight_SYS0012Data) GetMtlsEncryptedWorkloads() int32 { + if x != nil { + return x.MtlsEncryptedWorkloads + } + return 0 +} + +func (x *Insight_SYS0012Data) GetTotalWorkloads() int32 { + if x != nil { + return x.TotalWorkloads + } + return 0 +} + +// zero trust - kubernetes external services accessed +type Insight_SYS0013Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Insight_SYS0013Data) Reset() { + *x = Insight_SYS0013Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0013Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0013Data) ProtoMessage() {} + +func (x *Insight_SYS0013Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0013Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0013Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 17} +} + +func (x *Insight_SYS0013Data) GetValue() int32 { + if x != nil { + return x.Value + } + return 0 +} + +// zero trust - access policy violations +type Insight_SYS0014Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Insight_SYS0014Data) Reset() { + *x = Insight_SYS0014Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0014Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0014Data) ProtoMessage() {} + +func (x *Insight_SYS0014Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0014Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0014Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 18} +} + +func (x *Insight_SYS0014Data) GetValue() int32 { + if x != nil { + return x.Value + } + return 0 +} + +// Adding so UI works for mock - might change later +type Insight_SYS0019Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CiliumVersion string `protobuf:"bytes,1,opt,name=cilium_version,json=ciliumVersion,proto3" json:"cilium_version,omitempty"` +} + +func (x *Insight_SYS0019Data) Reset() { + *x = Insight_SYS0019Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0019Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0019Data) ProtoMessage() {} + +func (x *Insight_SYS0019Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0019Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0019Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 19} +} + +func (x *Insight_SYS0019Data) GetCiliumVersion() string { + if x != nil { + return x.CiliumVersion + } + return "" +} + +// resource counts +type Insight_SYS0020Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IstioResources int32 `protobuf:"varint,1,opt,name=istio_resources,json=istioResources,proto3" json:"istio_resources,omitempty"` + CiliumResources int32 `protobuf:"varint,2,opt,name=cilium_resources,json=ciliumResources,proto3" json:"cilium_resources,omitempty"` + K8SResources int32 `protobuf:"varint,3,opt,name=k8s_resources,json=k8sResources,proto3" json:"k8s_resources,omitempty"` + GatewayResources int32 `protobuf:"varint,4,opt,name=gateway_resources,json=gatewayResources,proto3" json:"gateway_resources,omitempty"` + SoloResources int32 `protobuf:"varint,5,opt,name=solo_resources,json=soloResources,proto3" json:"solo_resources,omitempty"` +} + +func (x *Insight_SYS0020Data) Reset() { + *x = Insight_SYS0020Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0020Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0020Data) ProtoMessage() {} + +func (x *Insight_SYS0020Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0020Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0020Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 20} +} + +func (x *Insight_SYS0020Data) GetIstioResources() int32 { + if x != nil { + return x.IstioResources + } + return 0 +} + +func (x *Insight_SYS0020Data) GetCiliumResources() int32 { + if x != nil { + return x.CiliumResources + } + return 0 +} + +func (x *Insight_SYS0020Data) GetK8SResources() int32 { + if x != nil { + return x.K8SResources + } + return 0 +} + +func (x *Insight_SYS0020Data) GetGatewayResources() int32 { + if x != nil { + return x.GatewayResources + } + return 0 +} + +func (x *Insight_SYS0020Data) GetSoloResources() int32 { + if x != nil { + return x.SoloResources + } + return 0 +} + +// Cilium policy violation info +type Insight_SYS0022Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count uint32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + TimeWindow string `protobuf:"bytes,2,opt,name=time_window,json=timeWindow,proto3" json:"time_window,omitempty"` +} + +func (x *Insight_SYS0022Data) Reset() { + *x = Insight_SYS0022Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0022Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0022Data) ProtoMessage() {} + +func (x *Insight_SYS0022Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0022Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0022Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 21} +} + +func (x *Insight_SYS0022Data) GetCount() uint32 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *Insight_SYS0022Data) GetTimeWindow() string { + if x != nil { + return x.TimeWindow + } + return "" +} + +// Cilium node connectivity info +type Insight_SYS0023Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Unhealthy uint32 `protobuf:"varint,1,opt,name=unhealthy,proto3" json:"unhealthy,omitempty"` + Total uint32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` +} + +func (x *Insight_SYS0023Data) Reset() { + *x = Insight_SYS0023Data{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0023Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0023Data) ProtoMessage() {} + +func (x *Insight_SYS0023Data) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0023Data.ProtoReflect.Descriptor instead. +func (*Insight_SYS0023Data) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 22} +} + +func (x *Insight_SYS0023Data) GetUnhealthy() uint32 { + if x != nil { + return x.Unhealthy + } + return 0 +} + +func (x *Insight_SYS0023Data) GetTotal() uint32 { + if x != nil { + return x.Total + } + return 0 +} + +type Insight_SYS0007Data_Fingerprints struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Insight_SYS0007Data_Fingerprints) Reset() { + *x = Insight_SYS0007Data_Fingerprints{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0007Data_Fingerprints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0007Data_Fingerprints) ProtoMessage() {} + +func (x *Insight_SYS0007Data_Fingerprints) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0007Data_Fingerprints.ProtoReflect.Descriptor instead. +func (*Insight_SYS0007Data_Fingerprints) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 6, 0} +} + +func (x *Insight_SYS0007Data_Fingerprints) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Insight_SYS0007Data_Fingerprints) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type Insight_SYS0008Data_Fingerprints struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Insight_SYS0008Data_Fingerprints) Reset() { + *x = Insight_SYS0008Data_Fingerprints{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_SYS0008Data_Fingerprints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_SYS0008Data_Fingerprints) ProtoMessage() {} + +func (x *Insight_SYS0008Data_Fingerprints) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_SYS0008Data_Fingerprints.ProtoReflect.Descriptor instead. +func (*Insight_SYS0008Data_Fingerprints) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 7, 0} +} + +func (x *Insight_SYS0008Data_Fingerprints) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Insight_SYS0008Data_Fingerprints) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type Insight_CertificateInformation_Fingerprints struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Insight_CertificateInformation_Fingerprints) Reset() { + *x = Insight_CertificateInformation_Fingerprints{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Insight_CertificateInformation_Fingerprints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Insight_CertificateInformation_Fingerprints) ProtoMessage() {} + +func (x *Insight_CertificateInformation_Fingerprints) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Insight_CertificateInformation_Fingerprints.ProtoReflect.Descriptor instead. +func (*Insight_CertificateInformation_Fingerprints) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP(), []int{0, 12, 0} +} + +func (x *Insight_CertificateInformation_Fingerprints) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Insight_CertificateInformation_Fingerprints) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDesc = []byte{ + 0x0a, 0x62, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x32, 0x0a, 0x07, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x12, 0x4c, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x65, 0x76, + 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, + 0x3f, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, + 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x43, 0x6f, + 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, + 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x12, 0x2d, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x65, 0x78, 0x65, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, + 0x61, 0x73, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x78, 0x65, 0x63, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x3d, 0x0a, 0x0c, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x2e, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x20, 0x0a, 0x0a, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xc4, 0x01, 0x0a, 0x06, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, + 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x66, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, + 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, + 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x1a, 0xcd, 0x09, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x07, 0x53, 0x59, + 0x53, 0x30, 0x30, 0x30, 0x33, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, + 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x33, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x33, 0x12, 0x4f, 0x0a, 0x07, 0x53, + 0x59, 0x53, 0x30, 0x30, 0x30, 0x36, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, + 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x36, 0x44, 0x61, 0x74, + 0x61, 0x48, 0x00, 0x52, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x36, 0x12, 0x4f, 0x0a, 0x07, + 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x37, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, + 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, + 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x37, 0x44, 0x61, + 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x37, 0x12, 0x4f, 0x0a, + 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x38, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x38, 0x44, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x38, 0x12, 0x4f, + 0x0a, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x39, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x33, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x39, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x39, 0x12, + 0x4f, 0x0a, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, 0x30, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, + 0x30, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, 0x30, + 0x12, 0x4f, 0x0a, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, 0x31, 0x18, 0x18, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x59, 0x53, 0x30, 0x30, + 0x31, 0x31, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, + 0x31, 0x12, 0x4f, 0x0a, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, 0x34, 0x18, 0x1b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x59, 0x53, 0x30, + 0x30, 0x31, 0x34, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, + 0x31, 0x34, 0x12, 0x4f, 0x0a, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, 0x35, 0x18, 0x1c, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x59, 0x53, + 0x30, 0x30, 0x31, 0x35, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x53, 0x59, 0x53, 0x30, + 0x30, 0x31, 0x35, 0x12, 0x4f, 0x0a, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, 0x39, 0x18, 0x1d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x59, + 0x53, 0x30, 0x30, 0x31, 0x39, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x53, 0x59, 0x53, + 0x30, 0x30, 0x31, 0x39, 0x12, 0x4f, 0x0a, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x30, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, + 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, + 0x59, 0x53, 0x30, 0x30, 0x32, 0x30, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x53, 0x59, + 0x53, 0x30, 0x30, 0x32, 0x30, 0x12, 0x4f, 0x0a, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x35, + 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, + 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x35, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x53, + 0x59, 0x53, 0x30, 0x30, 0x32, 0x35, 0x12, 0x4f, 0x0a, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, + 0x31, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x2e, 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x31, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, + 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x31, 0x12, 0x4f, 0x0a, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, + 0x32, 0x32, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, + 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x2e, 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x32, 0x12, 0x4f, 0x0a, 0x07, 0x53, 0x59, 0x53, 0x30, + 0x30, 0x32, 0x33, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x73, 0x69, + 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, + 0x68, 0x74, 0x2e, 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x33, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, + 0x52, 0x07, 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x33, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x1a, 0x5e, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x33, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x4f, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x79, 0x70, + 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x66, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x66, 0x1a, 0x32, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x36, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xe7, 0x05, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, + 0x37, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x54, + 0x6f, 0x43, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x74, 0x6f, + 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x14, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x54, 0x6f, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x1b, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x54, 0x6f, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6e, 0x12, 0x38, + 0x0a, 0x18, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x16, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x4f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x1a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, + 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x12, + 0x64, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, + 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, + 0x59, 0x53, 0x30, 0x30, 0x30, 0x37, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6e, 0x67, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, + 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x18, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0x38, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, + 0xe7, 0x05, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x38, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x54, 0x6f, 0x43, 0x6e, 0x12, 0x34, 0x0a, + 0x16, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x64, 0x54, 0x6f, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x1b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x74, 0x6f, + 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, + 0x69, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, + 0x54, 0x6f, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, + 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, + 0x6d, 0x5f, 0x63, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6e, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, + 0x6d, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, + 0x6e, 0x69, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1a, 0x69, 0x73, 0x73, 0x75, 0x65, + 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, + 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x39, + 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x12, 0x64, 0x0a, 0x0c, 0x66, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x40, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x59, 0x53, 0x30, 0x30, 0x30, 0x38, + 0x44, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x73, 0x52, 0x0c, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, + 0x34, 0x0a, 0x16, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x14, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, + 0x38, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x76, 0x0a, 0x0b, 0x53, 0x59, 0x53, + 0x30, 0x30, 0x31, 0x35, 0x44, 0x61, 0x74, 0x61, 0x12, 0x67, 0x0a, 0x0c, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, + 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x52, 0x0c, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x73, 0x1a, 0x76, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x35, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x67, 0x0a, 0x0c, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x0c, 0x63, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x1a, 0x6e, 0x0a, 0x0b, 0x53, 0x59, 0x53, + 0x30, 0x30, 0x32, 0x31, 0x44, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0xbb, 0x01, 0x0a, 0x1b, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x3a, 0x0a, 0x03, 0x72, 0x65, 0x66, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6b, + 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, + 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x60, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6e, 0x73, + 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, + 0x67, 0x68, 0x74, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x1a, 0xfd, 0x05, 0x0a, 0x16, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, + 0x0a, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x54, 0x6f, 0x43, 0x6e, + 0x12, 0x34, 0x0a, 0x16, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x14, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x54, 0x6f, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x1b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, + 0x5f, 0x74, 0x6f, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x64, 0x54, 0x6f, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6e, 0x12, 0x38, 0x0a, 0x18, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1a, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x4f, + 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x4f, 0x6e, 0x12, 0x6f, 0x0a, 0x0c, + 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x52, + 0x0c, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x34, 0x0a, + 0x16, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x4b, 0x65, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0x38, 0x0a, + 0x0c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xb8, 0x01, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, + 0x30, 0x30, 0x39, 0x44, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x1e, 0x66, 0x69, 0x70, 0x73, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, + 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x1b, 0x66, 0x69, 0x70, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, 0x49, 0x73, + 0x74, 0x69, 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x77, 0x6f, 0x72, 0x6b, + 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, + 0x12, 0x30, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x66, 0x69, 0x70, 0x73, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x46, 0x69, 0x70, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x1a, 0xb8, 0x01, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, 0x30, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x43, 0x0a, 0x1e, 0x66, 0x69, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x66, 0x69, 0x70, 0x73, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x57, 0x6f, + 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x73, 0x74, + 0x69, 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x66, 0x69, 0x70, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x75, 0x6e, 0x69, 0x71, 0x75, + 0x65, 0x46, 0x69, 0x70, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x90, 0x02, + 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, 0x31, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, + 0x10, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x68, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x6f, 0x75, 0x74, 0x5f, 0x6f, + 0x66, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x4d, 0x65, 0x73, 0x68, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, 0x64, 0x65, + 0x63, 0x61, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x61, + 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x29, + 0x0a, 0x10, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x1a, 0x70, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x38, 0x0a, 0x18, 0x6d, 0x74, 0x6c, 0x73, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, + 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x16, 0x6d, 0x74, 0x6c, 0x73, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, + 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x73, 0x1a, 0x23, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, 0x33, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x23, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, + 0x31, 0x34, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x34, 0x0a, 0x0b, + 0x53, 0x59, 0x53, 0x30, 0x30, 0x31, 0x39, 0x44, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x63, + 0x69, 0x6c, 0x69, 0x75, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x69, 0x6c, 0x69, 0x75, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x1a, 0xda, 0x01, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x30, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x69, 0x73, 0x74, + 0x69, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, + 0x69, 0x6c, 0x69, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x69, 0x6c, 0x69, 0x75, 0x6d, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6b, 0x38, 0x73, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6b, + 0x38, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x67, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6f, 0x6c, 0x6f, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x73, 0x6f, 0x6c, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, + 0x44, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, + 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x77, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x1a, 0x41, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x30, 0x30, 0x32, 0x33, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x46, 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, + 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, + 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, + 0x42, 0x59, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes = make([]protoimpl.MessageInfo, 27) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_goTypes = []interface{}{ + (Insight_Severity)(0), // 0: insights.internal.gloo.solo.io.Insight.Severity + (*Insight)(nil), // 1: insights.internal.gloo.solo.io.Insight + (*Insight_Code)(nil), // 2: insights.internal.gloo.solo.io.Insight.Code + (*Insight_ClusterRef)(nil), // 3: insights.internal.gloo.solo.io.Insight.ClusterRef + (*Insight_Target)(nil), // 4: insights.internal.gloo.solo.io.Insight.Target + (*Insight_Data)(nil), // 5: insights.internal.gloo.solo.io.Insight.Data + (*Insight_SYS0003Data)(nil), // 6: insights.internal.gloo.solo.io.Insight.SYS0003Data + (*Insight_SYS0006Data)(nil), // 7: insights.internal.gloo.solo.io.Insight.SYS0006Data + (*Insight_SYS0007Data)(nil), // 8: insights.internal.gloo.solo.io.Insight.SYS0007Data + (*Insight_SYS0008Data)(nil), // 9: insights.internal.gloo.solo.io.Insight.SYS0008Data + (*Insight_SYS0015Data)(nil), // 10: insights.internal.gloo.solo.io.Insight.SYS0015Data + (*Insight_SYS0025Data)(nil), // 11: insights.internal.gloo.solo.io.Insight.SYS0025Data + (*Insight_SYS0021Data)(nil), // 12: insights.internal.gloo.solo.io.Insight.SYS0021Data + (*Insight_ReferencedCertificateSecret)(nil), // 13: insights.internal.gloo.solo.io.Insight.ReferencedCertificateSecret + (*Insight_CertificateInformation)(nil), // 14: insights.internal.gloo.solo.io.Insight.CertificateInformation + (*Insight_SYS0009Data)(nil), // 15: insights.internal.gloo.solo.io.Insight.SYS0009Data + (*Insight_SYS0010Data)(nil), // 16: insights.internal.gloo.solo.io.Insight.SYS0010Data + (*Insight_SYS0011Data)(nil), // 17: insights.internal.gloo.solo.io.Insight.SYS0011Data + (*Insight_SYS0012Data)(nil), // 18: insights.internal.gloo.solo.io.Insight.SYS0012Data + (*Insight_SYS0013Data)(nil), // 19: insights.internal.gloo.solo.io.Insight.SYS0013Data + (*Insight_SYS0014Data)(nil), // 20: insights.internal.gloo.solo.io.Insight.SYS0014Data + (*Insight_SYS0019Data)(nil), // 21: insights.internal.gloo.solo.io.Insight.SYS0019Data + (*Insight_SYS0020Data)(nil), // 22: insights.internal.gloo.solo.io.Insight.SYS0020Data + (*Insight_SYS0022Data)(nil), // 23: insights.internal.gloo.solo.io.Insight.SYS0022Data + (*Insight_SYS0023Data)(nil), // 24: insights.internal.gloo.solo.io.Insight.SYS0023Data + (*Insight_SYS0007Data_Fingerprints)(nil), // 25: insights.internal.gloo.solo.io.Insight.SYS0007Data.Fingerprints + (*Insight_SYS0008Data_Fingerprints)(nil), // 26: insights.internal.gloo.solo.io.Insight.SYS0008Data.Fingerprints + (*Insight_CertificateInformation_Fingerprints)(nil), // 27: insights.internal.gloo.solo.io.Insight.CertificateInformation.Fingerprints + (*timestamp.Timestamp)(nil), // 28: google.protobuf.Timestamp + (*v1.TypedClusterObjectRef)(nil), // 29: core.skv2.solo.io.TypedClusterObjectRef +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_depIdxs = []int32{ + 0, // 0: insights.internal.gloo.solo.io.Insight.severity:type_name -> insights.internal.gloo.solo.io.Insight.Severity + 28, // 1: insights.internal.gloo.solo.io.Insight.last_observed:type_name -> google.protobuf.Timestamp + 28, // 2: insights.internal.gloo.solo.io.Insight.created:type_name -> google.protobuf.Timestamp + 2, // 3: insights.internal.gloo.solo.io.Insight.code:type_name -> insights.internal.gloo.solo.io.Insight.Code + 4, // 4: insights.internal.gloo.solo.io.Insight.target:type_name -> insights.internal.gloo.solo.io.Insight.Target + 28, // 5: insights.internal.gloo.solo.io.Insight.expirey_time:type_name -> google.protobuf.Timestamp + 28, // 6: insights.internal.gloo.solo.io.Insight.last_processed_time:type_name -> google.protobuf.Timestamp + 5, // 7: insights.internal.gloo.solo.io.Insight.data:type_name -> insights.internal.gloo.solo.io.Insight.Data + 3, // 8: insights.internal.gloo.solo.io.Insight.Target.cluster:type_name -> insights.internal.gloo.solo.io.Insight.ClusterRef + 29, // 9: insights.internal.gloo.solo.io.Insight.Target.resource:type_name -> core.skv2.solo.io.TypedClusterObjectRef + 6, // 10: insights.internal.gloo.solo.io.Insight.Data.SYS0003:type_name -> insights.internal.gloo.solo.io.Insight.SYS0003Data + 7, // 11: insights.internal.gloo.solo.io.Insight.Data.SYS0006:type_name -> insights.internal.gloo.solo.io.Insight.SYS0006Data + 8, // 12: insights.internal.gloo.solo.io.Insight.Data.SYS0007:type_name -> insights.internal.gloo.solo.io.Insight.SYS0007Data + 9, // 13: insights.internal.gloo.solo.io.Insight.Data.SYS0008:type_name -> insights.internal.gloo.solo.io.Insight.SYS0008Data + 15, // 14: insights.internal.gloo.solo.io.Insight.Data.SYS0009:type_name -> insights.internal.gloo.solo.io.Insight.SYS0009Data + 16, // 15: insights.internal.gloo.solo.io.Insight.Data.SYS0010:type_name -> insights.internal.gloo.solo.io.Insight.SYS0010Data + 17, // 16: insights.internal.gloo.solo.io.Insight.Data.SYS0011:type_name -> insights.internal.gloo.solo.io.Insight.SYS0011Data + 20, // 17: insights.internal.gloo.solo.io.Insight.Data.SYS0014:type_name -> insights.internal.gloo.solo.io.Insight.SYS0014Data + 10, // 18: insights.internal.gloo.solo.io.Insight.Data.SYS0015:type_name -> insights.internal.gloo.solo.io.Insight.SYS0015Data + 21, // 19: insights.internal.gloo.solo.io.Insight.Data.SYS0019:type_name -> insights.internal.gloo.solo.io.Insight.SYS0019Data + 22, // 20: insights.internal.gloo.solo.io.Insight.Data.SYS0020:type_name -> insights.internal.gloo.solo.io.Insight.SYS0020Data + 11, // 21: insights.internal.gloo.solo.io.Insight.Data.SYS0025:type_name -> insights.internal.gloo.solo.io.Insight.SYS0025Data + 12, // 22: insights.internal.gloo.solo.io.Insight.Data.SYS0021:type_name -> insights.internal.gloo.solo.io.Insight.SYS0021Data + 23, // 23: insights.internal.gloo.solo.io.Insight.Data.SYS0022:type_name -> insights.internal.gloo.solo.io.Insight.SYS0022Data + 24, // 24: insights.internal.gloo.solo.io.Insight.Data.SYS0023:type_name -> insights.internal.gloo.solo.io.Insight.SYS0023Data + 29, // 25: insights.internal.gloo.solo.io.Insight.SYS0003Data.deployment_ref:type_name -> core.skv2.solo.io.TypedClusterObjectRef + 28, // 26: insights.internal.gloo.solo.io.Insight.SYS0007Data.issued_on:type_name -> google.protobuf.Timestamp + 28, // 27: insights.internal.gloo.solo.io.Insight.SYS0007Data.expires_on:type_name -> google.protobuf.Timestamp + 25, // 28: insights.internal.gloo.solo.io.Insight.SYS0007Data.fingerprints:type_name -> insights.internal.gloo.solo.io.Insight.SYS0007Data.Fingerprints + 28, // 29: insights.internal.gloo.solo.io.Insight.SYS0008Data.issued_on:type_name -> google.protobuf.Timestamp + 28, // 30: insights.internal.gloo.solo.io.Insight.SYS0008Data.expires_on:type_name -> google.protobuf.Timestamp + 26, // 31: insights.internal.gloo.solo.io.Insight.SYS0008Data.fingerprints:type_name -> insights.internal.gloo.solo.io.Insight.SYS0008Data.Fingerprints + 13, // 32: insights.internal.gloo.solo.io.Insight.SYS0015Data.certificates:type_name -> insights.internal.gloo.solo.io.Insight.ReferencedCertificateSecret + 13, // 33: insights.internal.gloo.solo.io.Insight.SYS0025Data.certificates:type_name -> insights.internal.gloo.solo.io.Insight.ReferencedCertificateSecret + 29, // 34: insights.internal.gloo.solo.io.Insight.ReferencedCertificateSecret.ref:type_name -> core.skv2.solo.io.TypedClusterObjectRef + 14, // 35: insights.internal.gloo.solo.io.Insight.ReferencedCertificateSecret.certificate:type_name -> insights.internal.gloo.solo.io.Insight.CertificateInformation + 28, // 36: insights.internal.gloo.solo.io.Insight.CertificateInformation.issued_on:type_name -> google.protobuf.Timestamp + 28, // 37: insights.internal.gloo.solo.io.Insight.CertificateInformation.expires_on:type_name -> google.protobuf.Timestamp + 27, // 38: insights.internal.gloo.solo.io.Insight.CertificateInformation.fingerprints:type_name -> insights.internal.gloo.solo.io.Insight.CertificateInformation.Fingerprints + 39, // [39:39] is the sub-list for method output_type + 39, // [39:39] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_Code); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_ClusterRef); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_Target); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0003Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0006Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0007Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0008Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0015Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0025Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0021Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_ReferencedCertificateSecret); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_CertificateInformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0009Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0010Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0011Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0012Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0013Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0014Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0019Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0020Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0022Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0023Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0007Data_Fingerprints); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_SYS0008Data_Fingerprints); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Insight_CertificateInformation_Fingerprints); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*Insight_Target_Cluster)(nil), + (*Insight_Target_Resource)(nil), + (*Insight_Target_Global)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*Insight_Data_SYS0003)(nil), + (*Insight_Data_SYS0006)(nil), + (*Insight_Data_SYS0007)(nil), + (*Insight_Data_SYS0008)(nil), + (*Insight_Data_SYS0009)(nil), + (*Insight_Data_SYS0010)(nil), + (*Insight_Data_SYS0011)(nil), + (*Insight_Data_SYS0014)(nil), + (*Insight_Data_SYS0015)(nil), + (*Insight_Data_SYS0019)(nil), + (*Insight_Data_SYS0020)(nil), + (*Insight_Data_SYS0025)(nil), + (*Insight_Data_SYS0021)(nil), + (*Insight_Data_SYS0022)(nil), + (*Insight_Data_SYS0023)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDesc, + NumEnums: 1, + NumMessages: 27, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_insights_v2alpha1_insights_proto_depIdxs = nil +} diff --git a/client-go/internal.gloo.solo.io/v2/certificate_request.pb.clone.go b/client-go/internal.gloo.solo.io/v2/certificate_request.pb.clone.go new file mode 100644 index 000000000..a70079d54 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/certificate_request.pb.clone.go @@ -0,0 +1,74 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/certificate_request.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *CertificateRequestSpec) Clone() proto.Message { + var target *CertificateRequestSpec + if m == nil { + return target + } + target = &CertificateRequestSpec{} + + if m.GetCertificateSigningRequest() != nil { + target.CertificateSigningRequest = make([]byte, len(m.GetCertificateSigningRequest())) + copy(target.CertificateSigningRequest, m.GetCertificateSigningRequest()) + } + + return target +} + +// Clone function +func (m *CertificateRequestStatus) Clone() proto.Message { + var target *CertificateRequestStatus + if m == nil { + return target + } + target = &CertificateRequestStatus{} + + target.ObservedGeneration = m.GetObservedGeneration() + + target.Error = m.GetError() + + target.State = m.GetState() + + if m.GetSignedCertificate() != nil { + target.SignedCertificate = make([]byte, len(m.GetSignedCertificate())) + copy(target.SignedCertificate, m.GetSignedCertificate()) + } + + if m.GetSigningRootCa() != nil { + target.SigningRootCa = make([]byte, len(m.GetSigningRootCa())) + copy(target.SigningRootCa, m.GetSigningRootCa()) + } + + if m.GetCertChain() != nil { + target.CertChain = make([]byte, len(m.GetCertChain())) + copy(target.CertChain, m.GetCertChain()) + } + + return target +} diff --git a/client-go/internal.gloo.solo.io/v2/certificate_request.pb.equal.go b/client-go/internal.gloo.solo.io/v2/certificate_request.pb.equal.go new file mode 100644 index 000000000..8b7aced45 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/certificate_request.pb.equal.go @@ -0,0 +1,102 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/certificate_request.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *CertificateRequestSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CertificateRequestSpec) + if !ok { + that2, ok := that.(CertificateRequestSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if bytes.Compare(m.GetCertificateSigningRequest(), target.GetCertificateSigningRequest()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *CertificateRequestStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CertificateRequestStatus) + if !ok { + that2, ok := that.(CertificateRequestStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetObservedGeneration() != target.GetObservedGeneration() { + return false + } + + if strings.Compare(m.GetError(), target.GetError()) != 0 { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + if bytes.Compare(m.GetSignedCertificate(), target.GetSignedCertificate()) != 0 { + return false + } + + if bytes.Compare(m.GetSigningRootCa(), target.GetSigningRootCa()) != 0 { + return false + } + + if bytes.Compare(m.GetCertChain(), target.GetCertChain()) != 0 { + return false + } + + return true +} diff --git a/client-go/internal.gloo.solo.io/v2/certificate_request.pb.go b/client-go/internal.gloo.solo.io/v2/certificate_request.pb.go new file mode 100644 index 000000000..a803deaa1 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/certificate_request.pb.go @@ -0,0 +1,365 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/certificate_request.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Possible states in which a CertificateRequest can exist. +type CertificateRequestStatus_State int32 + +const ( + // The CertificateRequest has yet to be picked up by the issuer. + CertificateRequestStatus_PENDING CertificateRequestStatus_State = 0 + // The issuer has replied to the request and the `signedCertificate` and `signingRootCa` + // status fields will be populated. + CertificateRequestStatus_FINISHED CertificateRequestStatus_State = 1 + // Processing the certificate workflow failed. + CertificateRequestStatus_FAILED CertificateRequestStatus_State = 2 +) + +// Enum value maps for CertificateRequestStatus_State. +var ( + CertificateRequestStatus_State_name = map[int32]string{ + 0: "PENDING", + 1: "FINISHED", + 2: "FAILED", + } + CertificateRequestStatus_State_value = map[string]int32{ + "PENDING": 0, + "FINISHED": 1, + "FAILED": 2, + } +) + +func (x CertificateRequestStatus_State) Enum() *CertificateRequestStatus_State { + p := new(CertificateRequestStatus_State) + *p = x + return p +} + +func (x CertificateRequestStatus_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CertificateRequestStatus_State) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_enumTypes[0].Descriptor() +} + +func (CertificateRequestStatus_State) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_enumTypes[0] +} + +func (x CertificateRequestStatus_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CertificateRequestStatus_State.Descriptor instead. +func (CertificateRequestStatus_State) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDescGZIP(), []int{1, 0} +} + +// CertificateRequests are generated by the Gloo Mesh agent installed on workload clusters. +// They are used to request a signed certificate from the certificate issuer (the Gloo Mesh server) based on a private key +// generated by the agent (which never leaves the workload cluster). +// +// When Gloo Mesh server creates an IssuedCertificate on a workload cluster, the local Gloo Mesh agent +// will generate a CertificateRequest corresponding to it. +// +// Gloo Mesh will then process the certificate signing request contained in the +// `CertificateRequestSpec` and write the signed SSL certificate back as a Kubernetes secret in the workload cluster, +// and update the `CertificateRequestStatus` to point to that secret. +// +// The certificate requested here is for Gloo Mesh agents on workload clusters to securely establish communication +// with Gloo Mesh server. This is not related to certificates for services running in the mesh. +type CertificateRequestSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Base64-encoded data for the PKCS#10 Certificate Signing Request issued + // by the Gloo Mesh agent deployed in the workload cluster, corresponding + // to the IssuedRequest received by the Gloo Mesh agent. + CertificateSigningRequest []byte `protobuf:"bytes,1,opt,name=certificate_signing_request,json=certificateSigningRequest,proto3" json:"certificate_signing_request,omitempty"` +} + +func (x *CertificateRequestSpec) Reset() { + *x = CertificateRequestSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CertificateRequestSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CertificateRequestSpec) ProtoMessage() {} + +func (x *CertificateRequestSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CertificateRequestSpec.ProtoReflect.Descriptor instead. +func (*CertificateRequestSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDescGZIP(), []int{0} +} + +func (x *CertificateRequestSpec) GetCertificateSigningRequest() []byte { + if x != nil { + return x.CertificateSigningRequest + } + return nil +} + +type CertificateRequestStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The most recent generation observed in the CertificateRequest metadata. + // If the `observedGeneration` does not match `metadata.generation`, the issuer has not processed the most + // recent version of this request. + ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` + // Any error observed which prevented the CertificateRequest from being processed. + // If the error is empty, the request has been processed successfully + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + // The current state of the CertificateRequest workflow reported by the issuer. + State CertificateRequestStatus_State `protobuf:"varint,3,opt,name=state,proto3,enum=internal.gloo.solo.io.CertificateRequestStatus_State" json:"state,omitempty"` + // The signed intermediate certificate issued by the CA. + SignedCertificate []byte `protobuf:"bytes,4,opt,name=signed_certificate,json=signedCertificate,proto3" json:"signed_certificate,omitempty"` + // The root CA used by the issuer to sign the certificate. + SigningRootCa []byte `protobuf:"bytes,5,opt,name=signing_root_ca,json=signingRootCa,proto3" json:"signing_root_ca,omitempty"` + // The cert chain of signing CA. + CertChain []byte `protobuf:"bytes,6,opt,name=cert_chain,json=certChain,proto3" json:"cert_chain,omitempty"` +} + +func (x *CertificateRequestStatus) Reset() { + *x = CertificateRequestStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CertificateRequestStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CertificateRequestStatus) ProtoMessage() {} + +func (x *CertificateRequestStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CertificateRequestStatus.ProtoReflect.Descriptor instead. +func (*CertificateRequestStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDescGZIP(), []int{1} +} + +func (x *CertificateRequestStatus) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +func (x *CertificateRequestStatus) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *CertificateRequestStatus) GetState() CertificateRequestStatus_State { + if x != nil { + return x.State + } + return CertificateRequestStatus_PENDING +} + +func (x *CertificateRequestStatus) GetSignedCertificate() []byte { + if x != nil { + return x.SignedCertificate + } + return nil +} + +func (x *CertificateRequestStatus) GetSigningRootCa() []byte { + if x != nil { + return x.SigningRootCa + } + return nil +} + +func (x *CertificateRequestStatus) GetCertChain() []byte { + if x != nil { + return x.CertChain + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDesc = []byte{ + 0x0a, 0x5e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x16, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3e, 0x0a, 0x1b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x19, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd4, 0x02, 0x0a, 0x18, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4b, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x63, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, + 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x61, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x22, 0x2e, 0x0a, 0x05, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x01, + 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x56, 0x5a, 0x48, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, + 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_goTypes = []interface{}{ + (CertificateRequestStatus_State)(0), // 0: internal.gloo.solo.io.CertificateRequestStatus.State + (*CertificateRequestSpec)(nil), // 1: internal.gloo.solo.io.CertificateRequestSpec + (*CertificateRequestStatus)(nil), // 2: internal.gloo.solo.io.CertificateRequestStatus +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_depIdxs = []int32{ + 0, // 0: internal.gloo.solo.io.CertificateRequestStatus.state:type_name -> internal.gloo.solo.io.CertificateRequestStatus.State + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CertificateRequestSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CertificateRequestStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_certificate_request_proto_depIdxs = nil +} diff --git a/client-go/internal.gloo.solo.io/v2/certificate_request.pb.hash.go b/client-go/internal.gloo.solo.io/v2/certificate_request.pb.hash.go new file mode 100644 index 000000000..32cdaac90 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/certificate_request.pb.hash.go @@ -0,0 +1,88 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/certificate_request.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *CertificateRequestSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.CertificateRequestSpec")); err != nil { + return 0, err + } + + if _, err = hasher.Write(m.GetCertificateSigningRequest()); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CertificateRequestStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.CertificateRequestStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetObservedGeneration()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetError())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write(m.GetSignedCertificate()); err != nil { + return 0, err + } + + if _, err = hasher.Write(m.GetSigningRootCa()); err != nil { + return 0, err + } + + if _, err = hasher.Write(m.GetCertChain()); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/internal.gloo.solo.io/v2/clients.go b/client-go/internal.gloo.solo.io/v2/clients.go new file mode 100644 index 000000000..b462eb627 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/clients.go @@ -0,0 +1,1256 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the internal.gloo.solo.io/v2 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the internal.gloo.solo.io/v2 APIs +type Clientset interface { + // clienset for the internal.gloo.solo.io/v2/v2 APIs + IssuedCertificates() IssuedCertificateClient + // clienset for the internal.gloo.solo.io/v2/v2 APIs + CertificateRequests() CertificateRequestClient + // clienset for the internal.gloo.solo.io/v2/v2 APIs + PodBounceDirectives() PodBounceDirectiveClient + // clienset for the internal.gloo.solo.io/v2/v2 APIs + XdsConfigs() XdsConfigClient + // clienset for the internal.gloo.solo.io/v2/v2 APIs + DiscoveredGateways() DiscoveredGatewayClient + // clienset for the internal.gloo.solo.io/v2/v2 APIs + Meshes() MeshClient + // clienset for the internal.gloo.solo.io/v2/v2 APIs + DiscoveredCNIS() DiscoveredCNIClient + // clienset for the internal.gloo.solo.io/v2/v2 APIs + PortalConfigs() PortalConfigClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the internal.gloo.solo.io/v2/v2 APIs +func (c *clientSet) IssuedCertificates() IssuedCertificateClient { + return NewIssuedCertificateClient(c.client) +} + +// clienset for the internal.gloo.solo.io/v2/v2 APIs +func (c *clientSet) CertificateRequests() CertificateRequestClient { + return NewCertificateRequestClient(c.client) +} + +// clienset for the internal.gloo.solo.io/v2/v2 APIs +func (c *clientSet) PodBounceDirectives() PodBounceDirectiveClient { + return NewPodBounceDirectiveClient(c.client) +} + +// clienset for the internal.gloo.solo.io/v2/v2 APIs +func (c *clientSet) XdsConfigs() XdsConfigClient { + return NewXdsConfigClient(c.client) +} + +// clienset for the internal.gloo.solo.io/v2/v2 APIs +func (c *clientSet) DiscoveredGateways() DiscoveredGatewayClient { + return NewDiscoveredGatewayClient(c.client) +} + +// clienset for the internal.gloo.solo.io/v2/v2 APIs +func (c *clientSet) Meshes() MeshClient { + return NewMeshClient(c.client) +} + +// clienset for the internal.gloo.solo.io/v2/v2 APIs +func (c *clientSet) DiscoveredCNIS() DiscoveredCNIClient { + return NewDiscoveredCNIClient(c.client) +} + +// clienset for the internal.gloo.solo.io/v2/v2 APIs +func (c *clientSet) PortalConfigs() PortalConfigClient { + return NewPortalConfigClient(c.client) +} + +// Reader knows how to read and list IssuedCertificates. +type IssuedCertificateReader interface { + // Get retrieves a IssuedCertificate for the given object key + GetIssuedCertificate(ctx context.Context, key client.ObjectKey) (*IssuedCertificate, error) + + // List retrieves list of IssuedCertificates for a given namespace and list options. + ListIssuedCertificate(ctx context.Context, opts ...client.ListOption) (*IssuedCertificateList, error) +} + +// IssuedCertificateTransitionFunction instructs the IssuedCertificateWriter how to transition between an existing +// IssuedCertificate object and a desired on an Upsert +type IssuedCertificateTransitionFunction func(existing, desired *IssuedCertificate) error + +// Writer knows how to create, delete, and update IssuedCertificates. +type IssuedCertificateWriter interface { + // Create saves the IssuedCertificate object. + CreateIssuedCertificate(ctx context.Context, obj *IssuedCertificate, opts ...client.CreateOption) error + + // Delete deletes the IssuedCertificate object. + DeleteIssuedCertificate(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given IssuedCertificate object. + UpdateIssuedCertificate(ctx context.Context, obj *IssuedCertificate, opts ...client.UpdateOption) error + + // Patch patches the given IssuedCertificate object. + PatchIssuedCertificate(ctx context.Context, obj *IssuedCertificate, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all IssuedCertificate objects matching the given options. + DeleteAllOfIssuedCertificate(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the IssuedCertificate object. + UpsertIssuedCertificate(ctx context.Context, obj *IssuedCertificate, transitionFuncs ...IssuedCertificateTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a IssuedCertificate object. +type IssuedCertificateStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given IssuedCertificate object. + UpdateIssuedCertificateStatus(ctx context.Context, obj *IssuedCertificate, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given IssuedCertificate object's subresource. + PatchIssuedCertificateStatus(ctx context.Context, obj *IssuedCertificate, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on IssuedCertificates. +type IssuedCertificateClient interface { + IssuedCertificateReader + IssuedCertificateWriter + IssuedCertificateStatusWriter +} + +type issuedCertificateClient struct { + client client.Client +} + +func NewIssuedCertificateClient(client client.Client) *issuedCertificateClient { + return &issuedCertificateClient{client: client} +} + +func (c *issuedCertificateClient) GetIssuedCertificate(ctx context.Context, key client.ObjectKey) (*IssuedCertificate, error) { + obj := &IssuedCertificate{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *issuedCertificateClient) ListIssuedCertificate(ctx context.Context, opts ...client.ListOption) (*IssuedCertificateList, error) { + list := &IssuedCertificateList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *issuedCertificateClient) CreateIssuedCertificate(ctx context.Context, obj *IssuedCertificate, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *issuedCertificateClient) DeleteIssuedCertificate(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &IssuedCertificate{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *issuedCertificateClient) UpdateIssuedCertificate(ctx context.Context, obj *IssuedCertificate, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *issuedCertificateClient) PatchIssuedCertificate(ctx context.Context, obj *IssuedCertificate, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *issuedCertificateClient) DeleteAllOfIssuedCertificate(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &IssuedCertificate{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *issuedCertificateClient) UpsertIssuedCertificate(ctx context.Context, obj *IssuedCertificate, transitionFuncs ...IssuedCertificateTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*IssuedCertificate), desired.(*IssuedCertificate)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *issuedCertificateClient) UpdateIssuedCertificateStatus(ctx context.Context, obj *IssuedCertificate, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *issuedCertificateClient) PatchIssuedCertificateStatus(ctx context.Context, obj *IssuedCertificate, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides IssuedCertificateClients for multiple clusters. +type MulticlusterIssuedCertificateClient interface { + // Cluster returns a IssuedCertificateClient for the given cluster + Cluster(cluster string) (IssuedCertificateClient, error) +} + +type multiclusterIssuedCertificateClient struct { + client multicluster.Client +} + +func NewMulticlusterIssuedCertificateClient(client multicluster.Client) MulticlusterIssuedCertificateClient { + return &multiclusterIssuedCertificateClient{client: client} +} + +func (m *multiclusterIssuedCertificateClient) Cluster(cluster string) (IssuedCertificateClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewIssuedCertificateClient(client), nil +} + +// Reader knows how to read and list CertificateRequests. +type CertificateRequestReader interface { + // Get retrieves a CertificateRequest for the given object key + GetCertificateRequest(ctx context.Context, key client.ObjectKey) (*CertificateRequest, error) + + // List retrieves list of CertificateRequests for a given namespace and list options. + ListCertificateRequest(ctx context.Context, opts ...client.ListOption) (*CertificateRequestList, error) +} + +// CertificateRequestTransitionFunction instructs the CertificateRequestWriter how to transition between an existing +// CertificateRequest object and a desired on an Upsert +type CertificateRequestTransitionFunction func(existing, desired *CertificateRequest) error + +// Writer knows how to create, delete, and update CertificateRequests. +type CertificateRequestWriter interface { + // Create saves the CertificateRequest object. + CreateCertificateRequest(ctx context.Context, obj *CertificateRequest, opts ...client.CreateOption) error + + // Delete deletes the CertificateRequest object. + DeleteCertificateRequest(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given CertificateRequest object. + UpdateCertificateRequest(ctx context.Context, obj *CertificateRequest, opts ...client.UpdateOption) error + + // Patch patches the given CertificateRequest object. + PatchCertificateRequest(ctx context.Context, obj *CertificateRequest, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all CertificateRequest objects matching the given options. + DeleteAllOfCertificateRequest(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the CertificateRequest object. + UpsertCertificateRequest(ctx context.Context, obj *CertificateRequest, transitionFuncs ...CertificateRequestTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a CertificateRequest object. +type CertificateRequestStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given CertificateRequest object. + UpdateCertificateRequestStatus(ctx context.Context, obj *CertificateRequest, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given CertificateRequest object's subresource. + PatchCertificateRequestStatus(ctx context.Context, obj *CertificateRequest, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on CertificateRequests. +type CertificateRequestClient interface { + CertificateRequestReader + CertificateRequestWriter + CertificateRequestStatusWriter +} + +type certificateRequestClient struct { + client client.Client +} + +func NewCertificateRequestClient(client client.Client) *certificateRequestClient { + return &certificateRequestClient{client: client} +} + +func (c *certificateRequestClient) GetCertificateRequest(ctx context.Context, key client.ObjectKey) (*CertificateRequest, error) { + obj := &CertificateRequest{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *certificateRequestClient) ListCertificateRequest(ctx context.Context, opts ...client.ListOption) (*CertificateRequestList, error) { + list := &CertificateRequestList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *certificateRequestClient) CreateCertificateRequest(ctx context.Context, obj *CertificateRequest, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *certificateRequestClient) DeleteCertificateRequest(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &CertificateRequest{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *certificateRequestClient) UpdateCertificateRequest(ctx context.Context, obj *CertificateRequest, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *certificateRequestClient) PatchCertificateRequest(ctx context.Context, obj *CertificateRequest, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *certificateRequestClient) DeleteAllOfCertificateRequest(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &CertificateRequest{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *certificateRequestClient) UpsertCertificateRequest(ctx context.Context, obj *CertificateRequest, transitionFuncs ...CertificateRequestTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*CertificateRequest), desired.(*CertificateRequest)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *certificateRequestClient) UpdateCertificateRequestStatus(ctx context.Context, obj *CertificateRequest, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *certificateRequestClient) PatchCertificateRequestStatus(ctx context.Context, obj *CertificateRequest, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides CertificateRequestClients for multiple clusters. +type MulticlusterCertificateRequestClient interface { + // Cluster returns a CertificateRequestClient for the given cluster + Cluster(cluster string) (CertificateRequestClient, error) +} + +type multiclusterCertificateRequestClient struct { + client multicluster.Client +} + +func NewMulticlusterCertificateRequestClient(client multicluster.Client) MulticlusterCertificateRequestClient { + return &multiclusterCertificateRequestClient{client: client} +} + +func (m *multiclusterCertificateRequestClient) Cluster(cluster string) (CertificateRequestClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewCertificateRequestClient(client), nil +} + +// Reader knows how to read and list PodBounceDirectives. +type PodBounceDirectiveReader interface { + // Get retrieves a PodBounceDirective for the given object key + GetPodBounceDirective(ctx context.Context, key client.ObjectKey) (*PodBounceDirective, error) + + // List retrieves list of PodBounceDirectives for a given namespace and list options. + ListPodBounceDirective(ctx context.Context, opts ...client.ListOption) (*PodBounceDirectiveList, error) +} + +// PodBounceDirectiveTransitionFunction instructs the PodBounceDirectiveWriter how to transition between an existing +// PodBounceDirective object and a desired on an Upsert +type PodBounceDirectiveTransitionFunction func(existing, desired *PodBounceDirective) error + +// Writer knows how to create, delete, and update PodBounceDirectives. +type PodBounceDirectiveWriter interface { + // Create saves the PodBounceDirective object. + CreatePodBounceDirective(ctx context.Context, obj *PodBounceDirective, opts ...client.CreateOption) error + + // Delete deletes the PodBounceDirective object. + DeletePodBounceDirective(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given PodBounceDirective object. + UpdatePodBounceDirective(ctx context.Context, obj *PodBounceDirective, opts ...client.UpdateOption) error + + // Patch patches the given PodBounceDirective object. + PatchPodBounceDirective(ctx context.Context, obj *PodBounceDirective, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all PodBounceDirective objects matching the given options. + DeleteAllOfPodBounceDirective(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the PodBounceDirective object. + UpsertPodBounceDirective(ctx context.Context, obj *PodBounceDirective, transitionFuncs ...PodBounceDirectiveTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a PodBounceDirective object. +type PodBounceDirectiveStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given PodBounceDirective object. + UpdatePodBounceDirectiveStatus(ctx context.Context, obj *PodBounceDirective, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given PodBounceDirective object's subresource. + PatchPodBounceDirectiveStatus(ctx context.Context, obj *PodBounceDirective, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on PodBounceDirectives. +type PodBounceDirectiveClient interface { + PodBounceDirectiveReader + PodBounceDirectiveWriter + PodBounceDirectiveStatusWriter +} + +type podBounceDirectiveClient struct { + client client.Client +} + +func NewPodBounceDirectiveClient(client client.Client) *podBounceDirectiveClient { + return &podBounceDirectiveClient{client: client} +} + +func (c *podBounceDirectiveClient) GetPodBounceDirective(ctx context.Context, key client.ObjectKey) (*PodBounceDirective, error) { + obj := &PodBounceDirective{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *podBounceDirectiveClient) ListPodBounceDirective(ctx context.Context, opts ...client.ListOption) (*PodBounceDirectiveList, error) { + list := &PodBounceDirectiveList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *podBounceDirectiveClient) CreatePodBounceDirective(ctx context.Context, obj *PodBounceDirective, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *podBounceDirectiveClient) DeletePodBounceDirective(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &PodBounceDirective{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *podBounceDirectiveClient) UpdatePodBounceDirective(ctx context.Context, obj *PodBounceDirective, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *podBounceDirectiveClient) PatchPodBounceDirective(ctx context.Context, obj *PodBounceDirective, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *podBounceDirectiveClient) DeleteAllOfPodBounceDirective(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &PodBounceDirective{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *podBounceDirectiveClient) UpsertPodBounceDirective(ctx context.Context, obj *PodBounceDirective, transitionFuncs ...PodBounceDirectiveTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*PodBounceDirective), desired.(*PodBounceDirective)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *podBounceDirectiveClient) UpdatePodBounceDirectiveStatus(ctx context.Context, obj *PodBounceDirective, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *podBounceDirectiveClient) PatchPodBounceDirectiveStatus(ctx context.Context, obj *PodBounceDirective, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides PodBounceDirectiveClients for multiple clusters. +type MulticlusterPodBounceDirectiveClient interface { + // Cluster returns a PodBounceDirectiveClient for the given cluster + Cluster(cluster string) (PodBounceDirectiveClient, error) +} + +type multiclusterPodBounceDirectiveClient struct { + client multicluster.Client +} + +func NewMulticlusterPodBounceDirectiveClient(client multicluster.Client) MulticlusterPodBounceDirectiveClient { + return &multiclusterPodBounceDirectiveClient{client: client} +} + +func (m *multiclusterPodBounceDirectiveClient) Cluster(cluster string) (PodBounceDirectiveClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewPodBounceDirectiveClient(client), nil +} + +// Reader knows how to read and list XdsConfigs. +type XdsConfigReader interface { + // Get retrieves a XdsConfig for the given object key + GetXdsConfig(ctx context.Context, key client.ObjectKey) (*XdsConfig, error) + + // List retrieves list of XdsConfigs for a given namespace and list options. + ListXdsConfig(ctx context.Context, opts ...client.ListOption) (*XdsConfigList, error) +} + +// XdsConfigTransitionFunction instructs the XdsConfigWriter how to transition between an existing +// XdsConfig object and a desired on an Upsert +type XdsConfigTransitionFunction func(existing, desired *XdsConfig) error + +// Writer knows how to create, delete, and update XdsConfigs. +type XdsConfigWriter interface { + // Create saves the XdsConfig object. + CreateXdsConfig(ctx context.Context, obj *XdsConfig, opts ...client.CreateOption) error + + // Delete deletes the XdsConfig object. + DeleteXdsConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given XdsConfig object. + UpdateXdsConfig(ctx context.Context, obj *XdsConfig, opts ...client.UpdateOption) error + + // Patch patches the given XdsConfig object. + PatchXdsConfig(ctx context.Context, obj *XdsConfig, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all XdsConfig objects matching the given options. + DeleteAllOfXdsConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the XdsConfig object. + UpsertXdsConfig(ctx context.Context, obj *XdsConfig, transitionFuncs ...XdsConfigTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a XdsConfig object. +type XdsConfigStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given XdsConfig object. + UpdateXdsConfigStatus(ctx context.Context, obj *XdsConfig, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given XdsConfig object's subresource. + PatchXdsConfigStatus(ctx context.Context, obj *XdsConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on XdsConfigs. +type XdsConfigClient interface { + XdsConfigReader + XdsConfigWriter + XdsConfigStatusWriter +} + +type xdsConfigClient struct { + client client.Client +} + +func NewXdsConfigClient(client client.Client) *xdsConfigClient { + return &xdsConfigClient{client: client} +} + +func (c *xdsConfigClient) GetXdsConfig(ctx context.Context, key client.ObjectKey) (*XdsConfig, error) { + obj := &XdsConfig{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *xdsConfigClient) ListXdsConfig(ctx context.Context, opts ...client.ListOption) (*XdsConfigList, error) { + list := &XdsConfigList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *xdsConfigClient) CreateXdsConfig(ctx context.Context, obj *XdsConfig, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *xdsConfigClient) DeleteXdsConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &XdsConfig{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *xdsConfigClient) UpdateXdsConfig(ctx context.Context, obj *XdsConfig, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *xdsConfigClient) PatchXdsConfig(ctx context.Context, obj *XdsConfig, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *xdsConfigClient) DeleteAllOfXdsConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &XdsConfig{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *xdsConfigClient) UpsertXdsConfig(ctx context.Context, obj *XdsConfig, transitionFuncs ...XdsConfigTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*XdsConfig), desired.(*XdsConfig)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *xdsConfigClient) UpdateXdsConfigStatus(ctx context.Context, obj *XdsConfig, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *xdsConfigClient) PatchXdsConfigStatus(ctx context.Context, obj *XdsConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides XdsConfigClients for multiple clusters. +type MulticlusterXdsConfigClient interface { + // Cluster returns a XdsConfigClient for the given cluster + Cluster(cluster string) (XdsConfigClient, error) +} + +type multiclusterXdsConfigClient struct { + client multicluster.Client +} + +func NewMulticlusterXdsConfigClient(client multicluster.Client) MulticlusterXdsConfigClient { + return &multiclusterXdsConfigClient{client: client} +} + +func (m *multiclusterXdsConfigClient) Cluster(cluster string) (XdsConfigClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewXdsConfigClient(client), nil +} + +// Reader knows how to read and list DiscoveredGateways. +type DiscoveredGatewayReader interface { + // Get retrieves a DiscoveredGateway for the given object key + GetDiscoveredGateway(ctx context.Context, key client.ObjectKey) (*DiscoveredGateway, error) + + // List retrieves list of DiscoveredGateways for a given namespace and list options. + ListDiscoveredGateway(ctx context.Context, opts ...client.ListOption) (*DiscoveredGatewayList, error) +} + +// DiscoveredGatewayTransitionFunction instructs the DiscoveredGatewayWriter how to transition between an existing +// DiscoveredGateway object and a desired on an Upsert +type DiscoveredGatewayTransitionFunction func(existing, desired *DiscoveredGateway) error + +// Writer knows how to create, delete, and update DiscoveredGateways. +type DiscoveredGatewayWriter interface { + // Create saves the DiscoveredGateway object. + CreateDiscoveredGateway(ctx context.Context, obj *DiscoveredGateway, opts ...client.CreateOption) error + + // Delete deletes the DiscoveredGateway object. + DeleteDiscoveredGateway(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given DiscoveredGateway object. + UpdateDiscoveredGateway(ctx context.Context, obj *DiscoveredGateway, opts ...client.UpdateOption) error + + // Patch patches the given DiscoveredGateway object. + PatchDiscoveredGateway(ctx context.Context, obj *DiscoveredGateway, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all DiscoveredGateway objects matching the given options. + DeleteAllOfDiscoveredGateway(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the DiscoveredGateway object. + UpsertDiscoveredGateway(ctx context.Context, obj *DiscoveredGateway, transitionFuncs ...DiscoveredGatewayTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a DiscoveredGateway object. +type DiscoveredGatewayStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given DiscoveredGateway object. + UpdateDiscoveredGatewayStatus(ctx context.Context, obj *DiscoveredGateway, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given DiscoveredGateway object's subresource. + PatchDiscoveredGatewayStatus(ctx context.Context, obj *DiscoveredGateway, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on DiscoveredGateways. +type DiscoveredGatewayClient interface { + DiscoveredGatewayReader + DiscoveredGatewayWriter + DiscoveredGatewayStatusWriter +} + +type discoveredGatewayClient struct { + client client.Client +} + +func NewDiscoveredGatewayClient(client client.Client) *discoveredGatewayClient { + return &discoveredGatewayClient{client: client} +} + +func (c *discoveredGatewayClient) GetDiscoveredGateway(ctx context.Context, key client.ObjectKey) (*DiscoveredGateway, error) { + obj := &DiscoveredGateway{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *discoveredGatewayClient) ListDiscoveredGateway(ctx context.Context, opts ...client.ListOption) (*DiscoveredGatewayList, error) { + list := &DiscoveredGatewayList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *discoveredGatewayClient) CreateDiscoveredGateway(ctx context.Context, obj *DiscoveredGateway, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *discoveredGatewayClient) DeleteDiscoveredGateway(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &DiscoveredGateway{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *discoveredGatewayClient) UpdateDiscoveredGateway(ctx context.Context, obj *DiscoveredGateway, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *discoveredGatewayClient) PatchDiscoveredGateway(ctx context.Context, obj *DiscoveredGateway, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *discoveredGatewayClient) DeleteAllOfDiscoveredGateway(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &DiscoveredGateway{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *discoveredGatewayClient) UpsertDiscoveredGateway(ctx context.Context, obj *DiscoveredGateway, transitionFuncs ...DiscoveredGatewayTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*DiscoveredGateway), desired.(*DiscoveredGateway)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *discoveredGatewayClient) UpdateDiscoveredGatewayStatus(ctx context.Context, obj *DiscoveredGateway, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *discoveredGatewayClient) PatchDiscoveredGatewayStatus(ctx context.Context, obj *DiscoveredGateway, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides DiscoveredGatewayClients for multiple clusters. +type MulticlusterDiscoveredGatewayClient interface { + // Cluster returns a DiscoveredGatewayClient for the given cluster + Cluster(cluster string) (DiscoveredGatewayClient, error) +} + +type multiclusterDiscoveredGatewayClient struct { + client multicluster.Client +} + +func NewMulticlusterDiscoveredGatewayClient(client multicluster.Client) MulticlusterDiscoveredGatewayClient { + return &multiclusterDiscoveredGatewayClient{client: client} +} + +func (m *multiclusterDiscoveredGatewayClient) Cluster(cluster string) (DiscoveredGatewayClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewDiscoveredGatewayClient(client), nil +} + +// Reader knows how to read and list Meshs. +type MeshReader interface { + // Get retrieves a Mesh for the given object key + GetMesh(ctx context.Context, key client.ObjectKey) (*Mesh, error) + + // List retrieves list of Meshs for a given namespace and list options. + ListMesh(ctx context.Context, opts ...client.ListOption) (*MeshList, error) +} + +// MeshTransitionFunction instructs the MeshWriter how to transition between an existing +// Mesh object and a desired on an Upsert +type MeshTransitionFunction func(existing, desired *Mesh) error + +// Writer knows how to create, delete, and update Meshs. +type MeshWriter interface { + // Create saves the Mesh object. + CreateMesh(ctx context.Context, obj *Mesh, opts ...client.CreateOption) error + + // Delete deletes the Mesh object. + DeleteMesh(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given Mesh object. + UpdateMesh(ctx context.Context, obj *Mesh, opts ...client.UpdateOption) error + + // Patch patches the given Mesh object. + PatchMesh(ctx context.Context, obj *Mesh, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all Mesh objects matching the given options. + DeleteAllOfMesh(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the Mesh object. + UpsertMesh(ctx context.Context, obj *Mesh, transitionFuncs ...MeshTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a Mesh object. +type MeshStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given Mesh object. + UpdateMeshStatus(ctx context.Context, obj *Mesh, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given Mesh object's subresource. + PatchMeshStatus(ctx context.Context, obj *Mesh, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on Meshs. +type MeshClient interface { + MeshReader + MeshWriter + MeshStatusWriter +} + +type meshClient struct { + client client.Client +} + +func NewMeshClient(client client.Client) *meshClient { + return &meshClient{client: client} +} + +func (c *meshClient) GetMesh(ctx context.Context, key client.ObjectKey) (*Mesh, error) { + obj := &Mesh{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *meshClient) ListMesh(ctx context.Context, opts ...client.ListOption) (*MeshList, error) { + list := &MeshList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *meshClient) CreateMesh(ctx context.Context, obj *Mesh, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *meshClient) DeleteMesh(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &Mesh{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *meshClient) UpdateMesh(ctx context.Context, obj *Mesh, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *meshClient) PatchMesh(ctx context.Context, obj *Mesh, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *meshClient) DeleteAllOfMesh(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &Mesh{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *meshClient) UpsertMesh(ctx context.Context, obj *Mesh, transitionFuncs ...MeshTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*Mesh), desired.(*Mesh)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *meshClient) UpdateMeshStatus(ctx context.Context, obj *Mesh, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *meshClient) PatchMeshStatus(ctx context.Context, obj *Mesh, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides MeshClients for multiple clusters. +type MulticlusterMeshClient interface { + // Cluster returns a MeshClient for the given cluster + Cluster(cluster string) (MeshClient, error) +} + +type multiclusterMeshClient struct { + client multicluster.Client +} + +func NewMulticlusterMeshClient(client multicluster.Client) MulticlusterMeshClient { + return &multiclusterMeshClient{client: client} +} + +func (m *multiclusterMeshClient) Cluster(cluster string) (MeshClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewMeshClient(client), nil +} + +// Reader knows how to read and list DiscoveredCNIs. +type DiscoveredCNIReader interface { + // Get retrieves a DiscoveredCNI for the given object key + GetDiscoveredCNI(ctx context.Context, key client.ObjectKey) (*DiscoveredCNI, error) + + // List retrieves list of DiscoveredCNIs for a given namespace and list options. + ListDiscoveredCNI(ctx context.Context, opts ...client.ListOption) (*DiscoveredCNIList, error) +} + +// DiscoveredCNITransitionFunction instructs the DiscoveredCNIWriter how to transition between an existing +// DiscoveredCNI object and a desired on an Upsert +type DiscoveredCNITransitionFunction func(existing, desired *DiscoveredCNI) error + +// Writer knows how to create, delete, and update DiscoveredCNIs. +type DiscoveredCNIWriter interface { + // Create saves the DiscoveredCNI object. + CreateDiscoveredCNI(ctx context.Context, obj *DiscoveredCNI, opts ...client.CreateOption) error + + // Delete deletes the DiscoveredCNI object. + DeleteDiscoveredCNI(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given DiscoveredCNI object. + UpdateDiscoveredCNI(ctx context.Context, obj *DiscoveredCNI, opts ...client.UpdateOption) error + + // Patch patches the given DiscoveredCNI object. + PatchDiscoveredCNI(ctx context.Context, obj *DiscoveredCNI, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all DiscoveredCNI objects matching the given options. + DeleteAllOfDiscoveredCNI(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the DiscoveredCNI object. + UpsertDiscoveredCNI(ctx context.Context, obj *DiscoveredCNI, transitionFuncs ...DiscoveredCNITransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a DiscoveredCNI object. +type DiscoveredCNIStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given DiscoveredCNI object. + UpdateDiscoveredCNIStatus(ctx context.Context, obj *DiscoveredCNI, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given DiscoveredCNI object's subresource. + PatchDiscoveredCNIStatus(ctx context.Context, obj *DiscoveredCNI, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on DiscoveredCNIs. +type DiscoveredCNIClient interface { + DiscoveredCNIReader + DiscoveredCNIWriter + DiscoveredCNIStatusWriter +} + +type discoveredCNIClient struct { + client client.Client +} + +func NewDiscoveredCNIClient(client client.Client) *discoveredCNIClient { + return &discoveredCNIClient{client: client} +} + +func (c *discoveredCNIClient) GetDiscoveredCNI(ctx context.Context, key client.ObjectKey) (*DiscoveredCNI, error) { + obj := &DiscoveredCNI{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *discoveredCNIClient) ListDiscoveredCNI(ctx context.Context, opts ...client.ListOption) (*DiscoveredCNIList, error) { + list := &DiscoveredCNIList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *discoveredCNIClient) CreateDiscoveredCNI(ctx context.Context, obj *DiscoveredCNI, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *discoveredCNIClient) DeleteDiscoveredCNI(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &DiscoveredCNI{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *discoveredCNIClient) UpdateDiscoveredCNI(ctx context.Context, obj *DiscoveredCNI, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *discoveredCNIClient) PatchDiscoveredCNI(ctx context.Context, obj *DiscoveredCNI, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *discoveredCNIClient) DeleteAllOfDiscoveredCNI(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &DiscoveredCNI{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *discoveredCNIClient) UpsertDiscoveredCNI(ctx context.Context, obj *DiscoveredCNI, transitionFuncs ...DiscoveredCNITransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*DiscoveredCNI), desired.(*DiscoveredCNI)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *discoveredCNIClient) UpdateDiscoveredCNIStatus(ctx context.Context, obj *DiscoveredCNI, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *discoveredCNIClient) PatchDiscoveredCNIStatus(ctx context.Context, obj *DiscoveredCNI, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides DiscoveredCNIClients for multiple clusters. +type MulticlusterDiscoveredCNIClient interface { + // Cluster returns a DiscoveredCNIClient for the given cluster + Cluster(cluster string) (DiscoveredCNIClient, error) +} + +type multiclusterDiscoveredCNIClient struct { + client multicluster.Client +} + +func NewMulticlusterDiscoveredCNIClient(client multicluster.Client) MulticlusterDiscoveredCNIClient { + return &multiclusterDiscoveredCNIClient{client: client} +} + +func (m *multiclusterDiscoveredCNIClient) Cluster(cluster string) (DiscoveredCNIClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewDiscoveredCNIClient(client), nil +} + +// Reader knows how to read and list PortalConfigs. +type PortalConfigReader interface { + // Get retrieves a PortalConfig for the given object key + GetPortalConfig(ctx context.Context, key client.ObjectKey) (*PortalConfig, error) + + // List retrieves list of PortalConfigs for a given namespace and list options. + ListPortalConfig(ctx context.Context, opts ...client.ListOption) (*PortalConfigList, error) +} + +// PortalConfigTransitionFunction instructs the PortalConfigWriter how to transition between an existing +// PortalConfig object and a desired on an Upsert +type PortalConfigTransitionFunction func(existing, desired *PortalConfig) error + +// Writer knows how to create, delete, and update PortalConfigs. +type PortalConfigWriter interface { + // Create saves the PortalConfig object. + CreatePortalConfig(ctx context.Context, obj *PortalConfig, opts ...client.CreateOption) error + + // Delete deletes the PortalConfig object. + DeletePortalConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given PortalConfig object. + UpdatePortalConfig(ctx context.Context, obj *PortalConfig, opts ...client.UpdateOption) error + + // Patch patches the given PortalConfig object. + PatchPortalConfig(ctx context.Context, obj *PortalConfig, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all PortalConfig objects matching the given options. + DeleteAllOfPortalConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the PortalConfig object. + UpsertPortalConfig(ctx context.Context, obj *PortalConfig, transitionFuncs ...PortalConfigTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a PortalConfig object. +type PortalConfigStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given PortalConfig object. + UpdatePortalConfigStatus(ctx context.Context, obj *PortalConfig, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given PortalConfig object's subresource. + PatchPortalConfigStatus(ctx context.Context, obj *PortalConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on PortalConfigs. +type PortalConfigClient interface { + PortalConfigReader + PortalConfigWriter + PortalConfigStatusWriter +} + +type portalConfigClient struct { + client client.Client +} + +func NewPortalConfigClient(client client.Client) *portalConfigClient { + return &portalConfigClient{client: client} +} + +func (c *portalConfigClient) GetPortalConfig(ctx context.Context, key client.ObjectKey) (*PortalConfig, error) { + obj := &PortalConfig{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *portalConfigClient) ListPortalConfig(ctx context.Context, opts ...client.ListOption) (*PortalConfigList, error) { + list := &PortalConfigList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *portalConfigClient) CreatePortalConfig(ctx context.Context, obj *PortalConfig, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *portalConfigClient) DeletePortalConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &PortalConfig{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *portalConfigClient) UpdatePortalConfig(ctx context.Context, obj *PortalConfig, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *portalConfigClient) PatchPortalConfig(ctx context.Context, obj *PortalConfig, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *portalConfigClient) DeleteAllOfPortalConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &PortalConfig{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *portalConfigClient) UpsertPortalConfig(ctx context.Context, obj *PortalConfig, transitionFuncs ...PortalConfigTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*PortalConfig), desired.(*PortalConfig)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *portalConfigClient) UpdatePortalConfigStatus(ctx context.Context, obj *PortalConfig, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *portalConfigClient) PatchPortalConfigStatus(ctx context.Context, obj *PortalConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides PortalConfigClients for multiple clusters. +type MulticlusterPortalConfigClient interface { + // Cluster returns a PortalConfigClient for the given cluster + Cluster(cluster string) (PortalConfigClient, error) +} + +type multiclusterPortalConfigClient struct { + client multicluster.Client +} + +func NewMulticlusterPortalConfigClient(client multicluster.Client) MulticlusterPortalConfigClient { + return &multiclusterPortalConfigClient{client: client} +} + +func (m *multiclusterPortalConfigClient) Cluster(cluster string) (PortalConfigClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewPortalConfigClient(client), nil +} diff --git a/client-go/internal.gloo.solo.io/v2/controller/event_handlers.go b/client-go/internal.gloo.solo.io/v2/controller/event_handlers.go new file mode 100644 index 000000000..65c13d488 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/controller/event_handlers.go @@ -0,0 +1,874 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + internal_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the IssuedCertificate Resource +// DEPRECATED: Prefer reconciler pattern. +type IssuedCertificateEventHandler interface { + CreateIssuedCertificate(obj *internal_gloo_solo_io_v2.IssuedCertificate) error + UpdateIssuedCertificate(old, new *internal_gloo_solo_io_v2.IssuedCertificate) error + DeleteIssuedCertificate(obj *internal_gloo_solo_io_v2.IssuedCertificate) error + GenericIssuedCertificate(obj *internal_gloo_solo_io_v2.IssuedCertificate) error +} + +type IssuedCertificateEventHandlerFuncs struct { + OnCreate func(obj *internal_gloo_solo_io_v2.IssuedCertificate) error + OnUpdate func(old, new *internal_gloo_solo_io_v2.IssuedCertificate) error + OnDelete func(obj *internal_gloo_solo_io_v2.IssuedCertificate) error + OnGeneric func(obj *internal_gloo_solo_io_v2.IssuedCertificate) error +} + +func (f *IssuedCertificateEventHandlerFuncs) CreateIssuedCertificate(obj *internal_gloo_solo_io_v2.IssuedCertificate) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *IssuedCertificateEventHandlerFuncs) DeleteIssuedCertificate(obj *internal_gloo_solo_io_v2.IssuedCertificate) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *IssuedCertificateEventHandlerFuncs) UpdateIssuedCertificate(objOld, objNew *internal_gloo_solo_io_v2.IssuedCertificate) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *IssuedCertificateEventHandlerFuncs) GenericIssuedCertificate(obj *internal_gloo_solo_io_v2.IssuedCertificate) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type IssuedCertificateEventWatcher interface { + AddEventHandler(ctx context.Context, h IssuedCertificateEventHandler, predicates ...predicate.Predicate) error +} + +type issuedCertificateEventWatcher struct { + watcher events.EventWatcher +} + +func NewIssuedCertificateEventWatcher(name string, mgr manager.Manager) IssuedCertificateEventWatcher { + return &issuedCertificateEventWatcher{ + watcher: events.NewWatcher(name, mgr, &internal_gloo_solo_io_v2.IssuedCertificate{}), + } +} + +func (c *issuedCertificateEventWatcher) AddEventHandler(ctx context.Context, h IssuedCertificateEventHandler, predicates ...predicate.Predicate) error { + handler := genericIssuedCertificateHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericIssuedCertificateHandler implements a generic events.EventHandler +type genericIssuedCertificateHandler struct { + handler IssuedCertificateEventHandler +} + +func (h genericIssuedCertificateHandler) Create(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.IssuedCertificate) + if !ok { + return errors.Errorf("internal error: IssuedCertificate handler received event for %T", object) + } + return h.handler.CreateIssuedCertificate(obj) +} + +func (h genericIssuedCertificateHandler) Delete(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.IssuedCertificate) + if !ok { + return errors.Errorf("internal error: IssuedCertificate handler received event for %T", object) + } + return h.handler.DeleteIssuedCertificate(obj) +} + +func (h genericIssuedCertificateHandler) Update(old, new client.Object) error { + objOld, ok := old.(*internal_gloo_solo_io_v2.IssuedCertificate) + if !ok { + return errors.Errorf("internal error: IssuedCertificate handler received event for %T", old) + } + objNew, ok := new.(*internal_gloo_solo_io_v2.IssuedCertificate) + if !ok { + return errors.Errorf("internal error: IssuedCertificate handler received event for %T", new) + } + return h.handler.UpdateIssuedCertificate(objOld, objNew) +} + +func (h genericIssuedCertificateHandler) Generic(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.IssuedCertificate) + if !ok { + return errors.Errorf("internal error: IssuedCertificate handler received event for %T", object) + } + return h.handler.GenericIssuedCertificate(obj) +} + +// Handle events for the CertificateRequest Resource +// DEPRECATED: Prefer reconciler pattern. +type CertificateRequestEventHandler interface { + CreateCertificateRequest(obj *internal_gloo_solo_io_v2.CertificateRequest) error + UpdateCertificateRequest(old, new *internal_gloo_solo_io_v2.CertificateRequest) error + DeleteCertificateRequest(obj *internal_gloo_solo_io_v2.CertificateRequest) error + GenericCertificateRequest(obj *internal_gloo_solo_io_v2.CertificateRequest) error +} + +type CertificateRequestEventHandlerFuncs struct { + OnCreate func(obj *internal_gloo_solo_io_v2.CertificateRequest) error + OnUpdate func(old, new *internal_gloo_solo_io_v2.CertificateRequest) error + OnDelete func(obj *internal_gloo_solo_io_v2.CertificateRequest) error + OnGeneric func(obj *internal_gloo_solo_io_v2.CertificateRequest) error +} + +func (f *CertificateRequestEventHandlerFuncs) CreateCertificateRequest(obj *internal_gloo_solo_io_v2.CertificateRequest) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *CertificateRequestEventHandlerFuncs) DeleteCertificateRequest(obj *internal_gloo_solo_io_v2.CertificateRequest) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *CertificateRequestEventHandlerFuncs) UpdateCertificateRequest(objOld, objNew *internal_gloo_solo_io_v2.CertificateRequest) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *CertificateRequestEventHandlerFuncs) GenericCertificateRequest(obj *internal_gloo_solo_io_v2.CertificateRequest) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type CertificateRequestEventWatcher interface { + AddEventHandler(ctx context.Context, h CertificateRequestEventHandler, predicates ...predicate.Predicate) error +} + +type certificateRequestEventWatcher struct { + watcher events.EventWatcher +} + +func NewCertificateRequestEventWatcher(name string, mgr manager.Manager) CertificateRequestEventWatcher { + return &certificateRequestEventWatcher{ + watcher: events.NewWatcher(name, mgr, &internal_gloo_solo_io_v2.CertificateRequest{}), + } +} + +func (c *certificateRequestEventWatcher) AddEventHandler(ctx context.Context, h CertificateRequestEventHandler, predicates ...predicate.Predicate) error { + handler := genericCertificateRequestHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericCertificateRequestHandler implements a generic events.EventHandler +type genericCertificateRequestHandler struct { + handler CertificateRequestEventHandler +} + +func (h genericCertificateRequestHandler) Create(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.CertificateRequest) + if !ok { + return errors.Errorf("internal error: CertificateRequest handler received event for %T", object) + } + return h.handler.CreateCertificateRequest(obj) +} + +func (h genericCertificateRequestHandler) Delete(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.CertificateRequest) + if !ok { + return errors.Errorf("internal error: CertificateRequest handler received event for %T", object) + } + return h.handler.DeleteCertificateRequest(obj) +} + +func (h genericCertificateRequestHandler) Update(old, new client.Object) error { + objOld, ok := old.(*internal_gloo_solo_io_v2.CertificateRequest) + if !ok { + return errors.Errorf("internal error: CertificateRequest handler received event for %T", old) + } + objNew, ok := new.(*internal_gloo_solo_io_v2.CertificateRequest) + if !ok { + return errors.Errorf("internal error: CertificateRequest handler received event for %T", new) + } + return h.handler.UpdateCertificateRequest(objOld, objNew) +} + +func (h genericCertificateRequestHandler) Generic(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.CertificateRequest) + if !ok { + return errors.Errorf("internal error: CertificateRequest handler received event for %T", object) + } + return h.handler.GenericCertificateRequest(obj) +} + +// Handle events for the PodBounceDirective Resource +// DEPRECATED: Prefer reconciler pattern. +type PodBounceDirectiveEventHandler interface { + CreatePodBounceDirective(obj *internal_gloo_solo_io_v2.PodBounceDirective) error + UpdatePodBounceDirective(old, new *internal_gloo_solo_io_v2.PodBounceDirective) error + DeletePodBounceDirective(obj *internal_gloo_solo_io_v2.PodBounceDirective) error + GenericPodBounceDirective(obj *internal_gloo_solo_io_v2.PodBounceDirective) error +} + +type PodBounceDirectiveEventHandlerFuncs struct { + OnCreate func(obj *internal_gloo_solo_io_v2.PodBounceDirective) error + OnUpdate func(old, new *internal_gloo_solo_io_v2.PodBounceDirective) error + OnDelete func(obj *internal_gloo_solo_io_v2.PodBounceDirective) error + OnGeneric func(obj *internal_gloo_solo_io_v2.PodBounceDirective) error +} + +func (f *PodBounceDirectiveEventHandlerFuncs) CreatePodBounceDirective(obj *internal_gloo_solo_io_v2.PodBounceDirective) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *PodBounceDirectiveEventHandlerFuncs) DeletePodBounceDirective(obj *internal_gloo_solo_io_v2.PodBounceDirective) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *PodBounceDirectiveEventHandlerFuncs) UpdatePodBounceDirective(objOld, objNew *internal_gloo_solo_io_v2.PodBounceDirective) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *PodBounceDirectiveEventHandlerFuncs) GenericPodBounceDirective(obj *internal_gloo_solo_io_v2.PodBounceDirective) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type PodBounceDirectiveEventWatcher interface { + AddEventHandler(ctx context.Context, h PodBounceDirectiveEventHandler, predicates ...predicate.Predicate) error +} + +type podBounceDirectiveEventWatcher struct { + watcher events.EventWatcher +} + +func NewPodBounceDirectiveEventWatcher(name string, mgr manager.Manager) PodBounceDirectiveEventWatcher { + return &podBounceDirectiveEventWatcher{ + watcher: events.NewWatcher(name, mgr, &internal_gloo_solo_io_v2.PodBounceDirective{}), + } +} + +func (c *podBounceDirectiveEventWatcher) AddEventHandler(ctx context.Context, h PodBounceDirectiveEventHandler, predicates ...predicate.Predicate) error { + handler := genericPodBounceDirectiveHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericPodBounceDirectiveHandler implements a generic events.EventHandler +type genericPodBounceDirectiveHandler struct { + handler PodBounceDirectiveEventHandler +} + +func (h genericPodBounceDirectiveHandler) Create(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.PodBounceDirective) + if !ok { + return errors.Errorf("internal error: PodBounceDirective handler received event for %T", object) + } + return h.handler.CreatePodBounceDirective(obj) +} + +func (h genericPodBounceDirectiveHandler) Delete(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.PodBounceDirective) + if !ok { + return errors.Errorf("internal error: PodBounceDirective handler received event for %T", object) + } + return h.handler.DeletePodBounceDirective(obj) +} + +func (h genericPodBounceDirectiveHandler) Update(old, new client.Object) error { + objOld, ok := old.(*internal_gloo_solo_io_v2.PodBounceDirective) + if !ok { + return errors.Errorf("internal error: PodBounceDirective handler received event for %T", old) + } + objNew, ok := new.(*internal_gloo_solo_io_v2.PodBounceDirective) + if !ok { + return errors.Errorf("internal error: PodBounceDirective handler received event for %T", new) + } + return h.handler.UpdatePodBounceDirective(objOld, objNew) +} + +func (h genericPodBounceDirectiveHandler) Generic(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.PodBounceDirective) + if !ok { + return errors.Errorf("internal error: PodBounceDirective handler received event for %T", object) + } + return h.handler.GenericPodBounceDirective(obj) +} + +// Handle events for the XdsConfig Resource +// DEPRECATED: Prefer reconciler pattern. +type XdsConfigEventHandler interface { + CreateXdsConfig(obj *internal_gloo_solo_io_v2.XdsConfig) error + UpdateXdsConfig(old, new *internal_gloo_solo_io_v2.XdsConfig) error + DeleteXdsConfig(obj *internal_gloo_solo_io_v2.XdsConfig) error + GenericXdsConfig(obj *internal_gloo_solo_io_v2.XdsConfig) error +} + +type XdsConfigEventHandlerFuncs struct { + OnCreate func(obj *internal_gloo_solo_io_v2.XdsConfig) error + OnUpdate func(old, new *internal_gloo_solo_io_v2.XdsConfig) error + OnDelete func(obj *internal_gloo_solo_io_v2.XdsConfig) error + OnGeneric func(obj *internal_gloo_solo_io_v2.XdsConfig) error +} + +func (f *XdsConfigEventHandlerFuncs) CreateXdsConfig(obj *internal_gloo_solo_io_v2.XdsConfig) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *XdsConfigEventHandlerFuncs) DeleteXdsConfig(obj *internal_gloo_solo_io_v2.XdsConfig) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *XdsConfigEventHandlerFuncs) UpdateXdsConfig(objOld, objNew *internal_gloo_solo_io_v2.XdsConfig) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *XdsConfigEventHandlerFuncs) GenericXdsConfig(obj *internal_gloo_solo_io_v2.XdsConfig) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type XdsConfigEventWatcher interface { + AddEventHandler(ctx context.Context, h XdsConfigEventHandler, predicates ...predicate.Predicate) error +} + +type xdsConfigEventWatcher struct { + watcher events.EventWatcher +} + +func NewXdsConfigEventWatcher(name string, mgr manager.Manager) XdsConfigEventWatcher { + return &xdsConfigEventWatcher{ + watcher: events.NewWatcher(name, mgr, &internal_gloo_solo_io_v2.XdsConfig{}), + } +} + +func (c *xdsConfigEventWatcher) AddEventHandler(ctx context.Context, h XdsConfigEventHandler, predicates ...predicate.Predicate) error { + handler := genericXdsConfigHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericXdsConfigHandler implements a generic events.EventHandler +type genericXdsConfigHandler struct { + handler XdsConfigEventHandler +} + +func (h genericXdsConfigHandler) Create(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.XdsConfig) + if !ok { + return errors.Errorf("internal error: XdsConfig handler received event for %T", object) + } + return h.handler.CreateXdsConfig(obj) +} + +func (h genericXdsConfigHandler) Delete(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.XdsConfig) + if !ok { + return errors.Errorf("internal error: XdsConfig handler received event for %T", object) + } + return h.handler.DeleteXdsConfig(obj) +} + +func (h genericXdsConfigHandler) Update(old, new client.Object) error { + objOld, ok := old.(*internal_gloo_solo_io_v2.XdsConfig) + if !ok { + return errors.Errorf("internal error: XdsConfig handler received event for %T", old) + } + objNew, ok := new.(*internal_gloo_solo_io_v2.XdsConfig) + if !ok { + return errors.Errorf("internal error: XdsConfig handler received event for %T", new) + } + return h.handler.UpdateXdsConfig(objOld, objNew) +} + +func (h genericXdsConfigHandler) Generic(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.XdsConfig) + if !ok { + return errors.Errorf("internal error: XdsConfig handler received event for %T", object) + } + return h.handler.GenericXdsConfig(obj) +} + +// Handle events for the DiscoveredGateway Resource +// DEPRECATED: Prefer reconciler pattern. +type DiscoveredGatewayEventHandler interface { + CreateDiscoveredGateway(obj *internal_gloo_solo_io_v2.DiscoveredGateway) error + UpdateDiscoveredGateway(old, new *internal_gloo_solo_io_v2.DiscoveredGateway) error + DeleteDiscoveredGateway(obj *internal_gloo_solo_io_v2.DiscoveredGateway) error + GenericDiscoveredGateway(obj *internal_gloo_solo_io_v2.DiscoveredGateway) error +} + +type DiscoveredGatewayEventHandlerFuncs struct { + OnCreate func(obj *internal_gloo_solo_io_v2.DiscoveredGateway) error + OnUpdate func(old, new *internal_gloo_solo_io_v2.DiscoveredGateway) error + OnDelete func(obj *internal_gloo_solo_io_v2.DiscoveredGateway) error + OnGeneric func(obj *internal_gloo_solo_io_v2.DiscoveredGateway) error +} + +func (f *DiscoveredGatewayEventHandlerFuncs) CreateDiscoveredGateway(obj *internal_gloo_solo_io_v2.DiscoveredGateway) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *DiscoveredGatewayEventHandlerFuncs) DeleteDiscoveredGateway(obj *internal_gloo_solo_io_v2.DiscoveredGateway) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *DiscoveredGatewayEventHandlerFuncs) UpdateDiscoveredGateway(objOld, objNew *internal_gloo_solo_io_v2.DiscoveredGateway) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *DiscoveredGatewayEventHandlerFuncs) GenericDiscoveredGateway(obj *internal_gloo_solo_io_v2.DiscoveredGateway) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type DiscoveredGatewayEventWatcher interface { + AddEventHandler(ctx context.Context, h DiscoveredGatewayEventHandler, predicates ...predicate.Predicate) error +} + +type discoveredGatewayEventWatcher struct { + watcher events.EventWatcher +} + +func NewDiscoveredGatewayEventWatcher(name string, mgr manager.Manager) DiscoveredGatewayEventWatcher { + return &discoveredGatewayEventWatcher{ + watcher: events.NewWatcher(name, mgr, &internal_gloo_solo_io_v2.DiscoveredGateway{}), + } +} + +func (c *discoveredGatewayEventWatcher) AddEventHandler(ctx context.Context, h DiscoveredGatewayEventHandler, predicates ...predicate.Predicate) error { + handler := genericDiscoveredGatewayHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericDiscoveredGatewayHandler implements a generic events.EventHandler +type genericDiscoveredGatewayHandler struct { + handler DiscoveredGatewayEventHandler +} + +func (h genericDiscoveredGatewayHandler) Create(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.DiscoveredGateway) + if !ok { + return errors.Errorf("internal error: DiscoveredGateway handler received event for %T", object) + } + return h.handler.CreateDiscoveredGateway(obj) +} + +func (h genericDiscoveredGatewayHandler) Delete(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.DiscoveredGateway) + if !ok { + return errors.Errorf("internal error: DiscoveredGateway handler received event for %T", object) + } + return h.handler.DeleteDiscoveredGateway(obj) +} + +func (h genericDiscoveredGatewayHandler) Update(old, new client.Object) error { + objOld, ok := old.(*internal_gloo_solo_io_v2.DiscoveredGateway) + if !ok { + return errors.Errorf("internal error: DiscoveredGateway handler received event for %T", old) + } + objNew, ok := new.(*internal_gloo_solo_io_v2.DiscoveredGateway) + if !ok { + return errors.Errorf("internal error: DiscoveredGateway handler received event for %T", new) + } + return h.handler.UpdateDiscoveredGateway(objOld, objNew) +} + +func (h genericDiscoveredGatewayHandler) Generic(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.DiscoveredGateway) + if !ok { + return errors.Errorf("internal error: DiscoveredGateway handler received event for %T", object) + } + return h.handler.GenericDiscoveredGateway(obj) +} + +// Handle events for the Mesh Resource +// DEPRECATED: Prefer reconciler pattern. +type MeshEventHandler interface { + CreateMesh(obj *internal_gloo_solo_io_v2.Mesh) error + UpdateMesh(old, new *internal_gloo_solo_io_v2.Mesh) error + DeleteMesh(obj *internal_gloo_solo_io_v2.Mesh) error + GenericMesh(obj *internal_gloo_solo_io_v2.Mesh) error +} + +type MeshEventHandlerFuncs struct { + OnCreate func(obj *internal_gloo_solo_io_v2.Mesh) error + OnUpdate func(old, new *internal_gloo_solo_io_v2.Mesh) error + OnDelete func(obj *internal_gloo_solo_io_v2.Mesh) error + OnGeneric func(obj *internal_gloo_solo_io_v2.Mesh) error +} + +func (f *MeshEventHandlerFuncs) CreateMesh(obj *internal_gloo_solo_io_v2.Mesh) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *MeshEventHandlerFuncs) DeleteMesh(obj *internal_gloo_solo_io_v2.Mesh) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *MeshEventHandlerFuncs) UpdateMesh(objOld, objNew *internal_gloo_solo_io_v2.Mesh) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *MeshEventHandlerFuncs) GenericMesh(obj *internal_gloo_solo_io_v2.Mesh) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type MeshEventWatcher interface { + AddEventHandler(ctx context.Context, h MeshEventHandler, predicates ...predicate.Predicate) error +} + +type meshEventWatcher struct { + watcher events.EventWatcher +} + +func NewMeshEventWatcher(name string, mgr manager.Manager) MeshEventWatcher { + return &meshEventWatcher{ + watcher: events.NewWatcher(name, mgr, &internal_gloo_solo_io_v2.Mesh{}), + } +} + +func (c *meshEventWatcher) AddEventHandler(ctx context.Context, h MeshEventHandler, predicates ...predicate.Predicate) error { + handler := genericMeshHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericMeshHandler implements a generic events.EventHandler +type genericMeshHandler struct { + handler MeshEventHandler +} + +func (h genericMeshHandler) Create(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.Mesh) + if !ok { + return errors.Errorf("internal error: Mesh handler received event for %T", object) + } + return h.handler.CreateMesh(obj) +} + +func (h genericMeshHandler) Delete(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.Mesh) + if !ok { + return errors.Errorf("internal error: Mesh handler received event for %T", object) + } + return h.handler.DeleteMesh(obj) +} + +func (h genericMeshHandler) Update(old, new client.Object) error { + objOld, ok := old.(*internal_gloo_solo_io_v2.Mesh) + if !ok { + return errors.Errorf("internal error: Mesh handler received event for %T", old) + } + objNew, ok := new.(*internal_gloo_solo_io_v2.Mesh) + if !ok { + return errors.Errorf("internal error: Mesh handler received event for %T", new) + } + return h.handler.UpdateMesh(objOld, objNew) +} + +func (h genericMeshHandler) Generic(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.Mesh) + if !ok { + return errors.Errorf("internal error: Mesh handler received event for %T", object) + } + return h.handler.GenericMesh(obj) +} + +// Handle events for the DiscoveredCNI Resource +// DEPRECATED: Prefer reconciler pattern. +type DiscoveredCNIEventHandler interface { + CreateDiscoveredCNI(obj *internal_gloo_solo_io_v2.DiscoveredCNI) error + UpdateDiscoveredCNI(old, new *internal_gloo_solo_io_v2.DiscoveredCNI) error + DeleteDiscoveredCNI(obj *internal_gloo_solo_io_v2.DiscoveredCNI) error + GenericDiscoveredCNI(obj *internal_gloo_solo_io_v2.DiscoveredCNI) error +} + +type DiscoveredCNIEventHandlerFuncs struct { + OnCreate func(obj *internal_gloo_solo_io_v2.DiscoveredCNI) error + OnUpdate func(old, new *internal_gloo_solo_io_v2.DiscoveredCNI) error + OnDelete func(obj *internal_gloo_solo_io_v2.DiscoveredCNI) error + OnGeneric func(obj *internal_gloo_solo_io_v2.DiscoveredCNI) error +} + +func (f *DiscoveredCNIEventHandlerFuncs) CreateDiscoveredCNI(obj *internal_gloo_solo_io_v2.DiscoveredCNI) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *DiscoveredCNIEventHandlerFuncs) DeleteDiscoveredCNI(obj *internal_gloo_solo_io_v2.DiscoveredCNI) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *DiscoveredCNIEventHandlerFuncs) UpdateDiscoveredCNI(objOld, objNew *internal_gloo_solo_io_v2.DiscoveredCNI) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *DiscoveredCNIEventHandlerFuncs) GenericDiscoveredCNI(obj *internal_gloo_solo_io_v2.DiscoveredCNI) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type DiscoveredCNIEventWatcher interface { + AddEventHandler(ctx context.Context, h DiscoveredCNIEventHandler, predicates ...predicate.Predicate) error +} + +type discoveredCNIEventWatcher struct { + watcher events.EventWatcher +} + +func NewDiscoveredCNIEventWatcher(name string, mgr manager.Manager) DiscoveredCNIEventWatcher { + return &discoveredCNIEventWatcher{ + watcher: events.NewWatcher(name, mgr, &internal_gloo_solo_io_v2.DiscoveredCNI{}), + } +} + +func (c *discoveredCNIEventWatcher) AddEventHandler(ctx context.Context, h DiscoveredCNIEventHandler, predicates ...predicate.Predicate) error { + handler := genericDiscoveredCNIHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericDiscoveredCNIHandler implements a generic events.EventHandler +type genericDiscoveredCNIHandler struct { + handler DiscoveredCNIEventHandler +} + +func (h genericDiscoveredCNIHandler) Create(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.DiscoveredCNI) + if !ok { + return errors.Errorf("internal error: DiscoveredCNI handler received event for %T", object) + } + return h.handler.CreateDiscoveredCNI(obj) +} + +func (h genericDiscoveredCNIHandler) Delete(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.DiscoveredCNI) + if !ok { + return errors.Errorf("internal error: DiscoveredCNI handler received event for %T", object) + } + return h.handler.DeleteDiscoveredCNI(obj) +} + +func (h genericDiscoveredCNIHandler) Update(old, new client.Object) error { + objOld, ok := old.(*internal_gloo_solo_io_v2.DiscoveredCNI) + if !ok { + return errors.Errorf("internal error: DiscoveredCNI handler received event for %T", old) + } + objNew, ok := new.(*internal_gloo_solo_io_v2.DiscoveredCNI) + if !ok { + return errors.Errorf("internal error: DiscoveredCNI handler received event for %T", new) + } + return h.handler.UpdateDiscoveredCNI(objOld, objNew) +} + +func (h genericDiscoveredCNIHandler) Generic(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.DiscoveredCNI) + if !ok { + return errors.Errorf("internal error: DiscoveredCNI handler received event for %T", object) + } + return h.handler.GenericDiscoveredCNI(obj) +} + +// Handle events for the PortalConfig Resource +// DEPRECATED: Prefer reconciler pattern. +type PortalConfigEventHandler interface { + CreatePortalConfig(obj *internal_gloo_solo_io_v2.PortalConfig) error + UpdatePortalConfig(old, new *internal_gloo_solo_io_v2.PortalConfig) error + DeletePortalConfig(obj *internal_gloo_solo_io_v2.PortalConfig) error + GenericPortalConfig(obj *internal_gloo_solo_io_v2.PortalConfig) error +} + +type PortalConfigEventHandlerFuncs struct { + OnCreate func(obj *internal_gloo_solo_io_v2.PortalConfig) error + OnUpdate func(old, new *internal_gloo_solo_io_v2.PortalConfig) error + OnDelete func(obj *internal_gloo_solo_io_v2.PortalConfig) error + OnGeneric func(obj *internal_gloo_solo_io_v2.PortalConfig) error +} + +func (f *PortalConfigEventHandlerFuncs) CreatePortalConfig(obj *internal_gloo_solo_io_v2.PortalConfig) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *PortalConfigEventHandlerFuncs) DeletePortalConfig(obj *internal_gloo_solo_io_v2.PortalConfig) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *PortalConfigEventHandlerFuncs) UpdatePortalConfig(objOld, objNew *internal_gloo_solo_io_v2.PortalConfig) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *PortalConfigEventHandlerFuncs) GenericPortalConfig(obj *internal_gloo_solo_io_v2.PortalConfig) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type PortalConfigEventWatcher interface { + AddEventHandler(ctx context.Context, h PortalConfigEventHandler, predicates ...predicate.Predicate) error +} + +type portalConfigEventWatcher struct { + watcher events.EventWatcher +} + +func NewPortalConfigEventWatcher(name string, mgr manager.Manager) PortalConfigEventWatcher { + return &portalConfigEventWatcher{ + watcher: events.NewWatcher(name, mgr, &internal_gloo_solo_io_v2.PortalConfig{}), + } +} + +func (c *portalConfigEventWatcher) AddEventHandler(ctx context.Context, h PortalConfigEventHandler, predicates ...predicate.Predicate) error { + handler := genericPortalConfigHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericPortalConfigHandler implements a generic events.EventHandler +type genericPortalConfigHandler struct { + handler PortalConfigEventHandler +} + +func (h genericPortalConfigHandler) Create(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.PortalConfig) + if !ok { + return errors.Errorf("internal error: PortalConfig handler received event for %T", object) + } + return h.handler.CreatePortalConfig(obj) +} + +func (h genericPortalConfigHandler) Delete(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.PortalConfig) + if !ok { + return errors.Errorf("internal error: PortalConfig handler received event for %T", object) + } + return h.handler.DeletePortalConfig(obj) +} + +func (h genericPortalConfigHandler) Update(old, new client.Object) error { + objOld, ok := old.(*internal_gloo_solo_io_v2.PortalConfig) + if !ok { + return errors.Errorf("internal error: PortalConfig handler received event for %T", old) + } + objNew, ok := new.(*internal_gloo_solo_io_v2.PortalConfig) + if !ok { + return errors.Errorf("internal error: PortalConfig handler received event for %T", new) + } + return h.handler.UpdatePortalConfig(objOld, objNew) +} + +func (h genericPortalConfigHandler) Generic(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.PortalConfig) + if !ok { + return errors.Errorf("internal error: PortalConfig handler received event for %T", object) + } + return h.handler.GenericPortalConfig(obj) +} diff --git a/client-go/internal.gloo.solo.io/v2/controller/mocks/event_handlers.go b/client-go/internal.gloo.solo.io/v2/controller/mocks/event_handlers.go new file mode 100644 index 000000000..1f9a1c28e --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/controller/mocks/event_handlers.go @@ -0,0 +1,984 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2/controller" +) + +// MockIssuedCertificateEventHandler is a mock of IssuedCertificateEventHandler interface. +type MockIssuedCertificateEventHandler struct { + ctrl *gomock.Controller + recorder *MockIssuedCertificateEventHandlerMockRecorder +} + +// MockIssuedCertificateEventHandlerMockRecorder is the mock recorder for MockIssuedCertificateEventHandler. +type MockIssuedCertificateEventHandlerMockRecorder struct { + mock *MockIssuedCertificateEventHandler +} + +// NewMockIssuedCertificateEventHandler creates a new mock instance. +func NewMockIssuedCertificateEventHandler(ctrl *gomock.Controller) *MockIssuedCertificateEventHandler { + mock := &MockIssuedCertificateEventHandler{ctrl: ctrl} + mock.recorder = &MockIssuedCertificateEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIssuedCertificateEventHandler) EXPECT() *MockIssuedCertificateEventHandlerMockRecorder { + return m.recorder +} + +// CreateIssuedCertificate mocks base method. +func (m *MockIssuedCertificateEventHandler) CreateIssuedCertificate(obj *v2.IssuedCertificate) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateIssuedCertificate", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateIssuedCertificate indicates an expected call of CreateIssuedCertificate. +func (mr *MockIssuedCertificateEventHandlerMockRecorder) CreateIssuedCertificate(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateEventHandler)(nil).CreateIssuedCertificate), obj) +} + +// DeleteIssuedCertificate mocks base method. +func (m *MockIssuedCertificateEventHandler) DeleteIssuedCertificate(obj *v2.IssuedCertificate) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteIssuedCertificate", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteIssuedCertificate indicates an expected call of DeleteIssuedCertificate. +func (mr *MockIssuedCertificateEventHandlerMockRecorder) DeleteIssuedCertificate(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateEventHandler)(nil).DeleteIssuedCertificate), obj) +} + +// GenericIssuedCertificate mocks base method. +func (m *MockIssuedCertificateEventHandler) GenericIssuedCertificate(obj *v2.IssuedCertificate) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericIssuedCertificate", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericIssuedCertificate indicates an expected call of GenericIssuedCertificate. +func (mr *MockIssuedCertificateEventHandlerMockRecorder) GenericIssuedCertificate(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateEventHandler)(nil).GenericIssuedCertificate), obj) +} + +// UpdateIssuedCertificate mocks base method. +func (m *MockIssuedCertificateEventHandler) UpdateIssuedCertificate(old, new *v2.IssuedCertificate) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateIssuedCertificate", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateIssuedCertificate indicates an expected call of UpdateIssuedCertificate. +func (mr *MockIssuedCertificateEventHandlerMockRecorder) UpdateIssuedCertificate(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateEventHandler)(nil).UpdateIssuedCertificate), old, new) +} + +// MockIssuedCertificateEventWatcher is a mock of IssuedCertificateEventWatcher interface. +type MockIssuedCertificateEventWatcher struct { + ctrl *gomock.Controller + recorder *MockIssuedCertificateEventWatcherMockRecorder +} + +// MockIssuedCertificateEventWatcherMockRecorder is the mock recorder for MockIssuedCertificateEventWatcher. +type MockIssuedCertificateEventWatcherMockRecorder struct { + mock *MockIssuedCertificateEventWatcher +} + +// NewMockIssuedCertificateEventWatcher creates a new mock instance. +func NewMockIssuedCertificateEventWatcher(ctrl *gomock.Controller) *MockIssuedCertificateEventWatcher { + mock := &MockIssuedCertificateEventWatcher{ctrl: ctrl} + mock.recorder = &MockIssuedCertificateEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIssuedCertificateEventWatcher) EXPECT() *MockIssuedCertificateEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockIssuedCertificateEventWatcher) AddEventHandler(ctx context.Context, h controller.IssuedCertificateEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockIssuedCertificateEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockIssuedCertificateEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockCertificateRequestEventHandler is a mock of CertificateRequestEventHandler interface. +type MockCertificateRequestEventHandler struct { + ctrl *gomock.Controller + recorder *MockCertificateRequestEventHandlerMockRecorder +} + +// MockCertificateRequestEventHandlerMockRecorder is the mock recorder for MockCertificateRequestEventHandler. +type MockCertificateRequestEventHandlerMockRecorder struct { + mock *MockCertificateRequestEventHandler +} + +// NewMockCertificateRequestEventHandler creates a new mock instance. +func NewMockCertificateRequestEventHandler(ctrl *gomock.Controller) *MockCertificateRequestEventHandler { + mock := &MockCertificateRequestEventHandler{ctrl: ctrl} + mock.recorder = &MockCertificateRequestEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCertificateRequestEventHandler) EXPECT() *MockCertificateRequestEventHandlerMockRecorder { + return m.recorder +} + +// CreateCertificateRequest mocks base method. +func (m *MockCertificateRequestEventHandler) CreateCertificateRequest(obj *v2.CertificateRequest) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateCertificateRequest", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCertificateRequest indicates an expected call of CreateCertificateRequest. +func (mr *MockCertificateRequestEventHandlerMockRecorder) CreateCertificateRequest(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCertificateRequest", reflect.TypeOf((*MockCertificateRequestEventHandler)(nil).CreateCertificateRequest), obj) +} + +// DeleteCertificateRequest mocks base method. +func (m *MockCertificateRequestEventHandler) DeleteCertificateRequest(obj *v2.CertificateRequest) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteCertificateRequest", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCertificateRequest indicates an expected call of DeleteCertificateRequest. +func (mr *MockCertificateRequestEventHandlerMockRecorder) DeleteCertificateRequest(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCertificateRequest", reflect.TypeOf((*MockCertificateRequestEventHandler)(nil).DeleteCertificateRequest), obj) +} + +// GenericCertificateRequest mocks base method. +func (m *MockCertificateRequestEventHandler) GenericCertificateRequest(obj *v2.CertificateRequest) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericCertificateRequest", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericCertificateRequest indicates an expected call of GenericCertificateRequest. +func (mr *MockCertificateRequestEventHandlerMockRecorder) GenericCertificateRequest(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericCertificateRequest", reflect.TypeOf((*MockCertificateRequestEventHandler)(nil).GenericCertificateRequest), obj) +} + +// UpdateCertificateRequest mocks base method. +func (m *MockCertificateRequestEventHandler) UpdateCertificateRequest(old, new *v2.CertificateRequest) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateCertificateRequest", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCertificateRequest indicates an expected call of UpdateCertificateRequest. +func (mr *MockCertificateRequestEventHandlerMockRecorder) UpdateCertificateRequest(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCertificateRequest", reflect.TypeOf((*MockCertificateRequestEventHandler)(nil).UpdateCertificateRequest), old, new) +} + +// MockCertificateRequestEventWatcher is a mock of CertificateRequestEventWatcher interface. +type MockCertificateRequestEventWatcher struct { + ctrl *gomock.Controller + recorder *MockCertificateRequestEventWatcherMockRecorder +} + +// MockCertificateRequestEventWatcherMockRecorder is the mock recorder for MockCertificateRequestEventWatcher. +type MockCertificateRequestEventWatcherMockRecorder struct { + mock *MockCertificateRequestEventWatcher +} + +// NewMockCertificateRequestEventWatcher creates a new mock instance. +func NewMockCertificateRequestEventWatcher(ctrl *gomock.Controller) *MockCertificateRequestEventWatcher { + mock := &MockCertificateRequestEventWatcher{ctrl: ctrl} + mock.recorder = &MockCertificateRequestEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCertificateRequestEventWatcher) EXPECT() *MockCertificateRequestEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockCertificateRequestEventWatcher) AddEventHandler(ctx context.Context, h controller.CertificateRequestEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockCertificateRequestEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockCertificateRequestEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockPodBounceDirectiveEventHandler is a mock of PodBounceDirectiveEventHandler interface. +type MockPodBounceDirectiveEventHandler struct { + ctrl *gomock.Controller + recorder *MockPodBounceDirectiveEventHandlerMockRecorder +} + +// MockPodBounceDirectiveEventHandlerMockRecorder is the mock recorder for MockPodBounceDirectiveEventHandler. +type MockPodBounceDirectiveEventHandlerMockRecorder struct { + mock *MockPodBounceDirectiveEventHandler +} + +// NewMockPodBounceDirectiveEventHandler creates a new mock instance. +func NewMockPodBounceDirectiveEventHandler(ctrl *gomock.Controller) *MockPodBounceDirectiveEventHandler { + mock := &MockPodBounceDirectiveEventHandler{ctrl: ctrl} + mock.recorder = &MockPodBounceDirectiveEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPodBounceDirectiveEventHandler) EXPECT() *MockPodBounceDirectiveEventHandlerMockRecorder { + return m.recorder +} + +// CreatePodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveEventHandler) CreatePodBounceDirective(obj *v2.PodBounceDirective) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreatePodBounceDirective", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreatePodBounceDirective indicates an expected call of CreatePodBounceDirective. +func (mr *MockPodBounceDirectiveEventHandlerMockRecorder) CreatePodBounceDirective(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveEventHandler)(nil).CreatePodBounceDirective), obj) +} + +// DeletePodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveEventHandler) DeletePodBounceDirective(obj *v2.PodBounceDirective) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeletePodBounceDirective", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeletePodBounceDirective indicates an expected call of DeletePodBounceDirective. +func (mr *MockPodBounceDirectiveEventHandlerMockRecorder) DeletePodBounceDirective(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveEventHandler)(nil).DeletePodBounceDirective), obj) +} + +// GenericPodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveEventHandler) GenericPodBounceDirective(obj *v2.PodBounceDirective) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericPodBounceDirective", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericPodBounceDirective indicates an expected call of GenericPodBounceDirective. +func (mr *MockPodBounceDirectiveEventHandlerMockRecorder) GenericPodBounceDirective(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericPodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveEventHandler)(nil).GenericPodBounceDirective), obj) +} + +// UpdatePodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveEventHandler) UpdatePodBounceDirective(old, new *v2.PodBounceDirective) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdatePodBounceDirective", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePodBounceDirective indicates an expected call of UpdatePodBounceDirective. +func (mr *MockPodBounceDirectiveEventHandlerMockRecorder) UpdatePodBounceDirective(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveEventHandler)(nil).UpdatePodBounceDirective), old, new) +} + +// MockPodBounceDirectiveEventWatcher is a mock of PodBounceDirectiveEventWatcher interface. +type MockPodBounceDirectiveEventWatcher struct { + ctrl *gomock.Controller + recorder *MockPodBounceDirectiveEventWatcherMockRecorder +} + +// MockPodBounceDirectiveEventWatcherMockRecorder is the mock recorder for MockPodBounceDirectiveEventWatcher. +type MockPodBounceDirectiveEventWatcherMockRecorder struct { + mock *MockPodBounceDirectiveEventWatcher +} + +// NewMockPodBounceDirectiveEventWatcher creates a new mock instance. +func NewMockPodBounceDirectiveEventWatcher(ctrl *gomock.Controller) *MockPodBounceDirectiveEventWatcher { + mock := &MockPodBounceDirectiveEventWatcher{ctrl: ctrl} + mock.recorder = &MockPodBounceDirectiveEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPodBounceDirectiveEventWatcher) EXPECT() *MockPodBounceDirectiveEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockPodBounceDirectiveEventWatcher) AddEventHandler(ctx context.Context, h controller.PodBounceDirectiveEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockPodBounceDirectiveEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockPodBounceDirectiveEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockXdsConfigEventHandler is a mock of XdsConfigEventHandler interface. +type MockXdsConfigEventHandler struct { + ctrl *gomock.Controller + recorder *MockXdsConfigEventHandlerMockRecorder +} + +// MockXdsConfigEventHandlerMockRecorder is the mock recorder for MockXdsConfigEventHandler. +type MockXdsConfigEventHandlerMockRecorder struct { + mock *MockXdsConfigEventHandler +} + +// NewMockXdsConfigEventHandler creates a new mock instance. +func NewMockXdsConfigEventHandler(ctrl *gomock.Controller) *MockXdsConfigEventHandler { + mock := &MockXdsConfigEventHandler{ctrl: ctrl} + mock.recorder = &MockXdsConfigEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockXdsConfigEventHandler) EXPECT() *MockXdsConfigEventHandlerMockRecorder { + return m.recorder +} + +// CreateXdsConfig mocks base method. +func (m *MockXdsConfigEventHandler) CreateXdsConfig(obj *v2.XdsConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateXdsConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateXdsConfig indicates an expected call of CreateXdsConfig. +func (mr *MockXdsConfigEventHandlerMockRecorder) CreateXdsConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateXdsConfig", reflect.TypeOf((*MockXdsConfigEventHandler)(nil).CreateXdsConfig), obj) +} + +// DeleteXdsConfig mocks base method. +func (m *MockXdsConfigEventHandler) DeleteXdsConfig(obj *v2.XdsConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteXdsConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteXdsConfig indicates an expected call of DeleteXdsConfig. +func (mr *MockXdsConfigEventHandlerMockRecorder) DeleteXdsConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteXdsConfig", reflect.TypeOf((*MockXdsConfigEventHandler)(nil).DeleteXdsConfig), obj) +} + +// GenericXdsConfig mocks base method. +func (m *MockXdsConfigEventHandler) GenericXdsConfig(obj *v2.XdsConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericXdsConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericXdsConfig indicates an expected call of GenericXdsConfig. +func (mr *MockXdsConfigEventHandlerMockRecorder) GenericXdsConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericXdsConfig", reflect.TypeOf((*MockXdsConfigEventHandler)(nil).GenericXdsConfig), obj) +} + +// UpdateXdsConfig mocks base method. +func (m *MockXdsConfigEventHandler) UpdateXdsConfig(old, new *v2.XdsConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateXdsConfig", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateXdsConfig indicates an expected call of UpdateXdsConfig. +func (mr *MockXdsConfigEventHandlerMockRecorder) UpdateXdsConfig(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateXdsConfig", reflect.TypeOf((*MockXdsConfigEventHandler)(nil).UpdateXdsConfig), old, new) +} + +// MockXdsConfigEventWatcher is a mock of XdsConfigEventWatcher interface. +type MockXdsConfigEventWatcher struct { + ctrl *gomock.Controller + recorder *MockXdsConfigEventWatcherMockRecorder +} + +// MockXdsConfigEventWatcherMockRecorder is the mock recorder for MockXdsConfigEventWatcher. +type MockXdsConfigEventWatcherMockRecorder struct { + mock *MockXdsConfigEventWatcher +} + +// NewMockXdsConfigEventWatcher creates a new mock instance. +func NewMockXdsConfigEventWatcher(ctrl *gomock.Controller) *MockXdsConfigEventWatcher { + mock := &MockXdsConfigEventWatcher{ctrl: ctrl} + mock.recorder = &MockXdsConfigEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockXdsConfigEventWatcher) EXPECT() *MockXdsConfigEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockXdsConfigEventWatcher) AddEventHandler(ctx context.Context, h controller.XdsConfigEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockXdsConfigEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockXdsConfigEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockDiscoveredGatewayEventHandler is a mock of DiscoveredGatewayEventHandler interface. +type MockDiscoveredGatewayEventHandler struct { + ctrl *gomock.Controller + recorder *MockDiscoveredGatewayEventHandlerMockRecorder +} + +// MockDiscoveredGatewayEventHandlerMockRecorder is the mock recorder for MockDiscoveredGatewayEventHandler. +type MockDiscoveredGatewayEventHandlerMockRecorder struct { + mock *MockDiscoveredGatewayEventHandler +} + +// NewMockDiscoveredGatewayEventHandler creates a new mock instance. +func NewMockDiscoveredGatewayEventHandler(ctrl *gomock.Controller) *MockDiscoveredGatewayEventHandler { + mock := &MockDiscoveredGatewayEventHandler{ctrl: ctrl} + mock.recorder = &MockDiscoveredGatewayEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredGatewayEventHandler) EXPECT() *MockDiscoveredGatewayEventHandlerMockRecorder { + return m.recorder +} + +// CreateDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayEventHandler) CreateDiscoveredGateway(obj *v2.DiscoveredGateway) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateDiscoveredGateway", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateDiscoveredGateway indicates an expected call of CreateDiscoveredGateway. +func (mr *MockDiscoveredGatewayEventHandlerMockRecorder) CreateDiscoveredGateway(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayEventHandler)(nil).CreateDiscoveredGateway), obj) +} + +// DeleteDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayEventHandler) DeleteDiscoveredGateway(obj *v2.DiscoveredGateway) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteDiscoveredGateway", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteDiscoveredGateway indicates an expected call of DeleteDiscoveredGateway. +func (mr *MockDiscoveredGatewayEventHandlerMockRecorder) DeleteDiscoveredGateway(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayEventHandler)(nil).DeleteDiscoveredGateway), obj) +} + +// GenericDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayEventHandler) GenericDiscoveredGateway(obj *v2.DiscoveredGateway) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericDiscoveredGateway", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericDiscoveredGateway indicates an expected call of GenericDiscoveredGateway. +func (mr *MockDiscoveredGatewayEventHandlerMockRecorder) GenericDiscoveredGateway(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayEventHandler)(nil).GenericDiscoveredGateway), obj) +} + +// UpdateDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayEventHandler) UpdateDiscoveredGateway(old, new *v2.DiscoveredGateway) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateDiscoveredGateway", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDiscoveredGateway indicates an expected call of UpdateDiscoveredGateway. +func (mr *MockDiscoveredGatewayEventHandlerMockRecorder) UpdateDiscoveredGateway(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayEventHandler)(nil).UpdateDiscoveredGateway), old, new) +} + +// MockDiscoveredGatewayEventWatcher is a mock of DiscoveredGatewayEventWatcher interface. +type MockDiscoveredGatewayEventWatcher struct { + ctrl *gomock.Controller + recorder *MockDiscoveredGatewayEventWatcherMockRecorder +} + +// MockDiscoveredGatewayEventWatcherMockRecorder is the mock recorder for MockDiscoveredGatewayEventWatcher. +type MockDiscoveredGatewayEventWatcherMockRecorder struct { + mock *MockDiscoveredGatewayEventWatcher +} + +// NewMockDiscoveredGatewayEventWatcher creates a new mock instance. +func NewMockDiscoveredGatewayEventWatcher(ctrl *gomock.Controller) *MockDiscoveredGatewayEventWatcher { + mock := &MockDiscoveredGatewayEventWatcher{ctrl: ctrl} + mock.recorder = &MockDiscoveredGatewayEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredGatewayEventWatcher) EXPECT() *MockDiscoveredGatewayEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockDiscoveredGatewayEventWatcher) AddEventHandler(ctx context.Context, h controller.DiscoveredGatewayEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockDiscoveredGatewayEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockDiscoveredGatewayEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockMeshEventHandler is a mock of MeshEventHandler interface. +type MockMeshEventHandler struct { + ctrl *gomock.Controller + recorder *MockMeshEventHandlerMockRecorder +} + +// MockMeshEventHandlerMockRecorder is the mock recorder for MockMeshEventHandler. +type MockMeshEventHandlerMockRecorder struct { + mock *MockMeshEventHandler +} + +// NewMockMeshEventHandler creates a new mock instance. +func NewMockMeshEventHandler(ctrl *gomock.Controller) *MockMeshEventHandler { + mock := &MockMeshEventHandler{ctrl: ctrl} + mock.recorder = &MockMeshEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMeshEventHandler) EXPECT() *MockMeshEventHandlerMockRecorder { + return m.recorder +} + +// CreateMesh mocks base method. +func (m *MockMeshEventHandler) CreateMesh(obj *v2.Mesh) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateMesh", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateMesh indicates an expected call of CreateMesh. +func (mr *MockMeshEventHandlerMockRecorder) CreateMesh(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateMesh", reflect.TypeOf((*MockMeshEventHandler)(nil).CreateMesh), obj) +} + +// DeleteMesh mocks base method. +func (m *MockMeshEventHandler) DeleteMesh(obj *v2.Mesh) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteMesh", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteMesh indicates an expected call of DeleteMesh. +func (mr *MockMeshEventHandlerMockRecorder) DeleteMesh(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMesh", reflect.TypeOf((*MockMeshEventHandler)(nil).DeleteMesh), obj) +} + +// GenericMesh mocks base method. +func (m *MockMeshEventHandler) GenericMesh(obj *v2.Mesh) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericMesh", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericMesh indicates an expected call of GenericMesh. +func (mr *MockMeshEventHandlerMockRecorder) GenericMesh(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericMesh", reflect.TypeOf((*MockMeshEventHandler)(nil).GenericMesh), obj) +} + +// UpdateMesh mocks base method. +func (m *MockMeshEventHandler) UpdateMesh(old, new *v2.Mesh) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateMesh", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateMesh indicates an expected call of UpdateMesh. +func (mr *MockMeshEventHandlerMockRecorder) UpdateMesh(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMesh", reflect.TypeOf((*MockMeshEventHandler)(nil).UpdateMesh), old, new) +} + +// MockMeshEventWatcher is a mock of MeshEventWatcher interface. +type MockMeshEventWatcher struct { + ctrl *gomock.Controller + recorder *MockMeshEventWatcherMockRecorder +} + +// MockMeshEventWatcherMockRecorder is the mock recorder for MockMeshEventWatcher. +type MockMeshEventWatcherMockRecorder struct { + mock *MockMeshEventWatcher +} + +// NewMockMeshEventWatcher creates a new mock instance. +func NewMockMeshEventWatcher(ctrl *gomock.Controller) *MockMeshEventWatcher { + mock := &MockMeshEventWatcher{ctrl: ctrl} + mock.recorder = &MockMeshEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMeshEventWatcher) EXPECT() *MockMeshEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockMeshEventWatcher) AddEventHandler(ctx context.Context, h controller.MeshEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockMeshEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockMeshEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockDiscoveredCNIEventHandler is a mock of DiscoveredCNIEventHandler interface. +type MockDiscoveredCNIEventHandler struct { + ctrl *gomock.Controller + recorder *MockDiscoveredCNIEventHandlerMockRecorder +} + +// MockDiscoveredCNIEventHandlerMockRecorder is the mock recorder for MockDiscoveredCNIEventHandler. +type MockDiscoveredCNIEventHandlerMockRecorder struct { + mock *MockDiscoveredCNIEventHandler +} + +// NewMockDiscoveredCNIEventHandler creates a new mock instance. +func NewMockDiscoveredCNIEventHandler(ctrl *gomock.Controller) *MockDiscoveredCNIEventHandler { + mock := &MockDiscoveredCNIEventHandler{ctrl: ctrl} + mock.recorder = &MockDiscoveredCNIEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredCNIEventHandler) EXPECT() *MockDiscoveredCNIEventHandlerMockRecorder { + return m.recorder +} + +// CreateDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIEventHandler) CreateDiscoveredCNI(obj *v2.DiscoveredCNI) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateDiscoveredCNI", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateDiscoveredCNI indicates an expected call of CreateDiscoveredCNI. +func (mr *MockDiscoveredCNIEventHandlerMockRecorder) CreateDiscoveredCNI(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIEventHandler)(nil).CreateDiscoveredCNI), obj) +} + +// DeleteDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIEventHandler) DeleteDiscoveredCNI(obj *v2.DiscoveredCNI) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteDiscoveredCNI", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteDiscoveredCNI indicates an expected call of DeleteDiscoveredCNI. +func (mr *MockDiscoveredCNIEventHandlerMockRecorder) DeleteDiscoveredCNI(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIEventHandler)(nil).DeleteDiscoveredCNI), obj) +} + +// GenericDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIEventHandler) GenericDiscoveredCNI(obj *v2.DiscoveredCNI) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericDiscoveredCNI", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericDiscoveredCNI indicates an expected call of GenericDiscoveredCNI. +func (mr *MockDiscoveredCNIEventHandlerMockRecorder) GenericDiscoveredCNI(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIEventHandler)(nil).GenericDiscoveredCNI), obj) +} + +// UpdateDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIEventHandler) UpdateDiscoveredCNI(old, new *v2.DiscoveredCNI) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateDiscoveredCNI", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDiscoveredCNI indicates an expected call of UpdateDiscoveredCNI. +func (mr *MockDiscoveredCNIEventHandlerMockRecorder) UpdateDiscoveredCNI(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIEventHandler)(nil).UpdateDiscoveredCNI), old, new) +} + +// MockDiscoveredCNIEventWatcher is a mock of DiscoveredCNIEventWatcher interface. +type MockDiscoveredCNIEventWatcher struct { + ctrl *gomock.Controller + recorder *MockDiscoveredCNIEventWatcherMockRecorder +} + +// MockDiscoveredCNIEventWatcherMockRecorder is the mock recorder for MockDiscoveredCNIEventWatcher. +type MockDiscoveredCNIEventWatcherMockRecorder struct { + mock *MockDiscoveredCNIEventWatcher +} + +// NewMockDiscoveredCNIEventWatcher creates a new mock instance. +func NewMockDiscoveredCNIEventWatcher(ctrl *gomock.Controller) *MockDiscoveredCNIEventWatcher { + mock := &MockDiscoveredCNIEventWatcher{ctrl: ctrl} + mock.recorder = &MockDiscoveredCNIEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredCNIEventWatcher) EXPECT() *MockDiscoveredCNIEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockDiscoveredCNIEventWatcher) AddEventHandler(ctx context.Context, h controller.DiscoveredCNIEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockDiscoveredCNIEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockDiscoveredCNIEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockPortalConfigEventHandler is a mock of PortalConfigEventHandler interface. +type MockPortalConfigEventHandler struct { + ctrl *gomock.Controller + recorder *MockPortalConfigEventHandlerMockRecorder +} + +// MockPortalConfigEventHandlerMockRecorder is the mock recorder for MockPortalConfigEventHandler. +type MockPortalConfigEventHandlerMockRecorder struct { + mock *MockPortalConfigEventHandler +} + +// NewMockPortalConfigEventHandler creates a new mock instance. +func NewMockPortalConfigEventHandler(ctrl *gomock.Controller) *MockPortalConfigEventHandler { + mock := &MockPortalConfigEventHandler{ctrl: ctrl} + mock.recorder = &MockPortalConfigEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalConfigEventHandler) EXPECT() *MockPortalConfigEventHandlerMockRecorder { + return m.recorder +} + +// CreatePortalConfig mocks base method. +func (m *MockPortalConfigEventHandler) CreatePortalConfig(obj *v2.PortalConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreatePortalConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreatePortalConfig indicates an expected call of CreatePortalConfig. +func (mr *MockPortalConfigEventHandlerMockRecorder) CreatePortalConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePortalConfig", reflect.TypeOf((*MockPortalConfigEventHandler)(nil).CreatePortalConfig), obj) +} + +// DeletePortalConfig mocks base method. +func (m *MockPortalConfigEventHandler) DeletePortalConfig(obj *v2.PortalConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeletePortalConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeletePortalConfig indicates an expected call of DeletePortalConfig. +func (mr *MockPortalConfigEventHandlerMockRecorder) DeletePortalConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePortalConfig", reflect.TypeOf((*MockPortalConfigEventHandler)(nil).DeletePortalConfig), obj) +} + +// GenericPortalConfig mocks base method. +func (m *MockPortalConfigEventHandler) GenericPortalConfig(obj *v2.PortalConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericPortalConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericPortalConfig indicates an expected call of GenericPortalConfig. +func (mr *MockPortalConfigEventHandlerMockRecorder) GenericPortalConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericPortalConfig", reflect.TypeOf((*MockPortalConfigEventHandler)(nil).GenericPortalConfig), obj) +} + +// UpdatePortalConfig mocks base method. +func (m *MockPortalConfigEventHandler) UpdatePortalConfig(old, new *v2.PortalConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdatePortalConfig", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortalConfig indicates an expected call of UpdatePortalConfig. +func (mr *MockPortalConfigEventHandlerMockRecorder) UpdatePortalConfig(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortalConfig", reflect.TypeOf((*MockPortalConfigEventHandler)(nil).UpdatePortalConfig), old, new) +} + +// MockPortalConfigEventWatcher is a mock of PortalConfigEventWatcher interface. +type MockPortalConfigEventWatcher struct { + ctrl *gomock.Controller + recorder *MockPortalConfigEventWatcherMockRecorder +} + +// MockPortalConfigEventWatcherMockRecorder is the mock recorder for MockPortalConfigEventWatcher. +type MockPortalConfigEventWatcherMockRecorder struct { + mock *MockPortalConfigEventWatcher +} + +// NewMockPortalConfigEventWatcher creates a new mock instance. +func NewMockPortalConfigEventWatcher(ctrl *gomock.Controller) *MockPortalConfigEventWatcher { + mock := &MockPortalConfigEventWatcher{ctrl: ctrl} + mock.recorder = &MockPortalConfigEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalConfigEventWatcher) EXPECT() *MockPortalConfigEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockPortalConfigEventWatcher) AddEventHandler(ctx context.Context, h controller.PortalConfigEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockPortalConfigEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockPortalConfigEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/internal.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go b/client-go/internal.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..c3a56909a --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,937 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2/controller" +) + +// MockMulticlusterIssuedCertificateReconciler is a mock of MulticlusterIssuedCertificateReconciler interface. +type MockMulticlusterIssuedCertificateReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterIssuedCertificateReconcilerMockRecorder +} + +// MockMulticlusterIssuedCertificateReconcilerMockRecorder is the mock recorder for MockMulticlusterIssuedCertificateReconciler. +type MockMulticlusterIssuedCertificateReconcilerMockRecorder struct { + mock *MockMulticlusterIssuedCertificateReconciler +} + +// NewMockMulticlusterIssuedCertificateReconciler creates a new mock instance. +func NewMockMulticlusterIssuedCertificateReconciler(ctrl *gomock.Controller) *MockMulticlusterIssuedCertificateReconciler { + mock := &MockMulticlusterIssuedCertificateReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterIssuedCertificateReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterIssuedCertificateReconciler) EXPECT() *MockMulticlusterIssuedCertificateReconcilerMockRecorder { + return m.recorder +} + +// ReconcileIssuedCertificate mocks base method. +func (m *MockMulticlusterIssuedCertificateReconciler) ReconcileIssuedCertificate(clusterName string, obj *v2.IssuedCertificate) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileIssuedCertificate", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileIssuedCertificate indicates an expected call of ReconcileIssuedCertificate. +func (mr *MockMulticlusterIssuedCertificateReconcilerMockRecorder) ReconcileIssuedCertificate(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileIssuedCertificate", reflect.TypeOf((*MockMulticlusterIssuedCertificateReconciler)(nil).ReconcileIssuedCertificate), clusterName, obj) +} + +// MockMulticlusterIssuedCertificateDeletionReconciler is a mock of MulticlusterIssuedCertificateDeletionReconciler interface. +type MockMulticlusterIssuedCertificateDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterIssuedCertificateDeletionReconcilerMockRecorder +} + +// MockMulticlusterIssuedCertificateDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterIssuedCertificateDeletionReconciler. +type MockMulticlusterIssuedCertificateDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterIssuedCertificateDeletionReconciler +} + +// NewMockMulticlusterIssuedCertificateDeletionReconciler creates a new mock instance. +func NewMockMulticlusterIssuedCertificateDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterIssuedCertificateDeletionReconciler { + mock := &MockMulticlusterIssuedCertificateDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterIssuedCertificateDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterIssuedCertificateDeletionReconciler) EXPECT() *MockMulticlusterIssuedCertificateDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileIssuedCertificateDeletion mocks base method. +func (m *MockMulticlusterIssuedCertificateDeletionReconciler) ReconcileIssuedCertificateDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileIssuedCertificateDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileIssuedCertificateDeletion indicates an expected call of ReconcileIssuedCertificateDeletion. +func (mr *MockMulticlusterIssuedCertificateDeletionReconcilerMockRecorder) ReconcileIssuedCertificateDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileIssuedCertificateDeletion", reflect.TypeOf((*MockMulticlusterIssuedCertificateDeletionReconciler)(nil).ReconcileIssuedCertificateDeletion), clusterName, req) +} + +// MockMulticlusterIssuedCertificateReconcileLoop is a mock of MulticlusterIssuedCertificateReconcileLoop interface. +type MockMulticlusterIssuedCertificateReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterIssuedCertificateReconcileLoopMockRecorder +} + +// MockMulticlusterIssuedCertificateReconcileLoopMockRecorder is the mock recorder for MockMulticlusterIssuedCertificateReconcileLoop. +type MockMulticlusterIssuedCertificateReconcileLoopMockRecorder struct { + mock *MockMulticlusterIssuedCertificateReconcileLoop +} + +// NewMockMulticlusterIssuedCertificateReconcileLoop creates a new mock instance. +func NewMockMulticlusterIssuedCertificateReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterIssuedCertificateReconcileLoop { + mock := &MockMulticlusterIssuedCertificateReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterIssuedCertificateReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterIssuedCertificateReconcileLoop) EXPECT() *MockMulticlusterIssuedCertificateReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterIssuedCertificateReconciler mocks base method. +func (m *MockMulticlusterIssuedCertificateReconcileLoop) AddMulticlusterIssuedCertificateReconciler(ctx context.Context, rec controller.MulticlusterIssuedCertificateReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterIssuedCertificateReconciler", varargs...) +} + +// AddMulticlusterIssuedCertificateReconciler indicates an expected call of AddMulticlusterIssuedCertificateReconciler. +func (mr *MockMulticlusterIssuedCertificateReconcileLoopMockRecorder) AddMulticlusterIssuedCertificateReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterIssuedCertificateReconciler", reflect.TypeOf((*MockMulticlusterIssuedCertificateReconcileLoop)(nil).AddMulticlusterIssuedCertificateReconciler), varargs...) +} + +// MockMulticlusterCertificateRequestReconciler is a mock of MulticlusterCertificateRequestReconciler interface. +type MockMulticlusterCertificateRequestReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCertificateRequestReconcilerMockRecorder +} + +// MockMulticlusterCertificateRequestReconcilerMockRecorder is the mock recorder for MockMulticlusterCertificateRequestReconciler. +type MockMulticlusterCertificateRequestReconcilerMockRecorder struct { + mock *MockMulticlusterCertificateRequestReconciler +} + +// NewMockMulticlusterCertificateRequestReconciler creates a new mock instance. +func NewMockMulticlusterCertificateRequestReconciler(ctrl *gomock.Controller) *MockMulticlusterCertificateRequestReconciler { + mock := &MockMulticlusterCertificateRequestReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterCertificateRequestReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCertificateRequestReconciler) EXPECT() *MockMulticlusterCertificateRequestReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCertificateRequest mocks base method. +func (m *MockMulticlusterCertificateRequestReconciler) ReconcileCertificateRequest(clusterName string, obj *v2.CertificateRequest) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCertificateRequest", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCertificateRequest indicates an expected call of ReconcileCertificateRequest. +func (mr *MockMulticlusterCertificateRequestReconcilerMockRecorder) ReconcileCertificateRequest(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCertificateRequest", reflect.TypeOf((*MockMulticlusterCertificateRequestReconciler)(nil).ReconcileCertificateRequest), clusterName, obj) +} + +// MockMulticlusterCertificateRequestDeletionReconciler is a mock of MulticlusterCertificateRequestDeletionReconciler interface. +type MockMulticlusterCertificateRequestDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCertificateRequestDeletionReconcilerMockRecorder +} + +// MockMulticlusterCertificateRequestDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterCertificateRequestDeletionReconciler. +type MockMulticlusterCertificateRequestDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterCertificateRequestDeletionReconciler +} + +// NewMockMulticlusterCertificateRequestDeletionReconciler creates a new mock instance. +func NewMockMulticlusterCertificateRequestDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterCertificateRequestDeletionReconciler { + mock := &MockMulticlusterCertificateRequestDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterCertificateRequestDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCertificateRequestDeletionReconciler) EXPECT() *MockMulticlusterCertificateRequestDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCertificateRequestDeletion mocks base method. +func (m *MockMulticlusterCertificateRequestDeletionReconciler) ReconcileCertificateRequestDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCertificateRequestDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileCertificateRequestDeletion indicates an expected call of ReconcileCertificateRequestDeletion. +func (mr *MockMulticlusterCertificateRequestDeletionReconcilerMockRecorder) ReconcileCertificateRequestDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCertificateRequestDeletion", reflect.TypeOf((*MockMulticlusterCertificateRequestDeletionReconciler)(nil).ReconcileCertificateRequestDeletion), clusterName, req) +} + +// MockMulticlusterCertificateRequestReconcileLoop is a mock of MulticlusterCertificateRequestReconcileLoop interface. +type MockMulticlusterCertificateRequestReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCertificateRequestReconcileLoopMockRecorder +} + +// MockMulticlusterCertificateRequestReconcileLoopMockRecorder is the mock recorder for MockMulticlusterCertificateRequestReconcileLoop. +type MockMulticlusterCertificateRequestReconcileLoopMockRecorder struct { + mock *MockMulticlusterCertificateRequestReconcileLoop +} + +// NewMockMulticlusterCertificateRequestReconcileLoop creates a new mock instance. +func NewMockMulticlusterCertificateRequestReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterCertificateRequestReconcileLoop { + mock := &MockMulticlusterCertificateRequestReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterCertificateRequestReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCertificateRequestReconcileLoop) EXPECT() *MockMulticlusterCertificateRequestReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterCertificateRequestReconciler mocks base method. +func (m *MockMulticlusterCertificateRequestReconcileLoop) AddMulticlusterCertificateRequestReconciler(ctx context.Context, rec controller.MulticlusterCertificateRequestReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterCertificateRequestReconciler", varargs...) +} + +// AddMulticlusterCertificateRequestReconciler indicates an expected call of AddMulticlusterCertificateRequestReconciler. +func (mr *MockMulticlusterCertificateRequestReconcileLoopMockRecorder) AddMulticlusterCertificateRequestReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterCertificateRequestReconciler", reflect.TypeOf((*MockMulticlusterCertificateRequestReconcileLoop)(nil).AddMulticlusterCertificateRequestReconciler), varargs...) +} + +// MockMulticlusterPodBounceDirectiveReconciler is a mock of MulticlusterPodBounceDirectiveReconciler interface. +type MockMulticlusterPodBounceDirectiveReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPodBounceDirectiveReconcilerMockRecorder +} + +// MockMulticlusterPodBounceDirectiveReconcilerMockRecorder is the mock recorder for MockMulticlusterPodBounceDirectiveReconciler. +type MockMulticlusterPodBounceDirectiveReconcilerMockRecorder struct { + mock *MockMulticlusterPodBounceDirectiveReconciler +} + +// NewMockMulticlusterPodBounceDirectiveReconciler creates a new mock instance. +func NewMockMulticlusterPodBounceDirectiveReconciler(ctrl *gomock.Controller) *MockMulticlusterPodBounceDirectiveReconciler { + mock := &MockMulticlusterPodBounceDirectiveReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterPodBounceDirectiveReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPodBounceDirectiveReconciler) EXPECT() *MockMulticlusterPodBounceDirectiveReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePodBounceDirective mocks base method. +func (m *MockMulticlusterPodBounceDirectiveReconciler) ReconcilePodBounceDirective(clusterName string, obj *v2.PodBounceDirective) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePodBounceDirective", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcilePodBounceDirective indicates an expected call of ReconcilePodBounceDirective. +func (mr *MockMulticlusterPodBounceDirectiveReconcilerMockRecorder) ReconcilePodBounceDirective(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePodBounceDirective", reflect.TypeOf((*MockMulticlusterPodBounceDirectiveReconciler)(nil).ReconcilePodBounceDirective), clusterName, obj) +} + +// MockMulticlusterPodBounceDirectiveDeletionReconciler is a mock of MulticlusterPodBounceDirectiveDeletionReconciler interface. +type MockMulticlusterPodBounceDirectiveDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPodBounceDirectiveDeletionReconcilerMockRecorder +} + +// MockMulticlusterPodBounceDirectiveDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterPodBounceDirectiveDeletionReconciler. +type MockMulticlusterPodBounceDirectiveDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterPodBounceDirectiveDeletionReconciler +} + +// NewMockMulticlusterPodBounceDirectiveDeletionReconciler creates a new mock instance. +func NewMockMulticlusterPodBounceDirectiveDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterPodBounceDirectiveDeletionReconciler { + mock := &MockMulticlusterPodBounceDirectiveDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterPodBounceDirectiveDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPodBounceDirectiveDeletionReconciler) EXPECT() *MockMulticlusterPodBounceDirectiveDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePodBounceDirectiveDeletion mocks base method. +func (m *MockMulticlusterPodBounceDirectiveDeletionReconciler) ReconcilePodBounceDirectiveDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePodBounceDirectiveDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcilePodBounceDirectiveDeletion indicates an expected call of ReconcilePodBounceDirectiveDeletion. +func (mr *MockMulticlusterPodBounceDirectiveDeletionReconcilerMockRecorder) ReconcilePodBounceDirectiveDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePodBounceDirectiveDeletion", reflect.TypeOf((*MockMulticlusterPodBounceDirectiveDeletionReconciler)(nil).ReconcilePodBounceDirectiveDeletion), clusterName, req) +} + +// MockMulticlusterPodBounceDirectiveReconcileLoop is a mock of MulticlusterPodBounceDirectiveReconcileLoop interface. +type MockMulticlusterPodBounceDirectiveReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPodBounceDirectiveReconcileLoopMockRecorder +} + +// MockMulticlusterPodBounceDirectiveReconcileLoopMockRecorder is the mock recorder for MockMulticlusterPodBounceDirectiveReconcileLoop. +type MockMulticlusterPodBounceDirectiveReconcileLoopMockRecorder struct { + mock *MockMulticlusterPodBounceDirectiveReconcileLoop +} + +// NewMockMulticlusterPodBounceDirectiveReconcileLoop creates a new mock instance. +func NewMockMulticlusterPodBounceDirectiveReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterPodBounceDirectiveReconcileLoop { + mock := &MockMulticlusterPodBounceDirectiveReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterPodBounceDirectiveReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPodBounceDirectiveReconcileLoop) EXPECT() *MockMulticlusterPodBounceDirectiveReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterPodBounceDirectiveReconciler mocks base method. +func (m *MockMulticlusterPodBounceDirectiveReconcileLoop) AddMulticlusterPodBounceDirectiveReconciler(ctx context.Context, rec controller.MulticlusterPodBounceDirectiveReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterPodBounceDirectiveReconciler", varargs...) +} + +// AddMulticlusterPodBounceDirectiveReconciler indicates an expected call of AddMulticlusterPodBounceDirectiveReconciler. +func (mr *MockMulticlusterPodBounceDirectiveReconcileLoopMockRecorder) AddMulticlusterPodBounceDirectiveReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterPodBounceDirectiveReconciler", reflect.TypeOf((*MockMulticlusterPodBounceDirectiveReconcileLoop)(nil).AddMulticlusterPodBounceDirectiveReconciler), varargs...) +} + +// MockMulticlusterXdsConfigReconciler is a mock of MulticlusterXdsConfigReconciler interface. +type MockMulticlusterXdsConfigReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterXdsConfigReconcilerMockRecorder +} + +// MockMulticlusterXdsConfigReconcilerMockRecorder is the mock recorder for MockMulticlusterXdsConfigReconciler. +type MockMulticlusterXdsConfigReconcilerMockRecorder struct { + mock *MockMulticlusterXdsConfigReconciler +} + +// NewMockMulticlusterXdsConfigReconciler creates a new mock instance. +func NewMockMulticlusterXdsConfigReconciler(ctrl *gomock.Controller) *MockMulticlusterXdsConfigReconciler { + mock := &MockMulticlusterXdsConfigReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterXdsConfigReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterXdsConfigReconciler) EXPECT() *MockMulticlusterXdsConfigReconcilerMockRecorder { + return m.recorder +} + +// ReconcileXdsConfig mocks base method. +func (m *MockMulticlusterXdsConfigReconciler) ReconcileXdsConfig(clusterName string, obj *v2.XdsConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileXdsConfig", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileXdsConfig indicates an expected call of ReconcileXdsConfig. +func (mr *MockMulticlusterXdsConfigReconcilerMockRecorder) ReconcileXdsConfig(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileXdsConfig", reflect.TypeOf((*MockMulticlusterXdsConfigReconciler)(nil).ReconcileXdsConfig), clusterName, obj) +} + +// MockMulticlusterXdsConfigDeletionReconciler is a mock of MulticlusterXdsConfigDeletionReconciler interface. +type MockMulticlusterXdsConfigDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterXdsConfigDeletionReconcilerMockRecorder +} + +// MockMulticlusterXdsConfigDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterXdsConfigDeletionReconciler. +type MockMulticlusterXdsConfigDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterXdsConfigDeletionReconciler +} + +// NewMockMulticlusterXdsConfigDeletionReconciler creates a new mock instance. +func NewMockMulticlusterXdsConfigDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterXdsConfigDeletionReconciler { + mock := &MockMulticlusterXdsConfigDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterXdsConfigDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterXdsConfigDeletionReconciler) EXPECT() *MockMulticlusterXdsConfigDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileXdsConfigDeletion mocks base method. +func (m *MockMulticlusterXdsConfigDeletionReconciler) ReconcileXdsConfigDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileXdsConfigDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileXdsConfigDeletion indicates an expected call of ReconcileXdsConfigDeletion. +func (mr *MockMulticlusterXdsConfigDeletionReconcilerMockRecorder) ReconcileXdsConfigDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileXdsConfigDeletion", reflect.TypeOf((*MockMulticlusterXdsConfigDeletionReconciler)(nil).ReconcileXdsConfigDeletion), clusterName, req) +} + +// MockMulticlusterXdsConfigReconcileLoop is a mock of MulticlusterXdsConfigReconcileLoop interface. +type MockMulticlusterXdsConfigReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterXdsConfigReconcileLoopMockRecorder +} + +// MockMulticlusterXdsConfigReconcileLoopMockRecorder is the mock recorder for MockMulticlusterXdsConfigReconcileLoop. +type MockMulticlusterXdsConfigReconcileLoopMockRecorder struct { + mock *MockMulticlusterXdsConfigReconcileLoop +} + +// NewMockMulticlusterXdsConfigReconcileLoop creates a new mock instance. +func NewMockMulticlusterXdsConfigReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterXdsConfigReconcileLoop { + mock := &MockMulticlusterXdsConfigReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterXdsConfigReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterXdsConfigReconcileLoop) EXPECT() *MockMulticlusterXdsConfigReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterXdsConfigReconciler mocks base method. +func (m *MockMulticlusterXdsConfigReconcileLoop) AddMulticlusterXdsConfigReconciler(ctx context.Context, rec controller.MulticlusterXdsConfigReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterXdsConfigReconciler", varargs...) +} + +// AddMulticlusterXdsConfigReconciler indicates an expected call of AddMulticlusterXdsConfigReconciler. +func (mr *MockMulticlusterXdsConfigReconcileLoopMockRecorder) AddMulticlusterXdsConfigReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterXdsConfigReconciler", reflect.TypeOf((*MockMulticlusterXdsConfigReconcileLoop)(nil).AddMulticlusterXdsConfigReconciler), varargs...) +} + +// MockMulticlusterDiscoveredGatewayReconciler is a mock of MulticlusterDiscoveredGatewayReconciler interface. +type MockMulticlusterDiscoveredGatewayReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDiscoveredGatewayReconcilerMockRecorder +} + +// MockMulticlusterDiscoveredGatewayReconcilerMockRecorder is the mock recorder for MockMulticlusterDiscoveredGatewayReconciler. +type MockMulticlusterDiscoveredGatewayReconcilerMockRecorder struct { + mock *MockMulticlusterDiscoveredGatewayReconciler +} + +// NewMockMulticlusterDiscoveredGatewayReconciler creates a new mock instance. +func NewMockMulticlusterDiscoveredGatewayReconciler(ctrl *gomock.Controller) *MockMulticlusterDiscoveredGatewayReconciler { + mock := &MockMulticlusterDiscoveredGatewayReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterDiscoveredGatewayReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDiscoveredGatewayReconciler) EXPECT() *MockMulticlusterDiscoveredGatewayReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDiscoveredGateway mocks base method. +func (m *MockMulticlusterDiscoveredGatewayReconciler) ReconcileDiscoveredGateway(clusterName string, obj *v2.DiscoveredGateway) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDiscoveredGateway", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileDiscoveredGateway indicates an expected call of ReconcileDiscoveredGateway. +func (mr *MockMulticlusterDiscoveredGatewayReconcilerMockRecorder) ReconcileDiscoveredGateway(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDiscoveredGateway", reflect.TypeOf((*MockMulticlusterDiscoveredGatewayReconciler)(nil).ReconcileDiscoveredGateway), clusterName, obj) +} + +// MockMulticlusterDiscoveredGatewayDeletionReconciler is a mock of MulticlusterDiscoveredGatewayDeletionReconciler interface. +type MockMulticlusterDiscoveredGatewayDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDiscoveredGatewayDeletionReconcilerMockRecorder +} + +// MockMulticlusterDiscoveredGatewayDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterDiscoveredGatewayDeletionReconciler. +type MockMulticlusterDiscoveredGatewayDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterDiscoveredGatewayDeletionReconciler +} + +// NewMockMulticlusterDiscoveredGatewayDeletionReconciler creates a new mock instance. +func NewMockMulticlusterDiscoveredGatewayDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterDiscoveredGatewayDeletionReconciler { + mock := &MockMulticlusterDiscoveredGatewayDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterDiscoveredGatewayDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDiscoveredGatewayDeletionReconciler) EXPECT() *MockMulticlusterDiscoveredGatewayDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDiscoveredGatewayDeletion mocks base method. +func (m *MockMulticlusterDiscoveredGatewayDeletionReconciler) ReconcileDiscoveredGatewayDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDiscoveredGatewayDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileDiscoveredGatewayDeletion indicates an expected call of ReconcileDiscoveredGatewayDeletion. +func (mr *MockMulticlusterDiscoveredGatewayDeletionReconcilerMockRecorder) ReconcileDiscoveredGatewayDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDiscoveredGatewayDeletion", reflect.TypeOf((*MockMulticlusterDiscoveredGatewayDeletionReconciler)(nil).ReconcileDiscoveredGatewayDeletion), clusterName, req) +} + +// MockMulticlusterDiscoveredGatewayReconcileLoop is a mock of MulticlusterDiscoveredGatewayReconcileLoop interface. +type MockMulticlusterDiscoveredGatewayReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDiscoveredGatewayReconcileLoopMockRecorder +} + +// MockMulticlusterDiscoveredGatewayReconcileLoopMockRecorder is the mock recorder for MockMulticlusterDiscoveredGatewayReconcileLoop. +type MockMulticlusterDiscoveredGatewayReconcileLoopMockRecorder struct { + mock *MockMulticlusterDiscoveredGatewayReconcileLoop +} + +// NewMockMulticlusterDiscoveredGatewayReconcileLoop creates a new mock instance. +func NewMockMulticlusterDiscoveredGatewayReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterDiscoveredGatewayReconcileLoop { + mock := &MockMulticlusterDiscoveredGatewayReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterDiscoveredGatewayReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDiscoveredGatewayReconcileLoop) EXPECT() *MockMulticlusterDiscoveredGatewayReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterDiscoveredGatewayReconciler mocks base method. +func (m *MockMulticlusterDiscoveredGatewayReconcileLoop) AddMulticlusterDiscoveredGatewayReconciler(ctx context.Context, rec controller.MulticlusterDiscoveredGatewayReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterDiscoveredGatewayReconciler", varargs...) +} + +// AddMulticlusterDiscoveredGatewayReconciler indicates an expected call of AddMulticlusterDiscoveredGatewayReconciler. +func (mr *MockMulticlusterDiscoveredGatewayReconcileLoopMockRecorder) AddMulticlusterDiscoveredGatewayReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterDiscoveredGatewayReconciler", reflect.TypeOf((*MockMulticlusterDiscoveredGatewayReconcileLoop)(nil).AddMulticlusterDiscoveredGatewayReconciler), varargs...) +} + +// MockMulticlusterMeshReconciler is a mock of MulticlusterMeshReconciler interface. +type MockMulticlusterMeshReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterMeshReconcilerMockRecorder +} + +// MockMulticlusterMeshReconcilerMockRecorder is the mock recorder for MockMulticlusterMeshReconciler. +type MockMulticlusterMeshReconcilerMockRecorder struct { + mock *MockMulticlusterMeshReconciler +} + +// NewMockMulticlusterMeshReconciler creates a new mock instance. +func NewMockMulticlusterMeshReconciler(ctrl *gomock.Controller) *MockMulticlusterMeshReconciler { + mock := &MockMulticlusterMeshReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterMeshReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterMeshReconciler) EXPECT() *MockMulticlusterMeshReconcilerMockRecorder { + return m.recorder +} + +// ReconcileMesh mocks base method. +func (m *MockMulticlusterMeshReconciler) ReconcileMesh(clusterName string, obj *v2.Mesh) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileMesh", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileMesh indicates an expected call of ReconcileMesh. +func (mr *MockMulticlusterMeshReconcilerMockRecorder) ReconcileMesh(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileMesh", reflect.TypeOf((*MockMulticlusterMeshReconciler)(nil).ReconcileMesh), clusterName, obj) +} + +// MockMulticlusterMeshDeletionReconciler is a mock of MulticlusterMeshDeletionReconciler interface. +type MockMulticlusterMeshDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterMeshDeletionReconcilerMockRecorder +} + +// MockMulticlusterMeshDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterMeshDeletionReconciler. +type MockMulticlusterMeshDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterMeshDeletionReconciler +} + +// NewMockMulticlusterMeshDeletionReconciler creates a new mock instance. +func NewMockMulticlusterMeshDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterMeshDeletionReconciler { + mock := &MockMulticlusterMeshDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterMeshDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterMeshDeletionReconciler) EXPECT() *MockMulticlusterMeshDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileMeshDeletion mocks base method. +func (m *MockMulticlusterMeshDeletionReconciler) ReconcileMeshDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileMeshDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileMeshDeletion indicates an expected call of ReconcileMeshDeletion. +func (mr *MockMulticlusterMeshDeletionReconcilerMockRecorder) ReconcileMeshDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileMeshDeletion", reflect.TypeOf((*MockMulticlusterMeshDeletionReconciler)(nil).ReconcileMeshDeletion), clusterName, req) +} + +// MockMulticlusterMeshReconcileLoop is a mock of MulticlusterMeshReconcileLoop interface. +type MockMulticlusterMeshReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterMeshReconcileLoopMockRecorder +} + +// MockMulticlusterMeshReconcileLoopMockRecorder is the mock recorder for MockMulticlusterMeshReconcileLoop. +type MockMulticlusterMeshReconcileLoopMockRecorder struct { + mock *MockMulticlusterMeshReconcileLoop +} + +// NewMockMulticlusterMeshReconcileLoop creates a new mock instance. +func NewMockMulticlusterMeshReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterMeshReconcileLoop { + mock := &MockMulticlusterMeshReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterMeshReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterMeshReconcileLoop) EXPECT() *MockMulticlusterMeshReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterMeshReconciler mocks base method. +func (m *MockMulticlusterMeshReconcileLoop) AddMulticlusterMeshReconciler(ctx context.Context, rec controller.MulticlusterMeshReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterMeshReconciler", varargs...) +} + +// AddMulticlusterMeshReconciler indicates an expected call of AddMulticlusterMeshReconciler. +func (mr *MockMulticlusterMeshReconcileLoopMockRecorder) AddMulticlusterMeshReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterMeshReconciler", reflect.TypeOf((*MockMulticlusterMeshReconcileLoop)(nil).AddMulticlusterMeshReconciler), varargs...) +} + +// MockMulticlusterDiscoveredCNIReconciler is a mock of MulticlusterDiscoveredCNIReconciler interface. +type MockMulticlusterDiscoveredCNIReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDiscoveredCNIReconcilerMockRecorder +} + +// MockMulticlusterDiscoveredCNIReconcilerMockRecorder is the mock recorder for MockMulticlusterDiscoveredCNIReconciler. +type MockMulticlusterDiscoveredCNIReconcilerMockRecorder struct { + mock *MockMulticlusterDiscoveredCNIReconciler +} + +// NewMockMulticlusterDiscoveredCNIReconciler creates a new mock instance. +func NewMockMulticlusterDiscoveredCNIReconciler(ctrl *gomock.Controller) *MockMulticlusterDiscoveredCNIReconciler { + mock := &MockMulticlusterDiscoveredCNIReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterDiscoveredCNIReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDiscoveredCNIReconciler) EXPECT() *MockMulticlusterDiscoveredCNIReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDiscoveredCNI mocks base method. +func (m *MockMulticlusterDiscoveredCNIReconciler) ReconcileDiscoveredCNI(clusterName string, obj *v2.DiscoveredCNI) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDiscoveredCNI", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileDiscoveredCNI indicates an expected call of ReconcileDiscoveredCNI. +func (mr *MockMulticlusterDiscoveredCNIReconcilerMockRecorder) ReconcileDiscoveredCNI(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDiscoveredCNI", reflect.TypeOf((*MockMulticlusterDiscoveredCNIReconciler)(nil).ReconcileDiscoveredCNI), clusterName, obj) +} + +// MockMulticlusterDiscoveredCNIDeletionReconciler is a mock of MulticlusterDiscoveredCNIDeletionReconciler interface. +type MockMulticlusterDiscoveredCNIDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDiscoveredCNIDeletionReconcilerMockRecorder +} + +// MockMulticlusterDiscoveredCNIDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterDiscoveredCNIDeletionReconciler. +type MockMulticlusterDiscoveredCNIDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterDiscoveredCNIDeletionReconciler +} + +// NewMockMulticlusterDiscoveredCNIDeletionReconciler creates a new mock instance. +func NewMockMulticlusterDiscoveredCNIDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterDiscoveredCNIDeletionReconciler { + mock := &MockMulticlusterDiscoveredCNIDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterDiscoveredCNIDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDiscoveredCNIDeletionReconciler) EXPECT() *MockMulticlusterDiscoveredCNIDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDiscoveredCNIDeletion mocks base method. +func (m *MockMulticlusterDiscoveredCNIDeletionReconciler) ReconcileDiscoveredCNIDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDiscoveredCNIDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileDiscoveredCNIDeletion indicates an expected call of ReconcileDiscoveredCNIDeletion. +func (mr *MockMulticlusterDiscoveredCNIDeletionReconcilerMockRecorder) ReconcileDiscoveredCNIDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDiscoveredCNIDeletion", reflect.TypeOf((*MockMulticlusterDiscoveredCNIDeletionReconciler)(nil).ReconcileDiscoveredCNIDeletion), clusterName, req) +} + +// MockMulticlusterDiscoveredCNIReconcileLoop is a mock of MulticlusterDiscoveredCNIReconcileLoop interface. +type MockMulticlusterDiscoveredCNIReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDiscoveredCNIReconcileLoopMockRecorder +} + +// MockMulticlusterDiscoveredCNIReconcileLoopMockRecorder is the mock recorder for MockMulticlusterDiscoveredCNIReconcileLoop. +type MockMulticlusterDiscoveredCNIReconcileLoopMockRecorder struct { + mock *MockMulticlusterDiscoveredCNIReconcileLoop +} + +// NewMockMulticlusterDiscoveredCNIReconcileLoop creates a new mock instance. +func NewMockMulticlusterDiscoveredCNIReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterDiscoveredCNIReconcileLoop { + mock := &MockMulticlusterDiscoveredCNIReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterDiscoveredCNIReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDiscoveredCNIReconcileLoop) EXPECT() *MockMulticlusterDiscoveredCNIReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterDiscoveredCNIReconciler mocks base method. +func (m *MockMulticlusterDiscoveredCNIReconcileLoop) AddMulticlusterDiscoveredCNIReconciler(ctx context.Context, rec controller.MulticlusterDiscoveredCNIReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterDiscoveredCNIReconciler", varargs...) +} + +// AddMulticlusterDiscoveredCNIReconciler indicates an expected call of AddMulticlusterDiscoveredCNIReconciler. +func (mr *MockMulticlusterDiscoveredCNIReconcileLoopMockRecorder) AddMulticlusterDiscoveredCNIReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterDiscoveredCNIReconciler", reflect.TypeOf((*MockMulticlusterDiscoveredCNIReconcileLoop)(nil).AddMulticlusterDiscoveredCNIReconciler), varargs...) +} + +// MockMulticlusterPortalConfigReconciler is a mock of MulticlusterPortalConfigReconciler interface. +type MockMulticlusterPortalConfigReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPortalConfigReconcilerMockRecorder +} + +// MockMulticlusterPortalConfigReconcilerMockRecorder is the mock recorder for MockMulticlusterPortalConfigReconciler. +type MockMulticlusterPortalConfigReconcilerMockRecorder struct { + mock *MockMulticlusterPortalConfigReconciler +} + +// NewMockMulticlusterPortalConfigReconciler creates a new mock instance. +func NewMockMulticlusterPortalConfigReconciler(ctrl *gomock.Controller) *MockMulticlusterPortalConfigReconciler { + mock := &MockMulticlusterPortalConfigReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterPortalConfigReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPortalConfigReconciler) EXPECT() *MockMulticlusterPortalConfigReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePortalConfig mocks base method. +func (m *MockMulticlusterPortalConfigReconciler) ReconcilePortalConfig(clusterName string, obj *v2.PortalConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortalConfig", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcilePortalConfig indicates an expected call of ReconcilePortalConfig. +func (mr *MockMulticlusterPortalConfigReconcilerMockRecorder) ReconcilePortalConfig(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortalConfig", reflect.TypeOf((*MockMulticlusterPortalConfigReconciler)(nil).ReconcilePortalConfig), clusterName, obj) +} + +// MockMulticlusterPortalConfigDeletionReconciler is a mock of MulticlusterPortalConfigDeletionReconciler interface. +type MockMulticlusterPortalConfigDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPortalConfigDeletionReconcilerMockRecorder +} + +// MockMulticlusterPortalConfigDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterPortalConfigDeletionReconciler. +type MockMulticlusterPortalConfigDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterPortalConfigDeletionReconciler +} + +// NewMockMulticlusterPortalConfigDeletionReconciler creates a new mock instance. +func NewMockMulticlusterPortalConfigDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterPortalConfigDeletionReconciler { + mock := &MockMulticlusterPortalConfigDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterPortalConfigDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPortalConfigDeletionReconciler) EXPECT() *MockMulticlusterPortalConfigDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePortalConfigDeletion mocks base method. +func (m *MockMulticlusterPortalConfigDeletionReconciler) ReconcilePortalConfigDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortalConfigDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcilePortalConfigDeletion indicates an expected call of ReconcilePortalConfigDeletion. +func (mr *MockMulticlusterPortalConfigDeletionReconcilerMockRecorder) ReconcilePortalConfigDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortalConfigDeletion", reflect.TypeOf((*MockMulticlusterPortalConfigDeletionReconciler)(nil).ReconcilePortalConfigDeletion), clusterName, req) +} + +// MockMulticlusterPortalConfigReconcileLoop is a mock of MulticlusterPortalConfigReconcileLoop interface. +type MockMulticlusterPortalConfigReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPortalConfigReconcileLoopMockRecorder +} + +// MockMulticlusterPortalConfigReconcileLoopMockRecorder is the mock recorder for MockMulticlusterPortalConfigReconcileLoop. +type MockMulticlusterPortalConfigReconcileLoopMockRecorder struct { + mock *MockMulticlusterPortalConfigReconcileLoop +} + +// NewMockMulticlusterPortalConfigReconcileLoop creates a new mock instance. +func NewMockMulticlusterPortalConfigReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterPortalConfigReconcileLoop { + mock := &MockMulticlusterPortalConfigReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterPortalConfigReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPortalConfigReconcileLoop) EXPECT() *MockMulticlusterPortalConfigReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterPortalConfigReconciler mocks base method. +func (m *MockMulticlusterPortalConfigReconcileLoop) AddMulticlusterPortalConfigReconciler(ctx context.Context, rec controller.MulticlusterPortalConfigReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterPortalConfigReconciler", varargs...) +} + +// AddMulticlusterPortalConfigReconciler indicates an expected call of AddMulticlusterPortalConfigReconciler. +func (mr *MockMulticlusterPortalConfigReconcileLoopMockRecorder) AddMulticlusterPortalConfigReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterPortalConfigReconciler", reflect.TypeOf((*MockMulticlusterPortalConfigReconcileLoop)(nil).AddMulticlusterPortalConfigReconciler), varargs...) +} diff --git a/client-go/internal.gloo.solo.io/v2/controller/mocks/reconcilers.go b/client-go/internal.gloo.solo.io/v2/controller/mocks/reconcilers.go new file mode 100644 index 000000000..e8460f1c3 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/controller/mocks/reconcilers.go @@ -0,0 +1,1481 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2/controller" +) + +// MockIssuedCertificateReconciler is a mock of IssuedCertificateReconciler interface. +type MockIssuedCertificateReconciler struct { + ctrl *gomock.Controller + recorder *MockIssuedCertificateReconcilerMockRecorder +} + +// MockIssuedCertificateReconcilerMockRecorder is the mock recorder for MockIssuedCertificateReconciler. +type MockIssuedCertificateReconcilerMockRecorder struct { + mock *MockIssuedCertificateReconciler +} + +// NewMockIssuedCertificateReconciler creates a new mock instance. +func NewMockIssuedCertificateReconciler(ctrl *gomock.Controller) *MockIssuedCertificateReconciler { + mock := &MockIssuedCertificateReconciler{ctrl: ctrl} + mock.recorder = &MockIssuedCertificateReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIssuedCertificateReconciler) EXPECT() *MockIssuedCertificateReconcilerMockRecorder { + return m.recorder +} + +// ReconcileIssuedCertificate mocks base method. +func (m *MockIssuedCertificateReconciler) ReconcileIssuedCertificate(obj *v2.IssuedCertificate) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileIssuedCertificate", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileIssuedCertificate indicates an expected call of ReconcileIssuedCertificate. +func (mr *MockIssuedCertificateReconcilerMockRecorder) ReconcileIssuedCertificate(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateReconciler)(nil).ReconcileIssuedCertificate), obj) +} + +// MockIssuedCertificateDeletionReconciler is a mock of IssuedCertificateDeletionReconciler interface. +type MockIssuedCertificateDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockIssuedCertificateDeletionReconcilerMockRecorder +} + +// MockIssuedCertificateDeletionReconcilerMockRecorder is the mock recorder for MockIssuedCertificateDeletionReconciler. +type MockIssuedCertificateDeletionReconcilerMockRecorder struct { + mock *MockIssuedCertificateDeletionReconciler +} + +// NewMockIssuedCertificateDeletionReconciler creates a new mock instance. +func NewMockIssuedCertificateDeletionReconciler(ctrl *gomock.Controller) *MockIssuedCertificateDeletionReconciler { + mock := &MockIssuedCertificateDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockIssuedCertificateDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIssuedCertificateDeletionReconciler) EXPECT() *MockIssuedCertificateDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileIssuedCertificateDeletion mocks base method. +func (m *MockIssuedCertificateDeletionReconciler) ReconcileIssuedCertificateDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileIssuedCertificateDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileIssuedCertificateDeletion indicates an expected call of ReconcileIssuedCertificateDeletion. +func (mr *MockIssuedCertificateDeletionReconcilerMockRecorder) ReconcileIssuedCertificateDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileIssuedCertificateDeletion", reflect.TypeOf((*MockIssuedCertificateDeletionReconciler)(nil).ReconcileIssuedCertificateDeletion), req) +} + +// MockIssuedCertificateFinalizer is a mock of IssuedCertificateFinalizer interface. +type MockIssuedCertificateFinalizer struct { + ctrl *gomock.Controller + recorder *MockIssuedCertificateFinalizerMockRecorder +} + +// MockIssuedCertificateFinalizerMockRecorder is the mock recorder for MockIssuedCertificateFinalizer. +type MockIssuedCertificateFinalizerMockRecorder struct { + mock *MockIssuedCertificateFinalizer +} + +// NewMockIssuedCertificateFinalizer creates a new mock instance. +func NewMockIssuedCertificateFinalizer(ctrl *gomock.Controller) *MockIssuedCertificateFinalizer { + mock := &MockIssuedCertificateFinalizer{ctrl: ctrl} + mock.recorder = &MockIssuedCertificateFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIssuedCertificateFinalizer) EXPECT() *MockIssuedCertificateFinalizerMockRecorder { + return m.recorder +} + +// FinalizeIssuedCertificate mocks base method. +func (m *MockIssuedCertificateFinalizer) FinalizeIssuedCertificate(obj *v2.IssuedCertificate) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeIssuedCertificate", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeIssuedCertificate indicates an expected call of FinalizeIssuedCertificate. +func (mr *MockIssuedCertificateFinalizerMockRecorder) FinalizeIssuedCertificate(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateFinalizer)(nil).FinalizeIssuedCertificate), obj) +} + +// IssuedCertificateFinalizerName mocks base method. +func (m *MockIssuedCertificateFinalizer) IssuedCertificateFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "IssuedCertificateFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// IssuedCertificateFinalizerName indicates an expected call of IssuedCertificateFinalizerName. +func (mr *MockIssuedCertificateFinalizerMockRecorder) IssuedCertificateFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IssuedCertificateFinalizerName", reflect.TypeOf((*MockIssuedCertificateFinalizer)(nil).IssuedCertificateFinalizerName)) +} + +// ReconcileIssuedCertificate mocks base method. +func (m *MockIssuedCertificateFinalizer) ReconcileIssuedCertificate(obj *v2.IssuedCertificate) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileIssuedCertificate", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileIssuedCertificate indicates an expected call of ReconcileIssuedCertificate. +func (mr *MockIssuedCertificateFinalizerMockRecorder) ReconcileIssuedCertificate(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateFinalizer)(nil).ReconcileIssuedCertificate), obj) +} + +// MockIssuedCertificateReconcileLoop is a mock of IssuedCertificateReconcileLoop interface. +type MockIssuedCertificateReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockIssuedCertificateReconcileLoopMockRecorder +} + +// MockIssuedCertificateReconcileLoopMockRecorder is the mock recorder for MockIssuedCertificateReconcileLoop. +type MockIssuedCertificateReconcileLoopMockRecorder struct { + mock *MockIssuedCertificateReconcileLoop +} + +// NewMockIssuedCertificateReconcileLoop creates a new mock instance. +func NewMockIssuedCertificateReconcileLoop(ctrl *gomock.Controller) *MockIssuedCertificateReconcileLoop { + mock := &MockIssuedCertificateReconcileLoop{ctrl: ctrl} + mock.recorder = &MockIssuedCertificateReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIssuedCertificateReconcileLoop) EXPECT() *MockIssuedCertificateReconcileLoopMockRecorder { + return m.recorder +} + +// RunIssuedCertificateReconciler mocks base method. +func (m *MockIssuedCertificateReconcileLoop) RunIssuedCertificateReconciler(ctx context.Context, rec controller.IssuedCertificateReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunIssuedCertificateReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunIssuedCertificateReconciler indicates an expected call of RunIssuedCertificateReconciler. +func (mr *MockIssuedCertificateReconcileLoopMockRecorder) RunIssuedCertificateReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunIssuedCertificateReconciler", reflect.TypeOf((*MockIssuedCertificateReconcileLoop)(nil).RunIssuedCertificateReconciler), varargs...) +} + +// MockCertificateRequestReconciler is a mock of CertificateRequestReconciler interface. +type MockCertificateRequestReconciler struct { + ctrl *gomock.Controller + recorder *MockCertificateRequestReconcilerMockRecorder +} + +// MockCertificateRequestReconcilerMockRecorder is the mock recorder for MockCertificateRequestReconciler. +type MockCertificateRequestReconcilerMockRecorder struct { + mock *MockCertificateRequestReconciler +} + +// NewMockCertificateRequestReconciler creates a new mock instance. +func NewMockCertificateRequestReconciler(ctrl *gomock.Controller) *MockCertificateRequestReconciler { + mock := &MockCertificateRequestReconciler{ctrl: ctrl} + mock.recorder = &MockCertificateRequestReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCertificateRequestReconciler) EXPECT() *MockCertificateRequestReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCertificateRequest mocks base method. +func (m *MockCertificateRequestReconciler) ReconcileCertificateRequest(obj *v2.CertificateRequest) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCertificateRequest", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCertificateRequest indicates an expected call of ReconcileCertificateRequest. +func (mr *MockCertificateRequestReconcilerMockRecorder) ReconcileCertificateRequest(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCertificateRequest", reflect.TypeOf((*MockCertificateRequestReconciler)(nil).ReconcileCertificateRequest), obj) +} + +// MockCertificateRequestDeletionReconciler is a mock of CertificateRequestDeletionReconciler interface. +type MockCertificateRequestDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockCertificateRequestDeletionReconcilerMockRecorder +} + +// MockCertificateRequestDeletionReconcilerMockRecorder is the mock recorder for MockCertificateRequestDeletionReconciler. +type MockCertificateRequestDeletionReconcilerMockRecorder struct { + mock *MockCertificateRequestDeletionReconciler +} + +// NewMockCertificateRequestDeletionReconciler creates a new mock instance. +func NewMockCertificateRequestDeletionReconciler(ctrl *gomock.Controller) *MockCertificateRequestDeletionReconciler { + mock := &MockCertificateRequestDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockCertificateRequestDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCertificateRequestDeletionReconciler) EXPECT() *MockCertificateRequestDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCertificateRequestDeletion mocks base method. +func (m *MockCertificateRequestDeletionReconciler) ReconcileCertificateRequestDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCertificateRequestDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileCertificateRequestDeletion indicates an expected call of ReconcileCertificateRequestDeletion. +func (mr *MockCertificateRequestDeletionReconcilerMockRecorder) ReconcileCertificateRequestDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCertificateRequestDeletion", reflect.TypeOf((*MockCertificateRequestDeletionReconciler)(nil).ReconcileCertificateRequestDeletion), req) +} + +// MockCertificateRequestFinalizer is a mock of CertificateRequestFinalizer interface. +type MockCertificateRequestFinalizer struct { + ctrl *gomock.Controller + recorder *MockCertificateRequestFinalizerMockRecorder +} + +// MockCertificateRequestFinalizerMockRecorder is the mock recorder for MockCertificateRequestFinalizer. +type MockCertificateRequestFinalizerMockRecorder struct { + mock *MockCertificateRequestFinalizer +} + +// NewMockCertificateRequestFinalizer creates a new mock instance. +func NewMockCertificateRequestFinalizer(ctrl *gomock.Controller) *MockCertificateRequestFinalizer { + mock := &MockCertificateRequestFinalizer{ctrl: ctrl} + mock.recorder = &MockCertificateRequestFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCertificateRequestFinalizer) EXPECT() *MockCertificateRequestFinalizerMockRecorder { + return m.recorder +} + +// CertificateRequestFinalizerName mocks base method. +func (m *MockCertificateRequestFinalizer) CertificateRequestFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CertificateRequestFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// CertificateRequestFinalizerName indicates an expected call of CertificateRequestFinalizerName. +func (mr *MockCertificateRequestFinalizerMockRecorder) CertificateRequestFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CertificateRequestFinalizerName", reflect.TypeOf((*MockCertificateRequestFinalizer)(nil).CertificateRequestFinalizerName)) +} + +// FinalizeCertificateRequest mocks base method. +func (m *MockCertificateRequestFinalizer) FinalizeCertificateRequest(obj *v2.CertificateRequest) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeCertificateRequest", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeCertificateRequest indicates an expected call of FinalizeCertificateRequest. +func (mr *MockCertificateRequestFinalizerMockRecorder) FinalizeCertificateRequest(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeCertificateRequest", reflect.TypeOf((*MockCertificateRequestFinalizer)(nil).FinalizeCertificateRequest), obj) +} + +// ReconcileCertificateRequest mocks base method. +func (m *MockCertificateRequestFinalizer) ReconcileCertificateRequest(obj *v2.CertificateRequest) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCertificateRequest", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCertificateRequest indicates an expected call of ReconcileCertificateRequest. +func (mr *MockCertificateRequestFinalizerMockRecorder) ReconcileCertificateRequest(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCertificateRequest", reflect.TypeOf((*MockCertificateRequestFinalizer)(nil).ReconcileCertificateRequest), obj) +} + +// MockCertificateRequestReconcileLoop is a mock of CertificateRequestReconcileLoop interface. +type MockCertificateRequestReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockCertificateRequestReconcileLoopMockRecorder +} + +// MockCertificateRequestReconcileLoopMockRecorder is the mock recorder for MockCertificateRequestReconcileLoop. +type MockCertificateRequestReconcileLoopMockRecorder struct { + mock *MockCertificateRequestReconcileLoop +} + +// NewMockCertificateRequestReconcileLoop creates a new mock instance. +func NewMockCertificateRequestReconcileLoop(ctrl *gomock.Controller) *MockCertificateRequestReconcileLoop { + mock := &MockCertificateRequestReconcileLoop{ctrl: ctrl} + mock.recorder = &MockCertificateRequestReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCertificateRequestReconcileLoop) EXPECT() *MockCertificateRequestReconcileLoopMockRecorder { + return m.recorder +} + +// RunCertificateRequestReconciler mocks base method. +func (m *MockCertificateRequestReconcileLoop) RunCertificateRequestReconciler(ctx context.Context, rec controller.CertificateRequestReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunCertificateRequestReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunCertificateRequestReconciler indicates an expected call of RunCertificateRequestReconciler. +func (mr *MockCertificateRequestReconcileLoopMockRecorder) RunCertificateRequestReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunCertificateRequestReconciler", reflect.TypeOf((*MockCertificateRequestReconcileLoop)(nil).RunCertificateRequestReconciler), varargs...) +} + +// MockPodBounceDirectiveReconciler is a mock of PodBounceDirectiveReconciler interface. +type MockPodBounceDirectiveReconciler struct { + ctrl *gomock.Controller + recorder *MockPodBounceDirectiveReconcilerMockRecorder +} + +// MockPodBounceDirectiveReconcilerMockRecorder is the mock recorder for MockPodBounceDirectiveReconciler. +type MockPodBounceDirectiveReconcilerMockRecorder struct { + mock *MockPodBounceDirectiveReconciler +} + +// NewMockPodBounceDirectiveReconciler creates a new mock instance. +func NewMockPodBounceDirectiveReconciler(ctrl *gomock.Controller) *MockPodBounceDirectiveReconciler { + mock := &MockPodBounceDirectiveReconciler{ctrl: ctrl} + mock.recorder = &MockPodBounceDirectiveReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPodBounceDirectiveReconciler) EXPECT() *MockPodBounceDirectiveReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveReconciler) ReconcilePodBounceDirective(obj *v2.PodBounceDirective) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePodBounceDirective", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcilePodBounceDirective indicates an expected call of ReconcilePodBounceDirective. +func (mr *MockPodBounceDirectiveReconcilerMockRecorder) ReconcilePodBounceDirective(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveReconciler)(nil).ReconcilePodBounceDirective), obj) +} + +// MockPodBounceDirectiveDeletionReconciler is a mock of PodBounceDirectiveDeletionReconciler interface. +type MockPodBounceDirectiveDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockPodBounceDirectiveDeletionReconcilerMockRecorder +} + +// MockPodBounceDirectiveDeletionReconcilerMockRecorder is the mock recorder for MockPodBounceDirectiveDeletionReconciler. +type MockPodBounceDirectiveDeletionReconcilerMockRecorder struct { + mock *MockPodBounceDirectiveDeletionReconciler +} + +// NewMockPodBounceDirectiveDeletionReconciler creates a new mock instance. +func NewMockPodBounceDirectiveDeletionReconciler(ctrl *gomock.Controller) *MockPodBounceDirectiveDeletionReconciler { + mock := &MockPodBounceDirectiveDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockPodBounceDirectiveDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPodBounceDirectiveDeletionReconciler) EXPECT() *MockPodBounceDirectiveDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePodBounceDirectiveDeletion mocks base method. +func (m *MockPodBounceDirectiveDeletionReconciler) ReconcilePodBounceDirectiveDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePodBounceDirectiveDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcilePodBounceDirectiveDeletion indicates an expected call of ReconcilePodBounceDirectiveDeletion. +func (mr *MockPodBounceDirectiveDeletionReconcilerMockRecorder) ReconcilePodBounceDirectiveDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePodBounceDirectiveDeletion", reflect.TypeOf((*MockPodBounceDirectiveDeletionReconciler)(nil).ReconcilePodBounceDirectiveDeletion), req) +} + +// MockPodBounceDirectiveFinalizer is a mock of PodBounceDirectiveFinalizer interface. +type MockPodBounceDirectiveFinalizer struct { + ctrl *gomock.Controller + recorder *MockPodBounceDirectiveFinalizerMockRecorder +} + +// MockPodBounceDirectiveFinalizerMockRecorder is the mock recorder for MockPodBounceDirectiveFinalizer. +type MockPodBounceDirectiveFinalizerMockRecorder struct { + mock *MockPodBounceDirectiveFinalizer +} + +// NewMockPodBounceDirectiveFinalizer creates a new mock instance. +func NewMockPodBounceDirectiveFinalizer(ctrl *gomock.Controller) *MockPodBounceDirectiveFinalizer { + mock := &MockPodBounceDirectiveFinalizer{ctrl: ctrl} + mock.recorder = &MockPodBounceDirectiveFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPodBounceDirectiveFinalizer) EXPECT() *MockPodBounceDirectiveFinalizerMockRecorder { + return m.recorder +} + +// FinalizePodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveFinalizer) FinalizePodBounceDirective(obj *v2.PodBounceDirective) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizePodBounceDirective", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizePodBounceDirective indicates an expected call of FinalizePodBounceDirective. +func (mr *MockPodBounceDirectiveFinalizerMockRecorder) FinalizePodBounceDirective(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizePodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveFinalizer)(nil).FinalizePodBounceDirective), obj) +} + +// PodBounceDirectiveFinalizerName mocks base method. +func (m *MockPodBounceDirectiveFinalizer) PodBounceDirectiveFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PodBounceDirectiveFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// PodBounceDirectiveFinalizerName indicates an expected call of PodBounceDirectiveFinalizerName. +func (mr *MockPodBounceDirectiveFinalizerMockRecorder) PodBounceDirectiveFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PodBounceDirectiveFinalizerName", reflect.TypeOf((*MockPodBounceDirectiveFinalizer)(nil).PodBounceDirectiveFinalizerName)) +} + +// ReconcilePodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveFinalizer) ReconcilePodBounceDirective(obj *v2.PodBounceDirective) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePodBounceDirective", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcilePodBounceDirective indicates an expected call of ReconcilePodBounceDirective. +func (mr *MockPodBounceDirectiveFinalizerMockRecorder) ReconcilePodBounceDirective(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveFinalizer)(nil).ReconcilePodBounceDirective), obj) +} + +// MockPodBounceDirectiveReconcileLoop is a mock of PodBounceDirectiveReconcileLoop interface. +type MockPodBounceDirectiveReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockPodBounceDirectiveReconcileLoopMockRecorder +} + +// MockPodBounceDirectiveReconcileLoopMockRecorder is the mock recorder for MockPodBounceDirectiveReconcileLoop. +type MockPodBounceDirectiveReconcileLoopMockRecorder struct { + mock *MockPodBounceDirectiveReconcileLoop +} + +// NewMockPodBounceDirectiveReconcileLoop creates a new mock instance. +func NewMockPodBounceDirectiveReconcileLoop(ctrl *gomock.Controller) *MockPodBounceDirectiveReconcileLoop { + mock := &MockPodBounceDirectiveReconcileLoop{ctrl: ctrl} + mock.recorder = &MockPodBounceDirectiveReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPodBounceDirectiveReconcileLoop) EXPECT() *MockPodBounceDirectiveReconcileLoopMockRecorder { + return m.recorder +} + +// RunPodBounceDirectiveReconciler mocks base method. +func (m *MockPodBounceDirectiveReconcileLoop) RunPodBounceDirectiveReconciler(ctx context.Context, rec controller.PodBounceDirectiveReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunPodBounceDirectiveReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunPodBounceDirectiveReconciler indicates an expected call of RunPodBounceDirectiveReconciler. +func (mr *MockPodBounceDirectiveReconcileLoopMockRecorder) RunPodBounceDirectiveReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunPodBounceDirectiveReconciler", reflect.TypeOf((*MockPodBounceDirectiveReconcileLoop)(nil).RunPodBounceDirectiveReconciler), varargs...) +} + +// MockXdsConfigReconciler is a mock of XdsConfigReconciler interface. +type MockXdsConfigReconciler struct { + ctrl *gomock.Controller + recorder *MockXdsConfigReconcilerMockRecorder +} + +// MockXdsConfigReconcilerMockRecorder is the mock recorder for MockXdsConfigReconciler. +type MockXdsConfigReconcilerMockRecorder struct { + mock *MockXdsConfigReconciler +} + +// NewMockXdsConfigReconciler creates a new mock instance. +func NewMockXdsConfigReconciler(ctrl *gomock.Controller) *MockXdsConfigReconciler { + mock := &MockXdsConfigReconciler{ctrl: ctrl} + mock.recorder = &MockXdsConfigReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockXdsConfigReconciler) EXPECT() *MockXdsConfigReconcilerMockRecorder { + return m.recorder +} + +// ReconcileXdsConfig mocks base method. +func (m *MockXdsConfigReconciler) ReconcileXdsConfig(obj *v2.XdsConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileXdsConfig", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileXdsConfig indicates an expected call of ReconcileXdsConfig. +func (mr *MockXdsConfigReconcilerMockRecorder) ReconcileXdsConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileXdsConfig", reflect.TypeOf((*MockXdsConfigReconciler)(nil).ReconcileXdsConfig), obj) +} + +// MockXdsConfigDeletionReconciler is a mock of XdsConfigDeletionReconciler interface. +type MockXdsConfigDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockXdsConfigDeletionReconcilerMockRecorder +} + +// MockXdsConfigDeletionReconcilerMockRecorder is the mock recorder for MockXdsConfigDeletionReconciler. +type MockXdsConfigDeletionReconcilerMockRecorder struct { + mock *MockXdsConfigDeletionReconciler +} + +// NewMockXdsConfigDeletionReconciler creates a new mock instance. +func NewMockXdsConfigDeletionReconciler(ctrl *gomock.Controller) *MockXdsConfigDeletionReconciler { + mock := &MockXdsConfigDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockXdsConfigDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockXdsConfigDeletionReconciler) EXPECT() *MockXdsConfigDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileXdsConfigDeletion mocks base method. +func (m *MockXdsConfigDeletionReconciler) ReconcileXdsConfigDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileXdsConfigDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileXdsConfigDeletion indicates an expected call of ReconcileXdsConfigDeletion. +func (mr *MockXdsConfigDeletionReconcilerMockRecorder) ReconcileXdsConfigDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileXdsConfigDeletion", reflect.TypeOf((*MockXdsConfigDeletionReconciler)(nil).ReconcileXdsConfigDeletion), req) +} + +// MockXdsConfigFinalizer is a mock of XdsConfigFinalizer interface. +type MockXdsConfigFinalizer struct { + ctrl *gomock.Controller + recorder *MockXdsConfigFinalizerMockRecorder +} + +// MockXdsConfigFinalizerMockRecorder is the mock recorder for MockXdsConfigFinalizer. +type MockXdsConfigFinalizerMockRecorder struct { + mock *MockXdsConfigFinalizer +} + +// NewMockXdsConfigFinalizer creates a new mock instance. +func NewMockXdsConfigFinalizer(ctrl *gomock.Controller) *MockXdsConfigFinalizer { + mock := &MockXdsConfigFinalizer{ctrl: ctrl} + mock.recorder = &MockXdsConfigFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockXdsConfigFinalizer) EXPECT() *MockXdsConfigFinalizerMockRecorder { + return m.recorder +} + +// FinalizeXdsConfig mocks base method. +func (m *MockXdsConfigFinalizer) FinalizeXdsConfig(obj *v2.XdsConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeXdsConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeXdsConfig indicates an expected call of FinalizeXdsConfig. +func (mr *MockXdsConfigFinalizerMockRecorder) FinalizeXdsConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeXdsConfig", reflect.TypeOf((*MockXdsConfigFinalizer)(nil).FinalizeXdsConfig), obj) +} + +// ReconcileXdsConfig mocks base method. +func (m *MockXdsConfigFinalizer) ReconcileXdsConfig(obj *v2.XdsConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileXdsConfig", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileXdsConfig indicates an expected call of ReconcileXdsConfig. +func (mr *MockXdsConfigFinalizerMockRecorder) ReconcileXdsConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileXdsConfig", reflect.TypeOf((*MockXdsConfigFinalizer)(nil).ReconcileXdsConfig), obj) +} + +// XdsConfigFinalizerName mocks base method. +func (m *MockXdsConfigFinalizer) XdsConfigFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "XdsConfigFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// XdsConfigFinalizerName indicates an expected call of XdsConfigFinalizerName. +func (mr *MockXdsConfigFinalizerMockRecorder) XdsConfigFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "XdsConfigFinalizerName", reflect.TypeOf((*MockXdsConfigFinalizer)(nil).XdsConfigFinalizerName)) +} + +// MockXdsConfigReconcileLoop is a mock of XdsConfigReconcileLoop interface. +type MockXdsConfigReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockXdsConfigReconcileLoopMockRecorder +} + +// MockXdsConfigReconcileLoopMockRecorder is the mock recorder for MockXdsConfigReconcileLoop. +type MockXdsConfigReconcileLoopMockRecorder struct { + mock *MockXdsConfigReconcileLoop +} + +// NewMockXdsConfigReconcileLoop creates a new mock instance. +func NewMockXdsConfigReconcileLoop(ctrl *gomock.Controller) *MockXdsConfigReconcileLoop { + mock := &MockXdsConfigReconcileLoop{ctrl: ctrl} + mock.recorder = &MockXdsConfigReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockXdsConfigReconcileLoop) EXPECT() *MockXdsConfigReconcileLoopMockRecorder { + return m.recorder +} + +// RunXdsConfigReconciler mocks base method. +func (m *MockXdsConfigReconcileLoop) RunXdsConfigReconciler(ctx context.Context, rec controller.XdsConfigReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunXdsConfigReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunXdsConfigReconciler indicates an expected call of RunXdsConfigReconciler. +func (mr *MockXdsConfigReconcileLoopMockRecorder) RunXdsConfigReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunXdsConfigReconciler", reflect.TypeOf((*MockXdsConfigReconcileLoop)(nil).RunXdsConfigReconciler), varargs...) +} + +// MockDiscoveredGatewayReconciler is a mock of DiscoveredGatewayReconciler interface. +type MockDiscoveredGatewayReconciler struct { + ctrl *gomock.Controller + recorder *MockDiscoveredGatewayReconcilerMockRecorder +} + +// MockDiscoveredGatewayReconcilerMockRecorder is the mock recorder for MockDiscoveredGatewayReconciler. +type MockDiscoveredGatewayReconcilerMockRecorder struct { + mock *MockDiscoveredGatewayReconciler +} + +// NewMockDiscoveredGatewayReconciler creates a new mock instance. +func NewMockDiscoveredGatewayReconciler(ctrl *gomock.Controller) *MockDiscoveredGatewayReconciler { + mock := &MockDiscoveredGatewayReconciler{ctrl: ctrl} + mock.recorder = &MockDiscoveredGatewayReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredGatewayReconciler) EXPECT() *MockDiscoveredGatewayReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayReconciler) ReconcileDiscoveredGateway(obj *v2.DiscoveredGateway) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDiscoveredGateway", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileDiscoveredGateway indicates an expected call of ReconcileDiscoveredGateway. +func (mr *MockDiscoveredGatewayReconcilerMockRecorder) ReconcileDiscoveredGateway(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayReconciler)(nil).ReconcileDiscoveredGateway), obj) +} + +// MockDiscoveredGatewayDeletionReconciler is a mock of DiscoveredGatewayDeletionReconciler interface. +type MockDiscoveredGatewayDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockDiscoveredGatewayDeletionReconcilerMockRecorder +} + +// MockDiscoveredGatewayDeletionReconcilerMockRecorder is the mock recorder for MockDiscoveredGatewayDeletionReconciler. +type MockDiscoveredGatewayDeletionReconcilerMockRecorder struct { + mock *MockDiscoveredGatewayDeletionReconciler +} + +// NewMockDiscoveredGatewayDeletionReconciler creates a new mock instance. +func NewMockDiscoveredGatewayDeletionReconciler(ctrl *gomock.Controller) *MockDiscoveredGatewayDeletionReconciler { + mock := &MockDiscoveredGatewayDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockDiscoveredGatewayDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredGatewayDeletionReconciler) EXPECT() *MockDiscoveredGatewayDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDiscoveredGatewayDeletion mocks base method. +func (m *MockDiscoveredGatewayDeletionReconciler) ReconcileDiscoveredGatewayDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDiscoveredGatewayDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileDiscoveredGatewayDeletion indicates an expected call of ReconcileDiscoveredGatewayDeletion. +func (mr *MockDiscoveredGatewayDeletionReconcilerMockRecorder) ReconcileDiscoveredGatewayDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDiscoveredGatewayDeletion", reflect.TypeOf((*MockDiscoveredGatewayDeletionReconciler)(nil).ReconcileDiscoveredGatewayDeletion), req) +} + +// MockDiscoveredGatewayFinalizer is a mock of DiscoveredGatewayFinalizer interface. +type MockDiscoveredGatewayFinalizer struct { + ctrl *gomock.Controller + recorder *MockDiscoveredGatewayFinalizerMockRecorder +} + +// MockDiscoveredGatewayFinalizerMockRecorder is the mock recorder for MockDiscoveredGatewayFinalizer. +type MockDiscoveredGatewayFinalizerMockRecorder struct { + mock *MockDiscoveredGatewayFinalizer +} + +// NewMockDiscoveredGatewayFinalizer creates a new mock instance. +func NewMockDiscoveredGatewayFinalizer(ctrl *gomock.Controller) *MockDiscoveredGatewayFinalizer { + mock := &MockDiscoveredGatewayFinalizer{ctrl: ctrl} + mock.recorder = &MockDiscoveredGatewayFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredGatewayFinalizer) EXPECT() *MockDiscoveredGatewayFinalizerMockRecorder { + return m.recorder +} + +// DiscoveredGatewayFinalizerName mocks base method. +func (m *MockDiscoveredGatewayFinalizer) DiscoveredGatewayFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DiscoveredGatewayFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// DiscoveredGatewayFinalizerName indicates an expected call of DiscoveredGatewayFinalizerName. +func (mr *MockDiscoveredGatewayFinalizerMockRecorder) DiscoveredGatewayFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DiscoveredGatewayFinalizerName", reflect.TypeOf((*MockDiscoveredGatewayFinalizer)(nil).DiscoveredGatewayFinalizerName)) +} + +// FinalizeDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayFinalizer) FinalizeDiscoveredGateway(obj *v2.DiscoveredGateway) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeDiscoveredGateway", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeDiscoveredGateway indicates an expected call of FinalizeDiscoveredGateway. +func (mr *MockDiscoveredGatewayFinalizerMockRecorder) FinalizeDiscoveredGateway(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayFinalizer)(nil).FinalizeDiscoveredGateway), obj) +} + +// ReconcileDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayFinalizer) ReconcileDiscoveredGateway(obj *v2.DiscoveredGateway) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDiscoveredGateway", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileDiscoveredGateway indicates an expected call of ReconcileDiscoveredGateway. +func (mr *MockDiscoveredGatewayFinalizerMockRecorder) ReconcileDiscoveredGateway(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayFinalizer)(nil).ReconcileDiscoveredGateway), obj) +} + +// MockDiscoveredGatewayReconcileLoop is a mock of DiscoveredGatewayReconcileLoop interface. +type MockDiscoveredGatewayReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockDiscoveredGatewayReconcileLoopMockRecorder +} + +// MockDiscoveredGatewayReconcileLoopMockRecorder is the mock recorder for MockDiscoveredGatewayReconcileLoop. +type MockDiscoveredGatewayReconcileLoopMockRecorder struct { + mock *MockDiscoveredGatewayReconcileLoop +} + +// NewMockDiscoveredGatewayReconcileLoop creates a new mock instance. +func NewMockDiscoveredGatewayReconcileLoop(ctrl *gomock.Controller) *MockDiscoveredGatewayReconcileLoop { + mock := &MockDiscoveredGatewayReconcileLoop{ctrl: ctrl} + mock.recorder = &MockDiscoveredGatewayReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredGatewayReconcileLoop) EXPECT() *MockDiscoveredGatewayReconcileLoopMockRecorder { + return m.recorder +} + +// RunDiscoveredGatewayReconciler mocks base method. +func (m *MockDiscoveredGatewayReconcileLoop) RunDiscoveredGatewayReconciler(ctx context.Context, rec controller.DiscoveredGatewayReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunDiscoveredGatewayReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunDiscoveredGatewayReconciler indicates an expected call of RunDiscoveredGatewayReconciler. +func (mr *MockDiscoveredGatewayReconcileLoopMockRecorder) RunDiscoveredGatewayReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunDiscoveredGatewayReconciler", reflect.TypeOf((*MockDiscoveredGatewayReconcileLoop)(nil).RunDiscoveredGatewayReconciler), varargs...) +} + +// MockMeshReconciler is a mock of MeshReconciler interface. +type MockMeshReconciler struct { + ctrl *gomock.Controller + recorder *MockMeshReconcilerMockRecorder +} + +// MockMeshReconcilerMockRecorder is the mock recorder for MockMeshReconciler. +type MockMeshReconcilerMockRecorder struct { + mock *MockMeshReconciler +} + +// NewMockMeshReconciler creates a new mock instance. +func NewMockMeshReconciler(ctrl *gomock.Controller) *MockMeshReconciler { + mock := &MockMeshReconciler{ctrl: ctrl} + mock.recorder = &MockMeshReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMeshReconciler) EXPECT() *MockMeshReconcilerMockRecorder { + return m.recorder +} + +// ReconcileMesh mocks base method. +func (m *MockMeshReconciler) ReconcileMesh(obj *v2.Mesh) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileMesh", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileMesh indicates an expected call of ReconcileMesh. +func (mr *MockMeshReconcilerMockRecorder) ReconcileMesh(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileMesh", reflect.TypeOf((*MockMeshReconciler)(nil).ReconcileMesh), obj) +} + +// MockMeshDeletionReconciler is a mock of MeshDeletionReconciler interface. +type MockMeshDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMeshDeletionReconcilerMockRecorder +} + +// MockMeshDeletionReconcilerMockRecorder is the mock recorder for MockMeshDeletionReconciler. +type MockMeshDeletionReconcilerMockRecorder struct { + mock *MockMeshDeletionReconciler +} + +// NewMockMeshDeletionReconciler creates a new mock instance. +func NewMockMeshDeletionReconciler(ctrl *gomock.Controller) *MockMeshDeletionReconciler { + mock := &MockMeshDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMeshDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMeshDeletionReconciler) EXPECT() *MockMeshDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileMeshDeletion mocks base method. +func (m *MockMeshDeletionReconciler) ReconcileMeshDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileMeshDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileMeshDeletion indicates an expected call of ReconcileMeshDeletion. +func (mr *MockMeshDeletionReconcilerMockRecorder) ReconcileMeshDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileMeshDeletion", reflect.TypeOf((*MockMeshDeletionReconciler)(nil).ReconcileMeshDeletion), req) +} + +// MockMeshFinalizer is a mock of MeshFinalizer interface. +type MockMeshFinalizer struct { + ctrl *gomock.Controller + recorder *MockMeshFinalizerMockRecorder +} + +// MockMeshFinalizerMockRecorder is the mock recorder for MockMeshFinalizer. +type MockMeshFinalizerMockRecorder struct { + mock *MockMeshFinalizer +} + +// NewMockMeshFinalizer creates a new mock instance. +func NewMockMeshFinalizer(ctrl *gomock.Controller) *MockMeshFinalizer { + mock := &MockMeshFinalizer{ctrl: ctrl} + mock.recorder = &MockMeshFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMeshFinalizer) EXPECT() *MockMeshFinalizerMockRecorder { + return m.recorder +} + +// FinalizeMesh mocks base method. +func (m *MockMeshFinalizer) FinalizeMesh(obj *v2.Mesh) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeMesh", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeMesh indicates an expected call of FinalizeMesh. +func (mr *MockMeshFinalizerMockRecorder) FinalizeMesh(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeMesh", reflect.TypeOf((*MockMeshFinalizer)(nil).FinalizeMesh), obj) +} + +// MeshFinalizerName mocks base method. +func (m *MockMeshFinalizer) MeshFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "MeshFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// MeshFinalizerName indicates an expected call of MeshFinalizerName. +func (mr *MockMeshFinalizerMockRecorder) MeshFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MeshFinalizerName", reflect.TypeOf((*MockMeshFinalizer)(nil).MeshFinalizerName)) +} + +// ReconcileMesh mocks base method. +func (m *MockMeshFinalizer) ReconcileMesh(obj *v2.Mesh) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileMesh", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileMesh indicates an expected call of ReconcileMesh. +func (mr *MockMeshFinalizerMockRecorder) ReconcileMesh(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileMesh", reflect.TypeOf((*MockMeshFinalizer)(nil).ReconcileMesh), obj) +} + +// MockMeshReconcileLoop is a mock of MeshReconcileLoop interface. +type MockMeshReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMeshReconcileLoopMockRecorder +} + +// MockMeshReconcileLoopMockRecorder is the mock recorder for MockMeshReconcileLoop. +type MockMeshReconcileLoopMockRecorder struct { + mock *MockMeshReconcileLoop +} + +// NewMockMeshReconcileLoop creates a new mock instance. +func NewMockMeshReconcileLoop(ctrl *gomock.Controller) *MockMeshReconcileLoop { + mock := &MockMeshReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMeshReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMeshReconcileLoop) EXPECT() *MockMeshReconcileLoopMockRecorder { + return m.recorder +} + +// RunMeshReconciler mocks base method. +func (m *MockMeshReconcileLoop) RunMeshReconciler(ctx context.Context, rec controller.MeshReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunMeshReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunMeshReconciler indicates an expected call of RunMeshReconciler. +func (mr *MockMeshReconcileLoopMockRecorder) RunMeshReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunMeshReconciler", reflect.TypeOf((*MockMeshReconcileLoop)(nil).RunMeshReconciler), varargs...) +} + +// MockDiscoveredCNIReconciler is a mock of DiscoveredCNIReconciler interface. +type MockDiscoveredCNIReconciler struct { + ctrl *gomock.Controller + recorder *MockDiscoveredCNIReconcilerMockRecorder +} + +// MockDiscoveredCNIReconcilerMockRecorder is the mock recorder for MockDiscoveredCNIReconciler. +type MockDiscoveredCNIReconcilerMockRecorder struct { + mock *MockDiscoveredCNIReconciler +} + +// NewMockDiscoveredCNIReconciler creates a new mock instance. +func NewMockDiscoveredCNIReconciler(ctrl *gomock.Controller) *MockDiscoveredCNIReconciler { + mock := &MockDiscoveredCNIReconciler{ctrl: ctrl} + mock.recorder = &MockDiscoveredCNIReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredCNIReconciler) EXPECT() *MockDiscoveredCNIReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIReconciler) ReconcileDiscoveredCNI(obj *v2.DiscoveredCNI) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDiscoveredCNI", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileDiscoveredCNI indicates an expected call of ReconcileDiscoveredCNI. +func (mr *MockDiscoveredCNIReconcilerMockRecorder) ReconcileDiscoveredCNI(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIReconciler)(nil).ReconcileDiscoveredCNI), obj) +} + +// MockDiscoveredCNIDeletionReconciler is a mock of DiscoveredCNIDeletionReconciler interface. +type MockDiscoveredCNIDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockDiscoveredCNIDeletionReconcilerMockRecorder +} + +// MockDiscoveredCNIDeletionReconcilerMockRecorder is the mock recorder for MockDiscoveredCNIDeletionReconciler. +type MockDiscoveredCNIDeletionReconcilerMockRecorder struct { + mock *MockDiscoveredCNIDeletionReconciler +} + +// NewMockDiscoveredCNIDeletionReconciler creates a new mock instance. +func NewMockDiscoveredCNIDeletionReconciler(ctrl *gomock.Controller) *MockDiscoveredCNIDeletionReconciler { + mock := &MockDiscoveredCNIDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockDiscoveredCNIDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredCNIDeletionReconciler) EXPECT() *MockDiscoveredCNIDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDiscoveredCNIDeletion mocks base method. +func (m *MockDiscoveredCNIDeletionReconciler) ReconcileDiscoveredCNIDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDiscoveredCNIDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileDiscoveredCNIDeletion indicates an expected call of ReconcileDiscoveredCNIDeletion. +func (mr *MockDiscoveredCNIDeletionReconcilerMockRecorder) ReconcileDiscoveredCNIDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDiscoveredCNIDeletion", reflect.TypeOf((*MockDiscoveredCNIDeletionReconciler)(nil).ReconcileDiscoveredCNIDeletion), req) +} + +// MockDiscoveredCNIFinalizer is a mock of DiscoveredCNIFinalizer interface. +type MockDiscoveredCNIFinalizer struct { + ctrl *gomock.Controller + recorder *MockDiscoveredCNIFinalizerMockRecorder +} + +// MockDiscoveredCNIFinalizerMockRecorder is the mock recorder for MockDiscoveredCNIFinalizer. +type MockDiscoveredCNIFinalizerMockRecorder struct { + mock *MockDiscoveredCNIFinalizer +} + +// NewMockDiscoveredCNIFinalizer creates a new mock instance. +func NewMockDiscoveredCNIFinalizer(ctrl *gomock.Controller) *MockDiscoveredCNIFinalizer { + mock := &MockDiscoveredCNIFinalizer{ctrl: ctrl} + mock.recorder = &MockDiscoveredCNIFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredCNIFinalizer) EXPECT() *MockDiscoveredCNIFinalizerMockRecorder { + return m.recorder +} + +// DiscoveredCNIFinalizerName mocks base method. +func (m *MockDiscoveredCNIFinalizer) DiscoveredCNIFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DiscoveredCNIFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// DiscoveredCNIFinalizerName indicates an expected call of DiscoveredCNIFinalizerName. +func (mr *MockDiscoveredCNIFinalizerMockRecorder) DiscoveredCNIFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DiscoveredCNIFinalizerName", reflect.TypeOf((*MockDiscoveredCNIFinalizer)(nil).DiscoveredCNIFinalizerName)) +} + +// FinalizeDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIFinalizer) FinalizeDiscoveredCNI(obj *v2.DiscoveredCNI) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeDiscoveredCNI", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeDiscoveredCNI indicates an expected call of FinalizeDiscoveredCNI. +func (mr *MockDiscoveredCNIFinalizerMockRecorder) FinalizeDiscoveredCNI(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIFinalizer)(nil).FinalizeDiscoveredCNI), obj) +} + +// ReconcileDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIFinalizer) ReconcileDiscoveredCNI(obj *v2.DiscoveredCNI) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDiscoveredCNI", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileDiscoveredCNI indicates an expected call of ReconcileDiscoveredCNI. +func (mr *MockDiscoveredCNIFinalizerMockRecorder) ReconcileDiscoveredCNI(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIFinalizer)(nil).ReconcileDiscoveredCNI), obj) +} + +// MockDiscoveredCNIReconcileLoop is a mock of DiscoveredCNIReconcileLoop interface. +type MockDiscoveredCNIReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockDiscoveredCNIReconcileLoopMockRecorder +} + +// MockDiscoveredCNIReconcileLoopMockRecorder is the mock recorder for MockDiscoveredCNIReconcileLoop. +type MockDiscoveredCNIReconcileLoopMockRecorder struct { + mock *MockDiscoveredCNIReconcileLoop +} + +// NewMockDiscoveredCNIReconcileLoop creates a new mock instance. +func NewMockDiscoveredCNIReconcileLoop(ctrl *gomock.Controller) *MockDiscoveredCNIReconcileLoop { + mock := &MockDiscoveredCNIReconcileLoop{ctrl: ctrl} + mock.recorder = &MockDiscoveredCNIReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredCNIReconcileLoop) EXPECT() *MockDiscoveredCNIReconcileLoopMockRecorder { + return m.recorder +} + +// RunDiscoveredCNIReconciler mocks base method. +func (m *MockDiscoveredCNIReconcileLoop) RunDiscoveredCNIReconciler(ctx context.Context, rec controller.DiscoveredCNIReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunDiscoveredCNIReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunDiscoveredCNIReconciler indicates an expected call of RunDiscoveredCNIReconciler. +func (mr *MockDiscoveredCNIReconcileLoopMockRecorder) RunDiscoveredCNIReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunDiscoveredCNIReconciler", reflect.TypeOf((*MockDiscoveredCNIReconcileLoop)(nil).RunDiscoveredCNIReconciler), varargs...) +} + +// MockPortalConfigReconciler is a mock of PortalConfigReconciler interface. +type MockPortalConfigReconciler struct { + ctrl *gomock.Controller + recorder *MockPortalConfigReconcilerMockRecorder +} + +// MockPortalConfigReconcilerMockRecorder is the mock recorder for MockPortalConfigReconciler. +type MockPortalConfigReconcilerMockRecorder struct { + mock *MockPortalConfigReconciler +} + +// NewMockPortalConfigReconciler creates a new mock instance. +func NewMockPortalConfigReconciler(ctrl *gomock.Controller) *MockPortalConfigReconciler { + mock := &MockPortalConfigReconciler{ctrl: ctrl} + mock.recorder = &MockPortalConfigReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalConfigReconciler) EXPECT() *MockPortalConfigReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePortalConfig mocks base method. +func (m *MockPortalConfigReconciler) ReconcilePortalConfig(obj *v2.PortalConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortalConfig", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcilePortalConfig indicates an expected call of ReconcilePortalConfig. +func (mr *MockPortalConfigReconcilerMockRecorder) ReconcilePortalConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortalConfig", reflect.TypeOf((*MockPortalConfigReconciler)(nil).ReconcilePortalConfig), obj) +} + +// MockPortalConfigDeletionReconciler is a mock of PortalConfigDeletionReconciler interface. +type MockPortalConfigDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockPortalConfigDeletionReconcilerMockRecorder +} + +// MockPortalConfigDeletionReconcilerMockRecorder is the mock recorder for MockPortalConfigDeletionReconciler. +type MockPortalConfigDeletionReconcilerMockRecorder struct { + mock *MockPortalConfigDeletionReconciler +} + +// NewMockPortalConfigDeletionReconciler creates a new mock instance. +func NewMockPortalConfigDeletionReconciler(ctrl *gomock.Controller) *MockPortalConfigDeletionReconciler { + mock := &MockPortalConfigDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockPortalConfigDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalConfigDeletionReconciler) EXPECT() *MockPortalConfigDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcilePortalConfigDeletion mocks base method. +func (m *MockPortalConfigDeletionReconciler) ReconcilePortalConfigDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortalConfigDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcilePortalConfigDeletion indicates an expected call of ReconcilePortalConfigDeletion. +func (mr *MockPortalConfigDeletionReconcilerMockRecorder) ReconcilePortalConfigDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortalConfigDeletion", reflect.TypeOf((*MockPortalConfigDeletionReconciler)(nil).ReconcilePortalConfigDeletion), req) +} + +// MockPortalConfigFinalizer is a mock of PortalConfigFinalizer interface. +type MockPortalConfigFinalizer struct { + ctrl *gomock.Controller + recorder *MockPortalConfigFinalizerMockRecorder +} + +// MockPortalConfigFinalizerMockRecorder is the mock recorder for MockPortalConfigFinalizer. +type MockPortalConfigFinalizerMockRecorder struct { + mock *MockPortalConfigFinalizer +} + +// NewMockPortalConfigFinalizer creates a new mock instance. +func NewMockPortalConfigFinalizer(ctrl *gomock.Controller) *MockPortalConfigFinalizer { + mock := &MockPortalConfigFinalizer{ctrl: ctrl} + mock.recorder = &MockPortalConfigFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalConfigFinalizer) EXPECT() *MockPortalConfigFinalizerMockRecorder { + return m.recorder +} + +// FinalizePortalConfig mocks base method. +func (m *MockPortalConfigFinalizer) FinalizePortalConfig(obj *v2.PortalConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizePortalConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizePortalConfig indicates an expected call of FinalizePortalConfig. +func (mr *MockPortalConfigFinalizerMockRecorder) FinalizePortalConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizePortalConfig", reflect.TypeOf((*MockPortalConfigFinalizer)(nil).FinalizePortalConfig), obj) +} + +// PortalConfigFinalizerName mocks base method. +func (m *MockPortalConfigFinalizer) PortalConfigFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PortalConfigFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// PortalConfigFinalizerName indicates an expected call of PortalConfigFinalizerName. +func (mr *MockPortalConfigFinalizerMockRecorder) PortalConfigFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PortalConfigFinalizerName", reflect.TypeOf((*MockPortalConfigFinalizer)(nil).PortalConfigFinalizerName)) +} + +// ReconcilePortalConfig mocks base method. +func (m *MockPortalConfigFinalizer) ReconcilePortalConfig(obj *v2.PortalConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcilePortalConfig", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcilePortalConfig indicates an expected call of ReconcilePortalConfig. +func (mr *MockPortalConfigFinalizerMockRecorder) ReconcilePortalConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcilePortalConfig", reflect.TypeOf((*MockPortalConfigFinalizer)(nil).ReconcilePortalConfig), obj) +} + +// MockPortalConfigReconcileLoop is a mock of PortalConfigReconcileLoop interface. +type MockPortalConfigReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockPortalConfigReconcileLoopMockRecorder +} + +// MockPortalConfigReconcileLoopMockRecorder is the mock recorder for MockPortalConfigReconcileLoop. +type MockPortalConfigReconcileLoopMockRecorder struct { + mock *MockPortalConfigReconcileLoop +} + +// NewMockPortalConfigReconcileLoop creates a new mock instance. +func NewMockPortalConfigReconcileLoop(ctrl *gomock.Controller) *MockPortalConfigReconcileLoop { + mock := &MockPortalConfigReconcileLoop{ctrl: ctrl} + mock.recorder = &MockPortalConfigReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalConfigReconcileLoop) EXPECT() *MockPortalConfigReconcileLoopMockRecorder { + return m.recorder +} + +// RunPortalConfigReconciler mocks base method. +func (m *MockPortalConfigReconcileLoop) RunPortalConfigReconciler(ctx context.Context, rec controller.PortalConfigReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunPortalConfigReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunPortalConfigReconciler indicates an expected call of RunPortalConfigReconciler. +func (mr *MockPortalConfigReconcileLoopMockRecorder) RunPortalConfigReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunPortalConfigReconciler", reflect.TypeOf((*MockPortalConfigReconcileLoop)(nil).RunPortalConfigReconciler), varargs...) +} diff --git a/client-go/internal.gloo.solo.io/v2/controller/multicluster_reconcilers.go b/client-go/internal.gloo.solo.io/v2/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..f92276d27 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/controller/multicluster_reconcilers.go @@ -0,0 +1,587 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + internal_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the IssuedCertificate Resource across clusters. +// implemented by the user +type MulticlusterIssuedCertificateReconciler interface { + ReconcileIssuedCertificate(clusterName string, obj *internal_gloo_solo_io_v2.IssuedCertificate) (reconcile.Result, error) +} + +// Reconcile deletion events for the IssuedCertificate Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterIssuedCertificateDeletionReconciler interface { + ReconcileIssuedCertificateDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterIssuedCertificateReconcilerFuncs struct { + OnReconcileIssuedCertificate func(clusterName string, obj *internal_gloo_solo_io_v2.IssuedCertificate) (reconcile.Result, error) + OnReconcileIssuedCertificateDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterIssuedCertificateReconcilerFuncs) ReconcileIssuedCertificate(clusterName string, obj *internal_gloo_solo_io_v2.IssuedCertificate) (reconcile.Result, error) { + if f.OnReconcileIssuedCertificate == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileIssuedCertificate(clusterName, obj) +} + +func (f *MulticlusterIssuedCertificateReconcilerFuncs) ReconcileIssuedCertificateDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileIssuedCertificateDeletion == nil { + return nil + } + return f.OnReconcileIssuedCertificateDeletion(clusterName, req) +} + +type MulticlusterIssuedCertificateReconcileLoop interface { + // AddMulticlusterIssuedCertificateReconciler adds a MulticlusterIssuedCertificateReconciler to the MulticlusterIssuedCertificateReconcileLoop. + AddMulticlusterIssuedCertificateReconciler(ctx context.Context, rec MulticlusterIssuedCertificateReconciler, predicates ...predicate.Predicate) +} + +type multiclusterIssuedCertificateReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterIssuedCertificateReconcileLoop) AddMulticlusterIssuedCertificateReconciler(ctx context.Context, rec MulticlusterIssuedCertificateReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericIssuedCertificateMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterIssuedCertificateReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterIssuedCertificateReconcileLoop { + return &multiclusterIssuedCertificateReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &internal_gloo_solo_io_v2.IssuedCertificate{}, options)} +} + +type genericIssuedCertificateMulticlusterReconciler struct { + reconciler MulticlusterIssuedCertificateReconciler +} + +func (g genericIssuedCertificateMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterIssuedCertificateDeletionReconciler); ok { + return deletionReconciler.ReconcileIssuedCertificateDeletion(cluster, req) + } + return nil +} + +func (g genericIssuedCertificateMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.IssuedCertificate) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: IssuedCertificate handler received event for %T", object) + } + return g.reconciler.ReconcileIssuedCertificate(cluster, obj) +} + +// Reconcile Upsert events for the CertificateRequest Resource across clusters. +// implemented by the user +type MulticlusterCertificateRequestReconciler interface { + ReconcileCertificateRequest(clusterName string, obj *internal_gloo_solo_io_v2.CertificateRequest) (reconcile.Result, error) +} + +// Reconcile deletion events for the CertificateRequest Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterCertificateRequestDeletionReconciler interface { + ReconcileCertificateRequestDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterCertificateRequestReconcilerFuncs struct { + OnReconcileCertificateRequest func(clusterName string, obj *internal_gloo_solo_io_v2.CertificateRequest) (reconcile.Result, error) + OnReconcileCertificateRequestDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterCertificateRequestReconcilerFuncs) ReconcileCertificateRequest(clusterName string, obj *internal_gloo_solo_io_v2.CertificateRequest) (reconcile.Result, error) { + if f.OnReconcileCertificateRequest == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileCertificateRequest(clusterName, obj) +} + +func (f *MulticlusterCertificateRequestReconcilerFuncs) ReconcileCertificateRequestDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileCertificateRequestDeletion == nil { + return nil + } + return f.OnReconcileCertificateRequestDeletion(clusterName, req) +} + +type MulticlusterCertificateRequestReconcileLoop interface { + // AddMulticlusterCertificateRequestReconciler adds a MulticlusterCertificateRequestReconciler to the MulticlusterCertificateRequestReconcileLoop. + AddMulticlusterCertificateRequestReconciler(ctx context.Context, rec MulticlusterCertificateRequestReconciler, predicates ...predicate.Predicate) +} + +type multiclusterCertificateRequestReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterCertificateRequestReconcileLoop) AddMulticlusterCertificateRequestReconciler(ctx context.Context, rec MulticlusterCertificateRequestReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericCertificateRequestMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterCertificateRequestReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterCertificateRequestReconcileLoop { + return &multiclusterCertificateRequestReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &internal_gloo_solo_io_v2.CertificateRequest{}, options)} +} + +type genericCertificateRequestMulticlusterReconciler struct { + reconciler MulticlusterCertificateRequestReconciler +} + +func (g genericCertificateRequestMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterCertificateRequestDeletionReconciler); ok { + return deletionReconciler.ReconcileCertificateRequestDeletion(cluster, req) + } + return nil +} + +func (g genericCertificateRequestMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.CertificateRequest) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: CertificateRequest handler received event for %T", object) + } + return g.reconciler.ReconcileCertificateRequest(cluster, obj) +} + +// Reconcile Upsert events for the PodBounceDirective Resource across clusters. +// implemented by the user +type MulticlusterPodBounceDirectiveReconciler interface { + ReconcilePodBounceDirective(clusterName string, obj *internal_gloo_solo_io_v2.PodBounceDirective) (reconcile.Result, error) +} + +// Reconcile deletion events for the PodBounceDirective Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterPodBounceDirectiveDeletionReconciler interface { + ReconcilePodBounceDirectiveDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterPodBounceDirectiveReconcilerFuncs struct { + OnReconcilePodBounceDirective func(clusterName string, obj *internal_gloo_solo_io_v2.PodBounceDirective) (reconcile.Result, error) + OnReconcilePodBounceDirectiveDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterPodBounceDirectiveReconcilerFuncs) ReconcilePodBounceDirective(clusterName string, obj *internal_gloo_solo_io_v2.PodBounceDirective) (reconcile.Result, error) { + if f.OnReconcilePodBounceDirective == nil { + return reconcile.Result{}, nil + } + return f.OnReconcilePodBounceDirective(clusterName, obj) +} + +func (f *MulticlusterPodBounceDirectiveReconcilerFuncs) ReconcilePodBounceDirectiveDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcilePodBounceDirectiveDeletion == nil { + return nil + } + return f.OnReconcilePodBounceDirectiveDeletion(clusterName, req) +} + +type MulticlusterPodBounceDirectiveReconcileLoop interface { + // AddMulticlusterPodBounceDirectiveReconciler adds a MulticlusterPodBounceDirectiveReconciler to the MulticlusterPodBounceDirectiveReconcileLoop. + AddMulticlusterPodBounceDirectiveReconciler(ctx context.Context, rec MulticlusterPodBounceDirectiveReconciler, predicates ...predicate.Predicate) +} + +type multiclusterPodBounceDirectiveReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterPodBounceDirectiveReconcileLoop) AddMulticlusterPodBounceDirectiveReconciler(ctx context.Context, rec MulticlusterPodBounceDirectiveReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericPodBounceDirectiveMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterPodBounceDirectiveReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterPodBounceDirectiveReconcileLoop { + return &multiclusterPodBounceDirectiveReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &internal_gloo_solo_io_v2.PodBounceDirective{}, options)} +} + +type genericPodBounceDirectiveMulticlusterReconciler struct { + reconciler MulticlusterPodBounceDirectiveReconciler +} + +func (g genericPodBounceDirectiveMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterPodBounceDirectiveDeletionReconciler); ok { + return deletionReconciler.ReconcilePodBounceDirectiveDeletion(cluster, req) + } + return nil +} + +func (g genericPodBounceDirectiveMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.PodBounceDirective) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: PodBounceDirective handler received event for %T", object) + } + return g.reconciler.ReconcilePodBounceDirective(cluster, obj) +} + +// Reconcile Upsert events for the XdsConfig Resource across clusters. +// implemented by the user +type MulticlusterXdsConfigReconciler interface { + ReconcileXdsConfig(clusterName string, obj *internal_gloo_solo_io_v2.XdsConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the XdsConfig Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterXdsConfigDeletionReconciler interface { + ReconcileXdsConfigDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterXdsConfigReconcilerFuncs struct { + OnReconcileXdsConfig func(clusterName string, obj *internal_gloo_solo_io_v2.XdsConfig) (reconcile.Result, error) + OnReconcileXdsConfigDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterXdsConfigReconcilerFuncs) ReconcileXdsConfig(clusterName string, obj *internal_gloo_solo_io_v2.XdsConfig) (reconcile.Result, error) { + if f.OnReconcileXdsConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileXdsConfig(clusterName, obj) +} + +func (f *MulticlusterXdsConfigReconcilerFuncs) ReconcileXdsConfigDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileXdsConfigDeletion == nil { + return nil + } + return f.OnReconcileXdsConfigDeletion(clusterName, req) +} + +type MulticlusterXdsConfigReconcileLoop interface { + // AddMulticlusterXdsConfigReconciler adds a MulticlusterXdsConfigReconciler to the MulticlusterXdsConfigReconcileLoop. + AddMulticlusterXdsConfigReconciler(ctx context.Context, rec MulticlusterXdsConfigReconciler, predicates ...predicate.Predicate) +} + +type multiclusterXdsConfigReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterXdsConfigReconcileLoop) AddMulticlusterXdsConfigReconciler(ctx context.Context, rec MulticlusterXdsConfigReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericXdsConfigMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterXdsConfigReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterXdsConfigReconcileLoop { + return &multiclusterXdsConfigReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &internal_gloo_solo_io_v2.XdsConfig{}, options)} +} + +type genericXdsConfigMulticlusterReconciler struct { + reconciler MulticlusterXdsConfigReconciler +} + +func (g genericXdsConfigMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterXdsConfigDeletionReconciler); ok { + return deletionReconciler.ReconcileXdsConfigDeletion(cluster, req) + } + return nil +} + +func (g genericXdsConfigMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.XdsConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: XdsConfig handler received event for %T", object) + } + return g.reconciler.ReconcileXdsConfig(cluster, obj) +} + +// Reconcile Upsert events for the DiscoveredGateway Resource across clusters. +// implemented by the user +type MulticlusterDiscoveredGatewayReconciler interface { + ReconcileDiscoveredGateway(clusterName string, obj *internal_gloo_solo_io_v2.DiscoveredGateway) (reconcile.Result, error) +} + +// Reconcile deletion events for the DiscoveredGateway Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterDiscoveredGatewayDeletionReconciler interface { + ReconcileDiscoveredGatewayDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterDiscoveredGatewayReconcilerFuncs struct { + OnReconcileDiscoveredGateway func(clusterName string, obj *internal_gloo_solo_io_v2.DiscoveredGateway) (reconcile.Result, error) + OnReconcileDiscoveredGatewayDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterDiscoveredGatewayReconcilerFuncs) ReconcileDiscoveredGateway(clusterName string, obj *internal_gloo_solo_io_v2.DiscoveredGateway) (reconcile.Result, error) { + if f.OnReconcileDiscoveredGateway == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileDiscoveredGateway(clusterName, obj) +} + +func (f *MulticlusterDiscoveredGatewayReconcilerFuncs) ReconcileDiscoveredGatewayDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileDiscoveredGatewayDeletion == nil { + return nil + } + return f.OnReconcileDiscoveredGatewayDeletion(clusterName, req) +} + +type MulticlusterDiscoveredGatewayReconcileLoop interface { + // AddMulticlusterDiscoveredGatewayReconciler adds a MulticlusterDiscoveredGatewayReconciler to the MulticlusterDiscoveredGatewayReconcileLoop. + AddMulticlusterDiscoveredGatewayReconciler(ctx context.Context, rec MulticlusterDiscoveredGatewayReconciler, predicates ...predicate.Predicate) +} + +type multiclusterDiscoveredGatewayReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterDiscoveredGatewayReconcileLoop) AddMulticlusterDiscoveredGatewayReconciler(ctx context.Context, rec MulticlusterDiscoveredGatewayReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericDiscoveredGatewayMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterDiscoveredGatewayReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterDiscoveredGatewayReconcileLoop { + return &multiclusterDiscoveredGatewayReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &internal_gloo_solo_io_v2.DiscoveredGateway{}, options)} +} + +type genericDiscoveredGatewayMulticlusterReconciler struct { + reconciler MulticlusterDiscoveredGatewayReconciler +} + +func (g genericDiscoveredGatewayMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterDiscoveredGatewayDeletionReconciler); ok { + return deletionReconciler.ReconcileDiscoveredGatewayDeletion(cluster, req) + } + return nil +} + +func (g genericDiscoveredGatewayMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.DiscoveredGateway) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: DiscoveredGateway handler received event for %T", object) + } + return g.reconciler.ReconcileDiscoveredGateway(cluster, obj) +} + +// Reconcile Upsert events for the Mesh Resource across clusters. +// implemented by the user +type MulticlusterMeshReconciler interface { + ReconcileMesh(clusterName string, obj *internal_gloo_solo_io_v2.Mesh) (reconcile.Result, error) +} + +// Reconcile deletion events for the Mesh Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterMeshDeletionReconciler interface { + ReconcileMeshDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterMeshReconcilerFuncs struct { + OnReconcileMesh func(clusterName string, obj *internal_gloo_solo_io_v2.Mesh) (reconcile.Result, error) + OnReconcileMeshDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterMeshReconcilerFuncs) ReconcileMesh(clusterName string, obj *internal_gloo_solo_io_v2.Mesh) (reconcile.Result, error) { + if f.OnReconcileMesh == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileMesh(clusterName, obj) +} + +func (f *MulticlusterMeshReconcilerFuncs) ReconcileMeshDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileMeshDeletion == nil { + return nil + } + return f.OnReconcileMeshDeletion(clusterName, req) +} + +type MulticlusterMeshReconcileLoop interface { + // AddMulticlusterMeshReconciler adds a MulticlusterMeshReconciler to the MulticlusterMeshReconcileLoop. + AddMulticlusterMeshReconciler(ctx context.Context, rec MulticlusterMeshReconciler, predicates ...predicate.Predicate) +} + +type multiclusterMeshReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterMeshReconcileLoop) AddMulticlusterMeshReconciler(ctx context.Context, rec MulticlusterMeshReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericMeshMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterMeshReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterMeshReconcileLoop { + return &multiclusterMeshReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &internal_gloo_solo_io_v2.Mesh{}, options)} +} + +type genericMeshMulticlusterReconciler struct { + reconciler MulticlusterMeshReconciler +} + +func (g genericMeshMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterMeshDeletionReconciler); ok { + return deletionReconciler.ReconcileMeshDeletion(cluster, req) + } + return nil +} + +func (g genericMeshMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.Mesh) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: Mesh handler received event for %T", object) + } + return g.reconciler.ReconcileMesh(cluster, obj) +} + +// Reconcile Upsert events for the DiscoveredCNI Resource across clusters. +// implemented by the user +type MulticlusterDiscoveredCNIReconciler interface { + ReconcileDiscoveredCNI(clusterName string, obj *internal_gloo_solo_io_v2.DiscoveredCNI) (reconcile.Result, error) +} + +// Reconcile deletion events for the DiscoveredCNI Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterDiscoveredCNIDeletionReconciler interface { + ReconcileDiscoveredCNIDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterDiscoveredCNIReconcilerFuncs struct { + OnReconcileDiscoveredCNI func(clusterName string, obj *internal_gloo_solo_io_v2.DiscoveredCNI) (reconcile.Result, error) + OnReconcileDiscoveredCNIDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterDiscoveredCNIReconcilerFuncs) ReconcileDiscoveredCNI(clusterName string, obj *internal_gloo_solo_io_v2.DiscoveredCNI) (reconcile.Result, error) { + if f.OnReconcileDiscoveredCNI == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileDiscoveredCNI(clusterName, obj) +} + +func (f *MulticlusterDiscoveredCNIReconcilerFuncs) ReconcileDiscoveredCNIDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileDiscoveredCNIDeletion == nil { + return nil + } + return f.OnReconcileDiscoveredCNIDeletion(clusterName, req) +} + +type MulticlusterDiscoveredCNIReconcileLoop interface { + // AddMulticlusterDiscoveredCNIReconciler adds a MulticlusterDiscoveredCNIReconciler to the MulticlusterDiscoveredCNIReconcileLoop. + AddMulticlusterDiscoveredCNIReconciler(ctx context.Context, rec MulticlusterDiscoveredCNIReconciler, predicates ...predicate.Predicate) +} + +type multiclusterDiscoveredCNIReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterDiscoveredCNIReconcileLoop) AddMulticlusterDiscoveredCNIReconciler(ctx context.Context, rec MulticlusterDiscoveredCNIReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericDiscoveredCNIMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterDiscoveredCNIReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterDiscoveredCNIReconcileLoop { + return &multiclusterDiscoveredCNIReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &internal_gloo_solo_io_v2.DiscoveredCNI{}, options)} +} + +type genericDiscoveredCNIMulticlusterReconciler struct { + reconciler MulticlusterDiscoveredCNIReconciler +} + +func (g genericDiscoveredCNIMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterDiscoveredCNIDeletionReconciler); ok { + return deletionReconciler.ReconcileDiscoveredCNIDeletion(cluster, req) + } + return nil +} + +func (g genericDiscoveredCNIMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.DiscoveredCNI) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: DiscoveredCNI handler received event for %T", object) + } + return g.reconciler.ReconcileDiscoveredCNI(cluster, obj) +} + +// Reconcile Upsert events for the PortalConfig Resource across clusters. +// implemented by the user +type MulticlusterPortalConfigReconciler interface { + ReconcilePortalConfig(clusterName string, obj *internal_gloo_solo_io_v2.PortalConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the PortalConfig Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterPortalConfigDeletionReconciler interface { + ReconcilePortalConfigDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterPortalConfigReconcilerFuncs struct { + OnReconcilePortalConfig func(clusterName string, obj *internal_gloo_solo_io_v2.PortalConfig) (reconcile.Result, error) + OnReconcilePortalConfigDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterPortalConfigReconcilerFuncs) ReconcilePortalConfig(clusterName string, obj *internal_gloo_solo_io_v2.PortalConfig) (reconcile.Result, error) { + if f.OnReconcilePortalConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcilePortalConfig(clusterName, obj) +} + +func (f *MulticlusterPortalConfigReconcilerFuncs) ReconcilePortalConfigDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcilePortalConfigDeletion == nil { + return nil + } + return f.OnReconcilePortalConfigDeletion(clusterName, req) +} + +type MulticlusterPortalConfigReconcileLoop interface { + // AddMulticlusterPortalConfigReconciler adds a MulticlusterPortalConfigReconciler to the MulticlusterPortalConfigReconcileLoop. + AddMulticlusterPortalConfigReconciler(ctx context.Context, rec MulticlusterPortalConfigReconciler, predicates ...predicate.Predicate) +} + +type multiclusterPortalConfigReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterPortalConfigReconcileLoop) AddMulticlusterPortalConfigReconciler(ctx context.Context, rec MulticlusterPortalConfigReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericPortalConfigMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterPortalConfigReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterPortalConfigReconcileLoop { + return &multiclusterPortalConfigReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &internal_gloo_solo_io_v2.PortalConfig{}, options)} +} + +type genericPortalConfigMulticlusterReconciler struct { + reconciler MulticlusterPortalConfigReconciler +} + +func (g genericPortalConfigMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterPortalConfigDeletionReconciler); ok { + return deletionReconciler.ReconcilePortalConfigDeletion(cluster, req) + } + return nil +} + +func (g genericPortalConfigMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.PortalConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: PortalConfig handler received event for %T", object) + } + return g.reconciler.ReconcilePortalConfig(cluster, obj) +} diff --git a/client-go/internal.gloo.solo.io/v2/controller/reconcilers.go b/client-go/internal.gloo.solo.io/v2/controller/reconcilers.go new file mode 100644 index 000000000..98f17cc7a --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/controller/reconcilers.go @@ -0,0 +1,954 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + internal_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the IssuedCertificate Resource. +// implemented by the user +type IssuedCertificateReconciler interface { + ReconcileIssuedCertificate(obj *internal_gloo_solo_io_v2.IssuedCertificate) (reconcile.Result, error) +} + +// Reconcile deletion events for the IssuedCertificate Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type IssuedCertificateDeletionReconciler interface { + ReconcileIssuedCertificateDeletion(req reconcile.Request) error +} + +type IssuedCertificateReconcilerFuncs struct { + OnReconcileIssuedCertificate func(obj *internal_gloo_solo_io_v2.IssuedCertificate) (reconcile.Result, error) + OnReconcileIssuedCertificateDeletion func(req reconcile.Request) error +} + +func (f *IssuedCertificateReconcilerFuncs) ReconcileIssuedCertificate(obj *internal_gloo_solo_io_v2.IssuedCertificate) (reconcile.Result, error) { + if f.OnReconcileIssuedCertificate == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileIssuedCertificate(obj) +} + +func (f *IssuedCertificateReconcilerFuncs) ReconcileIssuedCertificateDeletion(req reconcile.Request) error { + if f.OnReconcileIssuedCertificateDeletion == nil { + return nil + } + return f.OnReconcileIssuedCertificateDeletion(req) +} + +// Reconcile and finalize the IssuedCertificate Resource +// implemented by the user +type IssuedCertificateFinalizer interface { + IssuedCertificateReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + IssuedCertificateFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeIssuedCertificate(obj *internal_gloo_solo_io_v2.IssuedCertificate) error +} + +type IssuedCertificateReconcileLoop interface { + RunIssuedCertificateReconciler(ctx context.Context, rec IssuedCertificateReconciler, predicates ...predicate.Predicate) error +} + +type issuedCertificateReconcileLoop struct { + loop reconcile.Loop +} + +func NewIssuedCertificateReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) IssuedCertificateReconcileLoop { + return &issuedCertificateReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &internal_gloo_solo_io_v2.IssuedCertificate{}, options), + } +} + +func (c *issuedCertificateReconcileLoop) RunIssuedCertificateReconciler(ctx context.Context, reconciler IssuedCertificateReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericIssuedCertificateReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(IssuedCertificateFinalizer); ok { + reconcilerWrapper = genericIssuedCertificateFinalizer{ + genericIssuedCertificateReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericIssuedCertificateHandler implements a generic reconcile.Reconciler +type genericIssuedCertificateReconciler struct { + reconciler IssuedCertificateReconciler +} + +func (r genericIssuedCertificateReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.IssuedCertificate) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: IssuedCertificate handler received event for %T", object) + } + return r.reconciler.ReconcileIssuedCertificate(obj) +} + +func (r genericIssuedCertificateReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(IssuedCertificateDeletionReconciler); ok { + return deletionReconciler.ReconcileIssuedCertificateDeletion(request) + } + return nil +} + +// genericIssuedCertificateFinalizer implements a generic reconcile.FinalizingReconciler +type genericIssuedCertificateFinalizer struct { + genericIssuedCertificateReconciler + finalizingReconciler IssuedCertificateFinalizer +} + +func (r genericIssuedCertificateFinalizer) FinalizerName() string { + return r.finalizingReconciler.IssuedCertificateFinalizerName() +} + +func (r genericIssuedCertificateFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.IssuedCertificate) + if !ok { + return errors.Errorf("internal error: IssuedCertificate handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeIssuedCertificate(obj) +} + +// Reconcile Upsert events for the CertificateRequest Resource. +// implemented by the user +type CertificateRequestReconciler interface { + ReconcileCertificateRequest(obj *internal_gloo_solo_io_v2.CertificateRequest) (reconcile.Result, error) +} + +// Reconcile deletion events for the CertificateRequest Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type CertificateRequestDeletionReconciler interface { + ReconcileCertificateRequestDeletion(req reconcile.Request) error +} + +type CertificateRequestReconcilerFuncs struct { + OnReconcileCertificateRequest func(obj *internal_gloo_solo_io_v2.CertificateRequest) (reconcile.Result, error) + OnReconcileCertificateRequestDeletion func(req reconcile.Request) error +} + +func (f *CertificateRequestReconcilerFuncs) ReconcileCertificateRequest(obj *internal_gloo_solo_io_v2.CertificateRequest) (reconcile.Result, error) { + if f.OnReconcileCertificateRequest == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileCertificateRequest(obj) +} + +func (f *CertificateRequestReconcilerFuncs) ReconcileCertificateRequestDeletion(req reconcile.Request) error { + if f.OnReconcileCertificateRequestDeletion == nil { + return nil + } + return f.OnReconcileCertificateRequestDeletion(req) +} + +// Reconcile and finalize the CertificateRequest Resource +// implemented by the user +type CertificateRequestFinalizer interface { + CertificateRequestReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + CertificateRequestFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeCertificateRequest(obj *internal_gloo_solo_io_v2.CertificateRequest) error +} + +type CertificateRequestReconcileLoop interface { + RunCertificateRequestReconciler(ctx context.Context, rec CertificateRequestReconciler, predicates ...predicate.Predicate) error +} + +type certificateRequestReconcileLoop struct { + loop reconcile.Loop +} + +func NewCertificateRequestReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) CertificateRequestReconcileLoop { + return &certificateRequestReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &internal_gloo_solo_io_v2.CertificateRequest{}, options), + } +} + +func (c *certificateRequestReconcileLoop) RunCertificateRequestReconciler(ctx context.Context, reconciler CertificateRequestReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericCertificateRequestReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(CertificateRequestFinalizer); ok { + reconcilerWrapper = genericCertificateRequestFinalizer{ + genericCertificateRequestReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericCertificateRequestHandler implements a generic reconcile.Reconciler +type genericCertificateRequestReconciler struct { + reconciler CertificateRequestReconciler +} + +func (r genericCertificateRequestReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.CertificateRequest) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: CertificateRequest handler received event for %T", object) + } + return r.reconciler.ReconcileCertificateRequest(obj) +} + +func (r genericCertificateRequestReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(CertificateRequestDeletionReconciler); ok { + return deletionReconciler.ReconcileCertificateRequestDeletion(request) + } + return nil +} + +// genericCertificateRequestFinalizer implements a generic reconcile.FinalizingReconciler +type genericCertificateRequestFinalizer struct { + genericCertificateRequestReconciler + finalizingReconciler CertificateRequestFinalizer +} + +func (r genericCertificateRequestFinalizer) FinalizerName() string { + return r.finalizingReconciler.CertificateRequestFinalizerName() +} + +func (r genericCertificateRequestFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.CertificateRequest) + if !ok { + return errors.Errorf("internal error: CertificateRequest handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeCertificateRequest(obj) +} + +// Reconcile Upsert events for the PodBounceDirective Resource. +// implemented by the user +type PodBounceDirectiveReconciler interface { + ReconcilePodBounceDirective(obj *internal_gloo_solo_io_v2.PodBounceDirective) (reconcile.Result, error) +} + +// Reconcile deletion events for the PodBounceDirective Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type PodBounceDirectiveDeletionReconciler interface { + ReconcilePodBounceDirectiveDeletion(req reconcile.Request) error +} + +type PodBounceDirectiveReconcilerFuncs struct { + OnReconcilePodBounceDirective func(obj *internal_gloo_solo_io_v2.PodBounceDirective) (reconcile.Result, error) + OnReconcilePodBounceDirectiveDeletion func(req reconcile.Request) error +} + +func (f *PodBounceDirectiveReconcilerFuncs) ReconcilePodBounceDirective(obj *internal_gloo_solo_io_v2.PodBounceDirective) (reconcile.Result, error) { + if f.OnReconcilePodBounceDirective == nil { + return reconcile.Result{}, nil + } + return f.OnReconcilePodBounceDirective(obj) +} + +func (f *PodBounceDirectiveReconcilerFuncs) ReconcilePodBounceDirectiveDeletion(req reconcile.Request) error { + if f.OnReconcilePodBounceDirectiveDeletion == nil { + return nil + } + return f.OnReconcilePodBounceDirectiveDeletion(req) +} + +// Reconcile and finalize the PodBounceDirective Resource +// implemented by the user +type PodBounceDirectiveFinalizer interface { + PodBounceDirectiveReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + PodBounceDirectiveFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizePodBounceDirective(obj *internal_gloo_solo_io_v2.PodBounceDirective) error +} + +type PodBounceDirectiveReconcileLoop interface { + RunPodBounceDirectiveReconciler(ctx context.Context, rec PodBounceDirectiveReconciler, predicates ...predicate.Predicate) error +} + +type podBounceDirectiveReconcileLoop struct { + loop reconcile.Loop +} + +func NewPodBounceDirectiveReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) PodBounceDirectiveReconcileLoop { + return &podBounceDirectiveReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &internal_gloo_solo_io_v2.PodBounceDirective{}, options), + } +} + +func (c *podBounceDirectiveReconcileLoop) RunPodBounceDirectiveReconciler(ctx context.Context, reconciler PodBounceDirectiveReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericPodBounceDirectiveReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(PodBounceDirectiveFinalizer); ok { + reconcilerWrapper = genericPodBounceDirectiveFinalizer{ + genericPodBounceDirectiveReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericPodBounceDirectiveHandler implements a generic reconcile.Reconciler +type genericPodBounceDirectiveReconciler struct { + reconciler PodBounceDirectiveReconciler +} + +func (r genericPodBounceDirectiveReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.PodBounceDirective) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: PodBounceDirective handler received event for %T", object) + } + return r.reconciler.ReconcilePodBounceDirective(obj) +} + +func (r genericPodBounceDirectiveReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(PodBounceDirectiveDeletionReconciler); ok { + return deletionReconciler.ReconcilePodBounceDirectiveDeletion(request) + } + return nil +} + +// genericPodBounceDirectiveFinalizer implements a generic reconcile.FinalizingReconciler +type genericPodBounceDirectiveFinalizer struct { + genericPodBounceDirectiveReconciler + finalizingReconciler PodBounceDirectiveFinalizer +} + +func (r genericPodBounceDirectiveFinalizer) FinalizerName() string { + return r.finalizingReconciler.PodBounceDirectiveFinalizerName() +} + +func (r genericPodBounceDirectiveFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.PodBounceDirective) + if !ok { + return errors.Errorf("internal error: PodBounceDirective handler received event for %T", object) + } + return r.finalizingReconciler.FinalizePodBounceDirective(obj) +} + +// Reconcile Upsert events for the XdsConfig Resource. +// implemented by the user +type XdsConfigReconciler interface { + ReconcileXdsConfig(obj *internal_gloo_solo_io_v2.XdsConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the XdsConfig Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type XdsConfigDeletionReconciler interface { + ReconcileXdsConfigDeletion(req reconcile.Request) error +} + +type XdsConfigReconcilerFuncs struct { + OnReconcileXdsConfig func(obj *internal_gloo_solo_io_v2.XdsConfig) (reconcile.Result, error) + OnReconcileXdsConfigDeletion func(req reconcile.Request) error +} + +func (f *XdsConfigReconcilerFuncs) ReconcileXdsConfig(obj *internal_gloo_solo_io_v2.XdsConfig) (reconcile.Result, error) { + if f.OnReconcileXdsConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileXdsConfig(obj) +} + +func (f *XdsConfigReconcilerFuncs) ReconcileXdsConfigDeletion(req reconcile.Request) error { + if f.OnReconcileXdsConfigDeletion == nil { + return nil + } + return f.OnReconcileXdsConfigDeletion(req) +} + +// Reconcile and finalize the XdsConfig Resource +// implemented by the user +type XdsConfigFinalizer interface { + XdsConfigReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + XdsConfigFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeXdsConfig(obj *internal_gloo_solo_io_v2.XdsConfig) error +} + +type XdsConfigReconcileLoop interface { + RunXdsConfigReconciler(ctx context.Context, rec XdsConfigReconciler, predicates ...predicate.Predicate) error +} + +type xdsConfigReconcileLoop struct { + loop reconcile.Loop +} + +func NewXdsConfigReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) XdsConfigReconcileLoop { + return &xdsConfigReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &internal_gloo_solo_io_v2.XdsConfig{}, options), + } +} + +func (c *xdsConfigReconcileLoop) RunXdsConfigReconciler(ctx context.Context, reconciler XdsConfigReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericXdsConfigReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(XdsConfigFinalizer); ok { + reconcilerWrapper = genericXdsConfigFinalizer{ + genericXdsConfigReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericXdsConfigHandler implements a generic reconcile.Reconciler +type genericXdsConfigReconciler struct { + reconciler XdsConfigReconciler +} + +func (r genericXdsConfigReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.XdsConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: XdsConfig handler received event for %T", object) + } + return r.reconciler.ReconcileXdsConfig(obj) +} + +func (r genericXdsConfigReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(XdsConfigDeletionReconciler); ok { + return deletionReconciler.ReconcileXdsConfigDeletion(request) + } + return nil +} + +// genericXdsConfigFinalizer implements a generic reconcile.FinalizingReconciler +type genericXdsConfigFinalizer struct { + genericXdsConfigReconciler + finalizingReconciler XdsConfigFinalizer +} + +func (r genericXdsConfigFinalizer) FinalizerName() string { + return r.finalizingReconciler.XdsConfigFinalizerName() +} + +func (r genericXdsConfigFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.XdsConfig) + if !ok { + return errors.Errorf("internal error: XdsConfig handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeXdsConfig(obj) +} + +// Reconcile Upsert events for the DiscoveredGateway Resource. +// implemented by the user +type DiscoveredGatewayReconciler interface { + ReconcileDiscoveredGateway(obj *internal_gloo_solo_io_v2.DiscoveredGateway) (reconcile.Result, error) +} + +// Reconcile deletion events for the DiscoveredGateway Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type DiscoveredGatewayDeletionReconciler interface { + ReconcileDiscoveredGatewayDeletion(req reconcile.Request) error +} + +type DiscoveredGatewayReconcilerFuncs struct { + OnReconcileDiscoveredGateway func(obj *internal_gloo_solo_io_v2.DiscoveredGateway) (reconcile.Result, error) + OnReconcileDiscoveredGatewayDeletion func(req reconcile.Request) error +} + +func (f *DiscoveredGatewayReconcilerFuncs) ReconcileDiscoveredGateway(obj *internal_gloo_solo_io_v2.DiscoveredGateway) (reconcile.Result, error) { + if f.OnReconcileDiscoveredGateway == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileDiscoveredGateway(obj) +} + +func (f *DiscoveredGatewayReconcilerFuncs) ReconcileDiscoveredGatewayDeletion(req reconcile.Request) error { + if f.OnReconcileDiscoveredGatewayDeletion == nil { + return nil + } + return f.OnReconcileDiscoveredGatewayDeletion(req) +} + +// Reconcile and finalize the DiscoveredGateway Resource +// implemented by the user +type DiscoveredGatewayFinalizer interface { + DiscoveredGatewayReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + DiscoveredGatewayFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeDiscoveredGateway(obj *internal_gloo_solo_io_v2.DiscoveredGateway) error +} + +type DiscoveredGatewayReconcileLoop interface { + RunDiscoveredGatewayReconciler(ctx context.Context, rec DiscoveredGatewayReconciler, predicates ...predicate.Predicate) error +} + +type discoveredGatewayReconcileLoop struct { + loop reconcile.Loop +} + +func NewDiscoveredGatewayReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) DiscoveredGatewayReconcileLoop { + return &discoveredGatewayReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &internal_gloo_solo_io_v2.DiscoveredGateway{}, options), + } +} + +func (c *discoveredGatewayReconcileLoop) RunDiscoveredGatewayReconciler(ctx context.Context, reconciler DiscoveredGatewayReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericDiscoveredGatewayReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(DiscoveredGatewayFinalizer); ok { + reconcilerWrapper = genericDiscoveredGatewayFinalizer{ + genericDiscoveredGatewayReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericDiscoveredGatewayHandler implements a generic reconcile.Reconciler +type genericDiscoveredGatewayReconciler struct { + reconciler DiscoveredGatewayReconciler +} + +func (r genericDiscoveredGatewayReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.DiscoveredGateway) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: DiscoveredGateway handler received event for %T", object) + } + return r.reconciler.ReconcileDiscoveredGateway(obj) +} + +func (r genericDiscoveredGatewayReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(DiscoveredGatewayDeletionReconciler); ok { + return deletionReconciler.ReconcileDiscoveredGatewayDeletion(request) + } + return nil +} + +// genericDiscoveredGatewayFinalizer implements a generic reconcile.FinalizingReconciler +type genericDiscoveredGatewayFinalizer struct { + genericDiscoveredGatewayReconciler + finalizingReconciler DiscoveredGatewayFinalizer +} + +func (r genericDiscoveredGatewayFinalizer) FinalizerName() string { + return r.finalizingReconciler.DiscoveredGatewayFinalizerName() +} + +func (r genericDiscoveredGatewayFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.DiscoveredGateway) + if !ok { + return errors.Errorf("internal error: DiscoveredGateway handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeDiscoveredGateway(obj) +} + +// Reconcile Upsert events for the Mesh Resource. +// implemented by the user +type MeshReconciler interface { + ReconcileMesh(obj *internal_gloo_solo_io_v2.Mesh) (reconcile.Result, error) +} + +// Reconcile deletion events for the Mesh Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MeshDeletionReconciler interface { + ReconcileMeshDeletion(req reconcile.Request) error +} + +type MeshReconcilerFuncs struct { + OnReconcileMesh func(obj *internal_gloo_solo_io_v2.Mesh) (reconcile.Result, error) + OnReconcileMeshDeletion func(req reconcile.Request) error +} + +func (f *MeshReconcilerFuncs) ReconcileMesh(obj *internal_gloo_solo_io_v2.Mesh) (reconcile.Result, error) { + if f.OnReconcileMesh == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileMesh(obj) +} + +func (f *MeshReconcilerFuncs) ReconcileMeshDeletion(req reconcile.Request) error { + if f.OnReconcileMeshDeletion == nil { + return nil + } + return f.OnReconcileMeshDeletion(req) +} + +// Reconcile and finalize the Mesh Resource +// implemented by the user +type MeshFinalizer interface { + MeshReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + MeshFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeMesh(obj *internal_gloo_solo_io_v2.Mesh) error +} + +type MeshReconcileLoop interface { + RunMeshReconciler(ctx context.Context, rec MeshReconciler, predicates ...predicate.Predicate) error +} + +type meshReconcileLoop struct { + loop reconcile.Loop +} + +func NewMeshReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) MeshReconcileLoop { + return &meshReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &internal_gloo_solo_io_v2.Mesh{}, options), + } +} + +func (c *meshReconcileLoop) RunMeshReconciler(ctx context.Context, reconciler MeshReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericMeshReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(MeshFinalizer); ok { + reconcilerWrapper = genericMeshFinalizer{ + genericMeshReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericMeshHandler implements a generic reconcile.Reconciler +type genericMeshReconciler struct { + reconciler MeshReconciler +} + +func (r genericMeshReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.Mesh) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: Mesh handler received event for %T", object) + } + return r.reconciler.ReconcileMesh(obj) +} + +func (r genericMeshReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(MeshDeletionReconciler); ok { + return deletionReconciler.ReconcileMeshDeletion(request) + } + return nil +} + +// genericMeshFinalizer implements a generic reconcile.FinalizingReconciler +type genericMeshFinalizer struct { + genericMeshReconciler + finalizingReconciler MeshFinalizer +} + +func (r genericMeshFinalizer) FinalizerName() string { + return r.finalizingReconciler.MeshFinalizerName() +} + +func (r genericMeshFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.Mesh) + if !ok { + return errors.Errorf("internal error: Mesh handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeMesh(obj) +} + +// Reconcile Upsert events for the DiscoveredCNI Resource. +// implemented by the user +type DiscoveredCNIReconciler interface { + ReconcileDiscoveredCNI(obj *internal_gloo_solo_io_v2.DiscoveredCNI) (reconcile.Result, error) +} + +// Reconcile deletion events for the DiscoveredCNI Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type DiscoveredCNIDeletionReconciler interface { + ReconcileDiscoveredCNIDeletion(req reconcile.Request) error +} + +type DiscoveredCNIReconcilerFuncs struct { + OnReconcileDiscoveredCNI func(obj *internal_gloo_solo_io_v2.DiscoveredCNI) (reconcile.Result, error) + OnReconcileDiscoveredCNIDeletion func(req reconcile.Request) error +} + +func (f *DiscoveredCNIReconcilerFuncs) ReconcileDiscoveredCNI(obj *internal_gloo_solo_io_v2.DiscoveredCNI) (reconcile.Result, error) { + if f.OnReconcileDiscoveredCNI == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileDiscoveredCNI(obj) +} + +func (f *DiscoveredCNIReconcilerFuncs) ReconcileDiscoveredCNIDeletion(req reconcile.Request) error { + if f.OnReconcileDiscoveredCNIDeletion == nil { + return nil + } + return f.OnReconcileDiscoveredCNIDeletion(req) +} + +// Reconcile and finalize the DiscoveredCNI Resource +// implemented by the user +type DiscoveredCNIFinalizer interface { + DiscoveredCNIReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + DiscoveredCNIFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeDiscoveredCNI(obj *internal_gloo_solo_io_v2.DiscoveredCNI) error +} + +type DiscoveredCNIReconcileLoop interface { + RunDiscoveredCNIReconciler(ctx context.Context, rec DiscoveredCNIReconciler, predicates ...predicate.Predicate) error +} + +type discoveredCNIReconcileLoop struct { + loop reconcile.Loop +} + +func NewDiscoveredCNIReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) DiscoveredCNIReconcileLoop { + return &discoveredCNIReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &internal_gloo_solo_io_v2.DiscoveredCNI{}, options), + } +} + +func (c *discoveredCNIReconcileLoop) RunDiscoveredCNIReconciler(ctx context.Context, reconciler DiscoveredCNIReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericDiscoveredCNIReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(DiscoveredCNIFinalizer); ok { + reconcilerWrapper = genericDiscoveredCNIFinalizer{ + genericDiscoveredCNIReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericDiscoveredCNIHandler implements a generic reconcile.Reconciler +type genericDiscoveredCNIReconciler struct { + reconciler DiscoveredCNIReconciler +} + +func (r genericDiscoveredCNIReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.DiscoveredCNI) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: DiscoveredCNI handler received event for %T", object) + } + return r.reconciler.ReconcileDiscoveredCNI(obj) +} + +func (r genericDiscoveredCNIReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(DiscoveredCNIDeletionReconciler); ok { + return deletionReconciler.ReconcileDiscoveredCNIDeletion(request) + } + return nil +} + +// genericDiscoveredCNIFinalizer implements a generic reconcile.FinalizingReconciler +type genericDiscoveredCNIFinalizer struct { + genericDiscoveredCNIReconciler + finalizingReconciler DiscoveredCNIFinalizer +} + +func (r genericDiscoveredCNIFinalizer) FinalizerName() string { + return r.finalizingReconciler.DiscoveredCNIFinalizerName() +} + +func (r genericDiscoveredCNIFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.DiscoveredCNI) + if !ok { + return errors.Errorf("internal error: DiscoveredCNI handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeDiscoveredCNI(obj) +} + +// Reconcile Upsert events for the PortalConfig Resource. +// implemented by the user +type PortalConfigReconciler interface { + ReconcilePortalConfig(obj *internal_gloo_solo_io_v2.PortalConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the PortalConfig Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type PortalConfigDeletionReconciler interface { + ReconcilePortalConfigDeletion(req reconcile.Request) error +} + +type PortalConfigReconcilerFuncs struct { + OnReconcilePortalConfig func(obj *internal_gloo_solo_io_v2.PortalConfig) (reconcile.Result, error) + OnReconcilePortalConfigDeletion func(req reconcile.Request) error +} + +func (f *PortalConfigReconcilerFuncs) ReconcilePortalConfig(obj *internal_gloo_solo_io_v2.PortalConfig) (reconcile.Result, error) { + if f.OnReconcilePortalConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcilePortalConfig(obj) +} + +func (f *PortalConfigReconcilerFuncs) ReconcilePortalConfigDeletion(req reconcile.Request) error { + if f.OnReconcilePortalConfigDeletion == nil { + return nil + } + return f.OnReconcilePortalConfigDeletion(req) +} + +// Reconcile and finalize the PortalConfig Resource +// implemented by the user +type PortalConfigFinalizer interface { + PortalConfigReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + PortalConfigFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizePortalConfig(obj *internal_gloo_solo_io_v2.PortalConfig) error +} + +type PortalConfigReconcileLoop interface { + RunPortalConfigReconciler(ctx context.Context, rec PortalConfigReconciler, predicates ...predicate.Predicate) error +} + +type portalConfigReconcileLoop struct { + loop reconcile.Loop +} + +func NewPortalConfigReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) PortalConfigReconcileLoop { + return &portalConfigReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &internal_gloo_solo_io_v2.PortalConfig{}, options), + } +} + +func (c *portalConfigReconcileLoop) RunPortalConfigReconciler(ctx context.Context, reconciler PortalConfigReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericPortalConfigReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(PortalConfigFinalizer); ok { + reconcilerWrapper = genericPortalConfigFinalizer{ + genericPortalConfigReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericPortalConfigHandler implements a generic reconcile.Reconciler +type genericPortalConfigReconciler struct { + reconciler PortalConfigReconciler +} + +func (r genericPortalConfigReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2.PortalConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: PortalConfig handler received event for %T", object) + } + return r.reconciler.ReconcilePortalConfig(obj) +} + +func (r genericPortalConfigReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(PortalConfigDeletionReconciler); ok { + return deletionReconciler.ReconcilePortalConfigDeletion(request) + } + return nil +} + +// genericPortalConfigFinalizer implements a generic reconcile.FinalizingReconciler +type genericPortalConfigFinalizer struct { + genericPortalConfigReconciler + finalizingReconciler PortalConfigFinalizer +} + +func (r genericPortalConfigFinalizer) FinalizerName() string { + return r.finalizingReconciler.PortalConfigFinalizerName() +} + +func (r genericPortalConfigFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2.PortalConfig) + if !ok { + return errors.Errorf("internal error: PortalConfig handler received event for %T", object) + } + return r.finalizingReconciler.FinalizePortalConfig(obj) +} diff --git a/client-go/internal.gloo.solo.io/v2/discovered_cni.pb.clone.go b/client-go/internal.gloo.solo.io/v2/discovered_cni.pb.clone.go new file mode 100644 index 000000000..9294e918e --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/discovered_cni.pb.clone.go @@ -0,0 +1,64 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/discovered_cni.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *DiscoveredCNISpec) Clone() proto.Message { + var target *DiscoveredCNISpec + if m == nil { + return target + } + target = &DiscoveredCNISpec{} + + if h, ok := interface{}(m.GetAgent()).(clone.Cloner); ok { + target.Agent = h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef) + } else { + target.Agent = proto.Clone(m.GetAgent()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef) + } + + target.Provider = m.GetProvider() + + target.Version = m.GetVersion() + + target.MetricsPortNumber = m.GetMetricsPortNumber() + + return target +} + +// Clone function +func (m *DiscoveredCNIStatus) Clone() proto.Message { + var target *DiscoveredCNIStatus + if m == nil { + return target + } + target = &DiscoveredCNIStatus{} + + target.ObservedGeneration = m.GetObservedGeneration() + + return target +} diff --git a/client-go/internal.gloo.solo.io/v2/discovered_cni.pb.equal.go b/client-go/internal.gloo.solo.io/v2/discovered_cni.pb.equal.go new file mode 100644 index 000000000..47a8de2a7 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/discovered_cni.pb.equal.go @@ -0,0 +1,100 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/discovered_cni.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *DiscoveredCNISpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DiscoveredCNISpec) + if !ok { + that2, ok := that.(DiscoveredCNISpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetAgent()).(equality.Equalizer); ok { + if !h.Equal(target.GetAgent()) { + return false + } + } else { + if !proto.Equal(m.GetAgent(), target.GetAgent()) { + return false + } + } + + if m.GetProvider() != target.GetProvider() { + return false + } + + if strings.Compare(m.GetVersion(), target.GetVersion()) != 0 { + return false + } + + if m.GetMetricsPortNumber() != target.GetMetricsPortNumber() { + return false + } + + return true +} + +// Equal function +func (m *DiscoveredCNIStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DiscoveredCNIStatus) + if !ok { + that2, ok := that.(DiscoveredCNIStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetObservedGeneration() != target.GetObservedGeneration() { + return false + } + + return true +} diff --git a/client-go/internal.gloo.solo.io/v2/discovered_cni.pb.go b/client-go/internal.gloo.solo.io/v2/discovered_cni.pb.go new file mode 100644 index 000000000..85195087f --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/discovered_cni.pb.go @@ -0,0 +1,326 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/discovered_cni.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type DiscoveredCNISpec_CNIProvider int32 + +const ( + DiscoveredCNISpec_CILIUM DiscoveredCNISpec_CNIProvider = 0 + DiscoveredCNISpec_CALICO DiscoveredCNISpec_CNIProvider = 1 +) + +// Enum value maps for DiscoveredCNISpec_CNIProvider. +var ( + DiscoveredCNISpec_CNIProvider_name = map[int32]string{ + 0: "CILIUM", + 1: "CALICO", + } + DiscoveredCNISpec_CNIProvider_value = map[string]int32{ + "CILIUM": 0, + "CALICO": 1, + } +) + +func (x DiscoveredCNISpec_CNIProvider) Enum() *DiscoveredCNISpec_CNIProvider { + p := new(DiscoveredCNISpec_CNIProvider) + *p = x + return p +} + +func (x DiscoveredCNISpec_CNIProvider) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DiscoveredCNISpec_CNIProvider) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_enumTypes[0].Descriptor() +} + +func (DiscoveredCNISpec_CNIProvider) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_enumTypes[0] +} + +func (x DiscoveredCNISpec_CNIProvider) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DiscoveredCNISpec_CNIProvider.Descriptor instead. +func (DiscoveredCNISpec_CNIProvider) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDescGZIP(), []int{0, 0} +} + +// A DiscoveredCNISpec is an internal representation of a CNI discovered to be running in a cluster. +// DiscoveredCNIs are automatically detected from the node agent (DaemonSet) which runs on each CNI-networked cluster. +type DiscoveredCNISpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Reference to the Kubernetes DaemonSet that runs throughout the cluster. + Agent *v1.ClusterObjectRef `protobuf:"bytes,1,opt,name=agent,proto3" json:"agent,omitempty"` + // The provider of CNI installed. + Provider DiscoveredCNISpec_CNIProvider `protobuf:"varint,2,opt,name=provider,proto3,enum=internal.gloo.solo.io.DiscoveredCNISpec_CNIProvider" json:"provider,omitempty"` + // the version of the CNI installed. + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + // the port number used to service CNI metrics. + MetricsPortNumber uint32 `protobuf:"varint,4,opt,name=metrics_port_number,json=metricsPortNumber,proto3" json:"metrics_port_number,omitempty"` +} + +func (x *DiscoveredCNISpec) Reset() { + *x = DiscoveredCNISpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveredCNISpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveredCNISpec) ProtoMessage() {} + +func (x *DiscoveredCNISpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveredCNISpec.ProtoReflect.Descriptor instead. +func (*DiscoveredCNISpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDescGZIP(), []int{0} +} + +func (x *DiscoveredCNISpec) GetAgent() *v1.ClusterObjectRef { + if x != nil { + return x.Agent + } + return nil +} + +func (x *DiscoveredCNISpec) GetProvider() DiscoveredCNISpec_CNIProvider { + if x != nil { + return x.Provider + } + return DiscoveredCNISpec_CILIUM +} + +func (x *DiscoveredCNISpec) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *DiscoveredCNISpec) GetMetricsPortNumber() uint32 { + if x != nil { + return x.MetricsPortNumber + } + return 0 +} + +type DiscoveredCNIStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The observed generation of the DiscoveredGateway. + // When this matches the DiscoveredGateway metadata.generation, it indicates that Gloo Mesh + // has processed the latest version of the DiscoveredGateway. + ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` +} + +func (x *DiscoveredCNIStatus) Reset() { + *x = DiscoveredCNIStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveredCNIStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveredCNIStatus) ProtoMessage() {} + +func (x *DiscoveredCNIStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveredCNIStatus.ProtoReflect.Descriptor instead. +func (*DiscoveredCNIStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDescGZIP(), []int{1} +} + +func (x *DiscoveredCNIStatus) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDesc = []byte{ + 0x0a, 0x59, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, + 0x64, 0x5f, 0x63, 0x6e, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x02, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x65, 0x64, 0x43, 0x4e, 0x49, 0x53, 0x70, 0x65, 0x63, 0x12, 0x39, 0x0a, 0x05, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, + 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x43, 0x4e, 0x49, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x43, 0x4e, 0x49, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x11, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x22, 0x25, 0x0a, 0x0b, 0x43, 0x4e, 0x49, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x49, 0x4c, 0x49, 0x55, 0x4d, 0x10, 0x00, 0x12, 0x0a, + 0x0a, 0x06, 0x43, 0x41, 0x4c, 0x49, 0x43, 0x4f, 0x10, 0x01, 0x22, 0x46, 0x0a, 0x13, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x43, 0x4e, 0x49, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, + 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x56, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, + 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_goTypes = []interface{}{ + (DiscoveredCNISpec_CNIProvider)(0), // 0: internal.gloo.solo.io.DiscoveredCNISpec.CNIProvider + (*DiscoveredCNISpec)(nil), // 1: internal.gloo.solo.io.DiscoveredCNISpec + (*DiscoveredCNIStatus)(nil), // 2: internal.gloo.solo.io.DiscoveredCNIStatus + (*v1.ClusterObjectRef)(nil), // 3: core.skv2.solo.io.ClusterObjectRef +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_depIdxs = []int32{ + 3, // 0: internal.gloo.solo.io.DiscoveredCNISpec.agent:type_name -> core.skv2.solo.io.ClusterObjectRef + 0, // 1: internal.gloo.solo.io.DiscoveredCNISpec.provider:type_name -> internal.gloo.solo.io.DiscoveredCNISpec.CNIProvider + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveredCNISpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveredCNIStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_cni_proto_depIdxs = nil +} diff --git a/client-go/internal.gloo.solo.io/v2/discovered_cni.pb.hash.go b/client-go/internal.gloo.solo.io/v2/discovered_cni.pb.hash.go new file mode 100644 index 000000000..e9570f9ea --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/discovered_cni.pb.hash.go @@ -0,0 +1,97 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/discovered_cni.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *DiscoveredCNISpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.DiscoveredCNISpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetAgent()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Agent")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAgent(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Agent")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetProvider()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetVersion())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMetricsPortNumber()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DiscoveredCNIStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.DiscoveredCNIStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetObservedGeneration()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/internal.gloo.solo.io/v2/discovered_gateway.pb.clone.go b/client-go/internal.gloo.solo.io/v2/discovered_gateway.pb.clone.go new file mode 100644 index 000000000..affb62316 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/discovered_gateway.pb.clone.go @@ -0,0 +1,189 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/discovered_gateway.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + + github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *DiscoveredGatewaySpec) Clone() proto.Message { + var target *DiscoveredGatewaySpec + if m == nil { + return target + } + target = &DiscoveredGatewaySpec{} + + if h, ok := interface{}(m.GetService()).(clone.Cloner); ok { + target.Service = h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef) + } else { + target.Service = proto.Clone(m.GetService()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef) + } + + if m.GetWorkloadLabels() != nil { + target.WorkloadLabels = make(map[string]string, len(m.GetWorkloadLabels())) + for k, v := range m.GetWorkloadLabels() { + + target.WorkloadLabels[k] = v + + } + } + + if m.GetExternalAddresses() != nil { + target.ExternalAddresses = make([]*DiscoveredGatewaySpec_ExternalAddress, len(m.GetExternalAddresses())) + for idx, v := range m.GetExternalAddresses() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ExternalAddresses[idx] = h.Clone().(*DiscoveredGatewaySpec_ExternalAddress) + } else { + target.ExternalAddresses[idx] = proto.Clone(v).(*DiscoveredGatewaySpec_ExternalAddress) + } + + } + } + + target.ServiceType = m.GetServiceType() + + if m.GetServiceAccountRefs() != nil { + target.ServiceAccountRefs = make([]*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef, len(m.GetServiceAccountRefs())) + for idx, v := range m.GetServiceAccountRefs() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ServiceAccountRefs[idx] = h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef) + } else { + target.ServiceAccountRefs[idx] = proto.Clone(v).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef) + } + + } + } + + return target +} + +// Clone function +func (m *DiscoveredGatewayStatus) Clone() proto.Message { + var target *DiscoveredGatewayStatus + if m == nil { + return target + } + target = &DiscoveredGatewayStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumVirtualGateways = m.GetNumVirtualGateways() + + return target +} + +// Clone function +func (m *DiscoveredGatewayReport) Clone() proto.Message { + var target *DiscoveredGatewayReport + if m == nil { + return target + } + target = &DiscoveredGatewayReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetVirtualGateways() != nil { + target.VirtualGateways = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetVirtualGateways())) + for idx, v := range m.GetVirtualGateways() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.VirtualGateways[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.VirtualGateways[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + return target +} + +// Clone function +func (m *DiscoveredGatewaySpec_ExternalAddress) Clone() proto.Message { + var target *DiscoveredGatewaySpec_ExternalAddress + if m == nil { + return target + } + target = &DiscoveredGatewaySpec_ExternalAddress{} + + target.Address = m.GetAddress() + + if m.GetPorts() != nil { + target.Ports = make([]*DiscoveredGatewaySpec_Port, len(m.GetPorts())) + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Ports[idx] = h.Clone().(*DiscoveredGatewaySpec_Port) + } else { + target.Ports[idx] = proto.Clone(v).(*DiscoveredGatewaySpec_Port) + } + + } + } + + if h, ok := interface{}(m.GetLocality()).(clone.Cloner); ok { + target.Locality = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Locality) + } else { + target.Locality = proto.Clone(m.GetLocality()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Locality) + } + + return target +} + +// Clone function +func (m *DiscoveredGatewaySpec_Port) Clone() proto.Message { + var target *DiscoveredGatewaySpec_Port + if m == nil { + return target + } + target = &DiscoveredGatewaySpec_Port{} + + target.Number = m.GetNumber() + + target.Name = m.GetName() + + target.Protocol = m.GetProtocol() + + return target +} diff --git a/client-go/internal.gloo.solo.io/v2/discovered_gateway.pb.equal.go b/client-go/internal.gloo.solo.io/v2/discovered_gateway.pb.equal.go new file mode 100644 index 000000000..4770f1901 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/discovered_gateway.pb.equal.go @@ -0,0 +1,296 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/discovered_gateway.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *DiscoveredGatewaySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DiscoveredGatewaySpec) + if !ok { + that2, ok := that.(DiscoveredGatewaySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetService()).(equality.Equalizer); ok { + if !h.Equal(target.GetService()) { + return false + } + } else { + if !proto.Equal(m.GetService(), target.GetService()) { + return false + } + } + + if len(m.GetWorkloadLabels()) != len(target.GetWorkloadLabels()) { + return false + } + for k, v := range m.GetWorkloadLabels() { + + if strings.Compare(v, target.GetWorkloadLabels()[k]) != 0 { + return false + } + + } + + if len(m.GetExternalAddresses()) != len(target.GetExternalAddresses()) { + return false + } + for idx, v := range m.GetExternalAddresses() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetExternalAddresses()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetExternalAddresses()[idx]) { + return false + } + } + + } + + if m.GetServiceType() != target.GetServiceType() { + return false + } + + if len(m.GetServiceAccountRefs()) != len(target.GetServiceAccountRefs()) { + return false + } + for idx, v := range m.GetServiceAccountRefs() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetServiceAccountRefs()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetServiceAccountRefs()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *DiscoveredGatewayStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DiscoveredGatewayStatus) + if !ok { + that2, ok := that.(DiscoveredGatewayStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumVirtualGateways() != target.GetNumVirtualGateways() { + return false + } + + return true +} + +// Equal function +func (m *DiscoveredGatewayReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DiscoveredGatewayReport) + if !ok { + that2, ok := that.(DiscoveredGatewayReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetVirtualGateways()) != len(target.GetVirtualGateways()) { + return false + } + for idx, v := range m.GetVirtualGateways() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetVirtualGateways()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetVirtualGateways()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *DiscoveredGatewaySpec_ExternalAddress) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DiscoveredGatewaySpec_ExternalAddress) + if !ok { + that2, ok := that.(DiscoveredGatewaySpec_ExternalAddress) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetAddress(), target.GetAddress()) != 0 { + return false + } + + if len(m.GetPorts()) != len(target.GetPorts()) { + return false + } + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPorts()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetLocality()).(equality.Equalizer); ok { + if !h.Equal(target.GetLocality()) { + return false + } + } else { + if !proto.Equal(m.GetLocality(), target.GetLocality()) { + return false + } + } + + return true +} + +// Equal function +func (m *DiscoveredGatewaySpec_Port) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DiscoveredGatewaySpec_Port) + if !ok { + that2, ok := that.(DiscoveredGatewaySpec_Port) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetNumber() != target.GetNumber() { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetProtocol(), target.GetProtocol()) != 0 { + return false + } + + return true +} diff --git a/client-go/internal.gloo.solo.io/v2/discovered_gateway.pb.go b/client-go/internal.gloo.solo.io/v2/discovered_gateway.pb.go new file mode 100644 index 000000000..c8514ff09 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/discovered_gateway.pb.go @@ -0,0 +1,683 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/discovered_gateway.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type DiscoveredGatewaySpec_ServiceType int32 + +const ( + // ServiceTypeClusterIP means a service will only be accessible inside the + // cluster, via the cluster IP. + DiscoveredGatewaySpec_CLUSTER_IP DiscoveredGatewaySpec_ServiceType = 0 + // ServiceTypeNodePort means a service will be exposed on one port of + // every node, in addition to 'ClusterIP' type. + DiscoveredGatewaySpec_NODE_PORT DiscoveredGatewaySpec_ServiceType = 1 + // ServiceTypeLoadBalancer means a service will be exposed via an + // external load balancer (if the cloud provider supports it), in addition + // to 'NodePort' type. + DiscoveredGatewaySpec_LOAD_BALANCER DiscoveredGatewaySpec_ServiceType = 2 + // ServiceTypeExternalName means a service consists of only a reference to + // an external name that kubedns or equivalent will return as a CNAME + // record, with no exposing or proxying of any pods involved. + DiscoveredGatewaySpec_EXTERNAL_NAME DiscoveredGatewaySpec_ServiceType = 3 +) + +// Enum value maps for DiscoveredGatewaySpec_ServiceType. +var ( + DiscoveredGatewaySpec_ServiceType_name = map[int32]string{ + 0: "CLUSTER_IP", + 1: "NODE_PORT", + 2: "LOAD_BALANCER", + 3: "EXTERNAL_NAME", + } + DiscoveredGatewaySpec_ServiceType_value = map[string]int32{ + "CLUSTER_IP": 0, + "NODE_PORT": 1, + "LOAD_BALANCER": 2, + "EXTERNAL_NAME": 3, + } +) + +func (x DiscoveredGatewaySpec_ServiceType) Enum() *DiscoveredGatewaySpec_ServiceType { + p := new(DiscoveredGatewaySpec_ServiceType) + *p = x + return p +} + +func (x DiscoveredGatewaySpec_ServiceType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DiscoveredGatewaySpec_ServiceType) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_enumTypes[0].Descriptor() +} + +func (DiscoveredGatewaySpec_ServiceType) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_enumTypes[0] +} + +func (x DiscoveredGatewaySpec_ServiceType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DiscoveredGatewaySpec_ServiceType.Descriptor instead. +func (DiscoveredGatewaySpec_ServiceType) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescGZIP(), []int{0, 0} +} + +// A DiscoveredGateway is an internal representation of an Istio Gateway workload. +// DiscoveredGateways are automatically detected from Istio Gateway deployments and services. +type DiscoveredGatewaySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Reference to the Kubernetes service that exposes the gateway workloads. + Service *v1.ClusterObjectRef `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + // The labels used by the Kubernetes service to select the gateway workloads. + WorkloadLabels map[string]string `protobuf:"bytes,2,rep,name=workload_labels,json=workloadLabels,proto3" json:"workload_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The externally-reachable addresses on which the gateway is listening for connections. + ExternalAddresses []*DiscoveredGatewaySpec_ExternalAddress `protobuf:"bytes,3,rep,name=external_addresses,json=externalAddresses,proto3" json:"external_addresses,omitempty"` + // gateway resource type + ServiceType DiscoveredGatewaySpec_ServiceType `protobuf:"varint,4,opt,name=service_type,json=serviceType,proto3,enum=internal.gloo.solo.io.DiscoveredGatewaySpec_ServiceType" json:"service_type,omitempty"` + // References to any service accounts selected by the service that exposes the gateway workloads. + ServiceAccountRefs []*v1.ClusterObjectRef `protobuf:"bytes,5,rep,name=service_account_refs,json=serviceAccountRefs,proto3" json:"service_account_refs,omitempty"` +} + +func (x *DiscoveredGatewaySpec) Reset() { + *x = DiscoveredGatewaySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveredGatewaySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveredGatewaySpec) ProtoMessage() {} + +func (x *DiscoveredGatewaySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveredGatewaySpec.ProtoReflect.Descriptor instead. +func (*DiscoveredGatewaySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescGZIP(), []int{0} +} + +func (x *DiscoveredGatewaySpec) GetService() *v1.ClusterObjectRef { + if x != nil { + return x.Service + } + return nil +} + +func (x *DiscoveredGatewaySpec) GetWorkloadLabels() map[string]string { + if x != nil { + return x.WorkloadLabels + } + return nil +} + +func (x *DiscoveredGatewaySpec) GetExternalAddresses() []*DiscoveredGatewaySpec_ExternalAddress { + if x != nil { + return x.ExternalAddresses + } + return nil +} + +func (x *DiscoveredGatewaySpec) GetServiceType() DiscoveredGatewaySpec_ServiceType { + if x != nil { + return x.ServiceType + } + return DiscoveredGatewaySpec_CLUSTER_IP +} + +func (x *DiscoveredGatewaySpec) GetServiceAccountRefs() []*v1.ClusterObjectRef { + if x != nil { + return x.ServiceAccountRefs + } + return nil +} + +type DiscoveredGatewayStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // A count of virtual gateways that select this discovered gateway. + NumVirtualGateways uint32 `protobuf:"varint,2,opt,name=num_virtual_gateways,json=numVirtualGateways,proto3" json:"num_virtual_gateways,omitempty"` +} + +func (x *DiscoveredGatewayStatus) Reset() { + *x = DiscoveredGatewayStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveredGatewayStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveredGatewayStatus) ProtoMessage() {} + +func (x *DiscoveredGatewayStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveredGatewayStatus.ProtoReflect.Descriptor instead. +func (*DiscoveredGatewayStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescGZIP(), []int{1} +} + +func (x *DiscoveredGatewayStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *DiscoveredGatewayStatus) GetNumVirtualGateways() uint32 { + if x != nil { + return x.NumVirtualGateways + } + return 0 +} + +type DiscoveredGatewayReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of destinations serving the API. + VirtualGateways []*v2.ObjectReference `protobuf:"bytes,2,rep,name=virtual_gateways,json=virtualGateways,proto3" json:"virtual_gateways,omitempty"` +} + +func (x *DiscoveredGatewayReport) Reset() { + *x = DiscoveredGatewayReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveredGatewayReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveredGatewayReport) ProtoMessage() {} + +func (x *DiscoveredGatewayReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveredGatewayReport.ProtoReflect.Descriptor instead. +func (*DiscoveredGatewayReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescGZIP(), []int{2} +} + +func (x *DiscoveredGatewayReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *DiscoveredGatewayReport) GetVirtualGateways() []*v2.ObjectReference { + if x != nil { + return x.VirtualGateways + } + return nil +} + +type DiscoveredGatewaySpec_ExternalAddress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The externally-reachable address on which the gateway is listening for connections. + // Depending on the gateway service type and its properties, this can be a LoadBalancer address + // reported by Kubernetes, an externally-reachable Node address, and a user-defined external IP set on the service. + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // The externally-reachable ports on which the gateway is listening for connections. + Ports []*DiscoveredGatewaySpec_Port `protobuf:"bytes,2,rep,name=ports,proto3" json:"ports,omitempty"` + // The locality in which the node serving this address resides, typically representing a large geographic area. + Locality *v2.Locality `protobuf:"bytes,3,opt,name=locality,proto3" json:"locality,omitempty"` +} + +func (x *DiscoveredGatewaySpec_ExternalAddress) Reset() { + *x = DiscoveredGatewaySpec_ExternalAddress{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveredGatewaySpec_ExternalAddress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveredGatewaySpec_ExternalAddress) ProtoMessage() {} + +func (x *DiscoveredGatewaySpec_ExternalAddress) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveredGatewaySpec_ExternalAddress.ProtoReflect.Descriptor instead. +func (*DiscoveredGatewaySpec_ExternalAddress) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *DiscoveredGatewaySpec_ExternalAddress) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *DiscoveredGatewaySpec_ExternalAddress) GetPorts() []*DiscoveredGatewaySpec_Port { + if x != nil { + return x.Ports + } + return nil +} + +func (x *DiscoveredGatewaySpec_ExternalAddress) GetLocality() *v2.Locality { + if x != nil { + return x.Locality + } + return nil +} + +// Port describes a port accessible on a DiscoveredGateway. +type DiscoveredGatewaySpec_Port struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The port number exposed on the underlying gateway k8s Service. + Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` + // A label for the port, eg "http". + // This will match the port name from the underlying gateway k8s Service. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The protocol used in communication with this destination + // MUST be one of the following: HTTP, HTTPS, GRPC, HTTP2, MONGO, TCP, TLS. + Protocol string `protobuf:"bytes,3,opt,name=protocol,proto3" json:"protocol,omitempty"` +} + +func (x *DiscoveredGatewaySpec_Port) Reset() { + *x = DiscoveredGatewaySpec_Port{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveredGatewaySpec_Port) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveredGatewaySpec_Port) ProtoMessage() {} + +func (x *DiscoveredGatewaySpec_Port) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveredGatewaySpec_Port.ProtoReflect.Descriptor instead. +func (*DiscoveredGatewaySpec_Port) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *DiscoveredGatewaySpec_Port) GetNumber() uint32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *DiscoveredGatewaySpec_Port) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DiscoveredGatewaySpec_Port) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDesc = []byte{ + 0x0a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, + 0x64, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x51, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, + 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x06, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x65, 0x64, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3d, 0x0a, + 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x66, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x69, 0x0a, 0x0f, + 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x6b, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x11, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x55, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x66, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x73, 0x1a, 0x41, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6b, + 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xaf, 0x01, 0x0a, 0x0f, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x05, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x4e, 0x0a, + 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x52, 0x0a, + 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, + 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x50, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, + 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4c, + 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x10, 0x02, 0x12, 0x11, + 0x0a, 0x0d, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, + 0x03, 0x22, 0x80, 0x01, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, + 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, + 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x73, 0x22, 0xa6, 0x02, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x65, 0x64, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x5e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x12, 0x4f, 0x0a, 0x10, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x56, 0x5a, + 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, + 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_goTypes = []interface{}{ + (DiscoveredGatewaySpec_ServiceType)(0), // 0: internal.gloo.solo.io.DiscoveredGatewaySpec.ServiceType + (*DiscoveredGatewaySpec)(nil), // 1: internal.gloo.solo.io.DiscoveredGatewaySpec + (*DiscoveredGatewayStatus)(nil), // 2: internal.gloo.solo.io.DiscoveredGatewayStatus + (*DiscoveredGatewayReport)(nil), // 3: internal.gloo.solo.io.DiscoveredGatewayReport + nil, // 4: internal.gloo.solo.io.DiscoveredGatewaySpec.WorkloadLabelsEntry + (*DiscoveredGatewaySpec_ExternalAddress)(nil), // 5: internal.gloo.solo.io.DiscoveredGatewaySpec.ExternalAddress + (*DiscoveredGatewaySpec_Port)(nil), // 6: internal.gloo.solo.io.DiscoveredGatewaySpec.Port + nil, // 7: internal.gloo.solo.io.DiscoveredGatewayReport.WorkspacesEntry + (*v1.ClusterObjectRef)(nil), // 8: core.skv2.solo.io.ClusterObjectRef + (*v2.Status)(nil), // 9: common.gloo.solo.io.Status + (*v2.ObjectReference)(nil), // 10: common.gloo.solo.io.ObjectReference + (*v2.Locality)(nil), // 11: common.gloo.solo.io.Locality + (*v2.Report)(nil), // 12: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_depIdxs = []int32{ + 8, // 0: internal.gloo.solo.io.DiscoveredGatewaySpec.service:type_name -> core.skv2.solo.io.ClusterObjectRef + 4, // 1: internal.gloo.solo.io.DiscoveredGatewaySpec.workload_labels:type_name -> internal.gloo.solo.io.DiscoveredGatewaySpec.WorkloadLabelsEntry + 5, // 2: internal.gloo.solo.io.DiscoveredGatewaySpec.external_addresses:type_name -> internal.gloo.solo.io.DiscoveredGatewaySpec.ExternalAddress + 0, // 3: internal.gloo.solo.io.DiscoveredGatewaySpec.service_type:type_name -> internal.gloo.solo.io.DiscoveredGatewaySpec.ServiceType + 8, // 4: internal.gloo.solo.io.DiscoveredGatewaySpec.service_account_refs:type_name -> core.skv2.solo.io.ClusterObjectRef + 9, // 5: internal.gloo.solo.io.DiscoveredGatewayStatus.common:type_name -> common.gloo.solo.io.Status + 7, // 6: internal.gloo.solo.io.DiscoveredGatewayReport.workspaces:type_name -> internal.gloo.solo.io.DiscoveredGatewayReport.WorkspacesEntry + 10, // 7: internal.gloo.solo.io.DiscoveredGatewayReport.virtual_gateways:type_name -> common.gloo.solo.io.ObjectReference + 6, // 8: internal.gloo.solo.io.DiscoveredGatewaySpec.ExternalAddress.ports:type_name -> internal.gloo.solo.io.DiscoveredGatewaySpec.Port + 11, // 9: internal.gloo.solo.io.DiscoveredGatewaySpec.ExternalAddress.locality:type_name -> common.gloo.solo.io.Locality + 12, // 10: internal.gloo.solo.io.DiscoveredGatewayReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveredGatewaySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveredGatewayStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveredGatewayReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveredGatewaySpec_ExternalAddress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveredGatewaySpec_Port); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDesc, + NumEnums: 1, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_discovered_gateway_proto_depIdxs = nil +} diff --git a/client-go/internal.gloo.solo.io/v2/discovered_gateway.pb.hash.go b/client-go/internal.gloo.solo.io/v2/discovered_gateway.pb.hash.go new file mode 100644 index 000000000..2c5b9ec64 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/discovered_gateway.pb.hash.go @@ -0,0 +1,351 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/discovered_gateway.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *DiscoveredGatewaySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.DiscoveredGatewaySpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetService()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Service")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetService(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Service")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkloadLabels() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetExternalAddresses() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetServiceType()) + if err != nil { + return 0, err + } + + for _, v := range m.GetServiceAccountRefs() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DiscoveredGatewayStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.DiscoveredGatewayStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumVirtualGateways()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DiscoveredGatewayReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.DiscoveredGatewayReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetVirtualGateways() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DiscoveredGatewaySpec_ExternalAddress) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.DiscoveredGatewaySpec_ExternalAddress")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAddress())); err != nil { + return 0, err + } + + for _, v := range m.GetPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetLocality()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Locality")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLocality(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Locality")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DiscoveredGatewaySpec_Port) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.DiscoveredGatewaySpec_Port")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumber()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetProtocol())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/internal.gloo.solo.io/v2/doc.go b/client-go/internal.gloo.solo.io/v2/doc.go new file mode 100644 index 000000000..373c8e111 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2 contains API Schema definitions for the internal.gloo.solo.io v2 API group +// +k8s:deepcopy-gen=package,register +// +groupName=internal.gloo.solo.io +package v2 diff --git a/client-go/internal.gloo.solo.io/v2/issued_certificate.pb.clone.go b/client-go/internal.gloo.solo.io/v2/issued_certificate.pb.clone.go new file mode 100644 index 000000000..c84e10a26 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/issued_certificate.pb.clone.go @@ -0,0 +1,155 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/issued_certificate.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_security_policy_gloo_solo_io_v2_tls "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2/tls" + + github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *IssuedCertificateSpec) Clone() proto.Message { + var target *IssuedCertificateSpec + if m == nil { + return target + } + target = &IssuedCertificateSpec{} + + if m.GetHosts() != nil { + target.Hosts = make([]string, len(m.GetHosts())) + for idx, v := range m.GetHosts() { + + target.Hosts[idx] = v + + } + } + + if h, ok := interface{}(m.GetIssuedCertificateSecret()).(clone.Cloner); ok { + target.IssuedCertificateSecret = h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } else { + target.IssuedCertificateSecret = proto.Clone(m.GetIssuedCertificateSecret()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } + + if h, ok := interface{}(m.GetCertOptions()).(clone.Cloner); ok { + target.CertOptions = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_security_policy_gloo_solo_io_v2_tls.CommonCertOptions) + } else { + target.CertOptions = proto.Clone(m.GetCertOptions()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_security_policy_gloo_solo_io_v2_tls.CommonCertOptions) + } + + if h, ok := interface{}(m.GetMeshRef()).(clone.Cloner); ok { + target.MeshRef = h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } else { + target.MeshRef = proto.Clone(m.GetMeshRef()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } + + target.AutoRestartPods = m.GetAutoRestartPods() + + if m.GetPassiveCertificateAuthorities() != nil { + target.PassiveCertificateAuthorities = make([]*MgmtServerCertificateAuthority, len(m.GetPassiveCertificateAuthorities())) + for idx, v := range m.GetPassiveCertificateAuthorities() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.PassiveCertificateAuthorities[idx] = h.Clone().(*MgmtServerCertificateAuthority) + } else { + target.PassiveCertificateAuthorities[idx] = proto.Clone(v).(*MgmtServerCertificateAuthority) + } + + } + } + + switch m.CertificateAuthority.(type) { + + case *IssuedCertificateSpec_MgmtServerCa: + + if h, ok := interface{}(m.GetMgmtServerCa()).(clone.Cloner); ok { + target.CertificateAuthority = &IssuedCertificateSpec_MgmtServerCa{ + MgmtServerCa: h.Clone().(*MgmtServerCertificateAuthority), + } + } else { + target.CertificateAuthority = &IssuedCertificateSpec_MgmtServerCa{ + MgmtServerCa: proto.Clone(m.GetMgmtServerCa()).(*MgmtServerCertificateAuthority), + } + } + + case *IssuedCertificateSpec_AgentCa: + + if h, ok := interface{}(m.GetAgentCa()).(clone.Cloner); ok { + target.CertificateAuthority = &IssuedCertificateSpec_AgentCa{ + AgentCa: h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_security_policy_gloo_solo_io_v2_tls.AgentCertificateAuthority), + } + } else { + target.CertificateAuthority = &IssuedCertificateSpec_AgentCa{ + AgentCa: proto.Clone(m.GetAgentCa()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_security_policy_gloo_solo_io_v2_tls.AgentCertificateAuthority), + } + } + + } + + return target +} + +// Clone function +func (m *MgmtServerCertificateAuthority) Clone() proto.Message { + var target *MgmtServerCertificateAuthority + if m == nil { + return target + } + target = &MgmtServerCertificateAuthority{} + + switch m.CertificateAuthority.(type) { + + case *MgmtServerCertificateAuthority_SigningCertificateSecret: + + if h, ok := interface{}(m.GetSigningCertificateSecret()).(clone.Cloner); ok { + target.CertificateAuthority = &MgmtServerCertificateAuthority_SigningCertificateSecret{ + SigningCertificateSecret: h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef), + } + } else { + target.CertificateAuthority = &MgmtServerCertificateAuthority_SigningCertificateSecret{ + SigningCertificateSecret: proto.Clone(m.GetSigningCertificateSecret()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef), + } + } + + } + + return target +} + +// Clone function +func (m *IssuedCertificateStatus) Clone() proto.Message { + var target *IssuedCertificateStatus + if m == nil { + return target + } + target = &IssuedCertificateStatus{} + + target.ObservedGeneration = m.GetObservedGeneration() + + target.Error = m.GetError() + + target.State = m.GetState() + + return target +} diff --git a/client-go/internal.gloo.solo.io/v2/issued_certificate.pb.equal.go b/client-go/internal.gloo.solo.io/v2/issued_certificate.pb.equal.go new file mode 100644 index 000000000..a4a61363d --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/issued_certificate.pb.equal.go @@ -0,0 +1,235 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/issued_certificate.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *IssuedCertificateSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IssuedCertificateSpec) + if !ok { + that2, ok := that.(IssuedCertificateSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetHosts()) != len(target.GetHosts()) { + return false + } + for idx, v := range m.GetHosts() { + + if strings.Compare(v, target.GetHosts()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetIssuedCertificateSecret()).(equality.Equalizer); ok { + if !h.Equal(target.GetIssuedCertificateSecret()) { + return false + } + } else { + if !proto.Equal(m.GetIssuedCertificateSecret(), target.GetIssuedCertificateSecret()) { + return false + } + } + + if h, ok := interface{}(m.GetCertOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetCertOptions()) { + return false + } + } else { + if !proto.Equal(m.GetCertOptions(), target.GetCertOptions()) { + return false + } + } + + if h, ok := interface{}(m.GetMeshRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetMeshRef()) { + return false + } + } else { + if !proto.Equal(m.GetMeshRef(), target.GetMeshRef()) { + return false + } + } + + if m.GetAutoRestartPods() != target.GetAutoRestartPods() { + return false + } + + if len(m.GetPassiveCertificateAuthorities()) != len(target.GetPassiveCertificateAuthorities()) { + return false + } + for idx, v := range m.GetPassiveCertificateAuthorities() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPassiveCertificateAuthorities()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPassiveCertificateAuthorities()[idx]) { + return false + } + } + + } + + switch m.CertificateAuthority.(type) { + + case *IssuedCertificateSpec_MgmtServerCa: + if _, ok := target.CertificateAuthority.(*IssuedCertificateSpec_MgmtServerCa); !ok { + return false + } + + if h, ok := interface{}(m.GetMgmtServerCa()).(equality.Equalizer); ok { + if !h.Equal(target.GetMgmtServerCa()) { + return false + } + } else { + if !proto.Equal(m.GetMgmtServerCa(), target.GetMgmtServerCa()) { + return false + } + } + + case *IssuedCertificateSpec_AgentCa: + if _, ok := target.CertificateAuthority.(*IssuedCertificateSpec_AgentCa); !ok { + return false + } + + if h, ok := interface{}(m.GetAgentCa()).(equality.Equalizer); ok { + if !h.Equal(target.GetAgentCa()) { + return false + } + } else { + if !proto.Equal(m.GetAgentCa(), target.GetAgentCa()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.CertificateAuthority != target.CertificateAuthority { + return false + } + } + + return true +} + +// Equal function +func (m *MgmtServerCertificateAuthority) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MgmtServerCertificateAuthority) + if !ok { + that2, ok := that.(MgmtServerCertificateAuthority) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.CertificateAuthority.(type) { + + case *MgmtServerCertificateAuthority_SigningCertificateSecret: + if _, ok := target.CertificateAuthority.(*MgmtServerCertificateAuthority_SigningCertificateSecret); !ok { + return false + } + + if h, ok := interface{}(m.GetSigningCertificateSecret()).(equality.Equalizer); ok { + if !h.Equal(target.GetSigningCertificateSecret()) { + return false + } + } else { + if !proto.Equal(m.GetSigningCertificateSecret(), target.GetSigningCertificateSecret()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.CertificateAuthority != target.CertificateAuthority { + return false + } + } + + return true +} + +// Equal function +func (m *IssuedCertificateStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*IssuedCertificateStatus) + if !ok { + that2, ok := that.(IssuedCertificateStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetObservedGeneration() != target.GetObservedGeneration() { + return false + } + + if strings.Compare(m.GetError(), target.GetError()) != 0 { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + return true +} diff --git a/client-go/internal.gloo.solo.io/v2/issued_certificate.pb.go b/client-go/internal.gloo.solo.io/v2/issued_certificate.pb.go new file mode 100644 index 000000000..ac0685193 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/issued_certificate.pb.go @@ -0,0 +1,606 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/issued_certificate.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + tls "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2/tls" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Possible states in which an IssuedCertificate can exist. +type IssuedCertificateStatus_State int32 + +const ( + // The IssuedCertificate has yet to be picked up by the agent. + IssuedCertificateStatus_PENDING IssuedCertificateStatus_State = 0 + // The agent has created a local private key + // and a CertificateRequest for the IssuedCertificate. + // In this state, the agent is waiting for the Issuer + // to issue certificates for the CertificateRequest before proceeding. + IssuedCertificateStatus_REQUESTED IssuedCertificateStatus_State = 1 + // The certificate has been issued. Any pods that require restarting will be restarted at this point. + IssuedCertificateStatus_ISSUED IssuedCertificateStatus_State = 2 + // The reply from the Issuer has been processed and + // the agent has placed the final certificate secret + // in the target location specified by the IssuedCertificate. + IssuedCertificateStatus_FINISHED IssuedCertificateStatus_State = 3 + // Processing the certificate workflow failed. + IssuedCertificateStatus_FAILED IssuedCertificateStatus_State = 4 +) + +// Enum value maps for IssuedCertificateStatus_State. +var ( + IssuedCertificateStatus_State_name = map[int32]string{ + 0: "PENDING", + 1: "REQUESTED", + 2: "ISSUED", + 3: "FINISHED", + 4: "FAILED", + } + IssuedCertificateStatus_State_value = map[string]int32{ + "PENDING": 0, + "REQUESTED": 1, + "ISSUED": 2, + "FINISHED": 3, + "FAILED": 4, + } +) + +func (x IssuedCertificateStatus_State) Enum() *IssuedCertificateStatus_State { + p := new(IssuedCertificateStatus_State) + *p = x + return p +} + +func (x IssuedCertificateStatus_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IssuedCertificateStatus_State) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_enumTypes[0].Descriptor() +} + +func (IssuedCertificateStatus_State) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_enumTypes[0] +} + +func (x IssuedCertificateStatus_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IssuedCertificateStatus_State.Descriptor instead. +func (IssuedCertificateStatus_State) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDescGZIP(), []int{2, 0} +} + +// IssuedCertificates are used to issue SSL certificates +// to workload Kubernetes clusters from a central (out-of-cluster) Certificate Authority. +// +// When an IssuedCertificate is created, a certificate is issued to a workload cluster by +// a central Certificate Authority via the following workflow: +// +// 1. The Certificate Issuer creates the IssuedCertificate resource on the remote cluster +// 2. The Certificate Signature Requesting agent installed to the remote cluster generates +// a Certificate Signing Request (CSR) and writes it to the status of the IssuedCertificate +// 3. Finally, the Certificate Issuer generates a signed certificate for the CSR and writes +// it back as Kubernetes Secret in the remote cluster. +// +// Trust can therefore be established across the Gloo Mesh server cluster and agents on workload clusters +// without requiring private keys to ever leave workload clusters. +// +// The certificate requested here is for Gloo Mesh agents on workload clusters to securely establish communication +// with Gloo Mesh server. This is not related to certificates for services running in the mesh. +type IssuedCertificateSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of hostnames and IPs to generate a certificate for. + // This can also be set to the identity running the workload, + // e.g. a Kubernetes service account. + // + // Generally for an Istio CA this will take the form `spiffe://cluster.local/ns/istio-system/sa/citadel`. + // + // "cluster.local" may be replaced by the root of trust domain for the mesh. + Hosts []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"` + // The secret containing the SSL certificate to be generated for this IssuedCertificate (located in the Gloo Mesh agent's cluster). + // If nil, the sidecar agent stores the signing certificate in memory. (Enterprise only) + IssuedCertificateSecret *v1.ObjectRef `protobuf:"bytes,2,opt,name=issued_certificate_secret,json=issuedCertificateSecret,proto3" json:"issued_certificate_secret,omitempty"` + // Set of options to configure the intermediate certificate being generated + CertOptions *tls.CommonCertOptions `protobuf:"bytes,3,opt,name=cert_options,json=certOptions,proto3" json:"cert_options,omitempty"` + // The location of the certificate authority to sign this certificate + // + // Types that are assignable to CertificateAuthority: + // + // *IssuedCertificateSpec_MgmtServerCa + // *IssuedCertificateSpec_AgentCa + CertificateAuthority isIssuedCertificateSpec_CertificateAuthority `protobuf_oneof:"certificate_authority"` + // Reference to the mesh on which this cert is being issued for. + MeshRef *v1.ObjectRef `protobuf:"bytes,6,opt,name=mesh_ref,json=meshRef,proto3" json:"mesh_ref,omitempty"` + // Signals whether or not the workload pods should be restarted + // to pick up the new cert. + AutoRestartPods bool `protobuf:"varint,7,opt,name=auto_restart_pods,json=autoRestartPods,proto3" json:"auto_restart_pods,omitempty"` + // A list of certificate authorities that should also be trusted by workloads + PassiveCertificateAuthorities []*MgmtServerCertificateAuthority `protobuf:"bytes,10,rep,name=passive_certificate_authorities,json=passiveCertificateAuthorities,proto3" json:"passive_certificate_authorities,omitempty"` +} + +func (x *IssuedCertificateSpec) Reset() { + *x = IssuedCertificateSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IssuedCertificateSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IssuedCertificateSpec) ProtoMessage() {} + +func (x *IssuedCertificateSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IssuedCertificateSpec.ProtoReflect.Descriptor instead. +func (*IssuedCertificateSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDescGZIP(), []int{0} +} + +func (x *IssuedCertificateSpec) GetHosts() []string { + if x != nil { + return x.Hosts + } + return nil +} + +func (x *IssuedCertificateSpec) GetIssuedCertificateSecret() *v1.ObjectRef { + if x != nil { + return x.IssuedCertificateSecret + } + return nil +} + +func (x *IssuedCertificateSpec) GetCertOptions() *tls.CommonCertOptions { + if x != nil { + return x.CertOptions + } + return nil +} + +func (m *IssuedCertificateSpec) GetCertificateAuthority() isIssuedCertificateSpec_CertificateAuthority { + if m != nil { + return m.CertificateAuthority + } + return nil +} + +func (x *IssuedCertificateSpec) GetMgmtServerCa() *MgmtServerCertificateAuthority { + if x, ok := x.GetCertificateAuthority().(*IssuedCertificateSpec_MgmtServerCa); ok { + return x.MgmtServerCa + } + return nil +} + +func (x *IssuedCertificateSpec) GetAgentCa() *tls.AgentCertificateAuthority { + if x, ok := x.GetCertificateAuthority().(*IssuedCertificateSpec_AgentCa); ok { + return x.AgentCa + } + return nil +} + +func (x *IssuedCertificateSpec) GetMeshRef() *v1.ObjectRef { + if x != nil { + return x.MeshRef + } + return nil +} + +func (x *IssuedCertificateSpec) GetAutoRestartPods() bool { + if x != nil { + return x.AutoRestartPods + } + return false +} + +func (x *IssuedCertificateSpec) GetPassiveCertificateAuthorities() []*MgmtServerCertificateAuthority { + if x != nil { + return x.PassiveCertificateAuthorities + } + return nil +} + +type isIssuedCertificateSpec_CertificateAuthority interface { + isIssuedCertificateSpec_CertificateAuthority() +} + +type IssuedCertificateSpec_MgmtServerCa struct { + // Gloo Mesh CA options + MgmtServerCa *MgmtServerCertificateAuthority `protobuf:"bytes,4,opt,name=mgmt_server_ca,json=mgmtServerCa,proto3,oneof"` +} + +type IssuedCertificateSpec_AgentCa struct { + // Agent CA options + AgentCa *tls.AgentCertificateAuthority `protobuf:"bytes,5,opt,name=agent_ca,json=agentCa,proto3,oneof"` +} + +func (*IssuedCertificateSpec_MgmtServerCa) isIssuedCertificateSpec_CertificateAuthority() {} + +func (*IssuedCertificateSpec_AgentCa) isIssuedCertificateSpec_CertificateAuthority() {} + +// Set of options which represent the certificate authorities the management cluster can use +// to sign the intermediate certs. +type MgmtServerCertificateAuthority struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Certificate authority which gloo-mesh management will use to sign the intermediate cert + // + // Types that are assignable to CertificateAuthority: + // + // *MgmtServerCertificateAuthority_SigningCertificateSecret + CertificateAuthority isMgmtServerCertificateAuthority_CertificateAuthority `protobuf_oneof:"certificate_authority"` +} + +func (x *MgmtServerCertificateAuthority) Reset() { + *x = MgmtServerCertificateAuthority{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MgmtServerCertificateAuthority) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MgmtServerCertificateAuthority) ProtoMessage() {} + +func (x *MgmtServerCertificateAuthority) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MgmtServerCertificateAuthority.ProtoReflect.Descriptor instead. +func (*MgmtServerCertificateAuthority) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDescGZIP(), []int{1} +} + +func (m *MgmtServerCertificateAuthority) GetCertificateAuthority() isMgmtServerCertificateAuthority_CertificateAuthority { + if m != nil { + return m.CertificateAuthority + } + return nil +} + +func (x *MgmtServerCertificateAuthority) GetSigningCertificateSecret() *v1.ObjectRef { + if x, ok := x.GetCertificateAuthority().(*MgmtServerCertificateAuthority_SigningCertificateSecret); ok { + return x.SigningCertificateSecret + } + return nil +} + +type isMgmtServerCertificateAuthority_CertificateAuthority interface { + isMgmtServerCertificateAuthority_CertificateAuthority() +} + +type MgmtServerCertificateAuthority_SigningCertificateSecret struct { + SigningCertificateSecret *v1.ObjectRef `protobuf:"bytes,1,opt,name=signing_certificate_secret,json=signingCertificateSecret,proto3,oneof"` +} + +func (*MgmtServerCertificateAuthority_SigningCertificateSecret) isMgmtServerCertificateAuthority_CertificateAuthority() { +} + +// The IssuedCertificate status is written by the CertificateRequesting agent. +type IssuedCertificateStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The most recent generation observed in the IssuedCertificate metadata. + // If the `observedGeneration` does not match `metadata.generation`, the Gloo Mesh agent has not processed the most + // recent version of this IssuedCertificate. + ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` + // Any error observed which prevented the CertificateRequest from being processed. + // If the error is empty, the request has been processed successfully. + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + // The current state of the IssuedCertificate workflow, reported by the agent. + State IssuedCertificateStatus_State `protobuf:"varint,3,opt,name=state,proto3,enum=internal.gloo.solo.io.IssuedCertificateStatus_State" json:"state,omitempty"` +} + +func (x *IssuedCertificateStatus) Reset() { + *x = IssuedCertificateStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IssuedCertificateStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IssuedCertificateStatus) ProtoMessage() {} + +func (x *IssuedCertificateStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IssuedCertificateStatus.ProtoReflect.Descriptor instead. +func (*IssuedCertificateStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDescGZIP(), []int{2} +} + +func (x *IssuedCertificateStatus) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +func (x *IssuedCertificateStatus) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *IssuedCertificateStatus) GetState() IssuedCertificateStatus_State { + if x != nil { + return x.State + } + return IssuedCertificateStatus_PENDING +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDesc = []byte{ + 0x0a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x63, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x60, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x63, 0x61, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x05, 0x0a, + 0x15, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x19, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x52, 0x17, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x74, + 0x6c, 0x73, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, + 0x0a, 0x0e, 0x6d, 0x67, 0x6d, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x61, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, + 0x67, 0x6d, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, + 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x12, 0x58, 0x0a, + 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3b, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x07, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x68, 0x5f, + 0x72, 0x65, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x66, + 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x70, 0x6f, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x75, 0x74, + 0x6f, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x7d, 0x0a, 0x1f, + 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x67, + 0x6d, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x1d, 0x70, 0x61, + 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x63, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x22, 0x97, 0x01, 0x0a, 0x1e, 0x4d, 0x67, 0x6d, 0x74, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x5c, 0x0a, 0x1a, 0x73, 0x69, 0x67, 0x6e, 0x69, + 0x6e, 0x67, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x18, 0x73, 0x69, 0x67, + 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xf7, + 0x01, 0x0a, 0x17, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x12, 0x4a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x34, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x49, 0x0a, + 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, + 0x47, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x53, 0x53, 0x55, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, + 0x0a, 0x08, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x42, 0x56, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_goTypes = []interface{}{ + (IssuedCertificateStatus_State)(0), // 0: internal.gloo.solo.io.IssuedCertificateStatus.State + (*IssuedCertificateSpec)(nil), // 1: internal.gloo.solo.io.IssuedCertificateSpec + (*MgmtServerCertificateAuthority)(nil), // 2: internal.gloo.solo.io.MgmtServerCertificateAuthority + (*IssuedCertificateStatus)(nil), // 3: internal.gloo.solo.io.IssuedCertificateStatus + (*v1.ObjectRef)(nil), // 4: core.skv2.solo.io.ObjectRef + (*tls.CommonCertOptions)(nil), // 5: tls.security.policy.gloo.solo.io.CommonCertOptions + (*tls.AgentCertificateAuthority)(nil), // 6: tls.security.policy.gloo.solo.io.AgentCertificateAuthority +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_depIdxs = []int32{ + 4, // 0: internal.gloo.solo.io.IssuedCertificateSpec.issued_certificate_secret:type_name -> core.skv2.solo.io.ObjectRef + 5, // 1: internal.gloo.solo.io.IssuedCertificateSpec.cert_options:type_name -> tls.security.policy.gloo.solo.io.CommonCertOptions + 2, // 2: internal.gloo.solo.io.IssuedCertificateSpec.mgmt_server_ca:type_name -> internal.gloo.solo.io.MgmtServerCertificateAuthority + 6, // 3: internal.gloo.solo.io.IssuedCertificateSpec.agent_ca:type_name -> tls.security.policy.gloo.solo.io.AgentCertificateAuthority + 4, // 4: internal.gloo.solo.io.IssuedCertificateSpec.mesh_ref:type_name -> core.skv2.solo.io.ObjectRef + 2, // 5: internal.gloo.solo.io.IssuedCertificateSpec.passive_certificate_authorities:type_name -> internal.gloo.solo.io.MgmtServerCertificateAuthority + 4, // 6: internal.gloo.solo.io.MgmtServerCertificateAuthority.signing_certificate_secret:type_name -> core.skv2.solo.io.ObjectRef + 0, // 7: internal.gloo.solo.io.IssuedCertificateStatus.state:type_name -> internal.gloo.solo.io.IssuedCertificateStatus.State + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IssuedCertificateSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MgmtServerCertificateAuthority); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IssuedCertificateStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*IssuedCertificateSpec_MgmtServerCa)(nil), + (*IssuedCertificateSpec_AgentCa)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*MgmtServerCertificateAuthority_SigningCertificateSecret)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDesc, + NumEnums: 1, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_issued_certificate_proto_depIdxs = nil +} diff --git a/client-go/internal.gloo.solo.io/v2/issued_certificate.pb.hash.go b/client-go/internal.gloo.solo.io/v2/issued_certificate.pb.hash.go new file mode 100644 index 000000000..ee1f16212 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/issued_certificate.pb.hash.go @@ -0,0 +1,259 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/issued_certificate.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *IssuedCertificateSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.IssuedCertificateSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetHosts() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetIssuedCertificateSecret()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("IssuedCertificateSecret")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIssuedCertificateSecret(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("IssuedCertificateSecret")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetCertOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CertOptions")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCertOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CertOptions")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetMeshRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MeshRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMeshRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MeshRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAutoRestartPods()) + if err != nil { + return 0, err + } + + for _, v := range m.GetPassiveCertificateAuthorities() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.CertificateAuthority.(type) { + + case *IssuedCertificateSpec_MgmtServerCa: + + if h, ok := interface{}(m.GetMgmtServerCa()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MgmtServerCa")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMgmtServerCa(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MgmtServerCa")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *IssuedCertificateSpec_AgentCa: + + if h, ok := interface{}(m.GetAgentCa()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AgentCa")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAgentCa(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AgentCa")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MgmtServerCertificateAuthority) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.MgmtServerCertificateAuthority")); err != nil { + return 0, err + } + + switch m.CertificateAuthority.(type) { + + case *MgmtServerCertificateAuthority_SigningCertificateSecret: + + if h, ok := interface{}(m.GetSigningCertificateSecret()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SigningCertificateSecret")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSigningCertificateSecret(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SigningCertificateSecret")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *IssuedCertificateStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.IssuedCertificateStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetObservedGeneration()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetError())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/internal.gloo.solo.io/v2/istio_installation.pb.clone.go b/client-go/internal.gloo.solo.io/v2/istio_installation.pb.clone.go new file mode 100644 index 000000000..999c0810b --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/istio_installation.pb.clone.go @@ -0,0 +1,68 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/istio_installation.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ClusterIstioInstallation) Clone() proto.Message { + var target *ClusterIstioInstallation + if m == nil { + return target + } + target = &ClusterIstioInstallation{} + + if h, ok := interface{}(m.GetIstioOperatorSpec()).(clone.Cloner); ok { + target.IstioOperatorSpec = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IstioOperatorSpec) + } else { + target.IstioOperatorSpec = proto.Clone(m.GetIstioOperatorSpec()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IstioOperatorSpec) + } + + return target +} + +// Clone function +func (m *ClusterIstioInstallationStatus) Clone() proto.Message { + var target *ClusterIstioInstallationStatus + if m == nil { + return target + } + target = &ClusterIstioInstallationStatus{} + + target.State = m.GetState() + + target.Message = m.GetMessage() + + target.ObservedRevision = m.GetObservedRevision() + + if h, ok := interface{}(m.GetObservedOperator()).(clone.Cloner); ok { + target.ObservedOperator = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IstioOperatorSpec) + } else { + target.ObservedOperator = proto.Clone(m.GetObservedOperator()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IstioOperatorSpec) + } + + return target +} diff --git a/client-go/internal.gloo.solo.io/v2/istio_installation.pb.equal.go b/client-go/internal.gloo.solo.io/v2/istio_installation.pb.equal.go new file mode 100644 index 000000000..ec0b74430 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/istio_installation.pb.equal.go @@ -0,0 +1,106 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/istio_installation.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ClusterIstioInstallation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClusterIstioInstallation) + if !ok { + that2, ok := that.(ClusterIstioInstallation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetIstioOperatorSpec()).(equality.Equalizer); ok { + if !h.Equal(target.GetIstioOperatorSpec()) { + return false + } + } else { + if !proto.Equal(m.GetIstioOperatorSpec(), target.GetIstioOperatorSpec()) { + return false + } + } + + return true +} + +// Equal function +func (m *ClusterIstioInstallationStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClusterIstioInstallationStatus) + if !ok { + that2, ok := that.(ClusterIstioInstallationStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + if strings.Compare(m.GetMessage(), target.GetMessage()) != 0 { + return false + } + + if strings.Compare(m.GetObservedRevision(), target.GetObservedRevision()) != 0 { + return false + } + + if h, ok := interface{}(m.GetObservedOperator()).(equality.Equalizer); ok { + if !h.Equal(target.GetObservedOperator()) { + return false + } + } else { + if !proto.Equal(m.GetObservedOperator(), target.GetObservedOperator()) { + return false + } + } + + return true +} diff --git a/client-go/internal.gloo.solo.io/v2/istio_installation.pb.go b/client-go/internal.gloo.solo.io/v2/istio_installation.pb.go new file mode 100644 index 000000000..9558ce7f3 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/istio_installation.pb.go @@ -0,0 +1,364 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/istio_installation.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "k8s.io/api/core/v1" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The current state of the installation. +type ClusterIstioInstallationStatus_State int32 + +const ( + // Waiting for resources to be installed. + ClusterIstioInstallationStatus_INSTALLING ClusterIstioInstallationStatus_State = 0 + // Waiting for upgrade to complete. + ClusterIstioInstallationStatus_UPGRADING ClusterIstioInstallationStatus_State = 1 + // Waiting for resources to be uninstalled. + ClusterIstioInstallationStatus_UNINSTALLING ClusterIstioInstallationStatus_State = 2 + // Waiting for user input to correct a problem or advance canary. + ClusterIstioInstallationStatus_ACTION_REQUIRED ClusterIstioInstallationStatus_State = 3 + // The desired installation state on the cluster has been achieved. + ClusterIstioInstallationStatus_SYNCED ClusterIstioInstallationStatus_State = 4 + // An unrecoverable error was observed. + ClusterIstioInstallationStatus_ERROR ClusterIstioInstallationStatus_State = 5 +) + +// Enum value maps for ClusterIstioInstallationStatus_State. +var ( + ClusterIstioInstallationStatus_State_name = map[int32]string{ + 0: "INSTALLING", + 1: "UPGRADING", + 2: "UNINSTALLING", + 3: "ACTION_REQUIRED", + 4: "SYNCED", + 5: "ERROR", + } + ClusterIstioInstallationStatus_State_value = map[string]int32{ + "INSTALLING": 0, + "UPGRADING": 1, + "UNINSTALLING": 2, + "ACTION_REQUIRED": 3, + "SYNCED": 4, + "ERROR": 5, + } +) + +func (x ClusterIstioInstallationStatus_State) Enum() *ClusterIstioInstallationStatus_State { + p := new(ClusterIstioInstallationStatus_State) + *p = x + return p +} + +func (x ClusterIstioInstallationStatus_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ClusterIstioInstallationStatus_State) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_enumTypes[0].Descriptor() +} + +func (ClusterIstioInstallationStatus_State) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_enumTypes[0] +} + +func (x ClusterIstioInstallationStatus_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ClusterIstioInstallationStatus_State.Descriptor instead. +func (ClusterIstioInstallationStatus_State) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDescGZIP(), []int{1, 0} +} + +// $hide_from_docs +type ClusterIstioInstallation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // IstioOperator specification for the control plane. + // For more info, see the [Istio documentation](https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1/). + IstioOperatorSpec *v2.IstioOperatorSpec `protobuf:"bytes,1,opt,name=istio_operator_spec,json=istioOperatorSpec,proto3" json:"istio_operator_spec,omitempty"` +} + +func (x *ClusterIstioInstallation) Reset() { + *x = ClusterIstioInstallation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterIstioInstallation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterIstioInstallation) ProtoMessage() {} + +func (x *ClusterIstioInstallation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterIstioInstallation.ProtoReflect.Descriptor instead. +func (*ClusterIstioInstallation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDescGZIP(), []int{0} +} + +func (x *ClusterIstioInstallation) GetIstioOperatorSpec() *v2.IstioOperatorSpec { + if x != nil { + return x.IstioOperatorSpec + } + return nil +} + +// $hide_from_docs +type ClusterIstioInstallationStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The current state of the Istio installation. + State ClusterIstioInstallationStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=internal.gloo.solo.io.ClusterIstioInstallationStatus_State" json:"state,omitempty"` + // A human readable message about the current state of the installation. + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + // The observed revision of the Istio installation. + ObservedRevision string `protobuf:"bytes,3,opt,name=observed_revision,json=observedRevision,proto3" json:"observed_revision,omitempty"` + // The IstioOperator spec that is currently deployed for this revision. + ObservedOperator *v2.IstioOperatorSpec `protobuf:"bytes,4,opt,name=observed_operator,json=observedOperator,proto3" json:"observed_operator,omitempty"` +} + +func (x *ClusterIstioInstallationStatus) Reset() { + *x = ClusterIstioInstallationStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterIstioInstallationStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterIstioInstallationStatus) ProtoMessage() {} + +func (x *ClusterIstioInstallationStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterIstioInstallationStatus.ProtoReflect.Descriptor instead. +func (*ClusterIstioInstallationStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDescGZIP(), []int{1} +} + +func (x *ClusterIstioInstallationStatus) GetState() ClusterIstioInstallationStatus_State { + if x != nil { + return x.State + } + return ClusterIstioInstallationStatus_INSTALLING +} + +func (x *ClusterIstioInstallationStatus) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *ClusterIstioInstallationStatus) GetObservedRevision() string { + if x != nil { + return x.ObservedRevision + } + return "" +} + +func (x *ClusterIstioInstallationStatus) GetObservedOperator() *v2.IstioOperatorSpec { + if x != nil { + return x.ObservedOperator + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDesc = []byte{ + 0x0a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x6b, 0x38, 0x73, + 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x18, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x13, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x11, 0x69, 0x73, 0x74, 0x69, 0x6f, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x22, 0xf5, 0x02, 0x0a, + 0x1e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x51, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, + 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x73, + 0x74, 0x69, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, + 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x11, 0x6f, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x10, 0x6f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x64, + 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4e, 0x53, 0x54, 0x41, + 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x50, 0x47, 0x52, 0x41, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4e, 0x49, 0x4e, 0x53, 0x54, + 0x41, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a, + 0x06, 0x53, 0x59, 0x4e, 0x43, 0x45, 0x44, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0x05, 0x42, 0x56, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, + 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_goTypes = []interface{}{ + (ClusterIstioInstallationStatus_State)(0), // 0: internal.gloo.solo.io.ClusterIstioInstallationStatus.State + (*ClusterIstioInstallation)(nil), // 1: internal.gloo.solo.io.ClusterIstioInstallation + (*ClusterIstioInstallationStatus)(nil), // 2: internal.gloo.solo.io.ClusterIstioInstallationStatus + (*v2.IstioOperatorSpec)(nil), // 3: common.gloo.solo.io.IstioOperatorSpec +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_depIdxs = []int32{ + 3, // 0: internal.gloo.solo.io.ClusterIstioInstallation.istio_operator_spec:type_name -> common.gloo.solo.io.IstioOperatorSpec + 0, // 1: internal.gloo.solo.io.ClusterIstioInstallationStatus.state:type_name -> internal.gloo.solo.io.ClusterIstioInstallationStatus.State + 3, // 2: internal.gloo.solo.io.ClusterIstioInstallationStatus.observed_operator:type_name -> common.gloo.solo.io.IstioOperatorSpec + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterIstioInstallation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterIstioInstallationStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_istio_installation_proto_depIdxs = nil +} diff --git a/client-go/internal.gloo.solo.io/v2/istio_installation.pb.hash.go b/client-go/internal.gloo.solo.io/v2/istio_installation.pb.hash.go new file mode 100644 index 000000000..b436ba6e6 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/istio_installation.pb.hash.go @@ -0,0 +1,111 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/istio_installation.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ClusterIstioInstallation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.ClusterIstioInstallation")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetIstioOperatorSpec()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("IstioOperatorSpec")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIstioOperatorSpec(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("IstioOperatorSpec")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ClusterIstioInstallationStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.ClusterIstioInstallationStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMessage())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetObservedRevision())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetObservedOperator()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ObservedOperator")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetObservedOperator(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ObservedOperator")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/internal.gloo.solo.io/v2/json.gen.go b/client-go/internal.gloo.solo.io/v2/json.gen.go new file mode 100644 index 000000000..313465ad3 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/json.gen.go @@ -0,0 +1,204 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for IssuedCertificateSpec +func (this *IssuedCertificateSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for IssuedCertificateSpec +func (this *IssuedCertificateSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for IssuedCertificateStatus +func (this *IssuedCertificateStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for IssuedCertificateStatus +func (this *IssuedCertificateStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for CertificateRequestSpec +func (this *CertificateRequestSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for CertificateRequestSpec +func (this *CertificateRequestSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for CertificateRequestStatus +func (this *CertificateRequestStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for CertificateRequestStatus +func (this *CertificateRequestStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for PodBounceDirectiveSpec +func (this *PodBounceDirectiveSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for PodBounceDirectiveSpec +func (this *PodBounceDirectiveSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for PodBounceDirectiveStatus +func (this *PodBounceDirectiveStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for PodBounceDirectiveStatus +func (this *PodBounceDirectiveStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for XdsConfigSpec +func (this *XdsConfigSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for XdsConfigSpec +func (this *XdsConfigSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for XdsConfigStatus +func (this *XdsConfigStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for XdsConfigStatus +func (this *XdsConfigStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for DiscoveredGatewaySpec +func (this *DiscoveredGatewaySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for DiscoveredGatewaySpec +func (this *DiscoveredGatewaySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for DiscoveredGatewayStatus +func (this *DiscoveredGatewayStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for DiscoveredGatewayStatus +func (this *DiscoveredGatewayStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for MeshSpec +func (this *MeshSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for MeshSpec +func (this *MeshSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for MeshStatus +func (this *MeshStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for MeshStatus +func (this *MeshStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for DiscoveredCNISpec +func (this *DiscoveredCNISpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for DiscoveredCNISpec +func (this *DiscoveredCNISpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for DiscoveredCNIStatus +func (this *DiscoveredCNIStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for DiscoveredCNIStatus +func (this *DiscoveredCNIStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for PortalConfigSpec +func (this *PortalConfigSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for PortalConfigSpec +func (this *PortalConfigSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for PortalConfigStatus +func (this *PortalConfigStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for PortalConfigStatus +func (this *PortalConfigStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/internal.gloo.solo.io/v2/mesh.pb.clone.go b/client-go/internal.gloo.solo.io/v2/mesh.pb.clone.go new file mode 100644 index 000000000..7e84a8414 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/mesh.pb.clone.go @@ -0,0 +1,138 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/mesh.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *MeshSpec) Clone() proto.Message { + var target *MeshSpec + if m == nil { + return target + } + target = &MeshSpec{} + + if h, ok := interface{}(m.GetInstallation()).(clone.Cloner); ok { + target.Installation = h.Clone().(*MeshSpec_Installation) + } else { + target.Installation = proto.Clone(m.GetInstallation()).(*MeshSpec_Installation) + } + + target.TrustDomain = m.GetTrustDomain() + + target.IstiodServiceAccount = m.GetIstiodServiceAccount() + + if m.GetDiscoveryNamespaces() != nil { + target.DiscoveryNamespaces = make([]string, len(m.GetDiscoveryNamespaces())) + for idx, v := range m.GetDiscoveryNamespaces() { + + target.DiscoveryNamespaces[idx] = v + + } + } + + target.SmartDnsProxyingEnabled = m.GetSmartDnsProxyingEnabled() + + target.RootNamespace = m.GetRootNamespace() + + if h, ok := interface{}(m.GetAgentInfo()).(clone.Cloner); ok { + target.AgentInfo = h.Clone().(*MeshSpec_AgentInfo) + } else { + target.AgentInfo = proto.Clone(m.GetAgentInfo()).(*MeshSpec_AgentInfo) + } + + target.Hub = m.GetHub() + + target.Tag = m.GetTag() + + target.IpFamily = m.GetIpFamily() + + target.AmbientCapable = m.GetAmbientCapable() + + return target +} + +// Clone function +func (m *MeshStatus) Clone() proto.Message { + var target *MeshStatus + if m == nil { + return target + } + target = &MeshStatus{} + + target.ObservedGeneration = m.GetObservedGeneration() + + return target +} + +// Clone function +func (m *MeshSpec_Installation) Clone() proto.Message { + var target *MeshSpec_Installation + if m == nil { + return target + } + target = &MeshSpec_Installation{} + + target.Namespace = m.GetNamespace() + + target.Cluster = m.GetCluster() + + if m.GetPodLabels() != nil { + target.PodLabels = make(map[string]string, len(m.GetPodLabels())) + for k, v := range m.GetPodLabels() { + + target.PodLabels[k] = v + + } + } + + target.Version = m.GetVersion() + + target.Revision = m.GetRevision() + + return target +} + +// Clone function +func (m *MeshSpec_AgentInfo) Clone() proto.Message { + var target *MeshSpec_AgentInfo + if m == nil { + return target + } + target = &MeshSpec_AgentInfo{} + + target.Namespace = m.GetNamespace() + + target.Version = m.GetVersion() + + if h, ok := interface{}(m.GetRelayRootTlsSecret()).(clone.Cloner); ok { + target.RelayRootTlsSecret = h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } else { + target.RelayRootTlsSecret = proto.Clone(m.GetRelayRootTlsSecret()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } + + return target +} diff --git a/client-go/internal.gloo.solo.io/v2/mesh.pb.equal.go b/client-go/internal.gloo.solo.io/v2/mesh.pb.equal.go new file mode 100644 index 000000000..4c8124421 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/mesh.pb.equal.go @@ -0,0 +1,234 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/mesh.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *MeshSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MeshSpec) + if !ok { + that2, ok := that.(MeshSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetInstallation()).(equality.Equalizer); ok { + if !h.Equal(target.GetInstallation()) { + return false + } + } else { + if !proto.Equal(m.GetInstallation(), target.GetInstallation()) { + return false + } + } + + if strings.Compare(m.GetTrustDomain(), target.GetTrustDomain()) != 0 { + return false + } + + if strings.Compare(m.GetIstiodServiceAccount(), target.GetIstiodServiceAccount()) != 0 { + return false + } + + if len(m.GetDiscoveryNamespaces()) != len(target.GetDiscoveryNamespaces()) { + return false + } + for idx, v := range m.GetDiscoveryNamespaces() { + + if strings.Compare(v, target.GetDiscoveryNamespaces()[idx]) != 0 { + return false + } + + } + + if m.GetSmartDnsProxyingEnabled() != target.GetSmartDnsProxyingEnabled() { + return false + } + + if strings.Compare(m.GetRootNamespace(), target.GetRootNamespace()) != 0 { + return false + } + + if h, ok := interface{}(m.GetAgentInfo()).(equality.Equalizer); ok { + if !h.Equal(target.GetAgentInfo()) { + return false + } + } else { + if !proto.Equal(m.GetAgentInfo(), target.GetAgentInfo()) { + return false + } + } + + if strings.Compare(m.GetHub(), target.GetHub()) != 0 { + return false + } + + if strings.Compare(m.GetTag(), target.GetTag()) != 0 { + return false + } + + if m.GetIpFamily() != target.GetIpFamily() { + return false + } + + if m.GetAmbientCapable() != target.GetAmbientCapable() { + return false + } + + return true +} + +// Equal function +func (m *MeshStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MeshStatus) + if !ok { + that2, ok := that.(MeshStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetObservedGeneration() != target.GetObservedGeneration() { + return false + } + + return true +} + +// Equal function +func (m *MeshSpec_Installation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MeshSpec_Installation) + if !ok { + that2, ok := that.(MeshSpec_Installation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetCluster(), target.GetCluster()) != 0 { + return false + } + + if len(m.GetPodLabels()) != len(target.GetPodLabels()) { + return false + } + for k, v := range m.GetPodLabels() { + + if strings.Compare(v, target.GetPodLabels()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetVersion(), target.GetVersion()) != 0 { + return false + } + + if strings.Compare(m.GetRevision(), target.GetRevision()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *MeshSpec_AgentInfo) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MeshSpec_AgentInfo) + if !ok { + that2, ok := that.(MeshSpec_AgentInfo) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetVersion(), target.GetVersion()) != 0 { + return false + } + + if h, ok := interface{}(m.GetRelayRootTlsSecret()).(equality.Equalizer); ok { + if !h.Equal(target.GetRelayRootTlsSecret()) { + return false + } + } else { + if !proto.Equal(m.GetRelayRootTlsSecret(), target.GetRelayRootTlsSecret()) { + return false + } + } + + return true +} diff --git a/client-go/internal.gloo.solo.io/v2/mesh.pb.go b/client-go/internal.gloo.solo.io/v2/mesh.pb.go new file mode 100644 index 000000000..13b8ac62a --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/mesh.pb.go @@ -0,0 +1,628 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/mesh.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type MeshSpec_IPFamily int32 + +const ( + // The cluster suports only IPv4 addresses. + MeshSpec_IPV4 MeshSpec_IPFamily = 0 + // The cluster suports only IPv6 addresses. + MeshSpec_IPV6 MeshSpec_IPFamily = 1 + // The cluster suports both IPv4 and IPv6 addresses. + MeshSpec_DUAL MeshSpec_IPFamily = 2 +) + +// Enum value maps for MeshSpec_IPFamily. +var ( + MeshSpec_IPFamily_name = map[int32]string{ + 0: "IPV4", + 1: "IPV6", + 2: "DUAL", + } + MeshSpec_IPFamily_value = map[string]int32{ + "IPV4": 0, + "IPV6": 1, + "DUAL": 2, + } +) + +func (x MeshSpec_IPFamily) Enum() *MeshSpec_IPFamily { + p := new(MeshSpec_IPFamily) + *p = x + return p +} + +func (x MeshSpec_IPFamily) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MeshSpec_IPFamily) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_enumTypes[0].Descriptor() +} + +func (MeshSpec_IPFamily) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_enumTypes[0] +} + +func (x MeshSpec_IPFamily) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MeshSpec_IPFamily.Descriptor instead. +func (MeshSpec_IPFamily) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDescGZIP(), []int{0, 0} +} + +// A Mesh is an internal representation of a service mesh control plane deployment. +type MeshSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Describes the Istio control plane deployment. + Installation *MeshSpec_Installation `protobuf:"bytes,1,opt,name=installation,proto3" json:"installation,omitempty"` + // The Istio trust domain used for https/[spiffe](https://spiffe.io/spiffe/concepts/#trust-domain) [identity](https://istio.io/docs/reference/glossary/#identity). + // If empty will default to ["cluster.local"](https://github.com/istio/istio/blob/e768f408a7de224e64ccdfb2634442541ce08e6a/pilot/cmd/pilot-agent/main.go#L118). + TrustDomain string `protobuf:"bytes,2,opt,name=trust_domain,json=trustDomain,proto3" json:"trust_domain,omitempty"` + // The istiod service account which determines identity for the Istio CA cert. + IstiodServiceAccount string `protobuf:"bytes,3,opt,name=istiod_service_account,json=istiodServiceAccount,proto3" json:"istiod_service_account,omitempty"` + // The list of namespaces that are part of the mesh, which is computed based + // on the [discovery selectors](https://istio.io/latest/blog/2021/discovery-selectors/) + // defined in the Istio Mesh Config. + // And empty value implies that the Istio control place processes resources from all namespaces. + DiscoveryNamespaces []string `protobuf:"bytes,4,rep,name=discovery_namespaces,json=discoveryNamespaces,proto3" json:"discovery_namespaces,omitempty"` + // True if smart DNS proxying is enabled, which allows for arbitrary DNS domains. + SmartDnsProxyingEnabled bool `protobuf:"varint,5,opt,name=smart_dns_proxying_enabled,json=smartDnsProxyingEnabled,proto3" json:"smart_dns_proxying_enabled,omitempty"` + // Root Namespace as specified in the Istio Mesh Config. + // This namespace will be treated as the home for all root Istio config. + RootNamespace string `protobuf:"bytes,6,opt,name=root_namespace,json=rootNamespace,proto3" json:"root_namespace,omitempty"` + // Describes the Gloo Mesh agent if it has been installed to the managed cluster. + AgentInfo *MeshSpec_AgentInfo `protobuf:"bytes,7,opt,name=agent_info,json=agentInfo,proto3" json:"agent_info,omitempty"` + // istiod image hub + Hub string `protobuf:"bytes,8,opt,name=hub,proto3" json:"hub,omitempty"` + // istiod image tag + Tag string `protobuf:"bytes,9,opt,name=tag,proto3" json:"tag,omitempty"` + // Optional: The IPFamily supported by the cluster. Defaults to 'IPV4'. + IpFamily MeshSpec_IPFamily `protobuf:"varint,10,opt,name=ip_family,json=ipFamily,proto3,enum=internal.gloo.solo.io.MeshSpec_IPFamily" json:"ip_family,omitempty"` + // If true, the mesh is capable of ambient dataplane mode. + AmbientCapable bool `protobuf:"varint,11,opt,name=ambient_capable,json=ambientCapable,proto3" json:"ambient_capable,omitempty"` +} + +func (x *MeshSpec) Reset() { + *x = MeshSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MeshSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MeshSpec) ProtoMessage() {} + +func (x *MeshSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MeshSpec.ProtoReflect.Descriptor instead. +func (*MeshSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDescGZIP(), []int{0} +} + +func (x *MeshSpec) GetInstallation() *MeshSpec_Installation { + if x != nil { + return x.Installation + } + return nil +} + +func (x *MeshSpec) GetTrustDomain() string { + if x != nil { + return x.TrustDomain + } + return "" +} + +func (x *MeshSpec) GetIstiodServiceAccount() string { + if x != nil { + return x.IstiodServiceAccount + } + return "" +} + +func (x *MeshSpec) GetDiscoveryNamespaces() []string { + if x != nil { + return x.DiscoveryNamespaces + } + return nil +} + +func (x *MeshSpec) GetSmartDnsProxyingEnabled() bool { + if x != nil { + return x.SmartDnsProxyingEnabled + } + return false +} + +func (x *MeshSpec) GetRootNamespace() string { + if x != nil { + return x.RootNamespace + } + return "" +} + +func (x *MeshSpec) GetAgentInfo() *MeshSpec_AgentInfo { + if x != nil { + return x.AgentInfo + } + return nil +} + +func (x *MeshSpec) GetHub() string { + if x != nil { + return x.Hub + } + return "" +} + +func (x *MeshSpec) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *MeshSpec) GetIpFamily() MeshSpec_IPFamily { + if x != nil { + return x.IpFamily + } + return MeshSpec_IPV4 +} + +func (x *MeshSpec) GetAmbientCapable() bool { + if x != nil { + return x.AmbientCapable + } + return false +} + +type MeshStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The observed generation of the Mesh. + // When this matches the Mesh's metadata.generation, it indicates that Gloo Mesh + // has processed the latest version of the Mesh. + ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` +} + +func (x *MeshStatus) Reset() { + *x = MeshStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MeshStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MeshStatus) ProtoMessage() {} + +func (x *MeshStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MeshStatus.ProtoReflect.Descriptor instead. +func (*MeshStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDescGZIP(), []int{1} +} + +func (x *MeshStatus) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +type MeshSpec_Installation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Namespace in which the control plane has been installed. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The Gloo Mesh cluster in which the control plane has been installed. + Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"` + // The labels on the control plane pods (read from the deployment). + PodLabels map[string]string `protobuf:"bytes,3,rep,name=pod_labels,json=podLabels,proto3" json:"pod_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The version of the Mesh that has been installed, which is determined using the image tag on the + // mesh's primary control plane image (e.g. the istio-pilot image tag). + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` + // The revision of the Istio control plane that has been installed. + Revision string `protobuf:"bytes,5,opt,name=revision,proto3" json:"revision,omitempty"` +} + +func (x *MeshSpec_Installation) Reset() { + *x = MeshSpec_Installation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MeshSpec_Installation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MeshSpec_Installation) ProtoMessage() {} + +func (x *MeshSpec_Installation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MeshSpec_Installation.ProtoReflect.Descriptor instead. +func (*MeshSpec_Installation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *MeshSpec_Installation) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *MeshSpec_Installation) GetCluster() string { + if x != nil { + return x.Cluster + } + return "" +} + +func (x *MeshSpec_Installation) GetPodLabels() map[string]string { + if x != nil { + return x.PodLabels + } + return nil +} + +func (x *MeshSpec_Installation) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *MeshSpec_Installation) GetRevision() string { + if x != nil { + return x.Revision + } + return "" +} + +// Describes the Gloo Mesh agent which may be installed +// to the managed cluster containing the mesh control plane. +type MeshSpec_AgentInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace in which the Gloo Mesh agent is installed. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The version of the Gloo Mesh agent. + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + // The location of the relay root tls secret + RelayRootTlsSecret *v1.ObjectRef `protobuf:"bytes,3,opt,name=relay_root_tls_secret,json=relayRootTlsSecret,proto3" json:"relay_root_tls_secret,omitempty"` +} + +func (x *MeshSpec_AgentInfo) Reset() { + *x = MeshSpec_AgentInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MeshSpec_AgentInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MeshSpec_AgentInfo) ProtoMessage() {} + +func (x *MeshSpec_AgentInfo) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MeshSpec_AgentInfo.ProtoReflect.Descriptor instead. +func (*MeshSpec_AgentInfo) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *MeshSpec_AgentInfo) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *MeshSpec_AgentInfo) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *MeshSpec_AgentInfo) GetRelayRootTlsSecret() *v1.ObjectRef { + if x != nil { + return x.RelayRootTlsSecret + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDesc = []byte{ + 0x0a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x08, 0x0a, + 0x08, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x50, 0x0a, 0x0c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x74, 0x72, 0x75, 0x73, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, + 0x0a, 0x16, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, + 0x69, 0x73, 0x74, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x13, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x6d, 0x61, 0x72, 0x74, + 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x73, 0x6d, 0x61, + 0x72, 0x74, 0x44, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x6f, + 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x0a, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x75, 0x62, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x68, 0x75, 0x62, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x45, 0x0a, 0x09, 0x69, 0x70, 0x5f, + 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x49, 0x50, + 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x08, 0x69, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, + 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x70, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6d, 0x62, 0x69, 0x65, + 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x96, 0x02, 0x0a, 0x0c, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x0a, 0x70, 0x6f, 0x64, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, + 0x65, 0x73, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x6f, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x6f, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, 0x0a, 0x0e, 0x50, 0x6f, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x94, 0x01, 0x0a, 0x09, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x15, 0x72, 0x65, 0x6c, 0x61, + 0x79, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, + 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x66, 0x52, 0x12, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x6f, 0x6f, 0x74, + 0x54, 0x6c, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x28, 0x0a, 0x08, 0x49, 0x50, 0x46, + 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x34, 0x10, 0x00, 0x12, + 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x36, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x55, 0x41, + 0x4c, 0x10, 0x02, 0x22, 0x3d, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, + 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x56, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, + 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_goTypes = []interface{}{ + (MeshSpec_IPFamily)(0), // 0: internal.gloo.solo.io.MeshSpec.IPFamily + (*MeshSpec)(nil), // 1: internal.gloo.solo.io.MeshSpec + (*MeshStatus)(nil), // 2: internal.gloo.solo.io.MeshStatus + (*MeshSpec_Installation)(nil), // 3: internal.gloo.solo.io.MeshSpec.Installation + (*MeshSpec_AgentInfo)(nil), // 4: internal.gloo.solo.io.MeshSpec.AgentInfo + nil, // 5: internal.gloo.solo.io.MeshSpec.Installation.PodLabelsEntry + (*v1.ObjectRef)(nil), // 6: core.skv2.solo.io.ObjectRef +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_depIdxs = []int32{ + 3, // 0: internal.gloo.solo.io.MeshSpec.installation:type_name -> internal.gloo.solo.io.MeshSpec.Installation + 4, // 1: internal.gloo.solo.io.MeshSpec.agent_info:type_name -> internal.gloo.solo.io.MeshSpec.AgentInfo + 0, // 2: internal.gloo.solo.io.MeshSpec.ip_family:type_name -> internal.gloo.solo.io.MeshSpec.IPFamily + 5, // 3: internal.gloo.solo.io.MeshSpec.Installation.pod_labels:type_name -> internal.gloo.solo.io.MeshSpec.Installation.PodLabelsEntry + 6, // 4: internal.gloo.solo.io.MeshSpec.AgentInfo.relay_root_tls_secret:type_name -> core.skv2.solo.io.ObjectRef + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MeshSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MeshStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MeshSpec_Installation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MeshSpec_AgentInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDesc, + NumEnums: 1, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_mesh_proto_depIdxs = nil +} diff --git a/client-go/internal.gloo.solo.io/v2/mesh.pb.hash.go b/client-go/internal.gloo.solo.io/v2/mesh.pb.hash.go new file mode 100644 index 000000000..445d2f703 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/mesh.pb.hash.go @@ -0,0 +1,245 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/mesh.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *MeshSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.MeshSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetInstallation()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Installation")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetInstallation(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Installation")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetTrustDomain())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetIstiodServiceAccount())); err != nil { + return 0, err + } + + for _, v := range m.GetDiscoveryNamespaces() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSmartDnsProxyingEnabled()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRootNamespace())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetAgentInfo()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AgentInfo")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAgentInfo(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AgentInfo")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetHub())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTag())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetIpFamily()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAmbientCapable()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MeshStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.MeshStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetObservedGeneration()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MeshSpec_Installation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.MeshSpec_Installation")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCluster())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetPodLabels() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetVersion())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRevision())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MeshSpec_AgentInfo) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.MeshSpec_AgentInfo")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetVersion())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRelayRootTlsSecret()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RelayRootTlsSecret")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRelayRootTlsSecret(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RelayRootTlsSecret")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/internal.gloo.solo.io/v2/mocks/clients.go b/client-go/internal.gloo.solo.io/v2/mocks/clients.go new file mode 100644 index 000000000..fd40f262d --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/mocks/clients.go @@ -0,0 +1,4220 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2 is a generated GoMock package. +package mock_v2 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// CertificateRequests mocks base method. +func (m *MockClientset) CertificateRequests() v2.CertificateRequestClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CertificateRequests") + ret0, _ := ret[0].(v2.CertificateRequestClient) + return ret0 +} + +// CertificateRequests indicates an expected call of CertificateRequests. +func (mr *MockClientsetMockRecorder) CertificateRequests() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CertificateRequests", reflect.TypeOf((*MockClientset)(nil).CertificateRequests)) +} + +// DiscoveredCNIS mocks base method. +func (m *MockClientset) DiscoveredCNIS() v2.DiscoveredCNIClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DiscoveredCNIS") + ret0, _ := ret[0].(v2.DiscoveredCNIClient) + return ret0 +} + +// DiscoveredCNIS indicates an expected call of DiscoveredCNIS. +func (mr *MockClientsetMockRecorder) DiscoveredCNIS() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DiscoveredCNIS", reflect.TypeOf((*MockClientset)(nil).DiscoveredCNIS)) +} + +// DiscoveredGateways mocks base method. +func (m *MockClientset) DiscoveredGateways() v2.DiscoveredGatewayClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DiscoveredGateways") + ret0, _ := ret[0].(v2.DiscoveredGatewayClient) + return ret0 +} + +// DiscoveredGateways indicates an expected call of DiscoveredGateways. +func (mr *MockClientsetMockRecorder) DiscoveredGateways() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DiscoveredGateways", reflect.TypeOf((*MockClientset)(nil).DiscoveredGateways)) +} + +// IssuedCertificates mocks base method. +func (m *MockClientset) IssuedCertificates() v2.IssuedCertificateClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "IssuedCertificates") + ret0, _ := ret[0].(v2.IssuedCertificateClient) + return ret0 +} + +// IssuedCertificates indicates an expected call of IssuedCertificates. +func (mr *MockClientsetMockRecorder) IssuedCertificates() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IssuedCertificates", reflect.TypeOf((*MockClientset)(nil).IssuedCertificates)) +} + +// Meshes mocks base method. +func (m *MockClientset) Meshes() v2.MeshClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Meshes") + ret0, _ := ret[0].(v2.MeshClient) + return ret0 +} + +// Meshes indicates an expected call of Meshes. +func (mr *MockClientsetMockRecorder) Meshes() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Meshes", reflect.TypeOf((*MockClientset)(nil).Meshes)) +} + +// PodBounceDirectives mocks base method. +func (m *MockClientset) PodBounceDirectives() v2.PodBounceDirectiveClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PodBounceDirectives") + ret0, _ := ret[0].(v2.PodBounceDirectiveClient) + return ret0 +} + +// PodBounceDirectives indicates an expected call of PodBounceDirectives. +func (mr *MockClientsetMockRecorder) PodBounceDirectives() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PodBounceDirectives", reflect.TypeOf((*MockClientset)(nil).PodBounceDirectives)) +} + +// PortalConfigs mocks base method. +func (m *MockClientset) PortalConfigs() v2.PortalConfigClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PortalConfigs") + ret0, _ := ret[0].(v2.PortalConfigClient) + return ret0 +} + +// PortalConfigs indicates an expected call of PortalConfigs. +func (mr *MockClientsetMockRecorder) PortalConfigs() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PortalConfigs", reflect.TypeOf((*MockClientset)(nil).PortalConfigs)) +} + +// XdsConfigs mocks base method. +func (m *MockClientset) XdsConfigs() v2.XdsConfigClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "XdsConfigs") + ret0, _ := ret[0].(v2.XdsConfigClient) + return ret0 +} + +// XdsConfigs indicates an expected call of XdsConfigs. +func (mr *MockClientsetMockRecorder) XdsConfigs() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "XdsConfigs", reflect.TypeOf((*MockClientset)(nil).XdsConfigs)) +} + +// MockIssuedCertificateReader is a mock of IssuedCertificateReader interface. +type MockIssuedCertificateReader struct { + ctrl *gomock.Controller + recorder *MockIssuedCertificateReaderMockRecorder +} + +// MockIssuedCertificateReaderMockRecorder is the mock recorder for MockIssuedCertificateReader. +type MockIssuedCertificateReaderMockRecorder struct { + mock *MockIssuedCertificateReader +} + +// NewMockIssuedCertificateReader creates a new mock instance. +func NewMockIssuedCertificateReader(ctrl *gomock.Controller) *MockIssuedCertificateReader { + mock := &MockIssuedCertificateReader{ctrl: ctrl} + mock.recorder = &MockIssuedCertificateReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIssuedCertificateReader) EXPECT() *MockIssuedCertificateReaderMockRecorder { + return m.recorder +} + +// GetIssuedCertificate mocks base method. +func (m *MockIssuedCertificateReader) GetIssuedCertificate(ctx context.Context, key client.ObjectKey) (*v2.IssuedCertificate, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetIssuedCertificate", ctx, key) + ret0, _ := ret[0].(*v2.IssuedCertificate) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetIssuedCertificate indicates an expected call of GetIssuedCertificate. +func (mr *MockIssuedCertificateReaderMockRecorder) GetIssuedCertificate(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateReader)(nil).GetIssuedCertificate), ctx, key) +} + +// ListIssuedCertificate mocks base method. +func (m *MockIssuedCertificateReader) ListIssuedCertificate(ctx context.Context, opts ...client.ListOption) (*v2.IssuedCertificateList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListIssuedCertificate", varargs...) + ret0, _ := ret[0].(*v2.IssuedCertificateList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListIssuedCertificate indicates an expected call of ListIssuedCertificate. +func (mr *MockIssuedCertificateReaderMockRecorder) ListIssuedCertificate(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateReader)(nil).ListIssuedCertificate), varargs...) +} + +// MockIssuedCertificateWriter is a mock of IssuedCertificateWriter interface. +type MockIssuedCertificateWriter struct { + ctrl *gomock.Controller + recorder *MockIssuedCertificateWriterMockRecorder +} + +// MockIssuedCertificateWriterMockRecorder is the mock recorder for MockIssuedCertificateWriter. +type MockIssuedCertificateWriterMockRecorder struct { + mock *MockIssuedCertificateWriter +} + +// NewMockIssuedCertificateWriter creates a new mock instance. +func NewMockIssuedCertificateWriter(ctrl *gomock.Controller) *MockIssuedCertificateWriter { + mock := &MockIssuedCertificateWriter{ctrl: ctrl} + mock.recorder = &MockIssuedCertificateWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIssuedCertificateWriter) EXPECT() *MockIssuedCertificateWriterMockRecorder { + return m.recorder +} + +// CreateIssuedCertificate mocks base method. +func (m *MockIssuedCertificateWriter) CreateIssuedCertificate(ctx context.Context, obj *v2.IssuedCertificate, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateIssuedCertificate", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateIssuedCertificate indicates an expected call of CreateIssuedCertificate. +func (mr *MockIssuedCertificateWriterMockRecorder) CreateIssuedCertificate(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateWriter)(nil).CreateIssuedCertificate), varargs...) +} + +// DeleteAllOfIssuedCertificate mocks base method. +func (m *MockIssuedCertificateWriter) DeleteAllOfIssuedCertificate(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfIssuedCertificate", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfIssuedCertificate indicates an expected call of DeleteAllOfIssuedCertificate. +func (mr *MockIssuedCertificateWriterMockRecorder) DeleteAllOfIssuedCertificate(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateWriter)(nil).DeleteAllOfIssuedCertificate), varargs...) +} + +// DeleteIssuedCertificate mocks base method. +func (m *MockIssuedCertificateWriter) DeleteIssuedCertificate(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteIssuedCertificate", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteIssuedCertificate indicates an expected call of DeleteIssuedCertificate. +func (mr *MockIssuedCertificateWriterMockRecorder) DeleteIssuedCertificate(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateWriter)(nil).DeleteIssuedCertificate), varargs...) +} + +// PatchIssuedCertificate mocks base method. +func (m *MockIssuedCertificateWriter) PatchIssuedCertificate(ctx context.Context, obj *v2.IssuedCertificate, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchIssuedCertificate", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchIssuedCertificate indicates an expected call of PatchIssuedCertificate. +func (mr *MockIssuedCertificateWriterMockRecorder) PatchIssuedCertificate(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateWriter)(nil).PatchIssuedCertificate), varargs...) +} + +// UpdateIssuedCertificate mocks base method. +func (m *MockIssuedCertificateWriter) UpdateIssuedCertificate(ctx context.Context, obj *v2.IssuedCertificate, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateIssuedCertificate", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateIssuedCertificate indicates an expected call of UpdateIssuedCertificate. +func (mr *MockIssuedCertificateWriterMockRecorder) UpdateIssuedCertificate(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateWriter)(nil).UpdateIssuedCertificate), varargs...) +} + +// UpsertIssuedCertificate mocks base method. +func (m *MockIssuedCertificateWriter) UpsertIssuedCertificate(ctx context.Context, obj *v2.IssuedCertificate, transitionFuncs ...v2.IssuedCertificateTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertIssuedCertificate", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertIssuedCertificate indicates an expected call of UpsertIssuedCertificate. +func (mr *MockIssuedCertificateWriterMockRecorder) UpsertIssuedCertificate(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateWriter)(nil).UpsertIssuedCertificate), varargs...) +} + +// MockIssuedCertificateStatusWriter is a mock of IssuedCertificateStatusWriter interface. +type MockIssuedCertificateStatusWriter struct { + ctrl *gomock.Controller + recorder *MockIssuedCertificateStatusWriterMockRecorder +} + +// MockIssuedCertificateStatusWriterMockRecorder is the mock recorder for MockIssuedCertificateStatusWriter. +type MockIssuedCertificateStatusWriterMockRecorder struct { + mock *MockIssuedCertificateStatusWriter +} + +// NewMockIssuedCertificateStatusWriter creates a new mock instance. +func NewMockIssuedCertificateStatusWriter(ctrl *gomock.Controller) *MockIssuedCertificateStatusWriter { + mock := &MockIssuedCertificateStatusWriter{ctrl: ctrl} + mock.recorder = &MockIssuedCertificateStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIssuedCertificateStatusWriter) EXPECT() *MockIssuedCertificateStatusWriterMockRecorder { + return m.recorder +} + +// PatchIssuedCertificateStatus mocks base method. +func (m *MockIssuedCertificateStatusWriter) PatchIssuedCertificateStatus(ctx context.Context, obj *v2.IssuedCertificate, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchIssuedCertificateStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchIssuedCertificateStatus indicates an expected call of PatchIssuedCertificateStatus. +func (mr *MockIssuedCertificateStatusWriterMockRecorder) PatchIssuedCertificateStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchIssuedCertificateStatus", reflect.TypeOf((*MockIssuedCertificateStatusWriter)(nil).PatchIssuedCertificateStatus), varargs...) +} + +// UpdateIssuedCertificateStatus mocks base method. +func (m *MockIssuedCertificateStatusWriter) UpdateIssuedCertificateStatus(ctx context.Context, obj *v2.IssuedCertificate, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateIssuedCertificateStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateIssuedCertificateStatus indicates an expected call of UpdateIssuedCertificateStatus. +func (mr *MockIssuedCertificateStatusWriterMockRecorder) UpdateIssuedCertificateStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateIssuedCertificateStatus", reflect.TypeOf((*MockIssuedCertificateStatusWriter)(nil).UpdateIssuedCertificateStatus), varargs...) +} + +// MockIssuedCertificateClient is a mock of IssuedCertificateClient interface. +type MockIssuedCertificateClient struct { + ctrl *gomock.Controller + recorder *MockIssuedCertificateClientMockRecorder +} + +// MockIssuedCertificateClientMockRecorder is the mock recorder for MockIssuedCertificateClient. +type MockIssuedCertificateClientMockRecorder struct { + mock *MockIssuedCertificateClient +} + +// NewMockIssuedCertificateClient creates a new mock instance. +func NewMockIssuedCertificateClient(ctrl *gomock.Controller) *MockIssuedCertificateClient { + mock := &MockIssuedCertificateClient{ctrl: ctrl} + mock.recorder = &MockIssuedCertificateClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIssuedCertificateClient) EXPECT() *MockIssuedCertificateClientMockRecorder { + return m.recorder +} + +// CreateIssuedCertificate mocks base method. +func (m *MockIssuedCertificateClient) CreateIssuedCertificate(ctx context.Context, obj *v2.IssuedCertificate, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateIssuedCertificate", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateIssuedCertificate indicates an expected call of CreateIssuedCertificate. +func (mr *MockIssuedCertificateClientMockRecorder) CreateIssuedCertificate(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateClient)(nil).CreateIssuedCertificate), varargs...) +} + +// DeleteAllOfIssuedCertificate mocks base method. +func (m *MockIssuedCertificateClient) DeleteAllOfIssuedCertificate(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfIssuedCertificate", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfIssuedCertificate indicates an expected call of DeleteAllOfIssuedCertificate. +func (mr *MockIssuedCertificateClientMockRecorder) DeleteAllOfIssuedCertificate(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateClient)(nil).DeleteAllOfIssuedCertificate), varargs...) +} + +// DeleteIssuedCertificate mocks base method. +func (m *MockIssuedCertificateClient) DeleteIssuedCertificate(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteIssuedCertificate", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteIssuedCertificate indicates an expected call of DeleteIssuedCertificate. +func (mr *MockIssuedCertificateClientMockRecorder) DeleteIssuedCertificate(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateClient)(nil).DeleteIssuedCertificate), varargs...) +} + +// GetIssuedCertificate mocks base method. +func (m *MockIssuedCertificateClient) GetIssuedCertificate(ctx context.Context, key client.ObjectKey) (*v2.IssuedCertificate, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetIssuedCertificate", ctx, key) + ret0, _ := ret[0].(*v2.IssuedCertificate) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetIssuedCertificate indicates an expected call of GetIssuedCertificate. +func (mr *MockIssuedCertificateClientMockRecorder) GetIssuedCertificate(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateClient)(nil).GetIssuedCertificate), ctx, key) +} + +// ListIssuedCertificate mocks base method. +func (m *MockIssuedCertificateClient) ListIssuedCertificate(ctx context.Context, opts ...client.ListOption) (*v2.IssuedCertificateList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListIssuedCertificate", varargs...) + ret0, _ := ret[0].(*v2.IssuedCertificateList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListIssuedCertificate indicates an expected call of ListIssuedCertificate. +func (mr *MockIssuedCertificateClientMockRecorder) ListIssuedCertificate(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateClient)(nil).ListIssuedCertificate), varargs...) +} + +// PatchIssuedCertificate mocks base method. +func (m *MockIssuedCertificateClient) PatchIssuedCertificate(ctx context.Context, obj *v2.IssuedCertificate, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchIssuedCertificate", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchIssuedCertificate indicates an expected call of PatchIssuedCertificate. +func (mr *MockIssuedCertificateClientMockRecorder) PatchIssuedCertificate(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateClient)(nil).PatchIssuedCertificate), varargs...) +} + +// PatchIssuedCertificateStatus mocks base method. +func (m *MockIssuedCertificateClient) PatchIssuedCertificateStatus(ctx context.Context, obj *v2.IssuedCertificate, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchIssuedCertificateStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchIssuedCertificateStatus indicates an expected call of PatchIssuedCertificateStatus. +func (mr *MockIssuedCertificateClientMockRecorder) PatchIssuedCertificateStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchIssuedCertificateStatus", reflect.TypeOf((*MockIssuedCertificateClient)(nil).PatchIssuedCertificateStatus), varargs...) +} + +// UpdateIssuedCertificate mocks base method. +func (m *MockIssuedCertificateClient) UpdateIssuedCertificate(ctx context.Context, obj *v2.IssuedCertificate, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateIssuedCertificate", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateIssuedCertificate indicates an expected call of UpdateIssuedCertificate. +func (mr *MockIssuedCertificateClientMockRecorder) UpdateIssuedCertificate(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateClient)(nil).UpdateIssuedCertificate), varargs...) +} + +// UpdateIssuedCertificateStatus mocks base method. +func (m *MockIssuedCertificateClient) UpdateIssuedCertificateStatus(ctx context.Context, obj *v2.IssuedCertificate, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateIssuedCertificateStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateIssuedCertificateStatus indicates an expected call of UpdateIssuedCertificateStatus. +func (mr *MockIssuedCertificateClientMockRecorder) UpdateIssuedCertificateStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateIssuedCertificateStatus", reflect.TypeOf((*MockIssuedCertificateClient)(nil).UpdateIssuedCertificateStatus), varargs...) +} + +// UpsertIssuedCertificate mocks base method. +func (m *MockIssuedCertificateClient) UpsertIssuedCertificate(ctx context.Context, obj *v2.IssuedCertificate, transitionFuncs ...v2.IssuedCertificateTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertIssuedCertificate", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertIssuedCertificate indicates an expected call of UpsertIssuedCertificate. +func (mr *MockIssuedCertificateClientMockRecorder) UpsertIssuedCertificate(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertIssuedCertificate", reflect.TypeOf((*MockIssuedCertificateClient)(nil).UpsertIssuedCertificate), varargs...) +} + +// MockMulticlusterIssuedCertificateClient is a mock of MulticlusterIssuedCertificateClient interface. +type MockMulticlusterIssuedCertificateClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterIssuedCertificateClientMockRecorder +} + +// MockMulticlusterIssuedCertificateClientMockRecorder is the mock recorder for MockMulticlusterIssuedCertificateClient. +type MockMulticlusterIssuedCertificateClientMockRecorder struct { + mock *MockMulticlusterIssuedCertificateClient +} + +// NewMockMulticlusterIssuedCertificateClient creates a new mock instance. +func NewMockMulticlusterIssuedCertificateClient(ctrl *gomock.Controller) *MockMulticlusterIssuedCertificateClient { + mock := &MockMulticlusterIssuedCertificateClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterIssuedCertificateClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterIssuedCertificateClient) EXPECT() *MockMulticlusterIssuedCertificateClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterIssuedCertificateClient) Cluster(cluster string) (v2.IssuedCertificateClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.IssuedCertificateClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterIssuedCertificateClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterIssuedCertificateClient)(nil).Cluster), cluster) +} + +// MockCertificateRequestReader is a mock of CertificateRequestReader interface. +type MockCertificateRequestReader struct { + ctrl *gomock.Controller + recorder *MockCertificateRequestReaderMockRecorder +} + +// MockCertificateRequestReaderMockRecorder is the mock recorder for MockCertificateRequestReader. +type MockCertificateRequestReaderMockRecorder struct { + mock *MockCertificateRequestReader +} + +// NewMockCertificateRequestReader creates a new mock instance. +func NewMockCertificateRequestReader(ctrl *gomock.Controller) *MockCertificateRequestReader { + mock := &MockCertificateRequestReader{ctrl: ctrl} + mock.recorder = &MockCertificateRequestReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCertificateRequestReader) EXPECT() *MockCertificateRequestReaderMockRecorder { + return m.recorder +} + +// GetCertificateRequest mocks base method. +func (m *MockCertificateRequestReader) GetCertificateRequest(ctx context.Context, key client.ObjectKey) (*v2.CertificateRequest, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetCertificateRequest", ctx, key) + ret0, _ := ret[0].(*v2.CertificateRequest) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetCertificateRequest indicates an expected call of GetCertificateRequest. +func (mr *MockCertificateRequestReaderMockRecorder) GetCertificateRequest(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCertificateRequest", reflect.TypeOf((*MockCertificateRequestReader)(nil).GetCertificateRequest), ctx, key) +} + +// ListCertificateRequest mocks base method. +func (m *MockCertificateRequestReader) ListCertificateRequest(ctx context.Context, opts ...client.ListOption) (*v2.CertificateRequestList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListCertificateRequest", varargs...) + ret0, _ := ret[0].(*v2.CertificateRequestList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListCertificateRequest indicates an expected call of ListCertificateRequest. +func (mr *MockCertificateRequestReaderMockRecorder) ListCertificateRequest(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCertificateRequest", reflect.TypeOf((*MockCertificateRequestReader)(nil).ListCertificateRequest), varargs...) +} + +// MockCertificateRequestWriter is a mock of CertificateRequestWriter interface. +type MockCertificateRequestWriter struct { + ctrl *gomock.Controller + recorder *MockCertificateRequestWriterMockRecorder +} + +// MockCertificateRequestWriterMockRecorder is the mock recorder for MockCertificateRequestWriter. +type MockCertificateRequestWriterMockRecorder struct { + mock *MockCertificateRequestWriter +} + +// NewMockCertificateRequestWriter creates a new mock instance. +func NewMockCertificateRequestWriter(ctrl *gomock.Controller) *MockCertificateRequestWriter { + mock := &MockCertificateRequestWriter{ctrl: ctrl} + mock.recorder = &MockCertificateRequestWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCertificateRequestWriter) EXPECT() *MockCertificateRequestWriterMockRecorder { + return m.recorder +} + +// CreateCertificateRequest mocks base method. +func (m *MockCertificateRequestWriter) CreateCertificateRequest(ctx context.Context, obj *v2.CertificateRequest, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateCertificateRequest", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCertificateRequest indicates an expected call of CreateCertificateRequest. +func (mr *MockCertificateRequestWriterMockRecorder) CreateCertificateRequest(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCertificateRequest", reflect.TypeOf((*MockCertificateRequestWriter)(nil).CreateCertificateRequest), varargs...) +} + +// DeleteAllOfCertificateRequest mocks base method. +func (m *MockCertificateRequestWriter) DeleteAllOfCertificateRequest(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfCertificateRequest", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfCertificateRequest indicates an expected call of DeleteAllOfCertificateRequest. +func (mr *MockCertificateRequestWriterMockRecorder) DeleteAllOfCertificateRequest(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfCertificateRequest", reflect.TypeOf((*MockCertificateRequestWriter)(nil).DeleteAllOfCertificateRequest), varargs...) +} + +// DeleteCertificateRequest mocks base method. +func (m *MockCertificateRequestWriter) DeleteCertificateRequest(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteCertificateRequest", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCertificateRequest indicates an expected call of DeleteCertificateRequest. +func (mr *MockCertificateRequestWriterMockRecorder) DeleteCertificateRequest(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCertificateRequest", reflect.TypeOf((*MockCertificateRequestWriter)(nil).DeleteCertificateRequest), varargs...) +} + +// PatchCertificateRequest mocks base method. +func (m *MockCertificateRequestWriter) PatchCertificateRequest(ctx context.Context, obj *v2.CertificateRequest, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCertificateRequest", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCertificateRequest indicates an expected call of PatchCertificateRequest. +func (mr *MockCertificateRequestWriterMockRecorder) PatchCertificateRequest(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCertificateRequest", reflect.TypeOf((*MockCertificateRequestWriter)(nil).PatchCertificateRequest), varargs...) +} + +// UpdateCertificateRequest mocks base method. +func (m *MockCertificateRequestWriter) UpdateCertificateRequest(ctx context.Context, obj *v2.CertificateRequest, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCertificateRequest", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCertificateRequest indicates an expected call of UpdateCertificateRequest. +func (mr *MockCertificateRequestWriterMockRecorder) UpdateCertificateRequest(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCertificateRequest", reflect.TypeOf((*MockCertificateRequestWriter)(nil).UpdateCertificateRequest), varargs...) +} + +// UpsertCertificateRequest mocks base method. +func (m *MockCertificateRequestWriter) UpsertCertificateRequest(ctx context.Context, obj *v2.CertificateRequest, transitionFuncs ...v2.CertificateRequestTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertCertificateRequest", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertCertificateRequest indicates an expected call of UpsertCertificateRequest. +func (mr *MockCertificateRequestWriterMockRecorder) UpsertCertificateRequest(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertCertificateRequest", reflect.TypeOf((*MockCertificateRequestWriter)(nil).UpsertCertificateRequest), varargs...) +} + +// MockCertificateRequestStatusWriter is a mock of CertificateRequestStatusWriter interface. +type MockCertificateRequestStatusWriter struct { + ctrl *gomock.Controller + recorder *MockCertificateRequestStatusWriterMockRecorder +} + +// MockCertificateRequestStatusWriterMockRecorder is the mock recorder for MockCertificateRequestStatusWriter. +type MockCertificateRequestStatusWriterMockRecorder struct { + mock *MockCertificateRequestStatusWriter +} + +// NewMockCertificateRequestStatusWriter creates a new mock instance. +func NewMockCertificateRequestStatusWriter(ctrl *gomock.Controller) *MockCertificateRequestStatusWriter { + mock := &MockCertificateRequestStatusWriter{ctrl: ctrl} + mock.recorder = &MockCertificateRequestStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCertificateRequestStatusWriter) EXPECT() *MockCertificateRequestStatusWriterMockRecorder { + return m.recorder +} + +// PatchCertificateRequestStatus mocks base method. +func (m *MockCertificateRequestStatusWriter) PatchCertificateRequestStatus(ctx context.Context, obj *v2.CertificateRequest, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCertificateRequestStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCertificateRequestStatus indicates an expected call of PatchCertificateRequestStatus. +func (mr *MockCertificateRequestStatusWriterMockRecorder) PatchCertificateRequestStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCertificateRequestStatus", reflect.TypeOf((*MockCertificateRequestStatusWriter)(nil).PatchCertificateRequestStatus), varargs...) +} + +// UpdateCertificateRequestStatus mocks base method. +func (m *MockCertificateRequestStatusWriter) UpdateCertificateRequestStatus(ctx context.Context, obj *v2.CertificateRequest, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCertificateRequestStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCertificateRequestStatus indicates an expected call of UpdateCertificateRequestStatus. +func (mr *MockCertificateRequestStatusWriterMockRecorder) UpdateCertificateRequestStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCertificateRequestStatus", reflect.TypeOf((*MockCertificateRequestStatusWriter)(nil).UpdateCertificateRequestStatus), varargs...) +} + +// MockCertificateRequestClient is a mock of CertificateRequestClient interface. +type MockCertificateRequestClient struct { + ctrl *gomock.Controller + recorder *MockCertificateRequestClientMockRecorder +} + +// MockCertificateRequestClientMockRecorder is the mock recorder for MockCertificateRequestClient. +type MockCertificateRequestClientMockRecorder struct { + mock *MockCertificateRequestClient +} + +// NewMockCertificateRequestClient creates a new mock instance. +func NewMockCertificateRequestClient(ctrl *gomock.Controller) *MockCertificateRequestClient { + mock := &MockCertificateRequestClient{ctrl: ctrl} + mock.recorder = &MockCertificateRequestClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCertificateRequestClient) EXPECT() *MockCertificateRequestClientMockRecorder { + return m.recorder +} + +// CreateCertificateRequest mocks base method. +func (m *MockCertificateRequestClient) CreateCertificateRequest(ctx context.Context, obj *v2.CertificateRequest, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateCertificateRequest", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCertificateRequest indicates an expected call of CreateCertificateRequest. +func (mr *MockCertificateRequestClientMockRecorder) CreateCertificateRequest(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCertificateRequest", reflect.TypeOf((*MockCertificateRequestClient)(nil).CreateCertificateRequest), varargs...) +} + +// DeleteAllOfCertificateRequest mocks base method. +func (m *MockCertificateRequestClient) DeleteAllOfCertificateRequest(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfCertificateRequest", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfCertificateRequest indicates an expected call of DeleteAllOfCertificateRequest. +func (mr *MockCertificateRequestClientMockRecorder) DeleteAllOfCertificateRequest(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfCertificateRequest", reflect.TypeOf((*MockCertificateRequestClient)(nil).DeleteAllOfCertificateRequest), varargs...) +} + +// DeleteCertificateRequest mocks base method. +func (m *MockCertificateRequestClient) DeleteCertificateRequest(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteCertificateRequest", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCertificateRequest indicates an expected call of DeleteCertificateRequest. +func (mr *MockCertificateRequestClientMockRecorder) DeleteCertificateRequest(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCertificateRequest", reflect.TypeOf((*MockCertificateRequestClient)(nil).DeleteCertificateRequest), varargs...) +} + +// GetCertificateRequest mocks base method. +func (m *MockCertificateRequestClient) GetCertificateRequest(ctx context.Context, key client.ObjectKey) (*v2.CertificateRequest, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetCertificateRequest", ctx, key) + ret0, _ := ret[0].(*v2.CertificateRequest) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetCertificateRequest indicates an expected call of GetCertificateRequest. +func (mr *MockCertificateRequestClientMockRecorder) GetCertificateRequest(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCertificateRequest", reflect.TypeOf((*MockCertificateRequestClient)(nil).GetCertificateRequest), ctx, key) +} + +// ListCertificateRequest mocks base method. +func (m *MockCertificateRequestClient) ListCertificateRequest(ctx context.Context, opts ...client.ListOption) (*v2.CertificateRequestList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListCertificateRequest", varargs...) + ret0, _ := ret[0].(*v2.CertificateRequestList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListCertificateRequest indicates an expected call of ListCertificateRequest. +func (mr *MockCertificateRequestClientMockRecorder) ListCertificateRequest(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCertificateRequest", reflect.TypeOf((*MockCertificateRequestClient)(nil).ListCertificateRequest), varargs...) +} + +// PatchCertificateRequest mocks base method. +func (m *MockCertificateRequestClient) PatchCertificateRequest(ctx context.Context, obj *v2.CertificateRequest, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCertificateRequest", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCertificateRequest indicates an expected call of PatchCertificateRequest. +func (mr *MockCertificateRequestClientMockRecorder) PatchCertificateRequest(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCertificateRequest", reflect.TypeOf((*MockCertificateRequestClient)(nil).PatchCertificateRequest), varargs...) +} + +// PatchCertificateRequestStatus mocks base method. +func (m *MockCertificateRequestClient) PatchCertificateRequestStatus(ctx context.Context, obj *v2.CertificateRequest, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCertificateRequestStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCertificateRequestStatus indicates an expected call of PatchCertificateRequestStatus. +func (mr *MockCertificateRequestClientMockRecorder) PatchCertificateRequestStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCertificateRequestStatus", reflect.TypeOf((*MockCertificateRequestClient)(nil).PatchCertificateRequestStatus), varargs...) +} + +// UpdateCertificateRequest mocks base method. +func (m *MockCertificateRequestClient) UpdateCertificateRequest(ctx context.Context, obj *v2.CertificateRequest, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCertificateRequest", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCertificateRequest indicates an expected call of UpdateCertificateRequest. +func (mr *MockCertificateRequestClientMockRecorder) UpdateCertificateRequest(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCertificateRequest", reflect.TypeOf((*MockCertificateRequestClient)(nil).UpdateCertificateRequest), varargs...) +} + +// UpdateCertificateRequestStatus mocks base method. +func (m *MockCertificateRequestClient) UpdateCertificateRequestStatus(ctx context.Context, obj *v2.CertificateRequest, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCertificateRequestStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCertificateRequestStatus indicates an expected call of UpdateCertificateRequestStatus. +func (mr *MockCertificateRequestClientMockRecorder) UpdateCertificateRequestStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCertificateRequestStatus", reflect.TypeOf((*MockCertificateRequestClient)(nil).UpdateCertificateRequestStatus), varargs...) +} + +// UpsertCertificateRequest mocks base method. +func (m *MockCertificateRequestClient) UpsertCertificateRequest(ctx context.Context, obj *v2.CertificateRequest, transitionFuncs ...v2.CertificateRequestTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertCertificateRequest", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertCertificateRequest indicates an expected call of UpsertCertificateRequest. +func (mr *MockCertificateRequestClientMockRecorder) UpsertCertificateRequest(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertCertificateRequest", reflect.TypeOf((*MockCertificateRequestClient)(nil).UpsertCertificateRequest), varargs...) +} + +// MockMulticlusterCertificateRequestClient is a mock of MulticlusterCertificateRequestClient interface. +type MockMulticlusterCertificateRequestClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCertificateRequestClientMockRecorder +} + +// MockMulticlusterCertificateRequestClientMockRecorder is the mock recorder for MockMulticlusterCertificateRequestClient. +type MockMulticlusterCertificateRequestClientMockRecorder struct { + mock *MockMulticlusterCertificateRequestClient +} + +// NewMockMulticlusterCertificateRequestClient creates a new mock instance. +func NewMockMulticlusterCertificateRequestClient(ctrl *gomock.Controller) *MockMulticlusterCertificateRequestClient { + mock := &MockMulticlusterCertificateRequestClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterCertificateRequestClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCertificateRequestClient) EXPECT() *MockMulticlusterCertificateRequestClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterCertificateRequestClient) Cluster(cluster string) (v2.CertificateRequestClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.CertificateRequestClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterCertificateRequestClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterCertificateRequestClient)(nil).Cluster), cluster) +} + +// MockPodBounceDirectiveReader is a mock of PodBounceDirectiveReader interface. +type MockPodBounceDirectiveReader struct { + ctrl *gomock.Controller + recorder *MockPodBounceDirectiveReaderMockRecorder +} + +// MockPodBounceDirectiveReaderMockRecorder is the mock recorder for MockPodBounceDirectiveReader. +type MockPodBounceDirectiveReaderMockRecorder struct { + mock *MockPodBounceDirectiveReader +} + +// NewMockPodBounceDirectiveReader creates a new mock instance. +func NewMockPodBounceDirectiveReader(ctrl *gomock.Controller) *MockPodBounceDirectiveReader { + mock := &MockPodBounceDirectiveReader{ctrl: ctrl} + mock.recorder = &MockPodBounceDirectiveReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPodBounceDirectiveReader) EXPECT() *MockPodBounceDirectiveReaderMockRecorder { + return m.recorder +} + +// GetPodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveReader) GetPodBounceDirective(ctx context.Context, key client.ObjectKey) (*v2.PodBounceDirective, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetPodBounceDirective", ctx, key) + ret0, _ := ret[0].(*v2.PodBounceDirective) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPodBounceDirective indicates an expected call of GetPodBounceDirective. +func (mr *MockPodBounceDirectiveReaderMockRecorder) GetPodBounceDirective(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveReader)(nil).GetPodBounceDirective), ctx, key) +} + +// ListPodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveReader) ListPodBounceDirective(ctx context.Context, opts ...client.ListOption) (*v2.PodBounceDirectiveList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListPodBounceDirective", varargs...) + ret0, _ := ret[0].(*v2.PodBounceDirectiveList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListPodBounceDirective indicates an expected call of ListPodBounceDirective. +func (mr *MockPodBounceDirectiveReaderMockRecorder) ListPodBounceDirective(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveReader)(nil).ListPodBounceDirective), varargs...) +} + +// MockPodBounceDirectiveWriter is a mock of PodBounceDirectiveWriter interface. +type MockPodBounceDirectiveWriter struct { + ctrl *gomock.Controller + recorder *MockPodBounceDirectiveWriterMockRecorder +} + +// MockPodBounceDirectiveWriterMockRecorder is the mock recorder for MockPodBounceDirectiveWriter. +type MockPodBounceDirectiveWriterMockRecorder struct { + mock *MockPodBounceDirectiveWriter +} + +// NewMockPodBounceDirectiveWriter creates a new mock instance. +func NewMockPodBounceDirectiveWriter(ctrl *gomock.Controller) *MockPodBounceDirectiveWriter { + mock := &MockPodBounceDirectiveWriter{ctrl: ctrl} + mock.recorder = &MockPodBounceDirectiveWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPodBounceDirectiveWriter) EXPECT() *MockPodBounceDirectiveWriterMockRecorder { + return m.recorder +} + +// CreatePodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveWriter) CreatePodBounceDirective(ctx context.Context, obj *v2.PodBounceDirective, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreatePodBounceDirective", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreatePodBounceDirective indicates an expected call of CreatePodBounceDirective. +func (mr *MockPodBounceDirectiveWriterMockRecorder) CreatePodBounceDirective(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveWriter)(nil).CreatePodBounceDirective), varargs...) +} + +// DeleteAllOfPodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveWriter) DeleteAllOfPodBounceDirective(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfPodBounceDirective", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfPodBounceDirective indicates an expected call of DeleteAllOfPodBounceDirective. +func (mr *MockPodBounceDirectiveWriterMockRecorder) DeleteAllOfPodBounceDirective(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfPodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveWriter)(nil).DeleteAllOfPodBounceDirective), varargs...) +} + +// DeletePodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveWriter) DeletePodBounceDirective(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeletePodBounceDirective", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeletePodBounceDirective indicates an expected call of DeletePodBounceDirective. +func (mr *MockPodBounceDirectiveWriterMockRecorder) DeletePodBounceDirective(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveWriter)(nil).DeletePodBounceDirective), varargs...) +} + +// PatchPodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveWriter) PatchPodBounceDirective(ctx context.Context, obj *v2.PodBounceDirective, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPodBounceDirective", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPodBounceDirective indicates an expected call of PatchPodBounceDirective. +func (mr *MockPodBounceDirectiveWriterMockRecorder) PatchPodBounceDirective(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveWriter)(nil).PatchPodBounceDirective), varargs...) +} + +// UpdatePodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveWriter) UpdatePodBounceDirective(ctx context.Context, obj *v2.PodBounceDirective, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePodBounceDirective", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePodBounceDirective indicates an expected call of UpdatePodBounceDirective. +func (mr *MockPodBounceDirectiveWriterMockRecorder) UpdatePodBounceDirective(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveWriter)(nil).UpdatePodBounceDirective), varargs...) +} + +// UpsertPodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveWriter) UpsertPodBounceDirective(ctx context.Context, obj *v2.PodBounceDirective, transitionFuncs ...v2.PodBounceDirectiveTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertPodBounceDirective", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertPodBounceDirective indicates an expected call of UpsertPodBounceDirective. +func (mr *MockPodBounceDirectiveWriterMockRecorder) UpsertPodBounceDirective(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertPodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveWriter)(nil).UpsertPodBounceDirective), varargs...) +} + +// MockPodBounceDirectiveStatusWriter is a mock of PodBounceDirectiveStatusWriter interface. +type MockPodBounceDirectiveStatusWriter struct { + ctrl *gomock.Controller + recorder *MockPodBounceDirectiveStatusWriterMockRecorder +} + +// MockPodBounceDirectiveStatusWriterMockRecorder is the mock recorder for MockPodBounceDirectiveStatusWriter. +type MockPodBounceDirectiveStatusWriterMockRecorder struct { + mock *MockPodBounceDirectiveStatusWriter +} + +// NewMockPodBounceDirectiveStatusWriter creates a new mock instance. +func NewMockPodBounceDirectiveStatusWriter(ctrl *gomock.Controller) *MockPodBounceDirectiveStatusWriter { + mock := &MockPodBounceDirectiveStatusWriter{ctrl: ctrl} + mock.recorder = &MockPodBounceDirectiveStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPodBounceDirectiveStatusWriter) EXPECT() *MockPodBounceDirectiveStatusWriterMockRecorder { + return m.recorder +} + +// PatchPodBounceDirectiveStatus mocks base method. +func (m *MockPodBounceDirectiveStatusWriter) PatchPodBounceDirectiveStatus(ctx context.Context, obj *v2.PodBounceDirective, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPodBounceDirectiveStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPodBounceDirectiveStatus indicates an expected call of PatchPodBounceDirectiveStatus. +func (mr *MockPodBounceDirectiveStatusWriterMockRecorder) PatchPodBounceDirectiveStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPodBounceDirectiveStatus", reflect.TypeOf((*MockPodBounceDirectiveStatusWriter)(nil).PatchPodBounceDirectiveStatus), varargs...) +} + +// UpdatePodBounceDirectiveStatus mocks base method. +func (m *MockPodBounceDirectiveStatusWriter) UpdatePodBounceDirectiveStatus(ctx context.Context, obj *v2.PodBounceDirective, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePodBounceDirectiveStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePodBounceDirectiveStatus indicates an expected call of UpdatePodBounceDirectiveStatus. +func (mr *MockPodBounceDirectiveStatusWriterMockRecorder) UpdatePodBounceDirectiveStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePodBounceDirectiveStatus", reflect.TypeOf((*MockPodBounceDirectiveStatusWriter)(nil).UpdatePodBounceDirectiveStatus), varargs...) +} + +// MockPodBounceDirectiveClient is a mock of PodBounceDirectiveClient interface. +type MockPodBounceDirectiveClient struct { + ctrl *gomock.Controller + recorder *MockPodBounceDirectiveClientMockRecorder +} + +// MockPodBounceDirectiveClientMockRecorder is the mock recorder for MockPodBounceDirectiveClient. +type MockPodBounceDirectiveClientMockRecorder struct { + mock *MockPodBounceDirectiveClient +} + +// NewMockPodBounceDirectiveClient creates a new mock instance. +func NewMockPodBounceDirectiveClient(ctrl *gomock.Controller) *MockPodBounceDirectiveClient { + mock := &MockPodBounceDirectiveClient{ctrl: ctrl} + mock.recorder = &MockPodBounceDirectiveClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPodBounceDirectiveClient) EXPECT() *MockPodBounceDirectiveClientMockRecorder { + return m.recorder +} + +// CreatePodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveClient) CreatePodBounceDirective(ctx context.Context, obj *v2.PodBounceDirective, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreatePodBounceDirective", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreatePodBounceDirective indicates an expected call of CreatePodBounceDirective. +func (mr *MockPodBounceDirectiveClientMockRecorder) CreatePodBounceDirective(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveClient)(nil).CreatePodBounceDirective), varargs...) +} + +// DeleteAllOfPodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveClient) DeleteAllOfPodBounceDirective(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfPodBounceDirective", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfPodBounceDirective indicates an expected call of DeleteAllOfPodBounceDirective. +func (mr *MockPodBounceDirectiveClientMockRecorder) DeleteAllOfPodBounceDirective(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfPodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveClient)(nil).DeleteAllOfPodBounceDirective), varargs...) +} + +// DeletePodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveClient) DeletePodBounceDirective(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeletePodBounceDirective", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeletePodBounceDirective indicates an expected call of DeletePodBounceDirective. +func (mr *MockPodBounceDirectiveClientMockRecorder) DeletePodBounceDirective(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveClient)(nil).DeletePodBounceDirective), varargs...) +} + +// GetPodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveClient) GetPodBounceDirective(ctx context.Context, key client.ObjectKey) (*v2.PodBounceDirective, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetPodBounceDirective", ctx, key) + ret0, _ := ret[0].(*v2.PodBounceDirective) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPodBounceDirective indicates an expected call of GetPodBounceDirective. +func (mr *MockPodBounceDirectiveClientMockRecorder) GetPodBounceDirective(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveClient)(nil).GetPodBounceDirective), ctx, key) +} + +// ListPodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveClient) ListPodBounceDirective(ctx context.Context, opts ...client.ListOption) (*v2.PodBounceDirectiveList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListPodBounceDirective", varargs...) + ret0, _ := ret[0].(*v2.PodBounceDirectiveList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListPodBounceDirective indicates an expected call of ListPodBounceDirective. +func (mr *MockPodBounceDirectiveClientMockRecorder) ListPodBounceDirective(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveClient)(nil).ListPodBounceDirective), varargs...) +} + +// PatchPodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveClient) PatchPodBounceDirective(ctx context.Context, obj *v2.PodBounceDirective, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPodBounceDirective", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPodBounceDirective indicates an expected call of PatchPodBounceDirective. +func (mr *MockPodBounceDirectiveClientMockRecorder) PatchPodBounceDirective(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveClient)(nil).PatchPodBounceDirective), varargs...) +} + +// PatchPodBounceDirectiveStatus mocks base method. +func (m *MockPodBounceDirectiveClient) PatchPodBounceDirectiveStatus(ctx context.Context, obj *v2.PodBounceDirective, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPodBounceDirectiveStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPodBounceDirectiveStatus indicates an expected call of PatchPodBounceDirectiveStatus. +func (mr *MockPodBounceDirectiveClientMockRecorder) PatchPodBounceDirectiveStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPodBounceDirectiveStatus", reflect.TypeOf((*MockPodBounceDirectiveClient)(nil).PatchPodBounceDirectiveStatus), varargs...) +} + +// UpdatePodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveClient) UpdatePodBounceDirective(ctx context.Context, obj *v2.PodBounceDirective, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePodBounceDirective", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePodBounceDirective indicates an expected call of UpdatePodBounceDirective. +func (mr *MockPodBounceDirectiveClientMockRecorder) UpdatePodBounceDirective(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveClient)(nil).UpdatePodBounceDirective), varargs...) +} + +// UpdatePodBounceDirectiveStatus mocks base method. +func (m *MockPodBounceDirectiveClient) UpdatePodBounceDirectiveStatus(ctx context.Context, obj *v2.PodBounceDirective, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePodBounceDirectiveStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePodBounceDirectiveStatus indicates an expected call of UpdatePodBounceDirectiveStatus. +func (mr *MockPodBounceDirectiveClientMockRecorder) UpdatePodBounceDirectiveStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePodBounceDirectiveStatus", reflect.TypeOf((*MockPodBounceDirectiveClient)(nil).UpdatePodBounceDirectiveStatus), varargs...) +} + +// UpsertPodBounceDirective mocks base method. +func (m *MockPodBounceDirectiveClient) UpsertPodBounceDirective(ctx context.Context, obj *v2.PodBounceDirective, transitionFuncs ...v2.PodBounceDirectiveTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertPodBounceDirective", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertPodBounceDirective indicates an expected call of UpsertPodBounceDirective. +func (mr *MockPodBounceDirectiveClientMockRecorder) UpsertPodBounceDirective(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertPodBounceDirective", reflect.TypeOf((*MockPodBounceDirectiveClient)(nil).UpsertPodBounceDirective), varargs...) +} + +// MockMulticlusterPodBounceDirectiveClient is a mock of MulticlusterPodBounceDirectiveClient interface. +type MockMulticlusterPodBounceDirectiveClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPodBounceDirectiveClientMockRecorder +} + +// MockMulticlusterPodBounceDirectiveClientMockRecorder is the mock recorder for MockMulticlusterPodBounceDirectiveClient. +type MockMulticlusterPodBounceDirectiveClientMockRecorder struct { + mock *MockMulticlusterPodBounceDirectiveClient +} + +// NewMockMulticlusterPodBounceDirectiveClient creates a new mock instance. +func NewMockMulticlusterPodBounceDirectiveClient(ctrl *gomock.Controller) *MockMulticlusterPodBounceDirectiveClient { + mock := &MockMulticlusterPodBounceDirectiveClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterPodBounceDirectiveClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPodBounceDirectiveClient) EXPECT() *MockMulticlusterPodBounceDirectiveClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterPodBounceDirectiveClient) Cluster(cluster string) (v2.PodBounceDirectiveClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.PodBounceDirectiveClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterPodBounceDirectiveClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterPodBounceDirectiveClient)(nil).Cluster), cluster) +} + +// MockXdsConfigReader is a mock of XdsConfigReader interface. +type MockXdsConfigReader struct { + ctrl *gomock.Controller + recorder *MockXdsConfigReaderMockRecorder +} + +// MockXdsConfigReaderMockRecorder is the mock recorder for MockXdsConfigReader. +type MockXdsConfigReaderMockRecorder struct { + mock *MockXdsConfigReader +} + +// NewMockXdsConfigReader creates a new mock instance. +func NewMockXdsConfigReader(ctrl *gomock.Controller) *MockXdsConfigReader { + mock := &MockXdsConfigReader{ctrl: ctrl} + mock.recorder = &MockXdsConfigReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockXdsConfigReader) EXPECT() *MockXdsConfigReaderMockRecorder { + return m.recorder +} + +// GetXdsConfig mocks base method. +func (m *MockXdsConfigReader) GetXdsConfig(ctx context.Context, key client.ObjectKey) (*v2.XdsConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetXdsConfig", ctx, key) + ret0, _ := ret[0].(*v2.XdsConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetXdsConfig indicates an expected call of GetXdsConfig. +func (mr *MockXdsConfigReaderMockRecorder) GetXdsConfig(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetXdsConfig", reflect.TypeOf((*MockXdsConfigReader)(nil).GetXdsConfig), ctx, key) +} + +// ListXdsConfig mocks base method. +func (m *MockXdsConfigReader) ListXdsConfig(ctx context.Context, opts ...client.ListOption) (*v2.XdsConfigList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListXdsConfig", varargs...) + ret0, _ := ret[0].(*v2.XdsConfigList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListXdsConfig indicates an expected call of ListXdsConfig. +func (mr *MockXdsConfigReaderMockRecorder) ListXdsConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListXdsConfig", reflect.TypeOf((*MockXdsConfigReader)(nil).ListXdsConfig), varargs...) +} + +// MockXdsConfigWriter is a mock of XdsConfigWriter interface. +type MockXdsConfigWriter struct { + ctrl *gomock.Controller + recorder *MockXdsConfigWriterMockRecorder +} + +// MockXdsConfigWriterMockRecorder is the mock recorder for MockXdsConfigWriter. +type MockXdsConfigWriterMockRecorder struct { + mock *MockXdsConfigWriter +} + +// NewMockXdsConfigWriter creates a new mock instance. +func NewMockXdsConfigWriter(ctrl *gomock.Controller) *MockXdsConfigWriter { + mock := &MockXdsConfigWriter{ctrl: ctrl} + mock.recorder = &MockXdsConfigWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockXdsConfigWriter) EXPECT() *MockXdsConfigWriterMockRecorder { + return m.recorder +} + +// CreateXdsConfig mocks base method. +func (m *MockXdsConfigWriter) CreateXdsConfig(ctx context.Context, obj *v2.XdsConfig, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateXdsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateXdsConfig indicates an expected call of CreateXdsConfig. +func (mr *MockXdsConfigWriterMockRecorder) CreateXdsConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateXdsConfig", reflect.TypeOf((*MockXdsConfigWriter)(nil).CreateXdsConfig), varargs...) +} + +// DeleteAllOfXdsConfig mocks base method. +func (m *MockXdsConfigWriter) DeleteAllOfXdsConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfXdsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfXdsConfig indicates an expected call of DeleteAllOfXdsConfig. +func (mr *MockXdsConfigWriterMockRecorder) DeleteAllOfXdsConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfXdsConfig", reflect.TypeOf((*MockXdsConfigWriter)(nil).DeleteAllOfXdsConfig), varargs...) +} + +// DeleteXdsConfig mocks base method. +func (m *MockXdsConfigWriter) DeleteXdsConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteXdsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteXdsConfig indicates an expected call of DeleteXdsConfig. +func (mr *MockXdsConfigWriterMockRecorder) DeleteXdsConfig(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteXdsConfig", reflect.TypeOf((*MockXdsConfigWriter)(nil).DeleteXdsConfig), varargs...) +} + +// PatchXdsConfig mocks base method. +func (m *MockXdsConfigWriter) PatchXdsConfig(ctx context.Context, obj *v2.XdsConfig, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchXdsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchXdsConfig indicates an expected call of PatchXdsConfig. +func (mr *MockXdsConfigWriterMockRecorder) PatchXdsConfig(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchXdsConfig", reflect.TypeOf((*MockXdsConfigWriter)(nil).PatchXdsConfig), varargs...) +} + +// UpdateXdsConfig mocks base method. +func (m *MockXdsConfigWriter) UpdateXdsConfig(ctx context.Context, obj *v2.XdsConfig, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateXdsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateXdsConfig indicates an expected call of UpdateXdsConfig. +func (mr *MockXdsConfigWriterMockRecorder) UpdateXdsConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateXdsConfig", reflect.TypeOf((*MockXdsConfigWriter)(nil).UpdateXdsConfig), varargs...) +} + +// UpsertXdsConfig mocks base method. +func (m *MockXdsConfigWriter) UpsertXdsConfig(ctx context.Context, obj *v2.XdsConfig, transitionFuncs ...v2.XdsConfigTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertXdsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertXdsConfig indicates an expected call of UpsertXdsConfig. +func (mr *MockXdsConfigWriterMockRecorder) UpsertXdsConfig(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertXdsConfig", reflect.TypeOf((*MockXdsConfigWriter)(nil).UpsertXdsConfig), varargs...) +} + +// MockXdsConfigStatusWriter is a mock of XdsConfigStatusWriter interface. +type MockXdsConfigStatusWriter struct { + ctrl *gomock.Controller + recorder *MockXdsConfigStatusWriterMockRecorder +} + +// MockXdsConfigStatusWriterMockRecorder is the mock recorder for MockXdsConfigStatusWriter. +type MockXdsConfigStatusWriterMockRecorder struct { + mock *MockXdsConfigStatusWriter +} + +// NewMockXdsConfigStatusWriter creates a new mock instance. +func NewMockXdsConfigStatusWriter(ctrl *gomock.Controller) *MockXdsConfigStatusWriter { + mock := &MockXdsConfigStatusWriter{ctrl: ctrl} + mock.recorder = &MockXdsConfigStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockXdsConfigStatusWriter) EXPECT() *MockXdsConfigStatusWriterMockRecorder { + return m.recorder +} + +// PatchXdsConfigStatus mocks base method. +func (m *MockXdsConfigStatusWriter) PatchXdsConfigStatus(ctx context.Context, obj *v2.XdsConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchXdsConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchXdsConfigStatus indicates an expected call of PatchXdsConfigStatus. +func (mr *MockXdsConfigStatusWriterMockRecorder) PatchXdsConfigStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchXdsConfigStatus", reflect.TypeOf((*MockXdsConfigStatusWriter)(nil).PatchXdsConfigStatus), varargs...) +} + +// UpdateXdsConfigStatus mocks base method. +func (m *MockXdsConfigStatusWriter) UpdateXdsConfigStatus(ctx context.Context, obj *v2.XdsConfig, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateXdsConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateXdsConfigStatus indicates an expected call of UpdateXdsConfigStatus. +func (mr *MockXdsConfigStatusWriterMockRecorder) UpdateXdsConfigStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateXdsConfigStatus", reflect.TypeOf((*MockXdsConfigStatusWriter)(nil).UpdateXdsConfigStatus), varargs...) +} + +// MockXdsConfigClient is a mock of XdsConfigClient interface. +type MockXdsConfigClient struct { + ctrl *gomock.Controller + recorder *MockXdsConfigClientMockRecorder +} + +// MockXdsConfigClientMockRecorder is the mock recorder for MockXdsConfigClient. +type MockXdsConfigClientMockRecorder struct { + mock *MockXdsConfigClient +} + +// NewMockXdsConfigClient creates a new mock instance. +func NewMockXdsConfigClient(ctrl *gomock.Controller) *MockXdsConfigClient { + mock := &MockXdsConfigClient{ctrl: ctrl} + mock.recorder = &MockXdsConfigClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockXdsConfigClient) EXPECT() *MockXdsConfigClientMockRecorder { + return m.recorder +} + +// CreateXdsConfig mocks base method. +func (m *MockXdsConfigClient) CreateXdsConfig(ctx context.Context, obj *v2.XdsConfig, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateXdsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateXdsConfig indicates an expected call of CreateXdsConfig. +func (mr *MockXdsConfigClientMockRecorder) CreateXdsConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateXdsConfig", reflect.TypeOf((*MockXdsConfigClient)(nil).CreateXdsConfig), varargs...) +} + +// DeleteAllOfXdsConfig mocks base method. +func (m *MockXdsConfigClient) DeleteAllOfXdsConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfXdsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfXdsConfig indicates an expected call of DeleteAllOfXdsConfig. +func (mr *MockXdsConfigClientMockRecorder) DeleteAllOfXdsConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfXdsConfig", reflect.TypeOf((*MockXdsConfigClient)(nil).DeleteAllOfXdsConfig), varargs...) +} + +// DeleteXdsConfig mocks base method. +func (m *MockXdsConfigClient) DeleteXdsConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteXdsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteXdsConfig indicates an expected call of DeleteXdsConfig. +func (mr *MockXdsConfigClientMockRecorder) DeleteXdsConfig(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteXdsConfig", reflect.TypeOf((*MockXdsConfigClient)(nil).DeleteXdsConfig), varargs...) +} + +// GetXdsConfig mocks base method. +func (m *MockXdsConfigClient) GetXdsConfig(ctx context.Context, key client.ObjectKey) (*v2.XdsConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetXdsConfig", ctx, key) + ret0, _ := ret[0].(*v2.XdsConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetXdsConfig indicates an expected call of GetXdsConfig. +func (mr *MockXdsConfigClientMockRecorder) GetXdsConfig(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetXdsConfig", reflect.TypeOf((*MockXdsConfigClient)(nil).GetXdsConfig), ctx, key) +} + +// ListXdsConfig mocks base method. +func (m *MockXdsConfigClient) ListXdsConfig(ctx context.Context, opts ...client.ListOption) (*v2.XdsConfigList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListXdsConfig", varargs...) + ret0, _ := ret[0].(*v2.XdsConfigList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListXdsConfig indicates an expected call of ListXdsConfig. +func (mr *MockXdsConfigClientMockRecorder) ListXdsConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListXdsConfig", reflect.TypeOf((*MockXdsConfigClient)(nil).ListXdsConfig), varargs...) +} + +// PatchXdsConfig mocks base method. +func (m *MockXdsConfigClient) PatchXdsConfig(ctx context.Context, obj *v2.XdsConfig, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchXdsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchXdsConfig indicates an expected call of PatchXdsConfig. +func (mr *MockXdsConfigClientMockRecorder) PatchXdsConfig(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchXdsConfig", reflect.TypeOf((*MockXdsConfigClient)(nil).PatchXdsConfig), varargs...) +} + +// PatchXdsConfigStatus mocks base method. +func (m *MockXdsConfigClient) PatchXdsConfigStatus(ctx context.Context, obj *v2.XdsConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchXdsConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchXdsConfigStatus indicates an expected call of PatchXdsConfigStatus. +func (mr *MockXdsConfigClientMockRecorder) PatchXdsConfigStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchXdsConfigStatus", reflect.TypeOf((*MockXdsConfigClient)(nil).PatchXdsConfigStatus), varargs...) +} + +// UpdateXdsConfig mocks base method. +func (m *MockXdsConfigClient) UpdateXdsConfig(ctx context.Context, obj *v2.XdsConfig, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateXdsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateXdsConfig indicates an expected call of UpdateXdsConfig. +func (mr *MockXdsConfigClientMockRecorder) UpdateXdsConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateXdsConfig", reflect.TypeOf((*MockXdsConfigClient)(nil).UpdateXdsConfig), varargs...) +} + +// UpdateXdsConfigStatus mocks base method. +func (m *MockXdsConfigClient) UpdateXdsConfigStatus(ctx context.Context, obj *v2.XdsConfig, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateXdsConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateXdsConfigStatus indicates an expected call of UpdateXdsConfigStatus. +func (mr *MockXdsConfigClientMockRecorder) UpdateXdsConfigStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateXdsConfigStatus", reflect.TypeOf((*MockXdsConfigClient)(nil).UpdateXdsConfigStatus), varargs...) +} + +// UpsertXdsConfig mocks base method. +func (m *MockXdsConfigClient) UpsertXdsConfig(ctx context.Context, obj *v2.XdsConfig, transitionFuncs ...v2.XdsConfigTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertXdsConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertXdsConfig indicates an expected call of UpsertXdsConfig. +func (mr *MockXdsConfigClientMockRecorder) UpsertXdsConfig(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertXdsConfig", reflect.TypeOf((*MockXdsConfigClient)(nil).UpsertXdsConfig), varargs...) +} + +// MockMulticlusterXdsConfigClient is a mock of MulticlusterXdsConfigClient interface. +type MockMulticlusterXdsConfigClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterXdsConfigClientMockRecorder +} + +// MockMulticlusterXdsConfigClientMockRecorder is the mock recorder for MockMulticlusterXdsConfigClient. +type MockMulticlusterXdsConfigClientMockRecorder struct { + mock *MockMulticlusterXdsConfigClient +} + +// NewMockMulticlusterXdsConfigClient creates a new mock instance. +func NewMockMulticlusterXdsConfigClient(ctrl *gomock.Controller) *MockMulticlusterXdsConfigClient { + mock := &MockMulticlusterXdsConfigClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterXdsConfigClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterXdsConfigClient) EXPECT() *MockMulticlusterXdsConfigClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterXdsConfigClient) Cluster(cluster string) (v2.XdsConfigClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.XdsConfigClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterXdsConfigClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterXdsConfigClient)(nil).Cluster), cluster) +} + +// MockDiscoveredGatewayReader is a mock of DiscoveredGatewayReader interface. +type MockDiscoveredGatewayReader struct { + ctrl *gomock.Controller + recorder *MockDiscoveredGatewayReaderMockRecorder +} + +// MockDiscoveredGatewayReaderMockRecorder is the mock recorder for MockDiscoveredGatewayReader. +type MockDiscoveredGatewayReaderMockRecorder struct { + mock *MockDiscoveredGatewayReader +} + +// NewMockDiscoveredGatewayReader creates a new mock instance. +func NewMockDiscoveredGatewayReader(ctrl *gomock.Controller) *MockDiscoveredGatewayReader { + mock := &MockDiscoveredGatewayReader{ctrl: ctrl} + mock.recorder = &MockDiscoveredGatewayReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredGatewayReader) EXPECT() *MockDiscoveredGatewayReaderMockRecorder { + return m.recorder +} + +// GetDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayReader) GetDiscoveredGateway(ctx context.Context, key client.ObjectKey) (*v2.DiscoveredGateway, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetDiscoveredGateway", ctx, key) + ret0, _ := ret[0].(*v2.DiscoveredGateway) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetDiscoveredGateway indicates an expected call of GetDiscoveredGateway. +func (mr *MockDiscoveredGatewayReaderMockRecorder) GetDiscoveredGateway(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayReader)(nil).GetDiscoveredGateway), ctx, key) +} + +// ListDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayReader) ListDiscoveredGateway(ctx context.Context, opts ...client.ListOption) (*v2.DiscoveredGatewayList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListDiscoveredGateway", varargs...) + ret0, _ := ret[0].(*v2.DiscoveredGatewayList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListDiscoveredGateway indicates an expected call of ListDiscoveredGateway. +func (mr *MockDiscoveredGatewayReaderMockRecorder) ListDiscoveredGateway(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayReader)(nil).ListDiscoveredGateway), varargs...) +} + +// MockDiscoveredGatewayWriter is a mock of DiscoveredGatewayWriter interface. +type MockDiscoveredGatewayWriter struct { + ctrl *gomock.Controller + recorder *MockDiscoveredGatewayWriterMockRecorder +} + +// MockDiscoveredGatewayWriterMockRecorder is the mock recorder for MockDiscoveredGatewayWriter. +type MockDiscoveredGatewayWriterMockRecorder struct { + mock *MockDiscoveredGatewayWriter +} + +// NewMockDiscoveredGatewayWriter creates a new mock instance. +func NewMockDiscoveredGatewayWriter(ctrl *gomock.Controller) *MockDiscoveredGatewayWriter { + mock := &MockDiscoveredGatewayWriter{ctrl: ctrl} + mock.recorder = &MockDiscoveredGatewayWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredGatewayWriter) EXPECT() *MockDiscoveredGatewayWriterMockRecorder { + return m.recorder +} + +// CreateDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayWriter) CreateDiscoveredGateway(ctx context.Context, obj *v2.DiscoveredGateway, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateDiscoveredGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateDiscoveredGateway indicates an expected call of CreateDiscoveredGateway. +func (mr *MockDiscoveredGatewayWriterMockRecorder) CreateDiscoveredGateway(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayWriter)(nil).CreateDiscoveredGateway), varargs...) +} + +// DeleteAllOfDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayWriter) DeleteAllOfDiscoveredGateway(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfDiscoveredGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfDiscoveredGateway indicates an expected call of DeleteAllOfDiscoveredGateway. +func (mr *MockDiscoveredGatewayWriterMockRecorder) DeleteAllOfDiscoveredGateway(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayWriter)(nil).DeleteAllOfDiscoveredGateway), varargs...) +} + +// DeleteDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayWriter) DeleteDiscoveredGateway(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteDiscoveredGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteDiscoveredGateway indicates an expected call of DeleteDiscoveredGateway. +func (mr *MockDiscoveredGatewayWriterMockRecorder) DeleteDiscoveredGateway(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayWriter)(nil).DeleteDiscoveredGateway), varargs...) +} + +// PatchDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayWriter) PatchDiscoveredGateway(ctx context.Context, obj *v2.DiscoveredGateway, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDiscoveredGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDiscoveredGateway indicates an expected call of PatchDiscoveredGateway. +func (mr *MockDiscoveredGatewayWriterMockRecorder) PatchDiscoveredGateway(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayWriter)(nil).PatchDiscoveredGateway), varargs...) +} + +// UpdateDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayWriter) UpdateDiscoveredGateway(ctx context.Context, obj *v2.DiscoveredGateway, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDiscoveredGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDiscoveredGateway indicates an expected call of UpdateDiscoveredGateway. +func (mr *MockDiscoveredGatewayWriterMockRecorder) UpdateDiscoveredGateway(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayWriter)(nil).UpdateDiscoveredGateway), varargs...) +} + +// UpsertDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayWriter) UpsertDiscoveredGateway(ctx context.Context, obj *v2.DiscoveredGateway, transitionFuncs ...v2.DiscoveredGatewayTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertDiscoveredGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertDiscoveredGateway indicates an expected call of UpsertDiscoveredGateway. +func (mr *MockDiscoveredGatewayWriterMockRecorder) UpsertDiscoveredGateway(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayWriter)(nil).UpsertDiscoveredGateway), varargs...) +} + +// MockDiscoveredGatewayStatusWriter is a mock of DiscoveredGatewayStatusWriter interface. +type MockDiscoveredGatewayStatusWriter struct { + ctrl *gomock.Controller + recorder *MockDiscoveredGatewayStatusWriterMockRecorder +} + +// MockDiscoveredGatewayStatusWriterMockRecorder is the mock recorder for MockDiscoveredGatewayStatusWriter. +type MockDiscoveredGatewayStatusWriterMockRecorder struct { + mock *MockDiscoveredGatewayStatusWriter +} + +// NewMockDiscoveredGatewayStatusWriter creates a new mock instance. +func NewMockDiscoveredGatewayStatusWriter(ctrl *gomock.Controller) *MockDiscoveredGatewayStatusWriter { + mock := &MockDiscoveredGatewayStatusWriter{ctrl: ctrl} + mock.recorder = &MockDiscoveredGatewayStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredGatewayStatusWriter) EXPECT() *MockDiscoveredGatewayStatusWriterMockRecorder { + return m.recorder +} + +// PatchDiscoveredGatewayStatus mocks base method. +func (m *MockDiscoveredGatewayStatusWriter) PatchDiscoveredGatewayStatus(ctx context.Context, obj *v2.DiscoveredGateway, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDiscoveredGatewayStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDiscoveredGatewayStatus indicates an expected call of PatchDiscoveredGatewayStatus. +func (mr *MockDiscoveredGatewayStatusWriterMockRecorder) PatchDiscoveredGatewayStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDiscoveredGatewayStatus", reflect.TypeOf((*MockDiscoveredGatewayStatusWriter)(nil).PatchDiscoveredGatewayStatus), varargs...) +} + +// UpdateDiscoveredGatewayStatus mocks base method. +func (m *MockDiscoveredGatewayStatusWriter) UpdateDiscoveredGatewayStatus(ctx context.Context, obj *v2.DiscoveredGateway, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDiscoveredGatewayStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDiscoveredGatewayStatus indicates an expected call of UpdateDiscoveredGatewayStatus. +func (mr *MockDiscoveredGatewayStatusWriterMockRecorder) UpdateDiscoveredGatewayStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDiscoveredGatewayStatus", reflect.TypeOf((*MockDiscoveredGatewayStatusWriter)(nil).UpdateDiscoveredGatewayStatus), varargs...) +} + +// MockDiscoveredGatewayClient is a mock of DiscoveredGatewayClient interface. +type MockDiscoveredGatewayClient struct { + ctrl *gomock.Controller + recorder *MockDiscoveredGatewayClientMockRecorder +} + +// MockDiscoveredGatewayClientMockRecorder is the mock recorder for MockDiscoveredGatewayClient. +type MockDiscoveredGatewayClientMockRecorder struct { + mock *MockDiscoveredGatewayClient +} + +// NewMockDiscoveredGatewayClient creates a new mock instance. +func NewMockDiscoveredGatewayClient(ctrl *gomock.Controller) *MockDiscoveredGatewayClient { + mock := &MockDiscoveredGatewayClient{ctrl: ctrl} + mock.recorder = &MockDiscoveredGatewayClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredGatewayClient) EXPECT() *MockDiscoveredGatewayClientMockRecorder { + return m.recorder +} + +// CreateDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayClient) CreateDiscoveredGateway(ctx context.Context, obj *v2.DiscoveredGateway, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateDiscoveredGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateDiscoveredGateway indicates an expected call of CreateDiscoveredGateway. +func (mr *MockDiscoveredGatewayClientMockRecorder) CreateDiscoveredGateway(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayClient)(nil).CreateDiscoveredGateway), varargs...) +} + +// DeleteAllOfDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayClient) DeleteAllOfDiscoveredGateway(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfDiscoveredGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfDiscoveredGateway indicates an expected call of DeleteAllOfDiscoveredGateway. +func (mr *MockDiscoveredGatewayClientMockRecorder) DeleteAllOfDiscoveredGateway(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayClient)(nil).DeleteAllOfDiscoveredGateway), varargs...) +} + +// DeleteDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayClient) DeleteDiscoveredGateway(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteDiscoveredGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteDiscoveredGateway indicates an expected call of DeleteDiscoveredGateway. +func (mr *MockDiscoveredGatewayClientMockRecorder) DeleteDiscoveredGateway(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayClient)(nil).DeleteDiscoveredGateway), varargs...) +} + +// GetDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayClient) GetDiscoveredGateway(ctx context.Context, key client.ObjectKey) (*v2.DiscoveredGateway, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetDiscoveredGateway", ctx, key) + ret0, _ := ret[0].(*v2.DiscoveredGateway) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetDiscoveredGateway indicates an expected call of GetDiscoveredGateway. +func (mr *MockDiscoveredGatewayClientMockRecorder) GetDiscoveredGateway(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayClient)(nil).GetDiscoveredGateway), ctx, key) +} + +// ListDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayClient) ListDiscoveredGateway(ctx context.Context, opts ...client.ListOption) (*v2.DiscoveredGatewayList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListDiscoveredGateway", varargs...) + ret0, _ := ret[0].(*v2.DiscoveredGatewayList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListDiscoveredGateway indicates an expected call of ListDiscoveredGateway. +func (mr *MockDiscoveredGatewayClientMockRecorder) ListDiscoveredGateway(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayClient)(nil).ListDiscoveredGateway), varargs...) +} + +// PatchDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayClient) PatchDiscoveredGateway(ctx context.Context, obj *v2.DiscoveredGateway, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDiscoveredGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDiscoveredGateway indicates an expected call of PatchDiscoveredGateway. +func (mr *MockDiscoveredGatewayClientMockRecorder) PatchDiscoveredGateway(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayClient)(nil).PatchDiscoveredGateway), varargs...) +} + +// PatchDiscoveredGatewayStatus mocks base method. +func (m *MockDiscoveredGatewayClient) PatchDiscoveredGatewayStatus(ctx context.Context, obj *v2.DiscoveredGateway, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDiscoveredGatewayStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDiscoveredGatewayStatus indicates an expected call of PatchDiscoveredGatewayStatus. +func (mr *MockDiscoveredGatewayClientMockRecorder) PatchDiscoveredGatewayStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDiscoveredGatewayStatus", reflect.TypeOf((*MockDiscoveredGatewayClient)(nil).PatchDiscoveredGatewayStatus), varargs...) +} + +// UpdateDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayClient) UpdateDiscoveredGateway(ctx context.Context, obj *v2.DiscoveredGateway, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDiscoveredGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDiscoveredGateway indicates an expected call of UpdateDiscoveredGateway. +func (mr *MockDiscoveredGatewayClientMockRecorder) UpdateDiscoveredGateway(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayClient)(nil).UpdateDiscoveredGateway), varargs...) +} + +// UpdateDiscoveredGatewayStatus mocks base method. +func (m *MockDiscoveredGatewayClient) UpdateDiscoveredGatewayStatus(ctx context.Context, obj *v2.DiscoveredGateway, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDiscoveredGatewayStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDiscoveredGatewayStatus indicates an expected call of UpdateDiscoveredGatewayStatus. +func (mr *MockDiscoveredGatewayClientMockRecorder) UpdateDiscoveredGatewayStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDiscoveredGatewayStatus", reflect.TypeOf((*MockDiscoveredGatewayClient)(nil).UpdateDiscoveredGatewayStatus), varargs...) +} + +// UpsertDiscoveredGateway mocks base method. +func (m *MockDiscoveredGatewayClient) UpsertDiscoveredGateway(ctx context.Context, obj *v2.DiscoveredGateway, transitionFuncs ...v2.DiscoveredGatewayTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertDiscoveredGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertDiscoveredGateway indicates an expected call of UpsertDiscoveredGateway. +func (mr *MockDiscoveredGatewayClientMockRecorder) UpsertDiscoveredGateway(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertDiscoveredGateway", reflect.TypeOf((*MockDiscoveredGatewayClient)(nil).UpsertDiscoveredGateway), varargs...) +} + +// MockMulticlusterDiscoveredGatewayClient is a mock of MulticlusterDiscoveredGatewayClient interface. +type MockMulticlusterDiscoveredGatewayClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDiscoveredGatewayClientMockRecorder +} + +// MockMulticlusterDiscoveredGatewayClientMockRecorder is the mock recorder for MockMulticlusterDiscoveredGatewayClient. +type MockMulticlusterDiscoveredGatewayClientMockRecorder struct { + mock *MockMulticlusterDiscoveredGatewayClient +} + +// NewMockMulticlusterDiscoveredGatewayClient creates a new mock instance. +func NewMockMulticlusterDiscoveredGatewayClient(ctrl *gomock.Controller) *MockMulticlusterDiscoveredGatewayClient { + mock := &MockMulticlusterDiscoveredGatewayClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterDiscoveredGatewayClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDiscoveredGatewayClient) EXPECT() *MockMulticlusterDiscoveredGatewayClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterDiscoveredGatewayClient) Cluster(cluster string) (v2.DiscoveredGatewayClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.DiscoveredGatewayClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterDiscoveredGatewayClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterDiscoveredGatewayClient)(nil).Cluster), cluster) +} + +// MockMeshReader is a mock of MeshReader interface. +type MockMeshReader struct { + ctrl *gomock.Controller + recorder *MockMeshReaderMockRecorder +} + +// MockMeshReaderMockRecorder is the mock recorder for MockMeshReader. +type MockMeshReaderMockRecorder struct { + mock *MockMeshReader +} + +// NewMockMeshReader creates a new mock instance. +func NewMockMeshReader(ctrl *gomock.Controller) *MockMeshReader { + mock := &MockMeshReader{ctrl: ctrl} + mock.recorder = &MockMeshReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMeshReader) EXPECT() *MockMeshReaderMockRecorder { + return m.recorder +} + +// GetMesh mocks base method. +func (m *MockMeshReader) GetMesh(ctx context.Context, key client.ObjectKey) (*v2.Mesh, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetMesh", ctx, key) + ret0, _ := ret[0].(*v2.Mesh) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetMesh indicates an expected call of GetMesh. +func (mr *MockMeshReaderMockRecorder) GetMesh(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMesh", reflect.TypeOf((*MockMeshReader)(nil).GetMesh), ctx, key) +} + +// ListMesh mocks base method. +func (m *MockMeshReader) ListMesh(ctx context.Context, opts ...client.ListOption) (*v2.MeshList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListMesh", varargs...) + ret0, _ := ret[0].(*v2.MeshList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListMesh indicates an expected call of ListMesh. +func (mr *MockMeshReaderMockRecorder) ListMesh(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListMesh", reflect.TypeOf((*MockMeshReader)(nil).ListMesh), varargs...) +} + +// MockMeshWriter is a mock of MeshWriter interface. +type MockMeshWriter struct { + ctrl *gomock.Controller + recorder *MockMeshWriterMockRecorder +} + +// MockMeshWriterMockRecorder is the mock recorder for MockMeshWriter. +type MockMeshWriterMockRecorder struct { + mock *MockMeshWriter +} + +// NewMockMeshWriter creates a new mock instance. +func NewMockMeshWriter(ctrl *gomock.Controller) *MockMeshWriter { + mock := &MockMeshWriter{ctrl: ctrl} + mock.recorder = &MockMeshWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMeshWriter) EXPECT() *MockMeshWriterMockRecorder { + return m.recorder +} + +// CreateMesh mocks base method. +func (m *MockMeshWriter) CreateMesh(ctx context.Context, obj *v2.Mesh, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateMesh", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateMesh indicates an expected call of CreateMesh. +func (mr *MockMeshWriterMockRecorder) CreateMesh(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateMesh", reflect.TypeOf((*MockMeshWriter)(nil).CreateMesh), varargs...) +} + +// DeleteAllOfMesh mocks base method. +func (m *MockMeshWriter) DeleteAllOfMesh(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfMesh", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfMesh indicates an expected call of DeleteAllOfMesh. +func (mr *MockMeshWriterMockRecorder) DeleteAllOfMesh(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfMesh", reflect.TypeOf((*MockMeshWriter)(nil).DeleteAllOfMesh), varargs...) +} + +// DeleteMesh mocks base method. +func (m *MockMeshWriter) DeleteMesh(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteMesh", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteMesh indicates an expected call of DeleteMesh. +func (mr *MockMeshWriterMockRecorder) DeleteMesh(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMesh", reflect.TypeOf((*MockMeshWriter)(nil).DeleteMesh), varargs...) +} + +// PatchMesh mocks base method. +func (m *MockMeshWriter) PatchMesh(ctx context.Context, obj *v2.Mesh, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchMesh", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchMesh indicates an expected call of PatchMesh. +func (mr *MockMeshWriterMockRecorder) PatchMesh(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchMesh", reflect.TypeOf((*MockMeshWriter)(nil).PatchMesh), varargs...) +} + +// UpdateMesh mocks base method. +func (m *MockMeshWriter) UpdateMesh(ctx context.Context, obj *v2.Mesh, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateMesh", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateMesh indicates an expected call of UpdateMesh. +func (mr *MockMeshWriterMockRecorder) UpdateMesh(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMesh", reflect.TypeOf((*MockMeshWriter)(nil).UpdateMesh), varargs...) +} + +// UpsertMesh mocks base method. +func (m *MockMeshWriter) UpsertMesh(ctx context.Context, obj *v2.Mesh, transitionFuncs ...v2.MeshTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertMesh", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertMesh indicates an expected call of UpsertMesh. +func (mr *MockMeshWriterMockRecorder) UpsertMesh(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertMesh", reflect.TypeOf((*MockMeshWriter)(nil).UpsertMesh), varargs...) +} + +// MockMeshStatusWriter is a mock of MeshStatusWriter interface. +type MockMeshStatusWriter struct { + ctrl *gomock.Controller + recorder *MockMeshStatusWriterMockRecorder +} + +// MockMeshStatusWriterMockRecorder is the mock recorder for MockMeshStatusWriter. +type MockMeshStatusWriterMockRecorder struct { + mock *MockMeshStatusWriter +} + +// NewMockMeshStatusWriter creates a new mock instance. +func NewMockMeshStatusWriter(ctrl *gomock.Controller) *MockMeshStatusWriter { + mock := &MockMeshStatusWriter{ctrl: ctrl} + mock.recorder = &MockMeshStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMeshStatusWriter) EXPECT() *MockMeshStatusWriterMockRecorder { + return m.recorder +} + +// PatchMeshStatus mocks base method. +func (m *MockMeshStatusWriter) PatchMeshStatus(ctx context.Context, obj *v2.Mesh, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchMeshStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchMeshStatus indicates an expected call of PatchMeshStatus. +func (mr *MockMeshStatusWriterMockRecorder) PatchMeshStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchMeshStatus", reflect.TypeOf((*MockMeshStatusWriter)(nil).PatchMeshStatus), varargs...) +} + +// UpdateMeshStatus mocks base method. +func (m *MockMeshStatusWriter) UpdateMeshStatus(ctx context.Context, obj *v2.Mesh, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateMeshStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateMeshStatus indicates an expected call of UpdateMeshStatus. +func (mr *MockMeshStatusWriterMockRecorder) UpdateMeshStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMeshStatus", reflect.TypeOf((*MockMeshStatusWriter)(nil).UpdateMeshStatus), varargs...) +} + +// MockMeshClient is a mock of MeshClient interface. +type MockMeshClient struct { + ctrl *gomock.Controller + recorder *MockMeshClientMockRecorder +} + +// MockMeshClientMockRecorder is the mock recorder for MockMeshClient. +type MockMeshClientMockRecorder struct { + mock *MockMeshClient +} + +// NewMockMeshClient creates a new mock instance. +func NewMockMeshClient(ctrl *gomock.Controller) *MockMeshClient { + mock := &MockMeshClient{ctrl: ctrl} + mock.recorder = &MockMeshClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMeshClient) EXPECT() *MockMeshClientMockRecorder { + return m.recorder +} + +// CreateMesh mocks base method. +func (m *MockMeshClient) CreateMesh(ctx context.Context, obj *v2.Mesh, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateMesh", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateMesh indicates an expected call of CreateMesh. +func (mr *MockMeshClientMockRecorder) CreateMesh(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateMesh", reflect.TypeOf((*MockMeshClient)(nil).CreateMesh), varargs...) +} + +// DeleteAllOfMesh mocks base method. +func (m *MockMeshClient) DeleteAllOfMesh(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfMesh", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfMesh indicates an expected call of DeleteAllOfMesh. +func (mr *MockMeshClientMockRecorder) DeleteAllOfMesh(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfMesh", reflect.TypeOf((*MockMeshClient)(nil).DeleteAllOfMesh), varargs...) +} + +// DeleteMesh mocks base method. +func (m *MockMeshClient) DeleteMesh(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteMesh", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteMesh indicates an expected call of DeleteMesh. +func (mr *MockMeshClientMockRecorder) DeleteMesh(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMesh", reflect.TypeOf((*MockMeshClient)(nil).DeleteMesh), varargs...) +} + +// GetMesh mocks base method. +func (m *MockMeshClient) GetMesh(ctx context.Context, key client.ObjectKey) (*v2.Mesh, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetMesh", ctx, key) + ret0, _ := ret[0].(*v2.Mesh) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetMesh indicates an expected call of GetMesh. +func (mr *MockMeshClientMockRecorder) GetMesh(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMesh", reflect.TypeOf((*MockMeshClient)(nil).GetMesh), ctx, key) +} + +// ListMesh mocks base method. +func (m *MockMeshClient) ListMesh(ctx context.Context, opts ...client.ListOption) (*v2.MeshList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListMesh", varargs...) + ret0, _ := ret[0].(*v2.MeshList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListMesh indicates an expected call of ListMesh. +func (mr *MockMeshClientMockRecorder) ListMesh(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListMesh", reflect.TypeOf((*MockMeshClient)(nil).ListMesh), varargs...) +} + +// PatchMesh mocks base method. +func (m *MockMeshClient) PatchMesh(ctx context.Context, obj *v2.Mesh, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchMesh", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchMesh indicates an expected call of PatchMesh. +func (mr *MockMeshClientMockRecorder) PatchMesh(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchMesh", reflect.TypeOf((*MockMeshClient)(nil).PatchMesh), varargs...) +} + +// PatchMeshStatus mocks base method. +func (m *MockMeshClient) PatchMeshStatus(ctx context.Context, obj *v2.Mesh, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchMeshStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchMeshStatus indicates an expected call of PatchMeshStatus. +func (mr *MockMeshClientMockRecorder) PatchMeshStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchMeshStatus", reflect.TypeOf((*MockMeshClient)(nil).PatchMeshStatus), varargs...) +} + +// UpdateMesh mocks base method. +func (m *MockMeshClient) UpdateMesh(ctx context.Context, obj *v2.Mesh, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateMesh", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateMesh indicates an expected call of UpdateMesh. +func (mr *MockMeshClientMockRecorder) UpdateMesh(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMesh", reflect.TypeOf((*MockMeshClient)(nil).UpdateMesh), varargs...) +} + +// UpdateMeshStatus mocks base method. +func (m *MockMeshClient) UpdateMeshStatus(ctx context.Context, obj *v2.Mesh, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateMeshStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateMeshStatus indicates an expected call of UpdateMeshStatus. +func (mr *MockMeshClientMockRecorder) UpdateMeshStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMeshStatus", reflect.TypeOf((*MockMeshClient)(nil).UpdateMeshStatus), varargs...) +} + +// UpsertMesh mocks base method. +func (m *MockMeshClient) UpsertMesh(ctx context.Context, obj *v2.Mesh, transitionFuncs ...v2.MeshTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertMesh", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertMesh indicates an expected call of UpsertMesh. +func (mr *MockMeshClientMockRecorder) UpsertMesh(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertMesh", reflect.TypeOf((*MockMeshClient)(nil).UpsertMesh), varargs...) +} + +// MockMulticlusterMeshClient is a mock of MulticlusterMeshClient interface. +type MockMulticlusterMeshClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterMeshClientMockRecorder +} + +// MockMulticlusterMeshClientMockRecorder is the mock recorder for MockMulticlusterMeshClient. +type MockMulticlusterMeshClientMockRecorder struct { + mock *MockMulticlusterMeshClient +} + +// NewMockMulticlusterMeshClient creates a new mock instance. +func NewMockMulticlusterMeshClient(ctrl *gomock.Controller) *MockMulticlusterMeshClient { + mock := &MockMulticlusterMeshClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterMeshClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterMeshClient) EXPECT() *MockMulticlusterMeshClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterMeshClient) Cluster(cluster string) (v2.MeshClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.MeshClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterMeshClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterMeshClient)(nil).Cluster), cluster) +} + +// MockDiscoveredCNIReader is a mock of DiscoveredCNIReader interface. +type MockDiscoveredCNIReader struct { + ctrl *gomock.Controller + recorder *MockDiscoveredCNIReaderMockRecorder +} + +// MockDiscoveredCNIReaderMockRecorder is the mock recorder for MockDiscoveredCNIReader. +type MockDiscoveredCNIReaderMockRecorder struct { + mock *MockDiscoveredCNIReader +} + +// NewMockDiscoveredCNIReader creates a new mock instance. +func NewMockDiscoveredCNIReader(ctrl *gomock.Controller) *MockDiscoveredCNIReader { + mock := &MockDiscoveredCNIReader{ctrl: ctrl} + mock.recorder = &MockDiscoveredCNIReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredCNIReader) EXPECT() *MockDiscoveredCNIReaderMockRecorder { + return m.recorder +} + +// GetDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIReader) GetDiscoveredCNI(ctx context.Context, key client.ObjectKey) (*v2.DiscoveredCNI, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetDiscoveredCNI", ctx, key) + ret0, _ := ret[0].(*v2.DiscoveredCNI) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetDiscoveredCNI indicates an expected call of GetDiscoveredCNI. +func (mr *MockDiscoveredCNIReaderMockRecorder) GetDiscoveredCNI(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIReader)(nil).GetDiscoveredCNI), ctx, key) +} + +// ListDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIReader) ListDiscoveredCNI(ctx context.Context, opts ...client.ListOption) (*v2.DiscoveredCNIList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListDiscoveredCNI", varargs...) + ret0, _ := ret[0].(*v2.DiscoveredCNIList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListDiscoveredCNI indicates an expected call of ListDiscoveredCNI. +func (mr *MockDiscoveredCNIReaderMockRecorder) ListDiscoveredCNI(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIReader)(nil).ListDiscoveredCNI), varargs...) +} + +// MockDiscoveredCNIWriter is a mock of DiscoveredCNIWriter interface. +type MockDiscoveredCNIWriter struct { + ctrl *gomock.Controller + recorder *MockDiscoveredCNIWriterMockRecorder +} + +// MockDiscoveredCNIWriterMockRecorder is the mock recorder for MockDiscoveredCNIWriter. +type MockDiscoveredCNIWriterMockRecorder struct { + mock *MockDiscoveredCNIWriter +} + +// NewMockDiscoveredCNIWriter creates a new mock instance. +func NewMockDiscoveredCNIWriter(ctrl *gomock.Controller) *MockDiscoveredCNIWriter { + mock := &MockDiscoveredCNIWriter{ctrl: ctrl} + mock.recorder = &MockDiscoveredCNIWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredCNIWriter) EXPECT() *MockDiscoveredCNIWriterMockRecorder { + return m.recorder +} + +// CreateDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIWriter) CreateDiscoveredCNI(ctx context.Context, obj *v2.DiscoveredCNI, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateDiscoveredCNI", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateDiscoveredCNI indicates an expected call of CreateDiscoveredCNI. +func (mr *MockDiscoveredCNIWriterMockRecorder) CreateDiscoveredCNI(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIWriter)(nil).CreateDiscoveredCNI), varargs...) +} + +// DeleteAllOfDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIWriter) DeleteAllOfDiscoveredCNI(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfDiscoveredCNI", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfDiscoveredCNI indicates an expected call of DeleteAllOfDiscoveredCNI. +func (mr *MockDiscoveredCNIWriterMockRecorder) DeleteAllOfDiscoveredCNI(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIWriter)(nil).DeleteAllOfDiscoveredCNI), varargs...) +} + +// DeleteDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIWriter) DeleteDiscoveredCNI(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteDiscoveredCNI", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteDiscoveredCNI indicates an expected call of DeleteDiscoveredCNI. +func (mr *MockDiscoveredCNIWriterMockRecorder) DeleteDiscoveredCNI(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIWriter)(nil).DeleteDiscoveredCNI), varargs...) +} + +// PatchDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIWriter) PatchDiscoveredCNI(ctx context.Context, obj *v2.DiscoveredCNI, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDiscoveredCNI", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDiscoveredCNI indicates an expected call of PatchDiscoveredCNI. +func (mr *MockDiscoveredCNIWriterMockRecorder) PatchDiscoveredCNI(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIWriter)(nil).PatchDiscoveredCNI), varargs...) +} + +// UpdateDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIWriter) UpdateDiscoveredCNI(ctx context.Context, obj *v2.DiscoveredCNI, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDiscoveredCNI", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDiscoveredCNI indicates an expected call of UpdateDiscoveredCNI. +func (mr *MockDiscoveredCNIWriterMockRecorder) UpdateDiscoveredCNI(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIWriter)(nil).UpdateDiscoveredCNI), varargs...) +} + +// UpsertDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIWriter) UpsertDiscoveredCNI(ctx context.Context, obj *v2.DiscoveredCNI, transitionFuncs ...v2.DiscoveredCNITransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertDiscoveredCNI", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertDiscoveredCNI indicates an expected call of UpsertDiscoveredCNI. +func (mr *MockDiscoveredCNIWriterMockRecorder) UpsertDiscoveredCNI(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIWriter)(nil).UpsertDiscoveredCNI), varargs...) +} + +// MockDiscoveredCNIStatusWriter is a mock of DiscoveredCNIStatusWriter interface. +type MockDiscoveredCNIStatusWriter struct { + ctrl *gomock.Controller + recorder *MockDiscoveredCNIStatusWriterMockRecorder +} + +// MockDiscoveredCNIStatusWriterMockRecorder is the mock recorder for MockDiscoveredCNIStatusWriter. +type MockDiscoveredCNIStatusWriterMockRecorder struct { + mock *MockDiscoveredCNIStatusWriter +} + +// NewMockDiscoveredCNIStatusWriter creates a new mock instance. +func NewMockDiscoveredCNIStatusWriter(ctrl *gomock.Controller) *MockDiscoveredCNIStatusWriter { + mock := &MockDiscoveredCNIStatusWriter{ctrl: ctrl} + mock.recorder = &MockDiscoveredCNIStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredCNIStatusWriter) EXPECT() *MockDiscoveredCNIStatusWriterMockRecorder { + return m.recorder +} + +// PatchDiscoveredCNIStatus mocks base method. +func (m *MockDiscoveredCNIStatusWriter) PatchDiscoveredCNIStatus(ctx context.Context, obj *v2.DiscoveredCNI, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDiscoveredCNIStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDiscoveredCNIStatus indicates an expected call of PatchDiscoveredCNIStatus. +func (mr *MockDiscoveredCNIStatusWriterMockRecorder) PatchDiscoveredCNIStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDiscoveredCNIStatus", reflect.TypeOf((*MockDiscoveredCNIStatusWriter)(nil).PatchDiscoveredCNIStatus), varargs...) +} + +// UpdateDiscoveredCNIStatus mocks base method. +func (m *MockDiscoveredCNIStatusWriter) UpdateDiscoveredCNIStatus(ctx context.Context, obj *v2.DiscoveredCNI, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDiscoveredCNIStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDiscoveredCNIStatus indicates an expected call of UpdateDiscoveredCNIStatus. +func (mr *MockDiscoveredCNIStatusWriterMockRecorder) UpdateDiscoveredCNIStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDiscoveredCNIStatus", reflect.TypeOf((*MockDiscoveredCNIStatusWriter)(nil).UpdateDiscoveredCNIStatus), varargs...) +} + +// MockDiscoveredCNIClient is a mock of DiscoveredCNIClient interface. +type MockDiscoveredCNIClient struct { + ctrl *gomock.Controller + recorder *MockDiscoveredCNIClientMockRecorder +} + +// MockDiscoveredCNIClientMockRecorder is the mock recorder for MockDiscoveredCNIClient. +type MockDiscoveredCNIClientMockRecorder struct { + mock *MockDiscoveredCNIClient +} + +// NewMockDiscoveredCNIClient creates a new mock instance. +func NewMockDiscoveredCNIClient(ctrl *gomock.Controller) *MockDiscoveredCNIClient { + mock := &MockDiscoveredCNIClient{ctrl: ctrl} + mock.recorder = &MockDiscoveredCNIClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredCNIClient) EXPECT() *MockDiscoveredCNIClientMockRecorder { + return m.recorder +} + +// CreateDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIClient) CreateDiscoveredCNI(ctx context.Context, obj *v2.DiscoveredCNI, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateDiscoveredCNI", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateDiscoveredCNI indicates an expected call of CreateDiscoveredCNI. +func (mr *MockDiscoveredCNIClientMockRecorder) CreateDiscoveredCNI(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIClient)(nil).CreateDiscoveredCNI), varargs...) +} + +// DeleteAllOfDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIClient) DeleteAllOfDiscoveredCNI(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfDiscoveredCNI", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfDiscoveredCNI indicates an expected call of DeleteAllOfDiscoveredCNI. +func (mr *MockDiscoveredCNIClientMockRecorder) DeleteAllOfDiscoveredCNI(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIClient)(nil).DeleteAllOfDiscoveredCNI), varargs...) +} + +// DeleteDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIClient) DeleteDiscoveredCNI(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteDiscoveredCNI", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteDiscoveredCNI indicates an expected call of DeleteDiscoveredCNI. +func (mr *MockDiscoveredCNIClientMockRecorder) DeleteDiscoveredCNI(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIClient)(nil).DeleteDiscoveredCNI), varargs...) +} + +// GetDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIClient) GetDiscoveredCNI(ctx context.Context, key client.ObjectKey) (*v2.DiscoveredCNI, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetDiscoveredCNI", ctx, key) + ret0, _ := ret[0].(*v2.DiscoveredCNI) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetDiscoveredCNI indicates an expected call of GetDiscoveredCNI. +func (mr *MockDiscoveredCNIClientMockRecorder) GetDiscoveredCNI(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIClient)(nil).GetDiscoveredCNI), ctx, key) +} + +// ListDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIClient) ListDiscoveredCNI(ctx context.Context, opts ...client.ListOption) (*v2.DiscoveredCNIList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListDiscoveredCNI", varargs...) + ret0, _ := ret[0].(*v2.DiscoveredCNIList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListDiscoveredCNI indicates an expected call of ListDiscoveredCNI. +func (mr *MockDiscoveredCNIClientMockRecorder) ListDiscoveredCNI(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIClient)(nil).ListDiscoveredCNI), varargs...) +} + +// PatchDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIClient) PatchDiscoveredCNI(ctx context.Context, obj *v2.DiscoveredCNI, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDiscoveredCNI", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDiscoveredCNI indicates an expected call of PatchDiscoveredCNI. +func (mr *MockDiscoveredCNIClientMockRecorder) PatchDiscoveredCNI(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIClient)(nil).PatchDiscoveredCNI), varargs...) +} + +// PatchDiscoveredCNIStatus mocks base method. +func (m *MockDiscoveredCNIClient) PatchDiscoveredCNIStatus(ctx context.Context, obj *v2.DiscoveredCNI, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDiscoveredCNIStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDiscoveredCNIStatus indicates an expected call of PatchDiscoveredCNIStatus. +func (mr *MockDiscoveredCNIClientMockRecorder) PatchDiscoveredCNIStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDiscoveredCNIStatus", reflect.TypeOf((*MockDiscoveredCNIClient)(nil).PatchDiscoveredCNIStatus), varargs...) +} + +// UpdateDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIClient) UpdateDiscoveredCNI(ctx context.Context, obj *v2.DiscoveredCNI, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDiscoveredCNI", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDiscoveredCNI indicates an expected call of UpdateDiscoveredCNI. +func (mr *MockDiscoveredCNIClientMockRecorder) UpdateDiscoveredCNI(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIClient)(nil).UpdateDiscoveredCNI), varargs...) +} + +// UpdateDiscoveredCNIStatus mocks base method. +func (m *MockDiscoveredCNIClient) UpdateDiscoveredCNIStatus(ctx context.Context, obj *v2.DiscoveredCNI, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDiscoveredCNIStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDiscoveredCNIStatus indicates an expected call of UpdateDiscoveredCNIStatus. +func (mr *MockDiscoveredCNIClientMockRecorder) UpdateDiscoveredCNIStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDiscoveredCNIStatus", reflect.TypeOf((*MockDiscoveredCNIClient)(nil).UpdateDiscoveredCNIStatus), varargs...) +} + +// UpsertDiscoveredCNI mocks base method. +func (m *MockDiscoveredCNIClient) UpsertDiscoveredCNI(ctx context.Context, obj *v2.DiscoveredCNI, transitionFuncs ...v2.DiscoveredCNITransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertDiscoveredCNI", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertDiscoveredCNI indicates an expected call of UpsertDiscoveredCNI. +func (mr *MockDiscoveredCNIClientMockRecorder) UpsertDiscoveredCNI(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertDiscoveredCNI", reflect.TypeOf((*MockDiscoveredCNIClient)(nil).UpsertDiscoveredCNI), varargs...) +} + +// MockMulticlusterDiscoveredCNIClient is a mock of MulticlusterDiscoveredCNIClient interface. +type MockMulticlusterDiscoveredCNIClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDiscoveredCNIClientMockRecorder +} + +// MockMulticlusterDiscoveredCNIClientMockRecorder is the mock recorder for MockMulticlusterDiscoveredCNIClient. +type MockMulticlusterDiscoveredCNIClientMockRecorder struct { + mock *MockMulticlusterDiscoveredCNIClient +} + +// NewMockMulticlusterDiscoveredCNIClient creates a new mock instance. +func NewMockMulticlusterDiscoveredCNIClient(ctrl *gomock.Controller) *MockMulticlusterDiscoveredCNIClient { + mock := &MockMulticlusterDiscoveredCNIClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterDiscoveredCNIClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDiscoveredCNIClient) EXPECT() *MockMulticlusterDiscoveredCNIClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterDiscoveredCNIClient) Cluster(cluster string) (v2.DiscoveredCNIClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.DiscoveredCNIClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterDiscoveredCNIClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterDiscoveredCNIClient)(nil).Cluster), cluster) +} + +// MockPortalConfigReader is a mock of PortalConfigReader interface. +type MockPortalConfigReader struct { + ctrl *gomock.Controller + recorder *MockPortalConfigReaderMockRecorder +} + +// MockPortalConfigReaderMockRecorder is the mock recorder for MockPortalConfigReader. +type MockPortalConfigReaderMockRecorder struct { + mock *MockPortalConfigReader +} + +// NewMockPortalConfigReader creates a new mock instance. +func NewMockPortalConfigReader(ctrl *gomock.Controller) *MockPortalConfigReader { + mock := &MockPortalConfigReader{ctrl: ctrl} + mock.recorder = &MockPortalConfigReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalConfigReader) EXPECT() *MockPortalConfigReaderMockRecorder { + return m.recorder +} + +// GetPortalConfig mocks base method. +func (m *MockPortalConfigReader) GetPortalConfig(ctx context.Context, key client.ObjectKey) (*v2.PortalConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetPortalConfig", ctx, key) + ret0, _ := ret[0].(*v2.PortalConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPortalConfig indicates an expected call of GetPortalConfig. +func (mr *MockPortalConfigReaderMockRecorder) GetPortalConfig(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPortalConfig", reflect.TypeOf((*MockPortalConfigReader)(nil).GetPortalConfig), ctx, key) +} + +// ListPortalConfig mocks base method. +func (m *MockPortalConfigReader) ListPortalConfig(ctx context.Context, opts ...client.ListOption) (*v2.PortalConfigList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListPortalConfig", varargs...) + ret0, _ := ret[0].(*v2.PortalConfigList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListPortalConfig indicates an expected call of ListPortalConfig. +func (mr *MockPortalConfigReaderMockRecorder) ListPortalConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPortalConfig", reflect.TypeOf((*MockPortalConfigReader)(nil).ListPortalConfig), varargs...) +} + +// MockPortalConfigWriter is a mock of PortalConfigWriter interface. +type MockPortalConfigWriter struct { + ctrl *gomock.Controller + recorder *MockPortalConfigWriterMockRecorder +} + +// MockPortalConfigWriterMockRecorder is the mock recorder for MockPortalConfigWriter. +type MockPortalConfigWriterMockRecorder struct { + mock *MockPortalConfigWriter +} + +// NewMockPortalConfigWriter creates a new mock instance. +func NewMockPortalConfigWriter(ctrl *gomock.Controller) *MockPortalConfigWriter { + mock := &MockPortalConfigWriter{ctrl: ctrl} + mock.recorder = &MockPortalConfigWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalConfigWriter) EXPECT() *MockPortalConfigWriterMockRecorder { + return m.recorder +} + +// CreatePortalConfig mocks base method. +func (m *MockPortalConfigWriter) CreatePortalConfig(ctx context.Context, obj *v2.PortalConfig, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreatePortalConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreatePortalConfig indicates an expected call of CreatePortalConfig. +func (mr *MockPortalConfigWriterMockRecorder) CreatePortalConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePortalConfig", reflect.TypeOf((*MockPortalConfigWriter)(nil).CreatePortalConfig), varargs...) +} + +// DeleteAllOfPortalConfig mocks base method. +func (m *MockPortalConfigWriter) DeleteAllOfPortalConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfPortalConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfPortalConfig indicates an expected call of DeleteAllOfPortalConfig. +func (mr *MockPortalConfigWriterMockRecorder) DeleteAllOfPortalConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfPortalConfig", reflect.TypeOf((*MockPortalConfigWriter)(nil).DeleteAllOfPortalConfig), varargs...) +} + +// DeletePortalConfig mocks base method. +func (m *MockPortalConfigWriter) DeletePortalConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeletePortalConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeletePortalConfig indicates an expected call of DeletePortalConfig. +func (mr *MockPortalConfigWriterMockRecorder) DeletePortalConfig(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePortalConfig", reflect.TypeOf((*MockPortalConfigWriter)(nil).DeletePortalConfig), varargs...) +} + +// PatchPortalConfig mocks base method. +func (m *MockPortalConfigWriter) PatchPortalConfig(ctx context.Context, obj *v2.PortalConfig, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPortalConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPortalConfig indicates an expected call of PatchPortalConfig. +func (mr *MockPortalConfigWriterMockRecorder) PatchPortalConfig(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPortalConfig", reflect.TypeOf((*MockPortalConfigWriter)(nil).PatchPortalConfig), varargs...) +} + +// UpdatePortalConfig mocks base method. +func (m *MockPortalConfigWriter) UpdatePortalConfig(ctx context.Context, obj *v2.PortalConfig, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePortalConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortalConfig indicates an expected call of UpdatePortalConfig. +func (mr *MockPortalConfigWriterMockRecorder) UpdatePortalConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortalConfig", reflect.TypeOf((*MockPortalConfigWriter)(nil).UpdatePortalConfig), varargs...) +} + +// UpsertPortalConfig mocks base method. +func (m *MockPortalConfigWriter) UpsertPortalConfig(ctx context.Context, obj *v2.PortalConfig, transitionFuncs ...v2.PortalConfigTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertPortalConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertPortalConfig indicates an expected call of UpsertPortalConfig. +func (mr *MockPortalConfigWriterMockRecorder) UpsertPortalConfig(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertPortalConfig", reflect.TypeOf((*MockPortalConfigWriter)(nil).UpsertPortalConfig), varargs...) +} + +// MockPortalConfigStatusWriter is a mock of PortalConfigStatusWriter interface. +type MockPortalConfigStatusWriter struct { + ctrl *gomock.Controller + recorder *MockPortalConfigStatusWriterMockRecorder +} + +// MockPortalConfigStatusWriterMockRecorder is the mock recorder for MockPortalConfigStatusWriter. +type MockPortalConfigStatusWriterMockRecorder struct { + mock *MockPortalConfigStatusWriter +} + +// NewMockPortalConfigStatusWriter creates a new mock instance. +func NewMockPortalConfigStatusWriter(ctrl *gomock.Controller) *MockPortalConfigStatusWriter { + mock := &MockPortalConfigStatusWriter{ctrl: ctrl} + mock.recorder = &MockPortalConfigStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalConfigStatusWriter) EXPECT() *MockPortalConfigStatusWriterMockRecorder { + return m.recorder +} + +// PatchPortalConfigStatus mocks base method. +func (m *MockPortalConfigStatusWriter) PatchPortalConfigStatus(ctx context.Context, obj *v2.PortalConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPortalConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPortalConfigStatus indicates an expected call of PatchPortalConfigStatus. +func (mr *MockPortalConfigStatusWriterMockRecorder) PatchPortalConfigStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPortalConfigStatus", reflect.TypeOf((*MockPortalConfigStatusWriter)(nil).PatchPortalConfigStatus), varargs...) +} + +// UpdatePortalConfigStatus mocks base method. +func (m *MockPortalConfigStatusWriter) UpdatePortalConfigStatus(ctx context.Context, obj *v2.PortalConfig, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePortalConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortalConfigStatus indicates an expected call of UpdatePortalConfigStatus. +func (mr *MockPortalConfigStatusWriterMockRecorder) UpdatePortalConfigStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortalConfigStatus", reflect.TypeOf((*MockPortalConfigStatusWriter)(nil).UpdatePortalConfigStatus), varargs...) +} + +// MockPortalConfigClient is a mock of PortalConfigClient interface. +type MockPortalConfigClient struct { + ctrl *gomock.Controller + recorder *MockPortalConfigClientMockRecorder +} + +// MockPortalConfigClientMockRecorder is the mock recorder for MockPortalConfigClient. +type MockPortalConfigClientMockRecorder struct { + mock *MockPortalConfigClient +} + +// NewMockPortalConfigClient creates a new mock instance. +func NewMockPortalConfigClient(ctrl *gomock.Controller) *MockPortalConfigClient { + mock := &MockPortalConfigClient{ctrl: ctrl} + mock.recorder = &MockPortalConfigClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalConfigClient) EXPECT() *MockPortalConfigClientMockRecorder { + return m.recorder +} + +// CreatePortalConfig mocks base method. +func (m *MockPortalConfigClient) CreatePortalConfig(ctx context.Context, obj *v2.PortalConfig, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreatePortalConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreatePortalConfig indicates an expected call of CreatePortalConfig. +func (mr *MockPortalConfigClientMockRecorder) CreatePortalConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePortalConfig", reflect.TypeOf((*MockPortalConfigClient)(nil).CreatePortalConfig), varargs...) +} + +// DeleteAllOfPortalConfig mocks base method. +func (m *MockPortalConfigClient) DeleteAllOfPortalConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfPortalConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfPortalConfig indicates an expected call of DeleteAllOfPortalConfig. +func (mr *MockPortalConfigClientMockRecorder) DeleteAllOfPortalConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfPortalConfig", reflect.TypeOf((*MockPortalConfigClient)(nil).DeleteAllOfPortalConfig), varargs...) +} + +// DeletePortalConfig mocks base method. +func (m *MockPortalConfigClient) DeletePortalConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeletePortalConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeletePortalConfig indicates an expected call of DeletePortalConfig. +func (mr *MockPortalConfigClientMockRecorder) DeletePortalConfig(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePortalConfig", reflect.TypeOf((*MockPortalConfigClient)(nil).DeletePortalConfig), varargs...) +} + +// GetPortalConfig mocks base method. +func (m *MockPortalConfigClient) GetPortalConfig(ctx context.Context, key client.ObjectKey) (*v2.PortalConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetPortalConfig", ctx, key) + ret0, _ := ret[0].(*v2.PortalConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetPortalConfig indicates an expected call of GetPortalConfig. +func (mr *MockPortalConfigClientMockRecorder) GetPortalConfig(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPortalConfig", reflect.TypeOf((*MockPortalConfigClient)(nil).GetPortalConfig), ctx, key) +} + +// ListPortalConfig mocks base method. +func (m *MockPortalConfigClient) ListPortalConfig(ctx context.Context, opts ...client.ListOption) (*v2.PortalConfigList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListPortalConfig", varargs...) + ret0, _ := ret[0].(*v2.PortalConfigList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListPortalConfig indicates an expected call of ListPortalConfig. +func (mr *MockPortalConfigClientMockRecorder) ListPortalConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPortalConfig", reflect.TypeOf((*MockPortalConfigClient)(nil).ListPortalConfig), varargs...) +} + +// PatchPortalConfig mocks base method. +func (m *MockPortalConfigClient) PatchPortalConfig(ctx context.Context, obj *v2.PortalConfig, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPortalConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPortalConfig indicates an expected call of PatchPortalConfig. +func (mr *MockPortalConfigClientMockRecorder) PatchPortalConfig(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPortalConfig", reflect.TypeOf((*MockPortalConfigClient)(nil).PatchPortalConfig), varargs...) +} + +// PatchPortalConfigStatus mocks base method. +func (m *MockPortalConfigClient) PatchPortalConfigStatus(ctx context.Context, obj *v2.PortalConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchPortalConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchPortalConfigStatus indicates an expected call of PatchPortalConfigStatus. +func (mr *MockPortalConfigClientMockRecorder) PatchPortalConfigStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPortalConfigStatus", reflect.TypeOf((*MockPortalConfigClient)(nil).PatchPortalConfigStatus), varargs...) +} + +// UpdatePortalConfig mocks base method. +func (m *MockPortalConfigClient) UpdatePortalConfig(ctx context.Context, obj *v2.PortalConfig, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePortalConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortalConfig indicates an expected call of UpdatePortalConfig. +func (mr *MockPortalConfigClientMockRecorder) UpdatePortalConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortalConfig", reflect.TypeOf((*MockPortalConfigClient)(nil).UpdatePortalConfig), varargs...) +} + +// UpdatePortalConfigStatus mocks base method. +func (m *MockPortalConfigClient) UpdatePortalConfigStatus(ctx context.Context, obj *v2.PortalConfig, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdatePortalConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdatePortalConfigStatus indicates an expected call of UpdatePortalConfigStatus. +func (mr *MockPortalConfigClientMockRecorder) UpdatePortalConfigStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePortalConfigStatus", reflect.TypeOf((*MockPortalConfigClient)(nil).UpdatePortalConfigStatus), varargs...) +} + +// UpsertPortalConfig mocks base method. +func (m *MockPortalConfigClient) UpsertPortalConfig(ctx context.Context, obj *v2.PortalConfig, transitionFuncs ...v2.PortalConfigTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertPortalConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertPortalConfig indicates an expected call of UpsertPortalConfig. +func (mr *MockPortalConfigClientMockRecorder) UpsertPortalConfig(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertPortalConfig", reflect.TypeOf((*MockPortalConfigClient)(nil).UpsertPortalConfig), varargs...) +} + +// MockMulticlusterPortalConfigClient is a mock of MulticlusterPortalConfigClient interface. +type MockMulticlusterPortalConfigClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterPortalConfigClientMockRecorder +} + +// MockMulticlusterPortalConfigClientMockRecorder is the mock recorder for MockMulticlusterPortalConfigClient. +type MockMulticlusterPortalConfigClientMockRecorder struct { + mock *MockMulticlusterPortalConfigClient +} + +// NewMockMulticlusterPortalConfigClient creates a new mock instance. +func NewMockMulticlusterPortalConfigClient(ctrl *gomock.Controller) *MockMulticlusterPortalConfigClient { + mock := &MockMulticlusterPortalConfigClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterPortalConfigClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterPortalConfigClient) EXPECT() *MockMulticlusterPortalConfigClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterPortalConfigClient) Cluster(cluster string) (v2.PortalConfigClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.PortalConfigClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterPortalConfigClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterPortalConfigClient)(nil).Cluster), cluster) +} diff --git a/client-go/internal.gloo.solo.io/v2/pod_bounce_directive.pb.clone.go b/client-go/internal.gloo.solo.io/v2/pod_bounce_directive.pb.clone.go new file mode 100644 index 000000000..1bf8c75d3 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/pod_bounce_directive.pb.clone.go @@ -0,0 +1,165 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/pod_bounce_directive.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *PodBounceDirectiveSpec) Clone() proto.Message { + var target *PodBounceDirectiveSpec + if m == nil { + return target + } + target = &PodBounceDirectiveSpec{} + + if m.GetPodsToBounce() != nil { + target.PodsToBounce = make([]*PodBounceDirectiveSpec_PodSelector, len(m.GetPodsToBounce())) + for idx, v := range m.GetPodsToBounce() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.PodsToBounce[idx] = h.Clone().(*PodBounceDirectiveSpec_PodSelector) + } else { + target.PodsToBounce[idx] = proto.Clone(v).(*PodBounceDirectiveSpec_PodSelector) + } + + } + } + + if h, ok := interface{}(m.GetMeshRef()).(clone.Cloner); ok { + target.MeshRef = h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } else { + target.MeshRef = proto.Clone(m.GetMeshRef()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } + + return target +} + +// Clone function +func (m *PodBounceDirectiveStatus) Clone() proto.Message { + var target *PodBounceDirectiveStatus + if m == nil { + return target + } + target = &PodBounceDirectiveStatus{} + + target.ObservedGeneration = m.GetObservedGeneration() + + target.State = m.GetState() + + target.Error = m.GetError() + + if m.GetPodsBounced() != nil { + target.PodsBounced = make([]*PodBounceDirectiveStatus_BouncedPodSet, len(m.GetPodsBounced())) + for idx, v := range m.GetPodsBounced() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.PodsBounced[idx] = h.Clone().(*PodBounceDirectiveStatus_BouncedPodSet) + } else { + target.PodsBounced[idx] = proto.Clone(v).(*PodBounceDirectiveStatus_BouncedPodSet) + } + + } + } + + return target +} + +// Clone function +func (m *PodBounceDirectiveSpec_PodSelector) Clone() proto.Message { + var target *PodBounceDirectiveSpec_PodSelector + if m == nil { + return target + } + target = &PodBounceDirectiveSpec_PodSelector{} + + target.Namespace = m.GetNamespace() + + if m.GetLabels() != nil { + target.Labels = make(map[string]string, len(m.GetLabels())) + for k, v := range m.GetLabels() { + + target.Labels[k] = v + + } + } + + target.WaitForReplicas = m.GetWaitForReplicas() + + if h, ok := interface{}(m.GetRootCertSync()).(clone.Cloner); ok { + target.RootCertSync = h.Clone().(*PodBounceDirectiveSpec_PodSelector_RootCertSync) + } else { + target.RootCertSync = proto.Clone(m.GetRootCertSync()).(*PodBounceDirectiveSpec_PodSelector_RootCertSync) + } + + return target +} + +// Clone function +func (m *PodBounceDirectiveSpec_PodSelector_RootCertSync) Clone() proto.Message { + var target *PodBounceDirectiveSpec_PodSelector_RootCertSync + if m == nil { + return target + } + target = &PodBounceDirectiveSpec_PodSelector_RootCertSync{} + + if h, ok := interface{}(m.GetSecretRef()).(clone.Cloner); ok { + target.SecretRef = h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } else { + target.SecretRef = proto.Clone(m.GetSecretRef()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } + + target.SecretKey = m.GetSecretKey() + + if h, ok := interface{}(m.GetConfigMapRef()).(clone.Cloner); ok { + target.ConfigMapRef = h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } else { + target.ConfigMapRef = proto.Clone(m.GetConfigMapRef()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } + + target.ConfigMapKey = m.GetConfigMapKey() + + return target +} + +// Clone function +func (m *PodBounceDirectiveStatus_BouncedPodSet) Clone() proto.Message { + var target *PodBounceDirectiveStatus_BouncedPodSet + if m == nil { + return target + } + target = &PodBounceDirectiveStatus_BouncedPodSet{} + + if m.GetBouncedPods() != nil { + target.BouncedPods = make([]string, len(m.GetBouncedPods())) + for idx, v := range m.GetBouncedPods() { + + target.BouncedPods[idx] = v + + } + } + + return target +} diff --git a/client-go/internal.gloo.solo.io/v2/pod_bounce_directive.pb.equal.go b/client-go/internal.gloo.solo.io/v2/pod_bounce_directive.pb.equal.go new file mode 100644 index 000000000..3305d7ac7 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/pod_bounce_directive.pb.equal.go @@ -0,0 +1,270 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/pod_bounce_directive.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *PodBounceDirectiveSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PodBounceDirectiveSpec) + if !ok { + that2, ok := that.(PodBounceDirectiveSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetPodsToBounce()) != len(target.GetPodsToBounce()) { + return false + } + for idx, v := range m.GetPodsToBounce() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPodsToBounce()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPodsToBounce()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetMeshRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetMeshRef()) { + return false + } + } else { + if !proto.Equal(m.GetMeshRef(), target.GetMeshRef()) { + return false + } + } + + return true +} + +// Equal function +func (m *PodBounceDirectiveStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PodBounceDirectiveStatus) + if !ok { + that2, ok := that.(PodBounceDirectiveStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetObservedGeneration() != target.GetObservedGeneration() { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + if strings.Compare(m.GetError(), target.GetError()) != 0 { + return false + } + + if len(m.GetPodsBounced()) != len(target.GetPodsBounced()) { + return false + } + for idx, v := range m.GetPodsBounced() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPodsBounced()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPodsBounced()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *PodBounceDirectiveSpec_PodSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PodBounceDirectiveSpec_PodSelector) + if !ok { + that2, ok := that.(PodBounceDirectiveSpec_PodSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if len(m.GetLabels()) != len(target.GetLabels()) { + return false + } + for k, v := range m.GetLabels() { + + if strings.Compare(v, target.GetLabels()[k]) != 0 { + return false + } + + } + + if m.GetWaitForReplicas() != target.GetWaitForReplicas() { + return false + } + + if h, ok := interface{}(m.GetRootCertSync()).(equality.Equalizer); ok { + if !h.Equal(target.GetRootCertSync()) { + return false + } + } else { + if !proto.Equal(m.GetRootCertSync(), target.GetRootCertSync()) { + return false + } + } + + return true +} + +// Equal function +func (m *PodBounceDirectiveSpec_PodSelector_RootCertSync) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PodBounceDirectiveSpec_PodSelector_RootCertSync) + if !ok { + that2, ok := that.(PodBounceDirectiveSpec_PodSelector_RootCertSync) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetSecretRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetSecretRef()) { + return false + } + } else { + if !proto.Equal(m.GetSecretRef(), target.GetSecretRef()) { + return false + } + } + + if strings.Compare(m.GetSecretKey(), target.GetSecretKey()) != 0 { + return false + } + + if h, ok := interface{}(m.GetConfigMapRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfigMapRef()) { + return false + } + } else { + if !proto.Equal(m.GetConfigMapRef(), target.GetConfigMapRef()) { + return false + } + } + + if strings.Compare(m.GetConfigMapKey(), target.GetConfigMapKey()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *PodBounceDirectiveStatus_BouncedPodSet) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PodBounceDirectiveStatus_BouncedPodSet) + if !ok { + that2, ok := that.(PodBounceDirectiveStatus_BouncedPodSet) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetBouncedPods()) != len(target.GetBouncedPods()) { + return false + } + for idx, v := range m.GetBouncedPods() { + + if strings.Compare(v, target.GetBouncedPods()[idx]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/internal.gloo.solo.io/v2/pod_bounce_directive.pb.go b/client-go/internal.gloo.solo.io/v2/pod_bounce_directive.pb.go new file mode 100644 index 000000000..d1bdb238e --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/pod_bounce_directive.pb.go @@ -0,0 +1,651 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/pod_bounce_directive.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Possible states in which an PodBounceDirective can exist. +type PodBounceDirectiveStatus_State int32 + +const ( + // The PodBounceDirective has yet to be picked up by the agent. + PodBounceDirectiveStatus_PENDING PodBounceDirectiveStatus_State = 0 + // The agent has decided on which pods to bounce, and it's working on it. + PodBounceDirectiveStatus_BOUNCING_PODS PodBounceDirectiveStatus_State = 1 + // Processing the pod bounce directive workflow failed. + PodBounceDirectiveStatus_FAILED PodBounceDirectiveStatus_State = 3 + // Successfully bounced all pods + PodBounceDirectiveStatus_FINISHED PodBounceDirectiveStatus_State = 4 +) + +// Enum value maps for PodBounceDirectiveStatus_State. +var ( + PodBounceDirectiveStatus_State_name = map[int32]string{ + 0: "PENDING", + 1: "BOUNCING_PODS", + 3: "FAILED", + 4: "FINISHED", + } + PodBounceDirectiveStatus_State_value = map[string]int32{ + "PENDING": 0, + "BOUNCING_PODS": 1, + "FAILED": 3, + "FINISHED": 4, + } +) + +func (x PodBounceDirectiveStatus_State) Enum() *PodBounceDirectiveStatus_State { + p := new(PodBounceDirectiveStatus_State) + *p = x + return p +} + +func (x PodBounceDirectiveStatus_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PodBounceDirectiveStatus_State) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_enumTypes[0].Descriptor() +} + +func (PodBounceDirectiveStatus_State) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_enumTypes[0] +} + +func (x PodBounceDirectiveStatus_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PodBounceDirectiveStatus_State.Descriptor instead. +func (PodBounceDirectiveStatus_State) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescGZIP(), []int{1, 0} +} + +// When certificates are issued, Istio-controlled pods need to be bounced (restarted) to ensure they pick up the +// new certificates due to [this issue](https://github.com/istio/istio/issues/22993). +// The certificate issuer will create a PodBounceDirective containing the namespaces and labels +// of the pods that need to be bounced in order to pick up the new certs. +type PodBounceDirectiveSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of Kubernetes pods to bounce (delete and cause a restart) + // when the certificate is issued. + // This will include the control plane pods as well as any Pods + // which share a data plane with the target mesh. + PodsToBounce []*PodBounceDirectiveSpec_PodSelector `protobuf:"bytes,1,rep,name=pods_to_bounce,json=podsToBounce,proto3" json:"pods_to_bounce,omitempty"` + // Reference to the mesh on which this cert is being issued for + MeshRef *v1.ObjectRef `protobuf:"bytes,2,opt,name=mesh_ref,json=meshRef,proto3" json:"mesh_ref,omitempty"` +} + +func (x *PodBounceDirectiveSpec) Reset() { + *x = PodBounceDirectiveSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PodBounceDirectiveSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PodBounceDirectiveSpec) ProtoMessage() {} + +func (x *PodBounceDirectiveSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PodBounceDirectiveSpec.ProtoReflect.Descriptor instead. +func (*PodBounceDirectiveSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescGZIP(), []int{0} +} + +func (x *PodBounceDirectiveSpec) GetPodsToBounce() []*PodBounceDirectiveSpec_PodSelector { + if x != nil { + return x.PodsToBounce + } + return nil +} + +func (x *PodBounceDirectiveSpec) GetMeshRef() *v1.ObjectRef { + if x != nil { + return x.MeshRef + } + return nil +} + +// PodBounceDirectiveStatus reports the status for stateful Pod bounces (when bouncing pods requires waiting for readiness). +type PodBounceDirectiveStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The most recent generation observed in the PodBounceDirective metadata. + // If the `observedGeneration` does not match `metadata.generation`, the Gloo Mesh agent has not processed the most + // recent version of this IssuedCertificate. + ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` + // The current state of the IssuedCertificate workflow, reported by the agent. + State PodBounceDirectiveStatus_State `protobuf:"varint,2,opt,name=state,proto3,enum=internal.gloo.solo.io.PodBounceDirectiveStatus_State" json:"state,omitempty"` + Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` + // A list of Kubernetes pods to bounce (delete and cause a restart) + // when the certificate is issued. + // This will include the control plane pods as well as any Pods + // which share a data plane with the target mesh. + PodsBounced []*PodBounceDirectiveStatus_BouncedPodSet `protobuf:"bytes,4,rep,name=pods_bounced,json=podsBounced,proto3" json:"pods_bounced,omitempty"` +} + +func (x *PodBounceDirectiveStatus) Reset() { + *x = PodBounceDirectiveStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PodBounceDirectiveStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PodBounceDirectiveStatus) ProtoMessage() {} + +func (x *PodBounceDirectiveStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PodBounceDirectiveStatus.ProtoReflect.Descriptor instead. +func (*PodBounceDirectiveStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescGZIP(), []int{1} +} + +func (x *PodBounceDirectiveStatus) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +func (x *PodBounceDirectiveStatus) GetState() PodBounceDirectiveStatus_State { + if x != nil { + return x.State + } + return PodBounceDirectiveStatus_PENDING +} + +func (x *PodBounceDirectiveStatus) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *PodBounceDirectiveStatus) GetPodsBounced() []*PodBounceDirectiveStatus_BouncedPodSet { + if x != nil { + return x.PodsBounced + } + return nil +} + +// pods that will be restarted. +type PodBounceDirectiveSpec_PodSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace in which the pods live. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Any labels shared by the Pods. + Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Wait for this number of replacement pods to reach be fully ready before + // deleting the next set of selected Pods. + // This is used to ensure the control plane pods are allowed to restart + // before sidecars and gateways are restarted. + WaitForReplicas uint32 `protobuf:"varint,3,opt,name=wait_for_replicas,json=waitForReplicas,proto3" json:"wait_for_replicas,omitempty"` + // Wait for the control plane to have synced all root cert configmaps in data plane namespaces before + // bouncing these Pods. + RootCertSync *PodBounceDirectiveSpec_PodSelector_RootCertSync `protobuf:"bytes,4,opt,name=root_cert_sync,json=rootCertSync,proto3" json:"root_cert_sync,omitempty"` +} + +func (x *PodBounceDirectiveSpec_PodSelector) Reset() { + *x = PodBounceDirectiveSpec_PodSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PodBounceDirectiveSpec_PodSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PodBounceDirectiveSpec_PodSelector) ProtoMessage() {} + +func (x *PodBounceDirectiveSpec_PodSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PodBounceDirectiveSpec_PodSelector.ProtoReflect.Descriptor instead. +func (*PodBounceDirectiveSpec_PodSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *PodBounceDirectiveSpec_PodSelector) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *PodBounceDirectiveSpec_PodSelector) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *PodBounceDirectiveSpec_PodSelector) GetWaitForReplicas() uint32 { + if x != nil { + return x.WaitForReplicas + } + return 0 +} + +func (x *PodBounceDirectiveSpec_PodSelector) GetRootCertSync() *PodBounceDirectiveSpec_PodSelector_RootCertSync { + if x != nil { + return x.RootCertSync + } + return nil +} + +// RootCertSync describes values in a secret and configmap which must be equal in order for a Pod to be bounced. +type PodBounceDirectiveSpec_PodSelector_RootCertSync struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SecretRef *v1.ObjectRef `protobuf:"bytes,1,opt,name=secret_ref,json=secretRef,proto3" json:"secret_ref,omitempty"` + SecretKey string `protobuf:"bytes,2,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` + ConfigMapRef *v1.ObjectRef `protobuf:"bytes,3,opt,name=config_map_ref,json=configMapRef,proto3" json:"config_map_ref,omitempty"` + ConfigMapKey string `protobuf:"bytes,4,opt,name=config_map_key,json=configMapKey,proto3" json:"config_map_key,omitempty"` +} + +func (x *PodBounceDirectiveSpec_PodSelector_RootCertSync) Reset() { + *x = PodBounceDirectiveSpec_PodSelector_RootCertSync{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PodBounceDirectiveSpec_PodSelector_RootCertSync) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PodBounceDirectiveSpec_PodSelector_RootCertSync) ProtoMessage() {} + +func (x *PodBounceDirectiveSpec_PodSelector_RootCertSync) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PodBounceDirectiveSpec_PodSelector_RootCertSync.ProtoReflect.Descriptor instead. +func (*PodBounceDirectiveSpec_PodSelector_RootCertSync) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescGZIP(), []int{0, 0, 1} +} + +func (x *PodBounceDirectiveSpec_PodSelector_RootCertSync) GetSecretRef() *v1.ObjectRef { + if x != nil { + return x.SecretRef + } + return nil +} + +func (x *PodBounceDirectiveSpec_PodSelector_RootCertSync) GetSecretKey() string { + if x != nil { + return x.SecretKey + } + return "" +} + +func (x *PodBounceDirectiveSpec_PodSelector_RootCertSync) GetConfigMapRef() *v1.ObjectRef { + if x != nil { + return x.ConfigMapRef + } + return nil +} + +func (x *PodBounceDirectiveSpec_PodSelector_RootCertSync) GetConfigMapKey() string { + if x != nil { + return x.ConfigMapKey + } + return "" +} + +// A set of pods that were restarted. +type PodBounceDirectiveStatus_BouncedPodSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The names of the pods that were bounced for the corresponding selector specified in `PodBounceDirectiveSpec.PodSelector.labels`. + BouncedPods []string `protobuf:"bytes,1,rep,name=bounced_pods,json=bouncedPods,proto3" json:"bounced_pods,omitempty"` +} + +func (x *PodBounceDirectiveStatus_BouncedPodSet) Reset() { + *x = PodBounceDirectiveStatus_BouncedPodSet{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PodBounceDirectiveStatus_BouncedPodSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PodBounceDirectiveStatus_BouncedPodSet) ProtoMessage() {} + +func (x *PodBounceDirectiveStatus_BouncedPodSet) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PodBounceDirectiveStatus_BouncedPodSet.ProtoReflect.Descriptor instead. +func (*PodBounceDirectiveStatus_BouncedPodSet) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *PodBounceDirectiveStatus_BouncedPodSet) GetBouncedPods() []string { + if x != nil { + return x.BouncedPods + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDesc = []byte{ + 0x0a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x64, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x63, + 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xeb, 0x05, 0x0a, + 0x16, 0x50, 0x6f, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5f, 0x0a, 0x0e, 0x70, 0x6f, 0x64, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x39, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x63, + 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, + 0x6f, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x70, 0x6f, 0x64, 0x73, + 0x54, 0x6f, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x68, + 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x68, 0x52, 0x65, + 0x66, 0x1a, 0xb6, 0x04, 0x0a, 0x0b, 0x50, 0x6f, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x5d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x45, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x63, + 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, + 0x6f, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2a, + 0x0a, 0x11, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x61, 0x69, 0x74, 0x46, + 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x6c, 0x0a, 0x0e, 0x72, 0x6f, + 0x6f, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x42, 0x6f, + 0x75, 0x6e, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x6f, + 0x6f, 0x74, 0x43, 0x65, 0x72, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x0c, 0x72, 0x6f, 0x6f, 0x74, + 0x43, 0x65, 0x72, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0xd4, 0x01, 0x0a, 0x0c, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x65, 0x72, 0x74, + 0x53, 0x79, 0x6e, 0x63, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x72, + 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, + 0x66, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, + 0x12, 0x42, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, + 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, + 0x70, 0x52, 0x65, 0x66, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, + 0x61, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x4b, 0x65, 0x79, 0x22, 0x87, 0x03, 0x0a, 0x18, 0x50, + 0x6f, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x50, 0x6f, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x60, 0x0a, 0x0c, 0x70, + 0x6f, 0x64, 0x73, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x42, 0x6f, 0x75, + 0x6e, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x50, 0x6f, 0x64, 0x53, 0x65, 0x74, + 0x52, 0x0b, 0x70, 0x6f, 0x64, 0x73, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x1a, 0x32, 0x0a, + 0x0d, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x50, 0x6f, 0x64, 0x53, 0x65, 0x74, 0x12, 0x21, + 0x0a, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x50, 0x6f, 0x64, + 0x73, 0x22, 0x41, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x4f, 0x55, 0x4e, 0x43, + 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x44, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, + 0x45, 0x44, 0x10, 0x04, 0x42, 0x56, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, + 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_goTypes = []interface{}{ + (PodBounceDirectiveStatus_State)(0), // 0: internal.gloo.solo.io.PodBounceDirectiveStatus.State + (*PodBounceDirectiveSpec)(nil), // 1: internal.gloo.solo.io.PodBounceDirectiveSpec + (*PodBounceDirectiveStatus)(nil), // 2: internal.gloo.solo.io.PodBounceDirectiveStatus + (*PodBounceDirectiveSpec_PodSelector)(nil), // 3: internal.gloo.solo.io.PodBounceDirectiveSpec.PodSelector + nil, // 4: internal.gloo.solo.io.PodBounceDirectiveSpec.PodSelector.LabelsEntry + (*PodBounceDirectiveSpec_PodSelector_RootCertSync)(nil), // 5: internal.gloo.solo.io.PodBounceDirectiveSpec.PodSelector.RootCertSync + (*PodBounceDirectiveStatus_BouncedPodSet)(nil), // 6: internal.gloo.solo.io.PodBounceDirectiveStatus.BouncedPodSet + (*v1.ObjectRef)(nil), // 7: core.skv2.solo.io.ObjectRef +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_depIdxs = []int32{ + 3, // 0: internal.gloo.solo.io.PodBounceDirectiveSpec.pods_to_bounce:type_name -> internal.gloo.solo.io.PodBounceDirectiveSpec.PodSelector + 7, // 1: internal.gloo.solo.io.PodBounceDirectiveSpec.mesh_ref:type_name -> core.skv2.solo.io.ObjectRef + 0, // 2: internal.gloo.solo.io.PodBounceDirectiveStatus.state:type_name -> internal.gloo.solo.io.PodBounceDirectiveStatus.State + 6, // 3: internal.gloo.solo.io.PodBounceDirectiveStatus.pods_bounced:type_name -> internal.gloo.solo.io.PodBounceDirectiveStatus.BouncedPodSet + 4, // 4: internal.gloo.solo.io.PodBounceDirectiveSpec.PodSelector.labels:type_name -> internal.gloo.solo.io.PodBounceDirectiveSpec.PodSelector.LabelsEntry + 5, // 5: internal.gloo.solo.io.PodBounceDirectiveSpec.PodSelector.root_cert_sync:type_name -> internal.gloo.solo.io.PodBounceDirectiveSpec.PodSelector.RootCertSync + 7, // 6: internal.gloo.solo.io.PodBounceDirectiveSpec.PodSelector.RootCertSync.secret_ref:type_name -> core.skv2.solo.io.ObjectRef + 7, // 7: internal.gloo.solo.io.PodBounceDirectiveSpec.PodSelector.RootCertSync.config_map_ref:type_name -> core.skv2.solo.io.ObjectRef + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PodBounceDirectiveSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PodBounceDirectiveStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PodBounceDirectiveSpec_PodSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PodBounceDirectiveSpec_PodSelector_RootCertSync); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PodBounceDirectiveStatus_BouncedPodSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDesc, + NumEnums: 1, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_pod_bounce_directive_proto_depIdxs = nil +} diff --git a/client-go/internal.gloo.solo.io/v2/pod_bounce_directive.pb.hash.go b/client-go/internal.gloo.solo.io/v2/pod_bounce_directive.pb.hash.go new file mode 100644 index 000000000..81824b035 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/pod_bounce_directive.pb.hash.go @@ -0,0 +1,296 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/pod_bounce_directive.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *PodBounceDirectiveSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PodBounceDirectiveSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetPodsToBounce() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetMeshRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MeshRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMeshRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MeshRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PodBounceDirectiveStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PodBounceDirectiveStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetObservedGeneration()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetError())); err != nil { + return 0, err + } + + for _, v := range m.GetPodsBounced() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PodBounceDirectiveSpec_PodSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PodBounceDirectiveSpec_PodSelector")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLabels() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetWaitForReplicas()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRootCertSync()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RootCertSync")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRootCertSync(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RootCertSync")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PodBounceDirectiveSpec_PodSelector_RootCertSync) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PodBounceDirectiveSpec_PodSelector_RootCertSync")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSecretRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SecretRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSecretRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SecretRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetSecretKey())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetConfigMapRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ConfigMapRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfigMapRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ConfigMapRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetConfigMapKey())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PodBounceDirectiveStatus_BouncedPodSet) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PodBounceDirectiveStatus_BouncedPodSet")); err != nil { + return 0, err + } + + for _, v := range m.GetBouncedPods() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/internal.gloo.solo.io/v2/portal_config.pb.clone.go b/client-go/internal.gloo.solo.io/v2/portal_config.pb.clone.go new file mode 100644 index 000000000..2f531b9c9 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/portal_config.pb.clone.go @@ -0,0 +1,440 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/portal_config.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_struct "github.com/golang/protobuf/ptypes/struct" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_apimanagement_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *PortalConfigSpec) Clone() proto.Message { + var target *PortalConfigSpec + if m == nil { + return target + } + target = &PortalConfigSpec{} + + if h, ok := interface{}(m.GetPortalCustomMetadata()).(clone.Cloner); ok { + target.PortalCustomMetadata = h.Clone().(*github_com_golang_protobuf_ptypes_struct.Value) + } else { + target.PortalCustomMetadata = proto.Clone(m.GetPortalCustomMetadata()).(*github_com_golang_protobuf_ptypes_struct.Value) + } + + if m.GetApis() != nil { + target.Apis = make([]*PortalConfigSpec_API, len(m.GetApis())) + for idx, v := range m.GetApis() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Apis[idx] = h.Clone().(*PortalConfigSpec_API) + } else { + target.Apis[idx] = proto.Clone(v).(*PortalConfigSpec_API) + } + + } + } + + if m.GetUsagePlans() != nil { + target.UsagePlans = make([]*PortalConfigSpec_UsagePlan, len(m.GetUsagePlans())) + for idx, v := range m.GetUsagePlans() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.UsagePlans[idx] = h.Clone().(*PortalConfigSpec_UsagePlan) + } else { + target.UsagePlans[idx] = proto.Clone(v).(*PortalConfigSpec_UsagePlan) + } + + } + } + + if h, ok := interface{}(m.GetPortalRef()).(clone.Cloner); ok { + target.PortalRef = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.PortalRef = proto.Clone(m.GetPortalRef()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + if m.GetDomains() != nil { + target.Domains = make([]string, len(m.GetDomains())) + for idx, v := range m.GetDomains() { + + target.Domains[idx] = v + + } + } + + if m.GetGroups() != nil { + target.Groups = make([]*PortalConfigSpec_Group, len(m.GetGroups())) + for idx, v := range m.GetGroups() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Groups[idx] = h.Clone().(*PortalConfigSpec_Group) + } else { + target.Groups[idx] = proto.Clone(v).(*PortalConfigSpec_Group) + } + + } + } + + target.Public = m.GetPublic() + + return target +} + +// Clone function +func (m *PortalConfigStatus) Clone() proto.Message { + var target *PortalConfigStatus + if m == nil { + return target + } + target = &PortalConfigStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.OwnedByWorkspace = m.GetOwnedByWorkspace() + + return target +} + +// Clone function +func (m *PortalConfigReport) Clone() proto.Message { + var target *PortalConfigReport + if m == nil { + return target + } + target = &PortalConfigReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + return target +} + +// Clone function +func (m *PortalConfigSpec_Group) Clone() proto.Message { + var target *PortalConfigSpec_Group + if m == nil { + return target + } + target = &PortalConfigSpec_Group{} + + target.Name = m.GetName() + + if m.GetApis() != nil { + target.Apis = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetApis())) + for idx, v := range m.GetApis() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Apis[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.Apis[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + if m.GetUsagePlans() != nil { + target.UsagePlans = make([]string, len(m.GetUsagePlans())) + for idx, v := range m.GetUsagePlans() { + + target.UsagePlans[idx] = v + + } + } + + if m.GetMembershipClaims() != nil { + target.MembershipClaims = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_apimanagement_gloo_solo_io_v2.Membership, len(m.GetMembershipClaims())) + for idx, v := range m.GetMembershipClaims() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.MembershipClaims[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_apimanagement_gloo_solo_io_v2.Membership) + } else { + target.MembershipClaims[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_apimanagement_gloo_solo_io_v2.Membership) + } + + } + } + + return target +} + +// Clone function +func (m *PortalConfigSpec_API) Clone() proto.Message { + var target *PortalConfigSpec_API + if m == nil { + return target + } + target = &PortalConfigSpec_API{} + + target.ApiProductId = m.GetApiProductId() + + target.ApiProductDisplayName = m.GetApiProductDisplayName() + + target.ApiId = m.GetApiId() + + target.ApiVersion = m.GetApiVersion() + + target.Title = m.GetTitle() + + target.Description = m.GetDescription() + + target.TermsOfService = m.GetTermsOfService() + + target.Contact = m.GetContact() + + target.License = m.GetLicense() + + target.Lifecycle = m.GetLifecycle() + + if h, ok := interface{}(m.GetApiSchema()).(clone.Cloner); ok { + target.ApiSchema = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.ApiSchema = proto.Clone(m.GetApiSchema()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + if h, ok := interface{}(m.GetRouteTable()).(clone.Cloner); ok { + target.RouteTable = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.RouteTable = proto.Clone(m.GetRouteTable()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + if m.GetUsagePlans() != nil { + target.UsagePlans = make([]*PortalConfigSpec_UsagePlanRef, len(m.GetUsagePlans())) + for idx, v := range m.GetUsagePlans() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.UsagePlans[idx] = h.Clone().(*PortalConfigSpec_UsagePlanRef) + } else { + target.UsagePlans[idx] = proto.Clone(v).(*PortalConfigSpec_UsagePlanRef) + } + + } + } + + target.IsPrivate = m.GetIsPrivate() + + if m.GetCustomMetadata() != nil { + target.CustomMetadata = make(map[string]string, len(m.GetCustomMetadata())) + for k, v := range m.GetCustomMetadata() { + + target.CustomMetadata[k] = v + + } + } + + return target +} + +// Clone function +func (m *PortalConfigSpec_UsagePlan) Clone() proto.Message { + var target *PortalConfigSpec_UsagePlan + if m == nil { + return target + } + target = &PortalConfigSpec_UsagePlan{} + + target.Name = m.GetName() + + target.DisplayName = m.GetDisplayName() + + target.Description = m.GetDescription() + + if m.GetExtAuthPolicies() != nil { + target.ExtAuthPolicies = make([]*PortalConfigSpec_ExtAuthPolicy, len(m.GetExtAuthPolicies())) + for idx, v := range m.GetExtAuthPolicies() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ExtAuthPolicies[idx] = h.Clone().(*PortalConfigSpec_ExtAuthPolicy) + } else { + target.ExtAuthPolicies[idx] = proto.Clone(v).(*PortalConfigSpec_ExtAuthPolicy) + } + + } + } + + if h, ok := interface{}(m.GetRateLimitPolicy()).(clone.Cloner); ok { + target.RateLimitPolicy = h.Clone().(*PortalConfigSpec_RateLimitPolicy) + } else { + target.RateLimitPolicy = proto.Clone(m.GetRateLimitPolicy()).(*PortalConfigSpec_RateLimitPolicy) + } + + return target +} + +// Clone function +func (m *PortalConfigSpec_UsagePlanRef) Clone() proto.Message { + var target *PortalConfigSpec_UsagePlanRef + if m == nil { + return target + } + target = &PortalConfigSpec_UsagePlanRef{} + + target.Name = m.GetName() + + return target +} + +// Clone function +func (m *PortalConfigSpec_ExtAuthPolicy) Clone() proto.Message { + var target *PortalConfigSpec_ExtAuthPolicy + if m == nil { + return target + } + target = &PortalConfigSpec_ExtAuthPolicy{} + + if h, ok := interface{}(m.GetExtAuthPolicyRef()).(clone.Cloner); ok { + target.ExtAuthPolicyRef = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.ExtAuthPolicyRef = proto.Clone(m.GetExtAuthPolicyRef()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + target.AuthConfigId = m.GetAuthConfigId() + + switch m.AuthCfg.(type) { + + case *PortalConfigSpec_ExtAuthPolicy_ApiKeyAuth: + + if h, ok := interface{}(m.GetApiKeyAuth()).(clone.Cloner); ok { + target.AuthCfg = &PortalConfigSpec_ExtAuthPolicy_ApiKeyAuth{ + ApiKeyAuth: h.Clone().(*PortalConfigSpec_ApiKeyAuth), + } + } else { + target.AuthCfg = &PortalConfigSpec_ExtAuthPolicy_ApiKeyAuth{ + ApiKeyAuth: proto.Clone(m.GetApiKeyAuth()).(*PortalConfigSpec_ApiKeyAuth), + } + } + + case *PortalConfigSpec_ExtAuthPolicy_OidcAuth: + + if h, ok := interface{}(m.GetOidcAuth()).(clone.Cloner); ok { + target.AuthCfg = &PortalConfigSpec_ExtAuthPolicy_OidcAuth{ + OidcAuth: h.Clone().(*PortalConfigSpec_OidcAuth), + } + } else { + target.AuthCfg = &PortalConfigSpec_ExtAuthPolicy_OidcAuth{ + OidcAuth: proto.Clone(m.GetOidcAuth()).(*PortalConfigSpec_OidcAuth), + } + } + + case *PortalConfigSpec_ExtAuthPolicy_AccessTokenValidation: + + if h, ok := interface{}(m.GetAccessTokenValidation()).(clone.Cloner); ok { + target.AuthCfg = &PortalConfigSpec_ExtAuthPolicy_AccessTokenValidation{ + AccessTokenValidation: h.Clone().(*PortalConfigSpec_AccessTokenValidation), + } + } else { + target.AuthCfg = &PortalConfigSpec_ExtAuthPolicy_AccessTokenValidation{ + AccessTokenValidation: proto.Clone(m.GetAccessTokenValidation()).(*PortalConfigSpec_AccessTokenValidation), + } + } + + } + + return target +} + +// Clone function +func (m *PortalConfigSpec_ApiKeyAuth) Clone() proto.Message { + var target *PortalConfigSpec_ApiKeyAuth + if m == nil { + return target + } + target = &PortalConfigSpec_ApiKeyAuth{} + + if m.GetExtAuthLabelSelector() != nil { + target.ExtAuthLabelSelector = make(map[string]string, len(m.GetExtAuthLabelSelector())) + for k, v := range m.GetExtAuthLabelSelector() { + + target.ExtAuthLabelSelector[k] = v + + } + } + + return target +} + +// Clone function +func (m *PortalConfigSpec_OidcAuth) Clone() proto.Message { + var target *PortalConfigSpec_OidcAuth + if m == nil { + return target + } + target = &PortalConfigSpec_OidcAuth{} + + target.WellKnownOpenidConfig = m.GetWellKnownOpenidConfig() + + return target +} + +// Clone function +func (m *PortalConfigSpec_AccessTokenValidation) Clone() proto.Message { + var target *PortalConfigSpec_AccessTokenValidation + if m == nil { + return target + } + target = &PortalConfigSpec_AccessTokenValidation{} + + target.BearerFormat = m.GetBearerFormat() + + return target +} + +// Clone function +func (m *PortalConfigSpec_RateLimitPolicy) Clone() proto.Message { + var target *PortalConfigSpec_RateLimitPolicy + if m == nil { + return target + } + target = &PortalConfigSpec_RateLimitPolicy{} + + target.Unit = m.GetUnit() + + target.RequestsPerUnit = m.GetRequestsPerUnit() + + if h, ok := interface{}(m.GetRateLimitPolicyRef()).(clone.Cloner); ok { + target.RateLimitPolicyRef = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.RateLimitPolicyRef = proto.Clone(m.GetRateLimitPolicyRef()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + return target +} diff --git a/client-go/internal.gloo.solo.io/v2/portal_config.pb.equal.go b/client-go/internal.gloo.solo.io/v2/portal_config.pb.equal.go new file mode 100644 index 000000000..d6a310dcd --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/portal_config.pb.equal.go @@ -0,0 +1,724 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/portal_config.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *PortalConfigSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalConfigSpec) + if !ok { + that2, ok := that.(PortalConfigSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetPortalCustomMetadata()).(equality.Equalizer); ok { + if !h.Equal(target.GetPortalCustomMetadata()) { + return false + } + } else { + if !proto.Equal(m.GetPortalCustomMetadata(), target.GetPortalCustomMetadata()) { + return false + } + } + + if len(m.GetApis()) != len(target.GetApis()) { + return false + } + for idx, v := range m.GetApis() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApis()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApis()[idx]) { + return false + } + } + + } + + if len(m.GetUsagePlans()) != len(target.GetUsagePlans()) { + return false + } + for idx, v := range m.GetUsagePlans() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetUsagePlans()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetUsagePlans()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetPortalRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetPortalRef()) { + return false + } + } else { + if !proto.Equal(m.GetPortalRef(), target.GetPortalRef()) { + return false + } + } + + if len(m.GetDomains()) != len(target.GetDomains()) { + return false + } + for idx, v := range m.GetDomains() { + + if strings.Compare(v, target.GetDomains()[idx]) != 0 { + return false + } + + } + + if len(m.GetGroups()) != len(target.GetGroups()) { + return false + } + for idx, v := range m.GetGroups() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetGroups()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetGroups()[idx]) { + return false + } + } + + } + + if m.GetPublic() != target.GetPublic() { + return false + } + + return true +} + +// Equal function +func (m *PortalConfigStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalConfigStatus) + if !ok { + that2, ok := that.(PortalConfigStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if strings.Compare(m.GetOwnedByWorkspace(), target.GetOwnedByWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *PortalConfigReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalConfigReport) + if !ok { + that2, ok := that.(PortalConfigReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *PortalConfigSpec_Group) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalConfigSpec_Group) + if !ok { + that2, ok := that.(PortalConfigSpec_Group) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if len(m.GetApis()) != len(target.GetApis()) { + return false + } + for idx, v := range m.GetApis() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApis()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApis()[idx]) { + return false + } + } + + } + + if len(m.GetUsagePlans()) != len(target.GetUsagePlans()) { + return false + } + for idx, v := range m.GetUsagePlans() { + + if strings.Compare(v, target.GetUsagePlans()[idx]) != 0 { + return false + } + + } + + if len(m.GetMembershipClaims()) != len(target.GetMembershipClaims()) { + return false + } + for idx, v := range m.GetMembershipClaims() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetMembershipClaims()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetMembershipClaims()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *PortalConfigSpec_API) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalConfigSpec_API) + if !ok { + that2, ok := that.(PortalConfigSpec_API) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetApiProductId(), target.GetApiProductId()) != 0 { + return false + } + + if strings.Compare(m.GetApiProductDisplayName(), target.GetApiProductDisplayName()) != 0 { + return false + } + + if strings.Compare(m.GetApiId(), target.GetApiId()) != 0 { + return false + } + + if strings.Compare(m.GetApiVersion(), target.GetApiVersion()) != 0 { + return false + } + + if strings.Compare(m.GetTitle(), target.GetTitle()) != 0 { + return false + } + + if strings.Compare(m.GetDescription(), target.GetDescription()) != 0 { + return false + } + + if strings.Compare(m.GetTermsOfService(), target.GetTermsOfService()) != 0 { + return false + } + + if strings.Compare(m.GetContact(), target.GetContact()) != 0 { + return false + } + + if strings.Compare(m.GetLicense(), target.GetLicense()) != 0 { + return false + } + + if strings.Compare(m.GetLifecycle(), target.GetLifecycle()) != 0 { + return false + } + + if h, ok := interface{}(m.GetApiSchema()).(equality.Equalizer); ok { + if !h.Equal(target.GetApiSchema()) { + return false + } + } else { + if !proto.Equal(m.GetApiSchema(), target.GetApiSchema()) { + return false + } + } + + if h, ok := interface{}(m.GetRouteTable()).(equality.Equalizer); ok { + if !h.Equal(target.GetRouteTable()) { + return false + } + } else { + if !proto.Equal(m.GetRouteTable(), target.GetRouteTable()) { + return false + } + } + + if len(m.GetUsagePlans()) != len(target.GetUsagePlans()) { + return false + } + for idx, v := range m.GetUsagePlans() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetUsagePlans()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetUsagePlans()[idx]) { + return false + } + } + + } + + if m.GetIsPrivate() != target.GetIsPrivate() { + return false + } + + if len(m.GetCustomMetadata()) != len(target.GetCustomMetadata()) { + return false + } + for k, v := range m.GetCustomMetadata() { + + if strings.Compare(v, target.GetCustomMetadata()[k]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *PortalConfigSpec_UsagePlan) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalConfigSpec_UsagePlan) + if !ok { + that2, ok := that.(PortalConfigSpec_UsagePlan) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetDisplayName(), target.GetDisplayName()) != 0 { + return false + } + + if strings.Compare(m.GetDescription(), target.GetDescription()) != 0 { + return false + } + + if len(m.GetExtAuthPolicies()) != len(target.GetExtAuthPolicies()) { + return false + } + for idx, v := range m.GetExtAuthPolicies() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetExtAuthPolicies()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetExtAuthPolicies()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetRateLimitPolicy()).(equality.Equalizer); ok { + if !h.Equal(target.GetRateLimitPolicy()) { + return false + } + } else { + if !proto.Equal(m.GetRateLimitPolicy(), target.GetRateLimitPolicy()) { + return false + } + } + + return true +} + +// Equal function +func (m *PortalConfigSpec_UsagePlanRef) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalConfigSpec_UsagePlanRef) + if !ok { + that2, ok := that.(PortalConfigSpec_UsagePlanRef) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *PortalConfigSpec_ExtAuthPolicy) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalConfigSpec_ExtAuthPolicy) + if !ok { + that2, ok := that.(PortalConfigSpec_ExtAuthPolicy) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetExtAuthPolicyRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetExtAuthPolicyRef()) { + return false + } + } else { + if !proto.Equal(m.GetExtAuthPolicyRef(), target.GetExtAuthPolicyRef()) { + return false + } + } + + if strings.Compare(m.GetAuthConfigId(), target.GetAuthConfigId()) != 0 { + return false + } + + switch m.AuthCfg.(type) { + + case *PortalConfigSpec_ExtAuthPolicy_ApiKeyAuth: + if _, ok := target.AuthCfg.(*PortalConfigSpec_ExtAuthPolicy_ApiKeyAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetApiKeyAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetApiKeyAuth()) { + return false + } + } else { + if !proto.Equal(m.GetApiKeyAuth(), target.GetApiKeyAuth()) { + return false + } + } + + case *PortalConfigSpec_ExtAuthPolicy_OidcAuth: + if _, ok := target.AuthCfg.(*PortalConfigSpec_ExtAuthPolicy_OidcAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetOidcAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetOidcAuth()) { + return false + } + } else { + if !proto.Equal(m.GetOidcAuth(), target.GetOidcAuth()) { + return false + } + } + + case *PortalConfigSpec_ExtAuthPolicy_AccessTokenValidation: + if _, ok := target.AuthCfg.(*PortalConfigSpec_ExtAuthPolicy_AccessTokenValidation); !ok { + return false + } + + if h, ok := interface{}(m.GetAccessTokenValidation()).(equality.Equalizer); ok { + if !h.Equal(target.GetAccessTokenValidation()) { + return false + } + } else { + if !proto.Equal(m.GetAccessTokenValidation(), target.GetAccessTokenValidation()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.AuthCfg != target.AuthCfg { + return false + } + } + + return true +} + +// Equal function +func (m *PortalConfigSpec_ApiKeyAuth) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalConfigSpec_ApiKeyAuth) + if !ok { + that2, ok := that.(PortalConfigSpec_ApiKeyAuth) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetExtAuthLabelSelector()) != len(target.GetExtAuthLabelSelector()) { + return false + } + for k, v := range m.GetExtAuthLabelSelector() { + + if strings.Compare(v, target.GetExtAuthLabelSelector()[k]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *PortalConfigSpec_OidcAuth) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalConfigSpec_OidcAuth) + if !ok { + that2, ok := that.(PortalConfigSpec_OidcAuth) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetWellKnownOpenidConfig(), target.GetWellKnownOpenidConfig()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *PortalConfigSpec_AccessTokenValidation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalConfigSpec_AccessTokenValidation) + if !ok { + that2, ok := that.(PortalConfigSpec_AccessTokenValidation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetBearerFormat(), target.GetBearerFormat()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *PortalConfigSpec_RateLimitPolicy) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*PortalConfigSpec_RateLimitPolicy) + if !ok { + that2, ok := that.(PortalConfigSpec_RateLimitPolicy) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetUnit() != target.GetUnit() { + return false + } + + if m.GetRequestsPerUnit() != target.GetRequestsPerUnit() { + return false + } + + if h, ok := interface{}(m.GetRateLimitPolicyRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetRateLimitPolicyRef()) { + return false + } + } else { + if !proto.Equal(m.GetRateLimitPolicyRef(), target.GetRateLimitPolicyRef()) { + return false + } + } + + return true +} diff --git a/client-go/internal.gloo.solo.io/v2/portal_config.pb.go b/client-go/internal.gloo.solo.io/v2/portal_config.pb.go new file mode 100644 index 000000000..98aa10fae --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/portal_config.pb.go @@ -0,0 +1,1495 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/portal_config.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _struct "github.com/golang/protobuf/ptypes/struct" + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v21 "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type PortalConfigSpec_Unit int32 + +const ( + PortalConfigSpec_UNKNOWN PortalConfigSpec_Unit = 0 + PortalConfigSpec_SECOND PortalConfigSpec_Unit = 1 + PortalConfigSpec_MINUTE PortalConfigSpec_Unit = 2 + PortalConfigSpec_HOUR PortalConfigSpec_Unit = 3 + PortalConfigSpec_DAY PortalConfigSpec_Unit = 4 +) + +// Enum value maps for PortalConfigSpec_Unit. +var ( + PortalConfigSpec_Unit_name = map[int32]string{ + 0: "UNKNOWN", + 1: "SECOND", + 2: "MINUTE", + 3: "HOUR", + 4: "DAY", + } + PortalConfigSpec_Unit_value = map[string]int32{ + "UNKNOWN": 0, + "SECOND": 1, + "MINUTE": 2, + "HOUR": 3, + "DAY": 4, + } +) + +func (x PortalConfigSpec_Unit) Enum() *PortalConfigSpec_Unit { + p := new(PortalConfigSpec_Unit) + *p = x + return p +} + +func (x PortalConfigSpec_Unit) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PortalConfigSpec_Unit) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_enumTypes[0].Descriptor() +} + +func (PortalConfigSpec_Unit) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_enumTypes[0] +} + +func (x PortalConfigSpec_Unit) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PortalConfigSpec_Unit.Descriptor instead. +func (PortalConfigSpec_Unit) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{0, 0} +} + +// PortalConfig is a internal representation of the user facing Portal resource. +// It is used to provide configuration information for a single Portal backend. +// The PortalConfig contains a list of all API resources that are exposed by the Portal, +// the associated usage plans for each API, and all usage plans available +// across the Portal. +type PortalConfigSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Portal level metadata configured by the user in the user facing Portal resource as a JSON value. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/value). + PortalCustomMetadata *_struct.Value `protobuf:"bytes,1,opt,name=portal_custom_metadata,json=portalCustomMetadata,proto3" json:"portal_custom_metadata,omitempty"` + // The list of API resources that are exposed by the Portal. + Apis []*PortalConfigSpec_API `protobuf:"bytes,2,rep,name=apis,proto3" json:"apis,omitempty"` + // The list of usage plans that are available across the Portal. + UsagePlans []*PortalConfigSpec_UsagePlan `protobuf:"bytes,3,rep,name=usage_plans,json=usagePlans,proto3" json:"usage_plans,omitempty"` + // Reference to the Portal resource that this PortalConfig resource is derived from. + PortalRef *v2.ObjectReference `protobuf:"bytes,4,opt,name=portal_ref,json=portalRef,proto3" json:"portal_ref,omitempty"` + // The domains on which this Portal will be served. The Host header received by the + // Portal Web App will be matched to one of these domains in order to determine which Portal will be served. + Domains []string `protobuf:"bytes,5,rep,name=domains,proto3" json:"domains,omitempty"` + // The list of groups that are available across the Portal. + Groups []*PortalConfigSpec_Group `protobuf:"bytes,6,rep,name=groups,proto3" json:"groups,omitempty"` + // Indicates whether the Portal is public or private, this is based on the visibility setting specified in the + // `Portal` resource + Public bool `protobuf:"varint,7,opt,name=public,proto3" json:"public,omitempty"` +} + +func (x *PortalConfigSpec) Reset() { + *x = PortalConfigSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalConfigSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalConfigSpec) ProtoMessage() {} + +func (x *PortalConfigSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalConfigSpec.ProtoReflect.Descriptor instead. +func (*PortalConfigSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{0} +} + +func (x *PortalConfigSpec) GetPortalCustomMetadata() *_struct.Value { + if x != nil { + return x.PortalCustomMetadata + } + return nil +} + +func (x *PortalConfigSpec) GetApis() []*PortalConfigSpec_API { + if x != nil { + return x.Apis + } + return nil +} + +func (x *PortalConfigSpec) GetUsagePlans() []*PortalConfigSpec_UsagePlan { + if x != nil { + return x.UsagePlans + } + return nil +} + +func (x *PortalConfigSpec) GetPortalRef() *v2.ObjectReference { + if x != nil { + return x.PortalRef + } + return nil +} + +func (x *PortalConfigSpec) GetDomains() []string { + if x != nil { + return x.Domains + } + return nil +} + +func (x *PortalConfigSpec) GetGroups() []*PortalConfigSpec_Group { + if x != nil { + return x.Groups + } + return nil +} + +func (x *PortalConfigSpec) GetPublic() bool { + if x != nil { + return x.Public + } + return false +} + +// The status of the resource after it is applied to your Gloo environment. +type PortalConfigStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The name of the workspace that owns the PortalConfig schema. + OwnedByWorkspace string `protobuf:"bytes,2,opt,name=owned_by_workspace,json=ownedByWorkspace,proto3" json:"owned_by_workspace,omitempty"` +} + +func (x *PortalConfigStatus) Reset() { + *x = PortalConfigStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalConfigStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalConfigStatus) ProtoMessage() {} + +func (x *PortalConfigStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalConfigStatus.ProtoReflect.Descriptor instead. +func (*PortalConfigStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{1} +} + +func (x *PortalConfigStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *PortalConfigStatus) GetOwnedByWorkspace() string { + if x != nil { + return x.OwnedByWorkspace + } + return "" +} + +type PortalConfigReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The name of the workspace that owns the PortalConfig schema. + OwnerWorkspace string `protobuf:"bytes,2,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` +} + +func (x *PortalConfigReport) Reset() { + *x = PortalConfigReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalConfigReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalConfigReport) ProtoMessage() {} + +func (x *PortalConfigReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalConfigReport.ProtoReflect.Descriptor instead. +func (*PortalConfigReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{2} +} + +func (x *PortalConfigReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *PortalConfigReport) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +// A Portal group represents a set of group names, which has visibility into a set of APIs and the ability +// to manage API keys selected usage plans. +type PortalConfigSpec_Group struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the group this is derived from the `PortalGroup` resource + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The apis that are visible to this group + Apis []*v2.ObjectReference `protobuf:"bytes,2,rep,name=apis,proto3" json:"apis,omitempty"` + // The names of the usage plans that are visible to this group + UsagePlans []string `protobuf:"bytes,3,rep,name=usage_plans,json=usagePlans,proto3" json:"usage_plans,omitempty"` + // The list of membership claims that are used to determine whether a user is a member of this group + MembershipClaims []*v21.Membership `protobuf:"bytes,4,rep,name=membership_claims,json=membershipClaims,proto3" json:"membership_claims,omitempty"` +} + +func (x *PortalConfigSpec_Group) Reset() { + *x = PortalConfigSpec_Group{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalConfigSpec_Group) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalConfigSpec_Group) ProtoMessage() {} + +func (x *PortalConfigSpec_Group) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalConfigSpec_Group.ProtoReflect.Descriptor instead. +func (*PortalConfigSpec_Group) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *PortalConfigSpec_Group) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PortalConfigSpec_Group) GetApis() []*v2.ObjectReference { + if x != nil { + return x.Apis + } + return nil +} + +func (x *PortalConfigSpec_Group) GetUsagePlans() []string { + if x != nil { + return x.UsagePlans + } + return nil +} + +func (x *PortalConfigSpec_Group) GetMembershipClaims() []*v21.Membership { + if x != nil { + return x.MembershipClaims + } + return nil +} + +// TODO(jmhbh): Update this doc when we decide to support operation level usage plans. +// An API that is exposed by the Portal. API metadata is sourced from the +// referenced RouteTable and api_schema is a reference to the stitched API schema for the RouteTable. +// Also references a list of usage plan names that are associated with the API. +type PortalConfigSpec_API struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // When set, the [/apis](https://docs.solo.io/gloo-gateway/main/portal/openapi/redocly/#tag/APIs/operation/ListAPIs) + // endpoint in the portal will return `apiProduct` in the response which can be used to group multiple APIs together. + ApiProductId string `protobuf:"bytes,1,opt,name=api_product_id,json=apiProductId,proto3" json:"api_product_id,omitempty"` + // The api product display name + ApiProductDisplayName string `protobuf:"bytes,2,opt,name=api_product_display_name,json=apiProductDisplayName,proto3" json:"api_product_display_name,omitempty"` + // The ID for this API. + ApiId string `protobuf:"bytes,3,opt,name=api_id,json=apiId,proto3" json:"api_id,omitempty"` + // The version of the openAPI specification for this route table. Must be unique within the apiProduct. + // `apiProduct` is required if `apiVersion` is set. + ApiVersion string `protobuf:"bytes,4,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"` + Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + TermsOfService string `protobuf:"bytes,7,opt,name=terms_of_service,json=termsOfService,proto3" json:"terms_of_service,omitempty"` + Contact string `protobuf:"bytes,8,opt,name=contact,proto3" json:"contact,omitempty"` + License string `protobuf:"bytes,9,opt,name=license,proto3" json:"license,omitempty"` + Lifecycle string `protobuf:"bytes,10,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"` + ApiSchema *v2.ObjectReference `protobuf:"bytes,11,opt,name=api_schema,json=apiSchema,proto3" json:"api_schema,omitempty"` + RouteTable *v2.ObjectReference `protobuf:"bytes,12,opt,name=route_table,json=routeTable,proto3" json:"route_table,omitempty"` + UsagePlans []*PortalConfigSpec_UsagePlanRef `protobuf:"bytes,13,rep,name=usage_plans,json=usagePlans,proto3" json:"usage_plans,omitempty"` + // The API is private if its associated route table contains labels matching the privateAPILabels specified + // in the portal resource + IsPrivate bool `protobuf:"varint,14,opt,name=is_private,json=isPrivate,proto3" json:"is_private,omitempty"` + CustomMetadata map[string]string `protobuf:"bytes,15,rep,name=custom_metadata,json=customMetadata,proto3" json:"custom_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PortalConfigSpec_API) Reset() { + *x = PortalConfigSpec_API{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalConfigSpec_API) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalConfigSpec_API) ProtoMessage() {} + +func (x *PortalConfigSpec_API) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalConfigSpec_API.ProtoReflect.Descriptor instead. +func (*PortalConfigSpec_API) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *PortalConfigSpec_API) GetApiProductId() string { + if x != nil { + return x.ApiProductId + } + return "" +} + +func (x *PortalConfigSpec_API) GetApiProductDisplayName() string { + if x != nil { + return x.ApiProductDisplayName + } + return "" +} + +func (x *PortalConfigSpec_API) GetApiId() string { + if x != nil { + return x.ApiId + } + return "" +} + +func (x *PortalConfigSpec_API) GetApiVersion() string { + if x != nil { + return x.ApiVersion + } + return "" +} + +func (x *PortalConfigSpec_API) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PortalConfigSpec_API) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *PortalConfigSpec_API) GetTermsOfService() string { + if x != nil { + return x.TermsOfService + } + return "" +} + +func (x *PortalConfigSpec_API) GetContact() string { + if x != nil { + return x.Contact + } + return "" +} + +func (x *PortalConfigSpec_API) GetLicense() string { + if x != nil { + return x.License + } + return "" +} + +func (x *PortalConfigSpec_API) GetLifecycle() string { + if x != nil { + return x.Lifecycle + } + return "" +} + +func (x *PortalConfigSpec_API) GetApiSchema() *v2.ObjectReference { + if x != nil { + return x.ApiSchema + } + return nil +} + +func (x *PortalConfigSpec_API) GetRouteTable() *v2.ObjectReference { + if x != nil { + return x.RouteTable + } + return nil +} + +func (x *PortalConfigSpec_API) GetUsagePlans() []*PortalConfigSpec_UsagePlanRef { + if x != nil { + return x.UsagePlans + } + return nil +} + +func (x *PortalConfigSpec_API) GetIsPrivate() bool { + if x != nil { + return x.IsPrivate + } + return false +} + +func (x *PortalConfigSpec_API) GetCustomMetadata() map[string]string { + if x != nil { + return x.CustomMetadata + } + return nil +} + +// A usage plan contains a list of auth policies and one rate limit policy. +type PortalConfigSpec_UsagePlan struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + ExtAuthPolicies []*PortalConfigSpec_ExtAuthPolicy `protobuf:"bytes,4,rep,name=ext_auth_policies,json=extAuthPolicies,proto3" json:"ext_auth_policies,omitempty"` + RateLimitPolicy *PortalConfigSpec_RateLimitPolicy `protobuf:"bytes,5,opt,name=rate_limit_policy,json=rateLimitPolicy,proto3" json:"rate_limit_policy,omitempty"` +} + +func (x *PortalConfigSpec_UsagePlan) Reset() { + *x = PortalConfigSpec_UsagePlan{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalConfigSpec_UsagePlan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalConfigSpec_UsagePlan) ProtoMessage() {} + +func (x *PortalConfigSpec_UsagePlan) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalConfigSpec_UsagePlan.ProtoReflect.Descriptor instead. +func (*PortalConfigSpec_UsagePlan) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *PortalConfigSpec_UsagePlan) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PortalConfigSpec_UsagePlan) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *PortalConfigSpec_UsagePlan) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *PortalConfigSpec_UsagePlan) GetExtAuthPolicies() []*PortalConfigSpec_ExtAuthPolicy { + if x != nil { + return x.ExtAuthPolicies + } + return nil +} + +func (x *PortalConfigSpec_UsagePlan) GetRateLimitPolicy() *PortalConfigSpec_RateLimitPolicy { + if x != nil { + return x.RateLimitPolicy + } + return nil +} + +// Reference to a usage plan by name. +type PortalConfigSpec_UsagePlanRef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *PortalConfigSpec_UsagePlanRef) Reset() { + *x = PortalConfigSpec_UsagePlanRef{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalConfigSpec_UsagePlanRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalConfigSpec_UsagePlanRef) ProtoMessage() {} + +func (x *PortalConfigSpec_UsagePlanRef) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalConfigSpec_UsagePlanRef.ProtoReflect.Descriptor instead. +func (*PortalConfigSpec_UsagePlanRef) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *PortalConfigSpec_UsagePlanRef) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// An ext auth policy identified by its authentication type and contains a list of +// unique label selectors that are used to identify the set of clients that +// are authorized to use the auth policy. +type PortalConfigSpec_ExtAuthPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to AuthCfg: + // + // *PortalConfigSpec_ExtAuthPolicy_ApiKeyAuth + // *PortalConfigSpec_ExtAuthPolicy_OidcAuth + // *PortalConfigSpec_ExtAuthPolicy_AccessTokenValidation + AuthCfg isPortalConfigSpec_ExtAuthPolicy_AuthCfg `protobuf_oneof:"auth_cfg"` + ExtAuthPolicyRef *v2.ObjectReference `protobuf:"bytes,4,opt,name=ext_auth_policy_ref,json=extAuthPolicyRef,proto3" json:"ext_auth_policy_ref,omitempty"` + AuthConfigId string `protobuf:"bytes,5,opt,name=auth_config_id,json=authConfigId,proto3" json:"auth_config_id,omitempty"` +} + +func (x *PortalConfigSpec_ExtAuthPolicy) Reset() { + *x = PortalConfigSpec_ExtAuthPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalConfigSpec_ExtAuthPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalConfigSpec_ExtAuthPolicy) ProtoMessage() {} + +func (x *PortalConfigSpec_ExtAuthPolicy) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalConfigSpec_ExtAuthPolicy.ProtoReflect.Descriptor instead. +func (*PortalConfigSpec_ExtAuthPolicy) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{0, 4} +} + +func (m *PortalConfigSpec_ExtAuthPolicy) GetAuthCfg() isPortalConfigSpec_ExtAuthPolicy_AuthCfg { + if m != nil { + return m.AuthCfg + } + return nil +} + +func (x *PortalConfigSpec_ExtAuthPolicy) GetApiKeyAuth() *PortalConfigSpec_ApiKeyAuth { + if x, ok := x.GetAuthCfg().(*PortalConfigSpec_ExtAuthPolicy_ApiKeyAuth); ok { + return x.ApiKeyAuth + } + return nil +} + +func (x *PortalConfigSpec_ExtAuthPolicy) GetOidcAuth() *PortalConfigSpec_OidcAuth { + if x, ok := x.GetAuthCfg().(*PortalConfigSpec_ExtAuthPolicy_OidcAuth); ok { + return x.OidcAuth + } + return nil +} + +func (x *PortalConfigSpec_ExtAuthPolicy) GetAccessTokenValidation() *PortalConfigSpec_AccessTokenValidation { + if x, ok := x.GetAuthCfg().(*PortalConfigSpec_ExtAuthPolicy_AccessTokenValidation); ok { + return x.AccessTokenValidation + } + return nil +} + +func (x *PortalConfigSpec_ExtAuthPolicy) GetExtAuthPolicyRef() *v2.ObjectReference { + if x != nil { + return x.ExtAuthPolicyRef + } + return nil +} + +func (x *PortalConfigSpec_ExtAuthPolicy) GetAuthConfigId() string { + if x != nil { + return x.AuthConfigId + } + return "" +} + +type isPortalConfigSpec_ExtAuthPolicy_AuthCfg interface { + isPortalConfigSpec_ExtAuthPolicy_AuthCfg() +} + +type PortalConfigSpec_ExtAuthPolicy_ApiKeyAuth struct { + ApiKeyAuth *PortalConfigSpec_ApiKeyAuth `protobuf:"bytes,1,opt,name=api_key_auth,json=apiKeyAuth,proto3,oneof"` +} + +type PortalConfigSpec_ExtAuthPolicy_OidcAuth struct { + OidcAuth *PortalConfigSpec_OidcAuth `protobuf:"bytes,2,opt,name=oidc_auth,json=oidcAuth,proto3,oneof"` +} + +type PortalConfigSpec_ExtAuthPolicy_AccessTokenValidation struct { + AccessTokenValidation *PortalConfigSpec_AccessTokenValidation `protobuf:"bytes,3,opt,name=access_token_validation,json=accessTokenValidation,proto3,oneof"` +} + +func (*PortalConfigSpec_ExtAuthPolicy_ApiKeyAuth) isPortalConfigSpec_ExtAuthPolicy_AuthCfg() {} + +func (*PortalConfigSpec_ExtAuthPolicy_OidcAuth) isPortalConfigSpec_ExtAuthPolicy_AuthCfg() {} + +func (*PortalConfigSpec_ExtAuthPolicy_AccessTokenValidation) isPortalConfigSpec_ExtAuthPolicy_AuthCfg() { +} + +type PortalConfigSpec_ApiKeyAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExtAuthLabelSelector map[string]string `protobuf:"bytes,1,rep,name=ext_auth_label_selector,json=extAuthLabelSelector,proto3" json:"ext_auth_label_selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PortalConfigSpec_ApiKeyAuth) Reset() { + *x = PortalConfigSpec_ApiKeyAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalConfigSpec_ApiKeyAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalConfigSpec_ApiKeyAuth) ProtoMessage() {} + +func (x *PortalConfigSpec_ApiKeyAuth) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalConfigSpec_ApiKeyAuth.ProtoReflect.Descriptor instead. +func (*PortalConfigSpec_ApiKeyAuth) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{0, 5} +} + +func (x *PortalConfigSpec_ApiKeyAuth) GetExtAuthLabelSelector() map[string]string { + if x != nil { + return x.ExtAuthLabelSelector + } + return nil +} + +type PortalConfigSpec_OidcAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WellKnownOpenidConfig string `protobuf:"bytes,1,opt,name=well_known_openid_config,json=wellKnownOpenidConfig,proto3" json:"well_known_openid_config,omitempty"` +} + +func (x *PortalConfigSpec_OidcAuth) Reset() { + *x = PortalConfigSpec_OidcAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalConfigSpec_OidcAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalConfigSpec_OidcAuth) ProtoMessage() {} + +func (x *PortalConfigSpec_OidcAuth) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalConfigSpec_OidcAuth.ProtoReflect.Descriptor instead. +func (*PortalConfigSpec_OidcAuth) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{0, 6} +} + +func (x *PortalConfigSpec_OidcAuth) GetWellKnownOpenidConfig() string { + if x != nil { + return x.WellKnownOpenidConfig + } + return "" +} + +type PortalConfigSpec_AccessTokenValidation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BearerFormat string `protobuf:"bytes,1,opt,name=bearer_format,json=bearerFormat,proto3" json:"bearer_format,omitempty"` +} + +func (x *PortalConfigSpec_AccessTokenValidation) Reset() { + *x = PortalConfigSpec_AccessTokenValidation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalConfigSpec_AccessTokenValidation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalConfigSpec_AccessTokenValidation) ProtoMessage() {} + +func (x *PortalConfigSpec_AccessTokenValidation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalConfigSpec_AccessTokenValidation.ProtoReflect.Descriptor instead. +func (*PortalConfigSpec_AccessTokenValidation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{0, 7} +} + +func (x *PortalConfigSpec_AccessTokenValidation) GetBearerFormat() string { + if x != nil { + return x.BearerFormat + } + return "" +} + +type PortalConfigSpec_RateLimitPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Unit PortalConfigSpec_Unit `protobuf:"varint,1,opt,name=unit,proto3,enum=internal.gloo.solo.io.PortalConfigSpec_Unit" json:"unit,omitempty"` + RequestsPerUnit uint32 `protobuf:"varint,2,opt,name=requests_per_unit,json=requestsPerUnit,proto3" json:"requests_per_unit,omitempty"` + RateLimitPolicyRef *v2.ObjectReference `protobuf:"bytes,3,opt,name=rate_limit_policy_ref,json=rateLimitPolicyRef,proto3" json:"rate_limit_policy_ref,omitempty"` +} + +func (x *PortalConfigSpec_RateLimitPolicy) Reset() { + *x = PortalConfigSpec_RateLimitPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortalConfigSpec_RateLimitPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortalConfigSpec_RateLimitPolicy) ProtoMessage() {} + +func (x *PortalConfigSpec_RateLimitPolicy) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortalConfigSpec_RateLimitPolicy.ProtoReflect.Descriptor instead. +func (*PortalConfigSpec_RateLimitPolicy) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP(), []int{0, 8} +} + +func (x *PortalConfigSpec_RateLimitPolicy) GetUnit() PortalConfigSpec_Unit { + if x != nil { + return x.Unit + } + return PortalConfigSpec_UNKNOWN +} + +func (x *PortalConfigSpec_RateLimitPolicy) GetRequestsPerUnit() uint32 { + if x != nil { + return x.RequestsPerUnit + } + return 0 +} + +func (x *PortalConfigSpec_RateLimitPolicy) GetRateLimitPolicyRef() *v2.ObjectReference { + if x != nil { + return x.RateLimitPolicyRef + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDesc = []byte{ + 0x0a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, + 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x16, 0x0a, + 0x10, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x53, 0x0a, 0x16, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05, 0xea, 0x42, 0x02, 0x20, 0x01, + 0x52, 0x14, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x04, 0x61, 0x70, 0x69, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, + 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x50, + 0x49, 0x52, 0x04, 0x61, 0x70, 0x69, 0x73, 0x12, 0x52, 0x0a, 0x0b, 0x75, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, + 0x0a, 0x75, 0x73, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, + 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x06, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x1a, 0xcb, 0x01, 0x0a, 0x05, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x61, 0x70, 0x69, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x61, 0x70, 0x69, + 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x73, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, + 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x11, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, + 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x10, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, + 0x70, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x1a, 0xff, 0x05, 0x0a, 0x03, 0x41, 0x50, 0x49, 0x12, + 0x24, 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x61, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x15, + 0x0a, 0x06, 0x61, 0x70, 0x69, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x61, 0x70, 0x69, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, + 0x0a, 0x10, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x4f, + 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x70, + 0x69, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x61, 0x70, 0x69, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, + 0x45, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x55, 0x0a, 0x0b, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, + 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, + 0x66, 0x52, 0x0a, 0x75, 0x73, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x68, 0x0a, 0x0f, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, + 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, + 0x50, 0x49, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x41, 0x0a, 0x13, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xac, 0x02, 0x0a, 0x09, 0x55, 0x73, + 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x61, 0x0a, 0x11, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x12, 0x63, 0x0a, 0x11, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x22, 0x0a, 0x0c, 0x55, 0x73, 0x61, 0x67, + 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xb8, 0x03, 0x0a, + 0x0d, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x56, + 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, + 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x70, + 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x61, + 0x75, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x08, 0x6f, + 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x77, 0x0a, 0x17, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x15, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x53, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x10, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x66, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, + 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x61, + 0x75, 0x74, 0x68, 0x5f, 0x63, 0x66, 0x67, 0x1a, 0xdb, 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x83, 0x01, 0x0a, 0x17, 0x65, 0x78, 0x74, 0x5f, 0x61, + 0x75, 0x74, 0x68, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x45, 0x78, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0x47, 0x0a, 0x19, + 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x08, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x75, 0x74, + 0x68, 0x12, 0x37, 0x0a, 0x18, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, + 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x15, 0x77, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x4f, 0x70, + 0x65, 0x6e, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x3c, 0x0a, 0x15, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x5f, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x65, 0x61, 0x72, + 0x65, 0x72, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x1a, 0xd8, 0x01, 0x0a, 0x0f, 0x52, 0x61, 0x74, + 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x40, 0x0a, 0x04, + 0x75, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x2a, + 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x75, + 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x57, 0x0a, 0x15, 0x72, 0x61, + 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x12, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x66, 0x22, 0x3e, 0x0a, 0x04, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, + 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x43, 0x4f, + 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x10, 0x02, + 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x55, 0x52, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x41, + 0x59, 0x10, 0x04, 0x22, 0x77, 0x0a, 0x12, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2c, + 0x0a, 0x12, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, + 0x64, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xf4, 0x01, 0x0a, + 0x12, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x59, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x27, + 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x42, 0x56, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, + 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_goTypes = []interface{}{ + (PortalConfigSpec_Unit)(0), // 0: internal.gloo.solo.io.PortalConfigSpec.Unit + (*PortalConfigSpec)(nil), // 1: internal.gloo.solo.io.PortalConfigSpec + (*PortalConfigStatus)(nil), // 2: internal.gloo.solo.io.PortalConfigStatus + (*PortalConfigReport)(nil), // 3: internal.gloo.solo.io.PortalConfigReport + (*PortalConfigSpec_Group)(nil), // 4: internal.gloo.solo.io.PortalConfigSpec.Group + (*PortalConfigSpec_API)(nil), // 5: internal.gloo.solo.io.PortalConfigSpec.API + (*PortalConfigSpec_UsagePlan)(nil), // 6: internal.gloo.solo.io.PortalConfigSpec.UsagePlan + (*PortalConfigSpec_UsagePlanRef)(nil), // 7: internal.gloo.solo.io.PortalConfigSpec.UsagePlanRef + (*PortalConfigSpec_ExtAuthPolicy)(nil), // 8: internal.gloo.solo.io.PortalConfigSpec.ExtAuthPolicy + (*PortalConfigSpec_ApiKeyAuth)(nil), // 9: internal.gloo.solo.io.PortalConfigSpec.ApiKeyAuth + (*PortalConfigSpec_OidcAuth)(nil), // 10: internal.gloo.solo.io.PortalConfigSpec.OidcAuth + (*PortalConfigSpec_AccessTokenValidation)(nil), // 11: internal.gloo.solo.io.PortalConfigSpec.AccessTokenValidation + (*PortalConfigSpec_RateLimitPolicy)(nil), // 12: internal.gloo.solo.io.PortalConfigSpec.RateLimitPolicy + nil, // 13: internal.gloo.solo.io.PortalConfigSpec.API.CustomMetadataEntry + nil, // 14: internal.gloo.solo.io.PortalConfigSpec.ApiKeyAuth.ExtAuthLabelSelectorEntry + nil, // 15: internal.gloo.solo.io.PortalConfigReport.WorkspacesEntry + (*_struct.Value)(nil), // 16: google.protobuf.Value + (*v2.ObjectReference)(nil), // 17: common.gloo.solo.io.ObjectReference + (*v2.Status)(nil), // 18: common.gloo.solo.io.Status + (*v21.Membership)(nil), // 19: apimanagement.gloo.solo.io.Membership + (*v2.Report)(nil), // 20: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_depIdxs = []int32{ + 16, // 0: internal.gloo.solo.io.PortalConfigSpec.portal_custom_metadata:type_name -> google.protobuf.Value + 5, // 1: internal.gloo.solo.io.PortalConfigSpec.apis:type_name -> internal.gloo.solo.io.PortalConfigSpec.API + 6, // 2: internal.gloo.solo.io.PortalConfigSpec.usage_plans:type_name -> internal.gloo.solo.io.PortalConfigSpec.UsagePlan + 17, // 3: internal.gloo.solo.io.PortalConfigSpec.portal_ref:type_name -> common.gloo.solo.io.ObjectReference + 4, // 4: internal.gloo.solo.io.PortalConfigSpec.groups:type_name -> internal.gloo.solo.io.PortalConfigSpec.Group + 18, // 5: internal.gloo.solo.io.PortalConfigStatus.common:type_name -> common.gloo.solo.io.Status + 15, // 6: internal.gloo.solo.io.PortalConfigReport.workspaces:type_name -> internal.gloo.solo.io.PortalConfigReport.WorkspacesEntry + 17, // 7: internal.gloo.solo.io.PortalConfigSpec.Group.apis:type_name -> common.gloo.solo.io.ObjectReference + 19, // 8: internal.gloo.solo.io.PortalConfigSpec.Group.membership_claims:type_name -> apimanagement.gloo.solo.io.Membership + 17, // 9: internal.gloo.solo.io.PortalConfigSpec.API.api_schema:type_name -> common.gloo.solo.io.ObjectReference + 17, // 10: internal.gloo.solo.io.PortalConfigSpec.API.route_table:type_name -> common.gloo.solo.io.ObjectReference + 7, // 11: internal.gloo.solo.io.PortalConfigSpec.API.usage_plans:type_name -> internal.gloo.solo.io.PortalConfigSpec.UsagePlanRef + 13, // 12: internal.gloo.solo.io.PortalConfigSpec.API.custom_metadata:type_name -> internal.gloo.solo.io.PortalConfigSpec.API.CustomMetadataEntry + 8, // 13: internal.gloo.solo.io.PortalConfigSpec.UsagePlan.ext_auth_policies:type_name -> internal.gloo.solo.io.PortalConfigSpec.ExtAuthPolicy + 12, // 14: internal.gloo.solo.io.PortalConfigSpec.UsagePlan.rate_limit_policy:type_name -> internal.gloo.solo.io.PortalConfigSpec.RateLimitPolicy + 9, // 15: internal.gloo.solo.io.PortalConfigSpec.ExtAuthPolicy.api_key_auth:type_name -> internal.gloo.solo.io.PortalConfigSpec.ApiKeyAuth + 10, // 16: internal.gloo.solo.io.PortalConfigSpec.ExtAuthPolicy.oidc_auth:type_name -> internal.gloo.solo.io.PortalConfigSpec.OidcAuth + 11, // 17: internal.gloo.solo.io.PortalConfigSpec.ExtAuthPolicy.access_token_validation:type_name -> internal.gloo.solo.io.PortalConfigSpec.AccessTokenValidation + 17, // 18: internal.gloo.solo.io.PortalConfigSpec.ExtAuthPolicy.ext_auth_policy_ref:type_name -> common.gloo.solo.io.ObjectReference + 14, // 19: internal.gloo.solo.io.PortalConfigSpec.ApiKeyAuth.ext_auth_label_selector:type_name -> internal.gloo.solo.io.PortalConfigSpec.ApiKeyAuth.ExtAuthLabelSelectorEntry + 0, // 20: internal.gloo.solo.io.PortalConfigSpec.RateLimitPolicy.unit:type_name -> internal.gloo.solo.io.PortalConfigSpec.Unit + 17, // 21: internal.gloo.solo.io.PortalConfigSpec.RateLimitPolicy.rate_limit_policy_ref:type_name -> common.gloo.solo.io.ObjectReference + 20, // 22: internal.gloo.solo.io.PortalConfigReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 23, // [23:23] is the sub-list for method output_type + 23, // [23:23] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 23, // [23:23] is the sub-list for extension extendee + 0, // [0:23] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalConfigSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalConfigStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalConfigReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalConfigSpec_Group); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalConfigSpec_API); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalConfigSpec_UsagePlan); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalConfigSpec_UsagePlanRef); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalConfigSpec_ExtAuthPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalConfigSpec_ApiKeyAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalConfigSpec_OidcAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalConfigSpec_AccessTokenValidation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortalConfigSpec_RateLimitPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*PortalConfigSpec_ExtAuthPolicy_ApiKeyAuth)(nil), + (*PortalConfigSpec_ExtAuthPolicy_OidcAuth)(nil), + (*PortalConfigSpec_ExtAuthPolicy_AccessTokenValidation)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDesc, + NumEnums: 1, + NumMessages: 15, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_portal_config_proto_depIdxs = nil +} diff --git a/client-go/internal.gloo.solo.io/v2/portal_config.pb.hash.go b/client-go/internal.gloo.solo.io/v2/portal_config.pb.hash.go new file mode 100644 index 000000000..dbbf66d21 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/portal_config.pb.hash.go @@ -0,0 +1,817 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/portal_config.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *PortalConfigSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PortalConfigSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPortalCustomMetadata()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PortalCustomMetadata")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPortalCustomMetadata(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PortalCustomMetadata")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetApis() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetUsagePlans() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetPortalRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PortalRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPortalRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PortalRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetDomains() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetGroups() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPublic()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalConfigStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PortalConfigStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetOwnedByWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalConfigReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PortalConfigReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalConfigSpec_Group) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PortalConfigSpec_Group")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + for _, v := range m.GetApis() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetUsagePlans() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetMembershipClaims() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalConfigSpec_API) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PortalConfigSpec_API")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetApiProductId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetApiProductDisplayName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetApiId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetApiVersion())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTitle())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetDescription())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTermsOfService())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetContact())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetLicense())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetLifecycle())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetApiSchema()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ApiSchema")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetApiSchema(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ApiSchema")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetRouteTable()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RouteTable")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRouteTable(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RouteTable")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetUsagePlans() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetIsPrivate()) + if err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetCustomMetadata() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalConfigSpec_UsagePlan) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PortalConfigSpec_UsagePlan")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetDisplayName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetDescription())); err != nil { + return 0, err + } + + for _, v := range m.GetExtAuthPolicies() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetRateLimitPolicy()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RateLimitPolicy")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRateLimitPolicy(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RateLimitPolicy")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalConfigSpec_UsagePlanRef) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PortalConfigSpec_UsagePlanRef")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalConfigSpec_ExtAuthPolicy) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PortalConfigSpec_ExtAuthPolicy")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetExtAuthPolicyRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ExtAuthPolicyRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetExtAuthPolicyRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ExtAuthPolicyRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetAuthConfigId())); err != nil { + return 0, err + } + + switch m.AuthCfg.(type) { + + case *PortalConfigSpec_ExtAuthPolicy_ApiKeyAuth: + + if h, ok := interface{}(m.GetApiKeyAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ApiKeyAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetApiKeyAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ApiKeyAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *PortalConfigSpec_ExtAuthPolicy_OidcAuth: + + if h, ok := interface{}(m.GetOidcAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("OidcAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOidcAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("OidcAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *PortalConfigSpec_ExtAuthPolicy_AccessTokenValidation: + + if h, ok := interface{}(m.GetAccessTokenValidation()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AccessTokenValidation")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAccessTokenValidation(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AccessTokenValidation")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalConfigSpec_ApiKeyAuth) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PortalConfigSpec_ApiKeyAuth")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetExtAuthLabelSelector() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalConfigSpec_OidcAuth) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PortalConfigSpec_OidcAuth")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetWellKnownOpenidConfig())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalConfigSpec_AccessTokenValidation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PortalConfigSpec_AccessTokenValidation")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetBearerFormat())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *PortalConfigSpec_RateLimitPolicy) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.PortalConfigSpec_RateLimitPolicy")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetUnit()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRequestsPerUnit()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRateLimitPolicyRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RateLimitPolicyRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRateLimitPolicyRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RateLimitPolicyRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/internal.gloo.solo.io/v2/proto_deepcopy.go b/client-go/internal.gloo.solo.io/v2/proto_deepcopy.go new file mode 100644 index 000000000..df0ccd030 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/proto_deepcopy.go @@ -0,0 +1,186 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the IssuedCertificate.Spec +func (in *IssuedCertificateSpec) DeepCopyInto(out *IssuedCertificateSpec) { + var p *IssuedCertificateSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*IssuedCertificateSpec) + } else { + p = proto.Clone(in).(*IssuedCertificateSpec) + } + *out = *p +} + +// DeepCopyInto for the IssuedCertificate.Status +func (in *IssuedCertificateStatus) DeepCopyInto(out *IssuedCertificateStatus) { + var p *IssuedCertificateStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*IssuedCertificateStatus) + } else { + p = proto.Clone(in).(*IssuedCertificateStatus) + } + *out = *p +} + +// DeepCopyInto for the CertificateRequest.Spec +func (in *CertificateRequestSpec) DeepCopyInto(out *CertificateRequestSpec) { + var p *CertificateRequestSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*CertificateRequestSpec) + } else { + p = proto.Clone(in).(*CertificateRequestSpec) + } + *out = *p +} + +// DeepCopyInto for the CertificateRequest.Status +func (in *CertificateRequestStatus) DeepCopyInto(out *CertificateRequestStatus) { + var p *CertificateRequestStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*CertificateRequestStatus) + } else { + p = proto.Clone(in).(*CertificateRequestStatus) + } + *out = *p +} + +// DeepCopyInto for the PodBounceDirective.Spec +func (in *PodBounceDirectiveSpec) DeepCopyInto(out *PodBounceDirectiveSpec) { + var p *PodBounceDirectiveSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*PodBounceDirectiveSpec) + } else { + p = proto.Clone(in).(*PodBounceDirectiveSpec) + } + *out = *p +} + +// DeepCopyInto for the PodBounceDirective.Status +func (in *PodBounceDirectiveStatus) DeepCopyInto(out *PodBounceDirectiveStatus) { + var p *PodBounceDirectiveStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*PodBounceDirectiveStatus) + } else { + p = proto.Clone(in).(*PodBounceDirectiveStatus) + } + *out = *p +} + +// DeepCopyInto for the XdsConfig.Spec +func (in *XdsConfigSpec) DeepCopyInto(out *XdsConfigSpec) { + var p *XdsConfigSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*XdsConfigSpec) + } else { + p = proto.Clone(in).(*XdsConfigSpec) + } + *out = *p +} + +// DeepCopyInto for the XdsConfig.Status +func (in *XdsConfigStatus) DeepCopyInto(out *XdsConfigStatus) { + var p *XdsConfigStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*XdsConfigStatus) + } else { + p = proto.Clone(in).(*XdsConfigStatus) + } + *out = *p +} + +// DeepCopyInto for the DiscoveredGateway.Spec +func (in *DiscoveredGatewaySpec) DeepCopyInto(out *DiscoveredGatewaySpec) { + var p *DiscoveredGatewaySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*DiscoveredGatewaySpec) + } else { + p = proto.Clone(in).(*DiscoveredGatewaySpec) + } + *out = *p +} + +// DeepCopyInto for the DiscoveredGateway.Status +func (in *DiscoveredGatewayStatus) DeepCopyInto(out *DiscoveredGatewayStatus) { + var p *DiscoveredGatewayStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*DiscoveredGatewayStatus) + } else { + p = proto.Clone(in).(*DiscoveredGatewayStatus) + } + *out = *p +} + +// DeepCopyInto for the Mesh.Spec +func (in *MeshSpec) DeepCopyInto(out *MeshSpec) { + var p *MeshSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*MeshSpec) + } else { + p = proto.Clone(in).(*MeshSpec) + } + *out = *p +} + +// DeepCopyInto for the Mesh.Status +func (in *MeshStatus) DeepCopyInto(out *MeshStatus) { + var p *MeshStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*MeshStatus) + } else { + p = proto.Clone(in).(*MeshStatus) + } + *out = *p +} + +// DeepCopyInto for the DiscoveredCNI.Spec +func (in *DiscoveredCNISpec) DeepCopyInto(out *DiscoveredCNISpec) { + var p *DiscoveredCNISpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*DiscoveredCNISpec) + } else { + p = proto.Clone(in).(*DiscoveredCNISpec) + } + *out = *p +} + +// DeepCopyInto for the DiscoveredCNI.Status +func (in *DiscoveredCNIStatus) DeepCopyInto(out *DiscoveredCNIStatus) { + var p *DiscoveredCNIStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*DiscoveredCNIStatus) + } else { + p = proto.Clone(in).(*DiscoveredCNIStatus) + } + *out = *p +} + +// DeepCopyInto for the PortalConfig.Spec +func (in *PortalConfigSpec) DeepCopyInto(out *PortalConfigSpec) { + var p *PortalConfigSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*PortalConfigSpec) + } else { + p = proto.Clone(in).(*PortalConfigSpec) + } + *out = *p +} + +// DeepCopyInto for the PortalConfig.Status +func (in *PortalConfigStatus) DeepCopyInto(out *PortalConfigStatus) { + var p *PortalConfigStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*PortalConfigStatus) + } else { + p = proto.Clone(in).(*PortalConfigStatus) + } + *out = *p +} diff --git a/client-go/internal.gloo.solo.io/v2/providers/client_providers.go b/client-go/internal.gloo.solo.io/v2/providers/client_providers.go new file mode 100644 index 000000000..4e1a4c105 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/providers/client_providers.go @@ -0,0 +1,242 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2 + +import ( + internal_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for IssuedCertificateClient from Clientset +func IssuedCertificateClientFromClientsetProvider(clients internal_gloo_solo_io_v2.Clientset) internal_gloo_solo_io_v2.IssuedCertificateClient { + return clients.IssuedCertificates() +} + +// Provider for IssuedCertificate Client from Client +func IssuedCertificateClientProvider(client client.Client) internal_gloo_solo_io_v2.IssuedCertificateClient { + return internal_gloo_solo_io_v2.NewIssuedCertificateClient(client) +} + +type IssuedCertificateClientFactory func(client client.Client) internal_gloo_solo_io_v2.IssuedCertificateClient + +func IssuedCertificateClientFactoryProvider() IssuedCertificateClientFactory { + return IssuedCertificateClientProvider +} + +type IssuedCertificateClientFromConfigFactory func(cfg *rest.Config) (internal_gloo_solo_io_v2.IssuedCertificateClient, error) + +func IssuedCertificateClientFromConfigFactoryProvider() IssuedCertificateClientFromConfigFactory { + return func(cfg *rest.Config) (internal_gloo_solo_io_v2.IssuedCertificateClient, error) { + clients, err := internal_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.IssuedCertificates(), nil + } +} + +// Provider for CertificateRequestClient from Clientset +func CertificateRequestClientFromClientsetProvider(clients internal_gloo_solo_io_v2.Clientset) internal_gloo_solo_io_v2.CertificateRequestClient { + return clients.CertificateRequests() +} + +// Provider for CertificateRequest Client from Client +func CertificateRequestClientProvider(client client.Client) internal_gloo_solo_io_v2.CertificateRequestClient { + return internal_gloo_solo_io_v2.NewCertificateRequestClient(client) +} + +type CertificateRequestClientFactory func(client client.Client) internal_gloo_solo_io_v2.CertificateRequestClient + +func CertificateRequestClientFactoryProvider() CertificateRequestClientFactory { + return CertificateRequestClientProvider +} + +type CertificateRequestClientFromConfigFactory func(cfg *rest.Config) (internal_gloo_solo_io_v2.CertificateRequestClient, error) + +func CertificateRequestClientFromConfigFactoryProvider() CertificateRequestClientFromConfigFactory { + return func(cfg *rest.Config) (internal_gloo_solo_io_v2.CertificateRequestClient, error) { + clients, err := internal_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.CertificateRequests(), nil + } +} + +// Provider for PodBounceDirectiveClient from Clientset +func PodBounceDirectiveClientFromClientsetProvider(clients internal_gloo_solo_io_v2.Clientset) internal_gloo_solo_io_v2.PodBounceDirectiveClient { + return clients.PodBounceDirectives() +} + +// Provider for PodBounceDirective Client from Client +func PodBounceDirectiveClientProvider(client client.Client) internal_gloo_solo_io_v2.PodBounceDirectiveClient { + return internal_gloo_solo_io_v2.NewPodBounceDirectiveClient(client) +} + +type PodBounceDirectiveClientFactory func(client client.Client) internal_gloo_solo_io_v2.PodBounceDirectiveClient + +func PodBounceDirectiveClientFactoryProvider() PodBounceDirectiveClientFactory { + return PodBounceDirectiveClientProvider +} + +type PodBounceDirectiveClientFromConfigFactory func(cfg *rest.Config) (internal_gloo_solo_io_v2.PodBounceDirectiveClient, error) + +func PodBounceDirectiveClientFromConfigFactoryProvider() PodBounceDirectiveClientFromConfigFactory { + return func(cfg *rest.Config) (internal_gloo_solo_io_v2.PodBounceDirectiveClient, error) { + clients, err := internal_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.PodBounceDirectives(), nil + } +} + +// Provider for XdsConfigClient from Clientset +func XdsConfigClientFromClientsetProvider(clients internal_gloo_solo_io_v2.Clientset) internal_gloo_solo_io_v2.XdsConfigClient { + return clients.XdsConfigs() +} + +// Provider for XdsConfig Client from Client +func XdsConfigClientProvider(client client.Client) internal_gloo_solo_io_v2.XdsConfigClient { + return internal_gloo_solo_io_v2.NewXdsConfigClient(client) +} + +type XdsConfigClientFactory func(client client.Client) internal_gloo_solo_io_v2.XdsConfigClient + +func XdsConfigClientFactoryProvider() XdsConfigClientFactory { + return XdsConfigClientProvider +} + +type XdsConfigClientFromConfigFactory func(cfg *rest.Config) (internal_gloo_solo_io_v2.XdsConfigClient, error) + +func XdsConfigClientFromConfigFactoryProvider() XdsConfigClientFromConfigFactory { + return func(cfg *rest.Config) (internal_gloo_solo_io_v2.XdsConfigClient, error) { + clients, err := internal_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.XdsConfigs(), nil + } +} + +// Provider for DiscoveredGatewayClient from Clientset +func DiscoveredGatewayClientFromClientsetProvider(clients internal_gloo_solo_io_v2.Clientset) internal_gloo_solo_io_v2.DiscoveredGatewayClient { + return clients.DiscoveredGateways() +} + +// Provider for DiscoveredGateway Client from Client +func DiscoveredGatewayClientProvider(client client.Client) internal_gloo_solo_io_v2.DiscoveredGatewayClient { + return internal_gloo_solo_io_v2.NewDiscoveredGatewayClient(client) +} + +type DiscoveredGatewayClientFactory func(client client.Client) internal_gloo_solo_io_v2.DiscoveredGatewayClient + +func DiscoveredGatewayClientFactoryProvider() DiscoveredGatewayClientFactory { + return DiscoveredGatewayClientProvider +} + +type DiscoveredGatewayClientFromConfigFactory func(cfg *rest.Config) (internal_gloo_solo_io_v2.DiscoveredGatewayClient, error) + +func DiscoveredGatewayClientFromConfigFactoryProvider() DiscoveredGatewayClientFromConfigFactory { + return func(cfg *rest.Config) (internal_gloo_solo_io_v2.DiscoveredGatewayClient, error) { + clients, err := internal_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.DiscoveredGateways(), nil + } +} + +// Provider for MeshClient from Clientset +func MeshClientFromClientsetProvider(clients internal_gloo_solo_io_v2.Clientset) internal_gloo_solo_io_v2.MeshClient { + return clients.Meshes() +} + +// Provider for Mesh Client from Client +func MeshClientProvider(client client.Client) internal_gloo_solo_io_v2.MeshClient { + return internal_gloo_solo_io_v2.NewMeshClient(client) +} + +type MeshClientFactory func(client client.Client) internal_gloo_solo_io_v2.MeshClient + +func MeshClientFactoryProvider() MeshClientFactory { + return MeshClientProvider +} + +type MeshClientFromConfigFactory func(cfg *rest.Config) (internal_gloo_solo_io_v2.MeshClient, error) + +func MeshClientFromConfigFactoryProvider() MeshClientFromConfigFactory { + return func(cfg *rest.Config) (internal_gloo_solo_io_v2.MeshClient, error) { + clients, err := internal_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.Meshes(), nil + } +} + +// Provider for DiscoveredCNIClient from Clientset +func DiscoveredCNIClientFromClientsetProvider(clients internal_gloo_solo_io_v2.Clientset) internal_gloo_solo_io_v2.DiscoveredCNIClient { + return clients.DiscoveredCNIS() +} + +// Provider for DiscoveredCNI Client from Client +func DiscoveredCNIClientProvider(client client.Client) internal_gloo_solo_io_v2.DiscoveredCNIClient { + return internal_gloo_solo_io_v2.NewDiscoveredCNIClient(client) +} + +type DiscoveredCNIClientFactory func(client client.Client) internal_gloo_solo_io_v2.DiscoveredCNIClient + +func DiscoveredCNIClientFactoryProvider() DiscoveredCNIClientFactory { + return DiscoveredCNIClientProvider +} + +type DiscoveredCNIClientFromConfigFactory func(cfg *rest.Config) (internal_gloo_solo_io_v2.DiscoveredCNIClient, error) + +func DiscoveredCNIClientFromConfigFactoryProvider() DiscoveredCNIClientFromConfigFactory { + return func(cfg *rest.Config) (internal_gloo_solo_io_v2.DiscoveredCNIClient, error) { + clients, err := internal_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.DiscoveredCNIS(), nil + } +} + +// Provider for PortalConfigClient from Clientset +func PortalConfigClientFromClientsetProvider(clients internal_gloo_solo_io_v2.Clientset) internal_gloo_solo_io_v2.PortalConfigClient { + return clients.PortalConfigs() +} + +// Provider for PortalConfig Client from Client +func PortalConfigClientProvider(client client.Client) internal_gloo_solo_io_v2.PortalConfigClient { + return internal_gloo_solo_io_v2.NewPortalConfigClient(client) +} + +type PortalConfigClientFactory func(client client.Client) internal_gloo_solo_io_v2.PortalConfigClient + +func PortalConfigClientFactoryProvider() PortalConfigClientFactory { + return PortalConfigClientProvider +} + +type PortalConfigClientFromConfigFactory func(cfg *rest.Config) (internal_gloo_solo_io_v2.PortalConfigClient, error) + +func PortalConfigClientFromConfigFactoryProvider() PortalConfigClientFromConfigFactory { + return func(cfg *rest.Config) (internal_gloo_solo_io_v2.PortalConfigClient, error) { + clients, err := internal_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.PortalConfigs(), nil + } +} diff --git a/client-go/internal.gloo.solo.io/v2/register.go b/client-go/internal.gloo.solo.io/v2/register.go new file mode 100644 index 000000000..860568084 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "internal.gloo.solo.io", Version: "v2"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/internal.gloo.solo.io/v2/report.pb.clone.go b/client-go/internal.gloo.solo.io/v2/report.pb.clone.go new file mode 100644 index 000000000..97e0ce2bc --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/report.pb.clone.go @@ -0,0 +1,52 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/report.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_any "github.com/golang/protobuf/ptypes/any" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *Reports) Clone() proto.Message { + var target *Reports + if m == nil { + return target + } + target = &Reports{} + + if m.GetReports() != nil { + target.Reports = make([]*github_com_golang_protobuf_ptypes_any.Any, len(m.GetReports())) + for idx, v := range m.GetReports() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Reports[idx] = h.Clone().(*github_com_golang_protobuf_ptypes_any.Any) + } else { + target.Reports[idx] = proto.Clone(v).(*github_com_golang_protobuf_ptypes_any.Any) + } + + } + } + + return target +} diff --git a/client-go/internal.gloo.solo.io/v2/report.pb.equal.go b/client-go/internal.gloo.solo.io/v2/report.pb.equal.go new file mode 100644 index 000000000..fa391a81f --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/report.pb.equal.go @@ -0,0 +1,67 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/report.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *Reports) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Reports) + if !ok { + that2, ok := that.(Reports) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetReports()) != len(target.GetReports()) { + return false + } + for idx, v := range m.GetReports() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetReports()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetReports()[idx]) { + return false + } + } + + } + + return true +} diff --git a/client-go/internal.gloo.solo.io/v2/report.pb.go b/client-go/internal.gloo.solo.io/v2/report.pb.go new file mode 100644 index 000000000..98b6a72d4 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/report.pb.go @@ -0,0 +1,166 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/report.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + any1 "github.com/golang/protobuf/ptypes/any" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// $hide_from_docs +// This message is used to assembled a list of report shards into one object +// to be persisted in redis. +type Reports struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reports []*any1.Any `protobuf:"bytes,1,rep,name=reports,proto3" json:"reports,omitempty"` +} + +func (x *Reports) Reset() { + *x = Reports{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Reports) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Reports) ProtoMessage() {} + +func (x *Reports) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Reports.ProtoReflect.Descriptor instead. +func (*Reports) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_rawDescGZIP(), []int{0} +} + +func (x *Reports) GetReports() []*any1.Any { + if x != nil { + return x.Reports + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_rawDesc = []byte{ + 0x0a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x07, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x42, 0x56, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, + 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_goTypes = []interface{}{ + (*Reports)(nil), // 0: internal.gloo.solo.io.Reports + (*any1.Any)(nil), // 1: google.protobuf.Any +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_depIdxs = []int32{ + 1, // 0: internal.gloo.solo.io.Reports.reports:type_name -> google.protobuf.Any + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Reports); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_report_proto_depIdxs = nil +} diff --git a/client-go/internal.gloo.solo.io/v2/report.pb.hash.go b/client-go/internal.gloo.solo.io/v2/report.pb.hash.go new file mode 100644 index 000000000..e2c9479df --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/report.pb.hash.go @@ -0,0 +1,66 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/report.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *Reports) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.Reports")); err != nil { + return 0, err + } + + for _, v := range m.GetReports() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/internal.gloo.solo.io/v2/report_types.go b/client-go/internal.gloo.solo.io/v2/report_types.go new file mode 100644 index 000000000..5a4549a16 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/report_types.go @@ -0,0 +1,10 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2 + +// IsReport implements Reportable interface for DiscoveredGatewayReport +func (o *DiscoveredGatewayReport) IsReport() {} + +// IsReport implements Reportable interface for PortalConfigReport +func (o *PortalConfigReport) IsReport() {} diff --git a/client-go/internal.gloo.solo.io/v2/sets/mocks/sets.go b/client-go/internal.gloo.solo.io/v2/sets/mocks/sets.go new file mode 100644 index 000000000..9ecdc263c --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/sets/mocks/sets.go @@ -0,0 +1,2065 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2sets is a generated GoMock package. +package mock_v2sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2" + v2sets "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2/sets" +) + +// MockIssuedCertificateSet is a mock of IssuedCertificateSet interface. +type MockIssuedCertificateSet struct { + ctrl *gomock.Controller + recorder *MockIssuedCertificateSetMockRecorder +} + +// MockIssuedCertificateSetMockRecorder is the mock recorder for MockIssuedCertificateSet. +type MockIssuedCertificateSetMockRecorder struct { + mock *MockIssuedCertificateSet +} + +// NewMockIssuedCertificateSet creates a new mock instance. +func NewMockIssuedCertificateSet(ctrl *gomock.Controller) *MockIssuedCertificateSet { + mock := &MockIssuedCertificateSet{ctrl: ctrl} + mock.recorder = &MockIssuedCertificateSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIssuedCertificateSet) EXPECT() *MockIssuedCertificateSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockIssuedCertificateSet) Clone() v2sets.IssuedCertificateSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.IssuedCertificateSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockIssuedCertificateSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockIssuedCertificateSet) Delete(issuedCertificate ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", issuedCertificate) +} + +// Delete indicates an expected call of Delete. +func (mr *MockIssuedCertificateSetMockRecorder) Delete(issuedCertificate interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Delete), issuedCertificate) +} + +// Delta mocks base method. +func (m *MockIssuedCertificateSet) Delta(newSet v2sets.IssuedCertificateSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockIssuedCertificateSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockIssuedCertificateSet) Difference(set v2sets.IssuedCertificateSet) v2sets.IssuedCertificateSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.IssuedCertificateSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockIssuedCertificateSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockIssuedCertificateSet) Equal(issuedCertificateSet v2sets.IssuedCertificateSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", issuedCertificateSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockIssuedCertificateSetMockRecorder) Equal(issuedCertificateSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Equal), issuedCertificateSet) +} + +// Find mocks base method. +func (m *MockIssuedCertificateSet) Find(id ezkube.ResourceId) (*v2.IssuedCertificate, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.IssuedCertificate) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockIssuedCertificateSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockIssuedCertificateSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockIssuedCertificateSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockIssuedCertificateSet) Has(issuedCertificate ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", issuedCertificate) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockIssuedCertificateSetMockRecorder) Has(issuedCertificate interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Has), issuedCertificate) +} + +// Insert mocks base method. +func (m *MockIssuedCertificateSet) Insert(issuedCertificate ...*v2.IssuedCertificate) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range issuedCertificate { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockIssuedCertificateSetMockRecorder) Insert(issuedCertificate ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Insert), issuedCertificate...) +} + +// Intersection mocks base method. +func (m *MockIssuedCertificateSet) Intersection(set v2sets.IssuedCertificateSet) v2sets.IssuedCertificateSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.IssuedCertificateSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockIssuedCertificateSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockIssuedCertificateSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockIssuedCertificateSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockIssuedCertificateSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockIssuedCertificateSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockIssuedCertificateSet) List(filterResource ...func(*v2.IssuedCertificate) bool) []*v2.IssuedCertificate { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.IssuedCertificate) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockIssuedCertificateSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockIssuedCertificateSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockIssuedCertificateSet) Map() map[string]*v2.IssuedCertificate { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.IssuedCertificate) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockIssuedCertificateSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockIssuedCertificateSet) Union(set v2sets.IssuedCertificateSet) v2sets.IssuedCertificateSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.IssuedCertificateSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockIssuedCertificateSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockIssuedCertificateSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockIssuedCertificateSet) UnsortedList(filterResource ...func(*v2.IssuedCertificate) bool) []*v2.IssuedCertificate { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.IssuedCertificate) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockIssuedCertificateSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockIssuedCertificateSet)(nil).UnsortedList), filterResource...) +} + +// MockCertificateRequestSet is a mock of CertificateRequestSet interface. +type MockCertificateRequestSet struct { + ctrl *gomock.Controller + recorder *MockCertificateRequestSetMockRecorder +} + +// MockCertificateRequestSetMockRecorder is the mock recorder for MockCertificateRequestSet. +type MockCertificateRequestSetMockRecorder struct { + mock *MockCertificateRequestSet +} + +// NewMockCertificateRequestSet creates a new mock instance. +func NewMockCertificateRequestSet(ctrl *gomock.Controller) *MockCertificateRequestSet { + mock := &MockCertificateRequestSet{ctrl: ctrl} + mock.recorder = &MockCertificateRequestSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCertificateRequestSet) EXPECT() *MockCertificateRequestSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockCertificateRequestSet) Clone() v2sets.CertificateRequestSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.CertificateRequestSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockCertificateRequestSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockCertificateRequestSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockCertificateRequestSet) Delete(certificateRequest ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", certificateRequest) +} + +// Delete indicates an expected call of Delete. +func (mr *MockCertificateRequestSetMockRecorder) Delete(certificateRequest interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockCertificateRequestSet)(nil).Delete), certificateRequest) +} + +// Delta mocks base method. +func (m *MockCertificateRequestSet) Delta(newSet v2sets.CertificateRequestSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockCertificateRequestSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockCertificateRequestSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockCertificateRequestSet) Difference(set v2sets.CertificateRequestSet) v2sets.CertificateRequestSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.CertificateRequestSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockCertificateRequestSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockCertificateRequestSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockCertificateRequestSet) Equal(certificateRequestSet v2sets.CertificateRequestSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", certificateRequestSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockCertificateRequestSetMockRecorder) Equal(certificateRequestSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockCertificateRequestSet)(nil).Equal), certificateRequestSet) +} + +// Find mocks base method. +func (m *MockCertificateRequestSet) Find(id ezkube.ResourceId) (*v2.CertificateRequest, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.CertificateRequest) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockCertificateRequestSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockCertificateRequestSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockCertificateRequestSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockCertificateRequestSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockCertificateRequestSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockCertificateRequestSet) Has(certificateRequest ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", certificateRequest) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockCertificateRequestSetMockRecorder) Has(certificateRequest interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockCertificateRequestSet)(nil).Has), certificateRequest) +} + +// Insert mocks base method. +func (m *MockCertificateRequestSet) Insert(certificateRequest ...*v2.CertificateRequest) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range certificateRequest { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockCertificateRequestSetMockRecorder) Insert(certificateRequest ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockCertificateRequestSet)(nil).Insert), certificateRequest...) +} + +// Intersection mocks base method. +func (m *MockCertificateRequestSet) Intersection(set v2sets.CertificateRequestSet) v2sets.CertificateRequestSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.CertificateRequestSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockCertificateRequestSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockCertificateRequestSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockCertificateRequestSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockCertificateRequestSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockCertificateRequestSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockCertificateRequestSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockCertificateRequestSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockCertificateRequestSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockCertificateRequestSet) List(filterResource ...func(*v2.CertificateRequest) bool) []*v2.CertificateRequest { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.CertificateRequest) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockCertificateRequestSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockCertificateRequestSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockCertificateRequestSet) Map() map[string]*v2.CertificateRequest { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.CertificateRequest) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockCertificateRequestSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockCertificateRequestSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockCertificateRequestSet) Union(set v2sets.CertificateRequestSet) v2sets.CertificateRequestSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.CertificateRequestSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockCertificateRequestSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockCertificateRequestSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockCertificateRequestSet) UnsortedList(filterResource ...func(*v2.CertificateRequest) bool) []*v2.CertificateRequest { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.CertificateRequest) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockCertificateRequestSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockCertificateRequestSet)(nil).UnsortedList), filterResource...) +} + +// MockPodBounceDirectiveSet is a mock of PodBounceDirectiveSet interface. +type MockPodBounceDirectiveSet struct { + ctrl *gomock.Controller + recorder *MockPodBounceDirectiveSetMockRecorder +} + +// MockPodBounceDirectiveSetMockRecorder is the mock recorder for MockPodBounceDirectiveSet. +type MockPodBounceDirectiveSetMockRecorder struct { + mock *MockPodBounceDirectiveSet +} + +// NewMockPodBounceDirectiveSet creates a new mock instance. +func NewMockPodBounceDirectiveSet(ctrl *gomock.Controller) *MockPodBounceDirectiveSet { + mock := &MockPodBounceDirectiveSet{ctrl: ctrl} + mock.recorder = &MockPodBounceDirectiveSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPodBounceDirectiveSet) EXPECT() *MockPodBounceDirectiveSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockPodBounceDirectiveSet) Clone() v2sets.PodBounceDirectiveSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.PodBounceDirectiveSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockPodBounceDirectiveSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockPodBounceDirectiveSet) Delete(podBounceDirective ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", podBounceDirective) +} + +// Delete indicates an expected call of Delete. +func (mr *MockPodBounceDirectiveSetMockRecorder) Delete(podBounceDirective interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Delete), podBounceDirective) +} + +// Delta mocks base method. +func (m *MockPodBounceDirectiveSet) Delta(newSet v2sets.PodBounceDirectiveSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockPodBounceDirectiveSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockPodBounceDirectiveSet) Difference(set v2sets.PodBounceDirectiveSet) v2sets.PodBounceDirectiveSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.PodBounceDirectiveSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockPodBounceDirectiveSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockPodBounceDirectiveSet) Equal(podBounceDirectiveSet v2sets.PodBounceDirectiveSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", podBounceDirectiveSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockPodBounceDirectiveSetMockRecorder) Equal(podBounceDirectiveSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Equal), podBounceDirectiveSet) +} + +// Find mocks base method. +func (m *MockPodBounceDirectiveSet) Find(id ezkube.ResourceId) (*v2.PodBounceDirective, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.PodBounceDirective) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockPodBounceDirectiveSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockPodBounceDirectiveSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockPodBounceDirectiveSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockPodBounceDirectiveSet) Has(podBounceDirective ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", podBounceDirective) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockPodBounceDirectiveSetMockRecorder) Has(podBounceDirective interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Has), podBounceDirective) +} + +// Insert mocks base method. +func (m *MockPodBounceDirectiveSet) Insert(podBounceDirective ...*v2.PodBounceDirective) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range podBounceDirective { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockPodBounceDirectiveSetMockRecorder) Insert(podBounceDirective ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Insert), podBounceDirective...) +} + +// Intersection mocks base method. +func (m *MockPodBounceDirectiveSet) Intersection(set v2sets.PodBounceDirectiveSet) v2sets.PodBounceDirectiveSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.PodBounceDirectiveSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockPodBounceDirectiveSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockPodBounceDirectiveSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockPodBounceDirectiveSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockPodBounceDirectiveSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockPodBounceDirectiveSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockPodBounceDirectiveSet) List(filterResource ...func(*v2.PodBounceDirective) bool) []*v2.PodBounceDirective { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.PodBounceDirective) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockPodBounceDirectiveSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockPodBounceDirectiveSet) Map() map[string]*v2.PodBounceDirective { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.PodBounceDirective) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockPodBounceDirectiveSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockPodBounceDirectiveSet) Union(set v2sets.PodBounceDirectiveSet) v2sets.PodBounceDirectiveSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.PodBounceDirectiveSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockPodBounceDirectiveSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockPodBounceDirectiveSet) UnsortedList(filterResource ...func(*v2.PodBounceDirective) bool) []*v2.PodBounceDirective { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.PodBounceDirective) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockPodBounceDirectiveSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockPodBounceDirectiveSet)(nil).UnsortedList), filterResource...) +} + +// MockXdsConfigSet is a mock of XdsConfigSet interface. +type MockXdsConfigSet struct { + ctrl *gomock.Controller + recorder *MockXdsConfigSetMockRecorder +} + +// MockXdsConfigSetMockRecorder is the mock recorder for MockXdsConfigSet. +type MockXdsConfigSetMockRecorder struct { + mock *MockXdsConfigSet +} + +// NewMockXdsConfigSet creates a new mock instance. +func NewMockXdsConfigSet(ctrl *gomock.Controller) *MockXdsConfigSet { + mock := &MockXdsConfigSet{ctrl: ctrl} + mock.recorder = &MockXdsConfigSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockXdsConfigSet) EXPECT() *MockXdsConfigSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockXdsConfigSet) Clone() v2sets.XdsConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.XdsConfigSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockXdsConfigSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockXdsConfigSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockXdsConfigSet) Delete(xdsConfig ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", xdsConfig) +} + +// Delete indicates an expected call of Delete. +func (mr *MockXdsConfigSetMockRecorder) Delete(xdsConfig interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockXdsConfigSet)(nil).Delete), xdsConfig) +} + +// Delta mocks base method. +func (m *MockXdsConfigSet) Delta(newSet v2sets.XdsConfigSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockXdsConfigSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockXdsConfigSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockXdsConfigSet) Difference(set v2sets.XdsConfigSet) v2sets.XdsConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.XdsConfigSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockXdsConfigSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockXdsConfigSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockXdsConfigSet) Equal(xdsConfigSet v2sets.XdsConfigSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", xdsConfigSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockXdsConfigSetMockRecorder) Equal(xdsConfigSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockXdsConfigSet)(nil).Equal), xdsConfigSet) +} + +// Find mocks base method. +func (m *MockXdsConfigSet) Find(id ezkube.ResourceId) (*v2.XdsConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.XdsConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockXdsConfigSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockXdsConfigSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockXdsConfigSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockXdsConfigSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockXdsConfigSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockXdsConfigSet) Has(xdsConfig ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", xdsConfig) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockXdsConfigSetMockRecorder) Has(xdsConfig interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockXdsConfigSet)(nil).Has), xdsConfig) +} + +// Insert mocks base method. +func (m *MockXdsConfigSet) Insert(xdsConfig ...*v2.XdsConfig) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range xdsConfig { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockXdsConfigSetMockRecorder) Insert(xdsConfig ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockXdsConfigSet)(nil).Insert), xdsConfig...) +} + +// Intersection mocks base method. +func (m *MockXdsConfigSet) Intersection(set v2sets.XdsConfigSet) v2sets.XdsConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.XdsConfigSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockXdsConfigSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockXdsConfigSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockXdsConfigSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockXdsConfigSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockXdsConfigSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockXdsConfigSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockXdsConfigSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockXdsConfigSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockXdsConfigSet) List(filterResource ...func(*v2.XdsConfig) bool) []*v2.XdsConfig { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.XdsConfig) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockXdsConfigSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockXdsConfigSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockXdsConfigSet) Map() map[string]*v2.XdsConfig { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.XdsConfig) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockXdsConfigSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockXdsConfigSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockXdsConfigSet) Union(set v2sets.XdsConfigSet) v2sets.XdsConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.XdsConfigSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockXdsConfigSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockXdsConfigSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockXdsConfigSet) UnsortedList(filterResource ...func(*v2.XdsConfig) bool) []*v2.XdsConfig { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.XdsConfig) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockXdsConfigSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockXdsConfigSet)(nil).UnsortedList), filterResource...) +} + +// MockDiscoveredGatewaySet is a mock of DiscoveredGatewaySet interface. +type MockDiscoveredGatewaySet struct { + ctrl *gomock.Controller + recorder *MockDiscoveredGatewaySetMockRecorder +} + +// MockDiscoveredGatewaySetMockRecorder is the mock recorder for MockDiscoveredGatewaySet. +type MockDiscoveredGatewaySetMockRecorder struct { + mock *MockDiscoveredGatewaySet +} + +// NewMockDiscoveredGatewaySet creates a new mock instance. +func NewMockDiscoveredGatewaySet(ctrl *gomock.Controller) *MockDiscoveredGatewaySet { + mock := &MockDiscoveredGatewaySet{ctrl: ctrl} + mock.recorder = &MockDiscoveredGatewaySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredGatewaySet) EXPECT() *MockDiscoveredGatewaySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockDiscoveredGatewaySet) Clone() v2sets.DiscoveredGatewaySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.DiscoveredGatewaySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockDiscoveredGatewaySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockDiscoveredGatewaySet) Delete(discoveredGateway ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", discoveredGateway) +} + +// Delete indicates an expected call of Delete. +func (mr *MockDiscoveredGatewaySetMockRecorder) Delete(discoveredGateway interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Delete), discoveredGateway) +} + +// Delta mocks base method. +func (m *MockDiscoveredGatewaySet) Delta(newSet v2sets.DiscoveredGatewaySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockDiscoveredGatewaySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockDiscoveredGatewaySet) Difference(set v2sets.DiscoveredGatewaySet) v2sets.DiscoveredGatewaySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.DiscoveredGatewaySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockDiscoveredGatewaySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockDiscoveredGatewaySet) Equal(discoveredGatewaySet v2sets.DiscoveredGatewaySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", discoveredGatewaySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockDiscoveredGatewaySetMockRecorder) Equal(discoveredGatewaySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Equal), discoveredGatewaySet) +} + +// Find mocks base method. +func (m *MockDiscoveredGatewaySet) Find(id ezkube.ResourceId) (*v2.DiscoveredGateway, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.DiscoveredGateway) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockDiscoveredGatewaySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockDiscoveredGatewaySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockDiscoveredGatewaySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockDiscoveredGatewaySet) Has(discoveredGateway ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", discoveredGateway) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockDiscoveredGatewaySetMockRecorder) Has(discoveredGateway interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Has), discoveredGateway) +} + +// Insert mocks base method. +func (m *MockDiscoveredGatewaySet) Insert(discoveredGateway ...*v2.DiscoveredGateway) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range discoveredGateway { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockDiscoveredGatewaySetMockRecorder) Insert(discoveredGateway ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Insert), discoveredGateway...) +} + +// Intersection mocks base method. +func (m *MockDiscoveredGatewaySet) Intersection(set v2sets.DiscoveredGatewaySet) v2sets.DiscoveredGatewaySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.DiscoveredGatewaySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockDiscoveredGatewaySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockDiscoveredGatewaySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockDiscoveredGatewaySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockDiscoveredGatewaySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockDiscoveredGatewaySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockDiscoveredGatewaySet) List(filterResource ...func(*v2.DiscoveredGateway) bool) []*v2.DiscoveredGateway { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.DiscoveredGateway) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockDiscoveredGatewaySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockDiscoveredGatewaySet) Map() map[string]*v2.DiscoveredGateway { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.DiscoveredGateway) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockDiscoveredGatewaySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockDiscoveredGatewaySet) Union(set v2sets.DiscoveredGatewaySet) v2sets.DiscoveredGatewaySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.DiscoveredGatewaySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockDiscoveredGatewaySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockDiscoveredGatewaySet) UnsortedList(filterResource ...func(*v2.DiscoveredGateway) bool) []*v2.DiscoveredGateway { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.DiscoveredGateway) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockDiscoveredGatewaySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockDiscoveredGatewaySet)(nil).UnsortedList), filterResource...) +} + +// MockMeshSet is a mock of MeshSet interface. +type MockMeshSet struct { + ctrl *gomock.Controller + recorder *MockMeshSetMockRecorder +} + +// MockMeshSetMockRecorder is the mock recorder for MockMeshSet. +type MockMeshSetMockRecorder struct { + mock *MockMeshSet +} + +// NewMockMeshSet creates a new mock instance. +func NewMockMeshSet(ctrl *gomock.Controller) *MockMeshSet { + mock := &MockMeshSet{ctrl: ctrl} + mock.recorder = &MockMeshSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMeshSet) EXPECT() *MockMeshSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockMeshSet) Clone() v2sets.MeshSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.MeshSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockMeshSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockMeshSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockMeshSet) Delete(mesh ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", mesh) +} + +// Delete indicates an expected call of Delete. +func (mr *MockMeshSetMockRecorder) Delete(mesh interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockMeshSet)(nil).Delete), mesh) +} + +// Delta mocks base method. +func (m *MockMeshSet) Delta(newSet v2sets.MeshSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockMeshSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockMeshSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockMeshSet) Difference(set v2sets.MeshSet) v2sets.MeshSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.MeshSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockMeshSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockMeshSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockMeshSet) Equal(meshSet v2sets.MeshSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", meshSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockMeshSetMockRecorder) Equal(meshSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockMeshSet)(nil).Equal), meshSet) +} + +// Find mocks base method. +func (m *MockMeshSet) Find(id ezkube.ResourceId) (*v2.Mesh, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.Mesh) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockMeshSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockMeshSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockMeshSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockMeshSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockMeshSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockMeshSet) Has(mesh ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", mesh) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockMeshSetMockRecorder) Has(mesh interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockMeshSet)(nil).Has), mesh) +} + +// Insert mocks base method. +func (m *MockMeshSet) Insert(mesh ...*v2.Mesh) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range mesh { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockMeshSetMockRecorder) Insert(mesh ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockMeshSet)(nil).Insert), mesh...) +} + +// Intersection mocks base method. +func (m *MockMeshSet) Intersection(set v2sets.MeshSet) v2sets.MeshSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.MeshSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockMeshSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockMeshSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockMeshSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockMeshSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockMeshSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockMeshSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockMeshSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockMeshSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockMeshSet) List(filterResource ...func(*v2.Mesh) bool) []*v2.Mesh { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.Mesh) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockMeshSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockMeshSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockMeshSet) Map() map[string]*v2.Mesh { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.Mesh) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockMeshSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockMeshSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockMeshSet) Union(set v2sets.MeshSet) v2sets.MeshSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.MeshSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockMeshSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockMeshSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockMeshSet) UnsortedList(filterResource ...func(*v2.Mesh) bool) []*v2.Mesh { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.Mesh) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockMeshSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockMeshSet)(nil).UnsortedList), filterResource...) +} + +// MockDiscoveredCNISet is a mock of DiscoveredCNISet interface. +type MockDiscoveredCNISet struct { + ctrl *gomock.Controller + recorder *MockDiscoveredCNISetMockRecorder +} + +// MockDiscoveredCNISetMockRecorder is the mock recorder for MockDiscoveredCNISet. +type MockDiscoveredCNISetMockRecorder struct { + mock *MockDiscoveredCNISet +} + +// NewMockDiscoveredCNISet creates a new mock instance. +func NewMockDiscoveredCNISet(ctrl *gomock.Controller) *MockDiscoveredCNISet { + mock := &MockDiscoveredCNISet{ctrl: ctrl} + mock.recorder = &MockDiscoveredCNISetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDiscoveredCNISet) EXPECT() *MockDiscoveredCNISetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockDiscoveredCNISet) Clone() v2sets.DiscoveredCNISet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.DiscoveredCNISet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockDiscoveredCNISetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockDiscoveredCNISet) Delete(discoveredCNI ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", discoveredCNI) +} + +// Delete indicates an expected call of Delete. +func (mr *MockDiscoveredCNISetMockRecorder) Delete(discoveredCNI interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Delete), discoveredCNI) +} + +// Delta mocks base method. +func (m *MockDiscoveredCNISet) Delta(newSet v2sets.DiscoveredCNISet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockDiscoveredCNISetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockDiscoveredCNISet) Difference(set v2sets.DiscoveredCNISet) v2sets.DiscoveredCNISet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.DiscoveredCNISet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockDiscoveredCNISetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockDiscoveredCNISet) Equal(discoveredCNISet v2sets.DiscoveredCNISet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", discoveredCNISet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockDiscoveredCNISetMockRecorder) Equal(discoveredCNISet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Equal), discoveredCNISet) +} + +// Find mocks base method. +func (m *MockDiscoveredCNISet) Find(id ezkube.ResourceId) (*v2.DiscoveredCNI, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.DiscoveredCNI) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockDiscoveredCNISetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockDiscoveredCNISet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockDiscoveredCNISetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockDiscoveredCNISet) Has(discoveredCNI ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", discoveredCNI) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockDiscoveredCNISetMockRecorder) Has(discoveredCNI interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Has), discoveredCNI) +} + +// Insert mocks base method. +func (m *MockDiscoveredCNISet) Insert(discoveredCNI ...*v2.DiscoveredCNI) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range discoveredCNI { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockDiscoveredCNISetMockRecorder) Insert(discoveredCNI ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Insert), discoveredCNI...) +} + +// Intersection mocks base method. +func (m *MockDiscoveredCNISet) Intersection(set v2sets.DiscoveredCNISet) v2sets.DiscoveredCNISet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.DiscoveredCNISet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockDiscoveredCNISetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockDiscoveredCNISet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockDiscoveredCNISetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockDiscoveredCNISet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockDiscoveredCNISetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Length)) +} + +// List mocks base method. +func (m *MockDiscoveredCNISet) List(filterResource ...func(*v2.DiscoveredCNI) bool) []*v2.DiscoveredCNI { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.DiscoveredCNI) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockDiscoveredCNISetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockDiscoveredCNISet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockDiscoveredCNISet) Map() map[string]*v2.DiscoveredCNI { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.DiscoveredCNI) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockDiscoveredCNISetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockDiscoveredCNISet) Union(set v2sets.DiscoveredCNISet) v2sets.DiscoveredCNISet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.DiscoveredCNISet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockDiscoveredCNISetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockDiscoveredCNISet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockDiscoveredCNISet) UnsortedList(filterResource ...func(*v2.DiscoveredCNI) bool) []*v2.DiscoveredCNI { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.DiscoveredCNI) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockDiscoveredCNISetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockDiscoveredCNISet)(nil).UnsortedList), filterResource...) +} + +// MockPortalConfigSet is a mock of PortalConfigSet interface. +type MockPortalConfigSet struct { + ctrl *gomock.Controller + recorder *MockPortalConfigSetMockRecorder +} + +// MockPortalConfigSetMockRecorder is the mock recorder for MockPortalConfigSet. +type MockPortalConfigSetMockRecorder struct { + mock *MockPortalConfigSet +} + +// NewMockPortalConfigSet creates a new mock instance. +func NewMockPortalConfigSet(ctrl *gomock.Controller) *MockPortalConfigSet { + mock := &MockPortalConfigSet{ctrl: ctrl} + mock.recorder = &MockPortalConfigSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPortalConfigSet) EXPECT() *MockPortalConfigSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockPortalConfigSet) Clone() v2sets.PortalConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.PortalConfigSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockPortalConfigSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockPortalConfigSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockPortalConfigSet) Delete(portalConfig ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", portalConfig) +} + +// Delete indicates an expected call of Delete. +func (mr *MockPortalConfigSetMockRecorder) Delete(portalConfig interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockPortalConfigSet)(nil).Delete), portalConfig) +} + +// Delta mocks base method. +func (m *MockPortalConfigSet) Delta(newSet v2sets.PortalConfigSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockPortalConfigSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockPortalConfigSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockPortalConfigSet) Difference(set v2sets.PortalConfigSet) v2sets.PortalConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.PortalConfigSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockPortalConfigSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockPortalConfigSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockPortalConfigSet) Equal(portalConfigSet v2sets.PortalConfigSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", portalConfigSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockPortalConfigSetMockRecorder) Equal(portalConfigSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockPortalConfigSet)(nil).Equal), portalConfigSet) +} + +// Find mocks base method. +func (m *MockPortalConfigSet) Find(id ezkube.ResourceId) (*v2.PortalConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.PortalConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockPortalConfigSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockPortalConfigSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockPortalConfigSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockPortalConfigSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockPortalConfigSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockPortalConfigSet) Has(portalConfig ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", portalConfig) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockPortalConfigSetMockRecorder) Has(portalConfig interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockPortalConfigSet)(nil).Has), portalConfig) +} + +// Insert mocks base method. +func (m *MockPortalConfigSet) Insert(portalConfig ...*v2.PortalConfig) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range portalConfig { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockPortalConfigSetMockRecorder) Insert(portalConfig ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockPortalConfigSet)(nil).Insert), portalConfig...) +} + +// Intersection mocks base method. +func (m *MockPortalConfigSet) Intersection(set v2sets.PortalConfigSet) v2sets.PortalConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.PortalConfigSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockPortalConfigSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockPortalConfigSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockPortalConfigSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockPortalConfigSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockPortalConfigSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockPortalConfigSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockPortalConfigSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockPortalConfigSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockPortalConfigSet) List(filterResource ...func(*v2.PortalConfig) bool) []*v2.PortalConfig { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.PortalConfig) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockPortalConfigSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockPortalConfigSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockPortalConfigSet) Map() map[string]*v2.PortalConfig { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.PortalConfig) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockPortalConfigSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockPortalConfigSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockPortalConfigSet) Union(set v2sets.PortalConfigSet) v2sets.PortalConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.PortalConfigSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockPortalConfigSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockPortalConfigSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockPortalConfigSet) UnsortedList(filterResource ...func(*v2.PortalConfig) bool) []*v2.PortalConfig { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.PortalConfig) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockPortalConfigSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockPortalConfigSet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/internal.gloo.solo.io/v2/sets/sets.go b/client-go/internal.gloo.solo.io/v2/sets/sets.go new file mode 100644 index 000000000..e4a9ec133 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/sets/sets.go @@ -0,0 +1,1798 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2sets + +import ( + internal_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type IssuedCertificateSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*internal_gloo_solo_io_v2.IssuedCertificate) bool) []*internal_gloo_solo_io_v2.IssuedCertificate + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.IssuedCertificate) bool) []*internal_gloo_solo_io_v2.IssuedCertificate + // Return the Set as a map of key to resource. + Map() map[string]*internal_gloo_solo_io_v2.IssuedCertificate + // Insert a resource into the set. + Insert(issuedCertificate ...*internal_gloo_solo_io_v2.IssuedCertificate) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(issuedCertificateSet IssuedCertificateSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(issuedCertificate ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(issuedCertificate ezkube.ResourceId) + // Return the union with the provided set + Union(set IssuedCertificateSet) IssuedCertificateSet + // Return the difference with the provided set + Difference(set IssuedCertificateSet) IssuedCertificateSet + // Return the intersection with the provided set + Intersection(set IssuedCertificateSet) IssuedCertificateSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.IssuedCertificate, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another IssuedCertificateSet + Delta(newSet IssuedCertificateSet) sksets.ResourceDelta + // Create a deep copy of the current IssuedCertificateSet + Clone() IssuedCertificateSet +} + +func makeGenericIssuedCertificateSet(issuedCertificateList []*internal_gloo_solo_io_v2.IssuedCertificate) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range issuedCertificateList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type issuedCertificateSet struct { + set sksets.ResourceSet +} + +func NewIssuedCertificateSet(issuedCertificateList ...*internal_gloo_solo_io_v2.IssuedCertificate) IssuedCertificateSet { + return &issuedCertificateSet{set: makeGenericIssuedCertificateSet(issuedCertificateList)} +} + +func NewIssuedCertificateSetFromList(issuedCertificateList *internal_gloo_solo_io_v2.IssuedCertificateList) IssuedCertificateSet { + list := make([]*internal_gloo_solo_io_v2.IssuedCertificate, 0, len(issuedCertificateList.Items)) + for idx := range issuedCertificateList.Items { + list = append(list, &issuedCertificateList.Items[idx]) + } + return &issuedCertificateSet{set: makeGenericIssuedCertificateSet(list)} +} + +func (s *issuedCertificateSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *issuedCertificateSet) List(filterResource ...func(*internal_gloo_solo_io_v2.IssuedCertificate) bool) []*internal_gloo_solo_io_v2.IssuedCertificate { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.IssuedCertificate)) + }) + } + + objs := s.Generic().List(genericFilters...) + issuedCertificateList := make([]*internal_gloo_solo_io_v2.IssuedCertificate, 0, len(objs)) + for _, obj := range objs { + issuedCertificateList = append(issuedCertificateList, obj.(*internal_gloo_solo_io_v2.IssuedCertificate)) + } + return issuedCertificateList +} + +func (s *issuedCertificateSet) UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.IssuedCertificate) bool) []*internal_gloo_solo_io_v2.IssuedCertificate { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.IssuedCertificate)) + }) + } + + var issuedCertificateList []*internal_gloo_solo_io_v2.IssuedCertificate + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + issuedCertificateList = append(issuedCertificateList, obj.(*internal_gloo_solo_io_v2.IssuedCertificate)) + } + return issuedCertificateList +} + +func (s *issuedCertificateSet) Map() map[string]*internal_gloo_solo_io_v2.IssuedCertificate { + if s == nil { + return nil + } + + newMap := map[string]*internal_gloo_solo_io_v2.IssuedCertificate{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*internal_gloo_solo_io_v2.IssuedCertificate) + } + return newMap +} + +func (s *issuedCertificateSet) Insert( + issuedCertificateList ...*internal_gloo_solo_io_v2.IssuedCertificate, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range issuedCertificateList { + s.Generic().Insert(obj) + } +} + +func (s *issuedCertificateSet) Has(issuedCertificate ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(issuedCertificate) +} + +func (s *issuedCertificateSet) Equal( + issuedCertificateSet IssuedCertificateSet, +) bool { + if s == nil { + return issuedCertificateSet == nil + } + return s.Generic().Equal(issuedCertificateSet.Generic()) +} + +func (s *issuedCertificateSet) Delete(IssuedCertificate ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(IssuedCertificate) +} + +func (s *issuedCertificateSet) Union(set IssuedCertificateSet) IssuedCertificateSet { + if s == nil { + return set + } + return NewIssuedCertificateSet(append(s.List(), set.List()...)...) +} + +func (s *issuedCertificateSet) Difference(set IssuedCertificateSet) IssuedCertificateSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &issuedCertificateSet{set: newSet} +} + +func (s *issuedCertificateSet) Intersection(set IssuedCertificateSet) IssuedCertificateSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var issuedCertificateList []*internal_gloo_solo_io_v2.IssuedCertificate + for _, obj := range newSet.List() { + issuedCertificateList = append(issuedCertificateList, obj.(*internal_gloo_solo_io_v2.IssuedCertificate)) + } + return NewIssuedCertificateSet(issuedCertificateList...) +} + +func (s *issuedCertificateSet) Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.IssuedCertificate, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find IssuedCertificate %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&internal_gloo_solo_io_v2.IssuedCertificate{}, id) + if err != nil { + return nil, err + } + + return obj.(*internal_gloo_solo_io_v2.IssuedCertificate), nil +} + +func (s *issuedCertificateSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *issuedCertificateSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *issuedCertificateSet) Delta(newSet IssuedCertificateSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *issuedCertificateSet) Clone() IssuedCertificateSet { + if s == nil { + return nil + } + return &issuedCertificateSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type CertificateRequestSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*internal_gloo_solo_io_v2.CertificateRequest) bool) []*internal_gloo_solo_io_v2.CertificateRequest + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.CertificateRequest) bool) []*internal_gloo_solo_io_v2.CertificateRequest + // Return the Set as a map of key to resource. + Map() map[string]*internal_gloo_solo_io_v2.CertificateRequest + // Insert a resource into the set. + Insert(certificateRequest ...*internal_gloo_solo_io_v2.CertificateRequest) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(certificateRequestSet CertificateRequestSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(certificateRequest ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(certificateRequest ezkube.ResourceId) + // Return the union with the provided set + Union(set CertificateRequestSet) CertificateRequestSet + // Return the difference with the provided set + Difference(set CertificateRequestSet) CertificateRequestSet + // Return the intersection with the provided set + Intersection(set CertificateRequestSet) CertificateRequestSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.CertificateRequest, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another CertificateRequestSet + Delta(newSet CertificateRequestSet) sksets.ResourceDelta + // Create a deep copy of the current CertificateRequestSet + Clone() CertificateRequestSet +} + +func makeGenericCertificateRequestSet(certificateRequestList []*internal_gloo_solo_io_v2.CertificateRequest) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range certificateRequestList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type certificateRequestSet struct { + set sksets.ResourceSet +} + +func NewCertificateRequestSet(certificateRequestList ...*internal_gloo_solo_io_v2.CertificateRequest) CertificateRequestSet { + return &certificateRequestSet{set: makeGenericCertificateRequestSet(certificateRequestList)} +} + +func NewCertificateRequestSetFromList(certificateRequestList *internal_gloo_solo_io_v2.CertificateRequestList) CertificateRequestSet { + list := make([]*internal_gloo_solo_io_v2.CertificateRequest, 0, len(certificateRequestList.Items)) + for idx := range certificateRequestList.Items { + list = append(list, &certificateRequestList.Items[idx]) + } + return &certificateRequestSet{set: makeGenericCertificateRequestSet(list)} +} + +func (s *certificateRequestSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *certificateRequestSet) List(filterResource ...func(*internal_gloo_solo_io_v2.CertificateRequest) bool) []*internal_gloo_solo_io_v2.CertificateRequest { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.CertificateRequest)) + }) + } + + objs := s.Generic().List(genericFilters...) + certificateRequestList := make([]*internal_gloo_solo_io_v2.CertificateRequest, 0, len(objs)) + for _, obj := range objs { + certificateRequestList = append(certificateRequestList, obj.(*internal_gloo_solo_io_v2.CertificateRequest)) + } + return certificateRequestList +} + +func (s *certificateRequestSet) UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.CertificateRequest) bool) []*internal_gloo_solo_io_v2.CertificateRequest { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.CertificateRequest)) + }) + } + + var certificateRequestList []*internal_gloo_solo_io_v2.CertificateRequest + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + certificateRequestList = append(certificateRequestList, obj.(*internal_gloo_solo_io_v2.CertificateRequest)) + } + return certificateRequestList +} + +func (s *certificateRequestSet) Map() map[string]*internal_gloo_solo_io_v2.CertificateRequest { + if s == nil { + return nil + } + + newMap := map[string]*internal_gloo_solo_io_v2.CertificateRequest{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*internal_gloo_solo_io_v2.CertificateRequest) + } + return newMap +} + +func (s *certificateRequestSet) Insert( + certificateRequestList ...*internal_gloo_solo_io_v2.CertificateRequest, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range certificateRequestList { + s.Generic().Insert(obj) + } +} + +func (s *certificateRequestSet) Has(certificateRequest ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(certificateRequest) +} + +func (s *certificateRequestSet) Equal( + certificateRequestSet CertificateRequestSet, +) bool { + if s == nil { + return certificateRequestSet == nil + } + return s.Generic().Equal(certificateRequestSet.Generic()) +} + +func (s *certificateRequestSet) Delete(CertificateRequest ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(CertificateRequest) +} + +func (s *certificateRequestSet) Union(set CertificateRequestSet) CertificateRequestSet { + if s == nil { + return set + } + return NewCertificateRequestSet(append(s.List(), set.List()...)...) +} + +func (s *certificateRequestSet) Difference(set CertificateRequestSet) CertificateRequestSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &certificateRequestSet{set: newSet} +} + +func (s *certificateRequestSet) Intersection(set CertificateRequestSet) CertificateRequestSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var certificateRequestList []*internal_gloo_solo_io_v2.CertificateRequest + for _, obj := range newSet.List() { + certificateRequestList = append(certificateRequestList, obj.(*internal_gloo_solo_io_v2.CertificateRequest)) + } + return NewCertificateRequestSet(certificateRequestList...) +} + +func (s *certificateRequestSet) Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.CertificateRequest, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find CertificateRequest %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&internal_gloo_solo_io_v2.CertificateRequest{}, id) + if err != nil { + return nil, err + } + + return obj.(*internal_gloo_solo_io_v2.CertificateRequest), nil +} + +func (s *certificateRequestSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *certificateRequestSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *certificateRequestSet) Delta(newSet CertificateRequestSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *certificateRequestSet) Clone() CertificateRequestSet { + if s == nil { + return nil + } + return &certificateRequestSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type PodBounceDirectiveSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*internal_gloo_solo_io_v2.PodBounceDirective) bool) []*internal_gloo_solo_io_v2.PodBounceDirective + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.PodBounceDirective) bool) []*internal_gloo_solo_io_v2.PodBounceDirective + // Return the Set as a map of key to resource. + Map() map[string]*internal_gloo_solo_io_v2.PodBounceDirective + // Insert a resource into the set. + Insert(podBounceDirective ...*internal_gloo_solo_io_v2.PodBounceDirective) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(podBounceDirectiveSet PodBounceDirectiveSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(podBounceDirective ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(podBounceDirective ezkube.ResourceId) + // Return the union with the provided set + Union(set PodBounceDirectiveSet) PodBounceDirectiveSet + // Return the difference with the provided set + Difference(set PodBounceDirectiveSet) PodBounceDirectiveSet + // Return the intersection with the provided set + Intersection(set PodBounceDirectiveSet) PodBounceDirectiveSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.PodBounceDirective, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another PodBounceDirectiveSet + Delta(newSet PodBounceDirectiveSet) sksets.ResourceDelta + // Create a deep copy of the current PodBounceDirectiveSet + Clone() PodBounceDirectiveSet +} + +func makeGenericPodBounceDirectiveSet(podBounceDirectiveList []*internal_gloo_solo_io_v2.PodBounceDirective) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range podBounceDirectiveList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type podBounceDirectiveSet struct { + set sksets.ResourceSet +} + +func NewPodBounceDirectiveSet(podBounceDirectiveList ...*internal_gloo_solo_io_v2.PodBounceDirective) PodBounceDirectiveSet { + return &podBounceDirectiveSet{set: makeGenericPodBounceDirectiveSet(podBounceDirectiveList)} +} + +func NewPodBounceDirectiveSetFromList(podBounceDirectiveList *internal_gloo_solo_io_v2.PodBounceDirectiveList) PodBounceDirectiveSet { + list := make([]*internal_gloo_solo_io_v2.PodBounceDirective, 0, len(podBounceDirectiveList.Items)) + for idx := range podBounceDirectiveList.Items { + list = append(list, &podBounceDirectiveList.Items[idx]) + } + return &podBounceDirectiveSet{set: makeGenericPodBounceDirectiveSet(list)} +} + +func (s *podBounceDirectiveSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *podBounceDirectiveSet) List(filterResource ...func(*internal_gloo_solo_io_v2.PodBounceDirective) bool) []*internal_gloo_solo_io_v2.PodBounceDirective { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.PodBounceDirective)) + }) + } + + objs := s.Generic().List(genericFilters...) + podBounceDirectiveList := make([]*internal_gloo_solo_io_v2.PodBounceDirective, 0, len(objs)) + for _, obj := range objs { + podBounceDirectiveList = append(podBounceDirectiveList, obj.(*internal_gloo_solo_io_v2.PodBounceDirective)) + } + return podBounceDirectiveList +} + +func (s *podBounceDirectiveSet) UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.PodBounceDirective) bool) []*internal_gloo_solo_io_v2.PodBounceDirective { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.PodBounceDirective)) + }) + } + + var podBounceDirectiveList []*internal_gloo_solo_io_v2.PodBounceDirective + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + podBounceDirectiveList = append(podBounceDirectiveList, obj.(*internal_gloo_solo_io_v2.PodBounceDirective)) + } + return podBounceDirectiveList +} + +func (s *podBounceDirectiveSet) Map() map[string]*internal_gloo_solo_io_v2.PodBounceDirective { + if s == nil { + return nil + } + + newMap := map[string]*internal_gloo_solo_io_v2.PodBounceDirective{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*internal_gloo_solo_io_v2.PodBounceDirective) + } + return newMap +} + +func (s *podBounceDirectiveSet) Insert( + podBounceDirectiveList ...*internal_gloo_solo_io_v2.PodBounceDirective, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range podBounceDirectiveList { + s.Generic().Insert(obj) + } +} + +func (s *podBounceDirectiveSet) Has(podBounceDirective ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(podBounceDirective) +} + +func (s *podBounceDirectiveSet) Equal( + podBounceDirectiveSet PodBounceDirectiveSet, +) bool { + if s == nil { + return podBounceDirectiveSet == nil + } + return s.Generic().Equal(podBounceDirectiveSet.Generic()) +} + +func (s *podBounceDirectiveSet) Delete(PodBounceDirective ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(PodBounceDirective) +} + +func (s *podBounceDirectiveSet) Union(set PodBounceDirectiveSet) PodBounceDirectiveSet { + if s == nil { + return set + } + return NewPodBounceDirectiveSet(append(s.List(), set.List()...)...) +} + +func (s *podBounceDirectiveSet) Difference(set PodBounceDirectiveSet) PodBounceDirectiveSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &podBounceDirectiveSet{set: newSet} +} + +func (s *podBounceDirectiveSet) Intersection(set PodBounceDirectiveSet) PodBounceDirectiveSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var podBounceDirectiveList []*internal_gloo_solo_io_v2.PodBounceDirective + for _, obj := range newSet.List() { + podBounceDirectiveList = append(podBounceDirectiveList, obj.(*internal_gloo_solo_io_v2.PodBounceDirective)) + } + return NewPodBounceDirectiveSet(podBounceDirectiveList...) +} + +func (s *podBounceDirectiveSet) Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.PodBounceDirective, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find PodBounceDirective %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&internal_gloo_solo_io_v2.PodBounceDirective{}, id) + if err != nil { + return nil, err + } + + return obj.(*internal_gloo_solo_io_v2.PodBounceDirective), nil +} + +func (s *podBounceDirectiveSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *podBounceDirectiveSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *podBounceDirectiveSet) Delta(newSet PodBounceDirectiveSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *podBounceDirectiveSet) Clone() PodBounceDirectiveSet { + if s == nil { + return nil + } + return &podBounceDirectiveSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type XdsConfigSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*internal_gloo_solo_io_v2.XdsConfig) bool) []*internal_gloo_solo_io_v2.XdsConfig + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.XdsConfig) bool) []*internal_gloo_solo_io_v2.XdsConfig + // Return the Set as a map of key to resource. + Map() map[string]*internal_gloo_solo_io_v2.XdsConfig + // Insert a resource into the set. + Insert(xdsConfig ...*internal_gloo_solo_io_v2.XdsConfig) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(xdsConfigSet XdsConfigSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(xdsConfig ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(xdsConfig ezkube.ResourceId) + // Return the union with the provided set + Union(set XdsConfigSet) XdsConfigSet + // Return the difference with the provided set + Difference(set XdsConfigSet) XdsConfigSet + // Return the intersection with the provided set + Intersection(set XdsConfigSet) XdsConfigSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.XdsConfig, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another XdsConfigSet + Delta(newSet XdsConfigSet) sksets.ResourceDelta + // Create a deep copy of the current XdsConfigSet + Clone() XdsConfigSet +} + +func makeGenericXdsConfigSet(xdsConfigList []*internal_gloo_solo_io_v2.XdsConfig) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range xdsConfigList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type xdsConfigSet struct { + set sksets.ResourceSet +} + +func NewXdsConfigSet(xdsConfigList ...*internal_gloo_solo_io_v2.XdsConfig) XdsConfigSet { + return &xdsConfigSet{set: makeGenericXdsConfigSet(xdsConfigList)} +} + +func NewXdsConfigSetFromList(xdsConfigList *internal_gloo_solo_io_v2.XdsConfigList) XdsConfigSet { + list := make([]*internal_gloo_solo_io_v2.XdsConfig, 0, len(xdsConfigList.Items)) + for idx := range xdsConfigList.Items { + list = append(list, &xdsConfigList.Items[idx]) + } + return &xdsConfigSet{set: makeGenericXdsConfigSet(list)} +} + +func (s *xdsConfigSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *xdsConfigSet) List(filterResource ...func(*internal_gloo_solo_io_v2.XdsConfig) bool) []*internal_gloo_solo_io_v2.XdsConfig { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.XdsConfig)) + }) + } + + objs := s.Generic().List(genericFilters...) + xdsConfigList := make([]*internal_gloo_solo_io_v2.XdsConfig, 0, len(objs)) + for _, obj := range objs { + xdsConfigList = append(xdsConfigList, obj.(*internal_gloo_solo_io_v2.XdsConfig)) + } + return xdsConfigList +} + +func (s *xdsConfigSet) UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.XdsConfig) bool) []*internal_gloo_solo_io_v2.XdsConfig { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.XdsConfig)) + }) + } + + var xdsConfigList []*internal_gloo_solo_io_v2.XdsConfig + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + xdsConfigList = append(xdsConfigList, obj.(*internal_gloo_solo_io_v2.XdsConfig)) + } + return xdsConfigList +} + +func (s *xdsConfigSet) Map() map[string]*internal_gloo_solo_io_v2.XdsConfig { + if s == nil { + return nil + } + + newMap := map[string]*internal_gloo_solo_io_v2.XdsConfig{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*internal_gloo_solo_io_v2.XdsConfig) + } + return newMap +} + +func (s *xdsConfigSet) Insert( + xdsConfigList ...*internal_gloo_solo_io_v2.XdsConfig, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range xdsConfigList { + s.Generic().Insert(obj) + } +} + +func (s *xdsConfigSet) Has(xdsConfig ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(xdsConfig) +} + +func (s *xdsConfigSet) Equal( + xdsConfigSet XdsConfigSet, +) bool { + if s == nil { + return xdsConfigSet == nil + } + return s.Generic().Equal(xdsConfigSet.Generic()) +} + +func (s *xdsConfigSet) Delete(XdsConfig ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(XdsConfig) +} + +func (s *xdsConfigSet) Union(set XdsConfigSet) XdsConfigSet { + if s == nil { + return set + } + return NewXdsConfigSet(append(s.List(), set.List()...)...) +} + +func (s *xdsConfigSet) Difference(set XdsConfigSet) XdsConfigSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &xdsConfigSet{set: newSet} +} + +func (s *xdsConfigSet) Intersection(set XdsConfigSet) XdsConfigSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var xdsConfigList []*internal_gloo_solo_io_v2.XdsConfig + for _, obj := range newSet.List() { + xdsConfigList = append(xdsConfigList, obj.(*internal_gloo_solo_io_v2.XdsConfig)) + } + return NewXdsConfigSet(xdsConfigList...) +} + +func (s *xdsConfigSet) Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.XdsConfig, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find XdsConfig %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&internal_gloo_solo_io_v2.XdsConfig{}, id) + if err != nil { + return nil, err + } + + return obj.(*internal_gloo_solo_io_v2.XdsConfig), nil +} + +func (s *xdsConfigSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *xdsConfigSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *xdsConfigSet) Delta(newSet XdsConfigSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *xdsConfigSet) Clone() XdsConfigSet { + if s == nil { + return nil + } + return &xdsConfigSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type DiscoveredGatewaySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*internal_gloo_solo_io_v2.DiscoveredGateway) bool) []*internal_gloo_solo_io_v2.DiscoveredGateway + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.DiscoveredGateway) bool) []*internal_gloo_solo_io_v2.DiscoveredGateway + // Return the Set as a map of key to resource. + Map() map[string]*internal_gloo_solo_io_v2.DiscoveredGateway + // Insert a resource into the set. + Insert(discoveredGateway ...*internal_gloo_solo_io_v2.DiscoveredGateway) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(discoveredGatewaySet DiscoveredGatewaySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(discoveredGateway ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(discoveredGateway ezkube.ResourceId) + // Return the union with the provided set + Union(set DiscoveredGatewaySet) DiscoveredGatewaySet + // Return the difference with the provided set + Difference(set DiscoveredGatewaySet) DiscoveredGatewaySet + // Return the intersection with the provided set + Intersection(set DiscoveredGatewaySet) DiscoveredGatewaySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.DiscoveredGateway, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another DiscoveredGatewaySet + Delta(newSet DiscoveredGatewaySet) sksets.ResourceDelta + // Create a deep copy of the current DiscoveredGatewaySet + Clone() DiscoveredGatewaySet +} + +func makeGenericDiscoveredGatewaySet(discoveredGatewayList []*internal_gloo_solo_io_v2.DiscoveredGateway) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range discoveredGatewayList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type discoveredGatewaySet struct { + set sksets.ResourceSet +} + +func NewDiscoveredGatewaySet(discoveredGatewayList ...*internal_gloo_solo_io_v2.DiscoveredGateway) DiscoveredGatewaySet { + return &discoveredGatewaySet{set: makeGenericDiscoveredGatewaySet(discoveredGatewayList)} +} + +func NewDiscoveredGatewaySetFromList(discoveredGatewayList *internal_gloo_solo_io_v2.DiscoveredGatewayList) DiscoveredGatewaySet { + list := make([]*internal_gloo_solo_io_v2.DiscoveredGateway, 0, len(discoveredGatewayList.Items)) + for idx := range discoveredGatewayList.Items { + list = append(list, &discoveredGatewayList.Items[idx]) + } + return &discoveredGatewaySet{set: makeGenericDiscoveredGatewaySet(list)} +} + +func (s *discoveredGatewaySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *discoveredGatewaySet) List(filterResource ...func(*internal_gloo_solo_io_v2.DiscoveredGateway) bool) []*internal_gloo_solo_io_v2.DiscoveredGateway { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.DiscoveredGateway)) + }) + } + + objs := s.Generic().List(genericFilters...) + discoveredGatewayList := make([]*internal_gloo_solo_io_v2.DiscoveredGateway, 0, len(objs)) + for _, obj := range objs { + discoveredGatewayList = append(discoveredGatewayList, obj.(*internal_gloo_solo_io_v2.DiscoveredGateway)) + } + return discoveredGatewayList +} + +func (s *discoveredGatewaySet) UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.DiscoveredGateway) bool) []*internal_gloo_solo_io_v2.DiscoveredGateway { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.DiscoveredGateway)) + }) + } + + var discoveredGatewayList []*internal_gloo_solo_io_v2.DiscoveredGateway + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + discoveredGatewayList = append(discoveredGatewayList, obj.(*internal_gloo_solo_io_v2.DiscoveredGateway)) + } + return discoveredGatewayList +} + +func (s *discoveredGatewaySet) Map() map[string]*internal_gloo_solo_io_v2.DiscoveredGateway { + if s == nil { + return nil + } + + newMap := map[string]*internal_gloo_solo_io_v2.DiscoveredGateway{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*internal_gloo_solo_io_v2.DiscoveredGateway) + } + return newMap +} + +func (s *discoveredGatewaySet) Insert( + discoveredGatewayList ...*internal_gloo_solo_io_v2.DiscoveredGateway, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range discoveredGatewayList { + s.Generic().Insert(obj) + } +} + +func (s *discoveredGatewaySet) Has(discoveredGateway ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(discoveredGateway) +} + +func (s *discoveredGatewaySet) Equal( + discoveredGatewaySet DiscoveredGatewaySet, +) bool { + if s == nil { + return discoveredGatewaySet == nil + } + return s.Generic().Equal(discoveredGatewaySet.Generic()) +} + +func (s *discoveredGatewaySet) Delete(DiscoveredGateway ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(DiscoveredGateway) +} + +func (s *discoveredGatewaySet) Union(set DiscoveredGatewaySet) DiscoveredGatewaySet { + if s == nil { + return set + } + return NewDiscoveredGatewaySet(append(s.List(), set.List()...)...) +} + +func (s *discoveredGatewaySet) Difference(set DiscoveredGatewaySet) DiscoveredGatewaySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &discoveredGatewaySet{set: newSet} +} + +func (s *discoveredGatewaySet) Intersection(set DiscoveredGatewaySet) DiscoveredGatewaySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var discoveredGatewayList []*internal_gloo_solo_io_v2.DiscoveredGateway + for _, obj := range newSet.List() { + discoveredGatewayList = append(discoveredGatewayList, obj.(*internal_gloo_solo_io_v2.DiscoveredGateway)) + } + return NewDiscoveredGatewaySet(discoveredGatewayList...) +} + +func (s *discoveredGatewaySet) Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.DiscoveredGateway, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find DiscoveredGateway %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&internal_gloo_solo_io_v2.DiscoveredGateway{}, id) + if err != nil { + return nil, err + } + + return obj.(*internal_gloo_solo_io_v2.DiscoveredGateway), nil +} + +func (s *discoveredGatewaySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *discoveredGatewaySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *discoveredGatewaySet) Delta(newSet DiscoveredGatewaySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *discoveredGatewaySet) Clone() DiscoveredGatewaySet { + if s == nil { + return nil + } + return &discoveredGatewaySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type MeshSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*internal_gloo_solo_io_v2.Mesh) bool) []*internal_gloo_solo_io_v2.Mesh + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.Mesh) bool) []*internal_gloo_solo_io_v2.Mesh + // Return the Set as a map of key to resource. + Map() map[string]*internal_gloo_solo_io_v2.Mesh + // Insert a resource into the set. + Insert(mesh ...*internal_gloo_solo_io_v2.Mesh) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(meshSet MeshSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(mesh ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(mesh ezkube.ResourceId) + // Return the union with the provided set + Union(set MeshSet) MeshSet + // Return the difference with the provided set + Difference(set MeshSet) MeshSet + // Return the intersection with the provided set + Intersection(set MeshSet) MeshSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.Mesh, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another MeshSet + Delta(newSet MeshSet) sksets.ResourceDelta + // Create a deep copy of the current MeshSet + Clone() MeshSet +} + +func makeGenericMeshSet(meshList []*internal_gloo_solo_io_v2.Mesh) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range meshList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type meshSet struct { + set sksets.ResourceSet +} + +func NewMeshSet(meshList ...*internal_gloo_solo_io_v2.Mesh) MeshSet { + return &meshSet{set: makeGenericMeshSet(meshList)} +} + +func NewMeshSetFromList(meshList *internal_gloo_solo_io_v2.MeshList) MeshSet { + list := make([]*internal_gloo_solo_io_v2.Mesh, 0, len(meshList.Items)) + for idx := range meshList.Items { + list = append(list, &meshList.Items[idx]) + } + return &meshSet{set: makeGenericMeshSet(list)} +} + +func (s *meshSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *meshSet) List(filterResource ...func(*internal_gloo_solo_io_v2.Mesh) bool) []*internal_gloo_solo_io_v2.Mesh { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.Mesh)) + }) + } + + objs := s.Generic().List(genericFilters...) + meshList := make([]*internal_gloo_solo_io_v2.Mesh, 0, len(objs)) + for _, obj := range objs { + meshList = append(meshList, obj.(*internal_gloo_solo_io_v2.Mesh)) + } + return meshList +} + +func (s *meshSet) UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.Mesh) bool) []*internal_gloo_solo_io_v2.Mesh { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.Mesh)) + }) + } + + var meshList []*internal_gloo_solo_io_v2.Mesh + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + meshList = append(meshList, obj.(*internal_gloo_solo_io_v2.Mesh)) + } + return meshList +} + +func (s *meshSet) Map() map[string]*internal_gloo_solo_io_v2.Mesh { + if s == nil { + return nil + } + + newMap := map[string]*internal_gloo_solo_io_v2.Mesh{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*internal_gloo_solo_io_v2.Mesh) + } + return newMap +} + +func (s *meshSet) Insert( + meshList ...*internal_gloo_solo_io_v2.Mesh, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range meshList { + s.Generic().Insert(obj) + } +} + +func (s *meshSet) Has(mesh ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(mesh) +} + +func (s *meshSet) Equal( + meshSet MeshSet, +) bool { + if s == nil { + return meshSet == nil + } + return s.Generic().Equal(meshSet.Generic()) +} + +func (s *meshSet) Delete(Mesh ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(Mesh) +} + +func (s *meshSet) Union(set MeshSet) MeshSet { + if s == nil { + return set + } + return NewMeshSet(append(s.List(), set.List()...)...) +} + +func (s *meshSet) Difference(set MeshSet) MeshSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &meshSet{set: newSet} +} + +func (s *meshSet) Intersection(set MeshSet) MeshSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var meshList []*internal_gloo_solo_io_v2.Mesh + for _, obj := range newSet.List() { + meshList = append(meshList, obj.(*internal_gloo_solo_io_v2.Mesh)) + } + return NewMeshSet(meshList...) +} + +func (s *meshSet) Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.Mesh, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find Mesh %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&internal_gloo_solo_io_v2.Mesh{}, id) + if err != nil { + return nil, err + } + + return obj.(*internal_gloo_solo_io_v2.Mesh), nil +} + +func (s *meshSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *meshSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *meshSet) Delta(newSet MeshSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *meshSet) Clone() MeshSet { + if s == nil { + return nil + } + return &meshSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type DiscoveredCNISet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*internal_gloo_solo_io_v2.DiscoveredCNI) bool) []*internal_gloo_solo_io_v2.DiscoveredCNI + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.DiscoveredCNI) bool) []*internal_gloo_solo_io_v2.DiscoveredCNI + // Return the Set as a map of key to resource. + Map() map[string]*internal_gloo_solo_io_v2.DiscoveredCNI + // Insert a resource into the set. + Insert(discoveredCNI ...*internal_gloo_solo_io_v2.DiscoveredCNI) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(discoveredCNISet DiscoveredCNISet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(discoveredCNI ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(discoveredCNI ezkube.ResourceId) + // Return the union with the provided set + Union(set DiscoveredCNISet) DiscoveredCNISet + // Return the difference with the provided set + Difference(set DiscoveredCNISet) DiscoveredCNISet + // Return the intersection with the provided set + Intersection(set DiscoveredCNISet) DiscoveredCNISet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.DiscoveredCNI, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another DiscoveredCNISet + Delta(newSet DiscoveredCNISet) sksets.ResourceDelta + // Create a deep copy of the current DiscoveredCNISet + Clone() DiscoveredCNISet +} + +func makeGenericDiscoveredCNISet(discoveredCNIList []*internal_gloo_solo_io_v2.DiscoveredCNI) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range discoveredCNIList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type discoveredCNISet struct { + set sksets.ResourceSet +} + +func NewDiscoveredCNISet(discoveredCNIList ...*internal_gloo_solo_io_v2.DiscoveredCNI) DiscoveredCNISet { + return &discoveredCNISet{set: makeGenericDiscoveredCNISet(discoveredCNIList)} +} + +func NewDiscoveredCNISetFromList(discoveredCNIList *internal_gloo_solo_io_v2.DiscoveredCNIList) DiscoveredCNISet { + list := make([]*internal_gloo_solo_io_v2.DiscoveredCNI, 0, len(discoveredCNIList.Items)) + for idx := range discoveredCNIList.Items { + list = append(list, &discoveredCNIList.Items[idx]) + } + return &discoveredCNISet{set: makeGenericDiscoveredCNISet(list)} +} + +func (s *discoveredCNISet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *discoveredCNISet) List(filterResource ...func(*internal_gloo_solo_io_v2.DiscoveredCNI) bool) []*internal_gloo_solo_io_v2.DiscoveredCNI { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.DiscoveredCNI)) + }) + } + + objs := s.Generic().List(genericFilters...) + discoveredCNIList := make([]*internal_gloo_solo_io_v2.DiscoveredCNI, 0, len(objs)) + for _, obj := range objs { + discoveredCNIList = append(discoveredCNIList, obj.(*internal_gloo_solo_io_v2.DiscoveredCNI)) + } + return discoveredCNIList +} + +func (s *discoveredCNISet) UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.DiscoveredCNI) bool) []*internal_gloo_solo_io_v2.DiscoveredCNI { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.DiscoveredCNI)) + }) + } + + var discoveredCNIList []*internal_gloo_solo_io_v2.DiscoveredCNI + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + discoveredCNIList = append(discoveredCNIList, obj.(*internal_gloo_solo_io_v2.DiscoveredCNI)) + } + return discoveredCNIList +} + +func (s *discoveredCNISet) Map() map[string]*internal_gloo_solo_io_v2.DiscoveredCNI { + if s == nil { + return nil + } + + newMap := map[string]*internal_gloo_solo_io_v2.DiscoveredCNI{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*internal_gloo_solo_io_v2.DiscoveredCNI) + } + return newMap +} + +func (s *discoveredCNISet) Insert( + discoveredCNIList ...*internal_gloo_solo_io_v2.DiscoveredCNI, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range discoveredCNIList { + s.Generic().Insert(obj) + } +} + +func (s *discoveredCNISet) Has(discoveredCNI ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(discoveredCNI) +} + +func (s *discoveredCNISet) Equal( + discoveredCNISet DiscoveredCNISet, +) bool { + if s == nil { + return discoveredCNISet == nil + } + return s.Generic().Equal(discoveredCNISet.Generic()) +} + +func (s *discoveredCNISet) Delete(DiscoveredCNI ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(DiscoveredCNI) +} + +func (s *discoveredCNISet) Union(set DiscoveredCNISet) DiscoveredCNISet { + if s == nil { + return set + } + return NewDiscoveredCNISet(append(s.List(), set.List()...)...) +} + +func (s *discoveredCNISet) Difference(set DiscoveredCNISet) DiscoveredCNISet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &discoveredCNISet{set: newSet} +} + +func (s *discoveredCNISet) Intersection(set DiscoveredCNISet) DiscoveredCNISet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var discoveredCNIList []*internal_gloo_solo_io_v2.DiscoveredCNI + for _, obj := range newSet.List() { + discoveredCNIList = append(discoveredCNIList, obj.(*internal_gloo_solo_io_v2.DiscoveredCNI)) + } + return NewDiscoveredCNISet(discoveredCNIList...) +} + +func (s *discoveredCNISet) Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.DiscoveredCNI, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find DiscoveredCNI %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&internal_gloo_solo_io_v2.DiscoveredCNI{}, id) + if err != nil { + return nil, err + } + + return obj.(*internal_gloo_solo_io_v2.DiscoveredCNI), nil +} + +func (s *discoveredCNISet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *discoveredCNISet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *discoveredCNISet) Delta(newSet DiscoveredCNISet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *discoveredCNISet) Clone() DiscoveredCNISet { + if s == nil { + return nil + } + return &discoveredCNISet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type PortalConfigSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*internal_gloo_solo_io_v2.PortalConfig) bool) []*internal_gloo_solo_io_v2.PortalConfig + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.PortalConfig) bool) []*internal_gloo_solo_io_v2.PortalConfig + // Return the Set as a map of key to resource. + Map() map[string]*internal_gloo_solo_io_v2.PortalConfig + // Insert a resource into the set. + Insert(portalConfig ...*internal_gloo_solo_io_v2.PortalConfig) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(portalConfigSet PortalConfigSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(portalConfig ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(portalConfig ezkube.ResourceId) + // Return the union with the provided set + Union(set PortalConfigSet) PortalConfigSet + // Return the difference with the provided set + Difference(set PortalConfigSet) PortalConfigSet + // Return the intersection with the provided set + Intersection(set PortalConfigSet) PortalConfigSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.PortalConfig, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another PortalConfigSet + Delta(newSet PortalConfigSet) sksets.ResourceDelta + // Create a deep copy of the current PortalConfigSet + Clone() PortalConfigSet +} + +func makeGenericPortalConfigSet(portalConfigList []*internal_gloo_solo_io_v2.PortalConfig) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range portalConfigList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type portalConfigSet struct { + set sksets.ResourceSet +} + +func NewPortalConfigSet(portalConfigList ...*internal_gloo_solo_io_v2.PortalConfig) PortalConfigSet { + return &portalConfigSet{set: makeGenericPortalConfigSet(portalConfigList)} +} + +func NewPortalConfigSetFromList(portalConfigList *internal_gloo_solo_io_v2.PortalConfigList) PortalConfigSet { + list := make([]*internal_gloo_solo_io_v2.PortalConfig, 0, len(portalConfigList.Items)) + for idx := range portalConfigList.Items { + list = append(list, &portalConfigList.Items[idx]) + } + return &portalConfigSet{set: makeGenericPortalConfigSet(list)} +} + +func (s *portalConfigSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *portalConfigSet) List(filterResource ...func(*internal_gloo_solo_io_v2.PortalConfig) bool) []*internal_gloo_solo_io_v2.PortalConfig { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.PortalConfig)) + }) + } + + objs := s.Generic().List(genericFilters...) + portalConfigList := make([]*internal_gloo_solo_io_v2.PortalConfig, 0, len(objs)) + for _, obj := range objs { + portalConfigList = append(portalConfigList, obj.(*internal_gloo_solo_io_v2.PortalConfig)) + } + return portalConfigList +} + +func (s *portalConfigSet) UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2.PortalConfig) bool) []*internal_gloo_solo_io_v2.PortalConfig { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2.PortalConfig)) + }) + } + + var portalConfigList []*internal_gloo_solo_io_v2.PortalConfig + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + portalConfigList = append(portalConfigList, obj.(*internal_gloo_solo_io_v2.PortalConfig)) + } + return portalConfigList +} + +func (s *portalConfigSet) Map() map[string]*internal_gloo_solo_io_v2.PortalConfig { + if s == nil { + return nil + } + + newMap := map[string]*internal_gloo_solo_io_v2.PortalConfig{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*internal_gloo_solo_io_v2.PortalConfig) + } + return newMap +} + +func (s *portalConfigSet) Insert( + portalConfigList ...*internal_gloo_solo_io_v2.PortalConfig, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range portalConfigList { + s.Generic().Insert(obj) + } +} + +func (s *portalConfigSet) Has(portalConfig ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(portalConfig) +} + +func (s *portalConfigSet) Equal( + portalConfigSet PortalConfigSet, +) bool { + if s == nil { + return portalConfigSet == nil + } + return s.Generic().Equal(portalConfigSet.Generic()) +} + +func (s *portalConfigSet) Delete(PortalConfig ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(PortalConfig) +} + +func (s *portalConfigSet) Union(set PortalConfigSet) PortalConfigSet { + if s == nil { + return set + } + return NewPortalConfigSet(append(s.List(), set.List()...)...) +} + +func (s *portalConfigSet) Difference(set PortalConfigSet) PortalConfigSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &portalConfigSet{set: newSet} +} + +func (s *portalConfigSet) Intersection(set PortalConfigSet) PortalConfigSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var portalConfigList []*internal_gloo_solo_io_v2.PortalConfig + for _, obj := range newSet.List() { + portalConfigList = append(portalConfigList, obj.(*internal_gloo_solo_io_v2.PortalConfig)) + } + return NewPortalConfigSet(portalConfigList...) +} + +func (s *portalConfigSet) Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2.PortalConfig, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find PortalConfig %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&internal_gloo_solo_io_v2.PortalConfig{}, id) + if err != nil { + return nil, err + } + + return obj.(*internal_gloo_solo_io_v2.PortalConfig), nil +} + +func (s *portalConfigSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *portalConfigSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *portalConfigSet) Delta(newSet PortalConfigSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *portalConfigSet) Clone() PortalConfigSet { + if s == nil { + return nil + } + return &portalConfigSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/internal.gloo.solo.io/v2/type_helpers.go b/client-go/internal.gloo.solo.io/v2/type_helpers.go new file mode 100644 index 000000000..4070ac6af --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/type_helpers.go @@ -0,0 +1,28 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +// IssuedCertificateSlice represents a slice of *IssuedCertificate +type IssuedCertificateSlice []*IssuedCertificate + +// CertificateRequestSlice represents a slice of *CertificateRequest +type CertificateRequestSlice []*CertificateRequest + +// PodBounceDirectiveSlice represents a slice of *PodBounceDirective +type PodBounceDirectiveSlice []*PodBounceDirective + +// XdsConfigSlice represents a slice of *XdsConfig +type XdsConfigSlice []*XdsConfig + +// DiscoveredGatewaySlice represents a slice of *DiscoveredGateway +type DiscoveredGatewaySlice []*DiscoveredGateway + +// MeshSlice represents a slice of *Mesh +type MeshSlice []*Mesh + +// DiscoveredCNISlice represents a slice of *DiscoveredCNI +type DiscoveredCNISlice []*DiscoveredCNI + +// PortalConfigSlice represents a slice of *PortalConfig +type PortalConfigSlice []*PortalConfig diff --git a/client-go/internal.gloo.solo.io/v2/types.go b/client-go/internal.gloo.solo.io/v2/types.go new file mode 100644 index 000000000..13f16ebd2 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/types.go @@ -0,0 +1,300 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for IssuedCertificate +var IssuedCertificateGVK = schema.GroupVersionKind{ + Group: "internal.gloo.solo.io", + Version: "v2", + Kind: "IssuedCertificate", +} + +// IssuedCertificate is the Schema for the issuedCertificate API +type IssuedCertificate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec IssuedCertificateSpec `json:"spec,omitempty"` + Status IssuedCertificateStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (IssuedCertificate) GVK() schema.GroupVersionKind { + return IssuedCertificateGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// IssuedCertificateList contains a list of IssuedCertificate +type IssuedCertificateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []IssuedCertificate `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for CertificateRequest +var CertificateRequestGVK = schema.GroupVersionKind{ + Group: "internal.gloo.solo.io", + Version: "v2", + Kind: "CertificateRequest", +} + +// CertificateRequest is the Schema for the certificateRequest API +type CertificateRequest struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec CertificateRequestSpec `json:"spec,omitempty"` + Status CertificateRequestStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (CertificateRequest) GVK() schema.GroupVersionKind { + return CertificateRequestGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// CertificateRequestList contains a list of CertificateRequest +type CertificateRequestList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CertificateRequest `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for PodBounceDirective +var PodBounceDirectiveGVK = schema.GroupVersionKind{ + Group: "internal.gloo.solo.io", + Version: "v2", + Kind: "PodBounceDirective", +} + +// PodBounceDirective is the Schema for the podBounceDirective API +type PodBounceDirective struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec PodBounceDirectiveSpec `json:"spec,omitempty"` + Status PodBounceDirectiveStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (PodBounceDirective) GVK() schema.GroupVersionKind { + return PodBounceDirectiveGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// PodBounceDirectiveList contains a list of PodBounceDirective +type PodBounceDirectiveList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []PodBounceDirective `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for XdsConfig +var XdsConfigGVK = schema.GroupVersionKind{ + Group: "internal.gloo.solo.io", + Version: "v2", + Kind: "XdsConfig", +} + +// XdsConfig is the Schema for the xdsConfig API +type XdsConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec XdsConfigSpec `json:"spec,omitempty"` + Status XdsConfigStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (XdsConfig) GVK() schema.GroupVersionKind { + return XdsConfigGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// XdsConfigList contains a list of XdsConfig +type XdsConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []XdsConfig `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for DiscoveredGateway +var DiscoveredGatewayGVK = schema.GroupVersionKind{ + Group: "internal.gloo.solo.io", + Version: "v2", + Kind: "DiscoveredGateway", +} + +// DiscoveredGateway is the Schema for the discoveredGateway API +type DiscoveredGateway struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec DiscoveredGatewaySpec `json:"spec,omitempty"` + Status DiscoveredGatewayStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (DiscoveredGateway) GVK() schema.GroupVersionKind { + return DiscoveredGatewayGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DiscoveredGatewayList contains a list of DiscoveredGateway +type DiscoveredGatewayList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DiscoveredGateway `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for Mesh +var MeshGVK = schema.GroupVersionKind{ + Group: "internal.gloo.solo.io", + Version: "v2", + Kind: "Mesh", +} + +// Mesh is the Schema for the mesh API +type Mesh struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec MeshSpec `json:"spec,omitempty"` + Status MeshStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (Mesh) GVK() schema.GroupVersionKind { + return MeshGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// MeshList contains a list of Mesh +type MeshList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Mesh `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for DiscoveredCNI +var DiscoveredCNIGVK = schema.GroupVersionKind{ + Group: "internal.gloo.solo.io", + Version: "v2", + Kind: "DiscoveredCNI", +} + +// DiscoveredCNI is the Schema for the discoveredCNI API +type DiscoveredCNI struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec DiscoveredCNISpec `json:"spec,omitempty"` + Status DiscoveredCNIStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (DiscoveredCNI) GVK() schema.GroupVersionKind { + return DiscoveredCNIGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DiscoveredCNIList contains a list of DiscoveredCNI +type DiscoveredCNIList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DiscoveredCNI `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for PortalConfig +var PortalConfigGVK = schema.GroupVersionKind{ + Group: "internal.gloo.solo.io", + Version: "v2", + Kind: "PortalConfig", +} + +// PortalConfig is the Schema for the portalConfig API +type PortalConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec PortalConfigSpec `json:"spec,omitempty"` + Status PortalConfigStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (PortalConfig) GVK() schema.GroupVersionKind { + return PortalConfigGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// PortalConfigList contains a list of PortalConfig +type PortalConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []PortalConfig `json:"items"` +} + +func init() { + SchemeBuilder.Register(&IssuedCertificate{}, &IssuedCertificateList{}) + SchemeBuilder.Register(&CertificateRequest{}, &CertificateRequestList{}) + SchemeBuilder.Register(&PodBounceDirective{}, &PodBounceDirectiveList{}) + SchemeBuilder.Register(&XdsConfig{}, &XdsConfigList{}) + SchemeBuilder.Register(&DiscoveredGateway{}, &DiscoveredGatewayList{}) + SchemeBuilder.Register(&Mesh{}, &MeshList{}) + SchemeBuilder.Register(&DiscoveredCNI{}, &DiscoveredCNIList{}) + SchemeBuilder.Register(&PortalConfig{}, &PortalConfigList{}) +} diff --git a/client-go/internal.gloo.solo.io/v2/xds_config.pb.clone.go b/client-go/internal.gloo.solo.io/v2/xds_config.pb.clone.go new file mode 100644 index 000000000..ad684d058 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/xds_config.pb.clone.go @@ -0,0 +1,124 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/xds_config.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *XdsConfigSpec) Clone() proto.Message { + var target *XdsConfigSpec + if m == nil { + return target + } + target = &XdsConfigSpec{} + + if m.GetWorkloads() != nil { + target.Workloads = make([]*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef, len(m.GetWorkloads())) + for idx, v := range m.GetWorkloads() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workloads[idx] = h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } else { + target.Workloads[idx] = proto.Clone(v).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef) + } + + } + } + + if m.GetTypes() != nil { + target.Types = make([]*XdsConfigSpec_TypedResources, len(m.GetTypes())) + for idx, v := range m.GetTypes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Types[idx] = h.Clone().(*XdsConfigSpec_TypedResources) + } else { + target.Types[idx] = proto.Clone(v).(*XdsConfigSpec_TypedResources) + } + + } + } + + return target +} + +// Clone function +func (m *XdsConfigStatus) Clone() proto.Message { + var target *XdsConfigStatus + if m == nil { + return target + } + target = &XdsConfigStatus{} + + target.ObservedGeneration = m.GetObservedGeneration() + + target.Error = m.GetError() + + return target +} + +// Clone function +func (m *XdsConfigSpec_TypedResources) Clone() proto.Message { + var target *XdsConfigSpec_TypedResources + if m == nil { + return target + } + target = &XdsConfigSpec_TypedResources{} + + target.TypeUrl = m.GetTypeUrl() + + if m.GetResources() != nil { + target.Resources = make([]*XdsConfigSpec_Resource, len(m.GetResources())) + for idx, v := range m.GetResources() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Resources[idx] = h.Clone().(*XdsConfigSpec_Resource) + } else { + target.Resources[idx] = proto.Clone(v).(*XdsConfigSpec_Resource) + } + + } + } + + return target +} + +// Clone function +func (m *XdsConfigSpec_Resource) Clone() proto.Message { + var target *XdsConfigSpec_Resource + if m == nil { + return target + } + target = &XdsConfigSpec_Resource{} + + target.Name = m.GetName() + + if m.GetCompressedData() != nil { + target.CompressedData = make([]byte, len(m.GetCompressedData())) + copy(target.CompressedData, m.GetCompressedData()) + } + + return target +} diff --git a/client-go/internal.gloo.solo.io/v2/xds_config.pb.equal.go b/client-go/internal.gloo.solo.io/v2/xds_config.pb.equal.go new file mode 100644 index 000000000..9d643633e --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/xds_config.pb.equal.go @@ -0,0 +1,193 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/xds_config.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *XdsConfigSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*XdsConfigSpec) + if !ok { + that2, ok := that.(XdsConfigSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkloads()) != len(target.GetWorkloads()) { + return false + } + for idx, v := range m.GetWorkloads() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkloads()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkloads()[idx]) { + return false + } + } + + } + + if len(m.GetTypes()) != len(target.GetTypes()) { + return false + } + for idx, v := range m.GetTypes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetTypes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetTypes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *XdsConfigStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*XdsConfigStatus) + if !ok { + that2, ok := that.(XdsConfigStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetObservedGeneration() != target.GetObservedGeneration() { + return false + } + + if strings.Compare(m.GetError(), target.GetError()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *XdsConfigSpec_TypedResources) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*XdsConfigSpec_TypedResources) + if !ok { + that2, ok := that.(XdsConfigSpec_TypedResources) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetTypeUrl(), target.GetTypeUrl()) != 0 { + return false + } + + if len(m.GetResources()) != len(target.GetResources()) { + return false + } + for idx, v := range m.GetResources() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetResources()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetResources()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *XdsConfigSpec_Resource) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*XdsConfigSpec_Resource) + if !ok { + that2, ok := that.(XdsConfigSpec_Resource) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if bytes.Compare(m.GetCompressedData(), target.GetCompressedData()) != 0 { + return false + } + + return true +} diff --git a/client-go/internal.gloo.solo.io/v2/xds_config.pb.go b/client-go/internal.gloo.solo.io/v2/xds_config.pb.go new file mode 100644 index 000000000..06c0069c3 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/xds_config.pb.go @@ -0,0 +1,424 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/xds_config.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// XdsConfigs are used to issue xDS Configuration Resources to running Envoy instances. +// They are created by Gloo Mesh for processing by an agent running on managed clusters. +// +// The agent will serve the specified xDS configuration resources on its grpc-xds port (default 9977) +// to the Envoy instances (nodes) defined in the XDSConfigSpec. +// +// This feature is currently only available in Gloo Mesh Enterprise. +type XdsConfigSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Workloads that will receive this xDS Configuration. + Workloads []*v1.ObjectRef `protobuf:"bytes,1,rep,name=workloads,proto3" json:"workloads,omitempty"` + // The xDS resources to serve to the nodes. + // Mapped by type URL. + Types []*XdsConfigSpec_TypedResources `protobuf:"bytes,2,rep,name=types,proto3" json:"types,omitempty"` +} + +func (x *XdsConfigSpec) Reset() { + *x = XdsConfigSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *XdsConfigSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*XdsConfigSpec) ProtoMessage() {} + +func (x *XdsConfigSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use XdsConfigSpec.ProtoReflect.Descriptor instead. +func (*XdsConfigSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDescGZIP(), []int{0} +} + +func (x *XdsConfigSpec) GetWorkloads() []*v1.ObjectRef { + if x != nil { + return x.Workloads + } + return nil +} + +func (x *XdsConfigSpec) GetTypes() []*XdsConfigSpec_TypedResources { + if x != nil { + return x.Types + } + return nil +} + +// The XdsConfig status is written by the CertificateRequesting agent. +type XdsConfigStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The most recent generation observed in the XdsConfig metadata. + // If the `observedGeneration` does not match `metadata.generation`, the Gloo Mesh agent has not processed the most + // recent version of this XdsConfig. + ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` + // Any error observed which prevented the XdsConfig from being processed. + // If the error is empty, the request has been processed successfully. + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *XdsConfigStatus) Reset() { + *x = XdsConfigStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *XdsConfigStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*XdsConfigStatus) ProtoMessage() {} + +func (x *XdsConfigStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use XdsConfigStatus.ProtoReflect.Descriptor instead. +func (*XdsConfigStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDescGZIP(), []int{1} +} + +func (x *XdsConfigStatus) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +func (x *XdsConfigStatus) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +// A set of resources of a single type (typeURL). +type XdsConfigSpec_TypedResources struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type URL of the resources in the given set. + TypeUrl string `protobuf:"bytes,1,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` + // Stored as compressed, base-64 encoded raw bytes. + Resources []*XdsConfigSpec_Resource `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"` +} + +func (x *XdsConfigSpec_TypedResources) Reset() { + *x = XdsConfigSpec_TypedResources{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *XdsConfigSpec_TypedResources) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*XdsConfigSpec_TypedResources) ProtoMessage() {} + +func (x *XdsConfigSpec_TypedResources) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use XdsConfigSpec_TypedResources.ProtoReflect.Descriptor instead. +func (*XdsConfigSpec_TypedResources) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *XdsConfigSpec_TypedResources) GetTypeUrl() string { + if x != nil { + return x.TypeUrl + } + return "" +} + +func (x *XdsConfigSpec_TypedResources) GetResources() []*XdsConfigSpec_Resource { + if x != nil { + return x.Resources + } + return nil +} + +// A single named resource. +type XdsConfigSpec_Resource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the resource as referenced by xDS. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Stored as compressed, base-64 encoded raw bytes. + CompressedData []byte `protobuf:"bytes,2,opt,name=compressed_data,json=compressedData,proto3" json:"compressed_data,omitempty"` +} + +func (x *XdsConfigSpec_Resource) Reset() { + *x = XdsConfigSpec_Resource{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *XdsConfigSpec_Resource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*XdsConfigSpec_Resource) ProtoMessage() {} + +func (x *XdsConfigSpec_Resource) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use XdsConfigSpec_Resource.ProtoReflect.Descriptor instead. +func (*XdsConfigSpec_Resource) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *XdsConfigSpec_Resource) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *XdsConfigSpec_Resource) GetCompressedData() []byte { + if x != nil { + return x.CompressedData + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDesc = []byte{ + 0x0a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x78, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, + 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xd9, 0x02, 0x0a, 0x0d, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x3a, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, + 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x66, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, + 0x12, 0x49, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x33, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x78, 0x0a, 0x0e, 0x54, + 0x79, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x4b, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x47, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, + 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x22, 0x58, + 0x0a, 0x0f, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, + 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x56, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_goTypes = []interface{}{ + (*XdsConfigSpec)(nil), // 0: internal.gloo.solo.io.XdsConfigSpec + (*XdsConfigStatus)(nil), // 1: internal.gloo.solo.io.XdsConfigStatus + (*XdsConfigSpec_TypedResources)(nil), // 2: internal.gloo.solo.io.XdsConfigSpec.TypedResources + (*XdsConfigSpec_Resource)(nil), // 3: internal.gloo.solo.io.XdsConfigSpec.Resource + (*v1.ObjectRef)(nil), // 4: core.skv2.solo.io.ObjectRef +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_depIdxs = []int32{ + 4, // 0: internal.gloo.solo.io.XdsConfigSpec.workloads:type_name -> core.skv2.solo.io.ObjectRef + 2, // 1: internal.gloo.solo.io.XdsConfigSpec.types:type_name -> internal.gloo.solo.io.XdsConfigSpec.TypedResources + 3, // 2: internal.gloo.solo.io.XdsConfigSpec.TypedResources.resources:type_name -> internal.gloo.solo.io.XdsConfigSpec.Resource + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*XdsConfigSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*XdsConfigStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*XdsConfigSpec_TypedResources); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*XdsConfigSpec_Resource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2_xds_config_proto_depIdxs = nil +} diff --git a/client-go/internal.gloo.solo.io/v2/xds_config.pb.hash.go b/client-go/internal.gloo.solo.io/v2/xds_config.pb.hash.go new file mode 100644 index 000000000..b15b236c3 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/xds_config.pb.hash.go @@ -0,0 +1,183 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2/xds_config.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *XdsConfigSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.XdsConfigSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetWorkloads() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetTypes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *XdsConfigStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.XdsConfigStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetObservedGeneration()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetError())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *XdsConfigSpec_TypedResources) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.XdsConfigSpec_TypedResources")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTypeUrl())); err != nil { + return 0, err + } + + for _, v := range m.GetResources() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *XdsConfigSpec_Resource) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2.XdsConfigSpec_Resource")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write(m.GetCompressedData()); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/internal.gloo.solo.io/v2/zz_generated.deepcopy.go b/client-go/internal.gloo.solo.io/v2/zz_generated.deepcopy.go new file mode 100644 index 000000000..51c259e1f --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2/zz_generated.deepcopy.go @@ -0,0 +1,489 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for internal.gloo.solo.io/v2 resources + +package v2 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for IssuedCertificate + +func (in *IssuedCertificate) DeepCopyInto(out *IssuedCertificate) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *IssuedCertificate) DeepCopy() *IssuedCertificate { + if in == nil { + return nil + } + out := new(IssuedCertificate) + in.DeepCopyInto(out) + return out +} + +func (in *IssuedCertificate) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *IssuedCertificateList) DeepCopyInto(out *IssuedCertificateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]IssuedCertificate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *IssuedCertificateList) DeepCopy() *IssuedCertificateList { + if in == nil { + return nil + } + out := new(IssuedCertificateList) + in.DeepCopyInto(out) + return out +} + +func (in *IssuedCertificateList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for CertificateRequest + +func (in *CertificateRequest) DeepCopyInto(out *CertificateRequest) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *CertificateRequest) DeepCopy() *CertificateRequest { + if in == nil { + return nil + } + out := new(CertificateRequest) + in.DeepCopyInto(out) + return out +} + +func (in *CertificateRequest) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *CertificateRequestList) DeepCopyInto(out *CertificateRequestList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CertificateRequest, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *CertificateRequestList) DeepCopy() *CertificateRequestList { + if in == nil { + return nil + } + out := new(CertificateRequestList) + in.DeepCopyInto(out) + return out +} + +func (in *CertificateRequestList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for PodBounceDirective + +func (in *PodBounceDirective) DeepCopyInto(out *PodBounceDirective) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *PodBounceDirective) DeepCopy() *PodBounceDirective { + if in == nil { + return nil + } + out := new(PodBounceDirective) + in.DeepCopyInto(out) + return out +} + +func (in *PodBounceDirective) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *PodBounceDirectiveList) DeepCopyInto(out *PodBounceDirectiveList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]PodBounceDirective, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *PodBounceDirectiveList) DeepCopy() *PodBounceDirectiveList { + if in == nil { + return nil + } + out := new(PodBounceDirectiveList) + in.DeepCopyInto(out) + return out +} + +func (in *PodBounceDirectiveList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for XdsConfig + +func (in *XdsConfig) DeepCopyInto(out *XdsConfig) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *XdsConfig) DeepCopy() *XdsConfig { + if in == nil { + return nil + } + out := new(XdsConfig) + in.DeepCopyInto(out) + return out +} + +func (in *XdsConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *XdsConfigList) DeepCopyInto(out *XdsConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]XdsConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *XdsConfigList) DeepCopy() *XdsConfigList { + if in == nil { + return nil + } + out := new(XdsConfigList) + in.DeepCopyInto(out) + return out +} + +func (in *XdsConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for DiscoveredGateway + +func (in *DiscoveredGateway) DeepCopyInto(out *DiscoveredGateway) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *DiscoveredGateway) DeepCopy() *DiscoveredGateway { + if in == nil { + return nil + } + out := new(DiscoveredGateway) + in.DeepCopyInto(out) + return out +} + +func (in *DiscoveredGateway) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *DiscoveredGatewayList) DeepCopyInto(out *DiscoveredGatewayList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DiscoveredGateway, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *DiscoveredGatewayList) DeepCopy() *DiscoveredGatewayList { + if in == nil { + return nil + } + out := new(DiscoveredGatewayList) + in.DeepCopyInto(out) + return out +} + +func (in *DiscoveredGatewayList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for Mesh + +func (in *Mesh) DeepCopyInto(out *Mesh) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *Mesh) DeepCopy() *Mesh { + if in == nil { + return nil + } + out := new(Mesh) + in.DeepCopyInto(out) + return out +} + +func (in *Mesh) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *MeshList) DeepCopyInto(out *MeshList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Mesh, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *MeshList) DeepCopy() *MeshList { + if in == nil { + return nil + } + out := new(MeshList) + in.DeepCopyInto(out) + return out +} + +func (in *MeshList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for DiscoveredCNI + +func (in *DiscoveredCNI) DeepCopyInto(out *DiscoveredCNI) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *DiscoveredCNI) DeepCopy() *DiscoveredCNI { + if in == nil { + return nil + } + out := new(DiscoveredCNI) + in.DeepCopyInto(out) + return out +} + +func (in *DiscoveredCNI) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *DiscoveredCNIList) DeepCopyInto(out *DiscoveredCNIList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DiscoveredCNI, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *DiscoveredCNIList) DeepCopy() *DiscoveredCNIList { + if in == nil { + return nil + } + out := new(DiscoveredCNIList) + in.DeepCopyInto(out) + return out +} + +func (in *DiscoveredCNIList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for PortalConfig + +func (in *PortalConfig) DeepCopyInto(out *PortalConfig) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *PortalConfig) DeepCopy() *PortalConfig { + if in == nil { + return nil + } + out := new(PortalConfig) + in.DeepCopyInto(out) + return out +} + +func (in *PortalConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *PortalConfigList) DeepCopyInto(out *PortalConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]PortalConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *PortalConfigList) DeepCopy() *PortalConfigList { + if in == nil { + return nil + } + out := new(PortalConfigList) + in.DeepCopyInto(out) + return out +} + +func (in *PortalConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/clients.go b/client-go/internal.gloo.solo.io/v2alpha1/clients.go new file mode 100644 index 000000000..d81e43a7c --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/clients.go @@ -0,0 +1,213 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2alpha1 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the internal.gloo.solo.io/v2alpha1 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the internal.gloo.solo.io/v2alpha1 APIs +type Clientset interface { + // clienset for the internal.gloo.solo.io/v2alpha1/v2alpha1 APIs + SpireRegistrationEntries() SpireRegistrationEntryClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the internal.gloo.solo.io/v2alpha1/v2alpha1 APIs +func (c *clientSet) SpireRegistrationEntries() SpireRegistrationEntryClient { + return NewSpireRegistrationEntryClient(c.client) +} + +// Reader knows how to read and list SpireRegistrationEntrys. +type SpireRegistrationEntryReader interface { + // Get retrieves a SpireRegistrationEntry for the given object key + GetSpireRegistrationEntry(ctx context.Context, key client.ObjectKey) (*SpireRegistrationEntry, error) + + // List retrieves list of SpireRegistrationEntrys for a given namespace and list options. + ListSpireRegistrationEntry(ctx context.Context, opts ...client.ListOption) (*SpireRegistrationEntryList, error) +} + +// SpireRegistrationEntryTransitionFunction instructs the SpireRegistrationEntryWriter how to transition between an existing +// SpireRegistrationEntry object and a desired on an Upsert +type SpireRegistrationEntryTransitionFunction func(existing, desired *SpireRegistrationEntry) error + +// Writer knows how to create, delete, and update SpireRegistrationEntrys. +type SpireRegistrationEntryWriter interface { + // Create saves the SpireRegistrationEntry object. + CreateSpireRegistrationEntry(ctx context.Context, obj *SpireRegistrationEntry, opts ...client.CreateOption) error + + // Delete deletes the SpireRegistrationEntry object. + DeleteSpireRegistrationEntry(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given SpireRegistrationEntry object. + UpdateSpireRegistrationEntry(ctx context.Context, obj *SpireRegistrationEntry, opts ...client.UpdateOption) error + + // Patch patches the given SpireRegistrationEntry object. + PatchSpireRegistrationEntry(ctx context.Context, obj *SpireRegistrationEntry, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all SpireRegistrationEntry objects matching the given options. + DeleteAllOfSpireRegistrationEntry(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the SpireRegistrationEntry object. + UpsertSpireRegistrationEntry(ctx context.Context, obj *SpireRegistrationEntry, transitionFuncs ...SpireRegistrationEntryTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a SpireRegistrationEntry object. +type SpireRegistrationEntryStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given SpireRegistrationEntry object. + UpdateSpireRegistrationEntryStatus(ctx context.Context, obj *SpireRegistrationEntry, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given SpireRegistrationEntry object's subresource. + PatchSpireRegistrationEntryStatus(ctx context.Context, obj *SpireRegistrationEntry, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on SpireRegistrationEntrys. +type SpireRegistrationEntryClient interface { + SpireRegistrationEntryReader + SpireRegistrationEntryWriter + SpireRegistrationEntryStatusWriter +} + +type spireRegistrationEntryClient struct { + client client.Client +} + +func NewSpireRegistrationEntryClient(client client.Client) *spireRegistrationEntryClient { + return &spireRegistrationEntryClient{client: client} +} + +func (c *spireRegistrationEntryClient) GetSpireRegistrationEntry(ctx context.Context, key client.ObjectKey) (*SpireRegistrationEntry, error) { + obj := &SpireRegistrationEntry{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *spireRegistrationEntryClient) ListSpireRegistrationEntry(ctx context.Context, opts ...client.ListOption) (*SpireRegistrationEntryList, error) { + list := &SpireRegistrationEntryList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *spireRegistrationEntryClient) CreateSpireRegistrationEntry(ctx context.Context, obj *SpireRegistrationEntry, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *spireRegistrationEntryClient) DeleteSpireRegistrationEntry(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &SpireRegistrationEntry{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *spireRegistrationEntryClient) UpdateSpireRegistrationEntry(ctx context.Context, obj *SpireRegistrationEntry, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *spireRegistrationEntryClient) PatchSpireRegistrationEntry(ctx context.Context, obj *SpireRegistrationEntry, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *spireRegistrationEntryClient) DeleteAllOfSpireRegistrationEntry(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &SpireRegistrationEntry{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *spireRegistrationEntryClient) UpsertSpireRegistrationEntry(ctx context.Context, obj *SpireRegistrationEntry, transitionFuncs ...SpireRegistrationEntryTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*SpireRegistrationEntry), desired.(*SpireRegistrationEntry)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *spireRegistrationEntryClient) UpdateSpireRegistrationEntryStatus(ctx context.Context, obj *SpireRegistrationEntry, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *spireRegistrationEntryClient) PatchSpireRegistrationEntryStatus(ctx context.Context, obj *SpireRegistrationEntry, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides SpireRegistrationEntryClients for multiple clusters. +type MulticlusterSpireRegistrationEntryClient interface { + // Cluster returns a SpireRegistrationEntryClient for the given cluster + Cluster(cluster string) (SpireRegistrationEntryClient, error) +} + +type multiclusterSpireRegistrationEntryClient struct { + client multicluster.Client +} + +func NewMulticlusterSpireRegistrationEntryClient(client multicluster.Client) MulticlusterSpireRegistrationEntryClient { + return &multiclusterSpireRegistrationEntryClient{client: client} +} + +func (m *multiclusterSpireRegistrationEntryClient) Cluster(cluster string) (SpireRegistrationEntryClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewSpireRegistrationEntryClient(client), nil +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/controller/event_handlers.go b/client-go/internal.gloo.solo.io/v2alpha1/controller/event_handlers.go new file mode 100644 index 000000000..33e77f39f --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/controller/event_handlers.go @@ -0,0 +1,125 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + internal_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the SpireRegistrationEntry Resource +// DEPRECATED: Prefer reconciler pattern. +type SpireRegistrationEntryEventHandler interface { + CreateSpireRegistrationEntry(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error + UpdateSpireRegistrationEntry(old, new *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error + DeleteSpireRegistrationEntry(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error + GenericSpireRegistrationEntry(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error +} + +type SpireRegistrationEntryEventHandlerFuncs struct { + OnCreate func(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error + OnUpdate func(old, new *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error + OnDelete func(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error + OnGeneric func(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error +} + +func (f *SpireRegistrationEntryEventHandlerFuncs) CreateSpireRegistrationEntry(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *SpireRegistrationEntryEventHandlerFuncs) DeleteSpireRegistrationEntry(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *SpireRegistrationEntryEventHandlerFuncs) UpdateSpireRegistrationEntry(objOld, objNew *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *SpireRegistrationEntryEventHandlerFuncs) GenericSpireRegistrationEntry(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type SpireRegistrationEntryEventWatcher interface { + AddEventHandler(ctx context.Context, h SpireRegistrationEntryEventHandler, predicates ...predicate.Predicate) error +} + +type spireRegistrationEntryEventWatcher struct { + watcher events.EventWatcher +} + +func NewSpireRegistrationEntryEventWatcher(name string, mgr manager.Manager) SpireRegistrationEntryEventWatcher { + return &spireRegistrationEntryEventWatcher{ + watcher: events.NewWatcher(name, mgr, &internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry{}), + } +} + +func (c *spireRegistrationEntryEventWatcher) AddEventHandler(ctx context.Context, h SpireRegistrationEntryEventHandler, predicates ...predicate.Predicate) error { + handler := genericSpireRegistrationEntryHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericSpireRegistrationEntryHandler implements a generic events.EventHandler +type genericSpireRegistrationEntryHandler struct { + handler SpireRegistrationEntryEventHandler +} + +func (h genericSpireRegistrationEntryHandler) Create(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) + if !ok { + return errors.Errorf("internal error: SpireRegistrationEntry handler received event for %T", object) + } + return h.handler.CreateSpireRegistrationEntry(obj) +} + +func (h genericSpireRegistrationEntryHandler) Delete(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) + if !ok { + return errors.Errorf("internal error: SpireRegistrationEntry handler received event for %T", object) + } + return h.handler.DeleteSpireRegistrationEntry(obj) +} + +func (h genericSpireRegistrationEntryHandler) Update(old, new client.Object) error { + objOld, ok := old.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) + if !ok { + return errors.Errorf("internal error: SpireRegistrationEntry handler received event for %T", old) + } + objNew, ok := new.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) + if !ok { + return errors.Errorf("internal error: SpireRegistrationEntry handler received event for %T", new) + } + return h.handler.UpdateSpireRegistrationEntry(objOld, objNew) +} + +func (h genericSpireRegistrationEntryHandler) Generic(object client.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) + if !ok { + return errors.Errorf("internal error: SpireRegistrationEntry handler received event for %T", object) + } + return h.handler.GenericSpireRegistrationEntry(obj) +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/controller/mocks/event_handlers.go b/client-go/internal.gloo.solo.io/v2alpha1/controller/mocks/event_handlers.go new file mode 100644 index 000000000..3553aa285 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/controller/mocks/event_handlers.go @@ -0,0 +1,137 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1" + controller "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1/controller" +) + +// MockSpireRegistrationEntryEventHandler is a mock of SpireRegistrationEntryEventHandler interface. +type MockSpireRegistrationEntryEventHandler struct { + ctrl *gomock.Controller + recorder *MockSpireRegistrationEntryEventHandlerMockRecorder +} + +// MockSpireRegistrationEntryEventHandlerMockRecorder is the mock recorder for MockSpireRegistrationEntryEventHandler. +type MockSpireRegistrationEntryEventHandlerMockRecorder struct { + mock *MockSpireRegistrationEntryEventHandler +} + +// NewMockSpireRegistrationEntryEventHandler creates a new mock instance. +func NewMockSpireRegistrationEntryEventHandler(ctrl *gomock.Controller) *MockSpireRegistrationEntryEventHandler { + mock := &MockSpireRegistrationEntryEventHandler{ctrl: ctrl} + mock.recorder = &MockSpireRegistrationEntryEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSpireRegistrationEntryEventHandler) EXPECT() *MockSpireRegistrationEntryEventHandlerMockRecorder { + return m.recorder +} + +// CreateSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryEventHandler) CreateSpireRegistrationEntry(obj *v2alpha1.SpireRegistrationEntry) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateSpireRegistrationEntry", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateSpireRegistrationEntry indicates an expected call of CreateSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryEventHandlerMockRecorder) CreateSpireRegistrationEntry(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryEventHandler)(nil).CreateSpireRegistrationEntry), obj) +} + +// DeleteSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryEventHandler) DeleteSpireRegistrationEntry(obj *v2alpha1.SpireRegistrationEntry) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteSpireRegistrationEntry", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteSpireRegistrationEntry indicates an expected call of DeleteSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryEventHandlerMockRecorder) DeleteSpireRegistrationEntry(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryEventHandler)(nil).DeleteSpireRegistrationEntry), obj) +} + +// GenericSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryEventHandler) GenericSpireRegistrationEntry(obj *v2alpha1.SpireRegistrationEntry) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericSpireRegistrationEntry", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericSpireRegistrationEntry indicates an expected call of GenericSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryEventHandlerMockRecorder) GenericSpireRegistrationEntry(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryEventHandler)(nil).GenericSpireRegistrationEntry), obj) +} + +// UpdateSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryEventHandler) UpdateSpireRegistrationEntry(old, new *v2alpha1.SpireRegistrationEntry) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateSpireRegistrationEntry", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateSpireRegistrationEntry indicates an expected call of UpdateSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryEventHandlerMockRecorder) UpdateSpireRegistrationEntry(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryEventHandler)(nil).UpdateSpireRegistrationEntry), old, new) +} + +// MockSpireRegistrationEntryEventWatcher is a mock of SpireRegistrationEntryEventWatcher interface. +type MockSpireRegistrationEntryEventWatcher struct { + ctrl *gomock.Controller + recorder *MockSpireRegistrationEntryEventWatcherMockRecorder +} + +// MockSpireRegistrationEntryEventWatcherMockRecorder is the mock recorder for MockSpireRegistrationEntryEventWatcher. +type MockSpireRegistrationEntryEventWatcherMockRecorder struct { + mock *MockSpireRegistrationEntryEventWatcher +} + +// NewMockSpireRegistrationEntryEventWatcher creates a new mock instance. +func NewMockSpireRegistrationEntryEventWatcher(ctrl *gomock.Controller) *MockSpireRegistrationEntryEventWatcher { + mock := &MockSpireRegistrationEntryEventWatcher{ctrl: ctrl} + mock.recorder = &MockSpireRegistrationEntryEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSpireRegistrationEntryEventWatcher) EXPECT() *MockSpireRegistrationEntryEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockSpireRegistrationEntryEventWatcher) AddEventHandler(ctx context.Context, h controller.SpireRegistrationEntryEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockSpireRegistrationEntryEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockSpireRegistrationEntryEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/controller/mocks/multicluster_reconcilers.go b/client-go/internal.gloo.solo.io/v2alpha1/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..55aed2395 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,132 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1" + controller "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1/controller" +) + +// MockMulticlusterSpireRegistrationEntryReconciler is a mock of MulticlusterSpireRegistrationEntryReconciler interface. +type MockMulticlusterSpireRegistrationEntryReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterSpireRegistrationEntryReconcilerMockRecorder +} + +// MockMulticlusterSpireRegistrationEntryReconcilerMockRecorder is the mock recorder for MockMulticlusterSpireRegistrationEntryReconciler. +type MockMulticlusterSpireRegistrationEntryReconcilerMockRecorder struct { + mock *MockMulticlusterSpireRegistrationEntryReconciler +} + +// NewMockMulticlusterSpireRegistrationEntryReconciler creates a new mock instance. +func NewMockMulticlusterSpireRegistrationEntryReconciler(ctrl *gomock.Controller) *MockMulticlusterSpireRegistrationEntryReconciler { + mock := &MockMulticlusterSpireRegistrationEntryReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterSpireRegistrationEntryReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterSpireRegistrationEntryReconciler) EXPECT() *MockMulticlusterSpireRegistrationEntryReconcilerMockRecorder { + return m.recorder +} + +// ReconcileSpireRegistrationEntry mocks base method. +func (m *MockMulticlusterSpireRegistrationEntryReconciler) ReconcileSpireRegistrationEntry(clusterName string, obj *v2alpha1.SpireRegistrationEntry) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileSpireRegistrationEntry", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileSpireRegistrationEntry indicates an expected call of ReconcileSpireRegistrationEntry. +func (mr *MockMulticlusterSpireRegistrationEntryReconcilerMockRecorder) ReconcileSpireRegistrationEntry(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileSpireRegistrationEntry", reflect.TypeOf((*MockMulticlusterSpireRegistrationEntryReconciler)(nil).ReconcileSpireRegistrationEntry), clusterName, obj) +} + +// MockMulticlusterSpireRegistrationEntryDeletionReconciler is a mock of MulticlusterSpireRegistrationEntryDeletionReconciler interface. +type MockMulticlusterSpireRegistrationEntryDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterSpireRegistrationEntryDeletionReconcilerMockRecorder +} + +// MockMulticlusterSpireRegistrationEntryDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterSpireRegistrationEntryDeletionReconciler. +type MockMulticlusterSpireRegistrationEntryDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterSpireRegistrationEntryDeletionReconciler +} + +// NewMockMulticlusterSpireRegistrationEntryDeletionReconciler creates a new mock instance. +func NewMockMulticlusterSpireRegistrationEntryDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterSpireRegistrationEntryDeletionReconciler { + mock := &MockMulticlusterSpireRegistrationEntryDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterSpireRegistrationEntryDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterSpireRegistrationEntryDeletionReconciler) EXPECT() *MockMulticlusterSpireRegistrationEntryDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileSpireRegistrationEntryDeletion mocks base method. +func (m *MockMulticlusterSpireRegistrationEntryDeletionReconciler) ReconcileSpireRegistrationEntryDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileSpireRegistrationEntryDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileSpireRegistrationEntryDeletion indicates an expected call of ReconcileSpireRegistrationEntryDeletion. +func (mr *MockMulticlusterSpireRegistrationEntryDeletionReconcilerMockRecorder) ReconcileSpireRegistrationEntryDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileSpireRegistrationEntryDeletion", reflect.TypeOf((*MockMulticlusterSpireRegistrationEntryDeletionReconciler)(nil).ReconcileSpireRegistrationEntryDeletion), clusterName, req) +} + +// MockMulticlusterSpireRegistrationEntryReconcileLoop is a mock of MulticlusterSpireRegistrationEntryReconcileLoop interface. +type MockMulticlusterSpireRegistrationEntryReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterSpireRegistrationEntryReconcileLoopMockRecorder +} + +// MockMulticlusterSpireRegistrationEntryReconcileLoopMockRecorder is the mock recorder for MockMulticlusterSpireRegistrationEntryReconcileLoop. +type MockMulticlusterSpireRegistrationEntryReconcileLoopMockRecorder struct { + mock *MockMulticlusterSpireRegistrationEntryReconcileLoop +} + +// NewMockMulticlusterSpireRegistrationEntryReconcileLoop creates a new mock instance. +func NewMockMulticlusterSpireRegistrationEntryReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterSpireRegistrationEntryReconcileLoop { + mock := &MockMulticlusterSpireRegistrationEntryReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterSpireRegistrationEntryReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterSpireRegistrationEntryReconcileLoop) EXPECT() *MockMulticlusterSpireRegistrationEntryReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterSpireRegistrationEntryReconciler mocks base method. +func (m *MockMulticlusterSpireRegistrationEntryReconcileLoop) AddMulticlusterSpireRegistrationEntryReconciler(ctx context.Context, rec controller.MulticlusterSpireRegistrationEntryReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterSpireRegistrationEntryReconciler", varargs...) +} + +// AddMulticlusterSpireRegistrationEntryReconciler indicates an expected call of AddMulticlusterSpireRegistrationEntryReconciler. +func (mr *MockMulticlusterSpireRegistrationEntryReconcileLoopMockRecorder) AddMulticlusterSpireRegistrationEntryReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterSpireRegistrationEntryReconciler", reflect.TypeOf((*MockMulticlusterSpireRegistrationEntryReconcileLoop)(nil).AddMulticlusterSpireRegistrationEntryReconciler), varargs...) +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/controller/mocks/reconcilers.go b/client-go/internal.gloo.solo.io/v2alpha1/controller/mocks/reconcilers.go new file mode 100644 index 000000000..13610d69c --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/controller/mocks/reconcilers.go @@ -0,0 +1,200 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1" + controller "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1/controller" +) + +// MockSpireRegistrationEntryReconciler is a mock of SpireRegistrationEntryReconciler interface. +type MockSpireRegistrationEntryReconciler struct { + ctrl *gomock.Controller + recorder *MockSpireRegistrationEntryReconcilerMockRecorder +} + +// MockSpireRegistrationEntryReconcilerMockRecorder is the mock recorder for MockSpireRegistrationEntryReconciler. +type MockSpireRegistrationEntryReconcilerMockRecorder struct { + mock *MockSpireRegistrationEntryReconciler +} + +// NewMockSpireRegistrationEntryReconciler creates a new mock instance. +func NewMockSpireRegistrationEntryReconciler(ctrl *gomock.Controller) *MockSpireRegistrationEntryReconciler { + mock := &MockSpireRegistrationEntryReconciler{ctrl: ctrl} + mock.recorder = &MockSpireRegistrationEntryReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSpireRegistrationEntryReconciler) EXPECT() *MockSpireRegistrationEntryReconcilerMockRecorder { + return m.recorder +} + +// ReconcileSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryReconciler) ReconcileSpireRegistrationEntry(obj *v2alpha1.SpireRegistrationEntry) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileSpireRegistrationEntry", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileSpireRegistrationEntry indicates an expected call of ReconcileSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryReconcilerMockRecorder) ReconcileSpireRegistrationEntry(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryReconciler)(nil).ReconcileSpireRegistrationEntry), obj) +} + +// MockSpireRegistrationEntryDeletionReconciler is a mock of SpireRegistrationEntryDeletionReconciler interface. +type MockSpireRegistrationEntryDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockSpireRegistrationEntryDeletionReconcilerMockRecorder +} + +// MockSpireRegistrationEntryDeletionReconcilerMockRecorder is the mock recorder for MockSpireRegistrationEntryDeletionReconciler. +type MockSpireRegistrationEntryDeletionReconcilerMockRecorder struct { + mock *MockSpireRegistrationEntryDeletionReconciler +} + +// NewMockSpireRegistrationEntryDeletionReconciler creates a new mock instance. +func NewMockSpireRegistrationEntryDeletionReconciler(ctrl *gomock.Controller) *MockSpireRegistrationEntryDeletionReconciler { + mock := &MockSpireRegistrationEntryDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockSpireRegistrationEntryDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSpireRegistrationEntryDeletionReconciler) EXPECT() *MockSpireRegistrationEntryDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileSpireRegistrationEntryDeletion mocks base method. +func (m *MockSpireRegistrationEntryDeletionReconciler) ReconcileSpireRegistrationEntryDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileSpireRegistrationEntryDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileSpireRegistrationEntryDeletion indicates an expected call of ReconcileSpireRegistrationEntryDeletion. +func (mr *MockSpireRegistrationEntryDeletionReconcilerMockRecorder) ReconcileSpireRegistrationEntryDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileSpireRegistrationEntryDeletion", reflect.TypeOf((*MockSpireRegistrationEntryDeletionReconciler)(nil).ReconcileSpireRegistrationEntryDeletion), req) +} + +// MockSpireRegistrationEntryFinalizer is a mock of SpireRegistrationEntryFinalizer interface. +type MockSpireRegistrationEntryFinalizer struct { + ctrl *gomock.Controller + recorder *MockSpireRegistrationEntryFinalizerMockRecorder +} + +// MockSpireRegistrationEntryFinalizerMockRecorder is the mock recorder for MockSpireRegistrationEntryFinalizer. +type MockSpireRegistrationEntryFinalizerMockRecorder struct { + mock *MockSpireRegistrationEntryFinalizer +} + +// NewMockSpireRegistrationEntryFinalizer creates a new mock instance. +func NewMockSpireRegistrationEntryFinalizer(ctrl *gomock.Controller) *MockSpireRegistrationEntryFinalizer { + mock := &MockSpireRegistrationEntryFinalizer{ctrl: ctrl} + mock.recorder = &MockSpireRegistrationEntryFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSpireRegistrationEntryFinalizer) EXPECT() *MockSpireRegistrationEntryFinalizerMockRecorder { + return m.recorder +} + +// FinalizeSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryFinalizer) FinalizeSpireRegistrationEntry(obj *v2alpha1.SpireRegistrationEntry) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeSpireRegistrationEntry", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeSpireRegistrationEntry indicates an expected call of FinalizeSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryFinalizerMockRecorder) FinalizeSpireRegistrationEntry(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryFinalizer)(nil).FinalizeSpireRegistrationEntry), obj) +} + +// ReconcileSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryFinalizer) ReconcileSpireRegistrationEntry(obj *v2alpha1.SpireRegistrationEntry) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileSpireRegistrationEntry", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileSpireRegistrationEntry indicates an expected call of ReconcileSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryFinalizerMockRecorder) ReconcileSpireRegistrationEntry(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryFinalizer)(nil).ReconcileSpireRegistrationEntry), obj) +} + +// SpireRegistrationEntryFinalizerName mocks base method. +func (m *MockSpireRegistrationEntryFinalizer) SpireRegistrationEntryFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SpireRegistrationEntryFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// SpireRegistrationEntryFinalizerName indicates an expected call of SpireRegistrationEntryFinalizerName. +func (mr *MockSpireRegistrationEntryFinalizerMockRecorder) SpireRegistrationEntryFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SpireRegistrationEntryFinalizerName", reflect.TypeOf((*MockSpireRegistrationEntryFinalizer)(nil).SpireRegistrationEntryFinalizerName)) +} + +// MockSpireRegistrationEntryReconcileLoop is a mock of SpireRegistrationEntryReconcileLoop interface. +type MockSpireRegistrationEntryReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockSpireRegistrationEntryReconcileLoopMockRecorder +} + +// MockSpireRegistrationEntryReconcileLoopMockRecorder is the mock recorder for MockSpireRegistrationEntryReconcileLoop. +type MockSpireRegistrationEntryReconcileLoopMockRecorder struct { + mock *MockSpireRegistrationEntryReconcileLoop +} + +// NewMockSpireRegistrationEntryReconcileLoop creates a new mock instance. +func NewMockSpireRegistrationEntryReconcileLoop(ctrl *gomock.Controller) *MockSpireRegistrationEntryReconcileLoop { + mock := &MockSpireRegistrationEntryReconcileLoop{ctrl: ctrl} + mock.recorder = &MockSpireRegistrationEntryReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSpireRegistrationEntryReconcileLoop) EXPECT() *MockSpireRegistrationEntryReconcileLoopMockRecorder { + return m.recorder +} + +// RunSpireRegistrationEntryReconciler mocks base method. +func (m *MockSpireRegistrationEntryReconcileLoop) RunSpireRegistrationEntryReconciler(ctx context.Context, rec controller.SpireRegistrationEntryReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunSpireRegistrationEntryReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunSpireRegistrationEntryReconciler indicates an expected call of RunSpireRegistrationEntryReconciler. +func (mr *MockSpireRegistrationEntryReconcileLoopMockRecorder) RunSpireRegistrationEntryReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunSpireRegistrationEntryReconciler", reflect.TypeOf((*MockSpireRegistrationEntryReconcileLoop)(nil).RunSpireRegistrationEntryReconciler), varargs...) +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/controller/multicluster_reconcilers.go b/client-go/internal.gloo.solo.io/v2alpha1/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..e20d04646 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/controller/multicluster_reconcilers.go @@ -0,0 +1,90 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + internal_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the SpireRegistrationEntry Resource across clusters. +// implemented by the user +type MulticlusterSpireRegistrationEntryReconciler interface { + ReconcileSpireRegistrationEntry(clusterName string, obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) (reconcile.Result, error) +} + +// Reconcile deletion events for the SpireRegistrationEntry Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterSpireRegistrationEntryDeletionReconciler interface { + ReconcileSpireRegistrationEntryDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterSpireRegistrationEntryReconcilerFuncs struct { + OnReconcileSpireRegistrationEntry func(clusterName string, obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) (reconcile.Result, error) + OnReconcileSpireRegistrationEntryDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterSpireRegistrationEntryReconcilerFuncs) ReconcileSpireRegistrationEntry(clusterName string, obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) (reconcile.Result, error) { + if f.OnReconcileSpireRegistrationEntry == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileSpireRegistrationEntry(clusterName, obj) +} + +func (f *MulticlusterSpireRegistrationEntryReconcilerFuncs) ReconcileSpireRegistrationEntryDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileSpireRegistrationEntryDeletion == nil { + return nil + } + return f.OnReconcileSpireRegistrationEntryDeletion(clusterName, req) +} + +type MulticlusterSpireRegistrationEntryReconcileLoop interface { + // AddMulticlusterSpireRegistrationEntryReconciler adds a MulticlusterSpireRegistrationEntryReconciler to the MulticlusterSpireRegistrationEntryReconcileLoop. + AddMulticlusterSpireRegistrationEntryReconciler(ctx context.Context, rec MulticlusterSpireRegistrationEntryReconciler, predicates ...predicate.Predicate) +} + +type multiclusterSpireRegistrationEntryReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterSpireRegistrationEntryReconcileLoop) AddMulticlusterSpireRegistrationEntryReconciler(ctx context.Context, rec MulticlusterSpireRegistrationEntryReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericSpireRegistrationEntryMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterSpireRegistrationEntryReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterSpireRegistrationEntryReconcileLoop { + return &multiclusterSpireRegistrationEntryReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry{}, options)} +} + +type genericSpireRegistrationEntryMulticlusterReconciler struct { + reconciler MulticlusterSpireRegistrationEntryReconciler +} + +func (g genericSpireRegistrationEntryMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterSpireRegistrationEntryDeletionReconciler); ok { + return deletionReconciler.ReconcileSpireRegistrationEntryDeletion(cluster, req) + } + return nil +} + +func (g genericSpireRegistrationEntryMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: SpireRegistrationEntry handler received event for %T", object) + } + return g.reconciler.ReconcileSpireRegistrationEntry(cluster, obj) +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/controller/reconcilers.go b/client-go/internal.gloo.solo.io/v2alpha1/controller/reconcilers.go new file mode 100644 index 000000000..50c0b31f1 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/controller/reconcilers.go @@ -0,0 +1,135 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + internal_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the SpireRegistrationEntry Resource. +// implemented by the user +type SpireRegistrationEntryReconciler interface { + ReconcileSpireRegistrationEntry(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) (reconcile.Result, error) +} + +// Reconcile deletion events for the SpireRegistrationEntry Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type SpireRegistrationEntryDeletionReconciler interface { + ReconcileSpireRegistrationEntryDeletion(req reconcile.Request) error +} + +type SpireRegistrationEntryReconcilerFuncs struct { + OnReconcileSpireRegistrationEntry func(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) (reconcile.Result, error) + OnReconcileSpireRegistrationEntryDeletion func(req reconcile.Request) error +} + +func (f *SpireRegistrationEntryReconcilerFuncs) ReconcileSpireRegistrationEntry(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) (reconcile.Result, error) { + if f.OnReconcileSpireRegistrationEntry == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileSpireRegistrationEntry(obj) +} + +func (f *SpireRegistrationEntryReconcilerFuncs) ReconcileSpireRegistrationEntryDeletion(req reconcile.Request) error { + if f.OnReconcileSpireRegistrationEntryDeletion == nil { + return nil + } + return f.OnReconcileSpireRegistrationEntryDeletion(req) +} + +// Reconcile and finalize the SpireRegistrationEntry Resource +// implemented by the user +type SpireRegistrationEntryFinalizer interface { + SpireRegistrationEntryReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + SpireRegistrationEntryFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeSpireRegistrationEntry(obj *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) error +} + +type SpireRegistrationEntryReconcileLoop interface { + RunSpireRegistrationEntryReconciler(ctx context.Context, rec SpireRegistrationEntryReconciler, predicates ...predicate.Predicate) error +} + +type spireRegistrationEntryReconcileLoop struct { + loop reconcile.Loop +} + +func NewSpireRegistrationEntryReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) SpireRegistrationEntryReconcileLoop { + return &spireRegistrationEntryReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry{}, options), + } +} + +func (c *spireRegistrationEntryReconcileLoop) RunSpireRegistrationEntryReconciler(ctx context.Context, reconciler SpireRegistrationEntryReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericSpireRegistrationEntryReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(SpireRegistrationEntryFinalizer); ok { + reconcilerWrapper = genericSpireRegistrationEntryFinalizer{ + genericSpireRegistrationEntryReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericSpireRegistrationEntryHandler implements a generic reconcile.Reconciler +type genericSpireRegistrationEntryReconciler struct { + reconciler SpireRegistrationEntryReconciler +} + +func (r genericSpireRegistrationEntryReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: SpireRegistrationEntry handler received event for %T", object) + } + return r.reconciler.ReconcileSpireRegistrationEntry(obj) +} + +func (r genericSpireRegistrationEntryReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(SpireRegistrationEntryDeletionReconciler); ok { + return deletionReconciler.ReconcileSpireRegistrationEntryDeletion(request) + } + return nil +} + +// genericSpireRegistrationEntryFinalizer implements a generic reconcile.FinalizingReconciler +type genericSpireRegistrationEntryFinalizer struct { + genericSpireRegistrationEntryReconciler + finalizingReconciler SpireRegistrationEntryFinalizer +} + +func (r genericSpireRegistrationEntryFinalizer) FinalizerName() string { + return r.finalizingReconciler.SpireRegistrationEntryFinalizerName() +} + +func (r genericSpireRegistrationEntryFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) + if !ok { + return errors.Errorf("internal error: SpireRegistrationEntry handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeSpireRegistrationEntry(obj) +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/doc.go b/client-go/internal.gloo.solo.io/v2alpha1/doc.go new file mode 100644 index 000000000..10d7af5a4 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2alpha1 contains API Schema definitions for the internal.gloo.solo.io v2alpha1 API group +// +k8s:deepcopy-gen=package,register +// +groupName=internal.gloo.solo.io +package v2alpha1 diff --git a/client-go/internal.gloo.solo.io/v2alpha1/json.gen.go b/client-go/internal.gloo.solo.io/v2alpha1/json.gen.go new file mode 100644 index 000000000..93e99eade --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/json.gen.go @@ -0,0 +1,50 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2alpha1 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for SpireRegistrationEntrySpec +func (this *SpireRegistrationEntrySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for SpireRegistrationEntrySpec +func (this *SpireRegistrationEntrySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for SpireRegistrationEntryStatus +func (this *SpireRegistrationEntryStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for SpireRegistrationEntryStatus +func (this *SpireRegistrationEntryStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/mocks/clients.go b/client-go/internal.gloo.solo.io/v2alpha1/mocks/clients.go new file mode 100644 index 000000000..06aafe905 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/mocks/clients.go @@ -0,0 +1,594 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2alpha1 is a generated GoMock package. +package mock_v2alpha1 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2alpha1.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2alpha1.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// SpireRegistrationEntries mocks base method. +func (m *MockClientset) SpireRegistrationEntries() v2alpha1.SpireRegistrationEntryClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SpireRegistrationEntries") + ret0, _ := ret[0].(v2alpha1.SpireRegistrationEntryClient) + return ret0 +} + +// SpireRegistrationEntries indicates an expected call of SpireRegistrationEntries. +func (mr *MockClientsetMockRecorder) SpireRegistrationEntries() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SpireRegistrationEntries", reflect.TypeOf((*MockClientset)(nil).SpireRegistrationEntries)) +} + +// MockSpireRegistrationEntryReader is a mock of SpireRegistrationEntryReader interface. +type MockSpireRegistrationEntryReader struct { + ctrl *gomock.Controller + recorder *MockSpireRegistrationEntryReaderMockRecorder +} + +// MockSpireRegistrationEntryReaderMockRecorder is the mock recorder for MockSpireRegistrationEntryReader. +type MockSpireRegistrationEntryReaderMockRecorder struct { + mock *MockSpireRegistrationEntryReader +} + +// NewMockSpireRegistrationEntryReader creates a new mock instance. +func NewMockSpireRegistrationEntryReader(ctrl *gomock.Controller) *MockSpireRegistrationEntryReader { + mock := &MockSpireRegistrationEntryReader{ctrl: ctrl} + mock.recorder = &MockSpireRegistrationEntryReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSpireRegistrationEntryReader) EXPECT() *MockSpireRegistrationEntryReaderMockRecorder { + return m.recorder +} + +// GetSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryReader) GetSpireRegistrationEntry(ctx context.Context, key client.ObjectKey) (*v2alpha1.SpireRegistrationEntry, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetSpireRegistrationEntry", ctx, key) + ret0, _ := ret[0].(*v2alpha1.SpireRegistrationEntry) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetSpireRegistrationEntry indicates an expected call of GetSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryReaderMockRecorder) GetSpireRegistrationEntry(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryReader)(nil).GetSpireRegistrationEntry), ctx, key) +} + +// ListSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryReader) ListSpireRegistrationEntry(ctx context.Context, opts ...client.ListOption) (*v2alpha1.SpireRegistrationEntryList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(*v2alpha1.SpireRegistrationEntryList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListSpireRegistrationEntry indicates an expected call of ListSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryReaderMockRecorder) ListSpireRegistrationEntry(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryReader)(nil).ListSpireRegistrationEntry), varargs...) +} + +// MockSpireRegistrationEntryWriter is a mock of SpireRegistrationEntryWriter interface. +type MockSpireRegistrationEntryWriter struct { + ctrl *gomock.Controller + recorder *MockSpireRegistrationEntryWriterMockRecorder +} + +// MockSpireRegistrationEntryWriterMockRecorder is the mock recorder for MockSpireRegistrationEntryWriter. +type MockSpireRegistrationEntryWriterMockRecorder struct { + mock *MockSpireRegistrationEntryWriter +} + +// NewMockSpireRegistrationEntryWriter creates a new mock instance. +func NewMockSpireRegistrationEntryWriter(ctrl *gomock.Controller) *MockSpireRegistrationEntryWriter { + mock := &MockSpireRegistrationEntryWriter{ctrl: ctrl} + mock.recorder = &MockSpireRegistrationEntryWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSpireRegistrationEntryWriter) EXPECT() *MockSpireRegistrationEntryWriterMockRecorder { + return m.recorder +} + +// CreateSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryWriter) CreateSpireRegistrationEntry(ctx context.Context, obj *v2alpha1.SpireRegistrationEntry, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateSpireRegistrationEntry indicates an expected call of CreateSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryWriterMockRecorder) CreateSpireRegistrationEntry(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryWriter)(nil).CreateSpireRegistrationEntry), varargs...) +} + +// DeleteAllOfSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryWriter) DeleteAllOfSpireRegistrationEntry(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfSpireRegistrationEntry indicates an expected call of DeleteAllOfSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryWriterMockRecorder) DeleteAllOfSpireRegistrationEntry(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryWriter)(nil).DeleteAllOfSpireRegistrationEntry), varargs...) +} + +// DeleteSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryWriter) DeleteSpireRegistrationEntry(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteSpireRegistrationEntry indicates an expected call of DeleteSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryWriterMockRecorder) DeleteSpireRegistrationEntry(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryWriter)(nil).DeleteSpireRegistrationEntry), varargs...) +} + +// PatchSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryWriter) PatchSpireRegistrationEntry(ctx context.Context, obj *v2alpha1.SpireRegistrationEntry, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchSpireRegistrationEntry indicates an expected call of PatchSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryWriterMockRecorder) PatchSpireRegistrationEntry(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryWriter)(nil).PatchSpireRegistrationEntry), varargs...) +} + +// UpdateSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryWriter) UpdateSpireRegistrationEntry(ctx context.Context, obj *v2alpha1.SpireRegistrationEntry, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateSpireRegistrationEntry indicates an expected call of UpdateSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryWriterMockRecorder) UpdateSpireRegistrationEntry(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryWriter)(nil).UpdateSpireRegistrationEntry), varargs...) +} + +// UpsertSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryWriter) UpsertSpireRegistrationEntry(ctx context.Context, obj *v2alpha1.SpireRegistrationEntry, transitionFuncs ...v2alpha1.SpireRegistrationEntryTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertSpireRegistrationEntry indicates an expected call of UpsertSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryWriterMockRecorder) UpsertSpireRegistrationEntry(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryWriter)(nil).UpsertSpireRegistrationEntry), varargs...) +} + +// MockSpireRegistrationEntryStatusWriter is a mock of SpireRegistrationEntryStatusWriter interface. +type MockSpireRegistrationEntryStatusWriter struct { + ctrl *gomock.Controller + recorder *MockSpireRegistrationEntryStatusWriterMockRecorder +} + +// MockSpireRegistrationEntryStatusWriterMockRecorder is the mock recorder for MockSpireRegistrationEntryStatusWriter. +type MockSpireRegistrationEntryStatusWriterMockRecorder struct { + mock *MockSpireRegistrationEntryStatusWriter +} + +// NewMockSpireRegistrationEntryStatusWriter creates a new mock instance. +func NewMockSpireRegistrationEntryStatusWriter(ctrl *gomock.Controller) *MockSpireRegistrationEntryStatusWriter { + mock := &MockSpireRegistrationEntryStatusWriter{ctrl: ctrl} + mock.recorder = &MockSpireRegistrationEntryStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSpireRegistrationEntryStatusWriter) EXPECT() *MockSpireRegistrationEntryStatusWriterMockRecorder { + return m.recorder +} + +// PatchSpireRegistrationEntryStatus mocks base method. +func (m *MockSpireRegistrationEntryStatusWriter) PatchSpireRegistrationEntryStatus(ctx context.Context, obj *v2alpha1.SpireRegistrationEntry, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchSpireRegistrationEntryStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchSpireRegistrationEntryStatus indicates an expected call of PatchSpireRegistrationEntryStatus. +func (mr *MockSpireRegistrationEntryStatusWriterMockRecorder) PatchSpireRegistrationEntryStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchSpireRegistrationEntryStatus", reflect.TypeOf((*MockSpireRegistrationEntryStatusWriter)(nil).PatchSpireRegistrationEntryStatus), varargs...) +} + +// UpdateSpireRegistrationEntryStatus mocks base method. +func (m *MockSpireRegistrationEntryStatusWriter) UpdateSpireRegistrationEntryStatus(ctx context.Context, obj *v2alpha1.SpireRegistrationEntry, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateSpireRegistrationEntryStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateSpireRegistrationEntryStatus indicates an expected call of UpdateSpireRegistrationEntryStatus. +func (mr *MockSpireRegistrationEntryStatusWriterMockRecorder) UpdateSpireRegistrationEntryStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSpireRegistrationEntryStatus", reflect.TypeOf((*MockSpireRegistrationEntryStatusWriter)(nil).UpdateSpireRegistrationEntryStatus), varargs...) +} + +// MockSpireRegistrationEntryClient is a mock of SpireRegistrationEntryClient interface. +type MockSpireRegistrationEntryClient struct { + ctrl *gomock.Controller + recorder *MockSpireRegistrationEntryClientMockRecorder +} + +// MockSpireRegistrationEntryClientMockRecorder is the mock recorder for MockSpireRegistrationEntryClient. +type MockSpireRegistrationEntryClientMockRecorder struct { + mock *MockSpireRegistrationEntryClient +} + +// NewMockSpireRegistrationEntryClient creates a new mock instance. +func NewMockSpireRegistrationEntryClient(ctrl *gomock.Controller) *MockSpireRegistrationEntryClient { + mock := &MockSpireRegistrationEntryClient{ctrl: ctrl} + mock.recorder = &MockSpireRegistrationEntryClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSpireRegistrationEntryClient) EXPECT() *MockSpireRegistrationEntryClientMockRecorder { + return m.recorder +} + +// CreateSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryClient) CreateSpireRegistrationEntry(ctx context.Context, obj *v2alpha1.SpireRegistrationEntry, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateSpireRegistrationEntry indicates an expected call of CreateSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryClientMockRecorder) CreateSpireRegistrationEntry(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryClient)(nil).CreateSpireRegistrationEntry), varargs...) +} + +// DeleteAllOfSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryClient) DeleteAllOfSpireRegistrationEntry(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfSpireRegistrationEntry indicates an expected call of DeleteAllOfSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryClientMockRecorder) DeleteAllOfSpireRegistrationEntry(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryClient)(nil).DeleteAllOfSpireRegistrationEntry), varargs...) +} + +// DeleteSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryClient) DeleteSpireRegistrationEntry(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteSpireRegistrationEntry indicates an expected call of DeleteSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryClientMockRecorder) DeleteSpireRegistrationEntry(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryClient)(nil).DeleteSpireRegistrationEntry), varargs...) +} + +// GetSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryClient) GetSpireRegistrationEntry(ctx context.Context, key client.ObjectKey) (*v2alpha1.SpireRegistrationEntry, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetSpireRegistrationEntry", ctx, key) + ret0, _ := ret[0].(*v2alpha1.SpireRegistrationEntry) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetSpireRegistrationEntry indicates an expected call of GetSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryClientMockRecorder) GetSpireRegistrationEntry(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryClient)(nil).GetSpireRegistrationEntry), ctx, key) +} + +// ListSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryClient) ListSpireRegistrationEntry(ctx context.Context, opts ...client.ListOption) (*v2alpha1.SpireRegistrationEntryList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(*v2alpha1.SpireRegistrationEntryList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListSpireRegistrationEntry indicates an expected call of ListSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryClientMockRecorder) ListSpireRegistrationEntry(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryClient)(nil).ListSpireRegistrationEntry), varargs...) +} + +// PatchSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryClient) PatchSpireRegistrationEntry(ctx context.Context, obj *v2alpha1.SpireRegistrationEntry, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchSpireRegistrationEntry indicates an expected call of PatchSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryClientMockRecorder) PatchSpireRegistrationEntry(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryClient)(nil).PatchSpireRegistrationEntry), varargs...) +} + +// PatchSpireRegistrationEntryStatus mocks base method. +func (m *MockSpireRegistrationEntryClient) PatchSpireRegistrationEntryStatus(ctx context.Context, obj *v2alpha1.SpireRegistrationEntry, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchSpireRegistrationEntryStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchSpireRegistrationEntryStatus indicates an expected call of PatchSpireRegistrationEntryStatus. +func (mr *MockSpireRegistrationEntryClientMockRecorder) PatchSpireRegistrationEntryStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchSpireRegistrationEntryStatus", reflect.TypeOf((*MockSpireRegistrationEntryClient)(nil).PatchSpireRegistrationEntryStatus), varargs...) +} + +// UpdateSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryClient) UpdateSpireRegistrationEntry(ctx context.Context, obj *v2alpha1.SpireRegistrationEntry, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateSpireRegistrationEntry indicates an expected call of UpdateSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryClientMockRecorder) UpdateSpireRegistrationEntry(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryClient)(nil).UpdateSpireRegistrationEntry), varargs...) +} + +// UpdateSpireRegistrationEntryStatus mocks base method. +func (m *MockSpireRegistrationEntryClient) UpdateSpireRegistrationEntryStatus(ctx context.Context, obj *v2alpha1.SpireRegistrationEntry, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateSpireRegistrationEntryStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateSpireRegistrationEntryStatus indicates an expected call of UpdateSpireRegistrationEntryStatus. +func (mr *MockSpireRegistrationEntryClientMockRecorder) UpdateSpireRegistrationEntryStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSpireRegistrationEntryStatus", reflect.TypeOf((*MockSpireRegistrationEntryClient)(nil).UpdateSpireRegistrationEntryStatus), varargs...) +} + +// UpsertSpireRegistrationEntry mocks base method. +func (m *MockSpireRegistrationEntryClient) UpsertSpireRegistrationEntry(ctx context.Context, obj *v2alpha1.SpireRegistrationEntry, transitionFuncs ...v2alpha1.SpireRegistrationEntryTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertSpireRegistrationEntry", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertSpireRegistrationEntry indicates an expected call of UpsertSpireRegistrationEntry. +func (mr *MockSpireRegistrationEntryClientMockRecorder) UpsertSpireRegistrationEntry(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertSpireRegistrationEntry", reflect.TypeOf((*MockSpireRegistrationEntryClient)(nil).UpsertSpireRegistrationEntry), varargs...) +} + +// MockMulticlusterSpireRegistrationEntryClient is a mock of MulticlusterSpireRegistrationEntryClient interface. +type MockMulticlusterSpireRegistrationEntryClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterSpireRegistrationEntryClientMockRecorder +} + +// MockMulticlusterSpireRegistrationEntryClientMockRecorder is the mock recorder for MockMulticlusterSpireRegistrationEntryClient. +type MockMulticlusterSpireRegistrationEntryClientMockRecorder struct { + mock *MockMulticlusterSpireRegistrationEntryClient +} + +// NewMockMulticlusterSpireRegistrationEntryClient creates a new mock instance. +func NewMockMulticlusterSpireRegistrationEntryClient(ctrl *gomock.Controller) *MockMulticlusterSpireRegistrationEntryClient { + mock := &MockMulticlusterSpireRegistrationEntryClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterSpireRegistrationEntryClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterSpireRegistrationEntryClient) EXPECT() *MockMulticlusterSpireRegistrationEntryClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterSpireRegistrationEntryClient) Cluster(cluster string) (v2alpha1.SpireRegistrationEntryClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2alpha1.SpireRegistrationEntryClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterSpireRegistrationEntryClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterSpireRegistrationEntryClient)(nil).Cluster), cluster) +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/proto_deepcopy.go b/client-go/internal.gloo.solo.io/v2alpha1/proto_deepcopy.go new file mode 100644 index 000000000..dec613f37 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/proto_deepcopy.go @@ -0,0 +1,32 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2alpha1 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the SpireRegistrationEntry.Spec +func (in *SpireRegistrationEntrySpec) DeepCopyInto(out *SpireRegistrationEntrySpec) { + var p *SpireRegistrationEntrySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*SpireRegistrationEntrySpec) + } else { + p = proto.Clone(in).(*SpireRegistrationEntrySpec) + } + *out = *p +} + +// DeepCopyInto for the SpireRegistrationEntry.Status +func (in *SpireRegistrationEntryStatus) DeepCopyInto(out *SpireRegistrationEntryStatus) { + var p *SpireRegistrationEntryStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*SpireRegistrationEntryStatus) + } else { + p = proto.Clone(in).(*SpireRegistrationEntryStatus) + } + *out = *p +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/providers/client_providers.go b/client-go/internal.gloo.solo.io/v2alpha1/providers/client_providers.go new file mode 100644 index 000000000..a801ebb0b --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/providers/client_providers.go @@ -0,0 +1,46 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2alpha1 + +import ( + internal_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for SpireRegistrationEntryClient from Clientset +func SpireRegistrationEntryClientFromClientsetProvider(clients internal_gloo_solo_io_v2alpha1.Clientset) internal_gloo_solo_io_v2alpha1.SpireRegistrationEntryClient { + return clients.SpireRegistrationEntries() +} + +// Provider for SpireRegistrationEntry Client from Client +func SpireRegistrationEntryClientProvider(client client.Client) internal_gloo_solo_io_v2alpha1.SpireRegistrationEntryClient { + return internal_gloo_solo_io_v2alpha1.NewSpireRegistrationEntryClient(client) +} + +type SpireRegistrationEntryClientFactory func(client client.Client) internal_gloo_solo_io_v2alpha1.SpireRegistrationEntryClient + +func SpireRegistrationEntryClientFactoryProvider() SpireRegistrationEntryClientFactory { + return SpireRegistrationEntryClientProvider +} + +type SpireRegistrationEntryClientFromConfigFactory func(cfg *rest.Config) (internal_gloo_solo_io_v2alpha1.SpireRegistrationEntryClient, error) + +func SpireRegistrationEntryClientFromConfigFactoryProvider() SpireRegistrationEntryClientFromConfigFactory { + return func(cfg *rest.Config) (internal_gloo_solo_io_v2alpha1.SpireRegistrationEntryClient, error) { + clients, err := internal_gloo_solo_io_v2alpha1.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.SpireRegistrationEntries(), nil + } +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/register.go b/client-go/internal.gloo.solo.io/v2alpha1/register.go new file mode 100644 index 000000000..77a16c9fa --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "internal.gloo.solo.io", Version: "v2alpha1"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/report_types.go b/client-go/internal.gloo.solo.io/v2alpha1/report_types.go new file mode 100644 index 000000000..430a8c047 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/report_types.go @@ -0,0 +1,4 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2alpha1 diff --git a/client-go/internal.gloo.solo.io/v2alpha1/sets/mocks/sets.go b/client-go/internal.gloo.solo.io/v2alpha1/sets/mocks/sets.go new file mode 100644 index 000000000..2d3d5954d --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/sets/mocks/sets.go @@ -0,0 +1,273 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2alpha1sets is a generated GoMock package. +package mock_v2alpha1sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1" + v2alpha1sets "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1/sets" +) + +// MockSpireRegistrationEntrySet is a mock of SpireRegistrationEntrySet interface. +type MockSpireRegistrationEntrySet struct { + ctrl *gomock.Controller + recorder *MockSpireRegistrationEntrySetMockRecorder +} + +// MockSpireRegistrationEntrySetMockRecorder is the mock recorder for MockSpireRegistrationEntrySet. +type MockSpireRegistrationEntrySetMockRecorder struct { + mock *MockSpireRegistrationEntrySet +} + +// NewMockSpireRegistrationEntrySet creates a new mock instance. +func NewMockSpireRegistrationEntrySet(ctrl *gomock.Controller) *MockSpireRegistrationEntrySet { + mock := &MockSpireRegistrationEntrySet{ctrl: ctrl} + mock.recorder = &MockSpireRegistrationEntrySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSpireRegistrationEntrySet) EXPECT() *MockSpireRegistrationEntrySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockSpireRegistrationEntrySet) Clone() v2alpha1sets.SpireRegistrationEntrySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2alpha1sets.SpireRegistrationEntrySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockSpireRegistrationEntrySet) Delete(spireRegistrationEntry ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", spireRegistrationEntry) +} + +// Delete indicates an expected call of Delete. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Delete(spireRegistrationEntry interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Delete), spireRegistrationEntry) +} + +// Delta mocks base method. +func (m *MockSpireRegistrationEntrySet) Delta(newSet v2alpha1sets.SpireRegistrationEntrySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockSpireRegistrationEntrySet) Difference(set v2alpha1sets.SpireRegistrationEntrySet) v2alpha1sets.SpireRegistrationEntrySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2alpha1sets.SpireRegistrationEntrySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockSpireRegistrationEntrySet) Equal(spireRegistrationEntrySet v2alpha1sets.SpireRegistrationEntrySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", spireRegistrationEntrySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Equal(spireRegistrationEntrySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Equal), spireRegistrationEntrySet) +} + +// Find mocks base method. +func (m *MockSpireRegistrationEntrySet) Find(id ezkube.ResourceId) (*v2alpha1.SpireRegistrationEntry, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2alpha1.SpireRegistrationEntry) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockSpireRegistrationEntrySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockSpireRegistrationEntrySet) Has(spireRegistrationEntry ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", spireRegistrationEntry) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Has(spireRegistrationEntry interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Has), spireRegistrationEntry) +} + +// Insert mocks base method. +func (m *MockSpireRegistrationEntrySet) Insert(spireRegistrationEntry ...*v2alpha1.SpireRegistrationEntry) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range spireRegistrationEntry { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Insert(spireRegistrationEntry ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Insert), spireRegistrationEntry...) +} + +// Intersection mocks base method. +func (m *MockSpireRegistrationEntrySet) Intersection(set v2alpha1sets.SpireRegistrationEntrySet) v2alpha1sets.SpireRegistrationEntrySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2alpha1sets.SpireRegistrationEntrySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockSpireRegistrationEntrySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockSpireRegistrationEntrySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockSpireRegistrationEntrySet) List(filterResource ...func(*v2alpha1.SpireRegistrationEntry) bool) []*v2alpha1.SpireRegistrationEntry { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2alpha1.SpireRegistrationEntry) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockSpireRegistrationEntrySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockSpireRegistrationEntrySet) Map() map[string]*v2alpha1.SpireRegistrationEntry { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2alpha1.SpireRegistrationEntry) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockSpireRegistrationEntrySet) Union(set v2alpha1sets.SpireRegistrationEntrySet) v2alpha1sets.SpireRegistrationEntrySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2alpha1sets.SpireRegistrationEntrySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockSpireRegistrationEntrySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockSpireRegistrationEntrySet) UnsortedList(filterResource ...func(*v2alpha1.SpireRegistrationEntry) bool) []*v2alpha1.SpireRegistrationEntry { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2alpha1.SpireRegistrationEntry) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockSpireRegistrationEntrySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockSpireRegistrationEntrySet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/sets/sets.go b/client-go/internal.gloo.solo.io/v2alpha1/sets/sets.go new file mode 100644 index 000000000..c3b0bc096 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/sets/sets.go @@ -0,0 +1,237 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2alpha1sets + +import ( + internal_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type SpireRegistrationEntrySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) bool) []*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) bool) []*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry + // Return the Set as a map of key to resource. + Map() map[string]*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry + // Insert a resource into the set. + Insert(spireRegistrationEntry ...*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(spireRegistrationEntrySet SpireRegistrationEntrySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(spireRegistrationEntry ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(spireRegistrationEntry ezkube.ResourceId) + // Return the union with the provided set + Union(set SpireRegistrationEntrySet) SpireRegistrationEntrySet + // Return the difference with the provided set + Difference(set SpireRegistrationEntrySet) SpireRegistrationEntrySet + // Return the intersection with the provided set + Intersection(set SpireRegistrationEntrySet) SpireRegistrationEntrySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another SpireRegistrationEntrySet + Delta(newSet SpireRegistrationEntrySet) sksets.ResourceDelta + // Create a deep copy of the current SpireRegistrationEntrySet + Clone() SpireRegistrationEntrySet +} + +func makeGenericSpireRegistrationEntrySet(spireRegistrationEntryList []*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range spireRegistrationEntryList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type spireRegistrationEntrySet struct { + set sksets.ResourceSet +} + +func NewSpireRegistrationEntrySet(spireRegistrationEntryList ...*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) SpireRegistrationEntrySet { + return &spireRegistrationEntrySet{set: makeGenericSpireRegistrationEntrySet(spireRegistrationEntryList)} +} + +func NewSpireRegistrationEntrySetFromList(spireRegistrationEntryList *internal_gloo_solo_io_v2alpha1.SpireRegistrationEntryList) SpireRegistrationEntrySet { + list := make([]*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry, 0, len(spireRegistrationEntryList.Items)) + for idx := range spireRegistrationEntryList.Items { + list = append(list, &spireRegistrationEntryList.Items[idx]) + } + return &spireRegistrationEntrySet{set: makeGenericSpireRegistrationEntrySet(list)} +} + +func (s *spireRegistrationEntrySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *spireRegistrationEntrySet) List(filterResource ...func(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) bool) []*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry)) + }) + } + + objs := s.Generic().List(genericFilters...) + spireRegistrationEntryList := make([]*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry, 0, len(objs)) + for _, obj := range objs { + spireRegistrationEntryList = append(spireRegistrationEntryList, obj.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry)) + } + return spireRegistrationEntryList +} + +func (s *spireRegistrationEntrySet) UnsortedList(filterResource ...func(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) bool) []*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry)) + }) + } + + var spireRegistrationEntryList []*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + spireRegistrationEntryList = append(spireRegistrationEntryList, obj.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry)) + } + return spireRegistrationEntryList +} + +func (s *spireRegistrationEntrySet) Map() map[string]*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry { + if s == nil { + return nil + } + + newMap := map[string]*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry) + } + return newMap +} + +func (s *spireRegistrationEntrySet) Insert( + spireRegistrationEntryList ...*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range spireRegistrationEntryList { + s.Generic().Insert(obj) + } +} + +func (s *spireRegistrationEntrySet) Has(spireRegistrationEntry ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(spireRegistrationEntry) +} + +func (s *spireRegistrationEntrySet) Equal( + spireRegistrationEntrySet SpireRegistrationEntrySet, +) bool { + if s == nil { + return spireRegistrationEntrySet == nil + } + return s.Generic().Equal(spireRegistrationEntrySet.Generic()) +} + +func (s *spireRegistrationEntrySet) Delete(SpireRegistrationEntry ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(SpireRegistrationEntry) +} + +func (s *spireRegistrationEntrySet) Union(set SpireRegistrationEntrySet) SpireRegistrationEntrySet { + if s == nil { + return set + } + return NewSpireRegistrationEntrySet(append(s.List(), set.List()...)...) +} + +func (s *spireRegistrationEntrySet) Difference(set SpireRegistrationEntrySet) SpireRegistrationEntrySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &spireRegistrationEntrySet{set: newSet} +} + +func (s *spireRegistrationEntrySet) Intersection(set SpireRegistrationEntrySet) SpireRegistrationEntrySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var spireRegistrationEntryList []*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry + for _, obj := range newSet.List() { + spireRegistrationEntryList = append(spireRegistrationEntryList, obj.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry)) + } + return NewSpireRegistrationEntrySet(spireRegistrationEntryList...) +} + +func (s *spireRegistrationEntrySet) Find(id ezkube.ResourceId) (*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find SpireRegistrationEntry %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry{}, id) + if err != nil { + return nil, err + } + + return obj.(*internal_gloo_solo_io_v2alpha1.SpireRegistrationEntry), nil +} + +func (s *spireRegistrationEntrySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *spireRegistrationEntrySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *spireRegistrationEntrySet) Delta(newSet SpireRegistrationEntrySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *spireRegistrationEntrySet) Clone() SpireRegistrationEntrySet { + if s == nil { + return nil + } + return &spireRegistrationEntrySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/spire.pb.clone.go b/client-go/internal.gloo.solo.io/v2alpha1/spire.pb.clone.go new file mode 100644 index 000000000..106017af1 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/spire.pb.clone.go @@ -0,0 +1,105 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2alpha1/spire.proto + +package v2alpha1 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *SpireRegistrationEntrySpec) Clone() proto.Message { + var target *SpireRegistrationEntrySpec + if m == nil { + return target + } + target = &SpireRegistrationEntrySpec{} + + if m.GetSelectors() != nil { + target.Selectors = make([]*SpireRegistrationEntrySpec_Selector, len(m.GetSelectors())) + for idx, v := range m.GetSelectors() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Selectors[idx] = h.Clone().(*SpireRegistrationEntrySpec_Selector) + } else { + target.Selectors[idx] = proto.Clone(v).(*SpireRegistrationEntrySpec_Selector) + } + + } + } + + target.ParentId = m.GetParentId() + + target.SpiffeId = m.GetSpiffeId() + + if h, ok := interface{}(m.GetX509SvidTtl()).(clone.Cloner); ok { + target.X509SvidTtl = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.X509SvidTtl = proto.Clone(m.GetX509SvidTtl()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + if m.GetDnsNames() != nil { + target.DnsNames = make([]string, len(m.GetDnsNames())) + for idx, v := range m.GetDnsNames() { + + target.DnsNames[idx] = v + + } + } + + return target +} + +// Clone function +func (m *SpireRegistrationEntryStatus) Clone() proto.Message { + var target *SpireRegistrationEntryStatus + if m == nil { + return target + } + target = &SpireRegistrationEntryStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + return target +} + +// Clone function +func (m *SpireRegistrationEntrySpec_Selector) Clone() proto.Message { + var target *SpireRegistrationEntrySpec_Selector + if m == nil { + return target + } + target = &SpireRegistrationEntrySpec_Selector{} + + target.Type = m.GetType() + + target.Value = m.GetValue() + + return target +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/spire.pb.equal.go b/client-go/internal.gloo.solo.io/v2alpha1/spire.pb.equal.go new file mode 100644 index 000000000..f108e3ce6 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/spire.pb.equal.go @@ -0,0 +1,162 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2alpha1/spire.proto + +package v2alpha1 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *SpireRegistrationEntrySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SpireRegistrationEntrySpec) + if !ok { + that2, ok := that.(SpireRegistrationEntrySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetSelectors()) != len(target.GetSelectors()) { + return false + } + for idx, v := range m.GetSelectors() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectors()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectors()[idx]) { + return false + } + } + + } + + if strings.Compare(m.GetParentId(), target.GetParentId()) != 0 { + return false + } + + if strings.Compare(m.GetSpiffeId(), target.GetSpiffeId()) != 0 { + return false + } + + if h, ok := interface{}(m.GetX509SvidTtl()).(equality.Equalizer); ok { + if !h.Equal(target.GetX509SvidTtl()) { + return false + } + } else { + if !proto.Equal(m.GetX509SvidTtl(), target.GetX509SvidTtl()) { + return false + } + } + + if len(m.GetDnsNames()) != len(target.GetDnsNames()) { + return false + } + for idx, v := range m.GetDnsNames() { + + if strings.Compare(v, target.GetDnsNames()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *SpireRegistrationEntryStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SpireRegistrationEntryStatus) + if !ok { + that2, ok := that.(SpireRegistrationEntryStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + return true +} + +// Equal function +func (m *SpireRegistrationEntrySpec_Selector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SpireRegistrationEntrySpec_Selector) + if !ok { + that2, ok := that.(SpireRegistrationEntrySpec_Selector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetType(), target.GetType()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + return true +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/spire.pb.go b/client-go/internal.gloo.solo.io/v2alpha1/spire.pb.go new file mode 100644 index 000000000..87981606b --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/spire.pb.go @@ -0,0 +1,369 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2alpha1/spire.proto + +package v2alpha1 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// SpireRegistrationEntrySpec describes a registration entry in SPIRE server. +// It is a subset of the upstream RegistrationEntry API: +// https://github.com/spiffe/spire/blob/v1.6.3/proto/spire/common/common.proto#L62 +type SpireRegistrationEntrySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of selectors. + Selectors []*SpireRegistrationEntrySpec_Selector `protobuf:"bytes,1,rep,name=selectors,proto3" json:"selectors,omitempty"` + // The SPIFFE ID of an entity that is authorized to attest the validity of a selector. + ParentId string `protobuf:"bytes,2,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"` + // The SPIFFE ID is a structured string used to identify a resource or caller. + // It is defined as a URI comprising a “trust domain” and an associated path. + SpiffeId string `protobuf:"bytes,3,opt,name=spiffe_id,json=spiffeId,proto3" json:"spiffe_id,omitempty"` + // Time to live for X509-SVIDs generated from this entry. + X509SvidTtl *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=x509_svid_ttl,json=x509SvidTtl,proto3" json:"x509_svid_ttl,omitempty"` + // DNS entries. + DnsNames []string `protobuf:"bytes,5,rep,name=dns_names,json=dnsNames,proto3" json:"dns_names,omitempty"` +} + +func (x *SpireRegistrationEntrySpec) Reset() { + *x = SpireRegistrationEntrySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpireRegistrationEntrySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpireRegistrationEntrySpec) ProtoMessage() {} + +func (x *SpireRegistrationEntrySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpireRegistrationEntrySpec.ProtoReflect.Descriptor instead. +func (*SpireRegistrationEntrySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDescGZIP(), []int{0} +} + +func (x *SpireRegistrationEntrySpec) GetSelectors() []*SpireRegistrationEntrySpec_Selector { + if x != nil { + return x.Selectors + } + return nil +} + +func (x *SpireRegistrationEntrySpec) GetParentId() string { + if x != nil { + return x.ParentId + } + return "" +} + +func (x *SpireRegistrationEntrySpec) GetSpiffeId() string { + if x != nil { + return x.SpiffeId + } + return "" +} + +func (x *SpireRegistrationEntrySpec) GetX509SvidTtl() *wrappers.UInt32Value { + if x != nil { + return x.X509SvidTtl + } + return nil +} + +func (x *SpireRegistrationEntrySpec) GetDnsNames() []string { + if x != nil { + return x.DnsNames + } + return nil +} + +// The status of the SpireRegistrationEntry after it is applied to your Gloo environment. +type SpireRegistrationEntryStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` +} + +func (x *SpireRegistrationEntryStatus) Reset() { + *x = SpireRegistrationEntryStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpireRegistrationEntryStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpireRegistrationEntryStatus) ProtoMessage() {} + +func (x *SpireRegistrationEntryStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpireRegistrationEntryStatus.ProtoReflect.Descriptor instead. +func (*SpireRegistrationEntryStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDescGZIP(), []int{1} +} + +func (x *SpireRegistrationEntryStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +// Selector describes the conditions under which a registration entry is matched. +type SpireRegistrationEntrySpec_Selector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A selector type represents the type of attestation used in attesting the entity. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // The value to be attested. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *SpireRegistrationEntrySpec_Selector) Reset() { + *x = SpireRegistrationEntrySpec_Selector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpireRegistrationEntrySpec_Selector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpireRegistrationEntrySpec_Selector) ProtoMessage() {} + +func (x *SpireRegistrationEntrySpec_Selector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpireRegistrationEntrySpec_Selector.ProtoReflect.Descriptor instead. +func (*SpireRegistrationEntrySpec_Selector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *SpireRegistrationEntrySpec_Selector) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *SpireRegistrationEntrySpec_Selector) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDesc = []byte{ + 0x0a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x70, 0x69, + 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, + 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x02, 0x0a, 0x1a, 0x53, 0x70, 0x69, 0x72, 0x65, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x58, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, + 0x70, 0x69, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, + 0x69, 0x66, 0x66, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x70, 0x69, 0x66, 0x66, 0x65, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0d, 0x78, 0x35, 0x30, 0x39, 0x5f, + 0x73, 0x76, 0x69, 0x64, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x78, 0x35, + 0x30, 0x39, 0x53, 0x76, 0x69, 0x64, 0x54, 0x74, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6e, 0x73, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6e, + 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x34, 0x0a, 0x08, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x53, 0x0a, 0x1c, + 0x53, 0x70, 0x69, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x42, 0x5c, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_goTypes = []interface{}{ + (*SpireRegistrationEntrySpec)(nil), // 0: internal.gloo.solo.io.SpireRegistrationEntrySpec + (*SpireRegistrationEntryStatus)(nil), // 1: internal.gloo.solo.io.SpireRegistrationEntryStatus + (*SpireRegistrationEntrySpec_Selector)(nil), // 2: internal.gloo.solo.io.SpireRegistrationEntrySpec.Selector + (*wrappers.UInt32Value)(nil), // 3: google.protobuf.UInt32Value + (*v2.Status)(nil), // 4: common.gloo.solo.io.Status +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_depIdxs = []int32{ + 2, // 0: internal.gloo.solo.io.SpireRegistrationEntrySpec.selectors:type_name -> internal.gloo.solo.io.SpireRegistrationEntrySpec.Selector + 3, // 1: internal.gloo.solo.io.SpireRegistrationEntrySpec.x509_svid_ttl:type_name -> google.protobuf.UInt32Value + 4, // 2: internal.gloo.solo.io.SpireRegistrationEntryStatus.common:type_name -> common.gloo.solo.io.Status + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpireRegistrationEntrySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpireRegistrationEntryStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpireRegistrationEntrySpec_Selector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_internal_v2alpha1_spire_proto_depIdxs = nil +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/spire.pb.hash.go b/client-go/internal.gloo.solo.io/v2alpha1/spire.pb.hash.go new file mode 100644 index 000000000..2ffb01f89 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/spire.pb.hash.go @@ -0,0 +1,162 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/internal/v2alpha1/spire.proto + +package v2alpha1 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *SpireRegistrationEntrySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1.SpireRegistrationEntrySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetSelectors() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if _, err = hasher.Write([]byte(m.GetParentId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSpiffeId())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetX509SvidTtl()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("X509SvidTtl")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetX509SvidTtl(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("X509SvidTtl")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetDnsNames() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SpireRegistrationEntryStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1.SpireRegistrationEntryStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SpireRegistrationEntrySpec_Selector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("internal.gloo.solo.io.github.com/solo-io/solo-apis/client-go/internal.gloo.solo.io/v2alpha1.SpireRegistrationEntrySpec_Selector")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetType())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/type_helpers.go b/client-go/internal.gloo.solo.io/v2alpha1/type_helpers.go new file mode 100644 index 000000000..f8216d048 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/type_helpers.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2alpha1 + +// SpireRegistrationEntrySlice represents a slice of *SpireRegistrationEntry +type SpireRegistrationEntrySlice []*SpireRegistrationEntry diff --git a/client-go/internal.gloo.solo.io/v2alpha1/types.go b/client-go/internal.gloo.solo.io/v2alpha1/types.go new file mode 100644 index 000000000..039451dd2 --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/types.go @@ -0,0 +1,48 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for SpireRegistrationEntry +var SpireRegistrationEntryGVK = schema.GroupVersionKind{ + Group: "internal.gloo.solo.io", + Version: "v2alpha1", + Kind: "SpireRegistrationEntry", +} + +// SpireRegistrationEntry is the Schema for the spireRegistrationEntry API +type SpireRegistrationEntry struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec SpireRegistrationEntrySpec `json:"spec,omitempty"` + Status SpireRegistrationEntryStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (SpireRegistrationEntry) GVK() schema.GroupVersionKind { + return SpireRegistrationEntryGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// SpireRegistrationEntryList contains a list of SpireRegistrationEntry +type SpireRegistrationEntryList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SpireRegistrationEntry `json:"items"` +} + +func init() { + SchemeBuilder.Register(&SpireRegistrationEntry{}, &SpireRegistrationEntryList{}) +} diff --git a/client-go/internal.gloo.solo.io/v2alpha1/zz_generated.deepcopy.go b/client-go/internal.gloo.solo.io/v2alpha1/zz_generated.deepcopy.go new file mode 100644 index 000000000..b89bb7f5f --- /dev/null +++ b/client-go/internal.gloo.solo.io/v2alpha1/zz_generated.deepcopy.go @@ -0,0 +1,69 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for internal.gloo.solo.io/v2alpha1 resources + +package v2alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for SpireRegistrationEntry + +func (in *SpireRegistrationEntry) DeepCopyInto(out *SpireRegistrationEntry) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *SpireRegistrationEntry) DeepCopy() *SpireRegistrationEntry { + if in == nil { + return nil + } + out := new(SpireRegistrationEntry) + in.DeepCopyInto(out) + return out +} + +func (in *SpireRegistrationEntry) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *SpireRegistrationEntryList) DeepCopyInto(out *SpireRegistrationEntryList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SpireRegistrationEntry, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *SpireRegistrationEntryList) DeepCopy() *SpireRegistrationEntryList { + if in == nil { + return nil + } + out := new(SpireRegistrationEntryList) + in.DeepCopyInto(out) + return out +} + +func (in *SpireRegistrationEntryList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/networking.gloo.solo.io/v2/clients.go b/client-go/networking.gloo.solo.io/v2/clients.go new file mode 100644 index 000000000..b1ccd6e39 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/clients.go @@ -0,0 +1,809 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the networking.gloo.solo.io/v2 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the networking.gloo.solo.io/v2 APIs +type Clientset interface { + // clienset for the networking.gloo.solo.io/v2/v2 APIs + ExternalServices() ExternalServiceClient + // clienset for the networking.gloo.solo.io/v2/v2 APIs + ExternalEndpoints() ExternalEndpointClient + // clienset for the networking.gloo.solo.io/v2/v2 APIs + RouteTables() RouteTableClient + // clienset for the networking.gloo.solo.io/v2/v2 APIs + VirtualDestinations() VirtualDestinationClient + // clienset for the networking.gloo.solo.io/v2/v2 APIs + VirtualGateways() VirtualGatewayClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the networking.gloo.solo.io/v2/v2 APIs +func (c *clientSet) ExternalServices() ExternalServiceClient { + return NewExternalServiceClient(c.client) +} + +// clienset for the networking.gloo.solo.io/v2/v2 APIs +func (c *clientSet) ExternalEndpoints() ExternalEndpointClient { + return NewExternalEndpointClient(c.client) +} + +// clienset for the networking.gloo.solo.io/v2/v2 APIs +func (c *clientSet) RouteTables() RouteTableClient { + return NewRouteTableClient(c.client) +} + +// clienset for the networking.gloo.solo.io/v2/v2 APIs +func (c *clientSet) VirtualDestinations() VirtualDestinationClient { + return NewVirtualDestinationClient(c.client) +} + +// clienset for the networking.gloo.solo.io/v2/v2 APIs +func (c *clientSet) VirtualGateways() VirtualGatewayClient { + return NewVirtualGatewayClient(c.client) +} + +// Reader knows how to read and list ExternalServices. +type ExternalServiceReader interface { + // Get retrieves a ExternalService for the given object key + GetExternalService(ctx context.Context, key client.ObjectKey) (*ExternalService, error) + + // List retrieves list of ExternalServices for a given namespace and list options. + ListExternalService(ctx context.Context, opts ...client.ListOption) (*ExternalServiceList, error) +} + +// ExternalServiceTransitionFunction instructs the ExternalServiceWriter how to transition between an existing +// ExternalService object and a desired on an Upsert +type ExternalServiceTransitionFunction func(existing, desired *ExternalService) error + +// Writer knows how to create, delete, and update ExternalServices. +type ExternalServiceWriter interface { + // Create saves the ExternalService object. + CreateExternalService(ctx context.Context, obj *ExternalService, opts ...client.CreateOption) error + + // Delete deletes the ExternalService object. + DeleteExternalService(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ExternalService object. + UpdateExternalService(ctx context.Context, obj *ExternalService, opts ...client.UpdateOption) error + + // Patch patches the given ExternalService object. + PatchExternalService(ctx context.Context, obj *ExternalService, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ExternalService objects matching the given options. + DeleteAllOfExternalService(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ExternalService object. + UpsertExternalService(ctx context.Context, obj *ExternalService, transitionFuncs ...ExternalServiceTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ExternalService object. +type ExternalServiceStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ExternalService object. + UpdateExternalServiceStatus(ctx context.Context, obj *ExternalService, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ExternalService object's subresource. + PatchExternalServiceStatus(ctx context.Context, obj *ExternalService, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ExternalServices. +type ExternalServiceClient interface { + ExternalServiceReader + ExternalServiceWriter + ExternalServiceStatusWriter +} + +type externalServiceClient struct { + client client.Client +} + +func NewExternalServiceClient(client client.Client) *externalServiceClient { + return &externalServiceClient{client: client} +} + +func (c *externalServiceClient) GetExternalService(ctx context.Context, key client.ObjectKey) (*ExternalService, error) { + obj := &ExternalService{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *externalServiceClient) ListExternalService(ctx context.Context, opts ...client.ListOption) (*ExternalServiceList, error) { + list := &ExternalServiceList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *externalServiceClient) CreateExternalService(ctx context.Context, obj *ExternalService, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *externalServiceClient) DeleteExternalService(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ExternalService{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *externalServiceClient) UpdateExternalService(ctx context.Context, obj *ExternalService, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *externalServiceClient) PatchExternalService(ctx context.Context, obj *ExternalService, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *externalServiceClient) DeleteAllOfExternalService(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ExternalService{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *externalServiceClient) UpsertExternalService(ctx context.Context, obj *ExternalService, transitionFuncs ...ExternalServiceTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ExternalService), desired.(*ExternalService)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *externalServiceClient) UpdateExternalServiceStatus(ctx context.Context, obj *ExternalService, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *externalServiceClient) PatchExternalServiceStatus(ctx context.Context, obj *ExternalService, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ExternalServiceClients for multiple clusters. +type MulticlusterExternalServiceClient interface { + // Cluster returns a ExternalServiceClient for the given cluster + Cluster(cluster string) (ExternalServiceClient, error) +} + +type multiclusterExternalServiceClient struct { + client multicluster.Client +} + +func NewMulticlusterExternalServiceClient(client multicluster.Client) MulticlusterExternalServiceClient { + return &multiclusterExternalServiceClient{client: client} +} + +func (m *multiclusterExternalServiceClient) Cluster(cluster string) (ExternalServiceClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewExternalServiceClient(client), nil +} + +// Reader knows how to read and list ExternalEndpoints. +type ExternalEndpointReader interface { + // Get retrieves a ExternalEndpoint for the given object key + GetExternalEndpoint(ctx context.Context, key client.ObjectKey) (*ExternalEndpoint, error) + + // List retrieves list of ExternalEndpoints for a given namespace and list options. + ListExternalEndpoint(ctx context.Context, opts ...client.ListOption) (*ExternalEndpointList, error) +} + +// ExternalEndpointTransitionFunction instructs the ExternalEndpointWriter how to transition between an existing +// ExternalEndpoint object and a desired on an Upsert +type ExternalEndpointTransitionFunction func(existing, desired *ExternalEndpoint) error + +// Writer knows how to create, delete, and update ExternalEndpoints. +type ExternalEndpointWriter interface { + // Create saves the ExternalEndpoint object. + CreateExternalEndpoint(ctx context.Context, obj *ExternalEndpoint, opts ...client.CreateOption) error + + // Delete deletes the ExternalEndpoint object. + DeleteExternalEndpoint(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ExternalEndpoint object. + UpdateExternalEndpoint(ctx context.Context, obj *ExternalEndpoint, opts ...client.UpdateOption) error + + // Patch patches the given ExternalEndpoint object. + PatchExternalEndpoint(ctx context.Context, obj *ExternalEndpoint, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ExternalEndpoint objects matching the given options. + DeleteAllOfExternalEndpoint(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ExternalEndpoint object. + UpsertExternalEndpoint(ctx context.Context, obj *ExternalEndpoint, transitionFuncs ...ExternalEndpointTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ExternalEndpoint object. +type ExternalEndpointStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ExternalEndpoint object. + UpdateExternalEndpointStatus(ctx context.Context, obj *ExternalEndpoint, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ExternalEndpoint object's subresource. + PatchExternalEndpointStatus(ctx context.Context, obj *ExternalEndpoint, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ExternalEndpoints. +type ExternalEndpointClient interface { + ExternalEndpointReader + ExternalEndpointWriter + ExternalEndpointStatusWriter +} + +type externalEndpointClient struct { + client client.Client +} + +func NewExternalEndpointClient(client client.Client) *externalEndpointClient { + return &externalEndpointClient{client: client} +} + +func (c *externalEndpointClient) GetExternalEndpoint(ctx context.Context, key client.ObjectKey) (*ExternalEndpoint, error) { + obj := &ExternalEndpoint{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *externalEndpointClient) ListExternalEndpoint(ctx context.Context, opts ...client.ListOption) (*ExternalEndpointList, error) { + list := &ExternalEndpointList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *externalEndpointClient) CreateExternalEndpoint(ctx context.Context, obj *ExternalEndpoint, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *externalEndpointClient) DeleteExternalEndpoint(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ExternalEndpoint{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *externalEndpointClient) UpdateExternalEndpoint(ctx context.Context, obj *ExternalEndpoint, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *externalEndpointClient) PatchExternalEndpoint(ctx context.Context, obj *ExternalEndpoint, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *externalEndpointClient) DeleteAllOfExternalEndpoint(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ExternalEndpoint{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *externalEndpointClient) UpsertExternalEndpoint(ctx context.Context, obj *ExternalEndpoint, transitionFuncs ...ExternalEndpointTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ExternalEndpoint), desired.(*ExternalEndpoint)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *externalEndpointClient) UpdateExternalEndpointStatus(ctx context.Context, obj *ExternalEndpoint, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *externalEndpointClient) PatchExternalEndpointStatus(ctx context.Context, obj *ExternalEndpoint, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ExternalEndpointClients for multiple clusters. +type MulticlusterExternalEndpointClient interface { + // Cluster returns a ExternalEndpointClient for the given cluster + Cluster(cluster string) (ExternalEndpointClient, error) +} + +type multiclusterExternalEndpointClient struct { + client multicluster.Client +} + +func NewMulticlusterExternalEndpointClient(client multicluster.Client) MulticlusterExternalEndpointClient { + return &multiclusterExternalEndpointClient{client: client} +} + +func (m *multiclusterExternalEndpointClient) Cluster(cluster string) (ExternalEndpointClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewExternalEndpointClient(client), nil +} + +// Reader knows how to read and list RouteTables. +type RouteTableReader interface { + // Get retrieves a RouteTable for the given object key + GetRouteTable(ctx context.Context, key client.ObjectKey) (*RouteTable, error) + + // List retrieves list of RouteTables for a given namespace and list options. + ListRouteTable(ctx context.Context, opts ...client.ListOption) (*RouteTableList, error) +} + +// RouteTableTransitionFunction instructs the RouteTableWriter how to transition between an existing +// RouteTable object and a desired on an Upsert +type RouteTableTransitionFunction func(existing, desired *RouteTable) error + +// Writer knows how to create, delete, and update RouteTables. +type RouteTableWriter interface { + // Create saves the RouteTable object. + CreateRouteTable(ctx context.Context, obj *RouteTable, opts ...client.CreateOption) error + + // Delete deletes the RouteTable object. + DeleteRouteTable(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given RouteTable object. + UpdateRouteTable(ctx context.Context, obj *RouteTable, opts ...client.UpdateOption) error + + // Patch patches the given RouteTable object. + PatchRouteTable(ctx context.Context, obj *RouteTable, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all RouteTable objects matching the given options. + DeleteAllOfRouteTable(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the RouteTable object. + UpsertRouteTable(ctx context.Context, obj *RouteTable, transitionFuncs ...RouteTableTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a RouteTable object. +type RouteTableStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given RouteTable object. + UpdateRouteTableStatus(ctx context.Context, obj *RouteTable, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given RouteTable object's subresource. + PatchRouteTableStatus(ctx context.Context, obj *RouteTable, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on RouteTables. +type RouteTableClient interface { + RouteTableReader + RouteTableWriter + RouteTableStatusWriter +} + +type routeTableClient struct { + client client.Client +} + +func NewRouteTableClient(client client.Client) *routeTableClient { + return &routeTableClient{client: client} +} + +func (c *routeTableClient) GetRouteTable(ctx context.Context, key client.ObjectKey) (*RouteTable, error) { + obj := &RouteTable{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *routeTableClient) ListRouteTable(ctx context.Context, opts ...client.ListOption) (*RouteTableList, error) { + list := &RouteTableList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *routeTableClient) CreateRouteTable(ctx context.Context, obj *RouteTable, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *routeTableClient) DeleteRouteTable(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &RouteTable{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *routeTableClient) UpdateRouteTable(ctx context.Context, obj *RouteTable, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *routeTableClient) PatchRouteTable(ctx context.Context, obj *RouteTable, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *routeTableClient) DeleteAllOfRouteTable(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &RouteTable{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *routeTableClient) UpsertRouteTable(ctx context.Context, obj *RouteTable, transitionFuncs ...RouteTableTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*RouteTable), desired.(*RouteTable)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *routeTableClient) UpdateRouteTableStatus(ctx context.Context, obj *RouteTable, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *routeTableClient) PatchRouteTableStatus(ctx context.Context, obj *RouteTable, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides RouteTableClients for multiple clusters. +type MulticlusterRouteTableClient interface { + // Cluster returns a RouteTableClient for the given cluster + Cluster(cluster string) (RouteTableClient, error) +} + +type multiclusterRouteTableClient struct { + client multicluster.Client +} + +func NewMulticlusterRouteTableClient(client multicluster.Client) MulticlusterRouteTableClient { + return &multiclusterRouteTableClient{client: client} +} + +func (m *multiclusterRouteTableClient) Cluster(cluster string) (RouteTableClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewRouteTableClient(client), nil +} + +// Reader knows how to read and list VirtualDestinations. +type VirtualDestinationReader interface { + // Get retrieves a VirtualDestination for the given object key + GetVirtualDestination(ctx context.Context, key client.ObjectKey) (*VirtualDestination, error) + + // List retrieves list of VirtualDestinations for a given namespace and list options. + ListVirtualDestination(ctx context.Context, opts ...client.ListOption) (*VirtualDestinationList, error) +} + +// VirtualDestinationTransitionFunction instructs the VirtualDestinationWriter how to transition between an existing +// VirtualDestination object and a desired on an Upsert +type VirtualDestinationTransitionFunction func(existing, desired *VirtualDestination) error + +// Writer knows how to create, delete, and update VirtualDestinations. +type VirtualDestinationWriter interface { + // Create saves the VirtualDestination object. + CreateVirtualDestination(ctx context.Context, obj *VirtualDestination, opts ...client.CreateOption) error + + // Delete deletes the VirtualDestination object. + DeleteVirtualDestination(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given VirtualDestination object. + UpdateVirtualDestination(ctx context.Context, obj *VirtualDestination, opts ...client.UpdateOption) error + + // Patch patches the given VirtualDestination object. + PatchVirtualDestination(ctx context.Context, obj *VirtualDestination, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all VirtualDestination objects matching the given options. + DeleteAllOfVirtualDestination(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the VirtualDestination object. + UpsertVirtualDestination(ctx context.Context, obj *VirtualDestination, transitionFuncs ...VirtualDestinationTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a VirtualDestination object. +type VirtualDestinationStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given VirtualDestination object. + UpdateVirtualDestinationStatus(ctx context.Context, obj *VirtualDestination, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given VirtualDestination object's subresource. + PatchVirtualDestinationStatus(ctx context.Context, obj *VirtualDestination, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on VirtualDestinations. +type VirtualDestinationClient interface { + VirtualDestinationReader + VirtualDestinationWriter + VirtualDestinationStatusWriter +} + +type virtualDestinationClient struct { + client client.Client +} + +func NewVirtualDestinationClient(client client.Client) *virtualDestinationClient { + return &virtualDestinationClient{client: client} +} + +func (c *virtualDestinationClient) GetVirtualDestination(ctx context.Context, key client.ObjectKey) (*VirtualDestination, error) { + obj := &VirtualDestination{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *virtualDestinationClient) ListVirtualDestination(ctx context.Context, opts ...client.ListOption) (*VirtualDestinationList, error) { + list := &VirtualDestinationList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *virtualDestinationClient) CreateVirtualDestination(ctx context.Context, obj *VirtualDestination, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *virtualDestinationClient) DeleteVirtualDestination(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &VirtualDestination{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *virtualDestinationClient) UpdateVirtualDestination(ctx context.Context, obj *VirtualDestination, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *virtualDestinationClient) PatchVirtualDestination(ctx context.Context, obj *VirtualDestination, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *virtualDestinationClient) DeleteAllOfVirtualDestination(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &VirtualDestination{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *virtualDestinationClient) UpsertVirtualDestination(ctx context.Context, obj *VirtualDestination, transitionFuncs ...VirtualDestinationTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*VirtualDestination), desired.(*VirtualDestination)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *virtualDestinationClient) UpdateVirtualDestinationStatus(ctx context.Context, obj *VirtualDestination, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *virtualDestinationClient) PatchVirtualDestinationStatus(ctx context.Context, obj *VirtualDestination, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides VirtualDestinationClients for multiple clusters. +type MulticlusterVirtualDestinationClient interface { + // Cluster returns a VirtualDestinationClient for the given cluster + Cluster(cluster string) (VirtualDestinationClient, error) +} + +type multiclusterVirtualDestinationClient struct { + client multicluster.Client +} + +func NewMulticlusterVirtualDestinationClient(client multicluster.Client) MulticlusterVirtualDestinationClient { + return &multiclusterVirtualDestinationClient{client: client} +} + +func (m *multiclusterVirtualDestinationClient) Cluster(cluster string) (VirtualDestinationClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewVirtualDestinationClient(client), nil +} + +// Reader knows how to read and list VirtualGateways. +type VirtualGatewayReader interface { + // Get retrieves a VirtualGateway for the given object key + GetVirtualGateway(ctx context.Context, key client.ObjectKey) (*VirtualGateway, error) + + // List retrieves list of VirtualGateways for a given namespace and list options. + ListVirtualGateway(ctx context.Context, opts ...client.ListOption) (*VirtualGatewayList, error) +} + +// VirtualGatewayTransitionFunction instructs the VirtualGatewayWriter how to transition between an existing +// VirtualGateway object and a desired on an Upsert +type VirtualGatewayTransitionFunction func(existing, desired *VirtualGateway) error + +// Writer knows how to create, delete, and update VirtualGateways. +type VirtualGatewayWriter interface { + // Create saves the VirtualGateway object. + CreateVirtualGateway(ctx context.Context, obj *VirtualGateway, opts ...client.CreateOption) error + + // Delete deletes the VirtualGateway object. + DeleteVirtualGateway(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given VirtualGateway object. + UpdateVirtualGateway(ctx context.Context, obj *VirtualGateway, opts ...client.UpdateOption) error + + // Patch patches the given VirtualGateway object. + PatchVirtualGateway(ctx context.Context, obj *VirtualGateway, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all VirtualGateway objects matching the given options. + DeleteAllOfVirtualGateway(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the VirtualGateway object. + UpsertVirtualGateway(ctx context.Context, obj *VirtualGateway, transitionFuncs ...VirtualGatewayTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a VirtualGateway object. +type VirtualGatewayStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given VirtualGateway object. + UpdateVirtualGatewayStatus(ctx context.Context, obj *VirtualGateway, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given VirtualGateway object's subresource. + PatchVirtualGatewayStatus(ctx context.Context, obj *VirtualGateway, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on VirtualGateways. +type VirtualGatewayClient interface { + VirtualGatewayReader + VirtualGatewayWriter + VirtualGatewayStatusWriter +} + +type virtualGatewayClient struct { + client client.Client +} + +func NewVirtualGatewayClient(client client.Client) *virtualGatewayClient { + return &virtualGatewayClient{client: client} +} + +func (c *virtualGatewayClient) GetVirtualGateway(ctx context.Context, key client.ObjectKey) (*VirtualGateway, error) { + obj := &VirtualGateway{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *virtualGatewayClient) ListVirtualGateway(ctx context.Context, opts ...client.ListOption) (*VirtualGatewayList, error) { + list := &VirtualGatewayList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *virtualGatewayClient) CreateVirtualGateway(ctx context.Context, obj *VirtualGateway, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *virtualGatewayClient) DeleteVirtualGateway(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &VirtualGateway{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *virtualGatewayClient) UpdateVirtualGateway(ctx context.Context, obj *VirtualGateway, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *virtualGatewayClient) PatchVirtualGateway(ctx context.Context, obj *VirtualGateway, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *virtualGatewayClient) DeleteAllOfVirtualGateway(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &VirtualGateway{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *virtualGatewayClient) UpsertVirtualGateway(ctx context.Context, obj *VirtualGateway, transitionFuncs ...VirtualGatewayTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*VirtualGateway), desired.(*VirtualGateway)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *virtualGatewayClient) UpdateVirtualGatewayStatus(ctx context.Context, obj *VirtualGateway, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *virtualGatewayClient) PatchVirtualGatewayStatus(ctx context.Context, obj *VirtualGateway, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides VirtualGatewayClients for multiple clusters. +type MulticlusterVirtualGatewayClient interface { + // Cluster returns a VirtualGatewayClient for the given cluster + Cluster(cluster string) (VirtualGatewayClient, error) +} + +type multiclusterVirtualGatewayClient struct { + client multicluster.Client +} + +func NewMulticlusterVirtualGatewayClient(client multicluster.Client) MulticlusterVirtualGatewayClient { + return &multiclusterVirtualGatewayClient{client: client} +} + +func (m *multiclusterVirtualGatewayClient) Cluster(cluster string) (VirtualGatewayClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewVirtualGatewayClient(client), nil +} diff --git a/client-go/networking.gloo.solo.io/v2/config_types.go b/client-go/networking.gloo.solo.io/v2/config_types.go new file mode 100644 index 000000000..235a4db4c --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/config_types.go @@ -0,0 +1,19 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2 + +// IsConfigObject implements ConfigObject interface for ExternalService +func (o *ExternalService) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for ExternalEndpoint +func (o *ExternalEndpoint) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for RouteTable +func (o *RouteTable) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for VirtualDestination +func (o *VirtualDestination) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for VirtualGateway +func (o *VirtualGateway) IsConfigObject() {} diff --git a/client-go/networking.gloo.solo.io/v2/controller/event_handlers.go b/client-go/networking.gloo.solo.io/v2/controller/event_handlers.go new file mode 100644 index 000000000..64e963f31 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/controller/event_handlers.go @@ -0,0 +1,553 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + networking_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the ExternalService Resource +// DEPRECATED: Prefer reconciler pattern. +type ExternalServiceEventHandler interface { + CreateExternalService(obj *networking_gloo_solo_io_v2.ExternalService) error + UpdateExternalService(old, new *networking_gloo_solo_io_v2.ExternalService) error + DeleteExternalService(obj *networking_gloo_solo_io_v2.ExternalService) error + GenericExternalService(obj *networking_gloo_solo_io_v2.ExternalService) error +} + +type ExternalServiceEventHandlerFuncs struct { + OnCreate func(obj *networking_gloo_solo_io_v2.ExternalService) error + OnUpdate func(old, new *networking_gloo_solo_io_v2.ExternalService) error + OnDelete func(obj *networking_gloo_solo_io_v2.ExternalService) error + OnGeneric func(obj *networking_gloo_solo_io_v2.ExternalService) error +} + +func (f *ExternalServiceEventHandlerFuncs) CreateExternalService(obj *networking_gloo_solo_io_v2.ExternalService) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ExternalServiceEventHandlerFuncs) DeleteExternalService(obj *networking_gloo_solo_io_v2.ExternalService) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ExternalServiceEventHandlerFuncs) UpdateExternalService(objOld, objNew *networking_gloo_solo_io_v2.ExternalService) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ExternalServiceEventHandlerFuncs) GenericExternalService(obj *networking_gloo_solo_io_v2.ExternalService) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ExternalServiceEventWatcher interface { + AddEventHandler(ctx context.Context, h ExternalServiceEventHandler, predicates ...predicate.Predicate) error +} + +type externalServiceEventWatcher struct { + watcher events.EventWatcher +} + +func NewExternalServiceEventWatcher(name string, mgr manager.Manager) ExternalServiceEventWatcher { + return &externalServiceEventWatcher{ + watcher: events.NewWatcher(name, mgr, &networking_gloo_solo_io_v2.ExternalService{}), + } +} + +func (c *externalServiceEventWatcher) AddEventHandler(ctx context.Context, h ExternalServiceEventHandler, predicates ...predicate.Predicate) error { + handler := genericExternalServiceHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericExternalServiceHandler implements a generic events.EventHandler +type genericExternalServiceHandler struct { + handler ExternalServiceEventHandler +} + +func (h genericExternalServiceHandler) Create(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.ExternalService) + if !ok { + return errors.Errorf("internal error: ExternalService handler received event for %T", object) + } + return h.handler.CreateExternalService(obj) +} + +func (h genericExternalServiceHandler) Delete(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.ExternalService) + if !ok { + return errors.Errorf("internal error: ExternalService handler received event for %T", object) + } + return h.handler.DeleteExternalService(obj) +} + +func (h genericExternalServiceHandler) Update(old, new client.Object) error { + objOld, ok := old.(*networking_gloo_solo_io_v2.ExternalService) + if !ok { + return errors.Errorf("internal error: ExternalService handler received event for %T", old) + } + objNew, ok := new.(*networking_gloo_solo_io_v2.ExternalService) + if !ok { + return errors.Errorf("internal error: ExternalService handler received event for %T", new) + } + return h.handler.UpdateExternalService(objOld, objNew) +} + +func (h genericExternalServiceHandler) Generic(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.ExternalService) + if !ok { + return errors.Errorf("internal error: ExternalService handler received event for %T", object) + } + return h.handler.GenericExternalService(obj) +} + +// Handle events for the ExternalEndpoint Resource +// DEPRECATED: Prefer reconciler pattern. +type ExternalEndpointEventHandler interface { + CreateExternalEndpoint(obj *networking_gloo_solo_io_v2.ExternalEndpoint) error + UpdateExternalEndpoint(old, new *networking_gloo_solo_io_v2.ExternalEndpoint) error + DeleteExternalEndpoint(obj *networking_gloo_solo_io_v2.ExternalEndpoint) error + GenericExternalEndpoint(obj *networking_gloo_solo_io_v2.ExternalEndpoint) error +} + +type ExternalEndpointEventHandlerFuncs struct { + OnCreate func(obj *networking_gloo_solo_io_v2.ExternalEndpoint) error + OnUpdate func(old, new *networking_gloo_solo_io_v2.ExternalEndpoint) error + OnDelete func(obj *networking_gloo_solo_io_v2.ExternalEndpoint) error + OnGeneric func(obj *networking_gloo_solo_io_v2.ExternalEndpoint) error +} + +func (f *ExternalEndpointEventHandlerFuncs) CreateExternalEndpoint(obj *networking_gloo_solo_io_v2.ExternalEndpoint) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ExternalEndpointEventHandlerFuncs) DeleteExternalEndpoint(obj *networking_gloo_solo_io_v2.ExternalEndpoint) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ExternalEndpointEventHandlerFuncs) UpdateExternalEndpoint(objOld, objNew *networking_gloo_solo_io_v2.ExternalEndpoint) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ExternalEndpointEventHandlerFuncs) GenericExternalEndpoint(obj *networking_gloo_solo_io_v2.ExternalEndpoint) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ExternalEndpointEventWatcher interface { + AddEventHandler(ctx context.Context, h ExternalEndpointEventHandler, predicates ...predicate.Predicate) error +} + +type externalEndpointEventWatcher struct { + watcher events.EventWatcher +} + +func NewExternalEndpointEventWatcher(name string, mgr manager.Manager) ExternalEndpointEventWatcher { + return &externalEndpointEventWatcher{ + watcher: events.NewWatcher(name, mgr, &networking_gloo_solo_io_v2.ExternalEndpoint{}), + } +} + +func (c *externalEndpointEventWatcher) AddEventHandler(ctx context.Context, h ExternalEndpointEventHandler, predicates ...predicate.Predicate) error { + handler := genericExternalEndpointHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericExternalEndpointHandler implements a generic events.EventHandler +type genericExternalEndpointHandler struct { + handler ExternalEndpointEventHandler +} + +func (h genericExternalEndpointHandler) Create(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.ExternalEndpoint) + if !ok { + return errors.Errorf("internal error: ExternalEndpoint handler received event for %T", object) + } + return h.handler.CreateExternalEndpoint(obj) +} + +func (h genericExternalEndpointHandler) Delete(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.ExternalEndpoint) + if !ok { + return errors.Errorf("internal error: ExternalEndpoint handler received event for %T", object) + } + return h.handler.DeleteExternalEndpoint(obj) +} + +func (h genericExternalEndpointHandler) Update(old, new client.Object) error { + objOld, ok := old.(*networking_gloo_solo_io_v2.ExternalEndpoint) + if !ok { + return errors.Errorf("internal error: ExternalEndpoint handler received event for %T", old) + } + objNew, ok := new.(*networking_gloo_solo_io_v2.ExternalEndpoint) + if !ok { + return errors.Errorf("internal error: ExternalEndpoint handler received event for %T", new) + } + return h.handler.UpdateExternalEndpoint(objOld, objNew) +} + +func (h genericExternalEndpointHandler) Generic(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.ExternalEndpoint) + if !ok { + return errors.Errorf("internal error: ExternalEndpoint handler received event for %T", object) + } + return h.handler.GenericExternalEndpoint(obj) +} + +// Handle events for the RouteTable Resource +// DEPRECATED: Prefer reconciler pattern. +type RouteTableEventHandler interface { + CreateRouteTable(obj *networking_gloo_solo_io_v2.RouteTable) error + UpdateRouteTable(old, new *networking_gloo_solo_io_v2.RouteTable) error + DeleteRouteTable(obj *networking_gloo_solo_io_v2.RouteTable) error + GenericRouteTable(obj *networking_gloo_solo_io_v2.RouteTable) error +} + +type RouteTableEventHandlerFuncs struct { + OnCreate func(obj *networking_gloo_solo_io_v2.RouteTable) error + OnUpdate func(old, new *networking_gloo_solo_io_v2.RouteTable) error + OnDelete func(obj *networking_gloo_solo_io_v2.RouteTable) error + OnGeneric func(obj *networking_gloo_solo_io_v2.RouteTable) error +} + +func (f *RouteTableEventHandlerFuncs) CreateRouteTable(obj *networking_gloo_solo_io_v2.RouteTable) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *RouteTableEventHandlerFuncs) DeleteRouteTable(obj *networking_gloo_solo_io_v2.RouteTable) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *RouteTableEventHandlerFuncs) UpdateRouteTable(objOld, objNew *networking_gloo_solo_io_v2.RouteTable) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *RouteTableEventHandlerFuncs) GenericRouteTable(obj *networking_gloo_solo_io_v2.RouteTable) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type RouteTableEventWatcher interface { + AddEventHandler(ctx context.Context, h RouteTableEventHandler, predicates ...predicate.Predicate) error +} + +type routeTableEventWatcher struct { + watcher events.EventWatcher +} + +func NewRouteTableEventWatcher(name string, mgr manager.Manager) RouteTableEventWatcher { + return &routeTableEventWatcher{ + watcher: events.NewWatcher(name, mgr, &networking_gloo_solo_io_v2.RouteTable{}), + } +} + +func (c *routeTableEventWatcher) AddEventHandler(ctx context.Context, h RouteTableEventHandler, predicates ...predicate.Predicate) error { + handler := genericRouteTableHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericRouteTableHandler implements a generic events.EventHandler +type genericRouteTableHandler struct { + handler RouteTableEventHandler +} + +func (h genericRouteTableHandler) Create(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.RouteTable) + if !ok { + return errors.Errorf("internal error: RouteTable handler received event for %T", object) + } + return h.handler.CreateRouteTable(obj) +} + +func (h genericRouteTableHandler) Delete(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.RouteTable) + if !ok { + return errors.Errorf("internal error: RouteTable handler received event for %T", object) + } + return h.handler.DeleteRouteTable(obj) +} + +func (h genericRouteTableHandler) Update(old, new client.Object) error { + objOld, ok := old.(*networking_gloo_solo_io_v2.RouteTable) + if !ok { + return errors.Errorf("internal error: RouteTable handler received event for %T", old) + } + objNew, ok := new.(*networking_gloo_solo_io_v2.RouteTable) + if !ok { + return errors.Errorf("internal error: RouteTable handler received event for %T", new) + } + return h.handler.UpdateRouteTable(objOld, objNew) +} + +func (h genericRouteTableHandler) Generic(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.RouteTable) + if !ok { + return errors.Errorf("internal error: RouteTable handler received event for %T", object) + } + return h.handler.GenericRouteTable(obj) +} + +// Handle events for the VirtualDestination Resource +// DEPRECATED: Prefer reconciler pattern. +type VirtualDestinationEventHandler interface { + CreateVirtualDestination(obj *networking_gloo_solo_io_v2.VirtualDestination) error + UpdateVirtualDestination(old, new *networking_gloo_solo_io_v2.VirtualDestination) error + DeleteVirtualDestination(obj *networking_gloo_solo_io_v2.VirtualDestination) error + GenericVirtualDestination(obj *networking_gloo_solo_io_v2.VirtualDestination) error +} + +type VirtualDestinationEventHandlerFuncs struct { + OnCreate func(obj *networking_gloo_solo_io_v2.VirtualDestination) error + OnUpdate func(old, new *networking_gloo_solo_io_v2.VirtualDestination) error + OnDelete func(obj *networking_gloo_solo_io_v2.VirtualDestination) error + OnGeneric func(obj *networking_gloo_solo_io_v2.VirtualDestination) error +} + +func (f *VirtualDestinationEventHandlerFuncs) CreateVirtualDestination(obj *networking_gloo_solo_io_v2.VirtualDestination) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *VirtualDestinationEventHandlerFuncs) DeleteVirtualDestination(obj *networking_gloo_solo_io_v2.VirtualDestination) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *VirtualDestinationEventHandlerFuncs) UpdateVirtualDestination(objOld, objNew *networking_gloo_solo_io_v2.VirtualDestination) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *VirtualDestinationEventHandlerFuncs) GenericVirtualDestination(obj *networking_gloo_solo_io_v2.VirtualDestination) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type VirtualDestinationEventWatcher interface { + AddEventHandler(ctx context.Context, h VirtualDestinationEventHandler, predicates ...predicate.Predicate) error +} + +type virtualDestinationEventWatcher struct { + watcher events.EventWatcher +} + +func NewVirtualDestinationEventWatcher(name string, mgr manager.Manager) VirtualDestinationEventWatcher { + return &virtualDestinationEventWatcher{ + watcher: events.NewWatcher(name, mgr, &networking_gloo_solo_io_v2.VirtualDestination{}), + } +} + +func (c *virtualDestinationEventWatcher) AddEventHandler(ctx context.Context, h VirtualDestinationEventHandler, predicates ...predicate.Predicate) error { + handler := genericVirtualDestinationHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericVirtualDestinationHandler implements a generic events.EventHandler +type genericVirtualDestinationHandler struct { + handler VirtualDestinationEventHandler +} + +func (h genericVirtualDestinationHandler) Create(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.VirtualDestination) + if !ok { + return errors.Errorf("internal error: VirtualDestination handler received event for %T", object) + } + return h.handler.CreateVirtualDestination(obj) +} + +func (h genericVirtualDestinationHandler) Delete(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.VirtualDestination) + if !ok { + return errors.Errorf("internal error: VirtualDestination handler received event for %T", object) + } + return h.handler.DeleteVirtualDestination(obj) +} + +func (h genericVirtualDestinationHandler) Update(old, new client.Object) error { + objOld, ok := old.(*networking_gloo_solo_io_v2.VirtualDestination) + if !ok { + return errors.Errorf("internal error: VirtualDestination handler received event for %T", old) + } + objNew, ok := new.(*networking_gloo_solo_io_v2.VirtualDestination) + if !ok { + return errors.Errorf("internal error: VirtualDestination handler received event for %T", new) + } + return h.handler.UpdateVirtualDestination(objOld, objNew) +} + +func (h genericVirtualDestinationHandler) Generic(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.VirtualDestination) + if !ok { + return errors.Errorf("internal error: VirtualDestination handler received event for %T", object) + } + return h.handler.GenericVirtualDestination(obj) +} + +// Handle events for the VirtualGateway Resource +// DEPRECATED: Prefer reconciler pattern. +type VirtualGatewayEventHandler interface { + CreateVirtualGateway(obj *networking_gloo_solo_io_v2.VirtualGateway) error + UpdateVirtualGateway(old, new *networking_gloo_solo_io_v2.VirtualGateway) error + DeleteVirtualGateway(obj *networking_gloo_solo_io_v2.VirtualGateway) error + GenericVirtualGateway(obj *networking_gloo_solo_io_v2.VirtualGateway) error +} + +type VirtualGatewayEventHandlerFuncs struct { + OnCreate func(obj *networking_gloo_solo_io_v2.VirtualGateway) error + OnUpdate func(old, new *networking_gloo_solo_io_v2.VirtualGateway) error + OnDelete func(obj *networking_gloo_solo_io_v2.VirtualGateway) error + OnGeneric func(obj *networking_gloo_solo_io_v2.VirtualGateway) error +} + +func (f *VirtualGatewayEventHandlerFuncs) CreateVirtualGateway(obj *networking_gloo_solo_io_v2.VirtualGateway) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *VirtualGatewayEventHandlerFuncs) DeleteVirtualGateway(obj *networking_gloo_solo_io_v2.VirtualGateway) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *VirtualGatewayEventHandlerFuncs) UpdateVirtualGateway(objOld, objNew *networking_gloo_solo_io_v2.VirtualGateway) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *VirtualGatewayEventHandlerFuncs) GenericVirtualGateway(obj *networking_gloo_solo_io_v2.VirtualGateway) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type VirtualGatewayEventWatcher interface { + AddEventHandler(ctx context.Context, h VirtualGatewayEventHandler, predicates ...predicate.Predicate) error +} + +type virtualGatewayEventWatcher struct { + watcher events.EventWatcher +} + +func NewVirtualGatewayEventWatcher(name string, mgr manager.Manager) VirtualGatewayEventWatcher { + return &virtualGatewayEventWatcher{ + watcher: events.NewWatcher(name, mgr, &networking_gloo_solo_io_v2.VirtualGateway{}), + } +} + +func (c *virtualGatewayEventWatcher) AddEventHandler(ctx context.Context, h VirtualGatewayEventHandler, predicates ...predicate.Predicate) error { + handler := genericVirtualGatewayHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericVirtualGatewayHandler implements a generic events.EventHandler +type genericVirtualGatewayHandler struct { + handler VirtualGatewayEventHandler +} + +func (h genericVirtualGatewayHandler) Create(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.VirtualGateway) + if !ok { + return errors.Errorf("internal error: VirtualGateway handler received event for %T", object) + } + return h.handler.CreateVirtualGateway(obj) +} + +func (h genericVirtualGatewayHandler) Delete(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.VirtualGateway) + if !ok { + return errors.Errorf("internal error: VirtualGateway handler received event for %T", object) + } + return h.handler.DeleteVirtualGateway(obj) +} + +func (h genericVirtualGatewayHandler) Update(old, new client.Object) error { + objOld, ok := old.(*networking_gloo_solo_io_v2.VirtualGateway) + if !ok { + return errors.Errorf("internal error: VirtualGateway handler received event for %T", old) + } + objNew, ok := new.(*networking_gloo_solo_io_v2.VirtualGateway) + if !ok { + return errors.Errorf("internal error: VirtualGateway handler received event for %T", new) + } + return h.handler.UpdateVirtualGateway(objOld, objNew) +} + +func (h genericVirtualGatewayHandler) Generic(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.VirtualGateway) + if !ok { + return errors.Errorf("internal error: VirtualGateway handler received event for %T", object) + } + return h.handler.GenericVirtualGateway(obj) +} diff --git a/client-go/networking.gloo.solo.io/v2/controller/mocks/event_handlers.go b/client-go/networking.gloo.solo.io/v2/controller/mocks/event_handlers.go new file mode 100644 index 000000000..510b0083a --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/controller/mocks/event_handlers.go @@ -0,0 +1,621 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2/controller" +) + +// MockExternalServiceEventHandler is a mock of ExternalServiceEventHandler interface. +type MockExternalServiceEventHandler struct { + ctrl *gomock.Controller + recorder *MockExternalServiceEventHandlerMockRecorder +} + +// MockExternalServiceEventHandlerMockRecorder is the mock recorder for MockExternalServiceEventHandler. +type MockExternalServiceEventHandlerMockRecorder struct { + mock *MockExternalServiceEventHandler +} + +// NewMockExternalServiceEventHandler creates a new mock instance. +func NewMockExternalServiceEventHandler(ctrl *gomock.Controller) *MockExternalServiceEventHandler { + mock := &MockExternalServiceEventHandler{ctrl: ctrl} + mock.recorder = &MockExternalServiceEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalServiceEventHandler) EXPECT() *MockExternalServiceEventHandlerMockRecorder { + return m.recorder +} + +// CreateExternalService mocks base method. +func (m *MockExternalServiceEventHandler) CreateExternalService(obj *v2.ExternalService) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateExternalService", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExternalService indicates an expected call of CreateExternalService. +func (mr *MockExternalServiceEventHandlerMockRecorder) CreateExternalService(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExternalService", reflect.TypeOf((*MockExternalServiceEventHandler)(nil).CreateExternalService), obj) +} + +// DeleteExternalService mocks base method. +func (m *MockExternalServiceEventHandler) DeleteExternalService(obj *v2.ExternalService) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteExternalService", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExternalService indicates an expected call of DeleteExternalService. +func (mr *MockExternalServiceEventHandlerMockRecorder) DeleteExternalService(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExternalService", reflect.TypeOf((*MockExternalServiceEventHandler)(nil).DeleteExternalService), obj) +} + +// GenericExternalService mocks base method. +func (m *MockExternalServiceEventHandler) GenericExternalService(obj *v2.ExternalService) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericExternalService", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericExternalService indicates an expected call of GenericExternalService. +func (mr *MockExternalServiceEventHandlerMockRecorder) GenericExternalService(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericExternalService", reflect.TypeOf((*MockExternalServiceEventHandler)(nil).GenericExternalService), obj) +} + +// UpdateExternalService mocks base method. +func (m *MockExternalServiceEventHandler) UpdateExternalService(old, new *v2.ExternalService) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateExternalService", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalService indicates an expected call of UpdateExternalService. +func (mr *MockExternalServiceEventHandlerMockRecorder) UpdateExternalService(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalService", reflect.TypeOf((*MockExternalServiceEventHandler)(nil).UpdateExternalService), old, new) +} + +// MockExternalServiceEventWatcher is a mock of ExternalServiceEventWatcher interface. +type MockExternalServiceEventWatcher struct { + ctrl *gomock.Controller + recorder *MockExternalServiceEventWatcherMockRecorder +} + +// MockExternalServiceEventWatcherMockRecorder is the mock recorder for MockExternalServiceEventWatcher. +type MockExternalServiceEventWatcherMockRecorder struct { + mock *MockExternalServiceEventWatcher +} + +// NewMockExternalServiceEventWatcher creates a new mock instance. +func NewMockExternalServiceEventWatcher(ctrl *gomock.Controller) *MockExternalServiceEventWatcher { + mock := &MockExternalServiceEventWatcher{ctrl: ctrl} + mock.recorder = &MockExternalServiceEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalServiceEventWatcher) EXPECT() *MockExternalServiceEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockExternalServiceEventWatcher) AddEventHandler(ctx context.Context, h controller.ExternalServiceEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockExternalServiceEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockExternalServiceEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockExternalEndpointEventHandler is a mock of ExternalEndpointEventHandler interface. +type MockExternalEndpointEventHandler struct { + ctrl *gomock.Controller + recorder *MockExternalEndpointEventHandlerMockRecorder +} + +// MockExternalEndpointEventHandlerMockRecorder is the mock recorder for MockExternalEndpointEventHandler. +type MockExternalEndpointEventHandlerMockRecorder struct { + mock *MockExternalEndpointEventHandler +} + +// NewMockExternalEndpointEventHandler creates a new mock instance. +func NewMockExternalEndpointEventHandler(ctrl *gomock.Controller) *MockExternalEndpointEventHandler { + mock := &MockExternalEndpointEventHandler{ctrl: ctrl} + mock.recorder = &MockExternalEndpointEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalEndpointEventHandler) EXPECT() *MockExternalEndpointEventHandlerMockRecorder { + return m.recorder +} + +// CreateExternalEndpoint mocks base method. +func (m *MockExternalEndpointEventHandler) CreateExternalEndpoint(obj *v2.ExternalEndpoint) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateExternalEndpoint", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExternalEndpoint indicates an expected call of CreateExternalEndpoint. +func (mr *MockExternalEndpointEventHandlerMockRecorder) CreateExternalEndpoint(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExternalEndpoint", reflect.TypeOf((*MockExternalEndpointEventHandler)(nil).CreateExternalEndpoint), obj) +} + +// DeleteExternalEndpoint mocks base method. +func (m *MockExternalEndpointEventHandler) DeleteExternalEndpoint(obj *v2.ExternalEndpoint) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteExternalEndpoint", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExternalEndpoint indicates an expected call of DeleteExternalEndpoint. +func (mr *MockExternalEndpointEventHandlerMockRecorder) DeleteExternalEndpoint(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExternalEndpoint", reflect.TypeOf((*MockExternalEndpointEventHandler)(nil).DeleteExternalEndpoint), obj) +} + +// GenericExternalEndpoint mocks base method. +func (m *MockExternalEndpointEventHandler) GenericExternalEndpoint(obj *v2.ExternalEndpoint) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericExternalEndpoint", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericExternalEndpoint indicates an expected call of GenericExternalEndpoint. +func (mr *MockExternalEndpointEventHandlerMockRecorder) GenericExternalEndpoint(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericExternalEndpoint", reflect.TypeOf((*MockExternalEndpointEventHandler)(nil).GenericExternalEndpoint), obj) +} + +// UpdateExternalEndpoint mocks base method. +func (m *MockExternalEndpointEventHandler) UpdateExternalEndpoint(old, new *v2.ExternalEndpoint) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateExternalEndpoint", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalEndpoint indicates an expected call of UpdateExternalEndpoint. +func (mr *MockExternalEndpointEventHandlerMockRecorder) UpdateExternalEndpoint(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalEndpoint", reflect.TypeOf((*MockExternalEndpointEventHandler)(nil).UpdateExternalEndpoint), old, new) +} + +// MockExternalEndpointEventWatcher is a mock of ExternalEndpointEventWatcher interface. +type MockExternalEndpointEventWatcher struct { + ctrl *gomock.Controller + recorder *MockExternalEndpointEventWatcherMockRecorder +} + +// MockExternalEndpointEventWatcherMockRecorder is the mock recorder for MockExternalEndpointEventWatcher. +type MockExternalEndpointEventWatcherMockRecorder struct { + mock *MockExternalEndpointEventWatcher +} + +// NewMockExternalEndpointEventWatcher creates a new mock instance. +func NewMockExternalEndpointEventWatcher(ctrl *gomock.Controller) *MockExternalEndpointEventWatcher { + mock := &MockExternalEndpointEventWatcher{ctrl: ctrl} + mock.recorder = &MockExternalEndpointEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalEndpointEventWatcher) EXPECT() *MockExternalEndpointEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockExternalEndpointEventWatcher) AddEventHandler(ctx context.Context, h controller.ExternalEndpointEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockExternalEndpointEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockExternalEndpointEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockRouteTableEventHandler is a mock of RouteTableEventHandler interface. +type MockRouteTableEventHandler struct { + ctrl *gomock.Controller + recorder *MockRouteTableEventHandlerMockRecorder +} + +// MockRouteTableEventHandlerMockRecorder is the mock recorder for MockRouteTableEventHandler. +type MockRouteTableEventHandlerMockRecorder struct { + mock *MockRouteTableEventHandler +} + +// NewMockRouteTableEventHandler creates a new mock instance. +func NewMockRouteTableEventHandler(ctrl *gomock.Controller) *MockRouteTableEventHandler { + mock := &MockRouteTableEventHandler{ctrl: ctrl} + mock.recorder = &MockRouteTableEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRouteTableEventHandler) EXPECT() *MockRouteTableEventHandlerMockRecorder { + return m.recorder +} + +// CreateRouteTable mocks base method. +func (m *MockRouteTableEventHandler) CreateRouteTable(obj *v2.RouteTable) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateRouteTable", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRouteTable indicates an expected call of CreateRouteTable. +func (mr *MockRouteTableEventHandlerMockRecorder) CreateRouteTable(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRouteTable", reflect.TypeOf((*MockRouteTableEventHandler)(nil).CreateRouteTable), obj) +} + +// DeleteRouteTable mocks base method. +func (m *MockRouteTableEventHandler) DeleteRouteTable(obj *v2.RouteTable) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteRouteTable", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRouteTable indicates an expected call of DeleteRouteTable. +func (mr *MockRouteTableEventHandlerMockRecorder) DeleteRouteTable(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRouteTable", reflect.TypeOf((*MockRouteTableEventHandler)(nil).DeleteRouteTable), obj) +} + +// GenericRouteTable mocks base method. +func (m *MockRouteTableEventHandler) GenericRouteTable(obj *v2.RouteTable) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericRouteTable", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericRouteTable indicates an expected call of GenericRouteTable. +func (mr *MockRouteTableEventHandlerMockRecorder) GenericRouteTable(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericRouteTable", reflect.TypeOf((*MockRouteTableEventHandler)(nil).GenericRouteTable), obj) +} + +// UpdateRouteTable mocks base method. +func (m *MockRouteTableEventHandler) UpdateRouteTable(old, new *v2.RouteTable) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateRouteTable", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRouteTable indicates an expected call of UpdateRouteTable. +func (mr *MockRouteTableEventHandlerMockRecorder) UpdateRouteTable(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRouteTable", reflect.TypeOf((*MockRouteTableEventHandler)(nil).UpdateRouteTable), old, new) +} + +// MockRouteTableEventWatcher is a mock of RouteTableEventWatcher interface. +type MockRouteTableEventWatcher struct { + ctrl *gomock.Controller + recorder *MockRouteTableEventWatcherMockRecorder +} + +// MockRouteTableEventWatcherMockRecorder is the mock recorder for MockRouteTableEventWatcher. +type MockRouteTableEventWatcherMockRecorder struct { + mock *MockRouteTableEventWatcher +} + +// NewMockRouteTableEventWatcher creates a new mock instance. +func NewMockRouteTableEventWatcher(ctrl *gomock.Controller) *MockRouteTableEventWatcher { + mock := &MockRouteTableEventWatcher{ctrl: ctrl} + mock.recorder = &MockRouteTableEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRouteTableEventWatcher) EXPECT() *MockRouteTableEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockRouteTableEventWatcher) AddEventHandler(ctx context.Context, h controller.RouteTableEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockRouteTableEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockRouteTableEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockVirtualDestinationEventHandler is a mock of VirtualDestinationEventHandler interface. +type MockVirtualDestinationEventHandler struct { + ctrl *gomock.Controller + recorder *MockVirtualDestinationEventHandlerMockRecorder +} + +// MockVirtualDestinationEventHandlerMockRecorder is the mock recorder for MockVirtualDestinationEventHandler. +type MockVirtualDestinationEventHandlerMockRecorder struct { + mock *MockVirtualDestinationEventHandler +} + +// NewMockVirtualDestinationEventHandler creates a new mock instance. +func NewMockVirtualDestinationEventHandler(ctrl *gomock.Controller) *MockVirtualDestinationEventHandler { + mock := &MockVirtualDestinationEventHandler{ctrl: ctrl} + mock.recorder = &MockVirtualDestinationEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualDestinationEventHandler) EXPECT() *MockVirtualDestinationEventHandlerMockRecorder { + return m.recorder +} + +// CreateVirtualDestination mocks base method. +func (m *MockVirtualDestinationEventHandler) CreateVirtualDestination(obj *v2.VirtualDestination) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateVirtualDestination", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateVirtualDestination indicates an expected call of CreateVirtualDestination. +func (mr *MockVirtualDestinationEventHandlerMockRecorder) CreateVirtualDestination(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateVirtualDestination", reflect.TypeOf((*MockVirtualDestinationEventHandler)(nil).CreateVirtualDestination), obj) +} + +// DeleteVirtualDestination mocks base method. +func (m *MockVirtualDestinationEventHandler) DeleteVirtualDestination(obj *v2.VirtualDestination) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteVirtualDestination", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteVirtualDestination indicates an expected call of DeleteVirtualDestination. +func (mr *MockVirtualDestinationEventHandlerMockRecorder) DeleteVirtualDestination(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteVirtualDestination", reflect.TypeOf((*MockVirtualDestinationEventHandler)(nil).DeleteVirtualDestination), obj) +} + +// GenericVirtualDestination mocks base method. +func (m *MockVirtualDestinationEventHandler) GenericVirtualDestination(obj *v2.VirtualDestination) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericVirtualDestination", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericVirtualDestination indicates an expected call of GenericVirtualDestination. +func (mr *MockVirtualDestinationEventHandlerMockRecorder) GenericVirtualDestination(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericVirtualDestination", reflect.TypeOf((*MockVirtualDestinationEventHandler)(nil).GenericVirtualDestination), obj) +} + +// UpdateVirtualDestination mocks base method. +func (m *MockVirtualDestinationEventHandler) UpdateVirtualDestination(old, new *v2.VirtualDestination) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateVirtualDestination", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateVirtualDestination indicates an expected call of UpdateVirtualDestination. +func (mr *MockVirtualDestinationEventHandlerMockRecorder) UpdateVirtualDestination(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVirtualDestination", reflect.TypeOf((*MockVirtualDestinationEventHandler)(nil).UpdateVirtualDestination), old, new) +} + +// MockVirtualDestinationEventWatcher is a mock of VirtualDestinationEventWatcher interface. +type MockVirtualDestinationEventWatcher struct { + ctrl *gomock.Controller + recorder *MockVirtualDestinationEventWatcherMockRecorder +} + +// MockVirtualDestinationEventWatcherMockRecorder is the mock recorder for MockVirtualDestinationEventWatcher. +type MockVirtualDestinationEventWatcherMockRecorder struct { + mock *MockVirtualDestinationEventWatcher +} + +// NewMockVirtualDestinationEventWatcher creates a new mock instance. +func NewMockVirtualDestinationEventWatcher(ctrl *gomock.Controller) *MockVirtualDestinationEventWatcher { + mock := &MockVirtualDestinationEventWatcher{ctrl: ctrl} + mock.recorder = &MockVirtualDestinationEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualDestinationEventWatcher) EXPECT() *MockVirtualDestinationEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockVirtualDestinationEventWatcher) AddEventHandler(ctx context.Context, h controller.VirtualDestinationEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockVirtualDestinationEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockVirtualDestinationEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockVirtualGatewayEventHandler is a mock of VirtualGatewayEventHandler interface. +type MockVirtualGatewayEventHandler struct { + ctrl *gomock.Controller + recorder *MockVirtualGatewayEventHandlerMockRecorder +} + +// MockVirtualGatewayEventHandlerMockRecorder is the mock recorder for MockVirtualGatewayEventHandler. +type MockVirtualGatewayEventHandlerMockRecorder struct { + mock *MockVirtualGatewayEventHandler +} + +// NewMockVirtualGatewayEventHandler creates a new mock instance. +func NewMockVirtualGatewayEventHandler(ctrl *gomock.Controller) *MockVirtualGatewayEventHandler { + mock := &MockVirtualGatewayEventHandler{ctrl: ctrl} + mock.recorder = &MockVirtualGatewayEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualGatewayEventHandler) EXPECT() *MockVirtualGatewayEventHandlerMockRecorder { + return m.recorder +} + +// CreateVirtualGateway mocks base method. +func (m *MockVirtualGatewayEventHandler) CreateVirtualGateway(obj *v2.VirtualGateway) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateVirtualGateway", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateVirtualGateway indicates an expected call of CreateVirtualGateway. +func (mr *MockVirtualGatewayEventHandlerMockRecorder) CreateVirtualGateway(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateVirtualGateway", reflect.TypeOf((*MockVirtualGatewayEventHandler)(nil).CreateVirtualGateway), obj) +} + +// DeleteVirtualGateway mocks base method. +func (m *MockVirtualGatewayEventHandler) DeleteVirtualGateway(obj *v2.VirtualGateway) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteVirtualGateway", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteVirtualGateway indicates an expected call of DeleteVirtualGateway. +func (mr *MockVirtualGatewayEventHandlerMockRecorder) DeleteVirtualGateway(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteVirtualGateway", reflect.TypeOf((*MockVirtualGatewayEventHandler)(nil).DeleteVirtualGateway), obj) +} + +// GenericVirtualGateway mocks base method. +func (m *MockVirtualGatewayEventHandler) GenericVirtualGateway(obj *v2.VirtualGateway) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericVirtualGateway", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericVirtualGateway indicates an expected call of GenericVirtualGateway. +func (mr *MockVirtualGatewayEventHandlerMockRecorder) GenericVirtualGateway(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericVirtualGateway", reflect.TypeOf((*MockVirtualGatewayEventHandler)(nil).GenericVirtualGateway), obj) +} + +// UpdateVirtualGateway mocks base method. +func (m *MockVirtualGatewayEventHandler) UpdateVirtualGateway(old, new *v2.VirtualGateway) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateVirtualGateway", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateVirtualGateway indicates an expected call of UpdateVirtualGateway. +func (mr *MockVirtualGatewayEventHandlerMockRecorder) UpdateVirtualGateway(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVirtualGateway", reflect.TypeOf((*MockVirtualGatewayEventHandler)(nil).UpdateVirtualGateway), old, new) +} + +// MockVirtualGatewayEventWatcher is a mock of VirtualGatewayEventWatcher interface. +type MockVirtualGatewayEventWatcher struct { + ctrl *gomock.Controller + recorder *MockVirtualGatewayEventWatcherMockRecorder +} + +// MockVirtualGatewayEventWatcherMockRecorder is the mock recorder for MockVirtualGatewayEventWatcher. +type MockVirtualGatewayEventWatcherMockRecorder struct { + mock *MockVirtualGatewayEventWatcher +} + +// NewMockVirtualGatewayEventWatcher creates a new mock instance. +func NewMockVirtualGatewayEventWatcher(ctrl *gomock.Controller) *MockVirtualGatewayEventWatcher { + mock := &MockVirtualGatewayEventWatcher{ctrl: ctrl} + mock.recorder = &MockVirtualGatewayEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualGatewayEventWatcher) EXPECT() *MockVirtualGatewayEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockVirtualGatewayEventWatcher) AddEventHandler(ctx context.Context, h controller.VirtualGatewayEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockVirtualGatewayEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockVirtualGatewayEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/networking.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go b/client-go/networking.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..96c8cd1ff --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,592 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2/controller" +) + +// MockMulticlusterExternalServiceReconciler is a mock of MulticlusterExternalServiceReconciler interface. +type MockMulticlusterExternalServiceReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExternalServiceReconcilerMockRecorder +} + +// MockMulticlusterExternalServiceReconcilerMockRecorder is the mock recorder for MockMulticlusterExternalServiceReconciler. +type MockMulticlusterExternalServiceReconcilerMockRecorder struct { + mock *MockMulticlusterExternalServiceReconciler +} + +// NewMockMulticlusterExternalServiceReconciler creates a new mock instance. +func NewMockMulticlusterExternalServiceReconciler(ctrl *gomock.Controller) *MockMulticlusterExternalServiceReconciler { + mock := &MockMulticlusterExternalServiceReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterExternalServiceReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExternalServiceReconciler) EXPECT() *MockMulticlusterExternalServiceReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExternalService mocks base method. +func (m *MockMulticlusterExternalServiceReconciler) ReconcileExternalService(clusterName string, obj *v2.ExternalService) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalService", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExternalService indicates an expected call of ReconcileExternalService. +func (mr *MockMulticlusterExternalServiceReconcilerMockRecorder) ReconcileExternalService(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalService", reflect.TypeOf((*MockMulticlusterExternalServiceReconciler)(nil).ReconcileExternalService), clusterName, obj) +} + +// MockMulticlusterExternalServiceDeletionReconciler is a mock of MulticlusterExternalServiceDeletionReconciler interface. +type MockMulticlusterExternalServiceDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExternalServiceDeletionReconcilerMockRecorder +} + +// MockMulticlusterExternalServiceDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterExternalServiceDeletionReconciler. +type MockMulticlusterExternalServiceDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterExternalServiceDeletionReconciler +} + +// NewMockMulticlusterExternalServiceDeletionReconciler creates a new mock instance. +func NewMockMulticlusterExternalServiceDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterExternalServiceDeletionReconciler { + mock := &MockMulticlusterExternalServiceDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterExternalServiceDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExternalServiceDeletionReconciler) EXPECT() *MockMulticlusterExternalServiceDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExternalServiceDeletion mocks base method. +func (m *MockMulticlusterExternalServiceDeletionReconciler) ReconcileExternalServiceDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalServiceDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileExternalServiceDeletion indicates an expected call of ReconcileExternalServiceDeletion. +func (mr *MockMulticlusterExternalServiceDeletionReconcilerMockRecorder) ReconcileExternalServiceDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalServiceDeletion", reflect.TypeOf((*MockMulticlusterExternalServiceDeletionReconciler)(nil).ReconcileExternalServiceDeletion), clusterName, req) +} + +// MockMulticlusterExternalServiceReconcileLoop is a mock of MulticlusterExternalServiceReconcileLoop interface. +type MockMulticlusterExternalServiceReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExternalServiceReconcileLoopMockRecorder +} + +// MockMulticlusterExternalServiceReconcileLoopMockRecorder is the mock recorder for MockMulticlusterExternalServiceReconcileLoop. +type MockMulticlusterExternalServiceReconcileLoopMockRecorder struct { + mock *MockMulticlusterExternalServiceReconcileLoop +} + +// NewMockMulticlusterExternalServiceReconcileLoop creates a new mock instance. +func NewMockMulticlusterExternalServiceReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterExternalServiceReconcileLoop { + mock := &MockMulticlusterExternalServiceReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterExternalServiceReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExternalServiceReconcileLoop) EXPECT() *MockMulticlusterExternalServiceReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterExternalServiceReconciler mocks base method. +func (m *MockMulticlusterExternalServiceReconcileLoop) AddMulticlusterExternalServiceReconciler(ctx context.Context, rec controller.MulticlusterExternalServiceReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterExternalServiceReconciler", varargs...) +} + +// AddMulticlusterExternalServiceReconciler indicates an expected call of AddMulticlusterExternalServiceReconciler. +func (mr *MockMulticlusterExternalServiceReconcileLoopMockRecorder) AddMulticlusterExternalServiceReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterExternalServiceReconciler", reflect.TypeOf((*MockMulticlusterExternalServiceReconcileLoop)(nil).AddMulticlusterExternalServiceReconciler), varargs...) +} + +// MockMulticlusterExternalEndpointReconciler is a mock of MulticlusterExternalEndpointReconciler interface. +type MockMulticlusterExternalEndpointReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExternalEndpointReconcilerMockRecorder +} + +// MockMulticlusterExternalEndpointReconcilerMockRecorder is the mock recorder for MockMulticlusterExternalEndpointReconciler. +type MockMulticlusterExternalEndpointReconcilerMockRecorder struct { + mock *MockMulticlusterExternalEndpointReconciler +} + +// NewMockMulticlusterExternalEndpointReconciler creates a new mock instance. +func NewMockMulticlusterExternalEndpointReconciler(ctrl *gomock.Controller) *MockMulticlusterExternalEndpointReconciler { + mock := &MockMulticlusterExternalEndpointReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterExternalEndpointReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExternalEndpointReconciler) EXPECT() *MockMulticlusterExternalEndpointReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExternalEndpoint mocks base method. +func (m *MockMulticlusterExternalEndpointReconciler) ReconcileExternalEndpoint(clusterName string, obj *v2.ExternalEndpoint) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalEndpoint", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExternalEndpoint indicates an expected call of ReconcileExternalEndpoint. +func (mr *MockMulticlusterExternalEndpointReconcilerMockRecorder) ReconcileExternalEndpoint(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalEndpoint", reflect.TypeOf((*MockMulticlusterExternalEndpointReconciler)(nil).ReconcileExternalEndpoint), clusterName, obj) +} + +// MockMulticlusterExternalEndpointDeletionReconciler is a mock of MulticlusterExternalEndpointDeletionReconciler interface. +type MockMulticlusterExternalEndpointDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExternalEndpointDeletionReconcilerMockRecorder +} + +// MockMulticlusterExternalEndpointDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterExternalEndpointDeletionReconciler. +type MockMulticlusterExternalEndpointDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterExternalEndpointDeletionReconciler +} + +// NewMockMulticlusterExternalEndpointDeletionReconciler creates a new mock instance. +func NewMockMulticlusterExternalEndpointDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterExternalEndpointDeletionReconciler { + mock := &MockMulticlusterExternalEndpointDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterExternalEndpointDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExternalEndpointDeletionReconciler) EXPECT() *MockMulticlusterExternalEndpointDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExternalEndpointDeletion mocks base method. +func (m *MockMulticlusterExternalEndpointDeletionReconciler) ReconcileExternalEndpointDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalEndpointDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileExternalEndpointDeletion indicates an expected call of ReconcileExternalEndpointDeletion. +func (mr *MockMulticlusterExternalEndpointDeletionReconcilerMockRecorder) ReconcileExternalEndpointDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalEndpointDeletion", reflect.TypeOf((*MockMulticlusterExternalEndpointDeletionReconciler)(nil).ReconcileExternalEndpointDeletion), clusterName, req) +} + +// MockMulticlusterExternalEndpointReconcileLoop is a mock of MulticlusterExternalEndpointReconcileLoop interface. +type MockMulticlusterExternalEndpointReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExternalEndpointReconcileLoopMockRecorder +} + +// MockMulticlusterExternalEndpointReconcileLoopMockRecorder is the mock recorder for MockMulticlusterExternalEndpointReconcileLoop. +type MockMulticlusterExternalEndpointReconcileLoopMockRecorder struct { + mock *MockMulticlusterExternalEndpointReconcileLoop +} + +// NewMockMulticlusterExternalEndpointReconcileLoop creates a new mock instance. +func NewMockMulticlusterExternalEndpointReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterExternalEndpointReconcileLoop { + mock := &MockMulticlusterExternalEndpointReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterExternalEndpointReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExternalEndpointReconcileLoop) EXPECT() *MockMulticlusterExternalEndpointReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterExternalEndpointReconciler mocks base method. +func (m *MockMulticlusterExternalEndpointReconcileLoop) AddMulticlusterExternalEndpointReconciler(ctx context.Context, rec controller.MulticlusterExternalEndpointReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterExternalEndpointReconciler", varargs...) +} + +// AddMulticlusterExternalEndpointReconciler indicates an expected call of AddMulticlusterExternalEndpointReconciler. +func (mr *MockMulticlusterExternalEndpointReconcileLoopMockRecorder) AddMulticlusterExternalEndpointReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterExternalEndpointReconciler", reflect.TypeOf((*MockMulticlusterExternalEndpointReconcileLoop)(nil).AddMulticlusterExternalEndpointReconciler), varargs...) +} + +// MockMulticlusterRouteTableReconciler is a mock of MulticlusterRouteTableReconciler interface. +type MockMulticlusterRouteTableReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRouteTableReconcilerMockRecorder +} + +// MockMulticlusterRouteTableReconcilerMockRecorder is the mock recorder for MockMulticlusterRouteTableReconciler. +type MockMulticlusterRouteTableReconcilerMockRecorder struct { + mock *MockMulticlusterRouteTableReconciler +} + +// NewMockMulticlusterRouteTableReconciler creates a new mock instance. +func NewMockMulticlusterRouteTableReconciler(ctrl *gomock.Controller) *MockMulticlusterRouteTableReconciler { + mock := &MockMulticlusterRouteTableReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRouteTableReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRouteTableReconciler) EXPECT() *MockMulticlusterRouteTableReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRouteTable mocks base method. +func (m *MockMulticlusterRouteTableReconciler) ReconcileRouteTable(clusterName string, obj *v2.RouteTable) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRouteTable", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRouteTable indicates an expected call of ReconcileRouteTable. +func (mr *MockMulticlusterRouteTableReconcilerMockRecorder) ReconcileRouteTable(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRouteTable", reflect.TypeOf((*MockMulticlusterRouteTableReconciler)(nil).ReconcileRouteTable), clusterName, obj) +} + +// MockMulticlusterRouteTableDeletionReconciler is a mock of MulticlusterRouteTableDeletionReconciler interface. +type MockMulticlusterRouteTableDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRouteTableDeletionReconcilerMockRecorder +} + +// MockMulticlusterRouteTableDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterRouteTableDeletionReconciler. +type MockMulticlusterRouteTableDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterRouteTableDeletionReconciler +} + +// NewMockMulticlusterRouteTableDeletionReconciler creates a new mock instance. +func NewMockMulticlusterRouteTableDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterRouteTableDeletionReconciler { + mock := &MockMulticlusterRouteTableDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRouteTableDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRouteTableDeletionReconciler) EXPECT() *MockMulticlusterRouteTableDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRouteTableDeletion mocks base method. +func (m *MockMulticlusterRouteTableDeletionReconciler) ReconcileRouteTableDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRouteTableDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRouteTableDeletion indicates an expected call of ReconcileRouteTableDeletion. +func (mr *MockMulticlusterRouteTableDeletionReconcilerMockRecorder) ReconcileRouteTableDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRouteTableDeletion", reflect.TypeOf((*MockMulticlusterRouteTableDeletionReconciler)(nil).ReconcileRouteTableDeletion), clusterName, req) +} + +// MockMulticlusterRouteTableReconcileLoop is a mock of MulticlusterRouteTableReconcileLoop interface. +type MockMulticlusterRouteTableReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRouteTableReconcileLoopMockRecorder +} + +// MockMulticlusterRouteTableReconcileLoopMockRecorder is the mock recorder for MockMulticlusterRouteTableReconcileLoop. +type MockMulticlusterRouteTableReconcileLoopMockRecorder struct { + mock *MockMulticlusterRouteTableReconcileLoop +} + +// NewMockMulticlusterRouteTableReconcileLoop creates a new mock instance. +func NewMockMulticlusterRouteTableReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterRouteTableReconcileLoop { + mock := &MockMulticlusterRouteTableReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterRouteTableReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRouteTableReconcileLoop) EXPECT() *MockMulticlusterRouteTableReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterRouteTableReconciler mocks base method. +func (m *MockMulticlusterRouteTableReconcileLoop) AddMulticlusterRouteTableReconciler(ctx context.Context, rec controller.MulticlusterRouteTableReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterRouteTableReconciler", varargs...) +} + +// AddMulticlusterRouteTableReconciler indicates an expected call of AddMulticlusterRouteTableReconciler. +func (mr *MockMulticlusterRouteTableReconcileLoopMockRecorder) AddMulticlusterRouteTableReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterRouteTableReconciler", reflect.TypeOf((*MockMulticlusterRouteTableReconcileLoop)(nil).AddMulticlusterRouteTableReconciler), varargs...) +} + +// MockMulticlusterVirtualDestinationReconciler is a mock of MulticlusterVirtualDestinationReconciler interface. +type MockMulticlusterVirtualDestinationReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterVirtualDestinationReconcilerMockRecorder +} + +// MockMulticlusterVirtualDestinationReconcilerMockRecorder is the mock recorder for MockMulticlusterVirtualDestinationReconciler. +type MockMulticlusterVirtualDestinationReconcilerMockRecorder struct { + mock *MockMulticlusterVirtualDestinationReconciler +} + +// NewMockMulticlusterVirtualDestinationReconciler creates a new mock instance. +func NewMockMulticlusterVirtualDestinationReconciler(ctrl *gomock.Controller) *MockMulticlusterVirtualDestinationReconciler { + mock := &MockMulticlusterVirtualDestinationReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterVirtualDestinationReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterVirtualDestinationReconciler) EXPECT() *MockMulticlusterVirtualDestinationReconcilerMockRecorder { + return m.recorder +} + +// ReconcileVirtualDestination mocks base method. +func (m *MockMulticlusterVirtualDestinationReconciler) ReconcileVirtualDestination(clusterName string, obj *v2.VirtualDestination) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileVirtualDestination", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileVirtualDestination indicates an expected call of ReconcileVirtualDestination. +func (mr *MockMulticlusterVirtualDestinationReconcilerMockRecorder) ReconcileVirtualDestination(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileVirtualDestination", reflect.TypeOf((*MockMulticlusterVirtualDestinationReconciler)(nil).ReconcileVirtualDestination), clusterName, obj) +} + +// MockMulticlusterVirtualDestinationDeletionReconciler is a mock of MulticlusterVirtualDestinationDeletionReconciler interface. +type MockMulticlusterVirtualDestinationDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterVirtualDestinationDeletionReconcilerMockRecorder +} + +// MockMulticlusterVirtualDestinationDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterVirtualDestinationDeletionReconciler. +type MockMulticlusterVirtualDestinationDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterVirtualDestinationDeletionReconciler +} + +// NewMockMulticlusterVirtualDestinationDeletionReconciler creates a new mock instance. +func NewMockMulticlusterVirtualDestinationDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterVirtualDestinationDeletionReconciler { + mock := &MockMulticlusterVirtualDestinationDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterVirtualDestinationDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterVirtualDestinationDeletionReconciler) EXPECT() *MockMulticlusterVirtualDestinationDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileVirtualDestinationDeletion mocks base method. +func (m *MockMulticlusterVirtualDestinationDeletionReconciler) ReconcileVirtualDestinationDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileVirtualDestinationDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileVirtualDestinationDeletion indicates an expected call of ReconcileVirtualDestinationDeletion. +func (mr *MockMulticlusterVirtualDestinationDeletionReconcilerMockRecorder) ReconcileVirtualDestinationDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileVirtualDestinationDeletion", reflect.TypeOf((*MockMulticlusterVirtualDestinationDeletionReconciler)(nil).ReconcileVirtualDestinationDeletion), clusterName, req) +} + +// MockMulticlusterVirtualDestinationReconcileLoop is a mock of MulticlusterVirtualDestinationReconcileLoop interface. +type MockMulticlusterVirtualDestinationReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterVirtualDestinationReconcileLoopMockRecorder +} + +// MockMulticlusterVirtualDestinationReconcileLoopMockRecorder is the mock recorder for MockMulticlusterVirtualDestinationReconcileLoop. +type MockMulticlusterVirtualDestinationReconcileLoopMockRecorder struct { + mock *MockMulticlusterVirtualDestinationReconcileLoop +} + +// NewMockMulticlusterVirtualDestinationReconcileLoop creates a new mock instance. +func NewMockMulticlusterVirtualDestinationReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterVirtualDestinationReconcileLoop { + mock := &MockMulticlusterVirtualDestinationReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterVirtualDestinationReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterVirtualDestinationReconcileLoop) EXPECT() *MockMulticlusterVirtualDestinationReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterVirtualDestinationReconciler mocks base method. +func (m *MockMulticlusterVirtualDestinationReconcileLoop) AddMulticlusterVirtualDestinationReconciler(ctx context.Context, rec controller.MulticlusterVirtualDestinationReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterVirtualDestinationReconciler", varargs...) +} + +// AddMulticlusterVirtualDestinationReconciler indicates an expected call of AddMulticlusterVirtualDestinationReconciler. +func (mr *MockMulticlusterVirtualDestinationReconcileLoopMockRecorder) AddMulticlusterVirtualDestinationReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterVirtualDestinationReconciler", reflect.TypeOf((*MockMulticlusterVirtualDestinationReconcileLoop)(nil).AddMulticlusterVirtualDestinationReconciler), varargs...) +} + +// MockMulticlusterVirtualGatewayReconciler is a mock of MulticlusterVirtualGatewayReconciler interface. +type MockMulticlusterVirtualGatewayReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterVirtualGatewayReconcilerMockRecorder +} + +// MockMulticlusterVirtualGatewayReconcilerMockRecorder is the mock recorder for MockMulticlusterVirtualGatewayReconciler. +type MockMulticlusterVirtualGatewayReconcilerMockRecorder struct { + mock *MockMulticlusterVirtualGatewayReconciler +} + +// NewMockMulticlusterVirtualGatewayReconciler creates a new mock instance. +func NewMockMulticlusterVirtualGatewayReconciler(ctrl *gomock.Controller) *MockMulticlusterVirtualGatewayReconciler { + mock := &MockMulticlusterVirtualGatewayReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterVirtualGatewayReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterVirtualGatewayReconciler) EXPECT() *MockMulticlusterVirtualGatewayReconcilerMockRecorder { + return m.recorder +} + +// ReconcileVirtualGateway mocks base method. +func (m *MockMulticlusterVirtualGatewayReconciler) ReconcileVirtualGateway(clusterName string, obj *v2.VirtualGateway) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileVirtualGateway", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileVirtualGateway indicates an expected call of ReconcileVirtualGateway. +func (mr *MockMulticlusterVirtualGatewayReconcilerMockRecorder) ReconcileVirtualGateway(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileVirtualGateway", reflect.TypeOf((*MockMulticlusterVirtualGatewayReconciler)(nil).ReconcileVirtualGateway), clusterName, obj) +} + +// MockMulticlusterVirtualGatewayDeletionReconciler is a mock of MulticlusterVirtualGatewayDeletionReconciler interface. +type MockMulticlusterVirtualGatewayDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterVirtualGatewayDeletionReconcilerMockRecorder +} + +// MockMulticlusterVirtualGatewayDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterVirtualGatewayDeletionReconciler. +type MockMulticlusterVirtualGatewayDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterVirtualGatewayDeletionReconciler +} + +// NewMockMulticlusterVirtualGatewayDeletionReconciler creates a new mock instance. +func NewMockMulticlusterVirtualGatewayDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterVirtualGatewayDeletionReconciler { + mock := &MockMulticlusterVirtualGatewayDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterVirtualGatewayDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterVirtualGatewayDeletionReconciler) EXPECT() *MockMulticlusterVirtualGatewayDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileVirtualGatewayDeletion mocks base method. +func (m *MockMulticlusterVirtualGatewayDeletionReconciler) ReconcileVirtualGatewayDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileVirtualGatewayDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileVirtualGatewayDeletion indicates an expected call of ReconcileVirtualGatewayDeletion. +func (mr *MockMulticlusterVirtualGatewayDeletionReconcilerMockRecorder) ReconcileVirtualGatewayDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileVirtualGatewayDeletion", reflect.TypeOf((*MockMulticlusterVirtualGatewayDeletionReconciler)(nil).ReconcileVirtualGatewayDeletion), clusterName, req) +} + +// MockMulticlusterVirtualGatewayReconcileLoop is a mock of MulticlusterVirtualGatewayReconcileLoop interface. +type MockMulticlusterVirtualGatewayReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterVirtualGatewayReconcileLoopMockRecorder +} + +// MockMulticlusterVirtualGatewayReconcileLoopMockRecorder is the mock recorder for MockMulticlusterVirtualGatewayReconcileLoop. +type MockMulticlusterVirtualGatewayReconcileLoopMockRecorder struct { + mock *MockMulticlusterVirtualGatewayReconcileLoop +} + +// NewMockMulticlusterVirtualGatewayReconcileLoop creates a new mock instance. +func NewMockMulticlusterVirtualGatewayReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterVirtualGatewayReconcileLoop { + mock := &MockMulticlusterVirtualGatewayReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterVirtualGatewayReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterVirtualGatewayReconcileLoop) EXPECT() *MockMulticlusterVirtualGatewayReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterVirtualGatewayReconciler mocks base method. +func (m *MockMulticlusterVirtualGatewayReconcileLoop) AddMulticlusterVirtualGatewayReconciler(ctx context.Context, rec controller.MulticlusterVirtualGatewayReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterVirtualGatewayReconciler", varargs...) +} + +// AddMulticlusterVirtualGatewayReconciler indicates an expected call of AddMulticlusterVirtualGatewayReconciler. +func (mr *MockMulticlusterVirtualGatewayReconcileLoopMockRecorder) AddMulticlusterVirtualGatewayReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterVirtualGatewayReconciler", reflect.TypeOf((*MockMulticlusterVirtualGatewayReconcileLoop)(nil).AddMulticlusterVirtualGatewayReconciler), varargs...) +} diff --git a/client-go/networking.gloo.solo.io/v2/controller/mocks/reconcilers.go b/client-go/networking.gloo.solo.io/v2/controller/mocks/reconcilers.go new file mode 100644 index 000000000..6ab004805 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/controller/mocks/reconcilers.go @@ -0,0 +1,932 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2/controller" +) + +// MockExternalServiceReconciler is a mock of ExternalServiceReconciler interface. +type MockExternalServiceReconciler struct { + ctrl *gomock.Controller + recorder *MockExternalServiceReconcilerMockRecorder +} + +// MockExternalServiceReconcilerMockRecorder is the mock recorder for MockExternalServiceReconciler. +type MockExternalServiceReconcilerMockRecorder struct { + mock *MockExternalServiceReconciler +} + +// NewMockExternalServiceReconciler creates a new mock instance. +func NewMockExternalServiceReconciler(ctrl *gomock.Controller) *MockExternalServiceReconciler { + mock := &MockExternalServiceReconciler{ctrl: ctrl} + mock.recorder = &MockExternalServiceReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalServiceReconciler) EXPECT() *MockExternalServiceReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExternalService mocks base method. +func (m *MockExternalServiceReconciler) ReconcileExternalService(obj *v2.ExternalService) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalService", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExternalService indicates an expected call of ReconcileExternalService. +func (mr *MockExternalServiceReconcilerMockRecorder) ReconcileExternalService(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalService", reflect.TypeOf((*MockExternalServiceReconciler)(nil).ReconcileExternalService), obj) +} + +// MockExternalServiceDeletionReconciler is a mock of ExternalServiceDeletionReconciler interface. +type MockExternalServiceDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockExternalServiceDeletionReconcilerMockRecorder +} + +// MockExternalServiceDeletionReconcilerMockRecorder is the mock recorder for MockExternalServiceDeletionReconciler. +type MockExternalServiceDeletionReconcilerMockRecorder struct { + mock *MockExternalServiceDeletionReconciler +} + +// NewMockExternalServiceDeletionReconciler creates a new mock instance. +func NewMockExternalServiceDeletionReconciler(ctrl *gomock.Controller) *MockExternalServiceDeletionReconciler { + mock := &MockExternalServiceDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockExternalServiceDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalServiceDeletionReconciler) EXPECT() *MockExternalServiceDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExternalServiceDeletion mocks base method. +func (m *MockExternalServiceDeletionReconciler) ReconcileExternalServiceDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalServiceDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileExternalServiceDeletion indicates an expected call of ReconcileExternalServiceDeletion. +func (mr *MockExternalServiceDeletionReconcilerMockRecorder) ReconcileExternalServiceDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalServiceDeletion", reflect.TypeOf((*MockExternalServiceDeletionReconciler)(nil).ReconcileExternalServiceDeletion), req) +} + +// MockExternalServiceFinalizer is a mock of ExternalServiceFinalizer interface. +type MockExternalServiceFinalizer struct { + ctrl *gomock.Controller + recorder *MockExternalServiceFinalizerMockRecorder +} + +// MockExternalServiceFinalizerMockRecorder is the mock recorder for MockExternalServiceFinalizer. +type MockExternalServiceFinalizerMockRecorder struct { + mock *MockExternalServiceFinalizer +} + +// NewMockExternalServiceFinalizer creates a new mock instance. +func NewMockExternalServiceFinalizer(ctrl *gomock.Controller) *MockExternalServiceFinalizer { + mock := &MockExternalServiceFinalizer{ctrl: ctrl} + mock.recorder = &MockExternalServiceFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalServiceFinalizer) EXPECT() *MockExternalServiceFinalizerMockRecorder { + return m.recorder +} + +// ExternalServiceFinalizerName mocks base method. +func (m *MockExternalServiceFinalizer) ExternalServiceFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExternalServiceFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ExternalServiceFinalizerName indicates an expected call of ExternalServiceFinalizerName. +func (mr *MockExternalServiceFinalizerMockRecorder) ExternalServiceFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExternalServiceFinalizerName", reflect.TypeOf((*MockExternalServiceFinalizer)(nil).ExternalServiceFinalizerName)) +} + +// FinalizeExternalService mocks base method. +func (m *MockExternalServiceFinalizer) FinalizeExternalService(obj *v2.ExternalService) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeExternalService", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeExternalService indicates an expected call of FinalizeExternalService. +func (mr *MockExternalServiceFinalizerMockRecorder) FinalizeExternalService(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeExternalService", reflect.TypeOf((*MockExternalServiceFinalizer)(nil).FinalizeExternalService), obj) +} + +// ReconcileExternalService mocks base method. +func (m *MockExternalServiceFinalizer) ReconcileExternalService(obj *v2.ExternalService) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalService", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExternalService indicates an expected call of ReconcileExternalService. +func (mr *MockExternalServiceFinalizerMockRecorder) ReconcileExternalService(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalService", reflect.TypeOf((*MockExternalServiceFinalizer)(nil).ReconcileExternalService), obj) +} + +// MockExternalServiceReconcileLoop is a mock of ExternalServiceReconcileLoop interface. +type MockExternalServiceReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockExternalServiceReconcileLoopMockRecorder +} + +// MockExternalServiceReconcileLoopMockRecorder is the mock recorder for MockExternalServiceReconcileLoop. +type MockExternalServiceReconcileLoopMockRecorder struct { + mock *MockExternalServiceReconcileLoop +} + +// NewMockExternalServiceReconcileLoop creates a new mock instance. +func NewMockExternalServiceReconcileLoop(ctrl *gomock.Controller) *MockExternalServiceReconcileLoop { + mock := &MockExternalServiceReconcileLoop{ctrl: ctrl} + mock.recorder = &MockExternalServiceReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalServiceReconcileLoop) EXPECT() *MockExternalServiceReconcileLoopMockRecorder { + return m.recorder +} + +// RunExternalServiceReconciler mocks base method. +func (m *MockExternalServiceReconcileLoop) RunExternalServiceReconciler(ctx context.Context, rec controller.ExternalServiceReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunExternalServiceReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunExternalServiceReconciler indicates an expected call of RunExternalServiceReconciler. +func (mr *MockExternalServiceReconcileLoopMockRecorder) RunExternalServiceReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunExternalServiceReconciler", reflect.TypeOf((*MockExternalServiceReconcileLoop)(nil).RunExternalServiceReconciler), varargs...) +} + +// MockExternalEndpointReconciler is a mock of ExternalEndpointReconciler interface. +type MockExternalEndpointReconciler struct { + ctrl *gomock.Controller + recorder *MockExternalEndpointReconcilerMockRecorder +} + +// MockExternalEndpointReconcilerMockRecorder is the mock recorder for MockExternalEndpointReconciler. +type MockExternalEndpointReconcilerMockRecorder struct { + mock *MockExternalEndpointReconciler +} + +// NewMockExternalEndpointReconciler creates a new mock instance. +func NewMockExternalEndpointReconciler(ctrl *gomock.Controller) *MockExternalEndpointReconciler { + mock := &MockExternalEndpointReconciler{ctrl: ctrl} + mock.recorder = &MockExternalEndpointReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalEndpointReconciler) EXPECT() *MockExternalEndpointReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExternalEndpoint mocks base method. +func (m *MockExternalEndpointReconciler) ReconcileExternalEndpoint(obj *v2.ExternalEndpoint) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalEndpoint", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExternalEndpoint indicates an expected call of ReconcileExternalEndpoint. +func (mr *MockExternalEndpointReconcilerMockRecorder) ReconcileExternalEndpoint(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalEndpoint", reflect.TypeOf((*MockExternalEndpointReconciler)(nil).ReconcileExternalEndpoint), obj) +} + +// MockExternalEndpointDeletionReconciler is a mock of ExternalEndpointDeletionReconciler interface. +type MockExternalEndpointDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockExternalEndpointDeletionReconcilerMockRecorder +} + +// MockExternalEndpointDeletionReconcilerMockRecorder is the mock recorder for MockExternalEndpointDeletionReconciler. +type MockExternalEndpointDeletionReconcilerMockRecorder struct { + mock *MockExternalEndpointDeletionReconciler +} + +// NewMockExternalEndpointDeletionReconciler creates a new mock instance. +func NewMockExternalEndpointDeletionReconciler(ctrl *gomock.Controller) *MockExternalEndpointDeletionReconciler { + mock := &MockExternalEndpointDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockExternalEndpointDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalEndpointDeletionReconciler) EXPECT() *MockExternalEndpointDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExternalEndpointDeletion mocks base method. +func (m *MockExternalEndpointDeletionReconciler) ReconcileExternalEndpointDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalEndpointDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileExternalEndpointDeletion indicates an expected call of ReconcileExternalEndpointDeletion. +func (mr *MockExternalEndpointDeletionReconcilerMockRecorder) ReconcileExternalEndpointDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalEndpointDeletion", reflect.TypeOf((*MockExternalEndpointDeletionReconciler)(nil).ReconcileExternalEndpointDeletion), req) +} + +// MockExternalEndpointFinalizer is a mock of ExternalEndpointFinalizer interface. +type MockExternalEndpointFinalizer struct { + ctrl *gomock.Controller + recorder *MockExternalEndpointFinalizerMockRecorder +} + +// MockExternalEndpointFinalizerMockRecorder is the mock recorder for MockExternalEndpointFinalizer. +type MockExternalEndpointFinalizerMockRecorder struct { + mock *MockExternalEndpointFinalizer +} + +// NewMockExternalEndpointFinalizer creates a new mock instance. +func NewMockExternalEndpointFinalizer(ctrl *gomock.Controller) *MockExternalEndpointFinalizer { + mock := &MockExternalEndpointFinalizer{ctrl: ctrl} + mock.recorder = &MockExternalEndpointFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalEndpointFinalizer) EXPECT() *MockExternalEndpointFinalizerMockRecorder { + return m.recorder +} + +// ExternalEndpointFinalizerName mocks base method. +func (m *MockExternalEndpointFinalizer) ExternalEndpointFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExternalEndpointFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ExternalEndpointFinalizerName indicates an expected call of ExternalEndpointFinalizerName. +func (mr *MockExternalEndpointFinalizerMockRecorder) ExternalEndpointFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExternalEndpointFinalizerName", reflect.TypeOf((*MockExternalEndpointFinalizer)(nil).ExternalEndpointFinalizerName)) +} + +// FinalizeExternalEndpoint mocks base method. +func (m *MockExternalEndpointFinalizer) FinalizeExternalEndpoint(obj *v2.ExternalEndpoint) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeExternalEndpoint", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeExternalEndpoint indicates an expected call of FinalizeExternalEndpoint. +func (mr *MockExternalEndpointFinalizerMockRecorder) FinalizeExternalEndpoint(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeExternalEndpoint", reflect.TypeOf((*MockExternalEndpointFinalizer)(nil).FinalizeExternalEndpoint), obj) +} + +// ReconcileExternalEndpoint mocks base method. +func (m *MockExternalEndpointFinalizer) ReconcileExternalEndpoint(obj *v2.ExternalEndpoint) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalEndpoint", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExternalEndpoint indicates an expected call of ReconcileExternalEndpoint. +func (mr *MockExternalEndpointFinalizerMockRecorder) ReconcileExternalEndpoint(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalEndpoint", reflect.TypeOf((*MockExternalEndpointFinalizer)(nil).ReconcileExternalEndpoint), obj) +} + +// MockExternalEndpointReconcileLoop is a mock of ExternalEndpointReconcileLoop interface. +type MockExternalEndpointReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockExternalEndpointReconcileLoopMockRecorder +} + +// MockExternalEndpointReconcileLoopMockRecorder is the mock recorder for MockExternalEndpointReconcileLoop. +type MockExternalEndpointReconcileLoopMockRecorder struct { + mock *MockExternalEndpointReconcileLoop +} + +// NewMockExternalEndpointReconcileLoop creates a new mock instance. +func NewMockExternalEndpointReconcileLoop(ctrl *gomock.Controller) *MockExternalEndpointReconcileLoop { + mock := &MockExternalEndpointReconcileLoop{ctrl: ctrl} + mock.recorder = &MockExternalEndpointReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalEndpointReconcileLoop) EXPECT() *MockExternalEndpointReconcileLoopMockRecorder { + return m.recorder +} + +// RunExternalEndpointReconciler mocks base method. +func (m *MockExternalEndpointReconcileLoop) RunExternalEndpointReconciler(ctx context.Context, rec controller.ExternalEndpointReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunExternalEndpointReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunExternalEndpointReconciler indicates an expected call of RunExternalEndpointReconciler. +func (mr *MockExternalEndpointReconcileLoopMockRecorder) RunExternalEndpointReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunExternalEndpointReconciler", reflect.TypeOf((*MockExternalEndpointReconcileLoop)(nil).RunExternalEndpointReconciler), varargs...) +} + +// MockRouteTableReconciler is a mock of RouteTableReconciler interface. +type MockRouteTableReconciler struct { + ctrl *gomock.Controller + recorder *MockRouteTableReconcilerMockRecorder +} + +// MockRouteTableReconcilerMockRecorder is the mock recorder for MockRouteTableReconciler. +type MockRouteTableReconcilerMockRecorder struct { + mock *MockRouteTableReconciler +} + +// NewMockRouteTableReconciler creates a new mock instance. +func NewMockRouteTableReconciler(ctrl *gomock.Controller) *MockRouteTableReconciler { + mock := &MockRouteTableReconciler{ctrl: ctrl} + mock.recorder = &MockRouteTableReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRouteTableReconciler) EXPECT() *MockRouteTableReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRouteTable mocks base method. +func (m *MockRouteTableReconciler) ReconcileRouteTable(obj *v2.RouteTable) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRouteTable", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRouteTable indicates an expected call of ReconcileRouteTable. +func (mr *MockRouteTableReconcilerMockRecorder) ReconcileRouteTable(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRouteTable", reflect.TypeOf((*MockRouteTableReconciler)(nil).ReconcileRouteTable), obj) +} + +// MockRouteTableDeletionReconciler is a mock of RouteTableDeletionReconciler interface. +type MockRouteTableDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockRouteTableDeletionReconcilerMockRecorder +} + +// MockRouteTableDeletionReconcilerMockRecorder is the mock recorder for MockRouteTableDeletionReconciler. +type MockRouteTableDeletionReconcilerMockRecorder struct { + mock *MockRouteTableDeletionReconciler +} + +// NewMockRouteTableDeletionReconciler creates a new mock instance. +func NewMockRouteTableDeletionReconciler(ctrl *gomock.Controller) *MockRouteTableDeletionReconciler { + mock := &MockRouteTableDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockRouteTableDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRouteTableDeletionReconciler) EXPECT() *MockRouteTableDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRouteTableDeletion mocks base method. +func (m *MockRouteTableDeletionReconciler) ReconcileRouteTableDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRouteTableDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRouteTableDeletion indicates an expected call of ReconcileRouteTableDeletion. +func (mr *MockRouteTableDeletionReconcilerMockRecorder) ReconcileRouteTableDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRouteTableDeletion", reflect.TypeOf((*MockRouteTableDeletionReconciler)(nil).ReconcileRouteTableDeletion), req) +} + +// MockRouteTableFinalizer is a mock of RouteTableFinalizer interface. +type MockRouteTableFinalizer struct { + ctrl *gomock.Controller + recorder *MockRouteTableFinalizerMockRecorder +} + +// MockRouteTableFinalizerMockRecorder is the mock recorder for MockRouteTableFinalizer. +type MockRouteTableFinalizerMockRecorder struct { + mock *MockRouteTableFinalizer +} + +// NewMockRouteTableFinalizer creates a new mock instance. +func NewMockRouteTableFinalizer(ctrl *gomock.Controller) *MockRouteTableFinalizer { + mock := &MockRouteTableFinalizer{ctrl: ctrl} + mock.recorder = &MockRouteTableFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRouteTableFinalizer) EXPECT() *MockRouteTableFinalizerMockRecorder { + return m.recorder +} + +// FinalizeRouteTable mocks base method. +func (m *MockRouteTableFinalizer) FinalizeRouteTable(obj *v2.RouteTable) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeRouteTable", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeRouteTable indicates an expected call of FinalizeRouteTable. +func (mr *MockRouteTableFinalizerMockRecorder) FinalizeRouteTable(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeRouteTable", reflect.TypeOf((*MockRouteTableFinalizer)(nil).FinalizeRouteTable), obj) +} + +// ReconcileRouteTable mocks base method. +func (m *MockRouteTableFinalizer) ReconcileRouteTable(obj *v2.RouteTable) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRouteTable", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRouteTable indicates an expected call of ReconcileRouteTable. +func (mr *MockRouteTableFinalizerMockRecorder) ReconcileRouteTable(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRouteTable", reflect.TypeOf((*MockRouteTableFinalizer)(nil).ReconcileRouteTable), obj) +} + +// RouteTableFinalizerName mocks base method. +func (m *MockRouteTableFinalizer) RouteTableFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RouteTableFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// RouteTableFinalizerName indicates an expected call of RouteTableFinalizerName. +func (mr *MockRouteTableFinalizerMockRecorder) RouteTableFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RouteTableFinalizerName", reflect.TypeOf((*MockRouteTableFinalizer)(nil).RouteTableFinalizerName)) +} + +// MockRouteTableReconcileLoop is a mock of RouteTableReconcileLoop interface. +type MockRouteTableReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockRouteTableReconcileLoopMockRecorder +} + +// MockRouteTableReconcileLoopMockRecorder is the mock recorder for MockRouteTableReconcileLoop. +type MockRouteTableReconcileLoopMockRecorder struct { + mock *MockRouteTableReconcileLoop +} + +// NewMockRouteTableReconcileLoop creates a new mock instance. +func NewMockRouteTableReconcileLoop(ctrl *gomock.Controller) *MockRouteTableReconcileLoop { + mock := &MockRouteTableReconcileLoop{ctrl: ctrl} + mock.recorder = &MockRouteTableReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRouteTableReconcileLoop) EXPECT() *MockRouteTableReconcileLoopMockRecorder { + return m.recorder +} + +// RunRouteTableReconciler mocks base method. +func (m *MockRouteTableReconcileLoop) RunRouteTableReconciler(ctx context.Context, rec controller.RouteTableReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunRouteTableReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunRouteTableReconciler indicates an expected call of RunRouteTableReconciler. +func (mr *MockRouteTableReconcileLoopMockRecorder) RunRouteTableReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunRouteTableReconciler", reflect.TypeOf((*MockRouteTableReconcileLoop)(nil).RunRouteTableReconciler), varargs...) +} + +// MockVirtualDestinationReconciler is a mock of VirtualDestinationReconciler interface. +type MockVirtualDestinationReconciler struct { + ctrl *gomock.Controller + recorder *MockVirtualDestinationReconcilerMockRecorder +} + +// MockVirtualDestinationReconcilerMockRecorder is the mock recorder for MockVirtualDestinationReconciler. +type MockVirtualDestinationReconcilerMockRecorder struct { + mock *MockVirtualDestinationReconciler +} + +// NewMockVirtualDestinationReconciler creates a new mock instance. +func NewMockVirtualDestinationReconciler(ctrl *gomock.Controller) *MockVirtualDestinationReconciler { + mock := &MockVirtualDestinationReconciler{ctrl: ctrl} + mock.recorder = &MockVirtualDestinationReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualDestinationReconciler) EXPECT() *MockVirtualDestinationReconcilerMockRecorder { + return m.recorder +} + +// ReconcileVirtualDestination mocks base method. +func (m *MockVirtualDestinationReconciler) ReconcileVirtualDestination(obj *v2.VirtualDestination) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileVirtualDestination", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileVirtualDestination indicates an expected call of ReconcileVirtualDestination. +func (mr *MockVirtualDestinationReconcilerMockRecorder) ReconcileVirtualDestination(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileVirtualDestination", reflect.TypeOf((*MockVirtualDestinationReconciler)(nil).ReconcileVirtualDestination), obj) +} + +// MockVirtualDestinationDeletionReconciler is a mock of VirtualDestinationDeletionReconciler interface. +type MockVirtualDestinationDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockVirtualDestinationDeletionReconcilerMockRecorder +} + +// MockVirtualDestinationDeletionReconcilerMockRecorder is the mock recorder for MockVirtualDestinationDeletionReconciler. +type MockVirtualDestinationDeletionReconcilerMockRecorder struct { + mock *MockVirtualDestinationDeletionReconciler +} + +// NewMockVirtualDestinationDeletionReconciler creates a new mock instance. +func NewMockVirtualDestinationDeletionReconciler(ctrl *gomock.Controller) *MockVirtualDestinationDeletionReconciler { + mock := &MockVirtualDestinationDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockVirtualDestinationDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualDestinationDeletionReconciler) EXPECT() *MockVirtualDestinationDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileVirtualDestinationDeletion mocks base method. +func (m *MockVirtualDestinationDeletionReconciler) ReconcileVirtualDestinationDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileVirtualDestinationDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileVirtualDestinationDeletion indicates an expected call of ReconcileVirtualDestinationDeletion. +func (mr *MockVirtualDestinationDeletionReconcilerMockRecorder) ReconcileVirtualDestinationDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileVirtualDestinationDeletion", reflect.TypeOf((*MockVirtualDestinationDeletionReconciler)(nil).ReconcileVirtualDestinationDeletion), req) +} + +// MockVirtualDestinationFinalizer is a mock of VirtualDestinationFinalizer interface. +type MockVirtualDestinationFinalizer struct { + ctrl *gomock.Controller + recorder *MockVirtualDestinationFinalizerMockRecorder +} + +// MockVirtualDestinationFinalizerMockRecorder is the mock recorder for MockVirtualDestinationFinalizer. +type MockVirtualDestinationFinalizerMockRecorder struct { + mock *MockVirtualDestinationFinalizer +} + +// NewMockVirtualDestinationFinalizer creates a new mock instance. +func NewMockVirtualDestinationFinalizer(ctrl *gomock.Controller) *MockVirtualDestinationFinalizer { + mock := &MockVirtualDestinationFinalizer{ctrl: ctrl} + mock.recorder = &MockVirtualDestinationFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualDestinationFinalizer) EXPECT() *MockVirtualDestinationFinalizerMockRecorder { + return m.recorder +} + +// FinalizeVirtualDestination mocks base method. +func (m *MockVirtualDestinationFinalizer) FinalizeVirtualDestination(obj *v2.VirtualDestination) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeVirtualDestination", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeVirtualDestination indicates an expected call of FinalizeVirtualDestination. +func (mr *MockVirtualDestinationFinalizerMockRecorder) FinalizeVirtualDestination(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeVirtualDestination", reflect.TypeOf((*MockVirtualDestinationFinalizer)(nil).FinalizeVirtualDestination), obj) +} + +// ReconcileVirtualDestination mocks base method. +func (m *MockVirtualDestinationFinalizer) ReconcileVirtualDestination(obj *v2.VirtualDestination) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileVirtualDestination", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileVirtualDestination indicates an expected call of ReconcileVirtualDestination. +func (mr *MockVirtualDestinationFinalizerMockRecorder) ReconcileVirtualDestination(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileVirtualDestination", reflect.TypeOf((*MockVirtualDestinationFinalizer)(nil).ReconcileVirtualDestination), obj) +} + +// VirtualDestinationFinalizerName mocks base method. +func (m *MockVirtualDestinationFinalizer) VirtualDestinationFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "VirtualDestinationFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// VirtualDestinationFinalizerName indicates an expected call of VirtualDestinationFinalizerName. +func (mr *MockVirtualDestinationFinalizerMockRecorder) VirtualDestinationFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VirtualDestinationFinalizerName", reflect.TypeOf((*MockVirtualDestinationFinalizer)(nil).VirtualDestinationFinalizerName)) +} + +// MockVirtualDestinationReconcileLoop is a mock of VirtualDestinationReconcileLoop interface. +type MockVirtualDestinationReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockVirtualDestinationReconcileLoopMockRecorder +} + +// MockVirtualDestinationReconcileLoopMockRecorder is the mock recorder for MockVirtualDestinationReconcileLoop. +type MockVirtualDestinationReconcileLoopMockRecorder struct { + mock *MockVirtualDestinationReconcileLoop +} + +// NewMockVirtualDestinationReconcileLoop creates a new mock instance. +func NewMockVirtualDestinationReconcileLoop(ctrl *gomock.Controller) *MockVirtualDestinationReconcileLoop { + mock := &MockVirtualDestinationReconcileLoop{ctrl: ctrl} + mock.recorder = &MockVirtualDestinationReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualDestinationReconcileLoop) EXPECT() *MockVirtualDestinationReconcileLoopMockRecorder { + return m.recorder +} + +// RunVirtualDestinationReconciler mocks base method. +func (m *MockVirtualDestinationReconcileLoop) RunVirtualDestinationReconciler(ctx context.Context, rec controller.VirtualDestinationReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunVirtualDestinationReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunVirtualDestinationReconciler indicates an expected call of RunVirtualDestinationReconciler. +func (mr *MockVirtualDestinationReconcileLoopMockRecorder) RunVirtualDestinationReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunVirtualDestinationReconciler", reflect.TypeOf((*MockVirtualDestinationReconcileLoop)(nil).RunVirtualDestinationReconciler), varargs...) +} + +// MockVirtualGatewayReconciler is a mock of VirtualGatewayReconciler interface. +type MockVirtualGatewayReconciler struct { + ctrl *gomock.Controller + recorder *MockVirtualGatewayReconcilerMockRecorder +} + +// MockVirtualGatewayReconcilerMockRecorder is the mock recorder for MockVirtualGatewayReconciler. +type MockVirtualGatewayReconcilerMockRecorder struct { + mock *MockVirtualGatewayReconciler +} + +// NewMockVirtualGatewayReconciler creates a new mock instance. +func NewMockVirtualGatewayReconciler(ctrl *gomock.Controller) *MockVirtualGatewayReconciler { + mock := &MockVirtualGatewayReconciler{ctrl: ctrl} + mock.recorder = &MockVirtualGatewayReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualGatewayReconciler) EXPECT() *MockVirtualGatewayReconcilerMockRecorder { + return m.recorder +} + +// ReconcileVirtualGateway mocks base method. +func (m *MockVirtualGatewayReconciler) ReconcileVirtualGateway(obj *v2.VirtualGateway) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileVirtualGateway", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileVirtualGateway indicates an expected call of ReconcileVirtualGateway. +func (mr *MockVirtualGatewayReconcilerMockRecorder) ReconcileVirtualGateway(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileVirtualGateway", reflect.TypeOf((*MockVirtualGatewayReconciler)(nil).ReconcileVirtualGateway), obj) +} + +// MockVirtualGatewayDeletionReconciler is a mock of VirtualGatewayDeletionReconciler interface. +type MockVirtualGatewayDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockVirtualGatewayDeletionReconcilerMockRecorder +} + +// MockVirtualGatewayDeletionReconcilerMockRecorder is the mock recorder for MockVirtualGatewayDeletionReconciler. +type MockVirtualGatewayDeletionReconcilerMockRecorder struct { + mock *MockVirtualGatewayDeletionReconciler +} + +// NewMockVirtualGatewayDeletionReconciler creates a new mock instance. +func NewMockVirtualGatewayDeletionReconciler(ctrl *gomock.Controller) *MockVirtualGatewayDeletionReconciler { + mock := &MockVirtualGatewayDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockVirtualGatewayDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualGatewayDeletionReconciler) EXPECT() *MockVirtualGatewayDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileVirtualGatewayDeletion mocks base method. +func (m *MockVirtualGatewayDeletionReconciler) ReconcileVirtualGatewayDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileVirtualGatewayDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileVirtualGatewayDeletion indicates an expected call of ReconcileVirtualGatewayDeletion. +func (mr *MockVirtualGatewayDeletionReconcilerMockRecorder) ReconcileVirtualGatewayDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileVirtualGatewayDeletion", reflect.TypeOf((*MockVirtualGatewayDeletionReconciler)(nil).ReconcileVirtualGatewayDeletion), req) +} + +// MockVirtualGatewayFinalizer is a mock of VirtualGatewayFinalizer interface. +type MockVirtualGatewayFinalizer struct { + ctrl *gomock.Controller + recorder *MockVirtualGatewayFinalizerMockRecorder +} + +// MockVirtualGatewayFinalizerMockRecorder is the mock recorder for MockVirtualGatewayFinalizer. +type MockVirtualGatewayFinalizerMockRecorder struct { + mock *MockVirtualGatewayFinalizer +} + +// NewMockVirtualGatewayFinalizer creates a new mock instance. +func NewMockVirtualGatewayFinalizer(ctrl *gomock.Controller) *MockVirtualGatewayFinalizer { + mock := &MockVirtualGatewayFinalizer{ctrl: ctrl} + mock.recorder = &MockVirtualGatewayFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualGatewayFinalizer) EXPECT() *MockVirtualGatewayFinalizerMockRecorder { + return m.recorder +} + +// FinalizeVirtualGateway mocks base method. +func (m *MockVirtualGatewayFinalizer) FinalizeVirtualGateway(obj *v2.VirtualGateway) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeVirtualGateway", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeVirtualGateway indicates an expected call of FinalizeVirtualGateway. +func (mr *MockVirtualGatewayFinalizerMockRecorder) FinalizeVirtualGateway(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeVirtualGateway", reflect.TypeOf((*MockVirtualGatewayFinalizer)(nil).FinalizeVirtualGateway), obj) +} + +// ReconcileVirtualGateway mocks base method. +func (m *MockVirtualGatewayFinalizer) ReconcileVirtualGateway(obj *v2.VirtualGateway) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileVirtualGateway", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileVirtualGateway indicates an expected call of ReconcileVirtualGateway. +func (mr *MockVirtualGatewayFinalizerMockRecorder) ReconcileVirtualGateway(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileVirtualGateway", reflect.TypeOf((*MockVirtualGatewayFinalizer)(nil).ReconcileVirtualGateway), obj) +} + +// VirtualGatewayFinalizerName mocks base method. +func (m *MockVirtualGatewayFinalizer) VirtualGatewayFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "VirtualGatewayFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// VirtualGatewayFinalizerName indicates an expected call of VirtualGatewayFinalizerName. +func (mr *MockVirtualGatewayFinalizerMockRecorder) VirtualGatewayFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VirtualGatewayFinalizerName", reflect.TypeOf((*MockVirtualGatewayFinalizer)(nil).VirtualGatewayFinalizerName)) +} + +// MockVirtualGatewayReconcileLoop is a mock of VirtualGatewayReconcileLoop interface. +type MockVirtualGatewayReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockVirtualGatewayReconcileLoopMockRecorder +} + +// MockVirtualGatewayReconcileLoopMockRecorder is the mock recorder for MockVirtualGatewayReconcileLoop. +type MockVirtualGatewayReconcileLoopMockRecorder struct { + mock *MockVirtualGatewayReconcileLoop +} + +// NewMockVirtualGatewayReconcileLoop creates a new mock instance. +func NewMockVirtualGatewayReconcileLoop(ctrl *gomock.Controller) *MockVirtualGatewayReconcileLoop { + mock := &MockVirtualGatewayReconcileLoop{ctrl: ctrl} + mock.recorder = &MockVirtualGatewayReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualGatewayReconcileLoop) EXPECT() *MockVirtualGatewayReconcileLoopMockRecorder { + return m.recorder +} + +// RunVirtualGatewayReconciler mocks base method. +func (m *MockVirtualGatewayReconcileLoop) RunVirtualGatewayReconciler(ctx context.Context, rec controller.VirtualGatewayReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunVirtualGatewayReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunVirtualGatewayReconciler indicates an expected call of RunVirtualGatewayReconciler. +func (mr *MockVirtualGatewayReconcileLoopMockRecorder) RunVirtualGatewayReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunVirtualGatewayReconciler", reflect.TypeOf((*MockVirtualGatewayReconcileLoop)(nil).RunVirtualGatewayReconciler), varargs...) +} diff --git a/client-go/networking.gloo.solo.io/v2/controller/multicluster_reconcilers.go b/client-go/networking.gloo.solo.io/v2/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..234bdd685 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/controller/multicluster_reconcilers.go @@ -0,0 +1,374 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + networking_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the ExternalService Resource across clusters. +// implemented by the user +type MulticlusterExternalServiceReconciler interface { + ReconcileExternalService(clusterName string, obj *networking_gloo_solo_io_v2.ExternalService) (reconcile.Result, error) +} + +// Reconcile deletion events for the ExternalService Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterExternalServiceDeletionReconciler interface { + ReconcileExternalServiceDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterExternalServiceReconcilerFuncs struct { + OnReconcileExternalService func(clusterName string, obj *networking_gloo_solo_io_v2.ExternalService) (reconcile.Result, error) + OnReconcileExternalServiceDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterExternalServiceReconcilerFuncs) ReconcileExternalService(clusterName string, obj *networking_gloo_solo_io_v2.ExternalService) (reconcile.Result, error) { + if f.OnReconcileExternalService == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileExternalService(clusterName, obj) +} + +func (f *MulticlusterExternalServiceReconcilerFuncs) ReconcileExternalServiceDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileExternalServiceDeletion == nil { + return nil + } + return f.OnReconcileExternalServiceDeletion(clusterName, req) +} + +type MulticlusterExternalServiceReconcileLoop interface { + // AddMulticlusterExternalServiceReconciler adds a MulticlusterExternalServiceReconciler to the MulticlusterExternalServiceReconcileLoop. + AddMulticlusterExternalServiceReconciler(ctx context.Context, rec MulticlusterExternalServiceReconciler, predicates ...predicate.Predicate) +} + +type multiclusterExternalServiceReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterExternalServiceReconcileLoop) AddMulticlusterExternalServiceReconciler(ctx context.Context, rec MulticlusterExternalServiceReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericExternalServiceMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterExternalServiceReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterExternalServiceReconcileLoop { + return &multiclusterExternalServiceReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &networking_gloo_solo_io_v2.ExternalService{}, options)} +} + +type genericExternalServiceMulticlusterReconciler struct { + reconciler MulticlusterExternalServiceReconciler +} + +func (g genericExternalServiceMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterExternalServiceDeletionReconciler); ok { + return deletionReconciler.ReconcileExternalServiceDeletion(cluster, req) + } + return nil +} + +func (g genericExternalServiceMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*networking_gloo_solo_io_v2.ExternalService) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ExternalService handler received event for %T", object) + } + return g.reconciler.ReconcileExternalService(cluster, obj) +} + +// Reconcile Upsert events for the ExternalEndpoint Resource across clusters. +// implemented by the user +type MulticlusterExternalEndpointReconciler interface { + ReconcileExternalEndpoint(clusterName string, obj *networking_gloo_solo_io_v2.ExternalEndpoint) (reconcile.Result, error) +} + +// Reconcile deletion events for the ExternalEndpoint Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterExternalEndpointDeletionReconciler interface { + ReconcileExternalEndpointDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterExternalEndpointReconcilerFuncs struct { + OnReconcileExternalEndpoint func(clusterName string, obj *networking_gloo_solo_io_v2.ExternalEndpoint) (reconcile.Result, error) + OnReconcileExternalEndpointDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterExternalEndpointReconcilerFuncs) ReconcileExternalEndpoint(clusterName string, obj *networking_gloo_solo_io_v2.ExternalEndpoint) (reconcile.Result, error) { + if f.OnReconcileExternalEndpoint == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileExternalEndpoint(clusterName, obj) +} + +func (f *MulticlusterExternalEndpointReconcilerFuncs) ReconcileExternalEndpointDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileExternalEndpointDeletion == nil { + return nil + } + return f.OnReconcileExternalEndpointDeletion(clusterName, req) +} + +type MulticlusterExternalEndpointReconcileLoop interface { + // AddMulticlusterExternalEndpointReconciler adds a MulticlusterExternalEndpointReconciler to the MulticlusterExternalEndpointReconcileLoop. + AddMulticlusterExternalEndpointReconciler(ctx context.Context, rec MulticlusterExternalEndpointReconciler, predicates ...predicate.Predicate) +} + +type multiclusterExternalEndpointReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterExternalEndpointReconcileLoop) AddMulticlusterExternalEndpointReconciler(ctx context.Context, rec MulticlusterExternalEndpointReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericExternalEndpointMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterExternalEndpointReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterExternalEndpointReconcileLoop { + return &multiclusterExternalEndpointReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &networking_gloo_solo_io_v2.ExternalEndpoint{}, options)} +} + +type genericExternalEndpointMulticlusterReconciler struct { + reconciler MulticlusterExternalEndpointReconciler +} + +func (g genericExternalEndpointMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterExternalEndpointDeletionReconciler); ok { + return deletionReconciler.ReconcileExternalEndpointDeletion(cluster, req) + } + return nil +} + +func (g genericExternalEndpointMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*networking_gloo_solo_io_v2.ExternalEndpoint) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ExternalEndpoint handler received event for %T", object) + } + return g.reconciler.ReconcileExternalEndpoint(cluster, obj) +} + +// Reconcile Upsert events for the RouteTable Resource across clusters. +// implemented by the user +type MulticlusterRouteTableReconciler interface { + ReconcileRouteTable(clusterName string, obj *networking_gloo_solo_io_v2.RouteTable) (reconcile.Result, error) +} + +// Reconcile deletion events for the RouteTable Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterRouteTableDeletionReconciler interface { + ReconcileRouteTableDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterRouteTableReconcilerFuncs struct { + OnReconcileRouteTable func(clusterName string, obj *networking_gloo_solo_io_v2.RouteTable) (reconcile.Result, error) + OnReconcileRouteTableDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterRouteTableReconcilerFuncs) ReconcileRouteTable(clusterName string, obj *networking_gloo_solo_io_v2.RouteTable) (reconcile.Result, error) { + if f.OnReconcileRouteTable == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRouteTable(clusterName, obj) +} + +func (f *MulticlusterRouteTableReconcilerFuncs) ReconcileRouteTableDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileRouteTableDeletion == nil { + return nil + } + return f.OnReconcileRouteTableDeletion(clusterName, req) +} + +type MulticlusterRouteTableReconcileLoop interface { + // AddMulticlusterRouteTableReconciler adds a MulticlusterRouteTableReconciler to the MulticlusterRouteTableReconcileLoop. + AddMulticlusterRouteTableReconciler(ctx context.Context, rec MulticlusterRouteTableReconciler, predicates ...predicate.Predicate) +} + +type multiclusterRouteTableReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterRouteTableReconcileLoop) AddMulticlusterRouteTableReconciler(ctx context.Context, rec MulticlusterRouteTableReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericRouteTableMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterRouteTableReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterRouteTableReconcileLoop { + return &multiclusterRouteTableReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &networking_gloo_solo_io_v2.RouteTable{}, options)} +} + +type genericRouteTableMulticlusterReconciler struct { + reconciler MulticlusterRouteTableReconciler +} + +func (g genericRouteTableMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterRouteTableDeletionReconciler); ok { + return deletionReconciler.ReconcileRouteTableDeletion(cluster, req) + } + return nil +} + +func (g genericRouteTableMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*networking_gloo_solo_io_v2.RouteTable) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RouteTable handler received event for %T", object) + } + return g.reconciler.ReconcileRouteTable(cluster, obj) +} + +// Reconcile Upsert events for the VirtualDestination Resource across clusters. +// implemented by the user +type MulticlusterVirtualDestinationReconciler interface { + ReconcileVirtualDestination(clusterName string, obj *networking_gloo_solo_io_v2.VirtualDestination) (reconcile.Result, error) +} + +// Reconcile deletion events for the VirtualDestination Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterVirtualDestinationDeletionReconciler interface { + ReconcileVirtualDestinationDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterVirtualDestinationReconcilerFuncs struct { + OnReconcileVirtualDestination func(clusterName string, obj *networking_gloo_solo_io_v2.VirtualDestination) (reconcile.Result, error) + OnReconcileVirtualDestinationDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterVirtualDestinationReconcilerFuncs) ReconcileVirtualDestination(clusterName string, obj *networking_gloo_solo_io_v2.VirtualDestination) (reconcile.Result, error) { + if f.OnReconcileVirtualDestination == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileVirtualDestination(clusterName, obj) +} + +func (f *MulticlusterVirtualDestinationReconcilerFuncs) ReconcileVirtualDestinationDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileVirtualDestinationDeletion == nil { + return nil + } + return f.OnReconcileVirtualDestinationDeletion(clusterName, req) +} + +type MulticlusterVirtualDestinationReconcileLoop interface { + // AddMulticlusterVirtualDestinationReconciler adds a MulticlusterVirtualDestinationReconciler to the MulticlusterVirtualDestinationReconcileLoop. + AddMulticlusterVirtualDestinationReconciler(ctx context.Context, rec MulticlusterVirtualDestinationReconciler, predicates ...predicate.Predicate) +} + +type multiclusterVirtualDestinationReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterVirtualDestinationReconcileLoop) AddMulticlusterVirtualDestinationReconciler(ctx context.Context, rec MulticlusterVirtualDestinationReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericVirtualDestinationMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterVirtualDestinationReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterVirtualDestinationReconcileLoop { + return &multiclusterVirtualDestinationReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &networking_gloo_solo_io_v2.VirtualDestination{}, options)} +} + +type genericVirtualDestinationMulticlusterReconciler struct { + reconciler MulticlusterVirtualDestinationReconciler +} + +func (g genericVirtualDestinationMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterVirtualDestinationDeletionReconciler); ok { + return deletionReconciler.ReconcileVirtualDestinationDeletion(cluster, req) + } + return nil +} + +func (g genericVirtualDestinationMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*networking_gloo_solo_io_v2.VirtualDestination) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: VirtualDestination handler received event for %T", object) + } + return g.reconciler.ReconcileVirtualDestination(cluster, obj) +} + +// Reconcile Upsert events for the VirtualGateway Resource across clusters. +// implemented by the user +type MulticlusterVirtualGatewayReconciler interface { + ReconcileVirtualGateway(clusterName string, obj *networking_gloo_solo_io_v2.VirtualGateway) (reconcile.Result, error) +} + +// Reconcile deletion events for the VirtualGateway Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterVirtualGatewayDeletionReconciler interface { + ReconcileVirtualGatewayDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterVirtualGatewayReconcilerFuncs struct { + OnReconcileVirtualGateway func(clusterName string, obj *networking_gloo_solo_io_v2.VirtualGateway) (reconcile.Result, error) + OnReconcileVirtualGatewayDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterVirtualGatewayReconcilerFuncs) ReconcileVirtualGateway(clusterName string, obj *networking_gloo_solo_io_v2.VirtualGateway) (reconcile.Result, error) { + if f.OnReconcileVirtualGateway == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileVirtualGateway(clusterName, obj) +} + +func (f *MulticlusterVirtualGatewayReconcilerFuncs) ReconcileVirtualGatewayDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileVirtualGatewayDeletion == nil { + return nil + } + return f.OnReconcileVirtualGatewayDeletion(clusterName, req) +} + +type MulticlusterVirtualGatewayReconcileLoop interface { + // AddMulticlusterVirtualGatewayReconciler adds a MulticlusterVirtualGatewayReconciler to the MulticlusterVirtualGatewayReconcileLoop. + AddMulticlusterVirtualGatewayReconciler(ctx context.Context, rec MulticlusterVirtualGatewayReconciler, predicates ...predicate.Predicate) +} + +type multiclusterVirtualGatewayReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterVirtualGatewayReconcileLoop) AddMulticlusterVirtualGatewayReconciler(ctx context.Context, rec MulticlusterVirtualGatewayReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericVirtualGatewayMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterVirtualGatewayReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterVirtualGatewayReconcileLoop { + return &multiclusterVirtualGatewayReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &networking_gloo_solo_io_v2.VirtualGateway{}, options)} +} + +type genericVirtualGatewayMulticlusterReconciler struct { + reconciler MulticlusterVirtualGatewayReconciler +} + +func (g genericVirtualGatewayMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterVirtualGatewayDeletionReconciler); ok { + return deletionReconciler.ReconcileVirtualGatewayDeletion(cluster, req) + } + return nil +} + +func (g genericVirtualGatewayMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*networking_gloo_solo_io_v2.VirtualGateway) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: VirtualGateway handler received event for %T", object) + } + return g.reconciler.ReconcileVirtualGateway(cluster, obj) +} diff --git a/client-go/networking.gloo.solo.io/v2/controller/reconcilers.go b/client-go/networking.gloo.solo.io/v2/controller/reconcilers.go new file mode 100644 index 000000000..e28a4d0ce --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/controller/reconcilers.go @@ -0,0 +1,603 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + networking_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the ExternalService Resource. +// implemented by the user +type ExternalServiceReconciler interface { + ReconcileExternalService(obj *networking_gloo_solo_io_v2.ExternalService) (reconcile.Result, error) +} + +// Reconcile deletion events for the ExternalService Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ExternalServiceDeletionReconciler interface { + ReconcileExternalServiceDeletion(req reconcile.Request) error +} + +type ExternalServiceReconcilerFuncs struct { + OnReconcileExternalService func(obj *networking_gloo_solo_io_v2.ExternalService) (reconcile.Result, error) + OnReconcileExternalServiceDeletion func(req reconcile.Request) error +} + +func (f *ExternalServiceReconcilerFuncs) ReconcileExternalService(obj *networking_gloo_solo_io_v2.ExternalService) (reconcile.Result, error) { + if f.OnReconcileExternalService == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileExternalService(obj) +} + +func (f *ExternalServiceReconcilerFuncs) ReconcileExternalServiceDeletion(req reconcile.Request) error { + if f.OnReconcileExternalServiceDeletion == nil { + return nil + } + return f.OnReconcileExternalServiceDeletion(req) +} + +// Reconcile and finalize the ExternalService Resource +// implemented by the user +type ExternalServiceFinalizer interface { + ExternalServiceReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ExternalServiceFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeExternalService(obj *networking_gloo_solo_io_v2.ExternalService) error +} + +type ExternalServiceReconcileLoop interface { + RunExternalServiceReconciler(ctx context.Context, rec ExternalServiceReconciler, predicates ...predicate.Predicate) error +} + +type externalServiceReconcileLoop struct { + loop reconcile.Loop +} + +func NewExternalServiceReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ExternalServiceReconcileLoop { + return &externalServiceReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &networking_gloo_solo_io_v2.ExternalService{}, options), + } +} + +func (c *externalServiceReconcileLoop) RunExternalServiceReconciler(ctx context.Context, reconciler ExternalServiceReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericExternalServiceReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ExternalServiceFinalizer); ok { + reconcilerWrapper = genericExternalServiceFinalizer{ + genericExternalServiceReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericExternalServiceHandler implements a generic reconcile.Reconciler +type genericExternalServiceReconciler struct { + reconciler ExternalServiceReconciler +} + +func (r genericExternalServiceReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*networking_gloo_solo_io_v2.ExternalService) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ExternalService handler received event for %T", object) + } + return r.reconciler.ReconcileExternalService(obj) +} + +func (r genericExternalServiceReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ExternalServiceDeletionReconciler); ok { + return deletionReconciler.ReconcileExternalServiceDeletion(request) + } + return nil +} + +// genericExternalServiceFinalizer implements a generic reconcile.FinalizingReconciler +type genericExternalServiceFinalizer struct { + genericExternalServiceReconciler + finalizingReconciler ExternalServiceFinalizer +} + +func (r genericExternalServiceFinalizer) FinalizerName() string { + return r.finalizingReconciler.ExternalServiceFinalizerName() +} + +func (r genericExternalServiceFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.ExternalService) + if !ok { + return errors.Errorf("internal error: ExternalService handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeExternalService(obj) +} + +// Reconcile Upsert events for the ExternalEndpoint Resource. +// implemented by the user +type ExternalEndpointReconciler interface { + ReconcileExternalEndpoint(obj *networking_gloo_solo_io_v2.ExternalEndpoint) (reconcile.Result, error) +} + +// Reconcile deletion events for the ExternalEndpoint Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ExternalEndpointDeletionReconciler interface { + ReconcileExternalEndpointDeletion(req reconcile.Request) error +} + +type ExternalEndpointReconcilerFuncs struct { + OnReconcileExternalEndpoint func(obj *networking_gloo_solo_io_v2.ExternalEndpoint) (reconcile.Result, error) + OnReconcileExternalEndpointDeletion func(req reconcile.Request) error +} + +func (f *ExternalEndpointReconcilerFuncs) ReconcileExternalEndpoint(obj *networking_gloo_solo_io_v2.ExternalEndpoint) (reconcile.Result, error) { + if f.OnReconcileExternalEndpoint == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileExternalEndpoint(obj) +} + +func (f *ExternalEndpointReconcilerFuncs) ReconcileExternalEndpointDeletion(req reconcile.Request) error { + if f.OnReconcileExternalEndpointDeletion == nil { + return nil + } + return f.OnReconcileExternalEndpointDeletion(req) +} + +// Reconcile and finalize the ExternalEndpoint Resource +// implemented by the user +type ExternalEndpointFinalizer interface { + ExternalEndpointReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ExternalEndpointFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeExternalEndpoint(obj *networking_gloo_solo_io_v2.ExternalEndpoint) error +} + +type ExternalEndpointReconcileLoop interface { + RunExternalEndpointReconciler(ctx context.Context, rec ExternalEndpointReconciler, predicates ...predicate.Predicate) error +} + +type externalEndpointReconcileLoop struct { + loop reconcile.Loop +} + +func NewExternalEndpointReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ExternalEndpointReconcileLoop { + return &externalEndpointReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &networking_gloo_solo_io_v2.ExternalEndpoint{}, options), + } +} + +func (c *externalEndpointReconcileLoop) RunExternalEndpointReconciler(ctx context.Context, reconciler ExternalEndpointReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericExternalEndpointReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ExternalEndpointFinalizer); ok { + reconcilerWrapper = genericExternalEndpointFinalizer{ + genericExternalEndpointReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericExternalEndpointHandler implements a generic reconcile.Reconciler +type genericExternalEndpointReconciler struct { + reconciler ExternalEndpointReconciler +} + +func (r genericExternalEndpointReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*networking_gloo_solo_io_v2.ExternalEndpoint) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ExternalEndpoint handler received event for %T", object) + } + return r.reconciler.ReconcileExternalEndpoint(obj) +} + +func (r genericExternalEndpointReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ExternalEndpointDeletionReconciler); ok { + return deletionReconciler.ReconcileExternalEndpointDeletion(request) + } + return nil +} + +// genericExternalEndpointFinalizer implements a generic reconcile.FinalizingReconciler +type genericExternalEndpointFinalizer struct { + genericExternalEndpointReconciler + finalizingReconciler ExternalEndpointFinalizer +} + +func (r genericExternalEndpointFinalizer) FinalizerName() string { + return r.finalizingReconciler.ExternalEndpointFinalizerName() +} + +func (r genericExternalEndpointFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.ExternalEndpoint) + if !ok { + return errors.Errorf("internal error: ExternalEndpoint handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeExternalEndpoint(obj) +} + +// Reconcile Upsert events for the RouteTable Resource. +// implemented by the user +type RouteTableReconciler interface { + ReconcileRouteTable(obj *networking_gloo_solo_io_v2.RouteTable) (reconcile.Result, error) +} + +// Reconcile deletion events for the RouteTable Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type RouteTableDeletionReconciler interface { + ReconcileRouteTableDeletion(req reconcile.Request) error +} + +type RouteTableReconcilerFuncs struct { + OnReconcileRouteTable func(obj *networking_gloo_solo_io_v2.RouteTable) (reconcile.Result, error) + OnReconcileRouteTableDeletion func(req reconcile.Request) error +} + +func (f *RouteTableReconcilerFuncs) ReconcileRouteTable(obj *networking_gloo_solo_io_v2.RouteTable) (reconcile.Result, error) { + if f.OnReconcileRouteTable == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRouteTable(obj) +} + +func (f *RouteTableReconcilerFuncs) ReconcileRouteTableDeletion(req reconcile.Request) error { + if f.OnReconcileRouteTableDeletion == nil { + return nil + } + return f.OnReconcileRouteTableDeletion(req) +} + +// Reconcile and finalize the RouteTable Resource +// implemented by the user +type RouteTableFinalizer interface { + RouteTableReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + RouteTableFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeRouteTable(obj *networking_gloo_solo_io_v2.RouteTable) error +} + +type RouteTableReconcileLoop interface { + RunRouteTableReconciler(ctx context.Context, rec RouteTableReconciler, predicates ...predicate.Predicate) error +} + +type routeTableReconcileLoop struct { + loop reconcile.Loop +} + +func NewRouteTableReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) RouteTableReconcileLoop { + return &routeTableReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &networking_gloo_solo_io_v2.RouteTable{}, options), + } +} + +func (c *routeTableReconcileLoop) RunRouteTableReconciler(ctx context.Context, reconciler RouteTableReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericRouteTableReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(RouteTableFinalizer); ok { + reconcilerWrapper = genericRouteTableFinalizer{ + genericRouteTableReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericRouteTableHandler implements a generic reconcile.Reconciler +type genericRouteTableReconciler struct { + reconciler RouteTableReconciler +} + +func (r genericRouteTableReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*networking_gloo_solo_io_v2.RouteTable) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RouteTable handler received event for %T", object) + } + return r.reconciler.ReconcileRouteTable(obj) +} + +func (r genericRouteTableReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(RouteTableDeletionReconciler); ok { + return deletionReconciler.ReconcileRouteTableDeletion(request) + } + return nil +} + +// genericRouteTableFinalizer implements a generic reconcile.FinalizingReconciler +type genericRouteTableFinalizer struct { + genericRouteTableReconciler + finalizingReconciler RouteTableFinalizer +} + +func (r genericRouteTableFinalizer) FinalizerName() string { + return r.finalizingReconciler.RouteTableFinalizerName() +} + +func (r genericRouteTableFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.RouteTable) + if !ok { + return errors.Errorf("internal error: RouteTable handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeRouteTable(obj) +} + +// Reconcile Upsert events for the VirtualDestination Resource. +// implemented by the user +type VirtualDestinationReconciler interface { + ReconcileVirtualDestination(obj *networking_gloo_solo_io_v2.VirtualDestination) (reconcile.Result, error) +} + +// Reconcile deletion events for the VirtualDestination Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type VirtualDestinationDeletionReconciler interface { + ReconcileVirtualDestinationDeletion(req reconcile.Request) error +} + +type VirtualDestinationReconcilerFuncs struct { + OnReconcileVirtualDestination func(obj *networking_gloo_solo_io_v2.VirtualDestination) (reconcile.Result, error) + OnReconcileVirtualDestinationDeletion func(req reconcile.Request) error +} + +func (f *VirtualDestinationReconcilerFuncs) ReconcileVirtualDestination(obj *networking_gloo_solo_io_v2.VirtualDestination) (reconcile.Result, error) { + if f.OnReconcileVirtualDestination == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileVirtualDestination(obj) +} + +func (f *VirtualDestinationReconcilerFuncs) ReconcileVirtualDestinationDeletion(req reconcile.Request) error { + if f.OnReconcileVirtualDestinationDeletion == nil { + return nil + } + return f.OnReconcileVirtualDestinationDeletion(req) +} + +// Reconcile and finalize the VirtualDestination Resource +// implemented by the user +type VirtualDestinationFinalizer interface { + VirtualDestinationReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + VirtualDestinationFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeVirtualDestination(obj *networking_gloo_solo_io_v2.VirtualDestination) error +} + +type VirtualDestinationReconcileLoop interface { + RunVirtualDestinationReconciler(ctx context.Context, rec VirtualDestinationReconciler, predicates ...predicate.Predicate) error +} + +type virtualDestinationReconcileLoop struct { + loop reconcile.Loop +} + +func NewVirtualDestinationReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) VirtualDestinationReconcileLoop { + return &virtualDestinationReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &networking_gloo_solo_io_v2.VirtualDestination{}, options), + } +} + +func (c *virtualDestinationReconcileLoop) RunVirtualDestinationReconciler(ctx context.Context, reconciler VirtualDestinationReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericVirtualDestinationReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(VirtualDestinationFinalizer); ok { + reconcilerWrapper = genericVirtualDestinationFinalizer{ + genericVirtualDestinationReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericVirtualDestinationHandler implements a generic reconcile.Reconciler +type genericVirtualDestinationReconciler struct { + reconciler VirtualDestinationReconciler +} + +func (r genericVirtualDestinationReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*networking_gloo_solo_io_v2.VirtualDestination) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: VirtualDestination handler received event for %T", object) + } + return r.reconciler.ReconcileVirtualDestination(obj) +} + +func (r genericVirtualDestinationReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(VirtualDestinationDeletionReconciler); ok { + return deletionReconciler.ReconcileVirtualDestinationDeletion(request) + } + return nil +} + +// genericVirtualDestinationFinalizer implements a generic reconcile.FinalizingReconciler +type genericVirtualDestinationFinalizer struct { + genericVirtualDestinationReconciler + finalizingReconciler VirtualDestinationFinalizer +} + +func (r genericVirtualDestinationFinalizer) FinalizerName() string { + return r.finalizingReconciler.VirtualDestinationFinalizerName() +} + +func (r genericVirtualDestinationFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.VirtualDestination) + if !ok { + return errors.Errorf("internal error: VirtualDestination handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeVirtualDestination(obj) +} + +// Reconcile Upsert events for the VirtualGateway Resource. +// implemented by the user +type VirtualGatewayReconciler interface { + ReconcileVirtualGateway(obj *networking_gloo_solo_io_v2.VirtualGateway) (reconcile.Result, error) +} + +// Reconcile deletion events for the VirtualGateway Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type VirtualGatewayDeletionReconciler interface { + ReconcileVirtualGatewayDeletion(req reconcile.Request) error +} + +type VirtualGatewayReconcilerFuncs struct { + OnReconcileVirtualGateway func(obj *networking_gloo_solo_io_v2.VirtualGateway) (reconcile.Result, error) + OnReconcileVirtualGatewayDeletion func(req reconcile.Request) error +} + +func (f *VirtualGatewayReconcilerFuncs) ReconcileVirtualGateway(obj *networking_gloo_solo_io_v2.VirtualGateway) (reconcile.Result, error) { + if f.OnReconcileVirtualGateway == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileVirtualGateway(obj) +} + +func (f *VirtualGatewayReconcilerFuncs) ReconcileVirtualGatewayDeletion(req reconcile.Request) error { + if f.OnReconcileVirtualGatewayDeletion == nil { + return nil + } + return f.OnReconcileVirtualGatewayDeletion(req) +} + +// Reconcile and finalize the VirtualGateway Resource +// implemented by the user +type VirtualGatewayFinalizer interface { + VirtualGatewayReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + VirtualGatewayFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeVirtualGateway(obj *networking_gloo_solo_io_v2.VirtualGateway) error +} + +type VirtualGatewayReconcileLoop interface { + RunVirtualGatewayReconciler(ctx context.Context, rec VirtualGatewayReconciler, predicates ...predicate.Predicate) error +} + +type virtualGatewayReconcileLoop struct { + loop reconcile.Loop +} + +func NewVirtualGatewayReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) VirtualGatewayReconcileLoop { + return &virtualGatewayReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &networking_gloo_solo_io_v2.VirtualGateway{}, options), + } +} + +func (c *virtualGatewayReconcileLoop) RunVirtualGatewayReconciler(ctx context.Context, reconciler VirtualGatewayReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericVirtualGatewayReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(VirtualGatewayFinalizer); ok { + reconcilerWrapper = genericVirtualGatewayFinalizer{ + genericVirtualGatewayReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericVirtualGatewayHandler implements a generic reconcile.Reconciler +type genericVirtualGatewayReconciler struct { + reconciler VirtualGatewayReconciler +} + +func (r genericVirtualGatewayReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*networking_gloo_solo_io_v2.VirtualGateway) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: VirtualGateway handler received event for %T", object) + } + return r.reconciler.ReconcileVirtualGateway(obj) +} + +func (r genericVirtualGatewayReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(VirtualGatewayDeletionReconciler); ok { + return deletionReconciler.ReconcileVirtualGatewayDeletion(request) + } + return nil +} + +// genericVirtualGatewayFinalizer implements a generic reconcile.FinalizingReconciler +type genericVirtualGatewayFinalizer struct { + genericVirtualGatewayReconciler + finalizingReconciler VirtualGatewayFinalizer +} + +func (r genericVirtualGatewayFinalizer) FinalizerName() string { + return r.finalizingReconciler.VirtualGatewayFinalizerName() +} + +func (r genericVirtualGatewayFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2.VirtualGateway) + if !ok { + return errors.Errorf("internal error: VirtualGateway handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeVirtualGateway(obj) +} diff --git a/client-go/networking.gloo.solo.io/v2/doc.go b/client-go/networking.gloo.solo.io/v2/doc.go new file mode 100644 index 000000000..7c6da5b71 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2 contains API Schema definitions for the networking.gloo.solo.io v2 API group +// +k8s:deepcopy-gen=package,register +// +groupName=networking.gloo.solo.io +package v2 diff --git a/client-go/networking.gloo.solo.io/v2/external_endpoint.pb.clone.go b/client-go/networking.gloo.solo.io/v2/external_endpoint.pb.clone.go new file mode 100644 index 000000000..09ce7f789 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/external_endpoint.pb.clone.go @@ -0,0 +1,116 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/external_endpoint.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ExternalEndpointSpec) Clone() proto.Message { + var target *ExternalEndpointSpec + if m == nil { + return target + } + target = &ExternalEndpointSpec{} + + target.Address = m.GetAddress() + + if m.GetPorts() != nil { + target.Ports = make([]*ExternalEndpointSpec_Port, len(m.GetPorts())) + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Ports[idx] = h.Clone().(*ExternalEndpointSpec_Port) + } else { + target.Ports[idx] = proto.Clone(v).(*ExternalEndpointSpec_Port) + } + + } + } + + if h, ok := interface{}(m.GetLocality()).(clone.Cloner); ok { + target.Locality = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Locality) + } else { + target.Locality = proto.Clone(m.GetLocality()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Locality) + } + + return target +} + +// Clone function +func (m *ExternalEndpointStatus) Clone() proto.Message { + var target *ExternalEndpointStatus + if m == nil { + return target + } + target = &ExternalEndpointStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + return target +} + +// Clone function +func (m *ExternalEndpointReport) Clone() proto.Message { + var target *ExternalEndpointReport + if m == nil { + return target + } + target = &ExternalEndpointReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + return target +} + +// Clone function +func (m *ExternalEndpointSpec_Port) Clone() proto.Message { + var target *ExternalEndpointSpec_Port + if m == nil { + return target + } + target = &ExternalEndpointSpec_Port{} + + target.Name = m.GetName() + + target.Number = m.GetNumber() + + return target +} diff --git a/client-go/networking.gloo.solo.io/v2/external_endpoint.pb.equal.go b/client-go/networking.gloo.solo.io/v2/external_endpoint.pb.equal.go new file mode 100644 index 000000000..fa3242cc5 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/external_endpoint.pb.equal.go @@ -0,0 +1,188 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/external_endpoint.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ExternalEndpointSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalEndpointSpec) + if !ok { + that2, ok := that.(ExternalEndpointSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetAddress(), target.GetAddress()) != 0 { + return false + } + + if len(m.GetPorts()) != len(target.GetPorts()) { + return false + } + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPorts()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetLocality()).(equality.Equalizer); ok { + if !h.Equal(target.GetLocality()) { + return false + } + } else { + if !proto.Equal(m.GetLocality(), target.GetLocality()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExternalEndpointStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalEndpointStatus) + if !ok { + that2, ok := that.(ExternalEndpointStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExternalEndpointReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalEndpointReport) + if !ok { + that2, ok := that.(ExternalEndpointReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ExternalEndpointSpec_Port) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalEndpointSpec_Port) + if !ok { + that2, ok := that.(ExternalEndpointSpec_Port) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if m.GetNumber() != target.GetNumber() { + return false + } + + return true +} diff --git a/client-go/networking.gloo.solo.io/v2/external_endpoint.pb.go b/client-go/networking.gloo.solo.io/v2/external_endpoint.pb.go new file mode 100644 index 000000000..c62386ea6 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/external_endpoint.pb.go @@ -0,0 +1,442 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/external_endpoint.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ExternalEndpoint defines a static IP for routing which exist outside the mesh. ExternalEndpoints provide a mechanism for direct resolution of the addresses backing ExternalServices. +type ExternalEndpointSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Address associated with the network endpoint without the + // port. Domain names can be used if and only if the resolution is set + // to DNS, and must be fully-qualified without wildcards. Use the form + // unix:///absolute/path/to/socket for Unix domain socket endpoints. + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Set of ports on which the ExternalEndpoint's address receives traffic. + Ports []*ExternalEndpointSpec_Port `protobuf:"bytes,2,rep,name=ports,proto3" json:"ports,omitempty"` + // The locality associated with the endpoint. A locality corresponds + // to a failure domain (e.g., country/region/zone). Arbitrary failure + // domain hierarchies can be represented by separating each + // encapsulating failure domain by /. For example, the locality of an + // an endpoint in US, in US-East-1 region, within availability zone + // az-1, in data center rack r11 can be represented as + // us/us-east-1/az-1/r11. Istio will configure the sidecar to route to + // endpoints within the same locality as the sidecar. If none of the + // endpoints in the locality are available, endpoints parent locality + // (but within the same network ID) will be chosen. For example, if + // there are two endpoints in same network (networkID "n1"), say e1 + // with locality us/us-east-1/az-1/r11 and e2 with locality + // us/us-east-1/az-2/r12, a sidecar from us/us-east-1/az-1/r11 locality + // will prefer e1 from the same locality over e2 from a different + // locality. Endpoint e2 could be the IP associated with a gateway + // (that bridges networks n1 and n2), or the IP associated with a + // standard service endpoint. + Locality *v2.Locality `protobuf:"bytes,5,opt,name=locality,proto3" json:"locality,omitempty"` +} + +func (x *ExternalEndpointSpec) Reset() { + *x = ExternalEndpointSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalEndpointSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalEndpointSpec) ProtoMessage() {} + +func (x *ExternalEndpointSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalEndpointSpec.ProtoReflect.Descriptor instead. +func (*ExternalEndpointSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDescGZIP(), []int{0} +} + +func (x *ExternalEndpointSpec) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *ExternalEndpointSpec) GetPorts() []*ExternalEndpointSpec_Port { + if x != nil { + return x.Ports + } + return nil +} + +func (x *ExternalEndpointSpec) GetLocality() *v2.Locality { + if x != nil { + return x.Locality + } + return nil +} + +// The status of the resource after it is applied to your Gloo environment. +type ExternalEndpointStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` +} + +func (x *ExternalEndpointStatus) Reset() { + *x = ExternalEndpointStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalEndpointStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalEndpointStatus) ProtoMessage() {} + +func (x *ExternalEndpointStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalEndpointStatus.ProtoReflect.Descriptor instead. +func (*ExternalEndpointStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDescGZIP(), []int{1} +} + +func (x *ExternalEndpointStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +type ExternalEndpointReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ExternalEndpointReport) Reset() { + *x = ExternalEndpointReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalEndpointReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalEndpointReport) ProtoMessage() {} + +func (x *ExternalEndpointReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalEndpointReport.ProtoReflect.Descriptor instead. +func (*ExternalEndpointReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDescGZIP(), []int{2} +} + +func (x *ExternalEndpointReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +// a port on an ExternalEndpoint +type ExternalEndpointSpec_Port struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // name of the port. required if more then one port is specified on the ExternalEndpoint + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // the port number. + Number uint32 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` +} + +func (x *ExternalEndpointSpec_Port) Reset() { + *x = ExternalEndpointSpec_Port{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalEndpointSpec_Port) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalEndpointSpec_Port) ProtoMessage() {} + +func (x *ExternalEndpointSpec_Port) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalEndpointSpec_Port.ProtoReflect.Descriptor instead. +func (*ExternalEndpointSpec_Port) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ExternalEndpointSpec_Port) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExternalEndpointSpec_Port) GetNumber() uint32 { + if x != nil { + return x.Number + } + return 0 +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDesc = []byte{ + 0x0a, 0x5e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x17, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x51, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, + 0x32, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xe9, 0x01, 0x0a, 0x14, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x48, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x39, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x32, 0x0a, 0x04, 0x50, 0x6f, 0x72, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x4d, 0x0a, + 0x16, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0xd5, 0x01, 0x0a, + 0x16, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5f, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x42, 0x58, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_goTypes = []interface{}{ + (*ExternalEndpointSpec)(nil), // 0: networking.gloo.solo.io.ExternalEndpointSpec + (*ExternalEndpointStatus)(nil), // 1: networking.gloo.solo.io.ExternalEndpointStatus + (*ExternalEndpointReport)(nil), // 2: networking.gloo.solo.io.ExternalEndpointReport + (*ExternalEndpointSpec_Port)(nil), // 3: networking.gloo.solo.io.ExternalEndpointSpec.Port + nil, // 4: networking.gloo.solo.io.ExternalEndpointReport.WorkspacesEntry + (*v2.Locality)(nil), // 5: common.gloo.solo.io.Locality + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.Report)(nil), // 7: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_depIdxs = []int32{ + 3, // 0: networking.gloo.solo.io.ExternalEndpointSpec.ports:type_name -> networking.gloo.solo.io.ExternalEndpointSpec.Port + 5, // 1: networking.gloo.solo.io.ExternalEndpointSpec.locality:type_name -> common.gloo.solo.io.Locality + 6, // 2: networking.gloo.solo.io.ExternalEndpointStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: networking.gloo.solo.io.ExternalEndpointReport.workspaces:type_name -> networking.gloo.solo.io.ExternalEndpointReport.WorkspacesEntry + 7, // 4: networking.gloo.solo.io.ExternalEndpointReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalEndpointSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalEndpointStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalEndpointReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalEndpointSpec_Port); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_endpoint_proto_depIdxs = nil +} diff --git a/client-go/networking.gloo.solo.io/v2/external_endpoint.pb.hash.go b/client-go/networking.gloo.solo.io/v2/external_endpoint.pb.hash.go new file mode 100644 index 000000000..31f8d56fc --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/external_endpoint.pb.hash.go @@ -0,0 +1,206 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/external_endpoint.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ExternalEndpointSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.ExternalEndpointSpec")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetAddress())); err != nil { + return 0, err + } + + for _, v := range m.GetPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetLocality()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Locality")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLocality(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Locality")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalEndpointStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.ExternalEndpointStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalEndpointReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.ExternalEndpointReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalEndpointSpec_Port) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.ExternalEndpointSpec_Port")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumber()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/networking.gloo.solo.io/v2/external_service.pb.clone.go b/client-go/networking.gloo.solo.io/v2/external_service.pb.clone.go new file mode 100644 index 000000000..689828a88 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/external_service.pb.clone.go @@ -0,0 +1,267 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/external_service.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ExternalServiceSpec) Clone() proto.Message { + var target *ExternalServiceSpec + if m == nil { + return target + } + target = &ExternalServiceSpec{} + + if m.GetHosts() != nil { + target.Hosts = make([]string, len(m.GetHosts())) + for idx, v := range m.GetHosts() { + + target.Hosts[idx] = v + + } + } + + if m.GetAddresses() != nil { + target.Addresses = make([]string, len(m.GetAddresses())) + for idx, v := range m.GetAddresses() { + + target.Addresses[idx] = v + + } + } + + if m.GetPorts() != nil { + target.Ports = make([]*ExternalServiceSpec_Port, len(m.GetPorts())) + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Ports[idx] = h.Clone().(*ExternalServiceSpec_Port) + } else { + target.Ports[idx] = proto.Clone(v).(*ExternalServiceSpec_Port) + } + + } + } + + if m.GetSelector() != nil { + target.Selector = make(map[string]string, len(m.GetSelector())) + for k, v := range m.GetSelector() { + + target.Selector[k] = v + + } + } + + if m.GetSubjectAltNames() != nil { + target.SubjectAltNames = make([]string, len(m.GetSubjectAltNames())) + for idx, v := range m.GetSubjectAltNames() { + + target.SubjectAltNames[idx] = v + + } + } + + return target +} + +// Clone function +func (m *ExternalServiceStatus) Clone() proto.Message { + var target *ExternalServiceStatus + if m == nil { + return target + } + target = &ExternalServiceStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + if m.GetNumAppliedDestinationPolicies() != nil { + target.NumAppliedDestinationPolicies = make(map[string]uint32, len(m.GetNumAppliedDestinationPolicies())) + for k, v := range m.GetNumAppliedDestinationPolicies() { + + target.NumAppliedDestinationPolicies[k] = v + + } + } + + target.NumSelectedExternalEndpoints = m.GetNumSelectedExternalEndpoints() + + target.OwnedByWorkspace = m.GetOwnedByWorkspace() + + target.NumSelectedVirtualGateways = m.GetNumSelectedVirtualGateways() + + return target +} + +// Clone function +func (m *ExternalServiceReport) Clone() proto.Message { + var target *ExternalServiceReport + if m == nil { + return target + } + target = &ExternalServiceReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetAppliedDestinationPolicies() != nil { + target.AppliedDestinationPolicies = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.AppliedDestinationPortPolicies, len(m.GetAppliedDestinationPolicies())) + for k, v := range m.GetAppliedDestinationPolicies() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AppliedDestinationPolicies[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.AppliedDestinationPortPolicies) + } else { + target.AppliedDestinationPolicies[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.AppliedDestinationPortPolicies) + } + + } + } + + if m.GetSelectedExternalEndpoints() != nil { + target.SelectedExternalEndpoints = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetSelectedExternalEndpoints())) + for idx, v := range m.GetSelectedExternalEndpoints() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedExternalEndpoints[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.SelectedExternalEndpoints[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + if m.GetSelectedVirtualGateways() != nil { + target.SelectedVirtualGateways = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetSelectedVirtualGateways())) + for idx, v := range m.GetSelectedVirtualGateways() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedVirtualGateways[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.SelectedVirtualGateways[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + return target +} + +// Clone function +func (m *ExternalServiceSpec_Port) Clone() proto.Message { + var target *ExternalServiceSpec_Port + if m == nil { + return target + } + target = &ExternalServiceSpec_Port{} + + target.Number = m.GetNumber() + + if h, ok := interface{}(m.GetTargetPort()).(clone.Cloner); ok { + target.TargetPort = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector) + } else { + target.TargetPort = proto.Clone(m.GetTargetPort()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector) + } + + target.Name = m.GetName() + + target.Protocol = m.GetProtocol() + + if h, ok := interface{}(m.GetClientsideTls()).(clone.Cloner); ok { + target.ClientsideTls = h.Clone().(*ExternalServiceSpec_Port_TlsConfig) + } else { + target.ClientsideTls = proto.Clone(m.GetClientsideTls()).(*ExternalServiceSpec_Port_TlsConfig) + } + + if h, ok := interface{}(m.GetEgressGatewayRoutes()).(clone.Cloner); ok { + target.EgressGatewayRoutes = h.Clone().(*ExternalServiceSpec_Port_EgressGatewayRoutes) + } else { + target.EgressGatewayRoutes = proto.Clone(m.GetEgressGatewayRoutes()).(*ExternalServiceSpec_Port_EgressGatewayRoutes) + } + + return target +} + +// Clone function +func (m *ExternalServiceSpec_Port_TlsConfig) Clone() proto.Message { + var target *ExternalServiceSpec_Port_TlsConfig + if m == nil { + return target + } + target = &ExternalServiceSpec_Port_TlsConfig{} + + target.Sni = m.GetSni() + + target.Mode = m.GetMode() + + target.ClientCertificate = m.GetClientCertificate() + + target.PrivateKey = m.GetPrivateKey() + + target.CaCertificates = m.GetCaCertificates() + + return target +} + +// Clone function +func (m *ExternalServiceSpec_Port_EgressGatewayRoutes) Clone() proto.Message { + var target *ExternalServiceSpec_Port_EgressGatewayRoutes + if m == nil { + return target + } + target = &ExternalServiceSpec_Port_EgressGatewayRoutes{} + + target.PortMatch = m.GetPortMatch() + + if m.GetVirtualGatewayRefs() != nil { + target.VirtualGatewayRefs = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetVirtualGatewayRefs())) + for idx, v := range m.GetVirtualGatewayRefs() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.VirtualGatewayRefs[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.VirtualGatewayRefs[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + return target +} diff --git a/client-go/networking.gloo.solo.io/v2/external_service.pb.equal.go b/client-go/networking.gloo.solo.io/v2/external_service.pb.equal.go new file mode 100644 index 000000000..58551e6c8 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/external_service.pb.equal.go @@ -0,0 +1,419 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/external_service.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ExternalServiceSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalServiceSpec) + if !ok { + that2, ok := that.(ExternalServiceSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetHosts()) != len(target.GetHosts()) { + return false + } + for idx, v := range m.GetHosts() { + + if strings.Compare(v, target.GetHosts()[idx]) != 0 { + return false + } + + } + + if len(m.GetAddresses()) != len(target.GetAddresses()) { + return false + } + for idx, v := range m.GetAddresses() { + + if strings.Compare(v, target.GetAddresses()[idx]) != 0 { + return false + } + + } + + if len(m.GetPorts()) != len(target.GetPorts()) { + return false + } + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPorts()[idx]) { + return false + } + } + + } + + if len(m.GetSelector()) != len(target.GetSelector()) { + return false + } + for k, v := range m.GetSelector() { + + if strings.Compare(v, target.GetSelector()[k]) != 0 { + return false + } + + } + + if len(m.GetSubjectAltNames()) != len(target.GetSubjectAltNames()) { + return false + } + for idx, v := range m.GetSubjectAltNames() { + + if strings.Compare(v, target.GetSubjectAltNames()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *ExternalServiceStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalServiceStatus) + if !ok { + that2, ok := that.(ExternalServiceStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if len(m.GetNumAppliedDestinationPolicies()) != len(target.GetNumAppliedDestinationPolicies()) { + return false + } + for k, v := range m.GetNumAppliedDestinationPolicies() { + + if v != target.GetNumAppliedDestinationPolicies()[k] { + return false + } + + } + + if m.GetNumSelectedExternalEndpoints() != target.GetNumSelectedExternalEndpoints() { + return false + } + + if strings.Compare(m.GetOwnedByWorkspace(), target.GetOwnedByWorkspace()) != 0 { + return false + } + + if m.GetNumSelectedVirtualGateways() != target.GetNumSelectedVirtualGateways() { + return false + } + + return true +} + +// Equal function +func (m *ExternalServiceReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalServiceReport) + if !ok { + that2, ok := that.(ExternalServiceReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetAppliedDestinationPolicies()) != len(target.GetAppliedDestinationPolicies()) { + return false + } + for k, v := range m.GetAppliedDestinationPolicies() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAppliedDestinationPolicies()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetAppliedDestinationPolicies()[k]) { + return false + } + } + + } + + if len(m.GetSelectedExternalEndpoints()) != len(target.GetSelectedExternalEndpoints()) { + return false + } + for idx, v := range m.GetSelectedExternalEndpoints() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedExternalEndpoints()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedExternalEndpoints()[idx]) { + return false + } + } + + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + if len(m.GetSelectedVirtualGateways()) != len(target.GetSelectedVirtualGateways()) { + return false + } + for idx, v := range m.GetSelectedVirtualGateways() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedVirtualGateways()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedVirtualGateways()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ExternalServiceSpec_Port) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalServiceSpec_Port) + if !ok { + that2, ok := that.(ExternalServiceSpec_Port) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetNumber() != target.GetNumber() { + return false + } + + if h, ok := interface{}(m.GetTargetPort()).(equality.Equalizer); ok { + if !h.Equal(target.GetTargetPort()) { + return false + } + } else { + if !proto.Equal(m.GetTargetPort(), target.GetTargetPort()) { + return false + } + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetProtocol(), target.GetProtocol()) != 0 { + return false + } + + if h, ok := interface{}(m.GetClientsideTls()).(equality.Equalizer); ok { + if !h.Equal(target.GetClientsideTls()) { + return false + } + } else { + if !proto.Equal(m.GetClientsideTls(), target.GetClientsideTls()) { + return false + } + } + + if h, ok := interface{}(m.GetEgressGatewayRoutes()).(equality.Equalizer); ok { + if !h.Equal(target.GetEgressGatewayRoutes()) { + return false + } + } else { + if !proto.Equal(m.GetEgressGatewayRoutes(), target.GetEgressGatewayRoutes()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExternalServiceSpec_Port_TlsConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalServiceSpec_Port_TlsConfig) + if !ok { + that2, ok := that.(ExternalServiceSpec_Port_TlsConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetSni(), target.GetSni()) != 0 { + return false + } + + if m.GetMode() != target.GetMode() { + return false + } + + if strings.Compare(m.GetClientCertificate(), target.GetClientCertificate()) != 0 { + return false + } + + if strings.Compare(m.GetPrivateKey(), target.GetPrivateKey()) != 0 { + return false + } + + if strings.Compare(m.GetCaCertificates(), target.GetCaCertificates()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ExternalServiceSpec_Port_EgressGatewayRoutes) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalServiceSpec_Port_EgressGatewayRoutes) + if !ok { + that2, ok := that.(ExternalServiceSpec_Port_EgressGatewayRoutes) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetPortMatch() != target.GetPortMatch() { + return false + } + + if len(m.GetVirtualGatewayRefs()) != len(target.GetVirtualGatewayRefs()) { + return false + } + for idx, v := range m.GetVirtualGatewayRefs() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetVirtualGatewayRefs()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetVirtualGatewayRefs()[idx]) { + return false + } + } + + } + + return true +} diff --git a/client-go/networking.gloo.solo.io/v2/external_service.pb.go b/client-go/networking.gloo.solo.io/v2/external_service.pb.go new file mode 100644 index 000000000..69123e516 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/external_service.pb.go @@ -0,0 +1,949 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/external_service.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ExternalServiceSpec_Port_TlsConfig_TLSMode int32 + +const ( + ExternalServiceSpec_Port_TlsConfig_SIMPLE ExternalServiceSpec_Port_TlsConfig_TLSMode = 0 + ExternalServiceSpec_Port_TlsConfig_DISABLE ExternalServiceSpec_Port_TlsConfig_TLSMode = 1 + ExternalServiceSpec_Port_TlsConfig_MUTUAL ExternalServiceSpec_Port_TlsConfig_TLSMode = 2 + ExternalServiceSpec_Port_TlsConfig_ISTIO_MUTUAL ExternalServiceSpec_Port_TlsConfig_TLSMode = 3 +) + +// Enum value maps for ExternalServiceSpec_Port_TlsConfig_TLSMode. +var ( + ExternalServiceSpec_Port_TlsConfig_TLSMode_name = map[int32]string{ + 0: "SIMPLE", + 1: "DISABLE", + 2: "MUTUAL", + 3: "ISTIO_MUTUAL", + } + ExternalServiceSpec_Port_TlsConfig_TLSMode_value = map[string]int32{ + "SIMPLE": 0, + "DISABLE": 1, + "MUTUAL": 2, + "ISTIO_MUTUAL": 3, + } +) + +func (x ExternalServiceSpec_Port_TlsConfig_TLSMode) Enum() *ExternalServiceSpec_Port_TlsConfig_TLSMode { + p := new(ExternalServiceSpec_Port_TlsConfig_TLSMode) + *p = x + return p +} + +func (x ExternalServiceSpec_Port_TlsConfig_TLSMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExternalServiceSpec_Port_TlsConfig_TLSMode) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_enumTypes[0].Descriptor() +} + +func (ExternalServiceSpec_Port_TlsConfig_TLSMode) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_enumTypes[0] +} + +func (x ExternalServiceSpec_Port_TlsConfig_TLSMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExternalServiceSpec_Port_TlsConfig_TLSMode.Descriptor instead. +func (ExternalServiceSpec_Port_TlsConfig_TLSMode) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescGZIP(), []int{0, 1, 0, 0} +} + +// ExternalService defines a destination for routing which exist outside the mesh. +// This could for example be a web API or a set of virtual machines that are not running in Kubernetes. +// When an ExternalService is defined for a given workspace, it can be used as a +// Destination in Routes, as well as called directly via its specified hostname. +// Resolution of the IP addresses for external services can be done via DNS +// or provided statically using the ExternalEndpoint object. +type ExternalServiceSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (mutually exclusive with addresses): The List of hostnames which will resolve to this service. + // These hosts must be unique among all ExternalServices and VirtualHosts within a workspace. + // Both FQDN and wildcard prefix domains are supported. + // TLS origination to ExternalServices is supported with use of the ClientsideTls property. + Hosts []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"` + // (mutually exclusive with hosts): The List of ipv4 or ipv6 addresses which will be associated to this service. Can be CIDR prefixes. + // These addresses must be unique among all ExternalServices within a workspace. + Addresses []string `protobuf:"bytes,5,rep,name=addresses,proto3" json:"addresses,omitempty"` + // The associated ports of the external service. + Ports []*ExternalServiceSpec_Port `protobuf:"bytes,2,rep,name=ports,proto3" json:"ports,omitempty"` + // Selecting ExternalEndpoints will provide the addresses used for routing traffic to on the ExternalService's hosts. + // An empty selector will not select any endpoints. + // If no endpoints are selected, requests will be routed to the provided hosts using dns resolution. + Selector map[string]string `protobuf:"bytes,3,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of alternate names to verify the subject identity in the + // certificate. If specified, the proxy will verify that the server + // certificate's subject alt name matches one of the specified values. + // Only applicable when using TLS to communicate with the ExternalService. + SubjectAltNames []string `protobuf:"bytes,4,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"` +} + +func (x *ExternalServiceSpec) Reset() { + *x = ExternalServiceSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalServiceSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalServiceSpec) ProtoMessage() {} + +func (x *ExternalServiceSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalServiceSpec.ProtoReflect.Descriptor instead. +func (*ExternalServiceSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescGZIP(), []int{0} +} + +func (x *ExternalServiceSpec) GetHosts() []string { + if x != nil { + return x.Hosts + } + return nil +} + +func (x *ExternalServiceSpec) GetAddresses() []string { + if x != nil { + return x.Addresses + } + return nil +} + +func (x *ExternalServiceSpec) GetPorts() []*ExternalServiceSpec_Port { + if x != nil { + return x.Ports + } + return nil +} + +func (x *ExternalServiceSpec) GetSelector() map[string]string { + if x != nil { + return x.Selector + } + return nil +} + +func (x *ExternalServiceSpec) GetSubjectAltNames() []string { + if x != nil { + return x.SubjectAltNames + } + return nil +} + +// The status of the resource after it is applied to your Gloo environment. +type ExternalServiceStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // A map of policy GVK to policy references for all policies that are applied on this + // resource. + NumAppliedDestinationPolicies map[string]uint32 `protobuf:"bytes,2,rep,name=num_applied_destination_policies,json=numAppliedDestinationPolicies,proto3" json:"num_applied_destination_policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + // The number of external endpoints selected by this ExternalService. + NumSelectedExternalEndpoints uint32 `protobuf:"varint,3,opt,name=num_selected_external_endpoints,json=numSelectedExternalEndpoints,proto3" json:"num_selected_external_endpoints,omitempty"` + // The name of the workspace that owns this ExternalService. + OwnedByWorkspace string `protobuf:"bytes,4,opt,name=owned_by_workspace,json=ownedByWorkspace,proto3" json:"owned_by_workspace,omitempty"` + // The number of VirtualGateways selected by this ExternalService. + NumSelectedVirtualGateways uint32 `protobuf:"varint,5,opt,name=num_selected_virtual_gateways,json=numSelectedVirtualGateways,proto3" json:"num_selected_virtual_gateways,omitempty"` +} + +func (x *ExternalServiceStatus) Reset() { + *x = ExternalServiceStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalServiceStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalServiceStatus) ProtoMessage() {} + +func (x *ExternalServiceStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalServiceStatus.ProtoReflect.Descriptor instead. +func (*ExternalServiceStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescGZIP(), []int{1} +} + +func (x *ExternalServiceStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *ExternalServiceStatus) GetNumAppliedDestinationPolicies() map[string]uint32 { + if x != nil { + return x.NumAppliedDestinationPolicies + } + return nil +} + +func (x *ExternalServiceStatus) GetNumSelectedExternalEndpoints() uint32 { + if x != nil { + return x.NumSelectedExternalEndpoints + } + return 0 +} + +func (x *ExternalServiceStatus) GetOwnedByWorkspace() string { + if x != nil { + return x.OwnedByWorkspace + } + return "" +} + +func (x *ExternalServiceStatus) GetNumSelectedVirtualGateways() uint32 { + if x != nil { + return x.NumSelectedVirtualGateways + } + return 0 +} + +type ExternalServiceReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A map of policy GVK to policy references for all the policies that are + // applied on this resource. + AppliedDestinationPolicies map[string]*v2.AppliedDestinationPortPolicies `protobuf:"bytes,2,rep,name=applied_destination_policies,json=appliedDestinationPolicies,proto3" json:"applied_destination_policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The list of endpoints selected by this ExternalService. + SelectedExternalEndpoints []*v2.ObjectReference `protobuf:"bytes,3,rep,name=selected_external_endpoints,json=selectedExternalEndpoints,proto3" json:"selected_external_endpoints,omitempty"` + // The name of the workspace that owns the ExternalService. + OwnerWorkspace string `protobuf:"bytes,4,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` + // The list of VirtualGateways selected by this ExternalService. + SelectedVirtualGateways []*v2.ObjectReference `protobuf:"bytes,5,rep,name=selected_virtual_gateways,json=selectedVirtualGateways,proto3" json:"selected_virtual_gateways,omitempty"` +} + +func (x *ExternalServiceReport) Reset() { + *x = ExternalServiceReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalServiceReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalServiceReport) ProtoMessage() {} + +func (x *ExternalServiceReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalServiceReport.ProtoReflect.Descriptor instead. +func (*ExternalServiceReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ExternalServiceReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *ExternalServiceReport) GetAppliedDestinationPolicies() map[string]*v2.AppliedDestinationPortPolicies { + if x != nil { + return x.AppliedDestinationPolicies + } + return nil +} + +func (x *ExternalServiceReport) GetSelectedExternalEndpoints() []*v2.ObjectReference { + if x != nil { + return x.SelectedExternalEndpoints + } + return nil +} + +func (x *ExternalServiceReport) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +func (x *ExternalServiceReport) GetSelectedVirtualGateways() []*v2.ObjectReference { + if x != nil { + return x.SelectedVirtualGateways + } + return nil +} + +// Port establishes a new port that will be exposed on an ExternalService. +type ExternalServiceSpec_Port struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The port number. Must be a valid, non-negative integer port number. + Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` + // (optional): The port number or name used to match the corresponding port on the ExternalService's backing ExternalEndpoints. + // All of the backing ExternalEndpoints for this ExternalService must contain + // this port, matching by name or number. + // If no backing ExternalEndpoints are provided, a name selector is invalid, + // and requests will be routed to the provided hosts on the port number specified. + // If unspecified, will default to the value of the port number field above. + TargetPort *v2.PortSelector `protobuf:"bytes,2,opt,name=target_port,json=targetPort,proto3" json:"target_port,omitempty"` + // A label for the port, eg "http". + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // The protocol used in communication with this destination + // MUST be one of the following: HTTP, HTTPS, GRPC, HTTP2, MONGO, TCP, TLS. + Protocol string `protobuf:"bytes,4,opt,name=protocol,proto3" json:"protocol,omitempty"` + // The tls config for the given port. + // If the protocol is HTTPS or TLS, the ExternalService will be configured to use TLS automatically. + // If used in conjunction with targetPort this can be used for TLS Origination. + // For example, port: 80, targetPort: 443, with ClientsideTls will cause port 80 traffic from workloads to be forwarded to 443 resulting in HTTPS traffic over the internet with TLS originating at the sidecar proxy. + ClientsideTls *ExternalServiceSpec_Port_TlsConfig `protobuf:"bytes,5,opt,name=clientside_tls,json=clientsideTls,proto3" json:"clientside_tls,omitempty"` + // A list of egress VirtualGateways via which this ExternalService is reachable. + // This is required in meshes that are configured to deny all traffic that is not explicitly allowed. + // Requires the ExternalService to use Hosts rather than Addresses. + // Currently only supported for ExternalService ports with HTTP, HTTP2, and HTTPS protocols. + EgressGatewayRoutes *ExternalServiceSpec_Port_EgressGatewayRoutes `protobuf:"bytes,6,opt,name=egress_gateway_routes,json=egressGatewayRoutes,proto3" json:"egress_gateway_routes,omitempty"` +} + +func (x *ExternalServiceSpec_Port) Reset() { + *x = ExternalServiceSpec_Port{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalServiceSpec_Port) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalServiceSpec_Port) ProtoMessage() {} + +func (x *ExternalServiceSpec_Port) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalServiceSpec_Port.ProtoReflect.Descriptor instead. +func (*ExternalServiceSpec_Port) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *ExternalServiceSpec_Port) GetNumber() uint32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *ExternalServiceSpec_Port) GetTargetPort() *v2.PortSelector { + if x != nil { + return x.TargetPort + } + return nil +} + +func (x *ExternalServiceSpec_Port) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExternalServiceSpec_Port) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *ExternalServiceSpec_Port) GetClientsideTls() *ExternalServiceSpec_Port_TlsConfig { + if x != nil { + return x.ClientsideTls + } + return nil +} + +func (x *ExternalServiceSpec_Port) GetEgressGatewayRoutes() *ExternalServiceSpec_Port_EgressGatewayRoutes { + if x != nil { + return x.EgressGatewayRoutes + } + return nil +} + +type ExternalServiceSpec_Port_TlsConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SNI string to present to the server during TLS handshake. + // If there is a single host in the hosts list, this will be used as the SNI string. + Sni string `protobuf:"bytes,1,opt,name=sni,proto3" json:"sni,omitempty"` + // tls mode passed to corresponding DestinationRules' tls traffic policy + // MUST be one of the following: SIMPLE, MUTUAL, ISTIO_MUTUAL, DISABLED + Mode ExternalServiceSpec_Port_TlsConfig_TLSMode `protobuf:"varint,2,opt,name=mode,proto3,enum=networking.gloo.solo.io.ExternalServiceSpec_Port_TlsConfig_TLSMode" json:"mode,omitempty"` + // REQUIRED if mode is `MUTUAL`. + // Should be empty if mode is `ISTIO_MUTUAL`. + // The file path to the client-side TLS certificate to use, which should be mounted onto the proxy of the specific workload communicating with the external service. + ClientCertificate string `protobuf:"bytes,3,opt,name=client_certificate,json=clientCertificate,proto3" json:"client_certificate,omitempty"` + // REQUIRED if mode is `MUTUAL`. + // Should be empty if mode is `ISTIO_MUTUAL`. + // The file path to the client’s private key, which should be mounted onto the proxy of the specific workload communicating with the external service. + PrivateKey string `protobuf:"bytes,4,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` + // Should be empty if mode is `ISTIO_MUTUAL`. + // The file path to the file containing CA certificates used to verify server certificates, which should be mounted onto the proxy of the specific workload communicating with the external service. + // If omitted, the proxy will not verify the server’s certificate. + CaCertificates string `protobuf:"bytes,5,opt,name=ca_certificates,json=caCertificates,proto3" json:"ca_certificates,omitempty"` +} + +func (x *ExternalServiceSpec_Port_TlsConfig) Reset() { + *x = ExternalServiceSpec_Port_TlsConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalServiceSpec_Port_TlsConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalServiceSpec_Port_TlsConfig) ProtoMessage() {} + +func (x *ExternalServiceSpec_Port_TlsConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalServiceSpec_Port_TlsConfig.ProtoReflect.Descriptor instead. +func (*ExternalServiceSpec_Port_TlsConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescGZIP(), []int{0, 1, 0} +} + +func (x *ExternalServiceSpec_Port_TlsConfig) GetSni() string { + if x != nil { + return x.Sni + } + return "" +} + +func (x *ExternalServiceSpec_Port_TlsConfig) GetMode() ExternalServiceSpec_Port_TlsConfig_TLSMode { + if x != nil { + return x.Mode + } + return ExternalServiceSpec_Port_TlsConfig_SIMPLE +} + +func (x *ExternalServiceSpec_Port_TlsConfig) GetClientCertificate() string { + if x != nil { + return x.ClientCertificate + } + return "" +} + +func (x *ExternalServiceSpec_Port_TlsConfig) GetPrivateKey() string { + if x != nil { + return x.PrivateKey + } + return "" +} + +func (x *ExternalServiceSpec_Port_TlsConfig) GetCaCertificates() string { + if x != nil { + return x.CaCertificates + } + return "" +} + +type ExternalServiceSpec_Port_EgressGatewayRoutes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The port number to match for traffic originating from the mesh. + // default to 80. + // must be unique for each ExternalService port. + // Note that if this field matches any ExternalService non-egress port (spec.ports.number), + // requests to this port may not be routed through the egress gateway. + PortMatch uint32 `protobuf:"varint,1,opt,name=port_match,json=portMatch,proto3" json:"port_match,omitempty"` + // Reference to the virtual gateways to use for egress. + // Multiple gateways selected in this way will have egress traffic load-balanced across them. + VirtualGatewayRefs []*v2.ObjectReference `protobuf:"bytes,2,rep,name=virtual_gateway_refs,json=virtualGatewayRefs,proto3" json:"virtual_gateway_refs,omitempty"` +} + +func (x *ExternalServiceSpec_Port_EgressGatewayRoutes) Reset() { + *x = ExternalServiceSpec_Port_EgressGatewayRoutes{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalServiceSpec_Port_EgressGatewayRoutes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalServiceSpec_Port_EgressGatewayRoutes) ProtoMessage() {} + +func (x *ExternalServiceSpec_Port_EgressGatewayRoutes) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalServiceSpec_Port_EgressGatewayRoutes.ProtoReflect.Descriptor instead. +func (*ExternalServiceSpec_Port_EgressGatewayRoutes) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescGZIP(), []int{0, 1, 1} +} + +func (x *ExternalServiceSpec_Port_EgressGatewayRoutes) GetPortMatch() uint32 { + if x != nil { + return x.PortMatch + } + return 0 +} + +func (x *ExternalServiceSpec_Port_EgressGatewayRoutes) GetVirtualGatewayRefs() []*v2.ObjectReference { + if x != nil { + return x.VirtualGatewayRefs + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDesc = []byte{ + 0x0a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x17, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4d, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x8a, 0x09, 0x0a, 0x13, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6f, 0x73, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x47, 0x0a, + 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, + 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2a, + 0x0a, 0x11, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xb4, 0x06, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x62, 0x0a, 0x0e, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x2e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x64, 0x65, 0x54, 0x6c, 0x73, + 0x12, 0x79, 0x0a, 0x15, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x45, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x6f, + 0x72, 0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x13, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0xb1, 0x02, 0x0a, 0x09, + 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x6e, 0x69, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x6e, 0x69, 0x12, 0x57, 0x0a, 0x04, 0x6d, + 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x2e, 0x54, 0x6c, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x53, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, + 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, + 0x61, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0x40, 0x0a, + 0x07, 0x54, 0x4c, 0x53, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4d, 0x50, + 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, + 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x10, 0x0a, + 0x0c, 0x49, 0x53, 0x54, 0x49, 0x4f, 0x5f, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x10, 0x03, 0x1a, + 0x8c, 0x01, 0x0a, 0x13, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6f, 0x72, + 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x56, 0x0a, 0x14, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, + 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x76, 0x69, 0x72, 0x74, + 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x66, 0x73, 0x22, 0xf3, + 0x03, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x9a, 0x01, + 0x0a, 0x20, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x4e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1d, 0x6e, 0x75, 0x6d, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x6e, 0x75, + 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x1c, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, + 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x41, 0x0a, 0x1d, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, + 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x73, 0x1a, 0x50, 0x0a, 0x22, 0x4e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdc, 0x05, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5e, + 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x90, + 0x01, 0x0a, 0x1c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1a, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x12, 0x64, 0x0a, 0x1b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x60, 0x0a, 0x19, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x72, + 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x17, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x82, + 0x01, 0x0a, 0x1f, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x42, 0x58, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, + 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_goTypes = []interface{}{ + (ExternalServiceSpec_Port_TlsConfig_TLSMode)(0), // 0: networking.gloo.solo.io.ExternalServiceSpec.Port.TlsConfig.TLSMode + (*ExternalServiceSpec)(nil), // 1: networking.gloo.solo.io.ExternalServiceSpec + (*ExternalServiceStatus)(nil), // 2: networking.gloo.solo.io.ExternalServiceStatus + (*ExternalServiceReport)(nil), // 3: networking.gloo.solo.io.ExternalServiceReport + nil, // 4: networking.gloo.solo.io.ExternalServiceSpec.SelectorEntry + (*ExternalServiceSpec_Port)(nil), // 5: networking.gloo.solo.io.ExternalServiceSpec.Port + (*ExternalServiceSpec_Port_TlsConfig)(nil), // 6: networking.gloo.solo.io.ExternalServiceSpec.Port.TlsConfig + (*ExternalServiceSpec_Port_EgressGatewayRoutes)(nil), // 7: networking.gloo.solo.io.ExternalServiceSpec.Port.EgressGatewayRoutes + nil, // 8: networking.gloo.solo.io.ExternalServiceStatus.NumAppliedDestinationPoliciesEntry + nil, // 9: networking.gloo.solo.io.ExternalServiceReport.WorkspacesEntry + nil, // 10: networking.gloo.solo.io.ExternalServiceReport.AppliedDestinationPoliciesEntry + (*v2.Status)(nil), // 11: common.gloo.solo.io.Status + (*v2.ObjectReference)(nil), // 12: common.gloo.solo.io.ObjectReference + (*v2.PortSelector)(nil), // 13: common.gloo.solo.io.PortSelector + (*v2.Report)(nil), // 14: common.gloo.solo.io.Report + (*v2.AppliedDestinationPortPolicies)(nil), // 15: common.gloo.solo.io.AppliedDestinationPortPolicies +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_depIdxs = []int32{ + 5, // 0: networking.gloo.solo.io.ExternalServiceSpec.ports:type_name -> networking.gloo.solo.io.ExternalServiceSpec.Port + 4, // 1: networking.gloo.solo.io.ExternalServiceSpec.selector:type_name -> networking.gloo.solo.io.ExternalServiceSpec.SelectorEntry + 11, // 2: networking.gloo.solo.io.ExternalServiceStatus.common:type_name -> common.gloo.solo.io.Status + 8, // 3: networking.gloo.solo.io.ExternalServiceStatus.num_applied_destination_policies:type_name -> networking.gloo.solo.io.ExternalServiceStatus.NumAppliedDestinationPoliciesEntry + 9, // 4: networking.gloo.solo.io.ExternalServiceReport.workspaces:type_name -> networking.gloo.solo.io.ExternalServiceReport.WorkspacesEntry + 10, // 5: networking.gloo.solo.io.ExternalServiceReport.applied_destination_policies:type_name -> networking.gloo.solo.io.ExternalServiceReport.AppliedDestinationPoliciesEntry + 12, // 6: networking.gloo.solo.io.ExternalServiceReport.selected_external_endpoints:type_name -> common.gloo.solo.io.ObjectReference + 12, // 7: networking.gloo.solo.io.ExternalServiceReport.selected_virtual_gateways:type_name -> common.gloo.solo.io.ObjectReference + 13, // 8: networking.gloo.solo.io.ExternalServiceSpec.Port.target_port:type_name -> common.gloo.solo.io.PortSelector + 6, // 9: networking.gloo.solo.io.ExternalServiceSpec.Port.clientside_tls:type_name -> networking.gloo.solo.io.ExternalServiceSpec.Port.TlsConfig + 7, // 10: networking.gloo.solo.io.ExternalServiceSpec.Port.egress_gateway_routes:type_name -> networking.gloo.solo.io.ExternalServiceSpec.Port.EgressGatewayRoutes + 0, // 11: networking.gloo.solo.io.ExternalServiceSpec.Port.TlsConfig.mode:type_name -> networking.gloo.solo.io.ExternalServiceSpec.Port.TlsConfig.TLSMode + 12, // 12: networking.gloo.solo.io.ExternalServiceSpec.Port.EgressGatewayRoutes.virtual_gateway_refs:type_name -> common.gloo.solo.io.ObjectReference + 14, // 13: networking.gloo.solo.io.ExternalServiceReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 15, // 14: networking.gloo.solo.io.ExternalServiceReport.AppliedDestinationPoliciesEntry.value:type_name -> common.gloo.solo.io.AppliedDestinationPortPolicies + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalServiceSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalServiceStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalServiceReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalServiceSpec_Port); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalServiceSpec_Port_TlsConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalServiceSpec_Port_EgressGatewayRoutes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDesc, + NumEnums: 1, + NumMessages: 10, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_external_service_proto_depIdxs = nil +} diff --git a/client-go/networking.gloo.solo.io/v2/external_service.pb.hash.go b/client-go/networking.gloo.solo.io/v2/external_service.pb.hash.go new file mode 100644 index 000000000..211a721dc --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/external_service.pb.hash.go @@ -0,0 +1,504 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/external_service.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ExternalServiceSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.ExternalServiceSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetHosts() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetAddresses() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetSelector() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSubjectAltNames() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalServiceStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.ExternalServiceStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetNumAppliedDestinationPolicies() { + innerHash.Reset() + + err = binary.Write(innerHash, binary.LittleEndian, v) + if err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedExternalEndpoints()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetOwnedByWorkspace())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedVirtualGateways()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalServiceReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.ExternalServiceReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAppliedDestinationPolicies() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedExternalEndpoints() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + for _, v := range m.GetSelectedVirtualGateways() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalServiceSpec_Port) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.ExternalServiceSpec_Port")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumber()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTargetPort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TargetPort")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTargetPort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TargetPort")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetProtocol())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetClientsideTls()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClientsideTls")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClientsideTls(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClientsideTls")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetEgressGatewayRoutes()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("EgressGatewayRoutes")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetEgressGatewayRoutes(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("EgressGatewayRoutes")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalServiceSpec_Port_TlsConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.ExternalServiceSpec_Port_TlsConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSni())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMode()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClientCertificate())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPrivateKey())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCaCertificates())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalServiceSpec_Port_EgressGatewayRoutes) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.ExternalServiceSpec_Port_EgressGatewayRoutes")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPortMatch()) + if err != nil { + return 0, err + } + + for _, v := range m.GetVirtualGatewayRefs() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/networking.gloo.solo.io/v2/json.gen.go b/client-go/networking.gloo.solo.io/v2/json.gen.go new file mode 100644 index 000000000..11a4514d7 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/json.gen.go @@ -0,0 +1,138 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for ExternalServiceSpec +func (this *ExternalServiceSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ExternalServiceSpec +func (this *ExternalServiceSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ExternalServiceStatus +func (this *ExternalServiceStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ExternalServiceStatus +func (this *ExternalServiceStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ExternalEndpointSpec +func (this *ExternalEndpointSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ExternalEndpointSpec +func (this *ExternalEndpointSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ExternalEndpointStatus +func (this *ExternalEndpointStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ExternalEndpointStatus +func (this *ExternalEndpointStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RouteTableSpec +func (this *RouteTableSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RouteTableSpec +func (this *RouteTableSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RouteTableStatus +func (this *RouteTableStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RouteTableStatus +func (this *RouteTableStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for VirtualDestinationSpec +func (this *VirtualDestinationSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for VirtualDestinationSpec +func (this *VirtualDestinationSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for VirtualDestinationStatus +func (this *VirtualDestinationStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for VirtualDestinationStatus +func (this *VirtualDestinationStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for VirtualGatewaySpec +func (this *VirtualGatewaySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for VirtualGatewaySpec +func (this *VirtualGatewaySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for VirtualGatewayStatus +func (this *VirtualGatewayStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for VirtualGatewayStatus +func (this *VirtualGatewayStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/networking.gloo.solo.io/v2/k8s_report_types.go b/client-go/networking.gloo.solo.io/v2/k8s_report_types.go new file mode 100644 index 000000000..4b3d92cf8 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/k8s_report_types.go @@ -0,0 +1,10 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Common Package Report types. +package v2 + +// IsReport implements Reportable interface for K8SServiceReport +func (o *K8SServiceReport) IsReport() {} + +// IsReport implements Reportable interface for K8SWorkloadReport +func (o *K8SWorkloadReport) IsReport() {} diff --git a/client-go/networking.gloo.solo.io/v2/k8s_reports.pb.go b/client-go/networking.gloo.solo.io/v2/k8s_reports.pb.go new file mode 100644 index 000000000..99b52c4f3 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/k8s_reports.pb.go @@ -0,0 +1,521 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/k8s_reports.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type K8SWorkloadStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // A map of policy GVK to the number of policies that are applied on this resource. + NumAppliedWorkloadPolicy map[string]uint32 `protobuf:"bytes,2,rep,name=num_applied_workload_policy,json=numAppliedWorkloadPolicy,proto3" json:"num_applied_workload_policy,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *K8SWorkloadStatus) Reset() { + *x = K8SWorkloadStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *K8SWorkloadStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*K8SWorkloadStatus) ProtoMessage() {} + +func (x *K8SWorkloadStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use K8SWorkloadStatus.ProtoReflect.Descriptor instead. +func (*K8SWorkloadStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDescGZIP(), []int{0} +} + +func (x *K8SWorkloadStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *K8SWorkloadStatus) GetNumAppliedWorkloadPolicy() map[string]uint32 { + if x != nil { + return x.NumAppliedWorkloadPolicy + } + return nil +} + +type K8SWorkloadReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A map of policy GVK to policy references for all policies that are + // applied on this resource. + AppliedWorkloadPolicies map[string]*v2.AppliedWorkloadPolicies `protobuf:"bytes,2,rep,name=applied_workload_policies,json=appliedWorkloadPolicies,proto3" json:"applied_workload_policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *K8SWorkloadReport) Reset() { + *x = K8SWorkloadReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *K8SWorkloadReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*K8SWorkloadReport) ProtoMessage() {} + +func (x *K8SWorkloadReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use K8SWorkloadReport.ProtoReflect.Descriptor instead. +func (*K8SWorkloadReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDescGZIP(), []int{1} +} + +func (x *K8SWorkloadReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *K8SWorkloadReport) GetAppliedWorkloadPolicies() map[string]*v2.AppliedWorkloadPolicies { + if x != nil { + return x.AppliedWorkloadPolicies + } + return nil +} + +type K8SServiceStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // A map of policy GVK to the number of policies that are applied on this resource. + NumAppliedDestinationPolicies map[string]uint32 `protobuf:"bytes,2,rep,name=num_applied_destination_policies,json=numAppliedDestinationPolicies,proto3" json:"num_applied_destination_policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + // The name of the workspace that owns this Kubernetes service. + OwnedByWorkspace string `protobuf:"bytes,3,opt,name=owned_by_workspace,json=ownedByWorkspace,proto3" json:"owned_by_workspace,omitempty"` +} + +func (x *K8SServiceStatus) Reset() { + *x = K8SServiceStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *K8SServiceStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*K8SServiceStatus) ProtoMessage() {} + +func (x *K8SServiceStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use K8SServiceStatus.ProtoReflect.Descriptor instead. +func (*K8SServiceStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDescGZIP(), []int{2} +} + +func (x *K8SServiceStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *K8SServiceStatus) GetNumAppliedDestinationPolicies() map[string]uint32 { + if x != nil { + return x.NumAppliedDestinationPolicies + } + return nil +} + +func (x *K8SServiceStatus) GetOwnedByWorkspace() string { + if x != nil { + return x.OwnedByWorkspace + } + return "" +} + +type K8SServiceReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A map of policy GVK to policy references for all policies that are + // applied on this resource. + AppliedDestinationPolicies map[string]*v2.AppliedDestinationPortPolicies `protobuf:"bytes,2,rep,name=applied_destination_policies,json=appliedDestinationPolicies,proto3" json:"applied_destination_policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The name of the workspace that owns this Kubernetes service. + OwnerWorkspace string `protobuf:"bytes,3,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` +} + +func (x *K8SServiceReport) Reset() { + *x = K8SServiceReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *K8SServiceReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*K8SServiceReport) ProtoMessage() {} + +func (x *K8SServiceReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use K8SServiceReport.ProtoReflect.Descriptor instead. +func (*K8SServiceReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDescGZIP(), []int{3} +} + +func (x *K8SServiceReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *K8SServiceReport) GetAppliedDestinationPolicies() map[string]*v2.AppliedDestinationPortPolicies { + if x != nil { + return x.AppliedDestinationPolicies + } + return nil +} + +func (x *K8SServiceReport) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDesc = []byte{ + 0x0a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x6b, 0x38, 0x73, 0x5f, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x02, 0x0a, 0x11, 0x4b, 0x38, 0x73, 0x57, 0x6f, 0x72, 0x6b, + 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, + 0x87, 0x01, 0x0a, 0x1b, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, + 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4b, 0x38, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x2e, 0x4e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, + 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x18, 0x6e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x4b, 0x0a, 0x1d, 0x4e, 0x75, 0x6d, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcb, 0x03, 0x0a, 0x11, 0x4b, 0x38, 0x73, 0x57, 0x6f, + 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5a, 0x0a, 0x0a, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x38, 0x73, 0x57, 0x6f, + 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x83, 0x01, 0x0a, 0x19, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x38, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, + 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x57, 0x6f, + 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x5a, + 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x78, 0x0a, 0x1c, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdf, 0x02, 0x0a, 0x10, 0x4b, 0x38, 0x73, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x95, + 0x01, 0x0a, 0x20, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x38, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x4e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1d, 0x6e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, + 0x62, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x1a, 0x50, 0x0a, 0x22, 0x4e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x85, 0x04, 0x0a, 0x10, 0x4b, 0x38, 0x73, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x59, 0x0a, 0x0a, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x39, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x38, 0x73, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x1c, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4b, 0x38, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1a, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x5a, 0x0a, + 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x82, 0x01, 0x0a, 0x1f, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x4c, + 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_goTypes = []interface{}{ + (*K8SWorkloadStatus)(nil), // 0: networking.gloo.solo.io.K8sWorkloadStatus + (*K8SWorkloadReport)(nil), // 1: networking.gloo.solo.io.K8sWorkloadReport + (*K8SServiceStatus)(nil), // 2: networking.gloo.solo.io.K8sServiceStatus + (*K8SServiceReport)(nil), // 3: networking.gloo.solo.io.K8sServiceReport + nil, // 4: networking.gloo.solo.io.K8sWorkloadStatus.NumAppliedWorkloadPolicyEntry + nil, // 5: networking.gloo.solo.io.K8sWorkloadReport.WorkspacesEntry + nil, // 6: networking.gloo.solo.io.K8sWorkloadReport.AppliedWorkloadPoliciesEntry + nil, // 7: networking.gloo.solo.io.K8sServiceStatus.NumAppliedDestinationPoliciesEntry + nil, // 8: networking.gloo.solo.io.K8sServiceReport.WorkspacesEntry + nil, // 9: networking.gloo.solo.io.K8sServiceReport.AppliedDestinationPoliciesEntry + (*v2.Status)(nil), // 10: common.gloo.solo.io.Status + (*v2.Report)(nil), // 11: common.gloo.solo.io.Report + (*v2.AppliedWorkloadPolicies)(nil), // 12: common.gloo.solo.io.AppliedWorkloadPolicies + (*v2.AppliedDestinationPortPolicies)(nil), // 13: common.gloo.solo.io.AppliedDestinationPortPolicies +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_depIdxs = []int32{ + 10, // 0: networking.gloo.solo.io.K8sWorkloadStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 1: networking.gloo.solo.io.K8sWorkloadStatus.num_applied_workload_policy:type_name -> networking.gloo.solo.io.K8sWorkloadStatus.NumAppliedWorkloadPolicyEntry + 5, // 2: networking.gloo.solo.io.K8sWorkloadReport.workspaces:type_name -> networking.gloo.solo.io.K8sWorkloadReport.WorkspacesEntry + 6, // 3: networking.gloo.solo.io.K8sWorkloadReport.applied_workload_policies:type_name -> networking.gloo.solo.io.K8sWorkloadReport.AppliedWorkloadPoliciesEntry + 10, // 4: networking.gloo.solo.io.K8sServiceStatus.common:type_name -> common.gloo.solo.io.Status + 7, // 5: networking.gloo.solo.io.K8sServiceStatus.num_applied_destination_policies:type_name -> networking.gloo.solo.io.K8sServiceStatus.NumAppliedDestinationPoliciesEntry + 8, // 6: networking.gloo.solo.io.K8sServiceReport.workspaces:type_name -> networking.gloo.solo.io.K8sServiceReport.WorkspacesEntry + 9, // 7: networking.gloo.solo.io.K8sServiceReport.applied_destination_policies:type_name -> networking.gloo.solo.io.K8sServiceReport.AppliedDestinationPoliciesEntry + 11, // 8: networking.gloo.solo.io.K8sWorkloadReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 12, // 9: networking.gloo.solo.io.K8sWorkloadReport.AppliedWorkloadPoliciesEntry.value:type_name -> common.gloo.solo.io.AppliedWorkloadPolicies + 11, // 10: networking.gloo.solo.io.K8sServiceReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 13, // 11: networking.gloo.solo.io.K8sServiceReport.AppliedDestinationPoliciesEntry.value:type_name -> common.gloo.solo.io.AppliedDestinationPortPolicies + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*K8SWorkloadStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*K8SWorkloadReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*K8SServiceStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*K8SServiceReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDesc, + NumEnums: 0, + NumMessages: 10, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_k8s_reports_proto_depIdxs = nil +} diff --git a/client-go/networking.gloo.solo.io/v2/mocks/clients.go b/client-go/networking.gloo.solo.io/v2/mocks/clients.go new file mode 100644 index 000000000..8f5babc1d --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/mocks/clients.go @@ -0,0 +1,2666 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2 is a generated GoMock package. +package mock_v2 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// ExternalEndpoints mocks base method. +func (m *MockClientset) ExternalEndpoints() v2.ExternalEndpointClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExternalEndpoints") + ret0, _ := ret[0].(v2.ExternalEndpointClient) + return ret0 +} + +// ExternalEndpoints indicates an expected call of ExternalEndpoints. +func (mr *MockClientsetMockRecorder) ExternalEndpoints() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExternalEndpoints", reflect.TypeOf((*MockClientset)(nil).ExternalEndpoints)) +} + +// ExternalServices mocks base method. +func (m *MockClientset) ExternalServices() v2.ExternalServiceClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExternalServices") + ret0, _ := ret[0].(v2.ExternalServiceClient) + return ret0 +} + +// ExternalServices indicates an expected call of ExternalServices. +func (mr *MockClientsetMockRecorder) ExternalServices() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExternalServices", reflect.TypeOf((*MockClientset)(nil).ExternalServices)) +} + +// RouteTables mocks base method. +func (m *MockClientset) RouteTables() v2.RouteTableClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RouteTables") + ret0, _ := ret[0].(v2.RouteTableClient) + return ret0 +} + +// RouteTables indicates an expected call of RouteTables. +func (mr *MockClientsetMockRecorder) RouteTables() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RouteTables", reflect.TypeOf((*MockClientset)(nil).RouteTables)) +} + +// VirtualDestinations mocks base method. +func (m *MockClientset) VirtualDestinations() v2.VirtualDestinationClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "VirtualDestinations") + ret0, _ := ret[0].(v2.VirtualDestinationClient) + return ret0 +} + +// VirtualDestinations indicates an expected call of VirtualDestinations. +func (mr *MockClientsetMockRecorder) VirtualDestinations() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VirtualDestinations", reflect.TypeOf((*MockClientset)(nil).VirtualDestinations)) +} + +// VirtualGateways mocks base method. +func (m *MockClientset) VirtualGateways() v2.VirtualGatewayClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "VirtualGateways") + ret0, _ := ret[0].(v2.VirtualGatewayClient) + return ret0 +} + +// VirtualGateways indicates an expected call of VirtualGateways. +func (mr *MockClientsetMockRecorder) VirtualGateways() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VirtualGateways", reflect.TypeOf((*MockClientset)(nil).VirtualGateways)) +} + +// MockExternalServiceReader is a mock of ExternalServiceReader interface. +type MockExternalServiceReader struct { + ctrl *gomock.Controller + recorder *MockExternalServiceReaderMockRecorder +} + +// MockExternalServiceReaderMockRecorder is the mock recorder for MockExternalServiceReader. +type MockExternalServiceReaderMockRecorder struct { + mock *MockExternalServiceReader +} + +// NewMockExternalServiceReader creates a new mock instance. +func NewMockExternalServiceReader(ctrl *gomock.Controller) *MockExternalServiceReader { + mock := &MockExternalServiceReader{ctrl: ctrl} + mock.recorder = &MockExternalServiceReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalServiceReader) EXPECT() *MockExternalServiceReaderMockRecorder { + return m.recorder +} + +// GetExternalService mocks base method. +func (m *MockExternalServiceReader) GetExternalService(ctx context.Context, key client.ObjectKey) (*v2.ExternalService, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetExternalService", ctx, key) + ret0, _ := ret[0].(*v2.ExternalService) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetExternalService indicates an expected call of GetExternalService. +func (mr *MockExternalServiceReaderMockRecorder) GetExternalService(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetExternalService", reflect.TypeOf((*MockExternalServiceReader)(nil).GetExternalService), ctx, key) +} + +// ListExternalService mocks base method. +func (m *MockExternalServiceReader) ListExternalService(ctx context.Context, opts ...client.ListOption) (*v2.ExternalServiceList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListExternalService", varargs...) + ret0, _ := ret[0].(*v2.ExternalServiceList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListExternalService indicates an expected call of ListExternalService. +func (mr *MockExternalServiceReaderMockRecorder) ListExternalService(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListExternalService", reflect.TypeOf((*MockExternalServiceReader)(nil).ListExternalService), varargs...) +} + +// MockExternalServiceWriter is a mock of ExternalServiceWriter interface. +type MockExternalServiceWriter struct { + ctrl *gomock.Controller + recorder *MockExternalServiceWriterMockRecorder +} + +// MockExternalServiceWriterMockRecorder is the mock recorder for MockExternalServiceWriter. +type MockExternalServiceWriterMockRecorder struct { + mock *MockExternalServiceWriter +} + +// NewMockExternalServiceWriter creates a new mock instance. +func NewMockExternalServiceWriter(ctrl *gomock.Controller) *MockExternalServiceWriter { + mock := &MockExternalServiceWriter{ctrl: ctrl} + mock.recorder = &MockExternalServiceWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalServiceWriter) EXPECT() *MockExternalServiceWriterMockRecorder { + return m.recorder +} + +// CreateExternalService mocks base method. +func (m *MockExternalServiceWriter) CreateExternalService(ctx context.Context, obj *v2.ExternalService, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateExternalService", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExternalService indicates an expected call of CreateExternalService. +func (mr *MockExternalServiceWriterMockRecorder) CreateExternalService(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExternalService", reflect.TypeOf((*MockExternalServiceWriter)(nil).CreateExternalService), varargs...) +} + +// DeleteAllOfExternalService mocks base method. +func (m *MockExternalServiceWriter) DeleteAllOfExternalService(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfExternalService", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfExternalService indicates an expected call of DeleteAllOfExternalService. +func (mr *MockExternalServiceWriterMockRecorder) DeleteAllOfExternalService(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfExternalService", reflect.TypeOf((*MockExternalServiceWriter)(nil).DeleteAllOfExternalService), varargs...) +} + +// DeleteExternalService mocks base method. +func (m *MockExternalServiceWriter) DeleteExternalService(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteExternalService", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExternalService indicates an expected call of DeleteExternalService. +func (mr *MockExternalServiceWriterMockRecorder) DeleteExternalService(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExternalService", reflect.TypeOf((*MockExternalServiceWriter)(nil).DeleteExternalService), varargs...) +} + +// PatchExternalService mocks base method. +func (m *MockExternalServiceWriter) PatchExternalService(ctx context.Context, obj *v2.ExternalService, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExternalService", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExternalService indicates an expected call of PatchExternalService. +func (mr *MockExternalServiceWriterMockRecorder) PatchExternalService(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExternalService", reflect.TypeOf((*MockExternalServiceWriter)(nil).PatchExternalService), varargs...) +} + +// UpdateExternalService mocks base method. +func (m *MockExternalServiceWriter) UpdateExternalService(ctx context.Context, obj *v2.ExternalService, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExternalService", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalService indicates an expected call of UpdateExternalService. +func (mr *MockExternalServiceWriterMockRecorder) UpdateExternalService(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalService", reflect.TypeOf((*MockExternalServiceWriter)(nil).UpdateExternalService), varargs...) +} + +// UpsertExternalService mocks base method. +func (m *MockExternalServiceWriter) UpsertExternalService(ctx context.Context, obj *v2.ExternalService, transitionFuncs ...v2.ExternalServiceTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertExternalService", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertExternalService indicates an expected call of UpsertExternalService. +func (mr *MockExternalServiceWriterMockRecorder) UpsertExternalService(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertExternalService", reflect.TypeOf((*MockExternalServiceWriter)(nil).UpsertExternalService), varargs...) +} + +// MockExternalServiceStatusWriter is a mock of ExternalServiceStatusWriter interface. +type MockExternalServiceStatusWriter struct { + ctrl *gomock.Controller + recorder *MockExternalServiceStatusWriterMockRecorder +} + +// MockExternalServiceStatusWriterMockRecorder is the mock recorder for MockExternalServiceStatusWriter. +type MockExternalServiceStatusWriterMockRecorder struct { + mock *MockExternalServiceStatusWriter +} + +// NewMockExternalServiceStatusWriter creates a new mock instance. +func NewMockExternalServiceStatusWriter(ctrl *gomock.Controller) *MockExternalServiceStatusWriter { + mock := &MockExternalServiceStatusWriter{ctrl: ctrl} + mock.recorder = &MockExternalServiceStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalServiceStatusWriter) EXPECT() *MockExternalServiceStatusWriterMockRecorder { + return m.recorder +} + +// PatchExternalServiceStatus mocks base method. +func (m *MockExternalServiceStatusWriter) PatchExternalServiceStatus(ctx context.Context, obj *v2.ExternalService, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExternalServiceStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExternalServiceStatus indicates an expected call of PatchExternalServiceStatus. +func (mr *MockExternalServiceStatusWriterMockRecorder) PatchExternalServiceStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExternalServiceStatus", reflect.TypeOf((*MockExternalServiceStatusWriter)(nil).PatchExternalServiceStatus), varargs...) +} + +// UpdateExternalServiceStatus mocks base method. +func (m *MockExternalServiceStatusWriter) UpdateExternalServiceStatus(ctx context.Context, obj *v2.ExternalService, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExternalServiceStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalServiceStatus indicates an expected call of UpdateExternalServiceStatus. +func (mr *MockExternalServiceStatusWriterMockRecorder) UpdateExternalServiceStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalServiceStatus", reflect.TypeOf((*MockExternalServiceStatusWriter)(nil).UpdateExternalServiceStatus), varargs...) +} + +// MockExternalServiceClient is a mock of ExternalServiceClient interface. +type MockExternalServiceClient struct { + ctrl *gomock.Controller + recorder *MockExternalServiceClientMockRecorder +} + +// MockExternalServiceClientMockRecorder is the mock recorder for MockExternalServiceClient. +type MockExternalServiceClientMockRecorder struct { + mock *MockExternalServiceClient +} + +// NewMockExternalServiceClient creates a new mock instance. +func NewMockExternalServiceClient(ctrl *gomock.Controller) *MockExternalServiceClient { + mock := &MockExternalServiceClient{ctrl: ctrl} + mock.recorder = &MockExternalServiceClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalServiceClient) EXPECT() *MockExternalServiceClientMockRecorder { + return m.recorder +} + +// CreateExternalService mocks base method. +func (m *MockExternalServiceClient) CreateExternalService(ctx context.Context, obj *v2.ExternalService, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateExternalService", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExternalService indicates an expected call of CreateExternalService. +func (mr *MockExternalServiceClientMockRecorder) CreateExternalService(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExternalService", reflect.TypeOf((*MockExternalServiceClient)(nil).CreateExternalService), varargs...) +} + +// DeleteAllOfExternalService mocks base method. +func (m *MockExternalServiceClient) DeleteAllOfExternalService(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfExternalService", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfExternalService indicates an expected call of DeleteAllOfExternalService. +func (mr *MockExternalServiceClientMockRecorder) DeleteAllOfExternalService(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfExternalService", reflect.TypeOf((*MockExternalServiceClient)(nil).DeleteAllOfExternalService), varargs...) +} + +// DeleteExternalService mocks base method. +func (m *MockExternalServiceClient) DeleteExternalService(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteExternalService", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExternalService indicates an expected call of DeleteExternalService. +func (mr *MockExternalServiceClientMockRecorder) DeleteExternalService(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExternalService", reflect.TypeOf((*MockExternalServiceClient)(nil).DeleteExternalService), varargs...) +} + +// GetExternalService mocks base method. +func (m *MockExternalServiceClient) GetExternalService(ctx context.Context, key client.ObjectKey) (*v2.ExternalService, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetExternalService", ctx, key) + ret0, _ := ret[0].(*v2.ExternalService) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetExternalService indicates an expected call of GetExternalService. +func (mr *MockExternalServiceClientMockRecorder) GetExternalService(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetExternalService", reflect.TypeOf((*MockExternalServiceClient)(nil).GetExternalService), ctx, key) +} + +// ListExternalService mocks base method. +func (m *MockExternalServiceClient) ListExternalService(ctx context.Context, opts ...client.ListOption) (*v2.ExternalServiceList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListExternalService", varargs...) + ret0, _ := ret[0].(*v2.ExternalServiceList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListExternalService indicates an expected call of ListExternalService. +func (mr *MockExternalServiceClientMockRecorder) ListExternalService(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListExternalService", reflect.TypeOf((*MockExternalServiceClient)(nil).ListExternalService), varargs...) +} + +// PatchExternalService mocks base method. +func (m *MockExternalServiceClient) PatchExternalService(ctx context.Context, obj *v2.ExternalService, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExternalService", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExternalService indicates an expected call of PatchExternalService. +func (mr *MockExternalServiceClientMockRecorder) PatchExternalService(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExternalService", reflect.TypeOf((*MockExternalServiceClient)(nil).PatchExternalService), varargs...) +} + +// PatchExternalServiceStatus mocks base method. +func (m *MockExternalServiceClient) PatchExternalServiceStatus(ctx context.Context, obj *v2.ExternalService, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExternalServiceStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExternalServiceStatus indicates an expected call of PatchExternalServiceStatus. +func (mr *MockExternalServiceClientMockRecorder) PatchExternalServiceStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExternalServiceStatus", reflect.TypeOf((*MockExternalServiceClient)(nil).PatchExternalServiceStatus), varargs...) +} + +// UpdateExternalService mocks base method. +func (m *MockExternalServiceClient) UpdateExternalService(ctx context.Context, obj *v2.ExternalService, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExternalService", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalService indicates an expected call of UpdateExternalService. +func (mr *MockExternalServiceClientMockRecorder) UpdateExternalService(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalService", reflect.TypeOf((*MockExternalServiceClient)(nil).UpdateExternalService), varargs...) +} + +// UpdateExternalServiceStatus mocks base method. +func (m *MockExternalServiceClient) UpdateExternalServiceStatus(ctx context.Context, obj *v2.ExternalService, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExternalServiceStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalServiceStatus indicates an expected call of UpdateExternalServiceStatus. +func (mr *MockExternalServiceClientMockRecorder) UpdateExternalServiceStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalServiceStatus", reflect.TypeOf((*MockExternalServiceClient)(nil).UpdateExternalServiceStatus), varargs...) +} + +// UpsertExternalService mocks base method. +func (m *MockExternalServiceClient) UpsertExternalService(ctx context.Context, obj *v2.ExternalService, transitionFuncs ...v2.ExternalServiceTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertExternalService", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertExternalService indicates an expected call of UpsertExternalService. +func (mr *MockExternalServiceClientMockRecorder) UpsertExternalService(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertExternalService", reflect.TypeOf((*MockExternalServiceClient)(nil).UpsertExternalService), varargs...) +} + +// MockMulticlusterExternalServiceClient is a mock of MulticlusterExternalServiceClient interface. +type MockMulticlusterExternalServiceClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExternalServiceClientMockRecorder +} + +// MockMulticlusterExternalServiceClientMockRecorder is the mock recorder for MockMulticlusterExternalServiceClient. +type MockMulticlusterExternalServiceClientMockRecorder struct { + mock *MockMulticlusterExternalServiceClient +} + +// NewMockMulticlusterExternalServiceClient creates a new mock instance. +func NewMockMulticlusterExternalServiceClient(ctrl *gomock.Controller) *MockMulticlusterExternalServiceClient { + mock := &MockMulticlusterExternalServiceClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterExternalServiceClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExternalServiceClient) EXPECT() *MockMulticlusterExternalServiceClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterExternalServiceClient) Cluster(cluster string) (v2.ExternalServiceClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.ExternalServiceClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterExternalServiceClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterExternalServiceClient)(nil).Cluster), cluster) +} + +// MockExternalEndpointReader is a mock of ExternalEndpointReader interface. +type MockExternalEndpointReader struct { + ctrl *gomock.Controller + recorder *MockExternalEndpointReaderMockRecorder +} + +// MockExternalEndpointReaderMockRecorder is the mock recorder for MockExternalEndpointReader. +type MockExternalEndpointReaderMockRecorder struct { + mock *MockExternalEndpointReader +} + +// NewMockExternalEndpointReader creates a new mock instance. +func NewMockExternalEndpointReader(ctrl *gomock.Controller) *MockExternalEndpointReader { + mock := &MockExternalEndpointReader{ctrl: ctrl} + mock.recorder = &MockExternalEndpointReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalEndpointReader) EXPECT() *MockExternalEndpointReaderMockRecorder { + return m.recorder +} + +// GetExternalEndpoint mocks base method. +func (m *MockExternalEndpointReader) GetExternalEndpoint(ctx context.Context, key client.ObjectKey) (*v2.ExternalEndpoint, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetExternalEndpoint", ctx, key) + ret0, _ := ret[0].(*v2.ExternalEndpoint) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetExternalEndpoint indicates an expected call of GetExternalEndpoint. +func (mr *MockExternalEndpointReaderMockRecorder) GetExternalEndpoint(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetExternalEndpoint", reflect.TypeOf((*MockExternalEndpointReader)(nil).GetExternalEndpoint), ctx, key) +} + +// ListExternalEndpoint mocks base method. +func (m *MockExternalEndpointReader) ListExternalEndpoint(ctx context.Context, opts ...client.ListOption) (*v2.ExternalEndpointList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListExternalEndpoint", varargs...) + ret0, _ := ret[0].(*v2.ExternalEndpointList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListExternalEndpoint indicates an expected call of ListExternalEndpoint. +func (mr *MockExternalEndpointReaderMockRecorder) ListExternalEndpoint(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListExternalEndpoint", reflect.TypeOf((*MockExternalEndpointReader)(nil).ListExternalEndpoint), varargs...) +} + +// MockExternalEndpointWriter is a mock of ExternalEndpointWriter interface. +type MockExternalEndpointWriter struct { + ctrl *gomock.Controller + recorder *MockExternalEndpointWriterMockRecorder +} + +// MockExternalEndpointWriterMockRecorder is the mock recorder for MockExternalEndpointWriter. +type MockExternalEndpointWriterMockRecorder struct { + mock *MockExternalEndpointWriter +} + +// NewMockExternalEndpointWriter creates a new mock instance. +func NewMockExternalEndpointWriter(ctrl *gomock.Controller) *MockExternalEndpointWriter { + mock := &MockExternalEndpointWriter{ctrl: ctrl} + mock.recorder = &MockExternalEndpointWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalEndpointWriter) EXPECT() *MockExternalEndpointWriterMockRecorder { + return m.recorder +} + +// CreateExternalEndpoint mocks base method. +func (m *MockExternalEndpointWriter) CreateExternalEndpoint(ctx context.Context, obj *v2.ExternalEndpoint, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateExternalEndpoint", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExternalEndpoint indicates an expected call of CreateExternalEndpoint. +func (mr *MockExternalEndpointWriterMockRecorder) CreateExternalEndpoint(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExternalEndpoint", reflect.TypeOf((*MockExternalEndpointWriter)(nil).CreateExternalEndpoint), varargs...) +} + +// DeleteAllOfExternalEndpoint mocks base method. +func (m *MockExternalEndpointWriter) DeleteAllOfExternalEndpoint(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfExternalEndpoint", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfExternalEndpoint indicates an expected call of DeleteAllOfExternalEndpoint. +func (mr *MockExternalEndpointWriterMockRecorder) DeleteAllOfExternalEndpoint(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfExternalEndpoint", reflect.TypeOf((*MockExternalEndpointWriter)(nil).DeleteAllOfExternalEndpoint), varargs...) +} + +// DeleteExternalEndpoint mocks base method. +func (m *MockExternalEndpointWriter) DeleteExternalEndpoint(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteExternalEndpoint", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExternalEndpoint indicates an expected call of DeleteExternalEndpoint. +func (mr *MockExternalEndpointWriterMockRecorder) DeleteExternalEndpoint(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExternalEndpoint", reflect.TypeOf((*MockExternalEndpointWriter)(nil).DeleteExternalEndpoint), varargs...) +} + +// PatchExternalEndpoint mocks base method. +func (m *MockExternalEndpointWriter) PatchExternalEndpoint(ctx context.Context, obj *v2.ExternalEndpoint, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExternalEndpoint", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExternalEndpoint indicates an expected call of PatchExternalEndpoint. +func (mr *MockExternalEndpointWriterMockRecorder) PatchExternalEndpoint(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExternalEndpoint", reflect.TypeOf((*MockExternalEndpointWriter)(nil).PatchExternalEndpoint), varargs...) +} + +// UpdateExternalEndpoint mocks base method. +func (m *MockExternalEndpointWriter) UpdateExternalEndpoint(ctx context.Context, obj *v2.ExternalEndpoint, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExternalEndpoint", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalEndpoint indicates an expected call of UpdateExternalEndpoint. +func (mr *MockExternalEndpointWriterMockRecorder) UpdateExternalEndpoint(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalEndpoint", reflect.TypeOf((*MockExternalEndpointWriter)(nil).UpdateExternalEndpoint), varargs...) +} + +// UpsertExternalEndpoint mocks base method. +func (m *MockExternalEndpointWriter) UpsertExternalEndpoint(ctx context.Context, obj *v2.ExternalEndpoint, transitionFuncs ...v2.ExternalEndpointTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertExternalEndpoint", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertExternalEndpoint indicates an expected call of UpsertExternalEndpoint. +func (mr *MockExternalEndpointWriterMockRecorder) UpsertExternalEndpoint(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertExternalEndpoint", reflect.TypeOf((*MockExternalEndpointWriter)(nil).UpsertExternalEndpoint), varargs...) +} + +// MockExternalEndpointStatusWriter is a mock of ExternalEndpointStatusWriter interface. +type MockExternalEndpointStatusWriter struct { + ctrl *gomock.Controller + recorder *MockExternalEndpointStatusWriterMockRecorder +} + +// MockExternalEndpointStatusWriterMockRecorder is the mock recorder for MockExternalEndpointStatusWriter. +type MockExternalEndpointStatusWriterMockRecorder struct { + mock *MockExternalEndpointStatusWriter +} + +// NewMockExternalEndpointStatusWriter creates a new mock instance. +func NewMockExternalEndpointStatusWriter(ctrl *gomock.Controller) *MockExternalEndpointStatusWriter { + mock := &MockExternalEndpointStatusWriter{ctrl: ctrl} + mock.recorder = &MockExternalEndpointStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalEndpointStatusWriter) EXPECT() *MockExternalEndpointStatusWriterMockRecorder { + return m.recorder +} + +// PatchExternalEndpointStatus mocks base method. +func (m *MockExternalEndpointStatusWriter) PatchExternalEndpointStatus(ctx context.Context, obj *v2.ExternalEndpoint, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExternalEndpointStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExternalEndpointStatus indicates an expected call of PatchExternalEndpointStatus. +func (mr *MockExternalEndpointStatusWriterMockRecorder) PatchExternalEndpointStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExternalEndpointStatus", reflect.TypeOf((*MockExternalEndpointStatusWriter)(nil).PatchExternalEndpointStatus), varargs...) +} + +// UpdateExternalEndpointStatus mocks base method. +func (m *MockExternalEndpointStatusWriter) UpdateExternalEndpointStatus(ctx context.Context, obj *v2.ExternalEndpoint, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExternalEndpointStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalEndpointStatus indicates an expected call of UpdateExternalEndpointStatus. +func (mr *MockExternalEndpointStatusWriterMockRecorder) UpdateExternalEndpointStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalEndpointStatus", reflect.TypeOf((*MockExternalEndpointStatusWriter)(nil).UpdateExternalEndpointStatus), varargs...) +} + +// MockExternalEndpointClient is a mock of ExternalEndpointClient interface. +type MockExternalEndpointClient struct { + ctrl *gomock.Controller + recorder *MockExternalEndpointClientMockRecorder +} + +// MockExternalEndpointClientMockRecorder is the mock recorder for MockExternalEndpointClient. +type MockExternalEndpointClientMockRecorder struct { + mock *MockExternalEndpointClient +} + +// NewMockExternalEndpointClient creates a new mock instance. +func NewMockExternalEndpointClient(ctrl *gomock.Controller) *MockExternalEndpointClient { + mock := &MockExternalEndpointClient{ctrl: ctrl} + mock.recorder = &MockExternalEndpointClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalEndpointClient) EXPECT() *MockExternalEndpointClientMockRecorder { + return m.recorder +} + +// CreateExternalEndpoint mocks base method. +func (m *MockExternalEndpointClient) CreateExternalEndpoint(ctx context.Context, obj *v2.ExternalEndpoint, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateExternalEndpoint", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExternalEndpoint indicates an expected call of CreateExternalEndpoint. +func (mr *MockExternalEndpointClientMockRecorder) CreateExternalEndpoint(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExternalEndpoint", reflect.TypeOf((*MockExternalEndpointClient)(nil).CreateExternalEndpoint), varargs...) +} + +// DeleteAllOfExternalEndpoint mocks base method. +func (m *MockExternalEndpointClient) DeleteAllOfExternalEndpoint(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfExternalEndpoint", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfExternalEndpoint indicates an expected call of DeleteAllOfExternalEndpoint. +func (mr *MockExternalEndpointClientMockRecorder) DeleteAllOfExternalEndpoint(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfExternalEndpoint", reflect.TypeOf((*MockExternalEndpointClient)(nil).DeleteAllOfExternalEndpoint), varargs...) +} + +// DeleteExternalEndpoint mocks base method. +func (m *MockExternalEndpointClient) DeleteExternalEndpoint(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteExternalEndpoint", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExternalEndpoint indicates an expected call of DeleteExternalEndpoint. +func (mr *MockExternalEndpointClientMockRecorder) DeleteExternalEndpoint(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExternalEndpoint", reflect.TypeOf((*MockExternalEndpointClient)(nil).DeleteExternalEndpoint), varargs...) +} + +// GetExternalEndpoint mocks base method. +func (m *MockExternalEndpointClient) GetExternalEndpoint(ctx context.Context, key client.ObjectKey) (*v2.ExternalEndpoint, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetExternalEndpoint", ctx, key) + ret0, _ := ret[0].(*v2.ExternalEndpoint) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetExternalEndpoint indicates an expected call of GetExternalEndpoint. +func (mr *MockExternalEndpointClientMockRecorder) GetExternalEndpoint(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetExternalEndpoint", reflect.TypeOf((*MockExternalEndpointClient)(nil).GetExternalEndpoint), ctx, key) +} + +// ListExternalEndpoint mocks base method. +func (m *MockExternalEndpointClient) ListExternalEndpoint(ctx context.Context, opts ...client.ListOption) (*v2.ExternalEndpointList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListExternalEndpoint", varargs...) + ret0, _ := ret[0].(*v2.ExternalEndpointList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListExternalEndpoint indicates an expected call of ListExternalEndpoint. +func (mr *MockExternalEndpointClientMockRecorder) ListExternalEndpoint(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListExternalEndpoint", reflect.TypeOf((*MockExternalEndpointClient)(nil).ListExternalEndpoint), varargs...) +} + +// PatchExternalEndpoint mocks base method. +func (m *MockExternalEndpointClient) PatchExternalEndpoint(ctx context.Context, obj *v2.ExternalEndpoint, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExternalEndpoint", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExternalEndpoint indicates an expected call of PatchExternalEndpoint. +func (mr *MockExternalEndpointClientMockRecorder) PatchExternalEndpoint(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExternalEndpoint", reflect.TypeOf((*MockExternalEndpointClient)(nil).PatchExternalEndpoint), varargs...) +} + +// PatchExternalEndpointStatus mocks base method. +func (m *MockExternalEndpointClient) PatchExternalEndpointStatus(ctx context.Context, obj *v2.ExternalEndpoint, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExternalEndpointStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExternalEndpointStatus indicates an expected call of PatchExternalEndpointStatus. +func (mr *MockExternalEndpointClientMockRecorder) PatchExternalEndpointStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExternalEndpointStatus", reflect.TypeOf((*MockExternalEndpointClient)(nil).PatchExternalEndpointStatus), varargs...) +} + +// UpdateExternalEndpoint mocks base method. +func (m *MockExternalEndpointClient) UpdateExternalEndpoint(ctx context.Context, obj *v2.ExternalEndpoint, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExternalEndpoint", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalEndpoint indicates an expected call of UpdateExternalEndpoint. +func (mr *MockExternalEndpointClientMockRecorder) UpdateExternalEndpoint(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalEndpoint", reflect.TypeOf((*MockExternalEndpointClient)(nil).UpdateExternalEndpoint), varargs...) +} + +// UpdateExternalEndpointStatus mocks base method. +func (m *MockExternalEndpointClient) UpdateExternalEndpointStatus(ctx context.Context, obj *v2.ExternalEndpoint, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExternalEndpointStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalEndpointStatus indicates an expected call of UpdateExternalEndpointStatus. +func (mr *MockExternalEndpointClientMockRecorder) UpdateExternalEndpointStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalEndpointStatus", reflect.TypeOf((*MockExternalEndpointClient)(nil).UpdateExternalEndpointStatus), varargs...) +} + +// UpsertExternalEndpoint mocks base method. +func (m *MockExternalEndpointClient) UpsertExternalEndpoint(ctx context.Context, obj *v2.ExternalEndpoint, transitionFuncs ...v2.ExternalEndpointTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertExternalEndpoint", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertExternalEndpoint indicates an expected call of UpsertExternalEndpoint. +func (mr *MockExternalEndpointClientMockRecorder) UpsertExternalEndpoint(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertExternalEndpoint", reflect.TypeOf((*MockExternalEndpointClient)(nil).UpsertExternalEndpoint), varargs...) +} + +// MockMulticlusterExternalEndpointClient is a mock of MulticlusterExternalEndpointClient interface. +type MockMulticlusterExternalEndpointClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExternalEndpointClientMockRecorder +} + +// MockMulticlusterExternalEndpointClientMockRecorder is the mock recorder for MockMulticlusterExternalEndpointClient. +type MockMulticlusterExternalEndpointClientMockRecorder struct { + mock *MockMulticlusterExternalEndpointClient +} + +// NewMockMulticlusterExternalEndpointClient creates a new mock instance. +func NewMockMulticlusterExternalEndpointClient(ctrl *gomock.Controller) *MockMulticlusterExternalEndpointClient { + mock := &MockMulticlusterExternalEndpointClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterExternalEndpointClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExternalEndpointClient) EXPECT() *MockMulticlusterExternalEndpointClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterExternalEndpointClient) Cluster(cluster string) (v2.ExternalEndpointClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.ExternalEndpointClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterExternalEndpointClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterExternalEndpointClient)(nil).Cluster), cluster) +} + +// MockRouteTableReader is a mock of RouteTableReader interface. +type MockRouteTableReader struct { + ctrl *gomock.Controller + recorder *MockRouteTableReaderMockRecorder +} + +// MockRouteTableReaderMockRecorder is the mock recorder for MockRouteTableReader. +type MockRouteTableReaderMockRecorder struct { + mock *MockRouteTableReader +} + +// NewMockRouteTableReader creates a new mock instance. +func NewMockRouteTableReader(ctrl *gomock.Controller) *MockRouteTableReader { + mock := &MockRouteTableReader{ctrl: ctrl} + mock.recorder = &MockRouteTableReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRouteTableReader) EXPECT() *MockRouteTableReaderMockRecorder { + return m.recorder +} + +// GetRouteTable mocks base method. +func (m *MockRouteTableReader) GetRouteTable(ctx context.Context, key client.ObjectKey) (*v2.RouteTable, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRouteTable", ctx, key) + ret0, _ := ret[0].(*v2.RouteTable) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRouteTable indicates an expected call of GetRouteTable. +func (mr *MockRouteTableReaderMockRecorder) GetRouteTable(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRouteTable", reflect.TypeOf((*MockRouteTableReader)(nil).GetRouteTable), ctx, key) +} + +// ListRouteTable mocks base method. +func (m *MockRouteTableReader) ListRouteTable(ctx context.Context, opts ...client.ListOption) (*v2.RouteTableList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRouteTable", varargs...) + ret0, _ := ret[0].(*v2.RouteTableList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRouteTable indicates an expected call of ListRouteTable. +func (mr *MockRouteTableReaderMockRecorder) ListRouteTable(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRouteTable", reflect.TypeOf((*MockRouteTableReader)(nil).ListRouteTable), varargs...) +} + +// MockRouteTableWriter is a mock of RouteTableWriter interface. +type MockRouteTableWriter struct { + ctrl *gomock.Controller + recorder *MockRouteTableWriterMockRecorder +} + +// MockRouteTableWriterMockRecorder is the mock recorder for MockRouteTableWriter. +type MockRouteTableWriterMockRecorder struct { + mock *MockRouteTableWriter +} + +// NewMockRouteTableWriter creates a new mock instance. +func NewMockRouteTableWriter(ctrl *gomock.Controller) *MockRouteTableWriter { + mock := &MockRouteTableWriter{ctrl: ctrl} + mock.recorder = &MockRouteTableWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRouteTableWriter) EXPECT() *MockRouteTableWriterMockRecorder { + return m.recorder +} + +// CreateRouteTable mocks base method. +func (m *MockRouteTableWriter) CreateRouteTable(ctx context.Context, obj *v2.RouteTable, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRouteTable", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRouteTable indicates an expected call of CreateRouteTable. +func (mr *MockRouteTableWriterMockRecorder) CreateRouteTable(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRouteTable", reflect.TypeOf((*MockRouteTableWriter)(nil).CreateRouteTable), varargs...) +} + +// DeleteAllOfRouteTable mocks base method. +func (m *MockRouteTableWriter) DeleteAllOfRouteTable(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRouteTable", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRouteTable indicates an expected call of DeleteAllOfRouteTable. +func (mr *MockRouteTableWriterMockRecorder) DeleteAllOfRouteTable(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRouteTable", reflect.TypeOf((*MockRouteTableWriter)(nil).DeleteAllOfRouteTable), varargs...) +} + +// DeleteRouteTable mocks base method. +func (m *MockRouteTableWriter) DeleteRouteTable(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRouteTable", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRouteTable indicates an expected call of DeleteRouteTable. +func (mr *MockRouteTableWriterMockRecorder) DeleteRouteTable(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRouteTable", reflect.TypeOf((*MockRouteTableWriter)(nil).DeleteRouteTable), varargs...) +} + +// PatchRouteTable mocks base method. +func (m *MockRouteTableWriter) PatchRouteTable(ctx context.Context, obj *v2.RouteTable, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRouteTable", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRouteTable indicates an expected call of PatchRouteTable. +func (mr *MockRouteTableWriterMockRecorder) PatchRouteTable(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRouteTable", reflect.TypeOf((*MockRouteTableWriter)(nil).PatchRouteTable), varargs...) +} + +// UpdateRouteTable mocks base method. +func (m *MockRouteTableWriter) UpdateRouteTable(ctx context.Context, obj *v2.RouteTable, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRouteTable", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRouteTable indicates an expected call of UpdateRouteTable. +func (mr *MockRouteTableWriterMockRecorder) UpdateRouteTable(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRouteTable", reflect.TypeOf((*MockRouteTableWriter)(nil).UpdateRouteTable), varargs...) +} + +// UpsertRouteTable mocks base method. +func (m *MockRouteTableWriter) UpsertRouteTable(ctx context.Context, obj *v2.RouteTable, transitionFuncs ...v2.RouteTableTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRouteTable", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRouteTable indicates an expected call of UpsertRouteTable. +func (mr *MockRouteTableWriterMockRecorder) UpsertRouteTable(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRouteTable", reflect.TypeOf((*MockRouteTableWriter)(nil).UpsertRouteTable), varargs...) +} + +// MockRouteTableStatusWriter is a mock of RouteTableStatusWriter interface. +type MockRouteTableStatusWriter struct { + ctrl *gomock.Controller + recorder *MockRouteTableStatusWriterMockRecorder +} + +// MockRouteTableStatusWriterMockRecorder is the mock recorder for MockRouteTableStatusWriter. +type MockRouteTableStatusWriterMockRecorder struct { + mock *MockRouteTableStatusWriter +} + +// NewMockRouteTableStatusWriter creates a new mock instance. +func NewMockRouteTableStatusWriter(ctrl *gomock.Controller) *MockRouteTableStatusWriter { + mock := &MockRouteTableStatusWriter{ctrl: ctrl} + mock.recorder = &MockRouteTableStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRouteTableStatusWriter) EXPECT() *MockRouteTableStatusWriterMockRecorder { + return m.recorder +} + +// PatchRouteTableStatus mocks base method. +func (m *MockRouteTableStatusWriter) PatchRouteTableStatus(ctx context.Context, obj *v2.RouteTable, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRouteTableStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRouteTableStatus indicates an expected call of PatchRouteTableStatus. +func (mr *MockRouteTableStatusWriterMockRecorder) PatchRouteTableStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRouteTableStatus", reflect.TypeOf((*MockRouteTableStatusWriter)(nil).PatchRouteTableStatus), varargs...) +} + +// UpdateRouteTableStatus mocks base method. +func (m *MockRouteTableStatusWriter) UpdateRouteTableStatus(ctx context.Context, obj *v2.RouteTable, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRouteTableStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRouteTableStatus indicates an expected call of UpdateRouteTableStatus. +func (mr *MockRouteTableStatusWriterMockRecorder) UpdateRouteTableStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRouteTableStatus", reflect.TypeOf((*MockRouteTableStatusWriter)(nil).UpdateRouteTableStatus), varargs...) +} + +// MockRouteTableClient is a mock of RouteTableClient interface. +type MockRouteTableClient struct { + ctrl *gomock.Controller + recorder *MockRouteTableClientMockRecorder +} + +// MockRouteTableClientMockRecorder is the mock recorder for MockRouteTableClient. +type MockRouteTableClientMockRecorder struct { + mock *MockRouteTableClient +} + +// NewMockRouteTableClient creates a new mock instance. +func NewMockRouteTableClient(ctrl *gomock.Controller) *MockRouteTableClient { + mock := &MockRouteTableClient{ctrl: ctrl} + mock.recorder = &MockRouteTableClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRouteTableClient) EXPECT() *MockRouteTableClientMockRecorder { + return m.recorder +} + +// CreateRouteTable mocks base method. +func (m *MockRouteTableClient) CreateRouteTable(ctx context.Context, obj *v2.RouteTable, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRouteTable", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRouteTable indicates an expected call of CreateRouteTable. +func (mr *MockRouteTableClientMockRecorder) CreateRouteTable(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRouteTable", reflect.TypeOf((*MockRouteTableClient)(nil).CreateRouteTable), varargs...) +} + +// DeleteAllOfRouteTable mocks base method. +func (m *MockRouteTableClient) DeleteAllOfRouteTable(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRouteTable", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRouteTable indicates an expected call of DeleteAllOfRouteTable. +func (mr *MockRouteTableClientMockRecorder) DeleteAllOfRouteTable(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRouteTable", reflect.TypeOf((*MockRouteTableClient)(nil).DeleteAllOfRouteTable), varargs...) +} + +// DeleteRouteTable mocks base method. +func (m *MockRouteTableClient) DeleteRouteTable(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRouteTable", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRouteTable indicates an expected call of DeleteRouteTable. +func (mr *MockRouteTableClientMockRecorder) DeleteRouteTable(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRouteTable", reflect.TypeOf((*MockRouteTableClient)(nil).DeleteRouteTable), varargs...) +} + +// GetRouteTable mocks base method. +func (m *MockRouteTableClient) GetRouteTable(ctx context.Context, key client.ObjectKey) (*v2.RouteTable, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRouteTable", ctx, key) + ret0, _ := ret[0].(*v2.RouteTable) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRouteTable indicates an expected call of GetRouteTable. +func (mr *MockRouteTableClientMockRecorder) GetRouteTable(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRouteTable", reflect.TypeOf((*MockRouteTableClient)(nil).GetRouteTable), ctx, key) +} + +// ListRouteTable mocks base method. +func (m *MockRouteTableClient) ListRouteTable(ctx context.Context, opts ...client.ListOption) (*v2.RouteTableList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRouteTable", varargs...) + ret0, _ := ret[0].(*v2.RouteTableList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRouteTable indicates an expected call of ListRouteTable. +func (mr *MockRouteTableClientMockRecorder) ListRouteTable(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRouteTable", reflect.TypeOf((*MockRouteTableClient)(nil).ListRouteTable), varargs...) +} + +// PatchRouteTable mocks base method. +func (m *MockRouteTableClient) PatchRouteTable(ctx context.Context, obj *v2.RouteTable, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRouteTable", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRouteTable indicates an expected call of PatchRouteTable. +func (mr *MockRouteTableClientMockRecorder) PatchRouteTable(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRouteTable", reflect.TypeOf((*MockRouteTableClient)(nil).PatchRouteTable), varargs...) +} + +// PatchRouteTableStatus mocks base method. +func (m *MockRouteTableClient) PatchRouteTableStatus(ctx context.Context, obj *v2.RouteTable, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRouteTableStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRouteTableStatus indicates an expected call of PatchRouteTableStatus. +func (mr *MockRouteTableClientMockRecorder) PatchRouteTableStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRouteTableStatus", reflect.TypeOf((*MockRouteTableClient)(nil).PatchRouteTableStatus), varargs...) +} + +// UpdateRouteTable mocks base method. +func (m *MockRouteTableClient) UpdateRouteTable(ctx context.Context, obj *v2.RouteTable, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRouteTable", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRouteTable indicates an expected call of UpdateRouteTable. +func (mr *MockRouteTableClientMockRecorder) UpdateRouteTable(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRouteTable", reflect.TypeOf((*MockRouteTableClient)(nil).UpdateRouteTable), varargs...) +} + +// UpdateRouteTableStatus mocks base method. +func (m *MockRouteTableClient) UpdateRouteTableStatus(ctx context.Context, obj *v2.RouteTable, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRouteTableStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRouteTableStatus indicates an expected call of UpdateRouteTableStatus. +func (mr *MockRouteTableClientMockRecorder) UpdateRouteTableStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRouteTableStatus", reflect.TypeOf((*MockRouteTableClient)(nil).UpdateRouteTableStatus), varargs...) +} + +// UpsertRouteTable mocks base method. +func (m *MockRouteTableClient) UpsertRouteTable(ctx context.Context, obj *v2.RouteTable, transitionFuncs ...v2.RouteTableTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRouteTable", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRouteTable indicates an expected call of UpsertRouteTable. +func (mr *MockRouteTableClientMockRecorder) UpsertRouteTable(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRouteTable", reflect.TypeOf((*MockRouteTableClient)(nil).UpsertRouteTable), varargs...) +} + +// MockMulticlusterRouteTableClient is a mock of MulticlusterRouteTableClient interface. +type MockMulticlusterRouteTableClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRouteTableClientMockRecorder +} + +// MockMulticlusterRouteTableClientMockRecorder is the mock recorder for MockMulticlusterRouteTableClient. +type MockMulticlusterRouteTableClientMockRecorder struct { + mock *MockMulticlusterRouteTableClient +} + +// NewMockMulticlusterRouteTableClient creates a new mock instance. +func NewMockMulticlusterRouteTableClient(ctrl *gomock.Controller) *MockMulticlusterRouteTableClient { + mock := &MockMulticlusterRouteTableClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterRouteTableClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRouteTableClient) EXPECT() *MockMulticlusterRouteTableClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterRouteTableClient) Cluster(cluster string) (v2.RouteTableClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.RouteTableClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterRouteTableClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterRouteTableClient)(nil).Cluster), cluster) +} + +// MockVirtualDestinationReader is a mock of VirtualDestinationReader interface. +type MockVirtualDestinationReader struct { + ctrl *gomock.Controller + recorder *MockVirtualDestinationReaderMockRecorder +} + +// MockVirtualDestinationReaderMockRecorder is the mock recorder for MockVirtualDestinationReader. +type MockVirtualDestinationReaderMockRecorder struct { + mock *MockVirtualDestinationReader +} + +// NewMockVirtualDestinationReader creates a new mock instance. +func NewMockVirtualDestinationReader(ctrl *gomock.Controller) *MockVirtualDestinationReader { + mock := &MockVirtualDestinationReader{ctrl: ctrl} + mock.recorder = &MockVirtualDestinationReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualDestinationReader) EXPECT() *MockVirtualDestinationReaderMockRecorder { + return m.recorder +} + +// GetVirtualDestination mocks base method. +func (m *MockVirtualDestinationReader) GetVirtualDestination(ctx context.Context, key client.ObjectKey) (*v2.VirtualDestination, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetVirtualDestination", ctx, key) + ret0, _ := ret[0].(*v2.VirtualDestination) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetVirtualDestination indicates an expected call of GetVirtualDestination. +func (mr *MockVirtualDestinationReaderMockRecorder) GetVirtualDestination(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetVirtualDestination", reflect.TypeOf((*MockVirtualDestinationReader)(nil).GetVirtualDestination), ctx, key) +} + +// ListVirtualDestination mocks base method. +func (m *MockVirtualDestinationReader) ListVirtualDestination(ctx context.Context, opts ...client.ListOption) (*v2.VirtualDestinationList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListVirtualDestination", varargs...) + ret0, _ := ret[0].(*v2.VirtualDestinationList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListVirtualDestination indicates an expected call of ListVirtualDestination. +func (mr *MockVirtualDestinationReaderMockRecorder) ListVirtualDestination(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListVirtualDestination", reflect.TypeOf((*MockVirtualDestinationReader)(nil).ListVirtualDestination), varargs...) +} + +// MockVirtualDestinationWriter is a mock of VirtualDestinationWriter interface. +type MockVirtualDestinationWriter struct { + ctrl *gomock.Controller + recorder *MockVirtualDestinationWriterMockRecorder +} + +// MockVirtualDestinationWriterMockRecorder is the mock recorder for MockVirtualDestinationWriter. +type MockVirtualDestinationWriterMockRecorder struct { + mock *MockVirtualDestinationWriter +} + +// NewMockVirtualDestinationWriter creates a new mock instance. +func NewMockVirtualDestinationWriter(ctrl *gomock.Controller) *MockVirtualDestinationWriter { + mock := &MockVirtualDestinationWriter{ctrl: ctrl} + mock.recorder = &MockVirtualDestinationWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualDestinationWriter) EXPECT() *MockVirtualDestinationWriterMockRecorder { + return m.recorder +} + +// CreateVirtualDestination mocks base method. +func (m *MockVirtualDestinationWriter) CreateVirtualDestination(ctx context.Context, obj *v2.VirtualDestination, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateVirtualDestination", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateVirtualDestination indicates an expected call of CreateVirtualDestination. +func (mr *MockVirtualDestinationWriterMockRecorder) CreateVirtualDestination(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateVirtualDestination", reflect.TypeOf((*MockVirtualDestinationWriter)(nil).CreateVirtualDestination), varargs...) +} + +// DeleteAllOfVirtualDestination mocks base method. +func (m *MockVirtualDestinationWriter) DeleteAllOfVirtualDestination(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfVirtualDestination", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfVirtualDestination indicates an expected call of DeleteAllOfVirtualDestination. +func (mr *MockVirtualDestinationWriterMockRecorder) DeleteAllOfVirtualDestination(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfVirtualDestination", reflect.TypeOf((*MockVirtualDestinationWriter)(nil).DeleteAllOfVirtualDestination), varargs...) +} + +// DeleteVirtualDestination mocks base method. +func (m *MockVirtualDestinationWriter) DeleteVirtualDestination(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteVirtualDestination", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteVirtualDestination indicates an expected call of DeleteVirtualDestination. +func (mr *MockVirtualDestinationWriterMockRecorder) DeleteVirtualDestination(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteVirtualDestination", reflect.TypeOf((*MockVirtualDestinationWriter)(nil).DeleteVirtualDestination), varargs...) +} + +// PatchVirtualDestination mocks base method. +func (m *MockVirtualDestinationWriter) PatchVirtualDestination(ctx context.Context, obj *v2.VirtualDestination, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchVirtualDestination", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchVirtualDestination indicates an expected call of PatchVirtualDestination. +func (mr *MockVirtualDestinationWriterMockRecorder) PatchVirtualDestination(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchVirtualDestination", reflect.TypeOf((*MockVirtualDestinationWriter)(nil).PatchVirtualDestination), varargs...) +} + +// UpdateVirtualDestination mocks base method. +func (m *MockVirtualDestinationWriter) UpdateVirtualDestination(ctx context.Context, obj *v2.VirtualDestination, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateVirtualDestination", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateVirtualDestination indicates an expected call of UpdateVirtualDestination. +func (mr *MockVirtualDestinationWriterMockRecorder) UpdateVirtualDestination(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVirtualDestination", reflect.TypeOf((*MockVirtualDestinationWriter)(nil).UpdateVirtualDestination), varargs...) +} + +// UpsertVirtualDestination mocks base method. +func (m *MockVirtualDestinationWriter) UpsertVirtualDestination(ctx context.Context, obj *v2.VirtualDestination, transitionFuncs ...v2.VirtualDestinationTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertVirtualDestination", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertVirtualDestination indicates an expected call of UpsertVirtualDestination. +func (mr *MockVirtualDestinationWriterMockRecorder) UpsertVirtualDestination(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertVirtualDestination", reflect.TypeOf((*MockVirtualDestinationWriter)(nil).UpsertVirtualDestination), varargs...) +} + +// MockVirtualDestinationStatusWriter is a mock of VirtualDestinationStatusWriter interface. +type MockVirtualDestinationStatusWriter struct { + ctrl *gomock.Controller + recorder *MockVirtualDestinationStatusWriterMockRecorder +} + +// MockVirtualDestinationStatusWriterMockRecorder is the mock recorder for MockVirtualDestinationStatusWriter. +type MockVirtualDestinationStatusWriterMockRecorder struct { + mock *MockVirtualDestinationStatusWriter +} + +// NewMockVirtualDestinationStatusWriter creates a new mock instance. +func NewMockVirtualDestinationStatusWriter(ctrl *gomock.Controller) *MockVirtualDestinationStatusWriter { + mock := &MockVirtualDestinationStatusWriter{ctrl: ctrl} + mock.recorder = &MockVirtualDestinationStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualDestinationStatusWriter) EXPECT() *MockVirtualDestinationStatusWriterMockRecorder { + return m.recorder +} + +// PatchVirtualDestinationStatus mocks base method. +func (m *MockVirtualDestinationStatusWriter) PatchVirtualDestinationStatus(ctx context.Context, obj *v2.VirtualDestination, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchVirtualDestinationStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchVirtualDestinationStatus indicates an expected call of PatchVirtualDestinationStatus. +func (mr *MockVirtualDestinationStatusWriterMockRecorder) PatchVirtualDestinationStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchVirtualDestinationStatus", reflect.TypeOf((*MockVirtualDestinationStatusWriter)(nil).PatchVirtualDestinationStatus), varargs...) +} + +// UpdateVirtualDestinationStatus mocks base method. +func (m *MockVirtualDestinationStatusWriter) UpdateVirtualDestinationStatus(ctx context.Context, obj *v2.VirtualDestination, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateVirtualDestinationStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateVirtualDestinationStatus indicates an expected call of UpdateVirtualDestinationStatus. +func (mr *MockVirtualDestinationStatusWriterMockRecorder) UpdateVirtualDestinationStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVirtualDestinationStatus", reflect.TypeOf((*MockVirtualDestinationStatusWriter)(nil).UpdateVirtualDestinationStatus), varargs...) +} + +// MockVirtualDestinationClient is a mock of VirtualDestinationClient interface. +type MockVirtualDestinationClient struct { + ctrl *gomock.Controller + recorder *MockVirtualDestinationClientMockRecorder +} + +// MockVirtualDestinationClientMockRecorder is the mock recorder for MockVirtualDestinationClient. +type MockVirtualDestinationClientMockRecorder struct { + mock *MockVirtualDestinationClient +} + +// NewMockVirtualDestinationClient creates a new mock instance. +func NewMockVirtualDestinationClient(ctrl *gomock.Controller) *MockVirtualDestinationClient { + mock := &MockVirtualDestinationClient{ctrl: ctrl} + mock.recorder = &MockVirtualDestinationClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualDestinationClient) EXPECT() *MockVirtualDestinationClientMockRecorder { + return m.recorder +} + +// CreateVirtualDestination mocks base method. +func (m *MockVirtualDestinationClient) CreateVirtualDestination(ctx context.Context, obj *v2.VirtualDestination, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateVirtualDestination", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateVirtualDestination indicates an expected call of CreateVirtualDestination. +func (mr *MockVirtualDestinationClientMockRecorder) CreateVirtualDestination(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateVirtualDestination", reflect.TypeOf((*MockVirtualDestinationClient)(nil).CreateVirtualDestination), varargs...) +} + +// DeleteAllOfVirtualDestination mocks base method. +func (m *MockVirtualDestinationClient) DeleteAllOfVirtualDestination(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfVirtualDestination", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfVirtualDestination indicates an expected call of DeleteAllOfVirtualDestination. +func (mr *MockVirtualDestinationClientMockRecorder) DeleteAllOfVirtualDestination(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfVirtualDestination", reflect.TypeOf((*MockVirtualDestinationClient)(nil).DeleteAllOfVirtualDestination), varargs...) +} + +// DeleteVirtualDestination mocks base method. +func (m *MockVirtualDestinationClient) DeleteVirtualDestination(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteVirtualDestination", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteVirtualDestination indicates an expected call of DeleteVirtualDestination. +func (mr *MockVirtualDestinationClientMockRecorder) DeleteVirtualDestination(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteVirtualDestination", reflect.TypeOf((*MockVirtualDestinationClient)(nil).DeleteVirtualDestination), varargs...) +} + +// GetVirtualDestination mocks base method. +func (m *MockVirtualDestinationClient) GetVirtualDestination(ctx context.Context, key client.ObjectKey) (*v2.VirtualDestination, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetVirtualDestination", ctx, key) + ret0, _ := ret[0].(*v2.VirtualDestination) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetVirtualDestination indicates an expected call of GetVirtualDestination. +func (mr *MockVirtualDestinationClientMockRecorder) GetVirtualDestination(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetVirtualDestination", reflect.TypeOf((*MockVirtualDestinationClient)(nil).GetVirtualDestination), ctx, key) +} + +// ListVirtualDestination mocks base method. +func (m *MockVirtualDestinationClient) ListVirtualDestination(ctx context.Context, opts ...client.ListOption) (*v2.VirtualDestinationList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListVirtualDestination", varargs...) + ret0, _ := ret[0].(*v2.VirtualDestinationList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListVirtualDestination indicates an expected call of ListVirtualDestination. +func (mr *MockVirtualDestinationClientMockRecorder) ListVirtualDestination(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListVirtualDestination", reflect.TypeOf((*MockVirtualDestinationClient)(nil).ListVirtualDestination), varargs...) +} + +// PatchVirtualDestination mocks base method. +func (m *MockVirtualDestinationClient) PatchVirtualDestination(ctx context.Context, obj *v2.VirtualDestination, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchVirtualDestination", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchVirtualDestination indicates an expected call of PatchVirtualDestination. +func (mr *MockVirtualDestinationClientMockRecorder) PatchVirtualDestination(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchVirtualDestination", reflect.TypeOf((*MockVirtualDestinationClient)(nil).PatchVirtualDestination), varargs...) +} + +// PatchVirtualDestinationStatus mocks base method. +func (m *MockVirtualDestinationClient) PatchVirtualDestinationStatus(ctx context.Context, obj *v2.VirtualDestination, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchVirtualDestinationStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchVirtualDestinationStatus indicates an expected call of PatchVirtualDestinationStatus. +func (mr *MockVirtualDestinationClientMockRecorder) PatchVirtualDestinationStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchVirtualDestinationStatus", reflect.TypeOf((*MockVirtualDestinationClient)(nil).PatchVirtualDestinationStatus), varargs...) +} + +// UpdateVirtualDestination mocks base method. +func (m *MockVirtualDestinationClient) UpdateVirtualDestination(ctx context.Context, obj *v2.VirtualDestination, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateVirtualDestination", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateVirtualDestination indicates an expected call of UpdateVirtualDestination. +func (mr *MockVirtualDestinationClientMockRecorder) UpdateVirtualDestination(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVirtualDestination", reflect.TypeOf((*MockVirtualDestinationClient)(nil).UpdateVirtualDestination), varargs...) +} + +// UpdateVirtualDestinationStatus mocks base method. +func (m *MockVirtualDestinationClient) UpdateVirtualDestinationStatus(ctx context.Context, obj *v2.VirtualDestination, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateVirtualDestinationStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateVirtualDestinationStatus indicates an expected call of UpdateVirtualDestinationStatus. +func (mr *MockVirtualDestinationClientMockRecorder) UpdateVirtualDestinationStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVirtualDestinationStatus", reflect.TypeOf((*MockVirtualDestinationClient)(nil).UpdateVirtualDestinationStatus), varargs...) +} + +// UpsertVirtualDestination mocks base method. +func (m *MockVirtualDestinationClient) UpsertVirtualDestination(ctx context.Context, obj *v2.VirtualDestination, transitionFuncs ...v2.VirtualDestinationTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertVirtualDestination", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertVirtualDestination indicates an expected call of UpsertVirtualDestination. +func (mr *MockVirtualDestinationClientMockRecorder) UpsertVirtualDestination(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertVirtualDestination", reflect.TypeOf((*MockVirtualDestinationClient)(nil).UpsertVirtualDestination), varargs...) +} + +// MockMulticlusterVirtualDestinationClient is a mock of MulticlusterVirtualDestinationClient interface. +type MockMulticlusterVirtualDestinationClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterVirtualDestinationClientMockRecorder +} + +// MockMulticlusterVirtualDestinationClientMockRecorder is the mock recorder for MockMulticlusterVirtualDestinationClient. +type MockMulticlusterVirtualDestinationClientMockRecorder struct { + mock *MockMulticlusterVirtualDestinationClient +} + +// NewMockMulticlusterVirtualDestinationClient creates a new mock instance. +func NewMockMulticlusterVirtualDestinationClient(ctrl *gomock.Controller) *MockMulticlusterVirtualDestinationClient { + mock := &MockMulticlusterVirtualDestinationClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterVirtualDestinationClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterVirtualDestinationClient) EXPECT() *MockMulticlusterVirtualDestinationClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterVirtualDestinationClient) Cluster(cluster string) (v2.VirtualDestinationClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.VirtualDestinationClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterVirtualDestinationClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterVirtualDestinationClient)(nil).Cluster), cluster) +} + +// MockVirtualGatewayReader is a mock of VirtualGatewayReader interface. +type MockVirtualGatewayReader struct { + ctrl *gomock.Controller + recorder *MockVirtualGatewayReaderMockRecorder +} + +// MockVirtualGatewayReaderMockRecorder is the mock recorder for MockVirtualGatewayReader. +type MockVirtualGatewayReaderMockRecorder struct { + mock *MockVirtualGatewayReader +} + +// NewMockVirtualGatewayReader creates a new mock instance. +func NewMockVirtualGatewayReader(ctrl *gomock.Controller) *MockVirtualGatewayReader { + mock := &MockVirtualGatewayReader{ctrl: ctrl} + mock.recorder = &MockVirtualGatewayReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualGatewayReader) EXPECT() *MockVirtualGatewayReaderMockRecorder { + return m.recorder +} + +// GetVirtualGateway mocks base method. +func (m *MockVirtualGatewayReader) GetVirtualGateway(ctx context.Context, key client.ObjectKey) (*v2.VirtualGateway, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetVirtualGateway", ctx, key) + ret0, _ := ret[0].(*v2.VirtualGateway) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetVirtualGateway indicates an expected call of GetVirtualGateway. +func (mr *MockVirtualGatewayReaderMockRecorder) GetVirtualGateway(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetVirtualGateway", reflect.TypeOf((*MockVirtualGatewayReader)(nil).GetVirtualGateway), ctx, key) +} + +// ListVirtualGateway mocks base method. +func (m *MockVirtualGatewayReader) ListVirtualGateway(ctx context.Context, opts ...client.ListOption) (*v2.VirtualGatewayList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListVirtualGateway", varargs...) + ret0, _ := ret[0].(*v2.VirtualGatewayList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListVirtualGateway indicates an expected call of ListVirtualGateway. +func (mr *MockVirtualGatewayReaderMockRecorder) ListVirtualGateway(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListVirtualGateway", reflect.TypeOf((*MockVirtualGatewayReader)(nil).ListVirtualGateway), varargs...) +} + +// MockVirtualGatewayWriter is a mock of VirtualGatewayWriter interface. +type MockVirtualGatewayWriter struct { + ctrl *gomock.Controller + recorder *MockVirtualGatewayWriterMockRecorder +} + +// MockVirtualGatewayWriterMockRecorder is the mock recorder for MockVirtualGatewayWriter. +type MockVirtualGatewayWriterMockRecorder struct { + mock *MockVirtualGatewayWriter +} + +// NewMockVirtualGatewayWriter creates a new mock instance. +func NewMockVirtualGatewayWriter(ctrl *gomock.Controller) *MockVirtualGatewayWriter { + mock := &MockVirtualGatewayWriter{ctrl: ctrl} + mock.recorder = &MockVirtualGatewayWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualGatewayWriter) EXPECT() *MockVirtualGatewayWriterMockRecorder { + return m.recorder +} + +// CreateVirtualGateway mocks base method. +func (m *MockVirtualGatewayWriter) CreateVirtualGateway(ctx context.Context, obj *v2.VirtualGateway, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateVirtualGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateVirtualGateway indicates an expected call of CreateVirtualGateway. +func (mr *MockVirtualGatewayWriterMockRecorder) CreateVirtualGateway(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateVirtualGateway", reflect.TypeOf((*MockVirtualGatewayWriter)(nil).CreateVirtualGateway), varargs...) +} + +// DeleteAllOfVirtualGateway mocks base method. +func (m *MockVirtualGatewayWriter) DeleteAllOfVirtualGateway(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfVirtualGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfVirtualGateway indicates an expected call of DeleteAllOfVirtualGateway. +func (mr *MockVirtualGatewayWriterMockRecorder) DeleteAllOfVirtualGateway(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfVirtualGateway", reflect.TypeOf((*MockVirtualGatewayWriter)(nil).DeleteAllOfVirtualGateway), varargs...) +} + +// DeleteVirtualGateway mocks base method. +func (m *MockVirtualGatewayWriter) DeleteVirtualGateway(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteVirtualGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteVirtualGateway indicates an expected call of DeleteVirtualGateway. +func (mr *MockVirtualGatewayWriterMockRecorder) DeleteVirtualGateway(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteVirtualGateway", reflect.TypeOf((*MockVirtualGatewayWriter)(nil).DeleteVirtualGateway), varargs...) +} + +// PatchVirtualGateway mocks base method. +func (m *MockVirtualGatewayWriter) PatchVirtualGateway(ctx context.Context, obj *v2.VirtualGateway, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchVirtualGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchVirtualGateway indicates an expected call of PatchVirtualGateway. +func (mr *MockVirtualGatewayWriterMockRecorder) PatchVirtualGateway(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchVirtualGateway", reflect.TypeOf((*MockVirtualGatewayWriter)(nil).PatchVirtualGateway), varargs...) +} + +// UpdateVirtualGateway mocks base method. +func (m *MockVirtualGatewayWriter) UpdateVirtualGateway(ctx context.Context, obj *v2.VirtualGateway, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateVirtualGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateVirtualGateway indicates an expected call of UpdateVirtualGateway. +func (mr *MockVirtualGatewayWriterMockRecorder) UpdateVirtualGateway(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVirtualGateway", reflect.TypeOf((*MockVirtualGatewayWriter)(nil).UpdateVirtualGateway), varargs...) +} + +// UpsertVirtualGateway mocks base method. +func (m *MockVirtualGatewayWriter) UpsertVirtualGateway(ctx context.Context, obj *v2.VirtualGateway, transitionFuncs ...v2.VirtualGatewayTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertVirtualGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertVirtualGateway indicates an expected call of UpsertVirtualGateway. +func (mr *MockVirtualGatewayWriterMockRecorder) UpsertVirtualGateway(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertVirtualGateway", reflect.TypeOf((*MockVirtualGatewayWriter)(nil).UpsertVirtualGateway), varargs...) +} + +// MockVirtualGatewayStatusWriter is a mock of VirtualGatewayStatusWriter interface. +type MockVirtualGatewayStatusWriter struct { + ctrl *gomock.Controller + recorder *MockVirtualGatewayStatusWriterMockRecorder +} + +// MockVirtualGatewayStatusWriterMockRecorder is the mock recorder for MockVirtualGatewayStatusWriter. +type MockVirtualGatewayStatusWriterMockRecorder struct { + mock *MockVirtualGatewayStatusWriter +} + +// NewMockVirtualGatewayStatusWriter creates a new mock instance. +func NewMockVirtualGatewayStatusWriter(ctrl *gomock.Controller) *MockVirtualGatewayStatusWriter { + mock := &MockVirtualGatewayStatusWriter{ctrl: ctrl} + mock.recorder = &MockVirtualGatewayStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualGatewayStatusWriter) EXPECT() *MockVirtualGatewayStatusWriterMockRecorder { + return m.recorder +} + +// PatchVirtualGatewayStatus mocks base method. +func (m *MockVirtualGatewayStatusWriter) PatchVirtualGatewayStatus(ctx context.Context, obj *v2.VirtualGateway, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchVirtualGatewayStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchVirtualGatewayStatus indicates an expected call of PatchVirtualGatewayStatus. +func (mr *MockVirtualGatewayStatusWriterMockRecorder) PatchVirtualGatewayStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchVirtualGatewayStatus", reflect.TypeOf((*MockVirtualGatewayStatusWriter)(nil).PatchVirtualGatewayStatus), varargs...) +} + +// UpdateVirtualGatewayStatus mocks base method. +func (m *MockVirtualGatewayStatusWriter) UpdateVirtualGatewayStatus(ctx context.Context, obj *v2.VirtualGateway, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateVirtualGatewayStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateVirtualGatewayStatus indicates an expected call of UpdateVirtualGatewayStatus. +func (mr *MockVirtualGatewayStatusWriterMockRecorder) UpdateVirtualGatewayStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVirtualGatewayStatus", reflect.TypeOf((*MockVirtualGatewayStatusWriter)(nil).UpdateVirtualGatewayStatus), varargs...) +} + +// MockVirtualGatewayClient is a mock of VirtualGatewayClient interface. +type MockVirtualGatewayClient struct { + ctrl *gomock.Controller + recorder *MockVirtualGatewayClientMockRecorder +} + +// MockVirtualGatewayClientMockRecorder is the mock recorder for MockVirtualGatewayClient. +type MockVirtualGatewayClientMockRecorder struct { + mock *MockVirtualGatewayClient +} + +// NewMockVirtualGatewayClient creates a new mock instance. +func NewMockVirtualGatewayClient(ctrl *gomock.Controller) *MockVirtualGatewayClient { + mock := &MockVirtualGatewayClient{ctrl: ctrl} + mock.recorder = &MockVirtualGatewayClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualGatewayClient) EXPECT() *MockVirtualGatewayClientMockRecorder { + return m.recorder +} + +// CreateVirtualGateway mocks base method. +func (m *MockVirtualGatewayClient) CreateVirtualGateway(ctx context.Context, obj *v2.VirtualGateway, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateVirtualGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateVirtualGateway indicates an expected call of CreateVirtualGateway. +func (mr *MockVirtualGatewayClientMockRecorder) CreateVirtualGateway(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateVirtualGateway", reflect.TypeOf((*MockVirtualGatewayClient)(nil).CreateVirtualGateway), varargs...) +} + +// DeleteAllOfVirtualGateway mocks base method. +func (m *MockVirtualGatewayClient) DeleteAllOfVirtualGateway(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfVirtualGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfVirtualGateway indicates an expected call of DeleteAllOfVirtualGateway. +func (mr *MockVirtualGatewayClientMockRecorder) DeleteAllOfVirtualGateway(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfVirtualGateway", reflect.TypeOf((*MockVirtualGatewayClient)(nil).DeleteAllOfVirtualGateway), varargs...) +} + +// DeleteVirtualGateway mocks base method. +func (m *MockVirtualGatewayClient) DeleteVirtualGateway(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteVirtualGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteVirtualGateway indicates an expected call of DeleteVirtualGateway. +func (mr *MockVirtualGatewayClientMockRecorder) DeleteVirtualGateway(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteVirtualGateway", reflect.TypeOf((*MockVirtualGatewayClient)(nil).DeleteVirtualGateway), varargs...) +} + +// GetVirtualGateway mocks base method. +func (m *MockVirtualGatewayClient) GetVirtualGateway(ctx context.Context, key client.ObjectKey) (*v2.VirtualGateway, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetVirtualGateway", ctx, key) + ret0, _ := ret[0].(*v2.VirtualGateway) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetVirtualGateway indicates an expected call of GetVirtualGateway. +func (mr *MockVirtualGatewayClientMockRecorder) GetVirtualGateway(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetVirtualGateway", reflect.TypeOf((*MockVirtualGatewayClient)(nil).GetVirtualGateway), ctx, key) +} + +// ListVirtualGateway mocks base method. +func (m *MockVirtualGatewayClient) ListVirtualGateway(ctx context.Context, opts ...client.ListOption) (*v2.VirtualGatewayList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListVirtualGateway", varargs...) + ret0, _ := ret[0].(*v2.VirtualGatewayList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListVirtualGateway indicates an expected call of ListVirtualGateway. +func (mr *MockVirtualGatewayClientMockRecorder) ListVirtualGateway(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListVirtualGateway", reflect.TypeOf((*MockVirtualGatewayClient)(nil).ListVirtualGateway), varargs...) +} + +// PatchVirtualGateway mocks base method. +func (m *MockVirtualGatewayClient) PatchVirtualGateway(ctx context.Context, obj *v2.VirtualGateway, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchVirtualGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchVirtualGateway indicates an expected call of PatchVirtualGateway. +func (mr *MockVirtualGatewayClientMockRecorder) PatchVirtualGateway(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchVirtualGateway", reflect.TypeOf((*MockVirtualGatewayClient)(nil).PatchVirtualGateway), varargs...) +} + +// PatchVirtualGatewayStatus mocks base method. +func (m *MockVirtualGatewayClient) PatchVirtualGatewayStatus(ctx context.Context, obj *v2.VirtualGateway, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchVirtualGatewayStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchVirtualGatewayStatus indicates an expected call of PatchVirtualGatewayStatus. +func (mr *MockVirtualGatewayClientMockRecorder) PatchVirtualGatewayStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchVirtualGatewayStatus", reflect.TypeOf((*MockVirtualGatewayClient)(nil).PatchVirtualGatewayStatus), varargs...) +} + +// UpdateVirtualGateway mocks base method. +func (m *MockVirtualGatewayClient) UpdateVirtualGateway(ctx context.Context, obj *v2.VirtualGateway, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateVirtualGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateVirtualGateway indicates an expected call of UpdateVirtualGateway. +func (mr *MockVirtualGatewayClientMockRecorder) UpdateVirtualGateway(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVirtualGateway", reflect.TypeOf((*MockVirtualGatewayClient)(nil).UpdateVirtualGateway), varargs...) +} + +// UpdateVirtualGatewayStatus mocks base method. +func (m *MockVirtualGatewayClient) UpdateVirtualGatewayStatus(ctx context.Context, obj *v2.VirtualGateway, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateVirtualGatewayStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateVirtualGatewayStatus indicates an expected call of UpdateVirtualGatewayStatus. +func (mr *MockVirtualGatewayClientMockRecorder) UpdateVirtualGatewayStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVirtualGatewayStatus", reflect.TypeOf((*MockVirtualGatewayClient)(nil).UpdateVirtualGatewayStatus), varargs...) +} + +// UpsertVirtualGateway mocks base method. +func (m *MockVirtualGatewayClient) UpsertVirtualGateway(ctx context.Context, obj *v2.VirtualGateway, transitionFuncs ...v2.VirtualGatewayTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertVirtualGateway", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertVirtualGateway indicates an expected call of UpsertVirtualGateway. +func (mr *MockVirtualGatewayClientMockRecorder) UpsertVirtualGateway(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertVirtualGateway", reflect.TypeOf((*MockVirtualGatewayClient)(nil).UpsertVirtualGateway), varargs...) +} + +// MockMulticlusterVirtualGatewayClient is a mock of MulticlusterVirtualGatewayClient interface. +type MockMulticlusterVirtualGatewayClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterVirtualGatewayClientMockRecorder +} + +// MockMulticlusterVirtualGatewayClientMockRecorder is the mock recorder for MockMulticlusterVirtualGatewayClient. +type MockMulticlusterVirtualGatewayClientMockRecorder struct { + mock *MockMulticlusterVirtualGatewayClient +} + +// NewMockMulticlusterVirtualGatewayClient creates a new mock instance. +func NewMockMulticlusterVirtualGatewayClient(ctrl *gomock.Controller) *MockMulticlusterVirtualGatewayClient { + mock := &MockMulticlusterVirtualGatewayClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterVirtualGatewayClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterVirtualGatewayClient) EXPECT() *MockMulticlusterVirtualGatewayClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterVirtualGatewayClient) Cluster(cluster string) (v2.VirtualGatewayClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.VirtualGatewayClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterVirtualGatewayClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterVirtualGatewayClient)(nil).Cluster), cluster) +} diff --git a/client-go/networking.gloo.solo.io/v2/proto_deepcopy.go b/client-go/networking.gloo.solo.io/v2/proto_deepcopy.go new file mode 100644 index 000000000..113d16ba6 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/proto_deepcopy.go @@ -0,0 +1,120 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the ExternalService.Spec +func (in *ExternalServiceSpec) DeepCopyInto(out *ExternalServiceSpec) { + var p *ExternalServiceSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ExternalServiceSpec) + } else { + p = proto.Clone(in).(*ExternalServiceSpec) + } + *out = *p +} + +// DeepCopyInto for the ExternalService.Status +func (in *ExternalServiceStatus) DeepCopyInto(out *ExternalServiceStatus) { + var p *ExternalServiceStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ExternalServiceStatus) + } else { + p = proto.Clone(in).(*ExternalServiceStatus) + } + *out = *p +} + +// DeepCopyInto for the ExternalEndpoint.Spec +func (in *ExternalEndpointSpec) DeepCopyInto(out *ExternalEndpointSpec) { + var p *ExternalEndpointSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ExternalEndpointSpec) + } else { + p = proto.Clone(in).(*ExternalEndpointSpec) + } + *out = *p +} + +// DeepCopyInto for the ExternalEndpoint.Status +func (in *ExternalEndpointStatus) DeepCopyInto(out *ExternalEndpointStatus) { + var p *ExternalEndpointStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ExternalEndpointStatus) + } else { + p = proto.Clone(in).(*ExternalEndpointStatus) + } + *out = *p +} + +// DeepCopyInto for the RouteTable.Spec +func (in *RouteTableSpec) DeepCopyInto(out *RouteTableSpec) { + var p *RouteTableSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RouteTableSpec) + } else { + p = proto.Clone(in).(*RouteTableSpec) + } + *out = *p +} + +// DeepCopyInto for the RouteTable.Status +func (in *RouteTableStatus) DeepCopyInto(out *RouteTableStatus) { + var p *RouteTableStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RouteTableStatus) + } else { + p = proto.Clone(in).(*RouteTableStatus) + } + *out = *p +} + +// DeepCopyInto for the VirtualDestination.Spec +func (in *VirtualDestinationSpec) DeepCopyInto(out *VirtualDestinationSpec) { + var p *VirtualDestinationSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*VirtualDestinationSpec) + } else { + p = proto.Clone(in).(*VirtualDestinationSpec) + } + *out = *p +} + +// DeepCopyInto for the VirtualDestination.Status +func (in *VirtualDestinationStatus) DeepCopyInto(out *VirtualDestinationStatus) { + var p *VirtualDestinationStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*VirtualDestinationStatus) + } else { + p = proto.Clone(in).(*VirtualDestinationStatus) + } + *out = *p +} + +// DeepCopyInto for the VirtualGateway.Spec +func (in *VirtualGatewaySpec) DeepCopyInto(out *VirtualGatewaySpec) { + var p *VirtualGatewaySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*VirtualGatewaySpec) + } else { + p = proto.Clone(in).(*VirtualGatewaySpec) + } + *out = *p +} + +// DeepCopyInto for the VirtualGateway.Status +func (in *VirtualGatewayStatus) DeepCopyInto(out *VirtualGatewayStatus) { + var p *VirtualGatewayStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*VirtualGatewayStatus) + } else { + p = proto.Clone(in).(*VirtualGatewayStatus) + } + *out = *p +} diff --git a/client-go/networking.gloo.solo.io/v2/providers/client_providers.go b/client-go/networking.gloo.solo.io/v2/providers/client_providers.go new file mode 100644 index 000000000..b5c0e5668 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/providers/client_providers.go @@ -0,0 +1,158 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2 + +import ( + networking_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for ExternalServiceClient from Clientset +func ExternalServiceClientFromClientsetProvider(clients networking_gloo_solo_io_v2.Clientset) networking_gloo_solo_io_v2.ExternalServiceClient { + return clients.ExternalServices() +} + +// Provider for ExternalService Client from Client +func ExternalServiceClientProvider(client client.Client) networking_gloo_solo_io_v2.ExternalServiceClient { + return networking_gloo_solo_io_v2.NewExternalServiceClient(client) +} + +type ExternalServiceClientFactory func(client client.Client) networking_gloo_solo_io_v2.ExternalServiceClient + +func ExternalServiceClientFactoryProvider() ExternalServiceClientFactory { + return ExternalServiceClientProvider +} + +type ExternalServiceClientFromConfigFactory func(cfg *rest.Config) (networking_gloo_solo_io_v2.ExternalServiceClient, error) + +func ExternalServiceClientFromConfigFactoryProvider() ExternalServiceClientFromConfigFactory { + return func(cfg *rest.Config) (networking_gloo_solo_io_v2.ExternalServiceClient, error) { + clients, err := networking_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ExternalServices(), nil + } +} + +// Provider for ExternalEndpointClient from Clientset +func ExternalEndpointClientFromClientsetProvider(clients networking_gloo_solo_io_v2.Clientset) networking_gloo_solo_io_v2.ExternalEndpointClient { + return clients.ExternalEndpoints() +} + +// Provider for ExternalEndpoint Client from Client +func ExternalEndpointClientProvider(client client.Client) networking_gloo_solo_io_v2.ExternalEndpointClient { + return networking_gloo_solo_io_v2.NewExternalEndpointClient(client) +} + +type ExternalEndpointClientFactory func(client client.Client) networking_gloo_solo_io_v2.ExternalEndpointClient + +func ExternalEndpointClientFactoryProvider() ExternalEndpointClientFactory { + return ExternalEndpointClientProvider +} + +type ExternalEndpointClientFromConfigFactory func(cfg *rest.Config) (networking_gloo_solo_io_v2.ExternalEndpointClient, error) + +func ExternalEndpointClientFromConfigFactoryProvider() ExternalEndpointClientFromConfigFactory { + return func(cfg *rest.Config) (networking_gloo_solo_io_v2.ExternalEndpointClient, error) { + clients, err := networking_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ExternalEndpoints(), nil + } +} + +// Provider for RouteTableClient from Clientset +func RouteTableClientFromClientsetProvider(clients networking_gloo_solo_io_v2.Clientset) networking_gloo_solo_io_v2.RouteTableClient { + return clients.RouteTables() +} + +// Provider for RouteTable Client from Client +func RouteTableClientProvider(client client.Client) networking_gloo_solo_io_v2.RouteTableClient { + return networking_gloo_solo_io_v2.NewRouteTableClient(client) +} + +type RouteTableClientFactory func(client client.Client) networking_gloo_solo_io_v2.RouteTableClient + +func RouteTableClientFactoryProvider() RouteTableClientFactory { + return RouteTableClientProvider +} + +type RouteTableClientFromConfigFactory func(cfg *rest.Config) (networking_gloo_solo_io_v2.RouteTableClient, error) + +func RouteTableClientFromConfigFactoryProvider() RouteTableClientFromConfigFactory { + return func(cfg *rest.Config) (networking_gloo_solo_io_v2.RouteTableClient, error) { + clients, err := networking_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.RouteTables(), nil + } +} + +// Provider for VirtualDestinationClient from Clientset +func VirtualDestinationClientFromClientsetProvider(clients networking_gloo_solo_io_v2.Clientset) networking_gloo_solo_io_v2.VirtualDestinationClient { + return clients.VirtualDestinations() +} + +// Provider for VirtualDestination Client from Client +func VirtualDestinationClientProvider(client client.Client) networking_gloo_solo_io_v2.VirtualDestinationClient { + return networking_gloo_solo_io_v2.NewVirtualDestinationClient(client) +} + +type VirtualDestinationClientFactory func(client client.Client) networking_gloo_solo_io_v2.VirtualDestinationClient + +func VirtualDestinationClientFactoryProvider() VirtualDestinationClientFactory { + return VirtualDestinationClientProvider +} + +type VirtualDestinationClientFromConfigFactory func(cfg *rest.Config) (networking_gloo_solo_io_v2.VirtualDestinationClient, error) + +func VirtualDestinationClientFromConfigFactoryProvider() VirtualDestinationClientFromConfigFactory { + return func(cfg *rest.Config) (networking_gloo_solo_io_v2.VirtualDestinationClient, error) { + clients, err := networking_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.VirtualDestinations(), nil + } +} + +// Provider for VirtualGatewayClient from Clientset +func VirtualGatewayClientFromClientsetProvider(clients networking_gloo_solo_io_v2.Clientset) networking_gloo_solo_io_v2.VirtualGatewayClient { + return clients.VirtualGateways() +} + +// Provider for VirtualGateway Client from Client +func VirtualGatewayClientProvider(client client.Client) networking_gloo_solo_io_v2.VirtualGatewayClient { + return networking_gloo_solo_io_v2.NewVirtualGatewayClient(client) +} + +type VirtualGatewayClientFactory func(client client.Client) networking_gloo_solo_io_v2.VirtualGatewayClient + +func VirtualGatewayClientFactoryProvider() VirtualGatewayClientFactory { + return VirtualGatewayClientProvider +} + +type VirtualGatewayClientFromConfigFactory func(cfg *rest.Config) (networking_gloo_solo_io_v2.VirtualGatewayClient, error) + +func VirtualGatewayClientFromConfigFactoryProvider() VirtualGatewayClientFromConfigFactory { + return func(cfg *rest.Config) (networking_gloo_solo_io_v2.VirtualGatewayClient, error) { + clients, err := networking_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.VirtualGateways(), nil + } +} diff --git a/client-go/networking.gloo.solo.io/v2/register.go b/client-go/networking.gloo.solo.io/v2/register.go new file mode 100644 index 000000000..2a01d84dc --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "networking.gloo.solo.io", Version: "v2"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/networking.gloo.solo.io/v2/report_types.go b/client-go/networking.gloo.solo.io/v2/report_types.go new file mode 100644 index 000000000..6bee2a94f --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/report_types.go @@ -0,0 +1,19 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2 + +// IsReport implements Reportable interface for ExternalServiceReport +func (o *ExternalServiceReport) IsReport() {} + +// IsReport implements Reportable interface for ExternalEndpointReport +func (o *ExternalEndpointReport) IsReport() {} + +// IsReport implements Reportable interface for RouteTableReport +func (o *RouteTableReport) IsReport() {} + +// IsReport implements Reportable interface for VirtualDestinationReport +func (o *VirtualDestinationReport) IsReport() {} + +// IsReport implements Reportable interface for VirtualGatewayReport +func (o *VirtualGatewayReport) IsReport() {} diff --git a/client-go/networking.gloo.solo.io/v2/route_table.pb.clone.go b/client-go/networking.gloo.solo.io/v2/route_table.pb.clone.go new file mode 100644 index 000000000..e607c174f --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/route_table.pb.clone.go @@ -0,0 +1,681 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/route_table.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_envoyproxy_go_control_plane_envoy_type_matcher_v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + + github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *RouteTableSpec) Clone() proto.Message { + var target *RouteTableSpec + if m == nil { + return target + } + target = &RouteTableSpec{} + + if m.GetHosts() != nil { + target.Hosts = make([]string, len(m.GetHosts())) + for idx, v := range m.GetHosts() { + + target.Hosts[idx] = v + + } + } + + if m.GetVirtualGateways() != nil { + target.VirtualGateways = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetVirtualGateways())) + for idx, v := range m.GetVirtualGateways() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.VirtualGateways[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.VirtualGateways[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + if m.GetWorkloadSelectors() != nil { + target.WorkloadSelectors = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector, len(m.GetWorkloadSelectors())) + for idx, v := range m.GetWorkloadSelectors() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.WorkloadSelectors[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector) + } else { + target.WorkloadSelectors[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector) + } + + } + } + + if m.GetApplyToDestinations() != nil { + target.ApplyToDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector, len(m.GetApplyToDestinations())) + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.ApplyToDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + } + } + + if h, ok := interface{}(m.GetDefaultDestination()).(clone.Cloner); ok { + target.DefaultDestination = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.DefaultDestination = proto.Clone(m.GetDefaultDestination()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + if m.GetHttp() != nil { + target.Http = make([]*HTTPRoute, len(m.GetHttp())) + for idx, v := range m.GetHttp() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Http[idx] = h.Clone().(*HTTPRoute) + } else { + target.Http[idx] = proto.Clone(v).(*HTTPRoute) + } + + } + } + + if m.GetTcp() != nil { + target.Tcp = make([]*TCPRoute, len(m.GetTcp())) + for idx, v := range m.GetTcp() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Tcp[idx] = h.Clone().(*TCPRoute) + } else { + target.Tcp[idx] = proto.Clone(v).(*TCPRoute) + } + + } + } + + if m.GetTls() != nil { + target.Tls = make([]*TLSRoute, len(m.GetTls())) + for idx, v := range m.GetTls() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Tls[idx] = h.Clone().(*TLSRoute) + } else { + target.Tls[idx] = proto.Clone(v).(*TLSRoute) + } + + } + } + + target.Weight = m.GetWeight() + + if h, ok := interface{}(m.GetPortalMetadata()).(clone.Cloner); ok { + target.PortalMetadata = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortalMetadata) + } else { + target.PortalMetadata = proto.Clone(m.GetPortalMetadata()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortalMetadata) + } + + return target +} + +// Clone function +func (m *HTTPRoute) Clone() proto.Message { + var target *HTTPRoute + if m == nil { + return target + } + target = &HTTPRoute{} + + target.Name = m.GetName() + + if m.GetLabels() != nil { + target.Labels = make(map[string]string, len(m.GetLabels())) + for k, v := range m.GetLabels() { + + target.Labels[k] = v + + } + } + + if m.GetMatchers() != nil { + target.Matchers = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.HTTPRequestMatcher, len(m.GetMatchers())) + for idx, v := range m.GetMatchers() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Matchers[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.HTTPRequestMatcher) + } else { + target.Matchers[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.HTTPRequestMatcher) + } + + } + } + + switch m.ActionType.(type) { + + case *HTTPRoute_ForwardTo: + + if h, ok := interface{}(m.GetForwardTo()).(clone.Cloner); ok { + target.ActionType = &HTTPRoute_ForwardTo{ + ForwardTo: h.Clone().(*ForwardToAction), + } + } else { + target.ActionType = &HTTPRoute_ForwardTo{ + ForwardTo: proto.Clone(m.GetForwardTo()).(*ForwardToAction), + } + } + + case *HTTPRoute_Delegate: + + if h, ok := interface{}(m.GetDelegate()).(clone.Cloner); ok { + target.ActionType = &HTTPRoute_Delegate{ + Delegate: h.Clone().(*DelegateAction), + } + } else { + target.ActionType = &HTTPRoute_Delegate{ + Delegate: proto.Clone(m.GetDelegate()).(*DelegateAction), + } + } + + case *HTTPRoute_Redirect: + + if h, ok := interface{}(m.GetRedirect()).(clone.Cloner); ok { + target.ActionType = &HTTPRoute_Redirect{ + Redirect: h.Clone().(*RedirectAction), + } + } else { + target.ActionType = &HTTPRoute_Redirect{ + Redirect: proto.Clone(m.GetRedirect()).(*RedirectAction), + } + } + + case *HTTPRoute_DirectResponse: + + if h, ok := interface{}(m.GetDirectResponse()).(clone.Cloner); ok { + target.ActionType = &HTTPRoute_DirectResponse{ + DirectResponse: h.Clone().(*DirectResponseAction), + } + } else { + target.ActionType = &HTTPRoute_DirectResponse{ + DirectResponse: proto.Clone(m.GetDirectResponse()).(*DirectResponseAction), + } + } + + case *HTTPRoute_Graphql: + + if h, ok := interface{}(m.GetGraphql()).(clone.Cloner); ok { + target.ActionType = &HTTPRoute_Graphql{ + Graphql: h.Clone().(*GraphQLAction), + } + } else { + target.ActionType = &HTTPRoute_Graphql{ + Graphql: proto.Clone(m.GetGraphql()).(*GraphQLAction), + } + } + + } + + return target +} + +// Clone function +func (m *TCPRoute) Clone() proto.Message { + var target *TCPRoute + if m == nil { + return target + } + target = &TCPRoute{} + + if m.GetMatchers() != nil { + target.Matchers = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.TCPRequestMatcher, len(m.GetMatchers())) + for idx, v := range m.GetMatchers() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Matchers[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.TCPRequestMatcher) + } else { + target.Matchers[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.TCPRequestMatcher) + } + + } + } + + switch m.ActionType.(type) { + + case *TCPRoute_ForwardTo: + + if h, ok := interface{}(m.GetForwardTo()).(clone.Cloner); ok { + target.ActionType = &TCPRoute_ForwardTo{ + ForwardTo: h.Clone().(*ForwardToAction), + } + } else { + target.ActionType = &TCPRoute_ForwardTo{ + ForwardTo: proto.Clone(m.GetForwardTo()).(*ForwardToAction), + } + } + + } + + return target +} + +// Clone function +func (m *TLSRoute) Clone() proto.Message { + var target *TLSRoute + if m == nil { + return target + } + target = &TLSRoute{} + + if m.GetMatchers() != nil { + target.Matchers = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.TLSRequestMatcher, len(m.GetMatchers())) + for idx, v := range m.GetMatchers() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Matchers[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.TLSRequestMatcher) + } else { + target.Matchers[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.TLSRequestMatcher) + } + + } + } + + switch m.ActionType.(type) { + + case *TLSRoute_ForwardTo: + + if h, ok := interface{}(m.GetForwardTo()).(clone.Cloner); ok { + target.ActionType = &TLSRoute_ForwardTo{ + ForwardTo: h.Clone().(*TLSRoute_TLSForwardToAction), + } + } else { + target.ActionType = &TLSRoute_ForwardTo{ + ForwardTo: proto.Clone(m.GetForwardTo()).(*TLSRoute_TLSForwardToAction), + } + } + + } + + return target +} + +// Clone function +func (m *GraphQLAction) Clone() proto.Message { + var target *GraphQLAction + if m == nil { + return target + } + target = &GraphQLAction{} + + if h, ok := interface{}(m.GetOptions()).(clone.Cloner); ok { + target.Options = h.Clone().(*GraphQLAction_Options) + } else { + target.Options = proto.Clone(m.GetOptions()).(*GraphQLAction_Options) + } + + switch m.GraphqlSchema.(type) { + + case *GraphQLAction_Schema: + + if h, ok := interface{}(m.GetSchema()).(clone.Cloner); ok { + target.GraphqlSchema = &GraphQLAction_Schema{ + Schema: h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef), + } + } else { + target.GraphqlSchema = &GraphQLAction_Schema{ + Schema: proto.Clone(m.GetSchema()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef), + } + } + + case *GraphQLAction_StitchedSchema: + + if h, ok := interface{}(m.GetStitchedSchema()).(clone.Cloner); ok { + target.GraphqlSchema = &GraphQLAction_StitchedSchema{ + StitchedSchema: h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef), + } + } else { + target.GraphqlSchema = &GraphQLAction_StitchedSchema{ + StitchedSchema: proto.Clone(m.GetStitchedSchema()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ClusterObjectRef), + } + } + + } + + return target +} + +// Clone function +func (m *ForwardToAction) Clone() proto.Message { + var target *ForwardToAction + if m == nil { + return target + } + target = &ForwardToAction{} + + if m.GetDestinations() != nil { + target.Destinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetDestinations())) + for idx, v := range m.GetDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Destinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.Destinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + switch m.PathRewriteSpecifier.(type) { + + case *ForwardToAction_PathRewrite: + + target.PathRewriteSpecifier = &ForwardToAction_PathRewrite{ + PathRewrite: m.GetPathRewrite(), + } + + case *ForwardToAction_RegexRewrite: + + if h, ok := interface{}(m.GetRegexRewrite()).(clone.Cloner); ok { + target.PathRewriteSpecifier = &ForwardToAction_RegexRewrite{ + RegexRewrite: h.Clone().(*github_com_envoyproxy_go_control_plane_envoy_type_matcher_v3.RegexMatchAndSubstitute), + } + } else { + target.PathRewriteSpecifier = &ForwardToAction_RegexRewrite{ + RegexRewrite: proto.Clone(m.GetRegexRewrite()).(*github_com_envoyproxy_go_control_plane_envoy_type_matcher_v3.RegexMatchAndSubstitute), + } + } + + } + + switch m.HostRewriteSpecifier.(type) { + + case *ForwardToAction_HostRewrite: + + target.HostRewriteSpecifier = &ForwardToAction_HostRewrite{ + HostRewrite: m.GetHostRewrite(), + } + + case *ForwardToAction_AutoHostRewrite: + + target.HostRewriteSpecifier = &ForwardToAction_AutoHostRewrite{ + AutoHostRewrite: m.GetAutoHostRewrite(), + } + + } + + return target +} + +// Clone function +func (m *RedirectAction) Clone() proto.Message { + var target *RedirectAction + if m == nil { + return target + } + target = &RedirectAction{} + + target.HostRedirect = m.GetHostRedirect() + + target.ResponseCode = m.GetResponseCode() + + switch m.PathRewriteSpecifier.(type) { + + case *RedirectAction_PathRedirect: + + target.PathRewriteSpecifier = &RedirectAction_PathRedirect{ + PathRedirect: m.GetPathRedirect(), + } + + } + + return target +} + +// Clone function +func (m *DirectResponseAction) Clone() proto.Message { + var target *DirectResponseAction + if m == nil { + return target + } + target = &DirectResponseAction{} + + target.Status = m.GetStatus() + + target.Body = m.GetBody() + + return target +} + +// Clone function +func (m *DelegateAction) Clone() proto.Message { + var target *DelegateAction + if m == nil { + return target + } + target = &DelegateAction{} + + if m.GetRouteTables() != nil { + target.RouteTables = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector, len(m.GetRouteTables())) + for idx, v := range m.GetRouteTables() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.RouteTables[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.RouteTables[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + } + } + + if m.GetAllowedRoutes() != nil { + target.AllowedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteFilter, len(m.GetAllowedRoutes())) + for idx, v := range m.GetAllowedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AllowedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteFilter) + } else { + target.AllowedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteFilter) + } + + } + } + + target.SortMethod = m.GetSortMethod() + + return target +} + +// Clone function +func (m *RouteTableStatus) Clone() proto.Message { + var target *RouteTableStatus + if m == nil { + return target + } + target = &RouteTableStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + if m.GetNumAppliedRoutePolicies() != nil { + target.NumAppliedRoutePolicies = make(map[string]uint32, len(m.GetNumAppliedRoutePolicies())) + for k, v := range m.GetNumAppliedRoutePolicies() { + + target.NumAppliedRoutePolicies[k] = v + + } + } + + target.NumParentRouteTables = m.GetNumParentRouteTables() + + target.OwnedByWorkspace = m.GetOwnedByWorkspace() + + target.NumAllowedVirtualGateways = m.GetNumAllowedVirtualGateways() + + return target +} + +// Clone function +func (m *RouteTableReport) Clone() proto.Message { + var target *RouteTableReport + if m == nil { + return target + } + target = &RouteTableReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetAppliedRoutePolicies() != nil { + target.AppliedRoutePolicies = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.AppliedRoutePolicies, len(m.GetAppliedRoutePolicies())) + for k, v := range m.GetAppliedRoutePolicies() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AppliedRoutePolicies[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.AppliedRoutePolicies) + } else { + target.AppliedRoutePolicies[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.AppliedRoutePolicies) + } + + } + } + + if m.GetParentRouteTables() != nil { + target.ParentRouteTables = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetParentRouteTables())) + for idx, v := range m.GetParentRouteTables() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ParentRouteTables[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.ParentRouteTables[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + if m.GetAllowedVirtualGateways() != nil { + target.AllowedVirtualGateways = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetAllowedVirtualGateways())) + for idx, v := range m.GetAllowedVirtualGateways() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AllowedVirtualGateways[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.AllowedVirtualGateways[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + if m.GetDelegatedToRouteTables() != nil { + target.DelegatedToRouteTables = make([]*RouteTableReport_DelegatedRouteTableReference, len(m.GetDelegatedToRouteTables())) + for idx, v := range m.GetDelegatedToRouteTables() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.DelegatedToRouteTables[idx] = h.Clone().(*RouteTableReport_DelegatedRouteTableReference) + } else { + target.DelegatedToRouteTables[idx] = proto.Clone(v).(*RouteTableReport_DelegatedRouteTableReference) + } + + } + } + + return target +} + +// Clone function +func (m *TLSRoute_TLSForwardToAction) Clone() proto.Message { + var target *TLSRoute_TLSForwardToAction + if m == nil { + return target + } + target = &TLSRoute_TLSForwardToAction{} + + if m.GetDestinations() != nil { + target.Destinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetDestinations())) + for idx, v := range m.GetDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Destinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.Destinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + return target +} + +// Clone function +func (m *GraphQLAction_Options) Clone() proto.Message { + var target *GraphQLAction_Options + if m == nil { + return target + } + target = &GraphQLAction_Options{} + + if h, ok := interface{}(m.GetLogSensitiveInfo()).(clone.Cloner); ok { + target.LogSensitiveInfo = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.LogSensitiveInfo = proto.Clone(m.GetLogSensitiveInfo()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + return target +} + +// Clone function +func (m *RouteTableReport_DelegatedRouteTableReference) Clone() proto.Message { + var target *RouteTableReport_DelegatedRouteTableReference + if m == nil { + return target + } + target = &RouteTableReport_DelegatedRouteTableReference{} + + target.RouteIndex = m.GetRouteIndex() + + if h, ok := interface{}(m.GetRouteTable()).(clone.Cloner); ok { + target.RouteTable = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.RouteTable = proto.Clone(m.GetRouteTable()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + return target +} diff --git a/client-go/networking.gloo.solo.io/v2/route_table.pb.equal.go b/client-go/networking.gloo.solo.io/v2/route_table.pb.equal.go new file mode 100644 index 000000000..bf04cadd0 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/route_table.pb.equal.go @@ -0,0 +1,1058 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/route_table.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *RouteTableSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RouteTableSpec) + if !ok { + that2, ok := that.(RouteTableSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetHosts()) != len(target.GetHosts()) { + return false + } + for idx, v := range m.GetHosts() { + + if strings.Compare(v, target.GetHosts()[idx]) != 0 { + return false + } + + } + + if len(m.GetVirtualGateways()) != len(target.GetVirtualGateways()) { + return false + } + for idx, v := range m.GetVirtualGateways() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetVirtualGateways()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetVirtualGateways()[idx]) { + return false + } + } + + } + + if len(m.GetWorkloadSelectors()) != len(target.GetWorkloadSelectors()) { + return false + } + for idx, v := range m.GetWorkloadSelectors() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkloadSelectors()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkloadSelectors()[idx]) { + return false + } + } + + } + + if len(m.GetApplyToDestinations()) != len(target.GetApplyToDestinations()) { + return false + } + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToDestinations()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetDefaultDestination()).(equality.Equalizer); ok { + if !h.Equal(target.GetDefaultDestination()) { + return false + } + } else { + if !proto.Equal(m.GetDefaultDestination(), target.GetDefaultDestination()) { + return false + } + } + + if len(m.GetHttp()) != len(target.GetHttp()) { + return false + } + for idx, v := range m.GetHttp() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetHttp()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetHttp()[idx]) { + return false + } + } + + } + + if len(m.GetTcp()) != len(target.GetTcp()) { + return false + } + for idx, v := range m.GetTcp() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetTcp()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetTcp()[idx]) { + return false + } + } + + } + + if len(m.GetTls()) != len(target.GetTls()) { + return false + } + for idx, v := range m.GetTls() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetTls()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetTls()[idx]) { + return false + } + } + + } + + if m.GetWeight() != target.GetWeight() { + return false + } + + if h, ok := interface{}(m.GetPortalMetadata()).(equality.Equalizer); ok { + if !h.Equal(target.GetPortalMetadata()) { + return false + } + } else { + if !proto.Equal(m.GetPortalMetadata(), target.GetPortalMetadata()) { + return false + } + } + + return true +} + +// Equal function +func (m *HTTPRoute) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HTTPRoute) + if !ok { + that2, ok := that.(HTTPRoute) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if len(m.GetLabels()) != len(target.GetLabels()) { + return false + } + for k, v := range m.GetLabels() { + + if strings.Compare(v, target.GetLabels()[k]) != 0 { + return false + } + + } + + if len(m.GetMatchers()) != len(target.GetMatchers()) { + return false + } + for idx, v := range m.GetMatchers() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetMatchers()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetMatchers()[idx]) { + return false + } + } + + } + + switch m.ActionType.(type) { + + case *HTTPRoute_ForwardTo: + if _, ok := target.ActionType.(*HTTPRoute_ForwardTo); !ok { + return false + } + + if h, ok := interface{}(m.GetForwardTo()).(equality.Equalizer); ok { + if !h.Equal(target.GetForwardTo()) { + return false + } + } else { + if !proto.Equal(m.GetForwardTo(), target.GetForwardTo()) { + return false + } + } + + case *HTTPRoute_Delegate: + if _, ok := target.ActionType.(*HTTPRoute_Delegate); !ok { + return false + } + + if h, ok := interface{}(m.GetDelegate()).(equality.Equalizer); ok { + if !h.Equal(target.GetDelegate()) { + return false + } + } else { + if !proto.Equal(m.GetDelegate(), target.GetDelegate()) { + return false + } + } + + case *HTTPRoute_Redirect: + if _, ok := target.ActionType.(*HTTPRoute_Redirect); !ok { + return false + } + + if h, ok := interface{}(m.GetRedirect()).(equality.Equalizer); ok { + if !h.Equal(target.GetRedirect()) { + return false + } + } else { + if !proto.Equal(m.GetRedirect(), target.GetRedirect()) { + return false + } + } + + case *HTTPRoute_DirectResponse: + if _, ok := target.ActionType.(*HTTPRoute_DirectResponse); !ok { + return false + } + + if h, ok := interface{}(m.GetDirectResponse()).(equality.Equalizer); ok { + if !h.Equal(target.GetDirectResponse()) { + return false + } + } else { + if !proto.Equal(m.GetDirectResponse(), target.GetDirectResponse()) { + return false + } + } + + case *HTTPRoute_Graphql: + if _, ok := target.ActionType.(*HTTPRoute_Graphql); !ok { + return false + } + + if h, ok := interface{}(m.GetGraphql()).(equality.Equalizer); ok { + if !h.Equal(target.GetGraphql()) { + return false + } + } else { + if !proto.Equal(m.GetGraphql(), target.GetGraphql()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ActionType != target.ActionType { + return false + } + } + + return true +} + +// Equal function +func (m *TCPRoute) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TCPRoute) + if !ok { + that2, ok := that.(TCPRoute) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetMatchers()) != len(target.GetMatchers()) { + return false + } + for idx, v := range m.GetMatchers() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetMatchers()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetMatchers()[idx]) { + return false + } + } + + } + + switch m.ActionType.(type) { + + case *TCPRoute_ForwardTo: + if _, ok := target.ActionType.(*TCPRoute_ForwardTo); !ok { + return false + } + + if h, ok := interface{}(m.GetForwardTo()).(equality.Equalizer); ok { + if !h.Equal(target.GetForwardTo()) { + return false + } + } else { + if !proto.Equal(m.GetForwardTo(), target.GetForwardTo()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ActionType != target.ActionType { + return false + } + } + + return true +} + +// Equal function +func (m *TLSRoute) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TLSRoute) + if !ok { + that2, ok := that.(TLSRoute) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetMatchers()) != len(target.GetMatchers()) { + return false + } + for idx, v := range m.GetMatchers() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetMatchers()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetMatchers()[idx]) { + return false + } + } + + } + + switch m.ActionType.(type) { + + case *TLSRoute_ForwardTo: + if _, ok := target.ActionType.(*TLSRoute_ForwardTo); !ok { + return false + } + + if h, ok := interface{}(m.GetForwardTo()).(equality.Equalizer); ok { + if !h.Equal(target.GetForwardTo()) { + return false + } + } else { + if !proto.Equal(m.GetForwardTo(), target.GetForwardTo()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ActionType != target.ActionType { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLAction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLAction) + if !ok { + that2, ok := that.(GraphQLAction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetOptions()).(equality.Equalizer); ok { + if !h.Equal(target.GetOptions()) { + return false + } + } else { + if !proto.Equal(m.GetOptions(), target.GetOptions()) { + return false + } + } + + switch m.GraphqlSchema.(type) { + + case *GraphQLAction_Schema: + if _, ok := target.GraphqlSchema.(*GraphQLAction_Schema); !ok { + return false + } + + if h, ok := interface{}(m.GetSchema()).(equality.Equalizer); ok { + if !h.Equal(target.GetSchema()) { + return false + } + } else { + if !proto.Equal(m.GetSchema(), target.GetSchema()) { + return false + } + } + + case *GraphQLAction_StitchedSchema: + if _, ok := target.GraphqlSchema.(*GraphQLAction_StitchedSchema); !ok { + return false + } + + if h, ok := interface{}(m.GetStitchedSchema()).(equality.Equalizer); ok { + if !h.Equal(target.GetStitchedSchema()) { + return false + } + } else { + if !proto.Equal(m.GetStitchedSchema(), target.GetStitchedSchema()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.GraphqlSchema != target.GraphqlSchema { + return false + } + } + + return true +} + +// Equal function +func (m *ForwardToAction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ForwardToAction) + if !ok { + that2, ok := that.(ForwardToAction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetDestinations()) != len(target.GetDestinations()) { + return false + } + for idx, v := range m.GetDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetDestinations()[idx]) { + return false + } + } + + } + + switch m.PathRewriteSpecifier.(type) { + + case *ForwardToAction_PathRewrite: + if _, ok := target.PathRewriteSpecifier.(*ForwardToAction_PathRewrite); !ok { + return false + } + + if strings.Compare(m.GetPathRewrite(), target.GetPathRewrite()) != 0 { + return false + } + + case *ForwardToAction_RegexRewrite: + if _, ok := target.PathRewriteSpecifier.(*ForwardToAction_RegexRewrite); !ok { + return false + } + + if h, ok := interface{}(m.GetRegexRewrite()).(equality.Equalizer); ok { + if !h.Equal(target.GetRegexRewrite()) { + return false + } + } else { + if !proto.Equal(m.GetRegexRewrite(), target.GetRegexRewrite()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.PathRewriteSpecifier != target.PathRewriteSpecifier { + return false + } + } + + switch m.HostRewriteSpecifier.(type) { + + case *ForwardToAction_HostRewrite: + if _, ok := target.HostRewriteSpecifier.(*ForwardToAction_HostRewrite); !ok { + return false + } + + if strings.Compare(m.GetHostRewrite(), target.GetHostRewrite()) != 0 { + return false + } + + case *ForwardToAction_AutoHostRewrite: + if _, ok := target.HostRewriteSpecifier.(*ForwardToAction_AutoHostRewrite); !ok { + return false + } + + if m.GetAutoHostRewrite() != target.GetAutoHostRewrite() { + return false + } + + default: + // m is nil but target is not nil + if m.HostRewriteSpecifier != target.HostRewriteSpecifier { + return false + } + } + + return true +} + +// Equal function +func (m *RedirectAction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RedirectAction) + if !ok { + that2, ok := that.(RedirectAction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetHostRedirect(), target.GetHostRedirect()) != 0 { + return false + } + + if m.GetResponseCode() != target.GetResponseCode() { + return false + } + + switch m.PathRewriteSpecifier.(type) { + + case *RedirectAction_PathRedirect: + if _, ok := target.PathRewriteSpecifier.(*RedirectAction_PathRedirect); !ok { + return false + } + + if strings.Compare(m.GetPathRedirect(), target.GetPathRedirect()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.PathRewriteSpecifier != target.PathRewriteSpecifier { + return false + } + } + + return true +} + +// Equal function +func (m *DirectResponseAction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DirectResponseAction) + if !ok { + that2, ok := that.(DirectResponseAction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetStatus() != target.GetStatus() { + return false + } + + if strings.Compare(m.GetBody(), target.GetBody()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *DelegateAction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DelegateAction) + if !ok { + that2, ok := that.(DelegateAction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetRouteTables()) != len(target.GetRouteTables()) { + return false + } + for idx, v := range m.GetRouteTables() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetRouteTables()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetRouteTables()[idx]) { + return false + } + } + + } + + if len(m.GetAllowedRoutes()) != len(target.GetAllowedRoutes()) { + return false + } + for idx, v := range m.GetAllowedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAllowedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetAllowedRoutes()[idx]) { + return false + } + } + + } + + if m.GetSortMethod() != target.GetSortMethod() { + return false + } + + return true +} + +// Equal function +func (m *RouteTableStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RouteTableStatus) + if !ok { + that2, ok := that.(RouteTableStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if len(m.GetNumAppliedRoutePolicies()) != len(target.GetNumAppliedRoutePolicies()) { + return false + } + for k, v := range m.GetNumAppliedRoutePolicies() { + + if v != target.GetNumAppliedRoutePolicies()[k] { + return false + } + + } + + if m.GetNumParentRouteTables() != target.GetNumParentRouteTables() { + return false + } + + if strings.Compare(m.GetOwnedByWorkspace(), target.GetOwnedByWorkspace()) != 0 { + return false + } + + if m.GetNumAllowedVirtualGateways() != target.GetNumAllowedVirtualGateways() { + return false + } + + return true +} + +// Equal function +func (m *RouteTableReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RouteTableReport) + if !ok { + that2, ok := that.(RouteTableReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetAppliedRoutePolicies()) != len(target.GetAppliedRoutePolicies()) { + return false + } + for k, v := range m.GetAppliedRoutePolicies() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAppliedRoutePolicies()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetAppliedRoutePolicies()[k]) { + return false + } + } + + } + + if len(m.GetParentRouteTables()) != len(target.GetParentRouteTables()) { + return false + } + for idx, v := range m.GetParentRouteTables() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetParentRouteTables()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetParentRouteTables()[idx]) { + return false + } + } + + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + if len(m.GetAllowedVirtualGateways()) != len(target.GetAllowedVirtualGateways()) { + return false + } + for idx, v := range m.GetAllowedVirtualGateways() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAllowedVirtualGateways()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetAllowedVirtualGateways()[idx]) { + return false + } + } + + } + + if len(m.GetDelegatedToRouteTables()) != len(target.GetDelegatedToRouteTables()) { + return false + } + for idx, v := range m.GetDelegatedToRouteTables() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetDelegatedToRouteTables()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetDelegatedToRouteTables()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *TLSRoute_TLSForwardToAction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TLSRoute_TLSForwardToAction) + if !ok { + that2, ok := that.(TLSRoute_TLSForwardToAction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetDestinations()) != len(target.GetDestinations()) { + return false + } + for idx, v := range m.GetDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetDestinations()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *GraphQLAction_Options) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLAction_Options) + if !ok { + that2, ok := that.(GraphQLAction_Options) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetLogSensitiveInfo()).(equality.Equalizer); ok { + if !h.Equal(target.GetLogSensitiveInfo()) { + return false + } + } else { + if !proto.Equal(m.GetLogSensitiveInfo(), target.GetLogSensitiveInfo()) { + return false + } + } + + return true +} + +// Equal function +func (m *RouteTableReport_DelegatedRouteTableReference) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RouteTableReport_DelegatedRouteTableReference) + if !ok { + that2, ok := that.(RouteTableReport_DelegatedRouteTableReference) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetRouteIndex() != target.GetRouteIndex() { + return false + } + + if h, ok := interface{}(m.GetRouteTable()).(equality.Equalizer); ok { + if !h.Equal(target.GetRouteTable()) { + return false + } + } else { + if !proto.Equal(m.GetRouteTable(), target.GetRouteTable()) { + return false + } + } + + return true +} diff --git a/client-go/networking.gloo.solo.io/v2/route_table.pb.go b/client-go/networking.gloo.solo.io/v2/route_table.pb.go new file mode 100644 index 000000000..8d62cc3ba --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/route_table.pb.go @@ -0,0 +1,2352 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/route_table.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + v3 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + _ "github.com/solo-io/solo-apis/client-go/apimanagement.gloo.solo.io/v2" + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type RedirectAction_RedirectResponseCode int32 + +const ( + // Moved Permanently HTTP Status Code - 301. + RedirectAction_MOVED_PERMANENTLY RedirectAction_RedirectResponseCode = 0 + // Found HTTP Status Code - 302. + RedirectAction_FOUND RedirectAction_RedirectResponseCode = 1 + // See Other HTTP Status Code - 303. + RedirectAction_SEE_OTHER RedirectAction_RedirectResponseCode = 2 + // Temporary Redirect HTTP Status Code - 307. + RedirectAction_TEMPORARY_REDIRECT RedirectAction_RedirectResponseCode = 3 + // Permanent Redirect HTTP Status Code - 308. + RedirectAction_PERMANENT_REDIRECT RedirectAction_RedirectResponseCode = 4 +) + +// Enum value maps for RedirectAction_RedirectResponseCode. +var ( + RedirectAction_RedirectResponseCode_name = map[int32]string{ + 0: "MOVED_PERMANENTLY", + 1: "FOUND", + 2: "SEE_OTHER", + 3: "TEMPORARY_REDIRECT", + 4: "PERMANENT_REDIRECT", + } + RedirectAction_RedirectResponseCode_value = map[string]int32{ + "MOVED_PERMANENTLY": 0, + "FOUND": 1, + "SEE_OTHER": 2, + "TEMPORARY_REDIRECT": 3, + "PERMANENT_REDIRECT": 4, + } +) + +func (x RedirectAction_RedirectResponseCode) Enum() *RedirectAction_RedirectResponseCode { + p := new(RedirectAction_RedirectResponseCode) + *p = x + return p +} + +func (x RedirectAction_RedirectResponseCode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RedirectAction_RedirectResponseCode) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_enumTypes[0].Descriptor() +} + +func (RedirectAction_RedirectResponseCode) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_enumTypes[0] +} + +func (x RedirectAction_RedirectResponseCode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RedirectAction_RedirectResponseCode.Descriptor instead. +func (RedirectAction_RedirectResponseCode) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{6, 0} +} + +type DelegateAction_SortMethod int32 + +const ( + // Routes are kept in the order that they appear relative to their tables, but tables are sorted by weight. + // Tables that have the same weight will stay in the same order that they are listed in, which is the list + // order when given as a reference and by creation timestamp when selected. + DelegateAction_TABLE_WEIGHT DelegateAction_SortMethod = 0 + // After processing all routes, including additional route tables delegated to, the resulting routes are sorted + // by specificity to reduce the chance that a more specific route will be short-circuited by a general route. + // Matchers with exact path matchers are considered more specific than regex path patchers, which are more + // specific than prefix path matchers. For prefix and exact, matchers of the same type are sorted by length of the path in descending + // order. For regex matchers they are all treated equal when sorted. For sort ties, table weights are used across tables & + // within tables user specified order is preserved. Only the most specific matcher on each route is used. + // + // For example, consider the following two sub-tables that are sorted by specificity and the resulting route list. + // + // Sub-table A, with a table weight of `1` in case of sort ties:
    + //
  • `prefix: /foo`
  • + //
  • `prefix: /foo/more/specific`
  • + //
  • `prefix: /foo/even/more/specific`
  • + //
  • `exact: /foo/exact`
  • + //
  • `exact: /foo/another/exact`
  • + //
  • `regex: /foo/*`
  • + //
  • `regex: /fooo/*`
+ // Sub-table B, with a table weight of `2` in case of sort ties:
    + //
  • `prefix: /bar`
  • + //
  • `prefix: /bar/more/specific`
  • + //
  • `prefix: /bar/even/more/specific`
  • + //
  • `exact: /bar/exact`
  • + //
  • `regex: /bar/*`
+ // The resulting routes are sorted in this order:
    + //
  • `exact: /foo/another/exact`
  • + //
  • `exact: /bar/exact`
  • + //
  • `exact: /foo/exact`
  • + //
  • `regex: /bar/*`
  • + //
  • `regex: /foo/*`
  • + //
  • `regex: /fooo/*`
  • + //
  • `prefix: /bar/even/more/specific`
  • + //
  • `prefix: /foo/even/more/specific`
  • + //
  • `prefix: /bar/more/specific`
  • + //
  • `prefix: /foo/more/specific`
  • + //
  • `prefix: /bar`
  • + //
  • `prefix: /foo`
+ DelegateAction_ROUTE_SPECIFICITY DelegateAction_SortMethod = 1 +) + +// Enum value maps for DelegateAction_SortMethod. +var ( + DelegateAction_SortMethod_name = map[int32]string{ + 0: "TABLE_WEIGHT", + 1: "ROUTE_SPECIFICITY", + } + DelegateAction_SortMethod_value = map[string]int32{ + "TABLE_WEIGHT": 0, + "ROUTE_SPECIFICITY": 1, + } +) + +func (x DelegateAction_SortMethod) Enum() *DelegateAction_SortMethod { + p := new(DelegateAction_SortMethod) + *p = x + return p +} + +func (x DelegateAction_SortMethod) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DelegateAction_SortMethod) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_enumTypes[1].Descriptor() +} + +func (DelegateAction_SortMethod) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_enumTypes[1] +} + +func (x DelegateAction_SortMethod) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DelegateAction_SortMethod.Descriptor instead. +func (DelegateAction_SortMethod) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{8, 0} +} + +// `RouteTables` define one or more hosts and a set of traffic route rules that describe how to handle traffic for these hosts. +// Route tables support two types of routes: HTTP and TCP. +// For more information, see see the [Routing overview concept docs](https://docs.solo.io/gloo-mesh-enterprise/main/concepts/traffic-management/routes/). +// +// You can delegate HTTP routes to other route tables based on one or more matching hosts and specific route paths. +// If your "parent" route table delegates some traffic rules to another "child" route table, the child route table must be in the same workspace +// or imported to the parent route table's workspace. +// +// You can match traffic that originates from an ingress gateway (north-south), Istio mesh gateway (east-west), +// or directly from the sidecars of workloads in your service mesh (east-west), +// depending on the configuration of the `virtualGateways` field. +// +// The following example defines route configuration for the 'uk.bookinfo.com' and 'eu.bookinfo.com' hosts. +// Traffic arrives at the `my-gateway` virtual gateway in the `my-gateway-ws` workspace. +// The route table sets up several different matchers to direct HTTP traffic. +// * When the cookie in the header matches to `user=dev-123`, HTTP traffic is forwarded to the port `7777` of the `v1` of `reviews.qa` service. +// * When the path matches exactly to `/reviews/`, 80% traffic is forwarded to port 9080 +// of the `reviews.prod` service and 20% traffic is forwarded to port 9080 of the `reviews.qa` service. +// * All other HTTP traffic is sent to the default destination, which is port 9080 of `reviews.prod` service in the `bookinfo` workspace. +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: RouteTable +// metadata: +// +// name: bookinfo-root-routes +// namespace: bookinfo +// +// spec: +// +// hosts: +// - 'uk.bookinfo.com' +// - 'eu.bookinfo.com' +// virtualGateways: +// - name: my-gateway +// namespace: my-gateway-ws +// defaultDestination: +// ref: +// name: reviews +// namespace: prod +// port: +// number: 9080 +// http: +// - name: reviews-qa +// matchers: +// - headers: +// - name: cookie +// value: 'user=dev-123' +// forwardTo: +// destinations: +// - ref: +// name: reviews +// namespace: qa +// subset: +// version: v1 +// port: +// number: 7777 +// - name: reviews +// matchers: +// - name: review-prefix +// uri: +// exact: /reviews/ +// forwardTo: +// destinations: +// - weight: 80 +// - ref: +// name: reviews +// namespace: qa +// port: +// number: 9080 +// weight: 20 +// +// ``` +// +// The following example defines route configuration for the 'uk.bookinfo.com' and 'eu.bookinfo.com' hosts. +// Traffic arrives at the `my-gateway` virtual gateway in the `my-gateway-ws` workspace. The route table sends traffic to an external cloud function. +// * When the HTTP route path matches the prefix `/lambda`, traffic is forwarded to the backing `aws-provider` CloudProvider. +// * The associated `aws-provider` CloudResources resource describes an AWS Lambda service named `logicalName: aws-dest`. +// * The `"SYNC"` option indicates that the AWS Lambda function is invoked synchronously, which is also the default behavior. +// +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: RouteTable +// metadata: +// +// name: bookinfo-root-routes +// namespace: bookinfo +// +// spec: +// +// hosts: +// - 'uk.bookinfo.com' +// - 'eu.bookinfo.com' +// virtualGateways: +// - name: my-gateway +// namespace: my-gateway-ws +// defaultDestination: +// ref: +// name: reviews +// namespace: prod +// port: +// number: 9080 +// http: +// - name: lambda +// matchers: +// - uri: +// prefix: /lambda +// labels: +// route: lambda +// forwardTo: +// destinations: +// - awsLambda: +// cloudProvider: +// name: aws-provider +// namespace: bookinfo +// cluster: cluster-1 +// function: aws-dest +// options: +// invocationStyle: SYNC +// +// ``` +// +// The following example defines route configuration for the 'uk.bookinfo.com' and 'eu.bookinfo.com' hosts. +// Traffic arrives at the `my-gateway` virtual gateway in the `my-gateway-ws` workspace. The route table sends traffic to an external cloud function. +// * When the HTTP route path matches the prefix `/lambda`, traffic is forwarded to the delegated route table for handling requests to AWS Lambdas. +// * The `allowedRoutes` restrict the usage of CloudProvider functionality, which routes to cloud functions `backend-function-*` in region `us-east-2` and which assumes the `dev-team-B-*` IAM role in AWS to invoke the function. +// +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: RouteTable +// metadata: +// +// name: bookinfo-root-routes +// namespace: bookinfo +// +// spec: +// +// hosts: +// - 'uk.bookinfo.com' +// - 'eu.bookinfo.com' +// virtualGateways: +// - name: my-gateway +// namespace: my-gateway-ws +// defaultDestination: +// ref: +// name: reviews +// namespace: prod +// port: +// number: 9080 +// http: +// - name: lambda +// matchers: +// - uri: +// prefix: /lambda +// labels: +// route: lambda +// delegate: +// allowedRoutes: +// - cloudProvider: +// aws: +// lambda_function: +// - backend-function-.* +// iam_roles: +// - dev-team-B-.* +// regions: +// - us-east-2 +// routeTables: +// - labels: +// table: lambda +// +// ``` +type RouteTableSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: One or more hosts for which this route table will route traffic. + // Supports wildcards. To avoid potential misconfigurations, it is recommended to always use fully + // qualified domain names over short names. + // + // *Note*: It must be empty for a delegated RouteTable. + Hosts []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"` + // Optional: A list of references to the virtual gateways which should serve this route table. + // Only valid for route tables which define at least one host. + // *Note*: This field must be empty for a delegated RouteTable. + // + // When not specified, the route table applies to either all the sidecars in the workspace + // or only sidecars for selected workloads (via the `workloadSelectors` field) in the workspace where + // the route table is deployed or imported. + // + // The following applies to sidecars of all the workloads for the workspace where the route table is + // deployed or imported: set `virtualGateways` to `null` and `workloadSelectors` to `[]`. + // + // The following applies to the `my-gateway` virtual gateway in the `gateway` workspace and + // no sidecars: set `virtualGateways.name` to `my-gateway`, `virtualGateways.namespace` to `gateway`, and `workloadSelectors` to `[]`. + // + // The following applies to the `my-gateway` virtual gateway in the `gateway` workspace and + // sidecars of all the workloads for the workspace where the route table is + // deployed or imported: set `virtualGateways.name` to `my-gateway`, `virtualGateways.namespace` to `gateway`, and `workloadSelectors` to `{}`. + // + // The following applies to sidecars of all the `app: foo` workloads for the workspace where the route table + // is deployed or imported: set `virtualGateways` to `null` and `workloadSelectors.selector.labels` to `app: foo`. + // + // The following applies to the `my-gateway` virtual gateway in the `gateway` workspace and + // sidecars of all the `app: foo` workloads for the workspace where the route table is deployed or imported: + // set `virtualGateways.name` to `my-gateway`, `virtualGateways.namespace` to `gateway`, and `workloadSelectors.selector.labels` to `app: foo`. + VirtualGateways []*v2.ObjectReference `protobuf:"bytes,5,rep,name=virtual_gateways,json=virtualGateways,proto3" json:"virtual_gateways,omitempty"` + // Optional: Selectors for source workloads (with sidecars) which will route traffic by this route table. + // Only valid for route tables which define at least one host. + // If no workloadSelectors or virtualGateways are specified, all workloads in the workspace will automatically be selected. + // If VirtualGateways are specified, set `workloadSelectors: - {}` to select all workloads in the workspace. + // *Note*: This field must be empty for a delegated RouteTable. + // *Note*: Selection of external workloads (VMs) is currently not supported. + WorkloadSelectors []*v2.WorkloadSelector `protobuf:"bytes,6,rep,name=workload_selectors,json=workloadSelectors,proto3" json:"workload_selectors,omitempty"` + // Optional: Selectors for destinations that shall route traffic by this route table via producer-side side policy (e.g on waypoints) + // + // Applying an ambient-backed destinations means that any traffic that reaches the destination, regardless of its origin + // (mesh, outside mesh), will be subject to the RouteTable's policy. + // + // To select all ambient destinations in the workspace, set `applyToDestinations: - {}`. + // + // *Note*: applyToDestinations is an alpha API currently implemented only for ambient-enabled meshes. + // *Note*: For delegated route tables this field should be empty, as the values from the parent will always be used for destination selection. + // *Note*: Selection of external workloads (VMs), external services, and Destinations with sidecars is currently not supported. + ApplyToDestinations []*v2.DestinationSelector `protobuf:"bytes,10,rep,name=apply_to_destinations,json=applyToDestinations,proto3" json:"apply_to_destinations,omitempty"` + // Optional: Routes that do not specify a destination will forward traffic to this destination. + DefaultDestination *v2.DestinationReference `protobuf:"bytes,2,opt,name=default_destination,json=defaultDestination,proto3" json:"default_destination,omitempty"` + // The set of HTTP routes for this route table to serve. If no routes match the client request, + // the client gets back a 404. For more information on supported HTTP features, see the + // [Routing overview concept docs](https://docs.solo.io/gloo-mesh-enterprise/main/concepts/traffic-management/routes/). + Http []*HTTPRoute `protobuf:"bytes,3,rep,name=http,proto3" json:"http,omitempty"` + // The set of TCP routes for this route table to serve. TCP routes are available only for internal + // traffic within the cluster, not for ingress gateway traffic. For more information on supported + // TCP features see the [Routing overview concept docs](https://docs.solo.io/gloo-mesh-enterprise/main/concepts/traffic-management/routes/). + Tcp []*TCPRoute `protobuf:"bytes,8,rep,name=tcp,proto3" json:"tcp,omitempty"` + // The set of TLS routes for this route table to serve. For more information on supported + // TLS features see the [Routing overview concept docs](https://docs.solo.io/gloo-mesh-enterprise/main/concepts/traffic-management/routes/). + Tls []*TLSRoute `protobuf:"bytes,9,rep,name=tls,proto3" json:"tls,omitempty"` + // Weight is used when sorting route tables in delegate action or routes when sorted by specificity. + // Higher integer values are considered higher priority. The default value is 0. + Weight int32 `protobuf:"varint,4,opt,name=weight,proto3" json:"weight,omitempty"` + // Optional: If this route table bundles APIs that you want to expose in a developer portal, you can set portal metadata. + // Portal metadata is a set of key-value pairs that describe your APIs. + // Later, your developer portal displays this information in the end-user facing API documentation. + PortalMetadata *v2.PortalMetadata `protobuf:"bytes,7,opt,name=portal_metadata,json=portalMetadata,proto3" json:"portal_metadata,omitempty"` +} + +func (x *RouteTableSpec) Reset() { + *x = RouteTableSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTableSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTableSpec) ProtoMessage() {} + +func (x *RouteTableSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteTableSpec.ProtoReflect.Descriptor instead. +func (*RouteTableSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{0} +} + +func (x *RouteTableSpec) GetHosts() []string { + if x != nil { + return x.Hosts + } + return nil +} + +func (x *RouteTableSpec) GetVirtualGateways() []*v2.ObjectReference { + if x != nil { + return x.VirtualGateways + } + return nil +} + +func (x *RouteTableSpec) GetWorkloadSelectors() []*v2.WorkloadSelector { + if x != nil { + return x.WorkloadSelectors + } + return nil +} + +func (x *RouteTableSpec) GetApplyToDestinations() []*v2.DestinationSelector { + if x != nil { + return x.ApplyToDestinations + } + return nil +} + +func (x *RouteTableSpec) GetDefaultDestination() *v2.DestinationReference { + if x != nil { + return x.DefaultDestination + } + return nil +} + +func (x *RouteTableSpec) GetHttp() []*HTTPRoute { + if x != nil { + return x.Http + } + return nil +} + +func (x *RouteTableSpec) GetTcp() []*TCPRoute { + if x != nil { + return x.Tcp + } + return nil +} + +func (x *RouteTableSpec) GetTls() []*TLSRoute { + if x != nil { + return x.Tls + } + return nil +} + +func (x *RouteTableSpec) GetWeight() int32 { + if x != nil { + return x.Weight + } + return 0 +} + +func (x *RouteTableSpec) GetPortalMetadata() *v2.PortalMetadata { + if x != nil { + return x.PortalMetadata + } + return nil +} + +// Use HTTP routes to control Layer 7 application level traffic to your services. To configure HTTP routes, you pair together +// HTTP request `matchers` with certain actions. Matchers are criteria such as a route name, port, header, or method to match +// with an incoming request. Actions describe what to do with a matching request, such as `forwardTo` a destination or `delegate` +// to another route table. When an HTTP request matches your HTTP route, Gloo performs the action for that route. You can add +// metadata such as names and labels to your HTTP routes so that you can apply policies, track metrics, and better manage the routes. +type HTTPRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // unique name of the route (within the route table). used to identify the route for metrics + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Labels for the route, which you can use to apply policies that support routeSelectors. + // + // For enhanced security, include the special label "gateway.gloo.solo.io/require_auth=true" + // on the route. To activate this security feature, enable the "gatewayDefaultDenyAllHTTPRequests" + // feature flag for your Gloo installation. When both the label and feature flag are in place, Gloo + // requires an authentication policy, such as ExtAuthPolicy or JWTPolicy, to be applied to the route. + // If the authentication policy is removed or has an error, Gloo rejects all requests to the route. + Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The set of request matchers which this route will match on. If none are specified, this route will match any HTTP traffic. + // On a delegated RouteTable, this route will only match traffic that includes both the parent and child's matchers. + // If these sets conflict, the delegating route on the parent will be replaced with a DirectResponseAction indicating the misconfiguration. + Matchers []*v2.HTTPRequestMatcher `protobuf:"bytes,3,rep,name=matchers,proto3" json:"matchers,omitempty"` + // the type of action determines what this route will with a request when it is matched. + // + // Types that are assignable to ActionType: + // + // *HTTPRoute_ForwardTo + // *HTTPRoute_Delegate + // *HTTPRoute_Redirect + // *HTTPRoute_DirectResponse + // *HTTPRoute_Graphql + ActionType isHTTPRoute_ActionType `protobuf_oneof:"action_type"` +} + +func (x *HTTPRoute) Reset() { + *x = HTTPRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HTTPRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HTTPRoute) ProtoMessage() {} + +func (x *HTTPRoute) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HTTPRoute.ProtoReflect.Descriptor instead. +func (*HTTPRoute) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{1} +} + +func (x *HTTPRoute) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *HTTPRoute) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *HTTPRoute) GetMatchers() []*v2.HTTPRequestMatcher { + if x != nil { + return x.Matchers + } + return nil +} + +func (m *HTTPRoute) GetActionType() isHTTPRoute_ActionType { + if m != nil { + return m.ActionType + } + return nil +} + +func (x *HTTPRoute) GetForwardTo() *ForwardToAction { + if x, ok := x.GetActionType().(*HTTPRoute_ForwardTo); ok { + return x.ForwardTo + } + return nil +} + +func (x *HTTPRoute) GetDelegate() *DelegateAction { + if x, ok := x.GetActionType().(*HTTPRoute_Delegate); ok { + return x.Delegate + } + return nil +} + +func (x *HTTPRoute) GetRedirect() *RedirectAction { + if x, ok := x.GetActionType().(*HTTPRoute_Redirect); ok { + return x.Redirect + } + return nil +} + +func (x *HTTPRoute) GetDirectResponse() *DirectResponseAction { + if x, ok := x.GetActionType().(*HTTPRoute_DirectResponse); ok { + return x.DirectResponse + } + return nil +} + +func (x *HTTPRoute) GetGraphql() *GraphQLAction { + if x, ok := x.GetActionType().(*HTTPRoute_Graphql); ok { + return x.Graphql + } + return nil +} + +type isHTTPRoute_ActionType interface { + isHTTPRoute_ActionType() +} + +type HTTPRoute_ForwardTo struct { + // forward traffic to one or more destination services. + ForwardTo *ForwardToAction `protobuf:"bytes,4,opt,name=forward_to,json=forwardTo,proto3,oneof"` +} + +type HTTPRoute_Delegate struct { + // delegate the handling of traffic to one or more HTTP Route Tables. This can be used to + // delegate a subset of the route table's traffic to another route table, which may live + // in an imported workspace, or to separate routing concerns between objects. + Delegate *DelegateAction `protobuf:"bytes,5,opt,name=delegate,proto3,oneof"` +} + +type HTTPRoute_Redirect struct { + // return a redirect response to the downstream client. + Redirect *RedirectAction `protobuf:"bytes,6,opt,name=redirect,proto3,oneof"` +} + +type HTTPRoute_DirectResponse struct { + // respond directly to the client from the proxy. + DirectResponse *DirectResponseAction `protobuf:"bytes,7,opt,name=direct_response,json=directResponse,proto3,oneof"` +} + +type HTTPRoute_Graphql struct { + // handle the HTTP request as a GraphQL request, including query validation, and execution of the GraphQL request. + // The incoming GraphQL request must either be a GET or POST request, see + // ["Serving over HTTP"](https://graphql.org/learn/serving-over-http/). + Graphql *GraphQLAction `protobuf:"bytes,8,opt,name=graphql,proto3,oneof"` +} + +func (*HTTPRoute_ForwardTo) isHTTPRoute_ActionType() {} + +func (*HTTPRoute_Delegate) isHTTPRoute_ActionType() {} + +func (*HTTPRoute_Redirect) isHTTPRoute_ActionType() {} + +func (*HTTPRoute_DirectResponse) isHTTPRoute_ActionType() {} + +func (*HTTPRoute_Graphql) isHTTPRoute_ActionType() {} + +// Use TCP routes to control lower-level, connection-based traffic to services such as a local database. +// TCP routes are available only for internal traffic within the cluster, not for ingress gateway traffic. +// To configure TCP routes, you pair together TCP request `matchers` with certain actions. +// Matchers are criteria such as a port to match with an incoming request. +// Actions describe what to do with a matching request, such as `forwardTo` a destination. +// When a TCP request matches your TCP route, Gloo performs the action for that route. +type TCPRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The set of request matchers for this route to match on. + Matchers []*v2.TCPRequestMatcher `protobuf:"bytes,1,rep,name=matchers,proto3" json:"matchers,omitempty"` + // The action to take when a request matches this route. + // + // Types that are assignable to ActionType: + // + // *TCPRoute_ForwardTo + ActionType isTCPRoute_ActionType `protobuf_oneof:"action_type"` +} + +func (x *TCPRoute) Reset() { + *x = TCPRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TCPRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TCPRoute) ProtoMessage() {} + +func (x *TCPRoute) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TCPRoute.ProtoReflect.Descriptor instead. +func (*TCPRoute) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{2} +} + +func (x *TCPRoute) GetMatchers() []*v2.TCPRequestMatcher { + if x != nil { + return x.Matchers + } + return nil +} + +func (m *TCPRoute) GetActionType() isTCPRoute_ActionType { + if m != nil { + return m.ActionType + } + return nil +} + +func (x *TCPRoute) GetForwardTo() *ForwardToAction { + if x, ok := x.GetActionType().(*TCPRoute_ForwardTo); ok { + return x.ForwardTo + } + return nil +} + +type isTCPRoute_ActionType interface { + isTCPRoute_ActionType() +} + +type TCPRoute_ForwardTo struct { + // Forward traffic to one or more destination services. Note that some `forwardTo` actions, such as path or host rewrite, are not + // supported for TCP routes. + ForwardTo *ForwardToAction `protobuf:"bytes,2,opt,name=forward_to,json=forwardTo,proto3,oneof"` +} + +func (*TCPRoute_ForwardTo) isTCPRoute_ActionType() {} + +// Use TLS routes to route unterminated TLS traffic (TLS/HTTPS) through an ingress gateway or within the cluster, such as for pass-through SNI-routing. +// You must specify an SNI host in the matcher, and optionally a port on the host. +type TLSRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The set of request matchers for this route to match on. + Matchers []*v2.TLSRequestMatcher `protobuf:"bytes,1,rep,name=matchers,proto3" json:"matchers,omitempty"` + // The action to take when a request matches this route. + // + // Types that are assignable to ActionType: + // + // *TLSRoute_ForwardTo + ActionType isTLSRoute_ActionType `protobuf_oneof:"action_type"` +} + +func (x *TLSRoute) Reset() { + *x = TLSRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TLSRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TLSRoute) ProtoMessage() {} + +func (x *TLSRoute) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TLSRoute.ProtoReflect.Descriptor instead. +func (*TLSRoute) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{3} +} + +func (x *TLSRoute) GetMatchers() []*v2.TLSRequestMatcher { + if x != nil { + return x.Matchers + } + return nil +} + +func (m *TLSRoute) GetActionType() isTLSRoute_ActionType { + if m != nil { + return m.ActionType + } + return nil +} + +func (x *TLSRoute) GetForwardTo() *TLSRoute_TLSForwardToAction { + if x, ok := x.GetActionType().(*TLSRoute_ForwardTo); ok { + return x.ForwardTo + } + return nil +} + +type isTLSRoute_ActionType interface { + isTLSRoute_ActionType() +} + +type TLSRoute_ForwardTo struct { + // Forward traffic to one or more destination services. + ForwardTo *TLSRoute_TLSForwardToAction `protobuf:"bytes,2,opt,name=forward_to,json=forwardTo,proto3,oneof"` +} + +func (*TLSRoute_ForwardTo) isTLSRoute_ActionType() {} + +type GraphQLAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Reference to a GraphQLSchema or GraphQLStitchedSchema resource that contains the configuration for this subschema. + // + // Types that are assignable to GraphqlSchema: + // + // *GraphQLAction_Schema + // *GraphQLAction_StitchedSchema + GraphqlSchema isGraphQLAction_GraphqlSchema `protobuf_oneof:"graphql_schema"` + // Options that apply to this GraphQL Schema. + Options *GraphQLAction_Options `protobuf:"bytes,4,opt,name=options,proto3" json:"options,omitempty"` +} + +func (x *GraphQLAction) Reset() { + *x = GraphQLAction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLAction) ProtoMessage() {} + +func (x *GraphQLAction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLAction.ProtoReflect.Descriptor instead. +func (*GraphQLAction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{4} +} + +func (m *GraphQLAction) GetGraphqlSchema() isGraphQLAction_GraphqlSchema { + if m != nil { + return m.GraphqlSchema + } + return nil +} + +func (x *GraphQLAction) GetSchema() *v1.ClusterObjectRef { + if x, ok := x.GetGraphqlSchema().(*GraphQLAction_Schema); ok { + return x.Schema + } + return nil +} + +func (x *GraphQLAction) GetStitchedSchema() *v1.ClusterObjectRef { + if x, ok := x.GetGraphqlSchema().(*GraphQLAction_StitchedSchema); ok { + return x.StitchedSchema + } + return nil +} + +func (x *GraphQLAction) GetOptions() *GraphQLAction_Options { + if x != nil { + return x.Options + } + return nil +} + +type isGraphQLAction_GraphqlSchema interface { + isGraphQLAction_GraphqlSchema() +} + +type GraphQLAction_Schema struct { + // Reference to a GraphQLSchema resource that contains the configuration for this subschema. + Schema *v1.ClusterObjectRef `protobuf:"bytes,1,opt,name=schema,proto3,oneof"` +} + +type GraphQLAction_StitchedSchema struct { + // Reference to a GraphQLStitchedSchema resource that contains the configuration for this subschema. + StitchedSchema *v1.ClusterObjectRef `protobuf:"bytes,2,opt,name=stitched_schema,json=stitchedSchema,proto3,oneof"` +} + +func (*GraphQLAction_Schema) isGraphQLAction_GraphqlSchema() {} + +func (*GraphQLAction_StitchedSchema) isGraphQLAction_GraphqlSchema() {} + +// When a client request matches a route, Gloo forwards the request to the destination that you specify in this `forwardTo` action. +type ForwardToAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Define the upstream destination to route the request to. Some destinations require additional configuration for + // the route. For example, to forward requests to a CloudProvider for an AWS Lambda, you must also set a `function`. + // HTTP routes support all destinations types. TCP routes support only Kubernetes services and Gloo VirtualDestinations. + Destinations []*v2.DestinationReference `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"` + // Types that are assignable to PathRewriteSpecifier: + // + // *ForwardToAction_PathRewrite + // *ForwardToAction_RegexRewrite + PathRewriteSpecifier isForwardToAction_PathRewriteSpecifier `protobuf_oneof:"path_rewrite_specifier"` + // Types that are assignable to HostRewriteSpecifier: + // + // *ForwardToAction_HostRewrite + // *ForwardToAction_AutoHostRewrite + HostRewriteSpecifier isForwardToAction_HostRewriteSpecifier `protobuf_oneof:"host_rewrite_specifier"` +} + +func (x *ForwardToAction) Reset() { + *x = ForwardToAction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ForwardToAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ForwardToAction) ProtoMessage() {} + +func (x *ForwardToAction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ForwardToAction.ProtoReflect.Descriptor instead. +func (*ForwardToAction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{5} +} + +func (x *ForwardToAction) GetDestinations() []*v2.DestinationReference { + if x != nil { + return x.Destinations + } + return nil +} + +func (m *ForwardToAction) GetPathRewriteSpecifier() isForwardToAction_PathRewriteSpecifier { + if m != nil { + return m.PathRewriteSpecifier + } + return nil +} + +func (x *ForwardToAction) GetPathRewrite() string { + if x, ok := x.GetPathRewriteSpecifier().(*ForwardToAction_PathRewrite); ok { + return x.PathRewrite + } + return "" +} + +func (x *ForwardToAction) GetRegexRewrite() *v3.RegexMatchAndSubstitute { + if x, ok := x.GetPathRewriteSpecifier().(*ForwardToAction_RegexRewrite); ok { + return x.RegexRewrite + } + return nil +} + +func (m *ForwardToAction) GetHostRewriteSpecifier() isForwardToAction_HostRewriteSpecifier { + if m != nil { + return m.HostRewriteSpecifier + } + return nil +} + +func (x *ForwardToAction) GetHostRewrite() string { + if x, ok := x.GetHostRewriteSpecifier().(*ForwardToAction_HostRewrite); ok { + return x.HostRewrite + } + return "" +} + +func (x *ForwardToAction) GetAutoHostRewrite() bool { + if x, ok := x.GetHostRewriteSpecifier().(*ForwardToAction_AutoHostRewrite); ok { + return x.AutoHostRewrite + } + return false +} + +type isForwardToAction_PathRewriteSpecifier interface { + isForwardToAction_PathRewriteSpecifier() +} + +type ForwardToAction_PathRewrite struct { + // Replace the path specified in the matcher with this value before forwarding the request to the upstream destination. + // When a prefix matcher is used, only the prefix portion of the path is rewritten. When an exact matcher is used, + // the whole path is replaced. Rewriting the path when a regex matcher is used is currently unsupported. Note that path + // rewrites are available for HTTP routes only and are not supported for TCP routes. + PathRewrite string `protobuf:"bytes,2,opt,name=path_rewrite,json=pathRewrite,proto3,oneof"` +} + +type ForwardToAction_RegexRewrite struct { + // During forwarding, portions of the path that match the pattern are rewritten, even allowing the substitution + // of capture groups from the pattern into the new path as specified by the rewrite substitution string. This substitution is useful + // to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. + // Note that regex rewrites are available for RE2 syntax and HTTP routes only. + RegexRewrite *v3.RegexMatchAndSubstitute `protobuf:"bytes,5,opt,name=regex_rewrite,json=regexRewrite,proto3,oneof"` +} + +func (*ForwardToAction_PathRewrite) isForwardToAction_PathRewriteSpecifier() {} + +func (*ForwardToAction_RegexRewrite) isForwardToAction_PathRewriteSpecifier() {} + +type isForwardToAction_HostRewriteSpecifier interface { + isForwardToAction_HostRewriteSpecifier() +} + +type ForwardToAction_HostRewrite struct { + // Replace the Authority/Host header with this value before forwarding the request to the upstream destination. Note + // that host rewrites are available for HTTP routes only and are not supported for TCP routes. + HostRewrite string `protobuf:"bytes,3,opt,name=host_rewrite,json=hostRewrite,proto3,oneof"` +} + +type ForwardToAction_AutoHostRewrite struct { + // Automatically replace the Authority/Host header with the hostname of the upstream destination. Note + // that host rewrites are available for HTTP routes only and are not supported for TCP routes. + AutoHostRewrite bool `protobuf:"varint,4,opt,name=auto_host_rewrite,json=autoHostRewrite,proto3,oneof"` +} + +func (*ForwardToAction_HostRewrite) isForwardToAction_HostRewriteSpecifier() {} + +func (*ForwardToAction_AutoHostRewrite) isForwardToAction_HostRewriteSpecifier() {} + +// +// Notice: RedirectAction is copied directly from https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/route/route.proto +type RedirectAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The host portion of the URL will be swapped with this value. + HostRedirect string `protobuf:"bytes,1,opt,name=host_redirect,json=hostRedirect,proto3" json:"host_redirect,omitempty"` + // Defines whether and how the path portion of the URL will be modified. + // + // Types that are assignable to PathRewriteSpecifier: + // + // *RedirectAction_PathRedirect + PathRewriteSpecifier isRedirectAction_PathRewriteSpecifier `protobuf_oneof:"path_rewrite_specifier"` + // The HTTP status code to use in the redirect response. The default response + // code is MOVED_PERMANENTLY (301). + ResponseCode RedirectAction_RedirectResponseCode `protobuf:"varint,4,opt,name=response_code,json=responseCode,proto3,enum=networking.gloo.solo.io.RedirectAction_RedirectResponseCode" json:"response_code,omitempty"` +} + +func (x *RedirectAction) Reset() { + *x = RedirectAction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedirectAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedirectAction) ProtoMessage() {} + +func (x *RedirectAction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RedirectAction.ProtoReflect.Descriptor instead. +func (*RedirectAction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{6} +} + +func (x *RedirectAction) GetHostRedirect() string { + if x != nil { + return x.HostRedirect + } + return "" +} + +func (m *RedirectAction) GetPathRewriteSpecifier() isRedirectAction_PathRewriteSpecifier { + if m != nil { + return m.PathRewriteSpecifier + } + return nil +} + +func (x *RedirectAction) GetPathRedirect() string { + if x, ok := x.GetPathRewriteSpecifier().(*RedirectAction_PathRedirect); ok { + return x.PathRedirect + } + return "" +} + +func (x *RedirectAction) GetResponseCode() RedirectAction_RedirectResponseCode { + if x != nil { + return x.ResponseCode + } + return RedirectAction_MOVED_PERMANENTLY +} + +type isRedirectAction_PathRewriteSpecifier interface { + isRedirectAction_PathRewriteSpecifier() +} + +type RedirectAction_PathRedirect struct { + // The entire path portion of the URL will be overwritten with this value. + PathRedirect string `protobuf:"bytes,2,opt,name=path_redirect,json=pathRedirect,proto3,oneof"` +} + +func (*RedirectAction_PathRedirect) isRedirectAction_PathRewriteSpecifier() {} + +// +// DirectResponseAction is copied directly from https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/route/route.proto +type DirectResponseAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: Specifies an HTTP response status between 100-599 inclusive to be returned. + Status uint32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` + // Specifies the content of the response body. If omitted, + // no body is included in the generated response. + // + // Note: Headers can be specified using the Header Modification feature in the enclosing + // Route, ConnectionHandler, or Gateway options. + Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *DirectResponseAction) Reset() { + *x = DirectResponseAction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DirectResponseAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DirectResponseAction) ProtoMessage() {} + +func (x *DirectResponseAction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DirectResponseAction.ProtoReflect.Descriptor instead. +func (*DirectResponseAction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{7} +} + +func (x *DirectResponseAction) GetStatus() uint32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *DirectResponseAction) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +// +// DelegateActions are used to delegate routing decisions to other resources, for example RouteTables. +type DelegateAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Delegate to the RouteTables that match the given selectors. + // Selected route tables are ordered by creation time stamp in ascending order to guarantee consistent ordering. + // Route tables will be selected from the pool of route tables defined within the current workspace, as well as any imported into the workspace. + RouteTables []*v2.ObjectSelector `protobuf:"bytes,2,rep,name=route_tables,json=routeTables,proto3" json:"route_tables,omitempty"` + // Optional: Restrict delegation to the RouteTables that match the set of route filter criteria specified. + // If omitted, any route will be allowed to be referenced by this RouteTable. + AllowedRoutes []*v2.RouteFilter `protobuf:"bytes,4,rep,name=allowed_routes,json=allowedRoutes,proto3" json:"allowed_routes,omitempty"` + // How routes should be sorted + SortMethod DelegateAction_SortMethod `protobuf:"varint,3,opt,name=sort_method,json=sortMethod,proto3,enum=networking.gloo.solo.io.DelegateAction_SortMethod" json:"sort_method,omitempty"` +} + +func (x *DelegateAction) Reset() { + *x = DelegateAction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DelegateAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DelegateAction) ProtoMessage() {} + +func (x *DelegateAction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DelegateAction.ProtoReflect.Descriptor instead. +func (*DelegateAction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{8} +} + +func (x *DelegateAction) GetRouteTables() []*v2.ObjectSelector { + if x != nil { + return x.RouteTables + } + return nil +} + +func (x *DelegateAction) GetAllowedRoutes() []*v2.RouteFilter { + if x != nil { + return x.AllowedRoutes + } + return nil +} + +func (x *DelegateAction) GetSortMethod() DelegateAction_SortMethod { + if x != nil { + return x.SortMethod + } + return DelegateAction_TABLE_WEIGHT +} + +type RouteTableStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // A map of policy GVK to the number of policies that are applied on this resource, + // sorted by GVK. + NumAppliedRoutePolicies map[string]uint32 `protobuf:"bytes,2,rep,name=num_applied_route_policies,json=numAppliedRoutePolicies,proto3" json:"num_applied_route_policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + // The number of parent route tables for this route table, if it is a delegated route table. + NumParentRouteTables uint32 `protobuf:"varint,3,opt,name=num_parent_route_tables,json=numParentRouteTables,proto3" json:"num_parent_route_tables,omitempty"` + // The name of the workspace that this route table belongs to. + OwnedByWorkspace string `protobuf:"bytes,4,opt,name=owned_by_workspace,json=ownedByWorkspace,proto3" json:"owned_by_workspace,omitempty"` + // The number virtual gateways that this route table can select. + NumAllowedVirtualGateways uint32 `protobuf:"varint,5,opt,name=num_allowed_virtual_gateways,json=numAllowedVirtualGateways,proto3" json:"num_allowed_virtual_gateways,omitempty"` +} + +func (x *RouteTableStatus) Reset() { + *x = RouteTableStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTableStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTableStatus) ProtoMessage() {} + +func (x *RouteTableStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteTableStatus.ProtoReflect.Descriptor instead. +func (*RouteTableStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{9} +} + +func (x *RouteTableStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *RouteTableStatus) GetNumAppliedRoutePolicies() map[string]uint32 { + if x != nil { + return x.NumAppliedRoutePolicies + } + return nil +} + +func (x *RouteTableStatus) GetNumParentRouteTables() uint32 { + if x != nil { + return x.NumParentRouteTables + } + return 0 +} + +func (x *RouteTableStatus) GetOwnedByWorkspace() string { + if x != nil { + return x.OwnedByWorkspace + } + return "" +} + +func (x *RouteTableStatus) GetNumAllowedVirtualGateways() uint32 { + if x != nil { + return x.NumAllowedVirtualGateways + } + return 0 +} + +type RouteTableReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A map of policy GVK to policy references for all policies that are applied on this + // resource. + AppliedRoutePolicies map[string]*v2.AppliedRoutePolicies `protobuf:"bytes,2,rep,name=applied_route_policies,json=appliedRoutePolicies,proto3" json:"applied_route_policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of the parents route tables for this route table, if it is a delegated route table. + ParentRouteTables []*v2.ObjectReference `protobuf:"bytes,3,rep,name=parent_route_tables,json=parentRouteTables,proto3" json:"parent_route_tables,omitempty"` + // The name of the workspace that owns the route table. + OwnerWorkspace string `protobuf:"bytes,4,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` + // A list of allowed virtual gateways that this route table can select. + AllowedVirtualGateways []*v2.ObjectReference `protobuf:"bytes,5,rep,name=allowed_virtual_gateways,json=allowedVirtualGateways,proto3" json:"allowed_virtual_gateways,omitempty"` + // A list of routes delegated to by delegated routes in this RouteTable. + // Only tracks direct delegates of this RouteTable; delegates of delegate routes are not included. + DelegatedToRouteTables []*RouteTableReport_DelegatedRouteTableReference `protobuf:"bytes,6,rep,name=delegated_to_route_tables,json=delegatedToRouteTables,proto3" json:"delegated_to_route_tables,omitempty"` +} + +func (x *RouteTableReport) Reset() { + *x = RouteTableReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTableReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTableReport) ProtoMessage() {} + +func (x *RouteTableReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteTableReport.ProtoReflect.Descriptor instead. +func (*RouteTableReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{10} +} + +func (x *RouteTableReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *RouteTableReport) GetAppliedRoutePolicies() map[string]*v2.AppliedRoutePolicies { + if x != nil { + return x.AppliedRoutePolicies + } + return nil +} + +func (x *RouteTableReport) GetParentRouteTables() []*v2.ObjectReference { + if x != nil { + return x.ParentRouteTables + } + return nil +} + +func (x *RouteTableReport) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +func (x *RouteTableReport) GetAllowedVirtualGateways() []*v2.ObjectReference { + if x != nil { + return x.AllowedVirtualGateways + } + return nil +} + +func (x *RouteTableReport) GetDelegatedToRouteTables() []*RouteTableReport_DelegatedRouteTableReference { + if x != nil { + return x.DelegatedToRouteTables + } + return nil +} + +// When a client request matches a route, Gloo forwards the request to the destination that you specify in this `forwardTo` action. +type TLSRoute_TLSForwardToAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Define the upstream destination to route the request to. + Destinations []*v2.DestinationReference `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"` +} + +func (x *TLSRoute_TLSForwardToAction) Reset() { + *x = TLSRoute_TLSForwardToAction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TLSRoute_TLSForwardToAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TLSRoute_TLSForwardToAction) ProtoMessage() {} + +func (x *TLSRoute_TLSForwardToAction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TLSRoute_TLSForwardToAction.ProtoReflect.Descriptor instead. +func (*TLSRoute_TLSForwardToAction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *TLSRoute_TLSForwardToAction) GetDestinations() []*v2.DestinationReference { + if x != nil { + return x.Destinations + } + return nil +} + +type GraphQLAction_Options struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Include information about request/response in the envoy debug logs. + // This is helpful for debugging GraphQL. + // Defaults to false. + LogSensitiveInfo *wrappers.BoolValue `protobuf:"bytes,1,opt,name=log_sensitive_info,json=logSensitiveInfo,proto3" json:"log_sensitive_info,omitempty"` +} + +func (x *GraphQLAction_Options) Reset() { + *x = GraphQLAction_Options{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLAction_Options) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLAction_Options) ProtoMessage() {} + +func (x *GraphQLAction_Options) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLAction_Options.ProtoReflect.Descriptor instead. +func (*GraphQLAction_Options) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *GraphQLAction_Options) GetLogSensitiveInfo() *wrappers.BoolValue { + if x != nil { + return x.LogSensitiveInfo + } + return nil +} + +type RouteTableReport_DelegatedRouteTableReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The index of the route in the parent RouteTable that delegates to the listed RouteTable. + RouteIndex int32 `protobuf:"varint,1,opt,name=route_index,json=routeIndex,proto3" json:"route_index,omitempty"` + // The reference to the RouteTable being delegated to by the parent RouteTable. + RouteTable *v2.ObjectReference `protobuf:"bytes,2,opt,name=route_table,json=routeTable,proto3" json:"route_table,omitempty"` +} + +func (x *RouteTableReport_DelegatedRouteTableReference) Reset() { + *x = RouteTableReport_DelegatedRouteTableReference{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTableReport_DelegatedRouteTableReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTableReport_DelegatedRouteTableReference) ProtoMessage() {} + +func (x *RouteTableReport_DelegatedRouteTableReference) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteTableReport_DelegatedRouteTableReference.ProtoReflect.Descriptor instead. +func (*RouteTableReport_DelegatedRouteTableReference) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP(), []int{10, 2} +} + +func (x *RouteTableReport_DelegatedRouteTableReference) GetRouteIndex() int32 { + if x != nil { + return x.RouteIndex + } + return 0 +} + +func (x *RouteTableReport_DelegatedRouteTableReference) GetRouteTable() *v2.ObjectReference { + if x != nil { + return x.RouteTable + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDesc = []byte{ + 0x0a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, + 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, + 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x64, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x55, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x76, 0x32, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x6c, 0x73, 0x5f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x05, 0x0a, + 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x14, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, + 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x10, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, + 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x54, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x5c, 0x0a, 0x15, + 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a, 0x13, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, + 0x54, 0x54, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x12, 0x33, + 0x0a, 0x03, 0x74, 0x63, 0x70, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x43, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x03, + 0x74, 0x63, 0x70, 0x12, 0x33, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x12, 0x4c, 0x0a, 0x0f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0e, + 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xed, + 0x04, 0x0a, 0x09, 0x48, 0x54, 0x54, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x46, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, 0x49, 0x0a, + 0x0a, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x12, 0x45, 0x0a, 0x08, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, + 0x45, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x58, 0x0a, 0x0f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x42, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x51, 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x71, 0x6c, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa8, + 0x01, 0x0a, 0x08, 0x54, 0x43, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x43, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, + 0x49, 0x0a, 0x0a, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x6f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x46, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x09, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x99, 0x02, 0x0a, 0x08, 0x54, 0x4c, + 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, + 0x4c, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a, 0x0a, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x2e, 0x54, 0x4c, 0x53, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, + 0x6f, 0x1a, 0x63, 0x0a, 0x12, 0x54, 0x4c, 0x53, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, + 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xcf, 0x02, 0x0a, 0x0d, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, + 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, + 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x06, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, + 0x65, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x48, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x1a, 0x53, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x6c, + 0x6f, 0x67, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6c, 0x6f, 0x67, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x10, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, + 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xe3, 0x02, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0c, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x70, 0x61, + 0x74, 0x68, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, + 0x55, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, + 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, + 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x65, 0x78, 0x52, + 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, + 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x61, + 0x75, 0x74, 0x6f, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x48, 0x6f, + 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x70, 0x61, 0x74, + 0x68, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x42, 0x18, 0x0a, 0x16, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xd2, 0x02, + 0x0a, 0x0e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, + 0x70, 0x61, 0x74, 0x68, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x61, 0x0a, 0x0d, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, + 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, + 0x77, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x4f, 0x56, 0x45, 0x44, + 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x4c, 0x59, 0x10, 0x00, 0x12, 0x09, + 0x0a, 0x05, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x45, 0x45, + 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x45, 0x4d, 0x50, + 0x4f, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x03, + 0x12, 0x16, 0x0a, 0x12, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, + 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x04, 0x42, 0x18, 0x0a, 0x16, 0x70, 0x61, 0x74, 0x68, + 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x22, 0x42, 0x0a, 0x14, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xad, 0x02, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0c, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0d, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0b, 0x73, 0x6f, + 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x32, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, + 0x35, 0x0a, 0x0a, 0x53, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x10, 0x0a, + 0x0c, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x10, 0x00, 0x12, + 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x43, 0x49, 0x54, 0x59, 0x10, 0x01, 0x22, 0xbf, 0x03, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x12, 0x83, 0x01, 0x0a, 0x1a, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2e, 0x4e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x6e, + 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6e, 0x75, 0x6d, 0x50, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x0a, + 0x12, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x64, + 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x6e, + 0x75, 0x6d, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x72, 0x74, 0x75, + 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x19, 0x6e, 0x75, 0x6d, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x56, 0x69, 0x72, + 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x1a, 0x4a, 0x0a, 0x1c, + 0x4e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa4, 0x07, 0x0a, 0x10, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x59, 0x0a, + 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x39, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x79, 0x0a, 0x16, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x76, 0x69, + 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x16, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x72, 0x0a, 0x19, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x86, 0x01, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x45, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, + 0x58, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, + 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_goTypes = []interface{}{ + (RedirectAction_RedirectResponseCode)(0), // 0: networking.gloo.solo.io.RedirectAction.RedirectResponseCode + (DelegateAction_SortMethod)(0), // 1: networking.gloo.solo.io.DelegateAction.SortMethod + (*RouteTableSpec)(nil), // 2: networking.gloo.solo.io.RouteTableSpec + (*HTTPRoute)(nil), // 3: networking.gloo.solo.io.HTTPRoute + (*TCPRoute)(nil), // 4: networking.gloo.solo.io.TCPRoute + (*TLSRoute)(nil), // 5: networking.gloo.solo.io.TLSRoute + (*GraphQLAction)(nil), // 6: networking.gloo.solo.io.GraphQLAction + (*ForwardToAction)(nil), // 7: networking.gloo.solo.io.ForwardToAction + (*RedirectAction)(nil), // 8: networking.gloo.solo.io.RedirectAction + (*DirectResponseAction)(nil), // 9: networking.gloo.solo.io.DirectResponseAction + (*DelegateAction)(nil), // 10: networking.gloo.solo.io.DelegateAction + (*RouteTableStatus)(nil), // 11: networking.gloo.solo.io.RouteTableStatus + (*RouteTableReport)(nil), // 12: networking.gloo.solo.io.RouteTableReport + nil, // 13: networking.gloo.solo.io.HTTPRoute.LabelsEntry + (*TLSRoute_TLSForwardToAction)(nil), // 14: networking.gloo.solo.io.TLSRoute.TLSForwardToAction + (*GraphQLAction_Options)(nil), // 15: networking.gloo.solo.io.GraphQLAction.Options + nil, // 16: networking.gloo.solo.io.RouteTableStatus.NumAppliedRoutePoliciesEntry + nil, // 17: networking.gloo.solo.io.RouteTableReport.WorkspacesEntry + nil, // 18: networking.gloo.solo.io.RouteTableReport.AppliedRoutePoliciesEntry + (*RouteTableReport_DelegatedRouteTableReference)(nil), // 19: networking.gloo.solo.io.RouteTableReport.DelegatedRouteTableReference + (*v2.ObjectReference)(nil), // 20: common.gloo.solo.io.ObjectReference + (*v2.WorkloadSelector)(nil), // 21: common.gloo.solo.io.WorkloadSelector + (*v2.DestinationSelector)(nil), // 22: common.gloo.solo.io.DestinationSelector + (*v2.DestinationReference)(nil), // 23: common.gloo.solo.io.DestinationReference + (*v2.PortalMetadata)(nil), // 24: common.gloo.solo.io.PortalMetadata + (*v2.HTTPRequestMatcher)(nil), // 25: common.gloo.solo.io.HTTPRequestMatcher + (*v2.TCPRequestMatcher)(nil), // 26: common.gloo.solo.io.TCPRequestMatcher + (*v2.TLSRequestMatcher)(nil), // 27: common.gloo.solo.io.TLSRequestMatcher + (*v1.ClusterObjectRef)(nil), // 28: core.skv2.solo.io.ClusterObjectRef + (*v3.RegexMatchAndSubstitute)(nil), // 29: envoy.type.matcher.v3.RegexMatchAndSubstitute + (*v2.ObjectSelector)(nil), // 30: common.gloo.solo.io.ObjectSelector + (*v2.RouteFilter)(nil), // 31: common.gloo.solo.io.RouteFilter + (*v2.Status)(nil), // 32: common.gloo.solo.io.Status + (*wrappers.BoolValue)(nil), // 33: google.protobuf.BoolValue + (*v2.Report)(nil), // 34: common.gloo.solo.io.Report + (*v2.AppliedRoutePolicies)(nil), // 35: common.gloo.solo.io.AppliedRoutePolicies +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_depIdxs = []int32{ + 20, // 0: networking.gloo.solo.io.RouteTableSpec.virtual_gateways:type_name -> common.gloo.solo.io.ObjectReference + 21, // 1: networking.gloo.solo.io.RouteTableSpec.workload_selectors:type_name -> common.gloo.solo.io.WorkloadSelector + 22, // 2: networking.gloo.solo.io.RouteTableSpec.apply_to_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 23, // 3: networking.gloo.solo.io.RouteTableSpec.default_destination:type_name -> common.gloo.solo.io.DestinationReference + 3, // 4: networking.gloo.solo.io.RouteTableSpec.http:type_name -> networking.gloo.solo.io.HTTPRoute + 4, // 5: networking.gloo.solo.io.RouteTableSpec.tcp:type_name -> networking.gloo.solo.io.TCPRoute + 5, // 6: networking.gloo.solo.io.RouteTableSpec.tls:type_name -> networking.gloo.solo.io.TLSRoute + 24, // 7: networking.gloo.solo.io.RouteTableSpec.portal_metadata:type_name -> common.gloo.solo.io.PortalMetadata + 13, // 8: networking.gloo.solo.io.HTTPRoute.labels:type_name -> networking.gloo.solo.io.HTTPRoute.LabelsEntry + 25, // 9: networking.gloo.solo.io.HTTPRoute.matchers:type_name -> common.gloo.solo.io.HTTPRequestMatcher + 7, // 10: networking.gloo.solo.io.HTTPRoute.forward_to:type_name -> networking.gloo.solo.io.ForwardToAction + 10, // 11: networking.gloo.solo.io.HTTPRoute.delegate:type_name -> networking.gloo.solo.io.DelegateAction + 8, // 12: networking.gloo.solo.io.HTTPRoute.redirect:type_name -> networking.gloo.solo.io.RedirectAction + 9, // 13: networking.gloo.solo.io.HTTPRoute.direct_response:type_name -> networking.gloo.solo.io.DirectResponseAction + 6, // 14: networking.gloo.solo.io.HTTPRoute.graphql:type_name -> networking.gloo.solo.io.GraphQLAction + 26, // 15: networking.gloo.solo.io.TCPRoute.matchers:type_name -> common.gloo.solo.io.TCPRequestMatcher + 7, // 16: networking.gloo.solo.io.TCPRoute.forward_to:type_name -> networking.gloo.solo.io.ForwardToAction + 27, // 17: networking.gloo.solo.io.TLSRoute.matchers:type_name -> common.gloo.solo.io.TLSRequestMatcher + 14, // 18: networking.gloo.solo.io.TLSRoute.forward_to:type_name -> networking.gloo.solo.io.TLSRoute.TLSForwardToAction + 28, // 19: networking.gloo.solo.io.GraphQLAction.schema:type_name -> core.skv2.solo.io.ClusterObjectRef + 28, // 20: networking.gloo.solo.io.GraphQLAction.stitched_schema:type_name -> core.skv2.solo.io.ClusterObjectRef + 15, // 21: networking.gloo.solo.io.GraphQLAction.options:type_name -> networking.gloo.solo.io.GraphQLAction.Options + 23, // 22: networking.gloo.solo.io.ForwardToAction.destinations:type_name -> common.gloo.solo.io.DestinationReference + 29, // 23: networking.gloo.solo.io.ForwardToAction.regex_rewrite:type_name -> envoy.type.matcher.v3.RegexMatchAndSubstitute + 0, // 24: networking.gloo.solo.io.RedirectAction.response_code:type_name -> networking.gloo.solo.io.RedirectAction.RedirectResponseCode + 30, // 25: networking.gloo.solo.io.DelegateAction.route_tables:type_name -> common.gloo.solo.io.ObjectSelector + 31, // 26: networking.gloo.solo.io.DelegateAction.allowed_routes:type_name -> common.gloo.solo.io.RouteFilter + 1, // 27: networking.gloo.solo.io.DelegateAction.sort_method:type_name -> networking.gloo.solo.io.DelegateAction.SortMethod + 32, // 28: networking.gloo.solo.io.RouteTableStatus.common:type_name -> common.gloo.solo.io.Status + 16, // 29: networking.gloo.solo.io.RouteTableStatus.num_applied_route_policies:type_name -> networking.gloo.solo.io.RouteTableStatus.NumAppliedRoutePoliciesEntry + 17, // 30: networking.gloo.solo.io.RouteTableReport.workspaces:type_name -> networking.gloo.solo.io.RouteTableReport.WorkspacesEntry + 18, // 31: networking.gloo.solo.io.RouteTableReport.applied_route_policies:type_name -> networking.gloo.solo.io.RouteTableReport.AppliedRoutePoliciesEntry + 20, // 32: networking.gloo.solo.io.RouteTableReport.parent_route_tables:type_name -> common.gloo.solo.io.ObjectReference + 20, // 33: networking.gloo.solo.io.RouteTableReport.allowed_virtual_gateways:type_name -> common.gloo.solo.io.ObjectReference + 19, // 34: networking.gloo.solo.io.RouteTableReport.delegated_to_route_tables:type_name -> networking.gloo.solo.io.RouteTableReport.DelegatedRouteTableReference + 23, // 35: networking.gloo.solo.io.TLSRoute.TLSForwardToAction.destinations:type_name -> common.gloo.solo.io.DestinationReference + 33, // 36: networking.gloo.solo.io.GraphQLAction.Options.log_sensitive_info:type_name -> google.protobuf.BoolValue + 34, // 37: networking.gloo.solo.io.RouteTableReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 35, // 38: networking.gloo.solo.io.RouteTableReport.AppliedRoutePoliciesEntry.value:type_name -> common.gloo.solo.io.AppliedRoutePolicies + 20, // 39: networking.gloo.solo.io.RouteTableReport.DelegatedRouteTableReference.route_table:type_name -> common.gloo.solo.io.ObjectReference + 40, // [40:40] is the sub-list for method output_type + 40, // [40:40] is the sub-list for method input_type + 40, // [40:40] is the sub-list for extension type_name + 40, // [40:40] is the sub-list for extension extendee + 0, // [0:40] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTableSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HTTPRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TCPRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TLSRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ForwardToAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedirectAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DirectResponseAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelegateAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTableStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTableReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TLSRoute_TLSForwardToAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLAction_Options); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTableReport_DelegatedRouteTableReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*HTTPRoute_ForwardTo)(nil), + (*HTTPRoute_Delegate)(nil), + (*HTTPRoute_Redirect)(nil), + (*HTTPRoute_DirectResponse)(nil), + (*HTTPRoute_Graphql)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*TCPRoute_ForwardTo)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*TLSRoute_ForwardTo)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*GraphQLAction_Schema)(nil), + (*GraphQLAction_StitchedSchema)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*ForwardToAction_PathRewrite)(nil), + (*ForwardToAction_RegexRewrite)(nil), + (*ForwardToAction_HostRewrite)(nil), + (*ForwardToAction_AutoHostRewrite)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*RedirectAction_PathRedirect)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDesc, + NumEnums: 2, + NumMessages: 18, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_route_table_proto_depIdxs = nil +} diff --git a/client-go/networking.gloo.solo.io/v2/route_table.pb.hash.go b/client-go/networking.gloo.solo.io/v2/route_table.pb.hash.go new file mode 100644 index 000000000..08b442825 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/route_table.pb.hash.go @@ -0,0 +1,1215 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/route_table.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *RouteTableSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.RouteTableSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetHosts() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetVirtualGateways() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetWorkloadSelectors() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetDefaultDestination()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DefaultDestination")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDefaultDestination(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DefaultDestination")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetHttp() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetTcp() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetTls() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetWeight()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPortalMetadata()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PortalMetadata")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPortalMetadata(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PortalMetadata")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HTTPRoute) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.HTTPRoute")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLabels() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetMatchers() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.ActionType.(type) { + + case *HTTPRoute_ForwardTo: + + if h, ok := interface{}(m.GetForwardTo()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ForwardTo")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetForwardTo(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ForwardTo")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *HTTPRoute_Delegate: + + if h, ok := interface{}(m.GetDelegate()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Delegate")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDelegate(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Delegate")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *HTTPRoute_Redirect: + + if h, ok := interface{}(m.GetRedirect()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Redirect")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRedirect(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Redirect")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *HTTPRoute_DirectResponse: + + if h, ok := interface{}(m.GetDirectResponse()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DirectResponse")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDirectResponse(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DirectResponse")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *HTTPRoute_Graphql: + + if h, ok := interface{}(m.GetGraphql()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Graphql")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGraphql(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Graphql")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TCPRoute) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.TCPRoute")); err != nil { + return 0, err + } + + for _, v := range m.GetMatchers() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.ActionType.(type) { + + case *TCPRoute_ForwardTo: + + if h, ok := interface{}(m.GetForwardTo()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ForwardTo")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetForwardTo(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ForwardTo")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TLSRoute) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.TLSRoute")); err != nil { + return 0, err + } + + for _, v := range m.GetMatchers() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.ActionType.(type) { + + case *TLSRoute_ForwardTo: + + if h, ok := interface{}(m.GetForwardTo()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ForwardTo")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetForwardTo(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ForwardTo")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLAction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.GraphQLAction")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetOptions()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOptions(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Options")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.GraphqlSchema.(type) { + + case *GraphQLAction_Schema: + + if h, ok := interface{}(m.GetSchema()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Schema")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSchema(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Schema")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *GraphQLAction_StitchedSchema: + + if h, ok := interface{}(m.GetStitchedSchema()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("StitchedSchema")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetStitchedSchema(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("StitchedSchema")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ForwardToAction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.ForwardToAction")); err != nil { + return 0, err + } + + for _, v := range m.GetDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.PathRewriteSpecifier.(type) { + + case *ForwardToAction_PathRewrite: + + if _, err = hasher.Write([]byte(m.GetPathRewrite())); err != nil { + return 0, err + } + + case *ForwardToAction_RegexRewrite: + + if h, ok := interface{}(m.GetRegexRewrite()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RegexRewrite")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRegexRewrite(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RegexRewrite")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.HostRewriteSpecifier.(type) { + + case *ForwardToAction_HostRewrite: + + if _, err = hasher.Write([]byte(m.GetHostRewrite())); err != nil { + return 0, err + } + + case *ForwardToAction_AutoHostRewrite: + + err = binary.Write(hasher, binary.LittleEndian, m.GetAutoHostRewrite()) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RedirectAction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.RedirectAction")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHostRedirect())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetResponseCode()) + if err != nil { + return 0, err + } + + switch m.PathRewriteSpecifier.(type) { + + case *RedirectAction_PathRedirect: + + if _, err = hasher.Write([]byte(m.GetPathRedirect())); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DirectResponseAction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.DirectResponseAction")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetStatus()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetBody())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DelegateAction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.DelegateAction")); err != nil { + return 0, err + } + + for _, v := range m.GetRouteTables() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetAllowedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSortMethod()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RouteTableStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.RouteTableStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetNumAppliedRoutePolicies() { + innerHash.Reset() + + err = binary.Write(innerHash, binary.LittleEndian, v) + if err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumParentRouteTables()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetOwnedByWorkspace())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumAllowedVirtualGateways()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RouteTableReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.RouteTableReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAppliedRoutePolicies() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetParentRouteTables() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + for _, v := range m.GetAllowedVirtualGateways() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetDelegatedToRouteTables() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TLSRoute_TLSForwardToAction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.TLSRoute_TLSForwardToAction")); err != nil { + return 0, err + } + + for _, v := range m.GetDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLAction_Options) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.GraphQLAction_Options")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetLogSensitiveInfo()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("LogSensitiveInfo")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLogSensitiveInfo(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("LogSensitiveInfo")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RouteTableReport_DelegatedRouteTableReference) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.RouteTableReport_DelegatedRouteTableReference")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRouteIndex()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRouteTable()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RouteTable")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRouteTable(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RouteTable")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/networking.gloo.solo.io/v2/sets/mocks/sets.go b/client-go/networking.gloo.solo.io/v2/sets/mocks/sets.go new file mode 100644 index 000000000..688747c46 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/sets/mocks/sets.go @@ -0,0 +1,1297 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2sets is a generated GoMock package. +package mock_v2sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2" + v2sets "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2/sets" +) + +// MockExternalServiceSet is a mock of ExternalServiceSet interface. +type MockExternalServiceSet struct { + ctrl *gomock.Controller + recorder *MockExternalServiceSetMockRecorder +} + +// MockExternalServiceSetMockRecorder is the mock recorder for MockExternalServiceSet. +type MockExternalServiceSetMockRecorder struct { + mock *MockExternalServiceSet +} + +// NewMockExternalServiceSet creates a new mock instance. +func NewMockExternalServiceSet(ctrl *gomock.Controller) *MockExternalServiceSet { + mock := &MockExternalServiceSet{ctrl: ctrl} + mock.recorder = &MockExternalServiceSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalServiceSet) EXPECT() *MockExternalServiceSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockExternalServiceSet) Clone() v2sets.ExternalServiceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.ExternalServiceSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockExternalServiceSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockExternalServiceSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockExternalServiceSet) Delete(externalService ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", externalService) +} + +// Delete indicates an expected call of Delete. +func (mr *MockExternalServiceSetMockRecorder) Delete(externalService interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockExternalServiceSet)(nil).Delete), externalService) +} + +// Delta mocks base method. +func (m *MockExternalServiceSet) Delta(newSet v2sets.ExternalServiceSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockExternalServiceSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockExternalServiceSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockExternalServiceSet) Difference(set v2sets.ExternalServiceSet) v2sets.ExternalServiceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.ExternalServiceSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockExternalServiceSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockExternalServiceSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockExternalServiceSet) Equal(externalServiceSet v2sets.ExternalServiceSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", externalServiceSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockExternalServiceSetMockRecorder) Equal(externalServiceSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockExternalServiceSet)(nil).Equal), externalServiceSet) +} + +// Find mocks base method. +func (m *MockExternalServiceSet) Find(id ezkube.ResourceId) (*v2.ExternalService, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.ExternalService) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockExternalServiceSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockExternalServiceSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockExternalServiceSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockExternalServiceSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockExternalServiceSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockExternalServiceSet) Has(externalService ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", externalService) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockExternalServiceSetMockRecorder) Has(externalService interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockExternalServiceSet)(nil).Has), externalService) +} + +// Insert mocks base method. +func (m *MockExternalServiceSet) Insert(externalService ...*v2.ExternalService) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range externalService { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockExternalServiceSetMockRecorder) Insert(externalService ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockExternalServiceSet)(nil).Insert), externalService...) +} + +// Intersection mocks base method. +func (m *MockExternalServiceSet) Intersection(set v2sets.ExternalServiceSet) v2sets.ExternalServiceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.ExternalServiceSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockExternalServiceSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockExternalServiceSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockExternalServiceSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockExternalServiceSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockExternalServiceSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockExternalServiceSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockExternalServiceSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockExternalServiceSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockExternalServiceSet) List(filterResource ...func(*v2.ExternalService) bool) []*v2.ExternalService { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.ExternalService) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockExternalServiceSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockExternalServiceSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockExternalServiceSet) Map() map[string]*v2.ExternalService { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.ExternalService) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockExternalServiceSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockExternalServiceSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockExternalServiceSet) Union(set v2sets.ExternalServiceSet) v2sets.ExternalServiceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.ExternalServiceSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockExternalServiceSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockExternalServiceSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockExternalServiceSet) UnsortedList(filterResource ...func(*v2.ExternalService) bool) []*v2.ExternalService { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.ExternalService) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockExternalServiceSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockExternalServiceSet)(nil).UnsortedList), filterResource...) +} + +// MockExternalEndpointSet is a mock of ExternalEndpointSet interface. +type MockExternalEndpointSet struct { + ctrl *gomock.Controller + recorder *MockExternalEndpointSetMockRecorder +} + +// MockExternalEndpointSetMockRecorder is the mock recorder for MockExternalEndpointSet. +type MockExternalEndpointSetMockRecorder struct { + mock *MockExternalEndpointSet +} + +// NewMockExternalEndpointSet creates a new mock instance. +func NewMockExternalEndpointSet(ctrl *gomock.Controller) *MockExternalEndpointSet { + mock := &MockExternalEndpointSet{ctrl: ctrl} + mock.recorder = &MockExternalEndpointSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalEndpointSet) EXPECT() *MockExternalEndpointSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockExternalEndpointSet) Clone() v2sets.ExternalEndpointSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.ExternalEndpointSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockExternalEndpointSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockExternalEndpointSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockExternalEndpointSet) Delete(externalEndpoint ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", externalEndpoint) +} + +// Delete indicates an expected call of Delete. +func (mr *MockExternalEndpointSetMockRecorder) Delete(externalEndpoint interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockExternalEndpointSet)(nil).Delete), externalEndpoint) +} + +// Delta mocks base method. +func (m *MockExternalEndpointSet) Delta(newSet v2sets.ExternalEndpointSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockExternalEndpointSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockExternalEndpointSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockExternalEndpointSet) Difference(set v2sets.ExternalEndpointSet) v2sets.ExternalEndpointSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.ExternalEndpointSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockExternalEndpointSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockExternalEndpointSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockExternalEndpointSet) Equal(externalEndpointSet v2sets.ExternalEndpointSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", externalEndpointSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockExternalEndpointSetMockRecorder) Equal(externalEndpointSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockExternalEndpointSet)(nil).Equal), externalEndpointSet) +} + +// Find mocks base method. +func (m *MockExternalEndpointSet) Find(id ezkube.ResourceId) (*v2.ExternalEndpoint, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.ExternalEndpoint) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockExternalEndpointSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockExternalEndpointSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockExternalEndpointSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockExternalEndpointSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockExternalEndpointSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockExternalEndpointSet) Has(externalEndpoint ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", externalEndpoint) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockExternalEndpointSetMockRecorder) Has(externalEndpoint interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockExternalEndpointSet)(nil).Has), externalEndpoint) +} + +// Insert mocks base method. +func (m *MockExternalEndpointSet) Insert(externalEndpoint ...*v2.ExternalEndpoint) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range externalEndpoint { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockExternalEndpointSetMockRecorder) Insert(externalEndpoint ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockExternalEndpointSet)(nil).Insert), externalEndpoint...) +} + +// Intersection mocks base method. +func (m *MockExternalEndpointSet) Intersection(set v2sets.ExternalEndpointSet) v2sets.ExternalEndpointSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.ExternalEndpointSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockExternalEndpointSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockExternalEndpointSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockExternalEndpointSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockExternalEndpointSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockExternalEndpointSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockExternalEndpointSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockExternalEndpointSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockExternalEndpointSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockExternalEndpointSet) List(filterResource ...func(*v2.ExternalEndpoint) bool) []*v2.ExternalEndpoint { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.ExternalEndpoint) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockExternalEndpointSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockExternalEndpointSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockExternalEndpointSet) Map() map[string]*v2.ExternalEndpoint { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.ExternalEndpoint) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockExternalEndpointSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockExternalEndpointSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockExternalEndpointSet) Union(set v2sets.ExternalEndpointSet) v2sets.ExternalEndpointSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.ExternalEndpointSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockExternalEndpointSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockExternalEndpointSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockExternalEndpointSet) UnsortedList(filterResource ...func(*v2.ExternalEndpoint) bool) []*v2.ExternalEndpoint { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.ExternalEndpoint) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockExternalEndpointSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockExternalEndpointSet)(nil).UnsortedList), filterResource...) +} + +// MockRouteTableSet is a mock of RouteTableSet interface. +type MockRouteTableSet struct { + ctrl *gomock.Controller + recorder *MockRouteTableSetMockRecorder +} + +// MockRouteTableSetMockRecorder is the mock recorder for MockRouteTableSet. +type MockRouteTableSetMockRecorder struct { + mock *MockRouteTableSet +} + +// NewMockRouteTableSet creates a new mock instance. +func NewMockRouteTableSet(ctrl *gomock.Controller) *MockRouteTableSet { + mock := &MockRouteTableSet{ctrl: ctrl} + mock.recorder = &MockRouteTableSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRouteTableSet) EXPECT() *MockRouteTableSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockRouteTableSet) Clone() v2sets.RouteTableSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.RouteTableSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockRouteTableSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockRouteTableSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockRouteTableSet) Delete(routeTable ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", routeTable) +} + +// Delete indicates an expected call of Delete. +func (mr *MockRouteTableSetMockRecorder) Delete(routeTable interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockRouteTableSet)(nil).Delete), routeTable) +} + +// Delta mocks base method. +func (m *MockRouteTableSet) Delta(newSet v2sets.RouteTableSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockRouteTableSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockRouteTableSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockRouteTableSet) Difference(set v2sets.RouteTableSet) v2sets.RouteTableSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.RouteTableSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockRouteTableSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockRouteTableSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockRouteTableSet) Equal(routeTableSet v2sets.RouteTableSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", routeTableSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockRouteTableSetMockRecorder) Equal(routeTableSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockRouteTableSet)(nil).Equal), routeTableSet) +} + +// Find mocks base method. +func (m *MockRouteTableSet) Find(id ezkube.ResourceId) (*v2.RouteTable, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.RouteTable) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockRouteTableSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockRouteTableSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockRouteTableSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockRouteTableSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockRouteTableSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockRouteTableSet) Has(routeTable ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", routeTable) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockRouteTableSetMockRecorder) Has(routeTable interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockRouteTableSet)(nil).Has), routeTable) +} + +// Insert mocks base method. +func (m *MockRouteTableSet) Insert(routeTable ...*v2.RouteTable) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range routeTable { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockRouteTableSetMockRecorder) Insert(routeTable ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockRouteTableSet)(nil).Insert), routeTable...) +} + +// Intersection mocks base method. +func (m *MockRouteTableSet) Intersection(set v2sets.RouteTableSet) v2sets.RouteTableSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.RouteTableSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockRouteTableSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockRouteTableSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockRouteTableSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockRouteTableSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockRouteTableSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockRouteTableSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockRouteTableSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockRouteTableSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockRouteTableSet) List(filterResource ...func(*v2.RouteTable) bool) []*v2.RouteTable { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.RouteTable) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockRouteTableSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockRouteTableSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockRouteTableSet) Map() map[string]*v2.RouteTable { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.RouteTable) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockRouteTableSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockRouteTableSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockRouteTableSet) Union(set v2sets.RouteTableSet) v2sets.RouteTableSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.RouteTableSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockRouteTableSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockRouteTableSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockRouteTableSet) UnsortedList(filterResource ...func(*v2.RouteTable) bool) []*v2.RouteTable { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.RouteTable) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockRouteTableSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockRouteTableSet)(nil).UnsortedList), filterResource...) +} + +// MockVirtualDestinationSet is a mock of VirtualDestinationSet interface. +type MockVirtualDestinationSet struct { + ctrl *gomock.Controller + recorder *MockVirtualDestinationSetMockRecorder +} + +// MockVirtualDestinationSetMockRecorder is the mock recorder for MockVirtualDestinationSet. +type MockVirtualDestinationSetMockRecorder struct { + mock *MockVirtualDestinationSet +} + +// NewMockVirtualDestinationSet creates a new mock instance. +func NewMockVirtualDestinationSet(ctrl *gomock.Controller) *MockVirtualDestinationSet { + mock := &MockVirtualDestinationSet{ctrl: ctrl} + mock.recorder = &MockVirtualDestinationSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualDestinationSet) EXPECT() *MockVirtualDestinationSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockVirtualDestinationSet) Clone() v2sets.VirtualDestinationSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.VirtualDestinationSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockVirtualDestinationSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockVirtualDestinationSet) Delete(virtualDestination ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", virtualDestination) +} + +// Delete indicates an expected call of Delete. +func (mr *MockVirtualDestinationSetMockRecorder) Delete(virtualDestination interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Delete), virtualDestination) +} + +// Delta mocks base method. +func (m *MockVirtualDestinationSet) Delta(newSet v2sets.VirtualDestinationSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockVirtualDestinationSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockVirtualDestinationSet) Difference(set v2sets.VirtualDestinationSet) v2sets.VirtualDestinationSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.VirtualDestinationSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockVirtualDestinationSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockVirtualDestinationSet) Equal(virtualDestinationSet v2sets.VirtualDestinationSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", virtualDestinationSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockVirtualDestinationSetMockRecorder) Equal(virtualDestinationSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Equal), virtualDestinationSet) +} + +// Find mocks base method. +func (m *MockVirtualDestinationSet) Find(id ezkube.ResourceId) (*v2.VirtualDestination, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.VirtualDestination) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockVirtualDestinationSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockVirtualDestinationSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockVirtualDestinationSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockVirtualDestinationSet) Has(virtualDestination ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", virtualDestination) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockVirtualDestinationSetMockRecorder) Has(virtualDestination interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Has), virtualDestination) +} + +// Insert mocks base method. +func (m *MockVirtualDestinationSet) Insert(virtualDestination ...*v2.VirtualDestination) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range virtualDestination { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockVirtualDestinationSetMockRecorder) Insert(virtualDestination ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Insert), virtualDestination...) +} + +// Intersection mocks base method. +func (m *MockVirtualDestinationSet) Intersection(set v2sets.VirtualDestinationSet) v2sets.VirtualDestinationSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.VirtualDestinationSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockVirtualDestinationSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockVirtualDestinationSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockVirtualDestinationSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockVirtualDestinationSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockVirtualDestinationSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockVirtualDestinationSet) List(filterResource ...func(*v2.VirtualDestination) bool) []*v2.VirtualDestination { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.VirtualDestination) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockVirtualDestinationSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockVirtualDestinationSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockVirtualDestinationSet) Map() map[string]*v2.VirtualDestination { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.VirtualDestination) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockVirtualDestinationSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockVirtualDestinationSet) Union(set v2sets.VirtualDestinationSet) v2sets.VirtualDestinationSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.VirtualDestinationSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockVirtualDestinationSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockVirtualDestinationSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockVirtualDestinationSet) UnsortedList(filterResource ...func(*v2.VirtualDestination) bool) []*v2.VirtualDestination { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.VirtualDestination) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockVirtualDestinationSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockVirtualDestinationSet)(nil).UnsortedList), filterResource...) +} + +// MockVirtualGatewaySet is a mock of VirtualGatewaySet interface. +type MockVirtualGatewaySet struct { + ctrl *gomock.Controller + recorder *MockVirtualGatewaySetMockRecorder +} + +// MockVirtualGatewaySetMockRecorder is the mock recorder for MockVirtualGatewaySet. +type MockVirtualGatewaySetMockRecorder struct { + mock *MockVirtualGatewaySet +} + +// NewMockVirtualGatewaySet creates a new mock instance. +func NewMockVirtualGatewaySet(ctrl *gomock.Controller) *MockVirtualGatewaySet { + mock := &MockVirtualGatewaySet{ctrl: ctrl} + mock.recorder = &MockVirtualGatewaySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockVirtualGatewaySet) EXPECT() *MockVirtualGatewaySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockVirtualGatewaySet) Clone() v2sets.VirtualGatewaySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.VirtualGatewaySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockVirtualGatewaySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockVirtualGatewaySet) Delete(virtualGateway ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", virtualGateway) +} + +// Delete indicates an expected call of Delete. +func (mr *MockVirtualGatewaySetMockRecorder) Delete(virtualGateway interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Delete), virtualGateway) +} + +// Delta mocks base method. +func (m *MockVirtualGatewaySet) Delta(newSet v2sets.VirtualGatewaySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockVirtualGatewaySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockVirtualGatewaySet) Difference(set v2sets.VirtualGatewaySet) v2sets.VirtualGatewaySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.VirtualGatewaySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockVirtualGatewaySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockVirtualGatewaySet) Equal(virtualGatewaySet v2sets.VirtualGatewaySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", virtualGatewaySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockVirtualGatewaySetMockRecorder) Equal(virtualGatewaySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Equal), virtualGatewaySet) +} + +// Find mocks base method. +func (m *MockVirtualGatewaySet) Find(id ezkube.ResourceId) (*v2.VirtualGateway, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.VirtualGateway) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockVirtualGatewaySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockVirtualGatewaySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockVirtualGatewaySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockVirtualGatewaySet) Has(virtualGateway ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", virtualGateway) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockVirtualGatewaySetMockRecorder) Has(virtualGateway interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Has), virtualGateway) +} + +// Insert mocks base method. +func (m *MockVirtualGatewaySet) Insert(virtualGateway ...*v2.VirtualGateway) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range virtualGateway { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockVirtualGatewaySetMockRecorder) Insert(virtualGateway ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Insert), virtualGateway...) +} + +// Intersection mocks base method. +func (m *MockVirtualGatewaySet) Intersection(set v2sets.VirtualGatewaySet) v2sets.VirtualGatewaySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.VirtualGatewaySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockVirtualGatewaySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockVirtualGatewaySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockVirtualGatewaySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockVirtualGatewaySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockVirtualGatewaySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockVirtualGatewaySet) List(filterResource ...func(*v2.VirtualGateway) bool) []*v2.VirtualGateway { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.VirtualGateway) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockVirtualGatewaySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockVirtualGatewaySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockVirtualGatewaySet) Map() map[string]*v2.VirtualGateway { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.VirtualGateway) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockVirtualGatewaySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockVirtualGatewaySet) Union(set v2sets.VirtualGatewaySet) v2sets.VirtualGatewaySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.VirtualGatewaySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockVirtualGatewaySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockVirtualGatewaySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockVirtualGatewaySet) UnsortedList(filterResource ...func(*v2.VirtualGateway) bool) []*v2.VirtualGateway { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.VirtualGateway) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockVirtualGatewaySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockVirtualGatewaySet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/networking.gloo.solo.io/v2/sets/sets.go b/client-go/networking.gloo.solo.io/v2/sets/sets.go new file mode 100644 index 000000000..046b6abab --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/sets/sets.go @@ -0,0 +1,1129 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2sets + +import ( + networking_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type ExternalServiceSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*networking_gloo_solo_io_v2.ExternalService) bool) []*networking_gloo_solo_io_v2.ExternalService + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*networking_gloo_solo_io_v2.ExternalService) bool) []*networking_gloo_solo_io_v2.ExternalService + // Return the Set as a map of key to resource. + Map() map[string]*networking_gloo_solo_io_v2.ExternalService + // Insert a resource into the set. + Insert(externalService ...*networking_gloo_solo_io_v2.ExternalService) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(externalServiceSet ExternalServiceSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(externalService ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(externalService ezkube.ResourceId) + // Return the union with the provided set + Union(set ExternalServiceSet) ExternalServiceSet + // Return the difference with the provided set + Difference(set ExternalServiceSet) ExternalServiceSet + // Return the intersection with the provided set + Intersection(set ExternalServiceSet) ExternalServiceSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*networking_gloo_solo_io_v2.ExternalService, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ExternalServiceSet + Delta(newSet ExternalServiceSet) sksets.ResourceDelta + // Create a deep copy of the current ExternalServiceSet + Clone() ExternalServiceSet +} + +func makeGenericExternalServiceSet(externalServiceList []*networking_gloo_solo_io_v2.ExternalService) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range externalServiceList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type externalServiceSet struct { + set sksets.ResourceSet +} + +func NewExternalServiceSet(externalServiceList ...*networking_gloo_solo_io_v2.ExternalService) ExternalServiceSet { + return &externalServiceSet{set: makeGenericExternalServiceSet(externalServiceList)} +} + +func NewExternalServiceSetFromList(externalServiceList *networking_gloo_solo_io_v2.ExternalServiceList) ExternalServiceSet { + list := make([]*networking_gloo_solo_io_v2.ExternalService, 0, len(externalServiceList.Items)) + for idx := range externalServiceList.Items { + list = append(list, &externalServiceList.Items[idx]) + } + return &externalServiceSet{set: makeGenericExternalServiceSet(list)} +} + +func (s *externalServiceSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *externalServiceSet) List(filterResource ...func(*networking_gloo_solo_io_v2.ExternalService) bool) []*networking_gloo_solo_io_v2.ExternalService { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*networking_gloo_solo_io_v2.ExternalService)) + }) + } + + objs := s.Generic().List(genericFilters...) + externalServiceList := make([]*networking_gloo_solo_io_v2.ExternalService, 0, len(objs)) + for _, obj := range objs { + externalServiceList = append(externalServiceList, obj.(*networking_gloo_solo_io_v2.ExternalService)) + } + return externalServiceList +} + +func (s *externalServiceSet) UnsortedList(filterResource ...func(*networking_gloo_solo_io_v2.ExternalService) bool) []*networking_gloo_solo_io_v2.ExternalService { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*networking_gloo_solo_io_v2.ExternalService)) + }) + } + + var externalServiceList []*networking_gloo_solo_io_v2.ExternalService + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + externalServiceList = append(externalServiceList, obj.(*networking_gloo_solo_io_v2.ExternalService)) + } + return externalServiceList +} + +func (s *externalServiceSet) Map() map[string]*networking_gloo_solo_io_v2.ExternalService { + if s == nil { + return nil + } + + newMap := map[string]*networking_gloo_solo_io_v2.ExternalService{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*networking_gloo_solo_io_v2.ExternalService) + } + return newMap +} + +func (s *externalServiceSet) Insert( + externalServiceList ...*networking_gloo_solo_io_v2.ExternalService, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range externalServiceList { + s.Generic().Insert(obj) + } +} + +func (s *externalServiceSet) Has(externalService ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(externalService) +} + +func (s *externalServiceSet) Equal( + externalServiceSet ExternalServiceSet, +) bool { + if s == nil { + return externalServiceSet == nil + } + return s.Generic().Equal(externalServiceSet.Generic()) +} + +func (s *externalServiceSet) Delete(ExternalService ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ExternalService) +} + +func (s *externalServiceSet) Union(set ExternalServiceSet) ExternalServiceSet { + if s == nil { + return set + } + return NewExternalServiceSet(append(s.List(), set.List()...)...) +} + +func (s *externalServiceSet) Difference(set ExternalServiceSet) ExternalServiceSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &externalServiceSet{set: newSet} +} + +func (s *externalServiceSet) Intersection(set ExternalServiceSet) ExternalServiceSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var externalServiceList []*networking_gloo_solo_io_v2.ExternalService + for _, obj := range newSet.List() { + externalServiceList = append(externalServiceList, obj.(*networking_gloo_solo_io_v2.ExternalService)) + } + return NewExternalServiceSet(externalServiceList...) +} + +func (s *externalServiceSet) Find(id ezkube.ResourceId) (*networking_gloo_solo_io_v2.ExternalService, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ExternalService %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&networking_gloo_solo_io_v2.ExternalService{}, id) + if err != nil { + return nil, err + } + + return obj.(*networking_gloo_solo_io_v2.ExternalService), nil +} + +func (s *externalServiceSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *externalServiceSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *externalServiceSet) Delta(newSet ExternalServiceSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *externalServiceSet) Clone() ExternalServiceSet { + if s == nil { + return nil + } + return &externalServiceSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type ExternalEndpointSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*networking_gloo_solo_io_v2.ExternalEndpoint) bool) []*networking_gloo_solo_io_v2.ExternalEndpoint + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*networking_gloo_solo_io_v2.ExternalEndpoint) bool) []*networking_gloo_solo_io_v2.ExternalEndpoint + // Return the Set as a map of key to resource. + Map() map[string]*networking_gloo_solo_io_v2.ExternalEndpoint + // Insert a resource into the set. + Insert(externalEndpoint ...*networking_gloo_solo_io_v2.ExternalEndpoint) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(externalEndpointSet ExternalEndpointSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(externalEndpoint ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(externalEndpoint ezkube.ResourceId) + // Return the union with the provided set + Union(set ExternalEndpointSet) ExternalEndpointSet + // Return the difference with the provided set + Difference(set ExternalEndpointSet) ExternalEndpointSet + // Return the intersection with the provided set + Intersection(set ExternalEndpointSet) ExternalEndpointSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*networking_gloo_solo_io_v2.ExternalEndpoint, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ExternalEndpointSet + Delta(newSet ExternalEndpointSet) sksets.ResourceDelta + // Create a deep copy of the current ExternalEndpointSet + Clone() ExternalEndpointSet +} + +func makeGenericExternalEndpointSet(externalEndpointList []*networking_gloo_solo_io_v2.ExternalEndpoint) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range externalEndpointList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type externalEndpointSet struct { + set sksets.ResourceSet +} + +func NewExternalEndpointSet(externalEndpointList ...*networking_gloo_solo_io_v2.ExternalEndpoint) ExternalEndpointSet { + return &externalEndpointSet{set: makeGenericExternalEndpointSet(externalEndpointList)} +} + +func NewExternalEndpointSetFromList(externalEndpointList *networking_gloo_solo_io_v2.ExternalEndpointList) ExternalEndpointSet { + list := make([]*networking_gloo_solo_io_v2.ExternalEndpoint, 0, len(externalEndpointList.Items)) + for idx := range externalEndpointList.Items { + list = append(list, &externalEndpointList.Items[idx]) + } + return &externalEndpointSet{set: makeGenericExternalEndpointSet(list)} +} + +func (s *externalEndpointSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *externalEndpointSet) List(filterResource ...func(*networking_gloo_solo_io_v2.ExternalEndpoint) bool) []*networking_gloo_solo_io_v2.ExternalEndpoint { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*networking_gloo_solo_io_v2.ExternalEndpoint)) + }) + } + + objs := s.Generic().List(genericFilters...) + externalEndpointList := make([]*networking_gloo_solo_io_v2.ExternalEndpoint, 0, len(objs)) + for _, obj := range objs { + externalEndpointList = append(externalEndpointList, obj.(*networking_gloo_solo_io_v2.ExternalEndpoint)) + } + return externalEndpointList +} + +func (s *externalEndpointSet) UnsortedList(filterResource ...func(*networking_gloo_solo_io_v2.ExternalEndpoint) bool) []*networking_gloo_solo_io_v2.ExternalEndpoint { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*networking_gloo_solo_io_v2.ExternalEndpoint)) + }) + } + + var externalEndpointList []*networking_gloo_solo_io_v2.ExternalEndpoint + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + externalEndpointList = append(externalEndpointList, obj.(*networking_gloo_solo_io_v2.ExternalEndpoint)) + } + return externalEndpointList +} + +func (s *externalEndpointSet) Map() map[string]*networking_gloo_solo_io_v2.ExternalEndpoint { + if s == nil { + return nil + } + + newMap := map[string]*networking_gloo_solo_io_v2.ExternalEndpoint{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*networking_gloo_solo_io_v2.ExternalEndpoint) + } + return newMap +} + +func (s *externalEndpointSet) Insert( + externalEndpointList ...*networking_gloo_solo_io_v2.ExternalEndpoint, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range externalEndpointList { + s.Generic().Insert(obj) + } +} + +func (s *externalEndpointSet) Has(externalEndpoint ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(externalEndpoint) +} + +func (s *externalEndpointSet) Equal( + externalEndpointSet ExternalEndpointSet, +) bool { + if s == nil { + return externalEndpointSet == nil + } + return s.Generic().Equal(externalEndpointSet.Generic()) +} + +func (s *externalEndpointSet) Delete(ExternalEndpoint ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ExternalEndpoint) +} + +func (s *externalEndpointSet) Union(set ExternalEndpointSet) ExternalEndpointSet { + if s == nil { + return set + } + return NewExternalEndpointSet(append(s.List(), set.List()...)...) +} + +func (s *externalEndpointSet) Difference(set ExternalEndpointSet) ExternalEndpointSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &externalEndpointSet{set: newSet} +} + +func (s *externalEndpointSet) Intersection(set ExternalEndpointSet) ExternalEndpointSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var externalEndpointList []*networking_gloo_solo_io_v2.ExternalEndpoint + for _, obj := range newSet.List() { + externalEndpointList = append(externalEndpointList, obj.(*networking_gloo_solo_io_v2.ExternalEndpoint)) + } + return NewExternalEndpointSet(externalEndpointList...) +} + +func (s *externalEndpointSet) Find(id ezkube.ResourceId) (*networking_gloo_solo_io_v2.ExternalEndpoint, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ExternalEndpoint %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&networking_gloo_solo_io_v2.ExternalEndpoint{}, id) + if err != nil { + return nil, err + } + + return obj.(*networking_gloo_solo_io_v2.ExternalEndpoint), nil +} + +func (s *externalEndpointSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *externalEndpointSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *externalEndpointSet) Delta(newSet ExternalEndpointSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *externalEndpointSet) Clone() ExternalEndpointSet { + if s == nil { + return nil + } + return &externalEndpointSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type RouteTableSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*networking_gloo_solo_io_v2.RouteTable) bool) []*networking_gloo_solo_io_v2.RouteTable + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*networking_gloo_solo_io_v2.RouteTable) bool) []*networking_gloo_solo_io_v2.RouteTable + // Return the Set as a map of key to resource. + Map() map[string]*networking_gloo_solo_io_v2.RouteTable + // Insert a resource into the set. + Insert(routeTable ...*networking_gloo_solo_io_v2.RouteTable) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(routeTableSet RouteTableSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(routeTable ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(routeTable ezkube.ResourceId) + // Return the union with the provided set + Union(set RouteTableSet) RouteTableSet + // Return the difference with the provided set + Difference(set RouteTableSet) RouteTableSet + // Return the intersection with the provided set + Intersection(set RouteTableSet) RouteTableSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*networking_gloo_solo_io_v2.RouteTable, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another RouteTableSet + Delta(newSet RouteTableSet) sksets.ResourceDelta + // Create a deep copy of the current RouteTableSet + Clone() RouteTableSet +} + +func makeGenericRouteTableSet(routeTableList []*networking_gloo_solo_io_v2.RouteTable) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range routeTableList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type routeTableSet struct { + set sksets.ResourceSet +} + +func NewRouteTableSet(routeTableList ...*networking_gloo_solo_io_v2.RouteTable) RouteTableSet { + return &routeTableSet{set: makeGenericRouteTableSet(routeTableList)} +} + +func NewRouteTableSetFromList(routeTableList *networking_gloo_solo_io_v2.RouteTableList) RouteTableSet { + list := make([]*networking_gloo_solo_io_v2.RouteTable, 0, len(routeTableList.Items)) + for idx := range routeTableList.Items { + list = append(list, &routeTableList.Items[idx]) + } + return &routeTableSet{set: makeGenericRouteTableSet(list)} +} + +func (s *routeTableSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *routeTableSet) List(filterResource ...func(*networking_gloo_solo_io_v2.RouteTable) bool) []*networking_gloo_solo_io_v2.RouteTable { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*networking_gloo_solo_io_v2.RouteTable)) + }) + } + + objs := s.Generic().List(genericFilters...) + routeTableList := make([]*networking_gloo_solo_io_v2.RouteTable, 0, len(objs)) + for _, obj := range objs { + routeTableList = append(routeTableList, obj.(*networking_gloo_solo_io_v2.RouteTable)) + } + return routeTableList +} + +func (s *routeTableSet) UnsortedList(filterResource ...func(*networking_gloo_solo_io_v2.RouteTable) bool) []*networking_gloo_solo_io_v2.RouteTable { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*networking_gloo_solo_io_v2.RouteTable)) + }) + } + + var routeTableList []*networking_gloo_solo_io_v2.RouteTable + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + routeTableList = append(routeTableList, obj.(*networking_gloo_solo_io_v2.RouteTable)) + } + return routeTableList +} + +func (s *routeTableSet) Map() map[string]*networking_gloo_solo_io_v2.RouteTable { + if s == nil { + return nil + } + + newMap := map[string]*networking_gloo_solo_io_v2.RouteTable{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*networking_gloo_solo_io_v2.RouteTable) + } + return newMap +} + +func (s *routeTableSet) Insert( + routeTableList ...*networking_gloo_solo_io_v2.RouteTable, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range routeTableList { + s.Generic().Insert(obj) + } +} + +func (s *routeTableSet) Has(routeTable ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(routeTable) +} + +func (s *routeTableSet) Equal( + routeTableSet RouteTableSet, +) bool { + if s == nil { + return routeTableSet == nil + } + return s.Generic().Equal(routeTableSet.Generic()) +} + +func (s *routeTableSet) Delete(RouteTable ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(RouteTable) +} + +func (s *routeTableSet) Union(set RouteTableSet) RouteTableSet { + if s == nil { + return set + } + return NewRouteTableSet(append(s.List(), set.List()...)...) +} + +func (s *routeTableSet) Difference(set RouteTableSet) RouteTableSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &routeTableSet{set: newSet} +} + +func (s *routeTableSet) Intersection(set RouteTableSet) RouteTableSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var routeTableList []*networking_gloo_solo_io_v2.RouteTable + for _, obj := range newSet.List() { + routeTableList = append(routeTableList, obj.(*networking_gloo_solo_io_v2.RouteTable)) + } + return NewRouteTableSet(routeTableList...) +} + +func (s *routeTableSet) Find(id ezkube.ResourceId) (*networking_gloo_solo_io_v2.RouteTable, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find RouteTable %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&networking_gloo_solo_io_v2.RouteTable{}, id) + if err != nil { + return nil, err + } + + return obj.(*networking_gloo_solo_io_v2.RouteTable), nil +} + +func (s *routeTableSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *routeTableSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *routeTableSet) Delta(newSet RouteTableSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *routeTableSet) Clone() RouteTableSet { + if s == nil { + return nil + } + return &routeTableSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type VirtualDestinationSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*networking_gloo_solo_io_v2.VirtualDestination) bool) []*networking_gloo_solo_io_v2.VirtualDestination + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*networking_gloo_solo_io_v2.VirtualDestination) bool) []*networking_gloo_solo_io_v2.VirtualDestination + // Return the Set as a map of key to resource. + Map() map[string]*networking_gloo_solo_io_v2.VirtualDestination + // Insert a resource into the set. + Insert(virtualDestination ...*networking_gloo_solo_io_v2.VirtualDestination) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(virtualDestinationSet VirtualDestinationSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(virtualDestination ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(virtualDestination ezkube.ResourceId) + // Return the union with the provided set + Union(set VirtualDestinationSet) VirtualDestinationSet + // Return the difference with the provided set + Difference(set VirtualDestinationSet) VirtualDestinationSet + // Return the intersection with the provided set + Intersection(set VirtualDestinationSet) VirtualDestinationSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*networking_gloo_solo_io_v2.VirtualDestination, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another VirtualDestinationSet + Delta(newSet VirtualDestinationSet) sksets.ResourceDelta + // Create a deep copy of the current VirtualDestinationSet + Clone() VirtualDestinationSet +} + +func makeGenericVirtualDestinationSet(virtualDestinationList []*networking_gloo_solo_io_v2.VirtualDestination) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range virtualDestinationList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type virtualDestinationSet struct { + set sksets.ResourceSet +} + +func NewVirtualDestinationSet(virtualDestinationList ...*networking_gloo_solo_io_v2.VirtualDestination) VirtualDestinationSet { + return &virtualDestinationSet{set: makeGenericVirtualDestinationSet(virtualDestinationList)} +} + +func NewVirtualDestinationSetFromList(virtualDestinationList *networking_gloo_solo_io_v2.VirtualDestinationList) VirtualDestinationSet { + list := make([]*networking_gloo_solo_io_v2.VirtualDestination, 0, len(virtualDestinationList.Items)) + for idx := range virtualDestinationList.Items { + list = append(list, &virtualDestinationList.Items[idx]) + } + return &virtualDestinationSet{set: makeGenericVirtualDestinationSet(list)} +} + +func (s *virtualDestinationSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *virtualDestinationSet) List(filterResource ...func(*networking_gloo_solo_io_v2.VirtualDestination) bool) []*networking_gloo_solo_io_v2.VirtualDestination { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*networking_gloo_solo_io_v2.VirtualDestination)) + }) + } + + objs := s.Generic().List(genericFilters...) + virtualDestinationList := make([]*networking_gloo_solo_io_v2.VirtualDestination, 0, len(objs)) + for _, obj := range objs { + virtualDestinationList = append(virtualDestinationList, obj.(*networking_gloo_solo_io_v2.VirtualDestination)) + } + return virtualDestinationList +} + +func (s *virtualDestinationSet) UnsortedList(filterResource ...func(*networking_gloo_solo_io_v2.VirtualDestination) bool) []*networking_gloo_solo_io_v2.VirtualDestination { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*networking_gloo_solo_io_v2.VirtualDestination)) + }) + } + + var virtualDestinationList []*networking_gloo_solo_io_v2.VirtualDestination + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + virtualDestinationList = append(virtualDestinationList, obj.(*networking_gloo_solo_io_v2.VirtualDestination)) + } + return virtualDestinationList +} + +func (s *virtualDestinationSet) Map() map[string]*networking_gloo_solo_io_v2.VirtualDestination { + if s == nil { + return nil + } + + newMap := map[string]*networking_gloo_solo_io_v2.VirtualDestination{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*networking_gloo_solo_io_v2.VirtualDestination) + } + return newMap +} + +func (s *virtualDestinationSet) Insert( + virtualDestinationList ...*networking_gloo_solo_io_v2.VirtualDestination, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range virtualDestinationList { + s.Generic().Insert(obj) + } +} + +func (s *virtualDestinationSet) Has(virtualDestination ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(virtualDestination) +} + +func (s *virtualDestinationSet) Equal( + virtualDestinationSet VirtualDestinationSet, +) bool { + if s == nil { + return virtualDestinationSet == nil + } + return s.Generic().Equal(virtualDestinationSet.Generic()) +} + +func (s *virtualDestinationSet) Delete(VirtualDestination ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(VirtualDestination) +} + +func (s *virtualDestinationSet) Union(set VirtualDestinationSet) VirtualDestinationSet { + if s == nil { + return set + } + return NewVirtualDestinationSet(append(s.List(), set.List()...)...) +} + +func (s *virtualDestinationSet) Difference(set VirtualDestinationSet) VirtualDestinationSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &virtualDestinationSet{set: newSet} +} + +func (s *virtualDestinationSet) Intersection(set VirtualDestinationSet) VirtualDestinationSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var virtualDestinationList []*networking_gloo_solo_io_v2.VirtualDestination + for _, obj := range newSet.List() { + virtualDestinationList = append(virtualDestinationList, obj.(*networking_gloo_solo_io_v2.VirtualDestination)) + } + return NewVirtualDestinationSet(virtualDestinationList...) +} + +func (s *virtualDestinationSet) Find(id ezkube.ResourceId) (*networking_gloo_solo_io_v2.VirtualDestination, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find VirtualDestination %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&networking_gloo_solo_io_v2.VirtualDestination{}, id) + if err != nil { + return nil, err + } + + return obj.(*networking_gloo_solo_io_v2.VirtualDestination), nil +} + +func (s *virtualDestinationSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *virtualDestinationSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *virtualDestinationSet) Delta(newSet VirtualDestinationSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *virtualDestinationSet) Clone() VirtualDestinationSet { + if s == nil { + return nil + } + return &virtualDestinationSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type VirtualGatewaySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*networking_gloo_solo_io_v2.VirtualGateway) bool) []*networking_gloo_solo_io_v2.VirtualGateway + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*networking_gloo_solo_io_v2.VirtualGateway) bool) []*networking_gloo_solo_io_v2.VirtualGateway + // Return the Set as a map of key to resource. + Map() map[string]*networking_gloo_solo_io_v2.VirtualGateway + // Insert a resource into the set. + Insert(virtualGateway ...*networking_gloo_solo_io_v2.VirtualGateway) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(virtualGatewaySet VirtualGatewaySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(virtualGateway ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(virtualGateway ezkube.ResourceId) + // Return the union with the provided set + Union(set VirtualGatewaySet) VirtualGatewaySet + // Return the difference with the provided set + Difference(set VirtualGatewaySet) VirtualGatewaySet + // Return the intersection with the provided set + Intersection(set VirtualGatewaySet) VirtualGatewaySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*networking_gloo_solo_io_v2.VirtualGateway, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another VirtualGatewaySet + Delta(newSet VirtualGatewaySet) sksets.ResourceDelta + // Create a deep copy of the current VirtualGatewaySet + Clone() VirtualGatewaySet +} + +func makeGenericVirtualGatewaySet(virtualGatewayList []*networking_gloo_solo_io_v2.VirtualGateway) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range virtualGatewayList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type virtualGatewaySet struct { + set sksets.ResourceSet +} + +func NewVirtualGatewaySet(virtualGatewayList ...*networking_gloo_solo_io_v2.VirtualGateway) VirtualGatewaySet { + return &virtualGatewaySet{set: makeGenericVirtualGatewaySet(virtualGatewayList)} +} + +func NewVirtualGatewaySetFromList(virtualGatewayList *networking_gloo_solo_io_v2.VirtualGatewayList) VirtualGatewaySet { + list := make([]*networking_gloo_solo_io_v2.VirtualGateway, 0, len(virtualGatewayList.Items)) + for idx := range virtualGatewayList.Items { + list = append(list, &virtualGatewayList.Items[idx]) + } + return &virtualGatewaySet{set: makeGenericVirtualGatewaySet(list)} +} + +func (s *virtualGatewaySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *virtualGatewaySet) List(filterResource ...func(*networking_gloo_solo_io_v2.VirtualGateway) bool) []*networking_gloo_solo_io_v2.VirtualGateway { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*networking_gloo_solo_io_v2.VirtualGateway)) + }) + } + + objs := s.Generic().List(genericFilters...) + virtualGatewayList := make([]*networking_gloo_solo_io_v2.VirtualGateway, 0, len(objs)) + for _, obj := range objs { + virtualGatewayList = append(virtualGatewayList, obj.(*networking_gloo_solo_io_v2.VirtualGateway)) + } + return virtualGatewayList +} + +func (s *virtualGatewaySet) UnsortedList(filterResource ...func(*networking_gloo_solo_io_v2.VirtualGateway) bool) []*networking_gloo_solo_io_v2.VirtualGateway { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*networking_gloo_solo_io_v2.VirtualGateway)) + }) + } + + var virtualGatewayList []*networking_gloo_solo_io_v2.VirtualGateway + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + virtualGatewayList = append(virtualGatewayList, obj.(*networking_gloo_solo_io_v2.VirtualGateway)) + } + return virtualGatewayList +} + +func (s *virtualGatewaySet) Map() map[string]*networking_gloo_solo_io_v2.VirtualGateway { + if s == nil { + return nil + } + + newMap := map[string]*networking_gloo_solo_io_v2.VirtualGateway{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*networking_gloo_solo_io_v2.VirtualGateway) + } + return newMap +} + +func (s *virtualGatewaySet) Insert( + virtualGatewayList ...*networking_gloo_solo_io_v2.VirtualGateway, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range virtualGatewayList { + s.Generic().Insert(obj) + } +} + +func (s *virtualGatewaySet) Has(virtualGateway ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(virtualGateway) +} + +func (s *virtualGatewaySet) Equal( + virtualGatewaySet VirtualGatewaySet, +) bool { + if s == nil { + return virtualGatewaySet == nil + } + return s.Generic().Equal(virtualGatewaySet.Generic()) +} + +func (s *virtualGatewaySet) Delete(VirtualGateway ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(VirtualGateway) +} + +func (s *virtualGatewaySet) Union(set VirtualGatewaySet) VirtualGatewaySet { + if s == nil { + return set + } + return NewVirtualGatewaySet(append(s.List(), set.List()...)...) +} + +func (s *virtualGatewaySet) Difference(set VirtualGatewaySet) VirtualGatewaySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &virtualGatewaySet{set: newSet} +} + +func (s *virtualGatewaySet) Intersection(set VirtualGatewaySet) VirtualGatewaySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var virtualGatewayList []*networking_gloo_solo_io_v2.VirtualGateway + for _, obj := range newSet.List() { + virtualGatewayList = append(virtualGatewayList, obj.(*networking_gloo_solo_io_v2.VirtualGateway)) + } + return NewVirtualGatewaySet(virtualGatewayList...) +} + +func (s *virtualGatewaySet) Find(id ezkube.ResourceId) (*networking_gloo_solo_io_v2.VirtualGateway, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find VirtualGateway %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&networking_gloo_solo_io_v2.VirtualGateway{}, id) + if err != nil { + return nil, err + } + + return obj.(*networking_gloo_solo_io_v2.VirtualGateway), nil +} + +func (s *virtualGatewaySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *virtualGatewaySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *virtualGatewaySet) Delta(newSet VirtualGatewaySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *virtualGatewaySet) Clone() VirtualGatewaySet { + if s == nil { + return nil + } + return &virtualGatewaySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/networking.gloo.solo.io/v2/type_helpers.go b/client-go/networking.gloo.solo.io/v2/type_helpers.go new file mode 100644 index 000000000..6a4142b27 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/type_helpers.go @@ -0,0 +1,19 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +// ExternalServiceSlice represents a slice of *ExternalService +type ExternalServiceSlice []*ExternalService + +// ExternalEndpointSlice represents a slice of *ExternalEndpoint +type ExternalEndpointSlice []*ExternalEndpoint + +// RouteTableSlice represents a slice of *RouteTable +type RouteTableSlice []*RouteTable + +// VirtualDestinationSlice represents a slice of *VirtualDestination +type VirtualDestinationSlice []*VirtualDestination + +// VirtualGatewaySlice represents a slice of *VirtualGateway +type VirtualGatewaySlice []*VirtualGateway diff --git a/client-go/networking.gloo.solo.io/v2/types.go b/client-go/networking.gloo.solo.io/v2/types.go new file mode 100644 index 000000000..6c77d015f --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/types.go @@ -0,0 +1,192 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ExternalService +var ExternalServiceGVK = schema.GroupVersionKind{ + Group: "networking.gloo.solo.io", + Version: "v2", + Kind: "ExternalService", +} + +// ExternalService is the Schema for the externalService API +type ExternalService struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ExternalServiceSpec `json:"spec,omitempty"` + Status ExternalServiceStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ExternalService) GVK() schema.GroupVersionKind { + return ExternalServiceGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ExternalServiceList contains a list of ExternalService +type ExternalServiceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ExternalService `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ExternalEndpoint +var ExternalEndpointGVK = schema.GroupVersionKind{ + Group: "networking.gloo.solo.io", + Version: "v2", + Kind: "ExternalEndpoint", +} + +// ExternalEndpoint is the Schema for the externalEndpoint API +type ExternalEndpoint struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ExternalEndpointSpec `json:"spec,omitempty"` + Status ExternalEndpointStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ExternalEndpoint) GVK() schema.GroupVersionKind { + return ExternalEndpointGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ExternalEndpointList contains a list of ExternalEndpoint +type ExternalEndpointList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ExternalEndpoint `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for RouteTable +var RouteTableGVK = schema.GroupVersionKind{ + Group: "networking.gloo.solo.io", + Version: "v2", + Kind: "RouteTable", +} + +// RouteTable is the Schema for the routeTable API +type RouteTable struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec RouteTableSpec `json:"spec,omitempty"` + Status RouteTableStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (RouteTable) GVK() schema.GroupVersionKind { + return RouteTableGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RouteTableList contains a list of RouteTable +type RouteTableList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RouteTable `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for VirtualDestination +var VirtualDestinationGVK = schema.GroupVersionKind{ + Group: "networking.gloo.solo.io", + Version: "v2", + Kind: "VirtualDestination", +} + +// VirtualDestination is the Schema for the virtualDestination API +type VirtualDestination struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec VirtualDestinationSpec `json:"spec,omitempty"` + Status VirtualDestinationStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (VirtualDestination) GVK() schema.GroupVersionKind { + return VirtualDestinationGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// VirtualDestinationList contains a list of VirtualDestination +type VirtualDestinationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []VirtualDestination `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for VirtualGateway +var VirtualGatewayGVK = schema.GroupVersionKind{ + Group: "networking.gloo.solo.io", + Version: "v2", + Kind: "VirtualGateway", +} + +// VirtualGateway is the Schema for the virtualGateway API +type VirtualGateway struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec VirtualGatewaySpec `json:"spec,omitempty"` + Status VirtualGatewayStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (VirtualGateway) GVK() schema.GroupVersionKind { + return VirtualGatewayGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// VirtualGatewayList contains a list of VirtualGateway +type VirtualGatewayList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []VirtualGateway `json:"items"` +} + +func init() { + SchemeBuilder.Register(&ExternalService{}, &ExternalServiceList{}) + SchemeBuilder.Register(&ExternalEndpoint{}, &ExternalEndpointList{}) + SchemeBuilder.Register(&RouteTable{}, &RouteTableList{}) + SchemeBuilder.Register(&VirtualDestination{}, &VirtualDestinationList{}) + SchemeBuilder.Register(&VirtualGateway{}, &VirtualGatewayList{}) +} diff --git a/client-go/networking.gloo.solo.io/v2/virtual_destination.pb.clone.go b/client-go/networking.gloo.solo.io/v2/virtual_destination.pb.clone.go new file mode 100644 index 000000000..6b353a15e --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/virtual_destination.pb.clone.go @@ -0,0 +1,209 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/virtual_destination.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *VirtualDestinationSpec) Clone() proto.Message { + var target *VirtualDestinationSpec + if m == nil { + return target + } + target = &VirtualDestinationSpec{} + + if m.GetHosts() != nil { + target.Hosts = make([]string, len(m.GetHosts())) + for idx, v := range m.GetHosts() { + + target.Hosts[idx] = v + + } + } + + if m.GetServices() != nil { + target.Services = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector, len(m.GetServices())) + for idx, v := range m.GetServices() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Services[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.Services[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + } + } + + if m.GetExternalServices() != nil { + target.ExternalServices = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector, len(m.GetExternalServices())) + for idx, v := range m.GetExternalServices() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ExternalServices[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.ExternalServices[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + } + } + + if m.GetExternalWorkloads() != nil { + target.ExternalWorkloads = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector, len(m.GetExternalWorkloads())) + for idx, v := range m.GetExternalWorkloads() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ExternalWorkloads[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.ExternalWorkloads[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + } + } + + if m.GetPorts() != nil { + target.Ports = make([]*VirtualDestinationSpec_PortMapping, len(m.GetPorts())) + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Ports[idx] = h.Clone().(*VirtualDestinationSpec_PortMapping) + } else { + target.Ports[idx] = proto.Clone(v).(*VirtualDestinationSpec_PortMapping) + } + + } + } + + if h, ok := interface{}(m.GetClientMode()).(clone.Cloner); ok { + target.ClientMode = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ClientMode) + } else { + target.ClientMode = proto.Clone(m.GetClientMode()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ClientMode) + } + + return target +} + +// Clone function +func (m *VirtualDestinationStatus) Clone() proto.Message { + var target *VirtualDestinationStatus + if m == nil { + return target + } + target = &VirtualDestinationStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + if m.GetNumAppliedDestinationPolicies() != nil { + target.NumAppliedDestinationPolicies = make(map[string]uint32, len(m.GetNumAppliedDestinationPolicies())) + for k, v := range m.GetNumAppliedDestinationPolicies() { + + target.NumAppliedDestinationPolicies[k] = v + + } + } + + target.NumSelectedBackingServices = m.GetNumSelectedBackingServices() + + target.OwnedByWorkspace = m.GetOwnedByWorkspace() + + return target +} + +// Clone function +func (m *VirtualDestinationReport) Clone() proto.Message { + var target *VirtualDestinationReport + if m == nil { + return target + } + target = &VirtualDestinationReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetAppliedDestinationPolicies() != nil { + target.AppliedDestinationPolicies = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.AppliedDestinationPortPolicies, len(m.GetAppliedDestinationPolicies())) + for k, v := range m.GetAppliedDestinationPolicies() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AppliedDestinationPolicies[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.AppliedDestinationPortPolicies) + } else { + target.AppliedDestinationPolicies[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.AppliedDestinationPortPolicies) + } + + } + } + + if m.GetSelectedBackingServices() != nil { + target.SelectedBackingServices = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetSelectedBackingServices())) + for idx, v := range m.GetSelectedBackingServices() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedBackingServices[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.SelectedBackingServices[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + return target +} + +// Clone function +func (m *VirtualDestinationSpec_PortMapping) Clone() proto.Message { + var target *VirtualDestinationSpec_PortMapping + if m == nil { + return target + } + target = &VirtualDestinationSpec_PortMapping{} + + target.Number = m.GetNumber() + + target.Protocol = m.GetProtocol() + + if h, ok := interface{}(m.GetTargetPort()).(clone.Cloner); ok { + target.TargetPort = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector) + } else { + target.TargetPort = proto.Clone(m.GetTargetPort()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector) + } + + return target +} diff --git a/client-go/networking.gloo.solo.io/v2/virtual_destination.pb.equal.go b/client-go/networking.gloo.solo.io/v2/virtual_destination.pb.equal.go new file mode 100644 index 000000000..7a82e6474 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/virtual_destination.pb.equal.go @@ -0,0 +1,313 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/virtual_destination.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *VirtualDestinationSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VirtualDestinationSpec) + if !ok { + that2, ok := that.(VirtualDestinationSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetHosts()) != len(target.GetHosts()) { + return false + } + for idx, v := range m.GetHosts() { + + if strings.Compare(v, target.GetHosts()[idx]) != 0 { + return false + } + + } + + if len(m.GetServices()) != len(target.GetServices()) { + return false + } + for idx, v := range m.GetServices() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetServices()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetServices()[idx]) { + return false + } + } + + } + + if len(m.GetExternalServices()) != len(target.GetExternalServices()) { + return false + } + for idx, v := range m.GetExternalServices() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetExternalServices()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetExternalServices()[idx]) { + return false + } + } + + } + + if len(m.GetExternalWorkloads()) != len(target.GetExternalWorkloads()) { + return false + } + for idx, v := range m.GetExternalWorkloads() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetExternalWorkloads()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetExternalWorkloads()[idx]) { + return false + } + } + + } + + if len(m.GetPorts()) != len(target.GetPorts()) { + return false + } + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPorts()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetClientMode()).(equality.Equalizer); ok { + if !h.Equal(target.GetClientMode()) { + return false + } + } else { + if !proto.Equal(m.GetClientMode(), target.GetClientMode()) { + return false + } + } + + return true +} + +// Equal function +func (m *VirtualDestinationStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VirtualDestinationStatus) + if !ok { + that2, ok := that.(VirtualDestinationStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if len(m.GetNumAppliedDestinationPolicies()) != len(target.GetNumAppliedDestinationPolicies()) { + return false + } + for k, v := range m.GetNumAppliedDestinationPolicies() { + + if v != target.GetNumAppliedDestinationPolicies()[k] { + return false + } + + } + + if m.GetNumSelectedBackingServices() != target.GetNumSelectedBackingServices() { + return false + } + + if strings.Compare(m.GetOwnedByWorkspace(), target.GetOwnedByWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *VirtualDestinationReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VirtualDestinationReport) + if !ok { + that2, ok := that.(VirtualDestinationReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetAppliedDestinationPolicies()) != len(target.GetAppliedDestinationPolicies()) { + return false + } + for k, v := range m.GetAppliedDestinationPolicies() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAppliedDestinationPolicies()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetAppliedDestinationPolicies()[k]) { + return false + } + } + + } + + if len(m.GetSelectedBackingServices()) != len(target.GetSelectedBackingServices()) { + return false + } + for idx, v := range m.GetSelectedBackingServices() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedBackingServices()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedBackingServices()[idx]) { + return false + } + } + + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *VirtualDestinationSpec_PortMapping) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VirtualDestinationSpec_PortMapping) + if !ok { + that2, ok := that.(VirtualDestinationSpec_PortMapping) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetNumber() != target.GetNumber() { + return false + } + + if strings.Compare(m.GetProtocol(), target.GetProtocol()) != 0 { + return false + } + + if h, ok := interface{}(m.GetTargetPort()).(equality.Equalizer); ok { + if !h.Equal(target.GetTargetPort()) { + return false + } + } else { + if !proto.Equal(m.GetTargetPort(), target.GetTargetPort()) { + return false + } + } + + return true +} diff --git a/client-go/networking.gloo.solo.io/v2/virtual_destination.pb.go b/client-go/networking.gloo.solo.io/v2/virtual_destination.pb.go new file mode 100644 index 000000000..fa788b76e --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/virtual_destination.pb.go @@ -0,0 +1,639 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/virtual_destination.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// VirtualDestinations define groupings of backing destinations (for network traffic). +type VirtualDestinationSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: The set of custom hosts for which this virtual destination will serve traffic. + Hosts []string `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"` + // Selectors for the backing K8s services that comprise this VirtualDestination. + // A service will be selected if it matches any of the given selectors. + // Currently only one K8s Service can be selected per cluster. If more than one service is selected + // within a cluster, the VirtualDestination will report a warning and the oldest created service will be selected. + // When a request is routed through the VirtualDestination, it will be forwarded to one of the backing services, selected at random. + // (To forward to the service on the local cluster only, a FailoverPolicy and/or OutlierDetectionPolicy must be configured.) + // If a deployment is unavailable, requests will not be forwarded to that deployment. + Services []*v2.ObjectSelector `protobuf:"bytes,2,rep,name=services,proto3" json:"services,omitempty"` + // Selectors for the backing External services that comprise this VirtualDestination. + // An external service will be selected if it matches any of the given selectors. + // Multiple External Services can be selected. + ExternalServices []*v2.ObjectSelector `protobuf:"bytes,3,rep,name=external_services,json=externalServices,proto3" json:"external_services,omitempty"` + // Selectors for the backing ExternalWorkloads that comprise this VirtualDestination. + // Currently only one ExternalWorkload can be selected per cluster. If more than one external workload is + // selected within a cluster, the VirtualDestination will report a warning and the oldest created external workload will be selected. + // When a request is routed through the VirtualDestination, it will be forwarded to one + // of the backing external workloads, selected at random. + // (To forward to the service on the local cluster only, a FailoverPolicy and/or OutlierDetectionPolicy must be configured.) + ExternalWorkloads []*v2.ObjectSelector `protobuf:"bytes,6,rep,name=external_workloads,json=externalWorkloads,proto3" json:"external_workloads,omitempty"` + // Required: The ports on which the VirtualDestination will serve traffic. Must have at least one port. + Ports []*VirtualDestinationSpec_PortMapping `protobuf:"bytes,4,rep,name=ports,proto3" json:"ports,omitempty"` + // Optional: Client mode determines how the VirtualDestination will be translated. + // If nil, the mode is inherited from the WorkspaceSettings defined by the admin. + ClientMode *v2.ClientMode `protobuf:"bytes,5,opt,name=client_mode,json=clientMode,proto3" json:"client_mode,omitempty"` +} + +func (x *VirtualDestinationSpec) Reset() { + *x = VirtualDestinationSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VirtualDestinationSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualDestinationSpec) ProtoMessage() {} + +func (x *VirtualDestinationSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualDestinationSpec.ProtoReflect.Descriptor instead. +func (*VirtualDestinationSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDescGZIP(), []int{0} +} + +func (x *VirtualDestinationSpec) GetHosts() []string { + if x != nil { + return x.Hosts + } + return nil +} + +func (x *VirtualDestinationSpec) GetServices() []*v2.ObjectSelector { + if x != nil { + return x.Services + } + return nil +} + +func (x *VirtualDestinationSpec) GetExternalServices() []*v2.ObjectSelector { + if x != nil { + return x.ExternalServices + } + return nil +} + +func (x *VirtualDestinationSpec) GetExternalWorkloads() []*v2.ObjectSelector { + if x != nil { + return x.ExternalWorkloads + } + return nil +} + +func (x *VirtualDestinationSpec) GetPorts() []*VirtualDestinationSpec_PortMapping { + if x != nil { + return x.Ports + } + return nil +} + +func (x *VirtualDestinationSpec) GetClientMode() *v2.ClientMode { + if x != nil { + return x.ClientMode + } + return nil +} + +// The status of the resource after it is applied to your Gloo environment. +type VirtualDestinationStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // A map of policy GVK to policy references for all policies that are applied on this + // resource. + // "ExtAuthPolicy" -> ["policy-1", "policy-2"] + // "AccesssPolicy" -> ["policy-3"] + NumAppliedDestinationPolicies map[string]uint32 `protobuf:"bytes,2,rep,name=num_applied_destination_policies,json=numAppliedDestinationPolicies,proto3" json:"num_applied_destination_policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + // The number of destinations (across all clusters) that back this virtual destination. + NumSelectedBackingServices uint32 `protobuf:"varint,3,opt,name=num_selected_backing_services,json=numSelectedBackingServices,proto3" json:"num_selected_backing_services,omitempty"` + // The name of the workspace that owns the virtual destination. + OwnedByWorkspace string `protobuf:"bytes,4,opt,name=owned_by_workspace,json=ownedByWorkspace,proto3" json:"owned_by_workspace,omitempty"` +} + +func (x *VirtualDestinationStatus) Reset() { + *x = VirtualDestinationStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VirtualDestinationStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualDestinationStatus) ProtoMessage() {} + +func (x *VirtualDestinationStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualDestinationStatus.ProtoReflect.Descriptor instead. +func (*VirtualDestinationStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDescGZIP(), []int{1} +} + +func (x *VirtualDestinationStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *VirtualDestinationStatus) GetNumAppliedDestinationPolicies() map[string]uint32 { + if x != nil { + return x.NumAppliedDestinationPolicies + } + return nil +} + +func (x *VirtualDestinationStatus) GetNumSelectedBackingServices() uint32 { + if x != nil { + return x.NumSelectedBackingServices + } + return 0 +} + +func (x *VirtualDestinationStatus) GetOwnedByWorkspace() string { + if x != nil { + return x.OwnedByWorkspace + } + return "" +} + +// reflects the report of the VirtualDestination +type VirtualDestinationReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A map of policy GVK to policy references for all policies that are applied on this + // resource. + AppliedDestinationPolicies map[string]*v2.AppliedDestinationPortPolicies `protobuf:"bytes,2,rep,name=applied_destination_policies,json=appliedDestinationPolicies,proto3" json:"applied_destination_policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of destinations that back this virtual destination. + SelectedBackingServices []*v2.DestinationReference `protobuf:"bytes,3,rep,name=selected_backing_services,json=selectedBackingServices,proto3" json:"selected_backing_services,omitempty"` + // The name of the workspace that owns the virtual destination. + OwnerWorkspace string `protobuf:"bytes,4,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` +} + +func (x *VirtualDestinationReport) Reset() { + *x = VirtualDestinationReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VirtualDestinationReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualDestinationReport) ProtoMessage() {} + +func (x *VirtualDestinationReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualDestinationReport.ProtoReflect.Descriptor instead. +func (*VirtualDestinationReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDescGZIP(), []int{2} +} + +func (x *VirtualDestinationReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *VirtualDestinationReport) GetAppliedDestinationPolicies() map[string]*v2.AppliedDestinationPortPolicies { + if x != nil { + return x.AppliedDestinationPolicies + } + return nil +} + +func (x *VirtualDestinationReport) GetSelectedBackingServices() []*v2.DestinationReference { + if x != nil { + return x.SelectedBackingServices + } + return nil +} + +func (x *VirtualDestinationReport) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +// PortMapping establishes a new port that will be exposed on a VirtualDestination. +type VirtualDestinationSpec_PortMapping struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The port number. Must be a valid, non-negative integer port number. + Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` + // The protocol used in communication with this destination + // MUST be one of the following: HTTP, HTTPS, GRPC, HTTP2, MONGO, TCP, TLS. + // Note that the VirtualDestination protocol may not match the protocol of the backing k8s Service(s). + // For example, VirtualDestinations pointing to GRPC services will need the protocol set to GRPC. + // The prefix of the k8s Service port's name will typically match the needed PROTOCOL in such cases. + Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"` + // (optional): The port number or name used to match the corresponding port on the + // VirtualDestination's backing Services and ExternalServices. + // All of the backing services for this VirtualDestination must contain + // this port, matching by name or number. + // If unspecified, will default to the value of the port number field above. + TargetPort *v2.PortSelector `protobuf:"bytes,3,opt,name=target_port,json=targetPort,proto3" json:"target_port,omitempty"` +} + +func (x *VirtualDestinationSpec_PortMapping) Reset() { + *x = VirtualDestinationSpec_PortMapping{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VirtualDestinationSpec_PortMapping) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualDestinationSpec_PortMapping) ProtoMessage() {} + +func (x *VirtualDestinationSpec_PortMapping) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualDestinationSpec_PortMapping.ProtoReflect.Descriptor instead. +func (*VirtualDestinationSpec_PortMapping) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *VirtualDestinationSpec_PortMapping) GetNumber() uint32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *VirtualDestinationSpec_PortMapping) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *VirtualDestinationSpec_PortMapping) GetTargetPort() *v2.PortSelector { + if x != nil { + return x.TargetPort + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDesc = []byte{ + 0x0a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, + 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x17, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x04, + 0x0a, 0x16, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x3f, + 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, + 0x50, 0x0a, 0x11, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, + 0x10, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x12, 0x52, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x77, 0x6f, + 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x11, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, + 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x51, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, + 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, + 0x67, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x1a, 0x85, 0x01, 0x0a, 0x0b, 0x50, + 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x42, + 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, + 0x72, 0x74, 0x22, 0xb2, 0x03, 0x0a, 0x18, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x9d, 0x01, 0x0a, 0x20, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x54, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, + 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x4e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1d, 0x6e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x6e, 0x75, 0x6d, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x77, 0x6e, 0x65, 0x64, + 0x5f, 0x62, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x50, 0x0a, 0x22, 0x4e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x84, 0x05, 0x0a, 0x18, 0x56, 0x69, 0x72, 0x74, + 0x75, 0x61, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x12, 0x61, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x1c, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, + 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x1a, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x65, 0x0a, + 0x19, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x17, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x5a, 0x0a, + 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x82, 0x01, 0x0a, 0x1f, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x58, + 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, + 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_goTypes = []interface{}{ + (*VirtualDestinationSpec)(nil), // 0: networking.gloo.solo.io.VirtualDestinationSpec + (*VirtualDestinationStatus)(nil), // 1: networking.gloo.solo.io.VirtualDestinationStatus + (*VirtualDestinationReport)(nil), // 2: networking.gloo.solo.io.VirtualDestinationReport + (*VirtualDestinationSpec_PortMapping)(nil), // 3: networking.gloo.solo.io.VirtualDestinationSpec.PortMapping + nil, // 4: networking.gloo.solo.io.VirtualDestinationStatus.NumAppliedDestinationPoliciesEntry + nil, // 5: networking.gloo.solo.io.VirtualDestinationReport.WorkspacesEntry + nil, // 6: networking.gloo.solo.io.VirtualDestinationReport.AppliedDestinationPoliciesEntry + (*v2.ObjectSelector)(nil), // 7: common.gloo.solo.io.ObjectSelector + (*v2.ClientMode)(nil), // 8: common.gloo.solo.io.ClientMode + (*v2.Status)(nil), // 9: common.gloo.solo.io.Status + (*v2.DestinationReference)(nil), // 10: common.gloo.solo.io.DestinationReference + (*v2.PortSelector)(nil), // 11: common.gloo.solo.io.PortSelector + (*v2.Report)(nil), // 12: common.gloo.solo.io.Report + (*v2.AppliedDestinationPortPolicies)(nil), // 13: common.gloo.solo.io.AppliedDestinationPortPolicies +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_depIdxs = []int32{ + 7, // 0: networking.gloo.solo.io.VirtualDestinationSpec.services:type_name -> common.gloo.solo.io.ObjectSelector + 7, // 1: networking.gloo.solo.io.VirtualDestinationSpec.external_services:type_name -> common.gloo.solo.io.ObjectSelector + 7, // 2: networking.gloo.solo.io.VirtualDestinationSpec.external_workloads:type_name -> common.gloo.solo.io.ObjectSelector + 3, // 3: networking.gloo.solo.io.VirtualDestinationSpec.ports:type_name -> networking.gloo.solo.io.VirtualDestinationSpec.PortMapping + 8, // 4: networking.gloo.solo.io.VirtualDestinationSpec.client_mode:type_name -> common.gloo.solo.io.ClientMode + 9, // 5: networking.gloo.solo.io.VirtualDestinationStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 6: networking.gloo.solo.io.VirtualDestinationStatus.num_applied_destination_policies:type_name -> networking.gloo.solo.io.VirtualDestinationStatus.NumAppliedDestinationPoliciesEntry + 5, // 7: networking.gloo.solo.io.VirtualDestinationReport.workspaces:type_name -> networking.gloo.solo.io.VirtualDestinationReport.WorkspacesEntry + 6, // 8: networking.gloo.solo.io.VirtualDestinationReport.applied_destination_policies:type_name -> networking.gloo.solo.io.VirtualDestinationReport.AppliedDestinationPoliciesEntry + 10, // 9: networking.gloo.solo.io.VirtualDestinationReport.selected_backing_services:type_name -> common.gloo.solo.io.DestinationReference + 11, // 10: networking.gloo.solo.io.VirtualDestinationSpec.PortMapping.target_port:type_name -> common.gloo.solo.io.PortSelector + 12, // 11: networking.gloo.solo.io.VirtualDestinationReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 13, // 12: networking.gloo.solo.io.VirtualDestinationReport.AppliedDestinationPoliciesEntry.value:type_name -> common.gloo.solo.io.AppliedDestinationPortPolicies + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VirtualDestinationSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VirtualDestinationStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VirtualDestinationReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VirtualDestinationSpec_PortMapping); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_destination_proto_depIdxs = nil +} diff --git a/client-go/networking.gloo.solo.io/v2/virtual_destination.pb.hash.go b/client-go/networking.gloo.solo.io/v2/virtual_destination.pb.hash.go new file mode 100644 index 000000000..f850b46da --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/virtual_destination.pb.hash.go @@ -0,0 +1,402 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/virtual_destination.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *VirtualDestinationSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.VirtualDestinationSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetHosts() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetServices() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetExternalServices() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetExternalWorkloads() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetClientMode()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClientMode")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClientMode(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClientMode")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *VirtualDestinationStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.VirtualDestinationStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetNumAppliedDestinationPolicies() { + innerHash.Reset() + + err = binary.Write(innerHash, binary.LittleEndian, v) + if err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedBackingServices()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetOwnedByWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *VirtualDestinationReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.VirtualDestinationReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAppliedDestinationPolicies() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedBackingServices() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *VirtualDestinationSpec_PortMapping) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.VirtualDestinationSpec_PortMapping")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumber()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetProtocol())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTargetPort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TargetPort")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTargetPort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TargetPort")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/networking.gloo.solo.io/v2/virtual_gateway.pb.clone.go b/client-go/networking.gloo.solo.io/v2/virtual_gateway.pb.clone.go new file mode 100644 index 000000000..9881513c8 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/virtual_gateway.pb.clone.go @@ -0,0 +1,442 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/virtual_gateway.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *VirtualGatewaySpec) Clone() proto.Message { + var target *VirtualGatewaySpec + if m == nil { + return target + } + target = &VirtualGatewaySpec{} + + if m.GetWorkloads() != nil { + target.Workloads = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector, len(m.GetWorkloads())) + for idx, v := range m.GetWorkloads() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workloads[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector) + } else { + target.Workloads[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector) + } + + } + } + + if m.GetListeners() != nil { + target.Listeners = make([]*VirtualGatewaySpec_Listener, len(m.GetListeners())) + for idx, v := range m.GetListeners() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Listeners[idx] = h.Clone().(*VirtualGatewaySpec_Listener) + } else { + target.Listeners[idx] = proto.Clone(v).(*VirtualGatewaySpec_Listener) + } + + } + } + + return target +} + +// Clone function +func (m *TLSConfig) Clone() proto.Message { + var target *TLSConfig + if m == nil { + return target + } + target = &TLSConfig{} + + if m.GetVerifySubjectAltName() != nil { + target.VerifySubjectAltName = make([]string, len(m.GetVerifySubjectAltName())) + for idx, v := range m.GetVerifySubjectAltName() { + + target.VerifySubjectAltName[idx] = v + + } + } + + if h, ok := interface{}(m.GetParameters()).(clone.Cloner); ok { + target.Parameters = h.Clone().(*TLSConfig_Parameters) + } else { + target.Parameters = proto.Clone(m.GetParameters()).(*TLSConfig_Parameters) + } + + target.Mode = m.GetMode() + + switch m.Certificates.(type) { + + case *TLSConfig_SecretName: + + target.Certificates = &TLSConfig_SecretName{ + SecretName: m.GetSecretName(), + } + + case *TLSConfig_Files_: + + if h, ok := interface{}(m.GetFiles()).(clone.Cloner); ok { + target.Certificates = &TLSConfig_Files_{ + Files: h.Clone().(*TLSConfig_Files), + } + } else { + target.Certificates = &TLSConfig_Files_{ + Files: proto.Clone(m.GetFiles()).(*TLSConfig_Files), + } + } + + } + + return target +} + +// Clone function +func (m *VirtualGatewayStatus) Clone() proto.Message { + var target *VirtualGatewayStatus + if m == nil { + return target + } + target = &VirtualGatewayStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.RouteTablesCount = m.GetRouteTablesCount() + + target.SelectedWorkloadsCount = m.GetSelectedWorkloadsCount() + + target.ExternalServicesCount = m.GetExternalServicesCount() + + return target +} + +// Clone function +func (m *VirtualGatewayReport) Clone() proto.Message { + var target *VirtualGatewayReport + if m == nil { + return target + } + target = &VirtualGatewayReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetAllowedRouteTables() != nil { + target.AllowedRouteTables = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetAllowedRouteTables())) + for idx, v := range m.GetAllowedRouteTables() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AllowedRouteTables[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.AllowedRouteTables[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + if m.GetSelectedWorkloads() != nil { + target.SelectedWorkloads = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetSelectedWorkloads())) + for idx, v := range m.GetSelectedWorkloads() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedWorkloads[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.SelectedWorkloads[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + if m.GetExposedExternalServices() != nil { + target.ExposedExternalServices = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetExposedExternalServices())) + for idx, v := range m.GetExposedExternalServices() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ExposedExternalServices[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.ExposedExternalServices[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + if m.GetListenerRouteTables() != nil { + target.ListenerRouteTables = make([]*ListenerRouteTable, len(m.GetListenerRouteTables())) + for idx, v := range m.GetListenerRouteTables() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ListenerRouteTables[idx] = h.Clone().(*ListenerRouteTable) + } else { + target.ListenerRouteTables[idx] = proto.Clone(v).(*ListenerRouteTable) + } + + } + } + + return target +} + +// Clone function +func (m *ListenerRouteTable) Clone() proto.Message { + var target *ListenerRouteTable + if m == nil { + return target + } + target = &ListenerRouteTable{} + + target.ListenerIdx = m.GetListenerIdx() + + if h, ok := interface{}(m.GetRouteTableRef()).(clone.Cloner); ok { + target.RouteTableRef = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.RouteTableRef = proto.Clone(m.GetRouteTableRef()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + return target +} + +// Clone function +func (m *VirtualGatewaySpec_Listener) Clone() proto.Message { + var target *VirtualGatewaySpec_Listener + if m == nil { + return target + } + target = &VirtualGatewaySpec_Listener{} + + if h, ok := interface{}(m.GetPort()).(clone.Cloner); ok { + target.Port = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector) + } else { + target.Port = proto.Clone(m.GetPort()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PortSelector) + } + + if m.GetAllowedRouteTables() != nil { + target.AllowedRouteTables = make([]*VirtualGatewaySpec_Listener_RouteTableFilter, len(m.GetAllowedRouteTables())) + for idx, v := range m.GetAllowedRouteTables() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AllowedRouteTables[idx] = h.Clone().(*VirtualGatewaySpec_Listener_RouteTableFilter) + } else { + target.AllowedRouteTables[idx] = proto.Clone(v).(*VirtualGatewaySpec_Listener_RouteTableFilter) + } + + } + } + + if m.GetExposedExternalServices() != nil { + target.ExposedExternalServices = make([]*VirtualGatewaySpec_Listener_ExternalServiceFilter, len(m.GetExposedExternalServices())) + for idx, v := range m.GetExposedExternalServices() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ExposedExternalServices[idx] = h.Clone().(*VirtualGatewaySpec_Listener_ExternalServiceFilter) + } else { + target.ExposedExternalServices[idx] = proto.Clone(v).(*VirtualGatewaySpec_Listener_ExternalServiceFilter) + } + + } + } + + target.AppProtocol = m.GetAppProtocol() + + switch m.TlsSettings.(type) { + + case *VirtualGatewaySpec_Listener_Tls: + + if h, ok := interface{}(m.GetTls()).(clone.Cloner); ok { + target.TlsSettings = &VirtualGatewaySpec_Listener_Tls{ + Tls: h.Clone().(*TLSConfig), + } + } else { + target.TlsSettings = &VirtualGatewaySpec_Listener_Tls{ + Tls: proto.Clone(m.GetTls()).(*TLSConfig), + } + } + + case *VirtualGatewaySpec_Listener_HttpsRedirect: + + target.TlsSettings = &VirtualGatewaySpec_Listener_HttpsRedirect{ + HttpsRedirect: m.GetHttpsRedirect(), + } + + } + + switch m.ListenerType.(type) { + + case *VirtualGatewaySpec_Listener_Http: + + if h, ok := interface{}(m.GetHttp()).(clone.Cloner); ok { + target.ListenerType = &VirtualGatewaySpec_Listener_Http{ + Http: h.Clone().(*VirtualGatewaySpec_Listener_HTTPServer), + } + } else { + target.ListenerType = &VirtualGatewaySpec_Listener_Http{ + Http: proto.Clone(m.GetHttp()).(*VirtualGatewaySpec_Listener_HTTPServer), + } + } + + case *VirtualGatewaySpec_Listener_Tcp: + + if h, ok := interface{}(m.GetTcp()).(clone.Cloner); ok { + target.ListenerType = &VirtualGatewaySpec_Listener_Tcp{ + Tcp: h.Clone().(*VirtualGatewaySpec_Listener_TCPServer), + } + } else { + target.ListenerType = &VirtualGatewaySpec_Listener_Tcp{ + Tcp: proto.Clone(m.GetTcp()).(*VirtualGatewaySpec_Listener_TCPServer), + } + } + + } + + return target +} + +// Clone function +func (m *VirtualGatewaySpec_Listener_HTTPServer) Clone() proto.Message { + var target *VirtualGatewaySpec_Listener_HTTPServer + if m == nil { + return target + } + target = &VirtualGatewaySpec_Listener_HTTPServer{} + + return target +} + +// Clone function +func (m *VirtualGatewaySpec_Listener_TCPServer) Clone() proto.Message { + var target *VirtualGatewaySpec_Listener_TCPServer + if m == nil { + return target + } + target = &VirtualGatewaySpec_Listener_TCPServer{} + + return target +} + +// Clone function +func (m *VirtualGatewaySpec_Listener_RouteTableFilter) Clone() proto.Message { + var target *VirtualGatewaySpec_Listener_RouteTableFilter + if m == nil { + return target + } + target = &VirtualGatewaySpec_Listener_RouteTableFilter{} + + target.Host = m.GetHost() + + if h, ok := interface{}(m.GetSelector()).(clone.Cloner); ok { + target.Selector = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.Selector = proto.Clone(m.GetSelector()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + if m.GetAllowedRoutes() != nil { + target.AllowedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteFilter, len(m.GetAllowedRoutes())) + for idx, v := range m.GetAllowedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AllowedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteFilter) + } else { + target.AllowedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteFilter) + } + + } + } + + return target +} + +// Clone function +func (m *VirtualGatewaySpec_Listener_ExternalServiceFilter) Clone() proto.Message { + var target *VirtualGatewaySpec_Listener_ExternalServiceFilter + if m == nil { + return target + } + target = &VirtualGatewaySpec_Listener_ExternalServiceFilter{} + + target.Host = m.GetHost() + + if h, ok := interface{}(m.GetSelector()).(clone.Cloner); ok { + target.Selector = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } else { + target.Selector = proto.Clone(m.GetSelector()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectSelector) + } + + return target +} + +// Clone function +func (m *TLSConfig_Files) Clone() proto.Message { + var target *TLSConfig_Files + if m == nil { + return target + } + target = &TLSConfig_Files{} + + target.ServerCert = m.GetServerCert() + + target.PrivateKey = m.GetPrivateKey() + + target.CaCerts = m.GetCaCerts() + + return target +} + +// Clone function +func (m *TLSConfig_Parameters) Clone() proto.Message { + var target *TLSConfig_Parameters + if m == nil { + return target + } + target = &TLSConfig_Parameters{} + + target.MinimumProtocolVersion = m.GetMinimumProtocolVersion() + + target.MaximumProtocolVersion = m.GetMaximumProtocolVersion() + + if m.GetCipherSuites() != nil { + target.CipherSuites = make([]string, len(m.GetCipherSuites())) + for idx, v := range m.GetCipherSuites() { + + target.CipherSuites[idx] = v + + } + } + + return target +} diff --git a/client-go/networking.gloo.solo.io/v2/virtual_gateway.pb.equal.go b/client-go/networking.gloo.solo.io/v2/virtual_gateway.pb.equal.go new file mode 100644 index 000000000..3d38cff91 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/virtual_gateway.pb.equal.go @@ -0,0 +1,723 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/virtual_gateway.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *VirtualGatewaySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VirtualGatewaySpec) + if !ok { + that2, ok := that.(VirtualGatewaySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkloads()) != len(target.GetWorkloads()) { + return false + } + for idx, v := range m.GetWorkloads() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkloads()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkloads()[idx]) { + return false + } + } + + } + + if len(m.GetListeners()) != len(target.GetListeners()) { + return false + } + for idx, v := range m.GetListeners() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetListeners()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetListeners()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *TLSConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TLSConfig) + if !ok { + that2, ok := that.(TLSConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetVerifySubjectAltName()) != len(target.GetVerifySubjectAltName()) { + return false + } + for idx, v := range m.GetVerifySubjectAltName() { + + if strings.Compare(v, target.GetVerifySubjectAltName()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetParameters()).(equality.Equalizer); ok { + if !h.Equal(target.GetParameters()) { + return false + } + } else { + if !proto.Equal(m.GetParameters(), target.GetParameters()) { + return false + } + } + + if m.GetMode() != target.GetMode() { + return false + } + + switch m.Certificates.(type) { + + case *TLSConfig_SecretName: + if _, ok := target.Certificates.(*TLSConfig_SecretName); !ok { + return false + } + + if strings.Compare(m.GetSecretName(), target.GetSecretName()) != 0 { + return false + } + + case *TLSConfig_Files_: + if _, ok := target.Certificates.(*TLSConfig_Files_); !ok { + return false + } + + if h, ok := interface{}(m.GetFiles()).(equality.Equalizer); ok { + if !h.Equal(target.GetFiles()) { + return false + } + } else { + if !proto.Equal(m.GetFiles(), target.GetFiles()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Certificates != target.Certificates { + return false + } + } + + return true +} + +// Equal function +func (m *VirtualGatewayStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VirtualGatewayStatus) + if !ok { + that2, ok := that.(VirtualGatewayStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetRouteTablesCount() != target.GetRouteTablesCount() { + return false + } + + if m.GetSelectedWorkloadsCount() != target.GetSelectedWorkloadsCount() { + return false + } + + if m.GetExternalServicesCount() != target.GetExternalServicesCount() { + return false + } + + return true +} + +// Equal function +func (m *VirtualGatewayReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VirtualGatewayReport) + if !ok { + that2, ok := that.(VirtualGatewayReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetAllowedRouteTables()) != len(target.GetAllowedRouteTables()) { + return false + } + for idx, v := range m.GetAllowedRouteTables() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAllowedRouteTables()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetAllowedRouteTables()[idx]) { + return false + } + } + + } + + if len(m.GetSelectedWorkloads()) != len(target.GetSelectedWorkloads()) { + return false + } + for idx, v := range m.GetSelectedWorkloads() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedWorkloads()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedWorkloads()[idx]) { + return false + } + } + + } + + if len(m.GetExposedExternalServices()) != len(target.GetExposedExternalServices()) { + return false + } + for idx, v := range m.GetExposedExternalServices() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetExposedExternalServices()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetExposedExternalServices()[idx]) { + return false + } + } + + } + + if len(m.GetListenerRouteTables()) != len(target.GetListenerRouteTables()) { + return false + } + for idx, v := range m.GetListenerRouteTables() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetListenerRouteTables()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetListenerRouteTables()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ListenerRouteTable) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ListenerRouteTable) + if !ok { + that2, ok := that.(ListenerRouteTable) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetListenerIdx() != target.GetListenerIdx() { + return false + } + + if h, ok := interface{}(m.GetRouteTableRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetRouteTableRef()) { + return false + } + } else { + if !proto.Equal(m.GetRouteTableRef(), target.GetRouteTableRef()) { + return false + } + } + + return true +} + +// Equal function +func (m *VirtualGatewaySpec_Listener) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VirtualGatewaySpec_Listener) + if !ok { + that2, ok := that.(VirtualGatewaySpec_Listener) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetPort()).(equality.Equalizer); ok { + if !h.Equal(target.GetPort()) { + return false + } + } else { + if !proto.Equal(m.GetPort(), target.GetPort()) { + return false + } + } + + if len(m.GetAllowedRouteTables()) != len(target.GetAllowedRouteTables()) { + return false + } + for idx, v := range m.GetAllowedRouteTables() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAllowedRouteTables()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetAllowedRouteTables()[idx]) { + return false + } + } + + } + + if len(m.GetExposedExternalServices()) != len(target.GetExposedExternalServices()) { + return false + } + for idx, v := range m.GetExposedExternalServices() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetExposedExternalServices()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetExposedExternalServices()[idx]) { + return false + } + } + + } + + if strings.Compare(m.GetAppProtocol(), target.GetAppProtocol()) != 0 { + return false + } + + switch m.TlsSettings.(type) { + + case *VirtualGatewaySpec_Listener_Tls: + if _, ok := target.TlsSettings.(*VirtualGatewaySpec_Listener_Tls); !ok { + return false + } + + if h, ok := interface{}(m.GetTls()).(equality.Equalizer); ok { + if !h.Equal(target.GetTls()) { + return false + } + } else { + if !proto.Equal(m.GetTls(), target.GetTls()) { + return false + } + } + + case *VirtualGatewaySpec_Listener_HttpsRedirect: + if _, ok := target.TlsSettings.(*VirtualGatewaySpec_Listener_HttpsRedirect); !ok { + return false + } + + if m.GetHttpsRedirect() != target.GetHttpsRedirect() { + return false + } + + default: + // m is nil but target is not nil + if m.TlsSettings != target.TlsSettings { + return false + } + } + + switch m.ListenerType.(type) { + + case *VirtualGatewaySpec_Listener_Http: + if _, ok := target.ListenerType.(*VirtualGatewaySpec_Listener_Http); !ok { + return false + } + + if h, ok := interface{}(m.GetHttp()).(equality.Equalizer); ok { + if !h.Equal(target.GetHttp()) { + return false + } + } else { + if !proto.Equal(m.GetHttp(), target.GetHttp()) { + return false + } + } + + case *VirtualGatewaySpec_Listener_Tcp: + if _, ok := target.ListenerType.(*VirtualGatewaySpec_Listener_Tcp); !ok { + return false + } + + if h, ok := interface{}(m.GetTcp()).(equality.Equalizer); ok { + if !h.Equal(target.GetTcp()) { + return false + } + } else { + if !proto.Equal(m.GetTcp(), target.GetTcp()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ListenerType != target.ListenerType { + return false + } + } + + return true +} + +// Equal function +func (m *VirtualGatewaySpec_Listener_HTTPServer) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VirtualGatewaySpec_Listener_HTTPServer) + if !ok { + that2, ok := that.(VirtualGatewaySpec_Listener_HTTPServer) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *VirtualGatewaySpec_Listener_TCPServer) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VirtualGatewaySpec_Listener_TCPServer) + if !ok { + that2, ok := that.(VirtualGatewaySpec_Listener_TCPServer) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *VirtualGatewaySpec_Listener_RouteTableFilter) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VirtualGatewaySpec_Listener_RouteTableFilter) + if !ok { + that2, ok := that.(VirtualGatewaySpec_Listener_RouteTableFilter) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetHost(), target.GetHost()) != 0 { + return false + } + + if h, ok := interface{}(m.GetSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetSelector()) { + return false + } + } else { + if !proto.Equal(m.GetSelector(), target.GetSelector()) { + return false + } + } + + if len(m.GetAllowedRoutes()) != len(target.GetAllowedRoutes()) { + return false + } + for idx, v := range m.GetAllowedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAllowedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetAllowedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *VirtualGatewaySpec_Listener_ExternalServiceFilter) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VirtualGatewaySpec_Listener_ExternalServiceFilter) + if !ok { + that2, ok := that.(VirtualGatewaySpec_Listener_ExternalServiceFilter) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetHost(), target.GetHost()) != 0 { + return false + } + + if h, ok := interface{}(m.GetSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetSelector()) { + return false + } + } else { + if !proto.Equal(m.GetSelector(), target.GetSelector()) { + return false + } + } + + return true +} + +// Equal function +func (m *TLSConfig_Files) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TLSConfig_Files) + if !ok { + that2, ok := that.(TLSConfig_Files) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetServerCert(), target.GetServerCert()) != 0 { + return false + } + + if strings.Compare(m.GetPrivateKey(), target.GetPrivateKey()) != 0 { + return false + } + + if strings.Compare(m.GetCaCerts(), target.GetCaCerts()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *TLSConfig_Parameters) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TLSConfig_Parameters) + if !ok { + that2, ok := that.(TLSConfig_Parameters) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetMinimumProtocolVersion() != target.GetMinimumProtocolVersion() { + return false + } + + if m.GetMaximumProtocolVersion() != target.GetMaximumProtocolVersion() { + return false + } + + if len(m.GetCipherSuites()) != len(target.GetCipherSuites()) { + return false + } + for idx, v := range m.GetCipherSuites() { + + if strings.Compare(v, target.GetCipherSuites()[idx]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/networking.gloo.solo.io/v2/virtual_gateway.pb.go b/client-go/networking.gloo.solo.io/v2/virtual_gateway.pb.go new file mode 100644 index 000000000..cf2698bc3 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/virtual_gateway.pb.go @@ -0,0 +1,1709 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/virtual_gateway.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type TLSConfig_TLSMode int32 + +const ( + // The SNI string presented by the client will be used as the match criterion in a + // VirtualService TLS route to determine the destination service from the service registry. + TLSConfig_PASSTHROUGH TLSConfig_TLSMode = 0 + // Secure connections with standard TLS semantics. + TLSConfig_SIMPLE TLSConfig_TLSMode = 1 + // Secure connections to the downstream using mutual TLS by presenting server certificates for authentication. + TLSConfig_MUTUAL TLSConfig_TLSMode = 2 + // Similar to the passthrough mode, except servers with this TLS mode do not require an associated VirtualService + // to map from the SNI value to service in the registry. The destination details such as the service/subset/port + // are encoded in the SNI value. The proxy will forward to the upstream (Envoy) cluster (a group of endpoints) + // specified by the SNI value. This server is typically used to provide connectivity between services in disparate + // L3 networks that otherwise do not have direct connectivity between their respective endpoints. + // Use of this mode assumes that both the source and the destination are using Istio mTLS to secure traffic. + // In order for this mode to be enabled, the gateway deployment must be configured with the ISTIO_META_ROUTER_MODE=sni-dnat + // environment variable. + TLSConfig_AUTO_PASSTHROUGH TLSConfig_TLSMode = 3 + // Secure connections from the downstream using mutual TLS by presenting server certificates for authentication. + // Compared to Mutual mode, this mode uses certificates, representing gateway workload identity, generated automatically + // by Istio for mTLS authentication. When this mode is used, all other fields in `TLSConfig` should be empty. + TLSConfig_ISTIO_MUTUAL TLSConfig_TLSMode = 4 +) + +// Enum value maps for TLSConfig_TLSMode. +var ( + TLSConfig_TLSMode_name = map[int32]string{ + 0: "PASSTHROUGH", + 1: "SIMPLE", + 2: "MUTUAL", + 3: "AUTO_PASSTHROUGH", + 4: "ISTIO_MUTUAL", + } + TLSConfig_TLSMode_value = map[string]int32{ + "PASSTHROUGH": 0, + "SIMPLE": 1, + "MUTUAL": 2, + "AUTO_PASSTHROUGH": 3, + "ISTIO_MUTUAL": 4, + } +) + +func (x TLSConfig_TLSMode) Enum() *TLSConfig_TLSMode { + p := new(TLSConfig_TLSMode) + *p = x + return p +} + +func (x TLSConfig_TLSMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TLSConfig_TLSMode) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_enumTypes[0].Descriptor() +} + +func (TLSConfig_TLSMode) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_enumTypes[0] +} + +func (x TLSConfig_TLSMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TLSConfig_TLSMode.Descriptor instead. +func (TLSConfig_TLSMode) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{1, 0} +} + +type TLSConfig_Parameters_ProtocolVersion int32 + +const ( + // Automatically choose the optimal TLS version. + TLSConfig_Parameters_TLS_AUTO TLSConfig_Parameters_ProtocolVersion = 0 + // TLS 1.0 + TLSConfig_Parameters_TLSv1_0 TLSConfig_Parameters_ProtocolVersion = 1 + // TLS 1.1 + TLSConfig_Parameters_TLSv1_1 TLSConfig_Parameters_ProtocolVersion = 2 + // TLS 1.2 + TLSConfig_Parameters_TLSv1_2 TLSConfig_Parameters_ProtocolVersion = 3 + // TLS 1.3 + TLSConfig_Parameters_TLSv1_3 TLSConfig_Parameters_ProtocolVersion = 4 +) + +// Enum value maps for TLSConfig_Parameters_ProtocolVersion. +var ( + TLSConfig_Parameters_ProtocolVersion_name = map[int32]string{ + 0: "TLS_AUTO", + 1: "TLSv1_0", + 2: "TLSv1_1", + 3: "TLSv1_2", + 4: "TLSv1_3", + } + TLSConfig_Parameters_ProtocolVersion_value = map[string]int32{ + "TLS_AUTO": 0, + "TLSv1_0": 1, + "TLSv1_1": 2, + "TLSv1_2": 3, + "TLSv1_3": 4, + } +) + +func (x TLSConfig_Parameters_ProtocolVersion) Enum() *TLSConfig_Parameters_ProtocolVersion { + p := new(TLSConfig_Parameters_ProtocolVersion) + *p = x + return p +} + +func (x TLSConfig_Parameters_ProtocolVersion) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TLSConfig_Parameters_ProtocolVersion) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_enumTypes[1].Descriptor() +} + +func (TLSConfig_Parameters_ProtocolVersion) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_enumTypes[1] +} + +func (x TLSConfig_Parameters_ProtocolVersion) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TLSConfig_Parameters_ProtocolVersion.Descriptor instead. +func (TLSConfig_Parameters_ProtocolVersion) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{1, 1, 0} +} + +// `VirtualGateway` represents a logical gateway configuration served by Gateway workloads within +// the same workspace. The specification describes a set of ports that the virtual gateway listens +// for incoming or outgoing HTTP/TCP connections, the type of protocol to use, SNI configuration etc. +// +// For example, the following VirtualGateway resource configures the gateway to listen for incoming +// HTTP requests on port 80, and delegate the route configuration of the '*.bookinfo.com' hostname +// to be provided by the bookinfo workspace. The VirtualGateway is +// applied to a specific set of gateway pods/VMs with the `app:my-gateway-controller` +// label within the same workspace as the VirtualGateway resource. +// +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: VirtualGateway +// metadata: +// +// name: my-gateway +// namespace: some-config-namespace +// labels: +// workspace.solo.io/exported: 'true' +// +// spec: +// +// workloads: +// - selector: +// labels: +// app: my-gateway-controller +// listeners: +// - port: +// number: 80 +// allowedRouteTables: +// - host: '*.bookinfo.com' +// selector: +// workspace: bookinfo +// +// ``` +// For example, the following VirtualGateway resource configures the gateway to listen for incoming +// HTTP requests on port 80, delegate any `*.foo.com` request to the `HTTPRouteTable` resource(s) +// provided by the `foo-ws` workspace. Further, on the same port 80, it also delegates any +// `*.bar.com` request to the route configurations provided by the `bar-ws` workspace. +// +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: VirtualGateway +// metadata: +// +// name: my-gateway +// namespace: some-config-namespace +// labels: +// workspace.solo.io/exported: 'true' +// +// spec: +// +// workloads: +// - selector: +// labels: +// app: my-gateway-controller +// listeners: +// - port: +// number: 80 +// allowedRouteTables: +// - host: '*.foo.com' +// selector: +// workspace: foo-ws +// - host: '*.bar.com' +// selector: +// workspace: bar-ws +// +// ``` +// +// For example, the following VirtualGateway resource configures the gateway to act +// as a load balancer listening on port 80 and 9080 (http), 443 (https), and +// 9443(https) for ingress. The VirtualGateway resource is +// applied to a specific set of gateway pods/VMs with the `app: my-gateway-controller` +// label within the same workspace. The route table(s) associated with each +// port 80, 9443 and 443 must be provided by the foo-ws workspace, with hosts that +// match `*.foo.com`. The route table(s) for port 9080 must be provided by the bar-ws +// workspace with hosts that match `*.bar.com`. +// +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: VirtualGateway +// metadata: +// +// name: my-gateway +// namespace: some-config-namespace +// labels: +// workspace.solo.io/exported: 'true' +// +// spec: +// +// workloads: +// - selector: +// labels: +// app: my-gateway-controller +// listeners: +// - port: +// number: 80 +// httpsRedirect: true +// allowedRouteTables: +// - host: '*.foo.com' +// selector: +// workspace: foo-ws +// - port: +// number: 443 +// tls: +// mode: SIMPLE +// files: +// privateKey: /etc/certs/privatekey.pem +// serverCert: /etc/certs/servercert.pem +// allowedRouteTables: +// - host: '*.foo.com' +// selector: +// workspace: foo-ws +// - port: +// number: 9443 +// tls: +// mode: SIMPLE +// secretName: my-secret +// allowedRouteTables: +// - host: '*.foo.com' +// selector: +// workspace: foo-ws +// - port: +// number: 9080 +// allowedRouteTables: +// - host: '*.bar.com' +// selector: +// workspace: foo-ws +// +// ``` +// For example, the following VirtualGateway resource configures the gateway to listen for incoming +// HTTP requests on port 80, delegate any `*.foo.com` request to the `HTTPRouteTable` resource(s) +// provided by the `foo-ws` workspace. This routeTable is restricted to using CloudProvider functionality +// which routes to cloud functions `backend-function-*` in region us-east-2 and which assume the +// `dev-team-B-*` IAM role. +// +// ```yaml +// apiVersion: networking.gloo.solo.io/v2 +// kind: VirtualGateway +// metadata: +// +// name: my-gateway +// namespace: some-config-namespace +// labels: +// workspace.solo.io/exported: 'true' +// +// spec: +// +// workloads: +// - selector: +// labels: +// app: my-gateway-controller +// listeners: +// - port: +// number: 80 +// allowedRouteTables: +// - host: '*.foo.com' +// selector: +// workspace: foo-ws +// +// ``` +type VirtualGatewaySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: Select which gateway workloads implement this virtual gateway in the same workspace. + // A gateway workload will be selected if it matches any of the provided selectors. + // For 'selector.name', specify the gateway service's name. + // For 'selector.labels', specify the gateway service's 'spec.selector' label. + // If workloads is nil, it will be applied to all gateway workloads. + Workloads []*v2.WorkloadSelector `protobuf:"bytes,1,rep,name=workloads,proto3" json:"workloads,omitempty"` + // Required: One or more listeners for the virtual gateway. + // Each listener specifies a port and virtual host(s) for traffic received on those ports. + Listeners []*VirtualGatewaySpec_Listener `protobuf:"bytes,2,rep,name=listeners,proto3" json:"listeners,omitempty"` +} + +func (x *VirtualGatewaySpec) Reset() { + *x = VirtualGatewaySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VirtualGatewaySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualGatewaySpec) ProtoMessage() {} + +func (x *VirtualGatewaySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualGatewaySpec.ProtoReflect.Descriptor instead. +func (*VirtualGatewaySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{0} +} + +func (x *VirtualGatewaySpec) GetWorkloads() []*v2.WorkloadSelector { + if x != nil { + return x.Workloads + } + return nil +} + +func (x *VirtualGatewaySpec) GetListeners() []*VirtualGatewaySpec_Listener { + if x != nil { + return x.Listeners + } + return nil +} + +// TLSConfig contains the options necessary to configure a listener to use TLS +type TLSConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Certificates: + // + // *TLSConfig_SecretName + // *TLSConfig_Files_ + Certificates isTLSConfig_Certificates `protobuf_oneof:"certificates"` + // Verify that the Subject Alternative Name in the peer certificate is one of the specified values. + // note that a ca_certs must be provided if this option is used. + VerifySubjectAltName []string `protobuf:"bytes,3,rep,name=verify_subject_alt_name,json=verifySubjectAltName,proto3" json:"verify_subject_alt_name,omitempty"` + Parameters *TLSConfig_Parameters `protobuf:"bytes,4,opt,name=parameters,proto3" json:"parameters,omitempty"` + // TLS modes enforced by the proxy + Mode TLSConfig_TLSMode `protobuf:"varint,5,opt,name=mode,proto3,enum=networking.gloo.solo.io.TLSConfig_TLSMode" json:"mode,omitempty"` +} + +func (x *TLSConfig) Reset() { + *x = TLSConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TLSConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TLSConfig) ProtoMessage() {} + +func (x *TLSConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TLSConfig.ProtoReflect.Descriptor instead. +func (*TLSConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{1} +} + +func (m *TLSConfig) GetCertificates() isTLSConfig_Certificates { + if m != nil { + return m.Certificates + } + return nil +} + +func (x *TLSConfig) GetSecretName() string { + if x, ok := x.GetCertificates().(*TLSConfig_SecretName); ok { + return x.SecretName + } + return "" +} + +func (x *TLSConfig) GetFiles() *TLSConfig_Files { + if x, ok := x.GetCertificates().(*TLSConfig_Files_); ok { + return x.Files + } + return nil +} + +func (x *TLSConfig) GetVerifySubjectAltName() []string { + if x != nil { + return x.VerifySubjectAltName + } + return nil +} + +func (x *TLSConfig) GetParameters() *TLSConfig_Parameters { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *TLSConfig) GetMode() TLSConfig_TLSMode { + if x != nil { + return x.Mode + } + return TLSConfig_PASSTHROUGH +} + +type isTLSConfig_Certificates interface { + isTLSConfig_Certificates() +} + +type TLSConfig_SecretName struct { + // SecretName is the name of the kubernetes secret which contains the ssl secret. Each + // Gateway will look for a secret with this name on its own local cluster in its own namespace. + SecretName string `protobuf:"bytes,1,opt,name=secret_name,json=secretName,proto3,oneof"` +} + +type TLSConfig_Files_ struct { + // Files reference paths to certificates which can be read by the proxy off of its local filesystem + Files *TLSConfig_Files `protobuf:"bytes,2,opt,name=files,proto3,oneof"` +} + +func (*TLSConfig_SecretName) isTLSConfig_Certificates() {} + +func (*TLSConfig_Files_) isTLSConfig_Certificates() {} + +type VirtualGatewayStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of route tables allowed to bind to this virtual gateway. + RouteTablesCount uint32 `protobuf:"varint,2,opt,name=route_tables_count,json=routeTablesCount,proto3" json:"route_tables_count,omitempty"` + // The number of workloads selected by this virtual gateway. + SelectedWorkloadsCount uint32 `protobuf:"varint,3,opt,name=selected_workloads_count,json=selectedWorkloadsCount,proto3" json:"selected_workloads_count,omitempty"` + // The number of external services exposed by this virtual gateway. + ExternalServicesCount uint32 `protobuf:"varint,4,opt,name=external_services_count,json=externalServicesCount,proto3" json:"external_services_count,omitempty"` +} + +func (x *VirtualGatewayStatus) Reset() { + *x = VirtualGatewayStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VirtualGatewayStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualGatewayStatus) ProtoMessage() {} + +func (x *VirtualGatewayStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualGatewayStatus.ProtoReflect.Descriptor instead. +func (*VirtualGatewayStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{2} +} + +func (x *VirtualGatewayStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *VirtualGatewayStatus) GetRouteTablesCount() uint32 { + if x != nil { + return x.RouteTablesCount + } + return 0 +} + +func (x *VirtualGatewayStatus) GetSelectedWorkloadsCount() uint32 { + if x != nil { + return x.SelectedWorkloadsCount + } + return 0 +} + +func (x *VirtualGatewayStatus) GetExternalServicesCount() uint32 { + if x != nil { + return x.ExternalServicesCount + } + return 0 +} + +type VirtualGatewayReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of route tables allowed to bind to this virtual gateway. + AllowedRouteTables []*v2.ObjectReference `protobuf:"bytes,2,rep,name=allowed_route_tables,json=allowedRouteTables,proto3" json:"allowed_route_tables,omitempty"` + // A list of workloads selected by this virtual gateway. + SelectedWorkloads []*v2.ObjectReference `protobuf:"bytes,3,rep,name=selected_workloads,json=selectedWorkloads,proto3" json:"selected_workloads,omitempty"` + // list of external services exposed by this virtual gateway. + ExposedExternalServices []*v2.ObjectReference `protobuf:"bytes,4,rep,name=exposed_external_services,json=exposedExternalServices,proto3" json:"exposed_external_services,omitempty"` + // A list of listener/RouteTable combinations showing which route tables are attached to which listeners. + ListenerRouteTables []*ListenerRouteTable `protobuf:"bytes,5,rep,name=listener_route_tables,json=listenerRouteTables,proto3" json:"listener_route_tables,omitempty"` +} + +func (x *VirtualGatewayReport) Reset() { + *x = VirtualGatewayReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VirtualGatewayReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualGatewayReport) ProtoMessage() {} + +func (x *VirtualGatewayReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualGatewayReport.ProtoReflect.Descriptor instead. +func (*VirtualGatewayReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{3} +} + +func (x *VirtualGatewayReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *VirtualGatewayReport) GetAllowedRouteTables() []*v2.ObjectReference { + if x != nil { + return x.AllowedRouteTables + } + return nil +} + +func (x *VirtualGatewayReport) GetSelectedWorkloads() []*v2.ObjectReference { + if x != nil { + return x.SelectedWorkloads + } + return nil +} + +func (x *VirtualGatewayReport) GetExposedExternalServices() []*v2.ObjectReference { + if x != nil { + return x.ExposedExternalServices + } + return nil +} + +func (x *VirtualGatewayReport) GetListenerRouteTables() []*ListenerRouteTable { + if x != nil { + return x.ListenerRouteTables + } + return nil +} + +// ListenerRouteTable represents an association between a RouteTable and a particular VirtualGateway listener. +type ListenerRouteTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The index of the listener in the list of listeners on the virtual gateway + ListenerIdx uint32 `protobuf:"varint,1,opt,name=listener_idx,json=listenerIdx,proto3" json:"listener_idx,omitempty"` + // A reference to a route table + RouteTableRef *v2.ObjectReference `protobuf:"bytes,2,opt,name=route_table_ref,json=routeTableRef,proto3" json:"route_table_ref,omitempty"` +} + +func (x *ListenerRouteTable) Reset() { + *x = ListenerRouteTable{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListenerRouteTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenerRouteTable) ProtoMessage() {} + +func (x *ListenerRouteTable) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListenerRouteTable.ProtoReflect.Descriptor instead. +func (*ListenerRouteTable) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{4} +} + +func (x *ListenerRouteTable) GetListenerIdx() uint32 { + if x != nil { + return x.ListenerIdx + } + return 0 +} + +func (x *ListenerRouteTable) GetRouteTableRef() *v2.ObjectReference { + if x != nil { + return x.RouteTableRef + } + return nil +} + +type VirtualGatewaySpec_Listener struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: The port on the gateway workload's service on + // which the gateway will listen for connections to route. + Port *v2.PortSelector `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` + // Optional: settings for configuring TLS behavior for this listener + // Specify either tls or httpsRedirect but not both. + // + // Types that are assignable to TlsSettings: + // + // *VirtualGatewaySpec_Listener_Tls + // *VirtualGatewaySpec_Listener_HttpsRedirect + TlsSettings isVirtualGatewaySpec_Listener_TlsSettings `protobuf_oneof:"tls_settings"` + // Required: choose ONE type of listener, http or tcp, or tls. + // Defaults to http. + // + // Types that are assignable to ListenerType: + // + // *VirtualGatewaySpec_Listener_Http + // *VirtualGatewaySpec_Listener_Tcp + ListenerType isVirtualGatewaySpec_Listener_ListenerType `protobuf_oneof:"listener_type"` + // Optional: Filter RouteTables which can bind to this listener by the host names and object metadata. + // Wildcard matching for host name is supported here. + // If omitted, any route table will be allowed to bind to this VirtualGateway. + AllowedRouteTables []*VirtualGatewaySpec_Listener_RouteTableFilter `protobuf:"bytes,6,rep,name=allowed_route_tables,json=allowedRouteTables,proto3" json:"allowed_route_tables,omitempty"` + // Optional: List of ExternalServices exposed by this VirtualGateway. + // If empty, any ExternalService will be exposed by this VirtualGateway. + // Specifically used for configuring egress traffic. + ExposedExternalServices []*VirtualGatewaySpec_Listener_ExternalServiceFilter `protobuf:"bytes,9,rep,name=exposed_external_services,json=exposedExternalServices,proto3" json:"exposed_external_services,omitempty"` + // Optional: Apply an application protocol to use when deciding what additional capabilities to + // add to the gateway, such as routing and rich metrics. If no protocol is selected, it will be inferred + // from the listener type and its TLS settings. With an `http` listener, the `app_protocol` will default to + // `HTTP` if there are no TLS settings and `HTTPS` if there are. With a `tcp` listener, the `app_protocol` + // will default to `TCP` or `TLS` depending on the presence of TLS settings. + AppProtocol string `protobuf:"bytes,7,opt,name=app_protocol,json=appProtocol,proto3" json:"app_protocol,omitempty"` +} + +func (x *VirtualGatewaySpec_Listener) Reset() { + *x = VirtualGatewaySpec_Listener{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VirtualGatewaySpec_Listener) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualGatewaySpec_Listener) ProtoMessage() {} + +func (x *VirtualGatewaySpec_Listener) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualGatewaySpec_Listener.ProtoReflect.Descriptor instead. +func (*VirtualGatewaySpec_Listener) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *VirtualGatewaySpec_Listener) GetPort() *v2.PortSelector { + if x != nil { + return x.Port + } + return nil +} + +func (m *VirtualGatewaySpec_Listener) GetTlsSettings() isVirtualGatewaySpec_Listener_TlsSettings { + if m != nil { + return m.TlsSettings + } + return nil +} + +func (x *VirtualGatewaySpec_Listener) GetTls() *TLSConfig { + if x, ok := x.GetTlsSettings().(*VirtualGatewaySpec_Listener_Tls); ok { + return x.Tls + } + return nil +} + +func (x *VirtualGatewaySpec_Listener) GetHttpsRedirect() bool { + if x, ok := x.GetTlsSettings().(*VirtualGatewaySpec_Listener_HttpsRedirect); ok { + return x.HttpsRedirect + } + return false +} + +func (m *VirtualGatewaySpec_Listener) GetListenerType() isVirtualGatewaySpec_Listener_ListenerType { + if m != nil { + return m.ListenerType + } + return nil +} + +func (x *VirtualGatewaySpec_Listener) GetHttp() *VirtualGatewaySpec_Listener_HTTPServer { + if x, ok := x.GetListenerType().(*VirtualGatewaySpec_Listener_Http); ok { + return x.Http + } + return nil +} + +func (x *VirtualGatewaySpec_Listener) GetTcp() *VirtualGatewaySpec_Listener_TCPServer { + if x, ok := x.GetListenerType().(*VirtualGatewaySpec_Listener_Tcp); ok { + return x.Tcp + } + return nil +} + +func (x *VirtualGatewaySpec_Listener) GetAllowedRouteTables() []*VirtualGatewaySpec_Listener_RouteTableFilter { + if x != nil { + return x.AllowedRouteTables + } + return nil +} + +func (x *VirtualGatewaySpec_Listener) GetExposedExternalServices() []*VirtualGatewaySpec_Listener_ExternalServiceFilter { + if x != nil { + return x.ExposedExternalServices + } + return nil +} + +func (x *VirtualGatewaySpec_Listener) GetAppProtocol() string { + if x != nil { + return x.AppProtocol + } + return "" +} + +type isVirtualGatewaySpec_Listener_TlsSettings interface { + isVirtualGatewaySpec_Listener_TlsSettings() +} + +type VirtualGatewaySpec_Listener_Tls struct { + // TLS configure for a virtual host or listener to use TLS + Tls *TLSConfig `protobuf:"bytes,2,opt,name=tls,proto3,oneof"` +} + +type VirtualGatewaySpec_Listener_HttpsRedirect struct { + // If set to true, the load balancer will send a 301 redirect for all http connections, + // asking the clients to use HTTPS. + HttpsRedirect bool `protobuf:"varint,3,opt,name=https_redirect,json=httpsRedirect,proto3,oneof"` +} + +func (*VirtualGatewaySpec_Listener_Tls) isVirtualGatewaySpec_Listener_TlsSettings() {} + +func (*VirtualGatewaySpec_Listener_HttpsRedirect) isVirtualGatewaySpec_Listener_TlsSettings() {} + +type isVirtualGatewaySpec_Listener_ListenerType interface { + isVirtualGatewaySpec_Listener_ListenerType() +} + +type VirtualGatewaySpec_Listener_Http struct { + // Serves http requests on the hosts specified for a given listener. + // The listener will route traffic based on the HTTPRouteTable resource(s) + // that is attached to the virtual gateway. + Http *VirtualGatewaySpec_Listener_HTTPServer `protobuf:"bytes,4,opt,name=http,proto3,oneof"` +} + +type VirtualGatewaySpec_Listener_Tcp struct { + // tcp routes on based on sni server name + // requires tls to be enabled + Tcp *VirtualGatewaySpec_Listener_TCPServer `protobuf:"bytes,5,opt,name=tcp,proto3,oneof"` +} + +func (*VirtualGatewaySpec_Listener_Http) isVirtualGatewaySpec_Listener_ListenerType() {} + +func (*VirtualGatewaySpec_Listener_Tcp) isVirtualGatewaySpec_Listener_ListenerType() {} + +// HTTP server indicates HTTP routes will be served for RouteTables which select this gateway. +type VirtualGatewaySpec_Listener_HTTPServer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *VirtualGatewaySpec_Listener_HTTPServer) Reset() { + *x = VirtualGatewaySpec_Listener_HTTPServer{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VirtualGatewaySpec_Listener_HTTPServer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualGatewaySpec_Listener_HTTPServer) ProtoMessage() {} + +func (x *VirtualGatewaySpec_Listener_HTTPServer) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualGatewaySpec_Listener_HTTPServer.ProtoReflect.Descriptor instead. +func (*VirtualGatewaySpec_Listener_HTTPServer) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{0, 0, 0} +} + +// @exclude TODO: TCPServer +type VirtualGatewaySpec_Listener_TCPServer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *VirtualGatewaySpec_Listener_TCPServer) Reset() { + *x = VirtualGatewaySpec_Listener_TCPServer{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VirtualGatewaySpec_Listener_TCPServer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualGatewaySpec_Listener_TCPServer) ProtoMessage() {} + +func (x *VirtualGatewaySpec_Listener_TCPServer) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualGatewaySpec_Listener_TCPServer.ProtoReflect.Descriptor instead. +func (*VirtualGatewaySpec_Listener_TCPServer) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{0, 0, 1} +} + +// Filter route tables which can attach to a VGW by host name as well as an object selector. +type VirtualGatewaySpec_Listener_RouteTableFilter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: host name to select. Can use * to match host name patterns in multiple objects. + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + // Optional: filter out route tables which do not match the selector, if provided. + Selector *v2.ObjectSelector `protobuf:"bytes,2,opt,name=selector,proto3" json:"selector,omitempty"` + // Optional: Restrict the routes that can be applied to this VirtualGateway to a set of route filter criteria. + // If empty, all the routes that belong to the matching route tables are allowed to bind to this VirtualGateway. + AllowedRoutes []*v2.RouteFilter `protobuf:"bytes,8,rep,name=allowed_routes,json=allowedRoutes,proto3" json:"allowed_routes,omitempty"` +} + +func (x *VirtualGatewaySpec_Listener_RouteTableFilter) Reset() { + *x = VirtualGatewaySpec_Listener_RouteTableFilter{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VirtualGatewaySpec_Listener_RouteTableFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualGatewaySpec_Listener_RouteTableFilter) ProtoMessage() {} + +func (x *VirtualGatewaySpec_Listener_RouteTableFilter) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualGatewaySpec_Listener_RouteTableFilter.ProtoReflect.Descriptor instead. +func (*VirtualGatewaySpec_Listener_RouteTableFilter) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{0, 0, 2} +} + +func (x *VirtualGatewaySpec_Listener_RouteTableFilter) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +func (x *VirtualGatewaySpec_Listener_RouteTableFilter) GetSelector() *v2.ObjectSelector { + if x != nil { + return x.Selector + } + return nil +} + +func (x *VirtualGatewaySpec_Listener_RouteTableFilter) GetAllowedRoutes() []*v2.RouteFilter { + if x != nil { + return x.AllowedRoutes + } + return nil +} + +// Filter ExternalServices which can attach to a VGW by host name. +type VirtualGatewaySpec_Listener_ExternalServiceFilter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: host name to select. Can use * to match host name patterns in multiple objects. + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + // Optional: filter out ExternalServices which do not match the selector, if provided. + Selector *v2.ObjectSelector `protobuf:"bytes,2,opt,name=selector,proto3" json:"selector,omitempty"` +} + +func (x *VirtualGatewaySpec_Listener_ExternalServiceFilter) Reset() { + *x = VirtualGatewaySpec_Listener_ExternalServiceFilter{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VirtualGatewaySpec_Listener_ExternalServiceFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualGatewaySpec_Listener_ExternalServiceFilter) ProtoMessage() {} + +func (x *VirtualGatewaySpec_Listener_ExternalServiceFilter) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualGatewaySpec_Listener_ExternalServiceFilter.ProtoReflect.Descriptor instead. +func (*VirtualGatewaySpec_Listener_ExternalServiceFilter) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{0, 0, 3} +} + +func (x *VirtualGatewaySpec_Listener_ExternalServiceFilter) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +func (x *VirtualGatewaySpec_Listener_ExternalServiceFilter) GetSelector() *v2.ObjectSelector { + if x != nil { + return x.Selector + } + return nil +} + +type TLSConfig_Files struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required if tlsMode is `SIMPLE` or `MUTUAL`. The path to the file that + // contains the server side TLS certificate. + ServerCert string `protobuf:"bytes,1,opt,name=server_cert,json=serverCert,proto3" json:"server_cert,omitempty"` + // Required if tlsMode is `SIMPLE` or `MUTUAL`. The path to the file that + // contains the server's private key. + PrivateKey string `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` + // Required if tlsMode is `MUTUAL`. The path to the file that contains the + // certificate authority(CA) certificates for validating client cert. + CaCerts string `protobuf:"bytes,3,opt,name=ca_certs,json=caCerts,proto3" json:"ca_certs,omitempty"` +} + +func (x *TLSConfig_Files) Reset() { + *x = TLSConfig_Files{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TLSConfig_Files) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TLSConfig_Files) ProtoMessage() {} + +func (x *TLSConfig_Files) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TLSConfig_Files.ProtoReflect.Descriptor instead. +func (*TLSConfig_Files) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *TLSConfig_Files) GetServerCert() string { + if x != nil { + return x.ServerCert + } + return "" +} + +func (x *TLSConfig_Files) GetPrivateKey() string { + if x != nil { + return x.PrivateKey + } + return "" +} + +func (x *TLSConfig_Files) GetCaCerts() string { + if x != nil { + return x.CaCerts + } + return "" +} + +// General TLS parameters. See the [envoy docs](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#enum-extensions-transport-sockets-tls-v3-tlsparameters-tlsprotocol) +// for more information on the meaning of these values. +type TLSConfig_Parameters struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MinimumProtocolVersion TLSConfig_Parameters_ProtocolVersion `protobuf:"varint,1,opt,name=minimum_protocol_version,json=minimumProtocolVersion,proto3,enum=networking.gloo.solo.io.TLSConfig_Parameters_ProtocolVersion" json:"minimum_protocol_version,omitempty"` + MaximumProtocolVersion TLSConfig_Parameters_ProtocolVersion `protobuf:"varint,2,opt,name=maximum_protocol_version,json=maximumProtocolVersion,proto3,enum=networking.gloo.solo.io.TLSConfig_Parameters_ProtocolVersion" json:"maximum_protocol_version,omitempty"` + CipherSuites []string `protobuf:"bytes,3,rep,name=cipher_suites,json=cipherSuites,proto3" json:"cipher_suites,omitempty"` +} + +func (x *TLSConfig_Parameters) Reset() { + *x = TLSConfig_Parameters{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TLSConfig_Parameters) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TLSConfig_Parameters) ProtoMessage() {} + +func (x *TLSConfig_Parameters) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TLSConfig_Parameters.ProtoReflect.Descriptor instead. +func (*TLSConfig_Parameters) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *TLSConfig_Parameters) GetMinimumProtocolVersion() TLSConfig_Parameters_ProtocolVersion { + if x != nil { + return x.MinimumProtocolVersion + } + return TLSConfig_Parameters_TLS_AUTO +} + +func (x *TLSConfig_Parameters) GetMaximumProtocolVersion() TLSConfig_Parameters_ProtocolVersion { + if x != nil { + return x.MaximumProtocolVersion + } + return TLSConfig_Parameters_TLS_AUTO +} + +func (x *TLSConfig_Parameters) GetCipherSuites() []string { + if x != nil { + return x.CipherSuites + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDesc = []byte{ + 0x0a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, + 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4d, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xff, 0x08, 0x0a, 0x12, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x43, 0x0a, 0x09, 0x77, + 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, + 0x12, 0x52, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x69, + 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x65, 0x72, 0x73, 0x1a, 0xcf, 0x07, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, + 0x72, 0x12, 0x35, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x36, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x03, 0x74, 0x6c, 0x73, + 0x12, 0x27, 0x0a, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x55, 0x0a, 0x04, 0x68, 0x74, 0x74, + 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x48, 0x54, + 0x54, 0x50, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x01, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, + 0x12, 0x52, 0x0a, 0x03, 0x74, 0x63, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x65, 0x72, 0x2e, 0x54, 0x43, 0x50, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x01, 0x52, + 0x03, 0x74, 0x63, 0x70, 0x12, 0x77, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x69, 0x72, + 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x86, 0x01, + 0x0a, 0x19, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x4a, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x69, 0x72, 0x74, + 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x17, 0x65, + 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x70, + 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x1a, 0x0c, 0x0a, 0x0a, 0x48, 0x54, 0x54, + 0x50, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x1a, 0x0b, 0x0a, 0x09, 0x54, 0x43, 0x50, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x1a, 0xb0, 0x01, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x3f, 0x0a, + 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x47, + 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x6c, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x68, 0x6f, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, + 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x83, 0x07, 0x0a, 0x09, 0x54, 0x4c, 0x53, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x73, + 0x48, 0x00, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x76, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x4d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, + 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, + 0x3e, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x54, 0x4c, 0x53, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x1a, + 0x64, 0x0a, 0x05, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x61, + 0x5f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, + 0x43, 0x65, 0x72, 0x74, 0x73, 0x1a, 0xf8, 0x02, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x77, 0x0a, 0x18, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x77, 0x0a, + 0x18, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x3d, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x16, + 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, + 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, + 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x75, 0x69, 0x74, 0x65, 0x73, 0x22, 0x53, 0x0a, 0x0f, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0c, + 0x0a, 0x08, 0x54, 0x4c, 0x53, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, + 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x30, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, + 0x76, 0x31, 0x5f, 0x31, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, + 0x32, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x76, 0x31, 0x5f, 0x33, 0x10, 0x04, + 0x22, 0x5a, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x50, + 0x41, 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x55, 0x54, 0x55, + 0x41, 0x4c, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x50, 0x41, 0x53, + 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x53, + 0x54, 0x49, 0x4f, 0x5f, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x10, 0x04, 0x42, 0x0e, 0x0a, 0x0c, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0xeb, 0x01, 0x0a, + 0x14, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc1, 0x04, 0x0a, 0x14, 0x56, + 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x5d, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x12, 0x56, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x12, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, + 0x60, 0x0a, 0x19, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x17, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, + 0x64, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x12, 0x5f, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x13, 0x6c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x85, + 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x78, 0x12, 0x4c, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x42, 0x58, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_goTypes = []interface{}{ + (TLSConfig_TLSMode)(0), // 0: networking.gloo.solo.io.TLSConfig.TLSMode + (TLSConfig_Parameters_ProtocolVersion)(0), // 1: networking.gloo.solo.io.TLSConfig.Parameters.ProtocolVersion + (*VirtualGatewaySpec)(nil), // 2: networking.gloo.solo.io.VirtualGatewaySpec + (*TLSConfig)(nil), // 3: networking.gloo.solo.io.TLSConfig + (*VirtualGatewayStatus)(nil), // 4: networking.gloo.solo.io.VirtualGatewayStatus + (*VirtualGatewayReport)(nil), // 5: networking.gloo.solo.io.VirtualGatewayReport + (*ListenerRouteTable)(nil), // 6: networking.gloo.solo.io.ListenerRouteTable + (*VirtualGatewaySpec_Listener)(nil), // 7: networking.gloo.solo.io.VirtualGatewaySpec.Listener + (*VirtualGatewaySpec_Listener_HTTPServer)(nil), // 8: networking.gloo.solo.io.VirtualGatewaySpec.Listener.HTTPServer + (*VirtualGatewaySpec_Listener_TCPServer)(nil), // 9: networking.gloo.solo.io.VirtualGatewaySpec.Listener.TCPServer + (*VirtualGatewaySpec_Listener_RouteTableFilter)(nil), // 10: networking.gloo.solo.io.VirtualGatewaySpec.Listener.RouteTableFilter + (*VirtualGatewaySpec_Listener_ExternalServiceFilter)(nil), // 11: networking.gloo.solo.io.VirtualGatewaySpec.Listener.ExternalServiceFilter + (*TLSConfig_Files)(nil), // 12: networking.gloo.solo.io.TLSConfig.Files + (*TLSConfig_Parameters)(nil), // 13: networking.gloo.solo.io.TLSConfig.Parameters + nil, // 14: networking.gloo.solo.io.VirtualGatewayReport.WorkspacesEntry + (*v2.WorkloadSelector)(nil), // 15: common.gloo.solo.io.WorkloadSelector + (*v2.Status)(nil), // 16: common.gloo.solo.io.Status + (*v2.ObjectReference)(nil), // 17: common.gloo.solo.io.ObjectReference + (*v2.PortSelector)(nil), // 18: common.gloo.solo.io.PortSelector + (*v2.ObjectSelector)(nil), // 19: common.gloo.solo.io.ObjectSelector + (*v2.RouteFilter)(nil), // 20: common.gloo.solo.io.RouteFilter + (*v2.Report)(nil), // 21: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_depIdxs = []int32{ + 15, // 0: networking.gloo.solo.io.VirtualGatewaySpec.workloads:type_name -> common.gloo.solo.io.WorkloadSelector + 7, // 1: networking.gloo.solo.io.VirtualGatewaySpec.listeners:type_name -> networking.gloo.solo.io.VirtualGatewaySpec.Listener + 12, // 2: networking.gloo.solo.io.TLSConfig.files:type_name -> networking.gloo.solo.io.TLSConfig.Files + 13, // 3: networking.gloo.solo.io.TLSConfig.parameters:type_name -> networking.gloo.solo.io.TLSConfig.Parameters + 0, // 4: networking.gloo.solo.io.TLSConfig.mode:type_name -> networking.gloo.solo.io.TLSConfig.TLSMode + 16, // 5: networking.gloo.solo.io.VirtualGatewayStatus.common:type_name -> common.gloo.solo.io.Status + 14, // 6: networking.gloo.solo.io.VirtualGatewayReport.workspaces:type_name -> networking.gloo.solo.io.VirtualGatewayReport.WorkspacesEntry + 17, // 7: networking.gloo.solo.io.VirtualGatewayReport.allowed_route_tables:type_name -> common.gloo.solo.io.ObjectReference + 17, // 8: networking.gloo.solo.io.VirtualGatewayReport.selected_workloads:type_name -> common.gloo.solo.io.ObjectReference + 17, // 9: networking.gloo.solo.io.VirtualGatewayReport.exposed_external_services:type_name -> common.gloo.solo.io.ObjectReference + 6, // 10: networking.gloo.solo.io.VirtualGatewayReport.listener_route_tables:type_name -> networking.gloo.solo.io.ListenerRouteTable + 17, // 11: networking.gloo.solo.io.ListenerRouteTable.route_table_ref:type_name -> common.gloo.solo.io.ObjectReference + 18, // 12: networking.gloo.solo.io.VirtualGatewaySpec.Listener.port:type_name -> common.gloo.solo.io.PortSelector + 3, // 13: networking.gloo.solo.io.VirtualGatewaySpec.Listener.tls:type_name -> networking.gloo.solo.io.TLSConfig + 8, // 14: networking.gloo.solo.io.VirtualGatewaySpec.Listener.http:type_name -> networking.gloo.solo.io.VirtualGatewaySpec.Listener.HTTPServer + 9, // 15: networking.gloo.solo.io.VirtualGatewaySpec.Listener.tcp:type_name -> networking.gloo.solo.io.VirtualGatewaySpec.Listener.TCPServer + 10, // 16: networking.gloo.solo.io.VirtualGatewaySpec.Listener.allowed_route_tables:type_name -> networking.gloo.solo.io.VirtualGatewaySpec.Listener.RouteTableFilter + 11, // 17: networking.gloo.solo.io.VirtualGatewaySpec.Listener.exposed_external_services:type_name -> networking.gloo.solo.io.VirtualGatewaySpec.Listener.ExternalServiceFilter + 19, // 18: networking.gloo.solo.io.VirtualGatewaySpec.Listener.RouteTableFilter.selector:type_name -> common.gloo.solo.io.ObjectSelector + 20, // 19: networking.gloo.solo.io.VirtualGatewaySpec.Listener.RouteTableFilter.allowed_routes:type_name -> common.gloo.solo.io.RouteFilter + 19, // 20: networking.gloo.solo.io.VirtualGatewaySpec.Listener.ExternalServiceFilter.selector:type_name -> common.gloo.solo.io.ObjectSelector + 1, // 21: networking.gloo.solo.io.TLSConfig.Parameters.minimum_protocol_version:type_name -> networking.gloo.solo.io.TLSConfig.Parameters.ProtocolVersion + 1, // 22: networking.gloo.solo.io.TLSConfig.Parameters.maximum_protocol_version:type_name -> networking.gloo.solo.io.TLSConfig.Parameters.ProtocolVersion + 21, // 23: networking.gloo.solo.io.VirtualGatewayReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 24, // [24:24] is the sub-list for method output_type + 24, // [24:24] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VirtualGatewaySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TLSConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VirtualGatewayStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VirtualGatewayReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListenerRouteTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VirtualGatewaySpec_Listener); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VirtualGatewaySpec_Listener_HTTPServer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VirtualGatewaySpec_Listener_TCPServer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VirtualGatewaySpec_Listener_RouteTableFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VirtualGatewaySpec_Listener_ExternalServiceFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TLSConfig_Files); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TLSConfig_Parameters); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*TLSConfig_SecretName)(nil), + (*TLSConfig_Files_)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*VirtualGatewaySpec_Listener_Tls)(nil), + (*VirtualGatewaySpec_Listener_HttpsRedirect)(nil), + (*VirtualGatewaySpec_Listener_Http)(nil), + (*VirtualGatewaySpec_Listener_Tcp)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDesc, + NumEnums: 2, + NumMessages: 13, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2_virtual_gateway_proto_depIdxs = nil +} diff --git a/client-go/networking.gloo.solo.io/v2/virtual_gateway.pb.hash.go b/client-go/networking.gloo.solo.io/v2/virtual_gateway.pb.hash.go new file mode 100644 index 000000000..bd9f7d755 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/virtual_gateway.pb.hash.go @@ -0,0 +1,781 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2/virtual_gateway.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *VirtualGatewaySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.VirtualGatewaySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetWorkloads() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetListeners() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TLSConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.TLSConfig")); err != nil { + return 0, err + } + + for _, v := range m.GetVerifySubjectAltName() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetParameters()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Parameters")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetParameters(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Parameters")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMode()) + if err != nil { + return 0, err + } + + switch m.Certificates.(type) { + + case *TLSConfig_SecretName: + + if _, err = hasher.Write([]byte(m.GetSecretName())); err != nil { + return 0, err + } + + case *TLSConfig_Files_: + + if h, ok := interface{}(m.GetFiles()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Files")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetFiles(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Files")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *VirtualGatewayStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.VirtualGatewayStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRouteTablesCount()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSelectedWorkloadsCount()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetExternalServicesCount()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *VirtualGatewayReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.VirtualGatewayReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetAllowedRouteTables() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetSelectedWorkloads() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetExposedExternalServices() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetListenerRouteTables() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ListenerRouteTable) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.ListenerRouteTable")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetListenerIdx()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRouteTableRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RouteTableRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRouteTableRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RouteTableRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *VirtualGatewaySpec_Listener) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.VirtualGatewaySpec_Listener")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Port")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetAllowedRouteTables() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetExposedExternalServices() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if _, err = hasher.Write([]byte(m.GetAppProtocol())); err != nil { + return 0, err + } + + switch m.TlsSettings.(type) { + + case *VirtualGatewaySpec_Listener_Tls: + + if h, ok := interface{}(m.GetTls()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Tls")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTls(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Tls")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *VirtualGatewaySpec_Listener_HttpsRedirect: + + err = binary.Write(hasher, binary.LittleEndian, m.GetHttpsRedirect()) + if err != nil { + return 0, err + } + + } + + switch m.ListenerType.(type) { + + case *VirtualGatewaySpec_Listener_Http: + + if h, ok := interface{}(m.GetHttp()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Http")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHttp(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Http")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *VirtualGatewaySpec_Listener_Tcp: + + if h, ok := interface{}(m.GetTcp()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Tcp")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTcp(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Tcp")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *VirtualGatewaySpec_Listener_HTTPServer) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.VirtualGatewaySpec_Listener_HTTPServer")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *VirtualGatewaySpec_Listener_TCPServer) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.VirtualGatewaySpec_Listener_TCPServer")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *VirtualGatewaySpec_Listener_RouteTableFilter) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.VirtualGatewaySpec_Listener_RouteTableFilter")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHost())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetAllowedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *VirtualGatewaySpec_Listener_ExternalServiceFilter) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.VirtualGatewaySpec_Listener_ExternalServiceFilter")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHost())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TLSConfig_Files) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.TLSConfig_Files")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetServerCert())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPrivateKey())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCaCerts())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TLSConfig_Parameters) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2.TLSConfig_Parameters")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMinimumProtocolVersion()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMaximumProtocolVersion()) + if err != nil { + return 0, err + } + + for _, v := range m.GetCipherSuites() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/networking.gloo.solo.io/v2/zz_generated.deepcopy.go b/client-go/networking.gloo.solo.io/v2/zz_generated.deepcopy.go new file mode 100644 index 000000000..aa6ea8605 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2/zz_generated.deepcopy.go @@ -0,0 +1,309 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for networking.gloo.solo.io/v2 resources + +package v2 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for ExternalService + +func (in *ExternalService) DeepCopyInto(out *ExternalService) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ExternalService) DeepCopy() *ExternalService { + if in == nil { + return nil + } + out := new(ExternalService) + in.DeepCopyInto(out) + return out +} + +func (in *ExternalService) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ExternalServiceList) DeepCopyInto(out *ExternalServiceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ExternalService, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ExternalServiceList) DeepCopy() *ExternalServiceList { + if in == nil { + return nil + } + out := new(ExternalServiceList) + in.DeepCopyInto(out) + return out +} + +func (in *ExternalServiceList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for ExternalEndpoint + +func (in *ExternalEndpoint) DeepCopyInto(out *ExternalEndpoint) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ExternalEndpoint) DeepCopy() *ExternalEndpoint { + if in == nil { + return nil + } + out := new(ExternalEndpoint) + in.DeepCopyInto(out) + return out +} + +func (in *ExternalEndpoint) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ExternalEndpointList) DeepCopyInto(out *ExternalEndpointList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ExternalEndpoint, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ExternalEndpointList) DeepCopy() *ExternalEndpointList { + if in == nil { + return nil + } + out := new(ExternalEndpointList) + in.DeepCopyInto(out) + return out +} + +func (in *ExternalEndpointList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for RouteTable + +func (in *RouteTable) DeepCopyInto(out *RouteTable) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *RouteTable) DeepCopy() *RouteTable { + if in == nil { + return nil + } + out := new(RouteTable) + in.DeepCopyInto(out) + return out +} + +func (in *RouteTable) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *RouteTableList) DeepCopyInto(out *RouteTableList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RouteTable, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *RouteTableList) DeepCopy() *RouteTableList { + if in == nil { + return nil + } + out := new(RouteTableList) + in.DeepCopyInto(out) + return out +} + +func (in *RouteTableList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for VirtualDestination + +func (in *VirtualDestination) DeepCopyInto(out *VirtualDestination) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *VirtualDestination) DeepCopy() *VirtualDestination { + if in == nil { + return nil + } + out := new(VirtualDestination) + in.DeepCopyInto(out) + return out +} + +func (in *VirtualDestination) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *VirtualDestinationList) DeepCopyInto(out *VirtualDestinationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]VirtualDestination, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *VirtualDestinationList) DeepCopy() *VirtualDestinationList { + if in == nil { + return nil + } + out := new(VirtualDestinationList) + in.DeepCopyInto(out) + return out +} + +func (in *VirtualDestinationList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for VirtualGateway + +func (in *VirtualGateway) DeepCopyInto(out *VirtualGateway) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *VirtualGateway) DeepCopy() *VirtualGateway { + if in == nil { + return nil + } + out := new(VirtualGateway) + in.DeepCopyInto(out) + return out +} + +func (in *VirtualGateway) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *VirtualGatewayList) DeepCopyInto(out *VirtualGatewayList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]VirtualGateway, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *VirtualGatewayList) DeepCopy() *VirtualGatewayList { + if in == nil { + return nil + } + out := new(VirtualGatewayList) + in.DeepCopyInto(out) + return out +} + +func (in *VirtualGatewayList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/clients.go b/client-go/networking.gloo.solo.io/v2alpha1/clients.go new file mode 100644 index 000000000..6b6e8ccc3 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/clients.go @@ -0,0 +1,213 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2alpha1 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the networking.gloo.solo.io/v2alpha1 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the networking.gloo.solo.io/v2alpha1 APIs +type Clientset interface { + // clienset for the networking.gloo.solo.io/v2alpha1/v2alpha1 APIs + ExternalWorkloads() ExternalWorkloadClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the networking.gloo.solo.io/v2alpha1/v2alpha1 APIs +func (c *clientSet) ExternalWorkloads() ExternalWorkloadClient { + return NewExternalWorkloadClient(c.client) +} + +// Reader knows how to read and list ExternalWorkloads. +type ExternalWorkloadReader interface { + // Get retrieves a ExternalWorkload for the given object key + GetExternalWorkload(ctx context.Context, key client.ObjectKey) (*ExternalWorkload, error) + + // List retrieves list of ExternalWorkloads for a given namespace and list options. + ListExternalWorkload(ctx context.Context, opts ...client.ListOption) (*ExternalWorkloadList, error) +} + +// ExternalWorkloadTransitionFunction instructs the ExternalWorkloadWriter how to transition between an existing +// ExternalWorkload object and a desired on an Upsert +type ExternalWorkloadTransitionFunction func(existing, desired *ExternalWorkload) error + +// Writer knows how to create, delete, and update ExternalWorkloads. +type ExternalWorkloadWriter interface { + // Create saves the ExternalWorkload object. + CreateExternalWorkload(ctx context.Context, obj *ExternalWorkload, opts ...client.CreateOption) error + + // Delete deletes the ExternalWorkload object. + DeleteExternalWorkload(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ExternalWorkload object. + UpdateExternalWorkload(ctx context.Context, obj *ExternalWorkload, opts ...client.UpdateOption) error + + // Patch patches the given ExternalWorkload object. + PatchExternalWorkload(ctx context.Context, obj *ExternalWorkload, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ExternalWorkload objects matching the given options. + DeleteAllOfExternalWorkload(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ExternalWorkload object. + UpsertExternalWorkload(ctx context.Context, obj *ExternalWorkload, transitionFuncs ...ExternalWorkloadTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ExternalWorkload object. +type ExternalWorkloadStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ExternalWorkload object. + UpdateExternalWorkloadStatus(ctx context.Context, obj *ExternalWorkload, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ExternalWorkload object's subresource. + PatchExternalWorkloadStatus(ctx context.Context, obj *ExternalWorkload, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ExternalWorkloads. +type ExternalWorkloadClient interface { + ExternalWorkloadReader + ExternalWorkloadWriter + ExternalWorkloadStatusWriter +} + +type externalWorkloadClient struct { + client client.Client +} + +func NewExternalWorkloadClient(client client.Client) *externalWorkloadClient { + return &externalWorkloadClient{client: client} +} + +func (c *externalWorkloadClient) GetExternalWorkload(ctx context.Context, key client.ObjectKey) (*ExternalWorkload, error) { + obj := &ExternalWorkload{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *externalWorkloadClient) ListExternalWorkload(ctx context.Context, opts ...client.ListOption) (*ExternalWorkloadList, error) { + list := &ExternalWorkloadList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *externalWorkloadClient) CreateExternalWorkload(ctx context.Context, obj *ExternalWorkload, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *externalWorkloadClient) DeleteExternalWorkload(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ExternalWorkload{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *externalWorkloadClient) UpdateExternalWorkload(ctx context.Context, obj *ExternalWorkload, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *externalWorkloadClient) PatchExternalWorkload(ctx context.Context, obj *ExternalWorkload, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *externalWorkloadClient) DeleteAllOfExternalWorkload(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ExternalWorkload{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *externalWorkloadClient) UpsertExternalWorkload(ctx context.Context, obj *ExternalWorkload, transitionFuncs ...ExternalWorkloadTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ExternalWorkload), desired.(*ExternalWorkload)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *externalWorkloadClient) UpdateExternalWorkloadStatus(ctx context.Context, obj *ExternalWorkload, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *externalWorkloadClient) PatchExternalWorkloadStatus(ctx context.Context, obj *ExternalWorkload, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ExternalWorkloadClients for multiple clusters. +type MulticlusterExternalWorkloadClient interface { + // Cluster returns a ExternalWorkloadClient for the given cluster + Cluster(cluster string) (ExternalWorkloadClient, error) +} + +type multiclusterExternalWorkloadClient struct { + client multicluster.Client +} + +func NewMulticlusterExternalWorkloadClient(client multicluster.Client) MulticlusterExternalWorkloadClient { + return &multiclusterExternalWorkloadClient{client: client} +} + +func (m *multiclusterExternalWorkloadClient) Cluster(cluster string) (ExternalWorkloadClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewExternalWorkloadClient(client), nil +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/config_types.go b/client-go/networking.gloo.solo.io/v2alpha1/config_types.go new file mode 100644 index 000000000..e835aefd3 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/config_types.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2alpha1 + +// IsConfigObject implements ConfigObject interface for ExternalWorkload +func (o *ExternalWorkload) IsConfigObject() {} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/controller/event_handlers.go b/client-go/networking.gloo.solo.io/v2alpha1/controller/event_handlers.go new file mode 100644 index 000000000..5c5e640db --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/controller/event_handlers.go @@ -0,0 +1,125 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + networking_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the ExternalWorkload Resource +// DEPRECATED: Prefer reconciler pattern. +type ExternalWorkloadEventHandler interface { + CreateExternalWorkload(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error + UpdateExternalWorkload(old, new *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error + DeleteExternalWorkload(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error + GenericExternalWorkload(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error +} + +type ExternalWorkloadEventHandlerFuncs struct { + OnCreate func(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error + OnUpdate func(old, new *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error + OnDelete func(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error + OnGeneric func(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error +} + +func (f *ExternalWorkloadEventHandlerFuncs) CreateExternalWorkload(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ExternalWorkloadEventHandlerFuncs) DeleteExternalWorkload(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ExternalWorkloadEventHandlerFuncs) UpdateExternalWorkload(objOld, objNew *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ExternalWorkloadEventHandlerFuncs) GenericExternalWorkload(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ExternalWorkloadEventWatcher interface { + AddEventHandler(ctx context.Context, h ExternalWorkloadEventHandler, predicates ...predicate.Predicate) error +} + +type externalWorkloadEventWatcher struct { + watcher events.EventWatcher +} + +func NewExternalWorkloadEventWatcher(name string, mgr manager.Manager) ExternalWorkloadEventWatcher { + return &externalWorkloadEventWatcher{ + watcher: events.NewWatcher(name, mgr, &networking_gloo_solo_io_v2alpha1.ExternalWorkload{}), + } +} + +func (c *externalWorkloadEventWatcher) AddEventHandler(ctx context.Context, h ExternalWorkloadEventHandler, predicates ...predicate.Predicate) error { + handler := genericExternalWorkloadHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericExternalWorkloadHandler implements a generic events.EventHandler +type genericExternalWorkloadHandler struct { + handler ExternalWorkloadEventHandler +} + +func (h genericExternalWorkloadHandler) Create(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) + if !ok { + return errors.Errorf("internal error: ExternalWorkload handler received event for %T", object) + } + return h.handler.CreateExternalWorkload(obj) +} + +func (h genericExternalWorkloadHandler) Delete(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) + if !ok { + return errors.Errorf("internal error: ExternalWorkload handler received event for %T", object) + } + return h.handler.DeleteExternalWorkload(obj) +} + +func (h genericExternalWorkloadHandler) Update(old, new client.Object) error { + objOld, ok := old.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) + if !ok { + return errors.Errorf("internal error: ExternalWorkload handler received event for %T", old) + } + objNew, ok := new.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) + if !ok { + return errors.Errorf("internal error: ExternalWorkload handler received event for %T", new) + } + return h.handler.UpdateExternalWorkload(objOld, objNew) +} + +func (h genericExternalWorkloadHandler) Generic(object client.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) + if !ok { + return errors.Errorf("internal error: ExternalWorkload handler received event for %T", object) + } + return h.handler.GenericExternalWorkload(obj) +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/controller/mocks/event_handlers.go b/client-go/networking.gloo.solo.io/v2alpha1/controller/mocks/event_handlers.go new file mode 100644 index 000000000..89e942483 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/controller/mocks/event_handlers.go @@ -0,0 +1,137 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1" + controller "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1/controller" +) + +// MockExternalWorkloadEventHandler is a mock of ExternalWorkloadEventHandler interface. +type MockExternalWorkloadEventHandler struct { + ctrl *gomock.Controller + recorder *MockExternalWorkloadEventHandlerMockRecorder +} + +// MockExternalWorkloadEventHandlerMockRecorder is the mock recorder for MockExternalWorkloadEventHandler. +type MockExternalWorkloadEventHandlerMockRecorder struct { + mock *MockExternalWorkloadEventHandler +} + +// NewMockExternalWorkloadEventHandler creates a new mock instance. +func NewMockExternalWorkloadEventHandler(ctrl *gomock.Controller) *MockExternalWorkloadEventHandler { + mock := &MockExternalWorkloadEventHandler{ctrl: ctrl} + mock.recorder = &MockExternalWorkloadEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalWorkloadEventHandler) EXPECT() *MockExternalWorkloadEventHandlerMockRecorder { + return m.recorder +} + +// CreateExternalWorkload mocks base method. +func (m *MockExternalWorkloadEventHandler) CreateExternalWorkload(obj *v2alpha1.ExternalWorkload) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateExternalWorkload", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExternalWorkload indicates an expected call of CreateExternalWorkload. +func (mr *MockExternalWorkloadEventHandlerMockRecorder) CreateExternalWorkload(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExternalWorkload", reflect.TypeOf((*MockExternalWorkloadEventHandler)(nil).CreateExternalWorkload), obj) +} + +// DeleteExternalWorkload mocks base method. +func (m *MockExternalWorkloadEventHandler) DeleteExternalWorkload(obj *v2alpha1.ExternalWorkload) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteExternalWorkload", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExternalWorkload indicates an expected call of DeleteExternalWorkload. +func (mr *MockExternalWorkloadEventHandlerMockRecorder) DeleteExternalWorkload(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExternalWorkload", reflect.TypeOf((*MockExternalWorkloadEventHandler)(nil).DeleteExternalWorkload), obj) +} + +// GenericExternalWorkload mocks base method. +func (m *MockExternalWorkloadEventHandler) GenericExternalWorkload(obj *v2alpha1.ExternalWorkload) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericExternalWorkload", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericExternalWorkload indicates an expected call of GenericExternalWorkload. +func (mr *MockExternalWorkloadEventHandlerMockRecorder) GenericExternalWorkload(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericExternalWorkload", reflect.TypeOf((*MockExternalWorkloadEventHandler)(nil).GenericExternalWorkload), obj) +} + +// UpdateExternalWorkload mocks base method. +func (m *MockExternalWorkloadEventHandler) UpdateExternalWorkload(old, new *v2alpha1.ExternalWorkload) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateExternalWorkload", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalWorkload indicates an expected call of UpdateExternalWorkload. +func (mr *MockExternalWorkloadEventHandlerMockRecorder) UpdateExternalWorkload(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalWorkload", reflect.TypeOf((*MockExternalWorkloadEventHandler)(nil).UpdateExternalWorkload), old, new) +} + +// MockExternalWorkloadEventWatcher is a mock of ExternalWorkloadEventWatcher interface. +type MockExternalWorkloadEventWatcher struct { + ctrl *gomock.Controller + recorder *MockExternalWorkloadEventWatcherMockRecorder +} + +// MockExternalWorkloadEventWatcherMockRecorder is the mock recorder for MockExternalWorkloadEventWatcher. +type MockExternalWorkloadEventWatcherMockRecorder struct { + mock *MockExternalWorkloadEventWatcher +} + +// NewMockExternalWorkloadEventWatcher creates a new mock instance. +func NewMockExternalWorkloadEventWatcher(ctrl *gomock.Controller) *MockExternalWorkloadEventWatcher { + mock := &MockExternalWorkloadEventWatcher{ctrl: ctrl} + mock.recorder = &MockExternalWorkloadEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalWorkloadEventWatcher) EXPECT() *MockExternalWorkloadEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockExternalWorkloadEventWatcher) AddEventHandler(ctx context.Context, h controller.ExternalWorkloadEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockExternalWorkloadEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockExternalWorkloadEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/controller/mocks/multicluster_reconcilers.go b/client-go/networking.gloo.solo.io/v2alpha1/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..472b03d5b --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,132 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1" + controller "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1/controller" +) + +// MockMulticlusterExternalWorkloadReconciler is a mock of MulticlusterExternalWorkloadReconciler interface. +type MockMulticlusterExternalWorkloadReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExternalWorkloadReconcilerMockRecorder +} + +// MockMulticlusterExternalWorkloadReconcilerMockRecorder is the mock recorder for MockMulticlusterExternalWorkloadReconciler. +type MockMulticlusterExternalWorkloadReconcilerMockRecorder struct { + mock *MockMulticlusterExternalWorkloadReconciler +} + +// NewMockMulticlusterExternalWorkloadReconciler creates a new mock instance. +func NewMockMulticlusterExternalWorkloadReconciler(ctrl *gomock.Controller) *MockMulticlusterExternalWorkloadReconciler { + mock := &MockMulticlusterExternalWorkloadReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterExternalWorkloadReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExternalWorkloadReconciler) EXPECT() *MockMulticlusterExternalWorkloadReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExternalWorkload mocks base method. +func (m *MockMulticlusterExternalWorkloadReconciler) ReconcileExternalWorkload(clusterName string, obj *v2alpha1.ExternalWorkload) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalWorkload", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExternalWorkload indicates an expected call of ReconcileExternalWorkload. +func (mr *MockMulticlusterExternalWorkloadReconcilerMockRecorder) ReconcileExternalWorkload(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalWorkload", reflect.TypeOf((*MockMulticlusterExternalWorkloadReconciler)(nil).ReconcileExternalWorkload), clusterName, obj) +} + +// MockMulticlusterExternalWorkloadDeletionReconciler is a mock of MulticlusterExternalWorkloadDeletionReconciler interface. +type MockMulticlusterExternalWorkloadDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExternalWorkloadDeletionReconcilerMockRecorder +} + +// MockMulticlusterExternalWorkloadDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterExternalWorkloadDeletionReconciler. +type MockMulticlusterExternalWorkloadDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterExternalWorkloadDeletionReconciler +} + +// NewMockMulticlusterExternalWorkloadDeletionReconciler creates a new mock instance. +func NewMockMulticlusterExternalWorkloadDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterExternalWorkloadDeletionReconciler { + mock := &MockMulticlusterExternalWorkloadDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterExternalWorkloadDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExternalWorkloadDeletionReconciler) EXPECT() *MockMulticlusterExternalWorkloadDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExternalWorkloadDeletion mocks base method. +func (m *MockMulticlusterExternalWorkloadDeletionReconciler) ReconcileExternalWorkloadDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalWorkloadDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileExternalWorkloadDeletion indicates an expected call of ReconcileExternalWorkloadDeletion. +func (mr *MockMulticlusterExternalWorkloadDeletionReconcilerMockRecorder) ReconcileExternalWorkloadDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalWorkloadDeletion", reflect.TypeOf((*MockMulticlusterExternalWorkloadDeletionReconciler)(nil).ReconcileExternalWorkloadDeletion), clusterName, req) +} + +// MockMulticlusterExternalWorkloadReconcileLoop is a mock of MulticlusterExternalWorkloadReconcileLoop interface. +type MockMulticlusterExternalWorkloadReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExternalWorkloadReconcileLoopMockRecorder +} + +// MockMulticlusterExternalWorkloadReconcileLoopMockRecorder is the mock recorder for MockMulticlusterExternalWorkloadReconcileLoop. +type MockMulticlusterExternalWorkloadReconcileLoopMockRecorder struct { + mock *MockMulticlusterExternalWorkloadReconcileLoop +} + +// NewMockMulticlusterExternalWorkloadReconcileLoop creates a new mock instance. +func NewMockMulticlusterExternalWorkloadReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterExternalWorkloadReconcileLoop { + mock := &MockMulticlusterExternalWorkloadReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterExternalWorkloadReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExternalWorkloadReconcileLoop) EXPECT() *MockMulticlusterExternalWorkloadReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterExternalWorkloadReconciler mocks base method. +func (m *MockMulticlusterExternalWorkloadReconcileLoop) AddMulticlusterExternalWorkloadReconciler(ctx context.Context, rec controller.MulticlusterExternalWorkloadReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterExternalWorkloadReconciler", varargs...) +} + +// AddMulticlusterExternalWorkloadReconciler indicates an expected call of AddMulticlusterExternalWorkloadReconciler. +func (mr *MockMulticlusterExternalWorkloadReconcileLoopMockRecorder) AddMulticlusterExternalWorkloadReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterExternalWorkloadReconciler", reflect.TypeOf((*MockMulticlusterExternalWorkloadReconcileLoop)(nil).AddMulticlusterExternalWorkloadReconciler), varargs...) +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/controller/mocks/reconcilers.go b/client-go/networking.gloo.solo.io/v2alpha1/controller/mocks/reconcilers.go new file mode 100644 index 000000000..c81e6b170 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/controller/mocks/reconcilers.go @@ -0,0 +1,200 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1" + controller "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1/controller" +) + +// MockExternalWorkloadReconciler is a mock of ExternalWorkloadReconciler interface. +type MockExternalWorkloadReconciler struct { + ctrl *gomock.Controller + recorder *MockExternalWorkloadReconcilerMockRecorder +} + +// MockExternalWorkloadReconcilerMockRecorder is the mock recorder for MockExternalWorkloadReconciler. +type MockExternalWorkloadReconcilerMockRecorder struct { + mock *MockExternalWorkloadReconciler +} + +// NewMockExternalWorkloadReconciler creates a new mock instance. +func NewMockExternalWorkloadReconciler(ctrl *gomock.Controller) *MockExternalWorkloadReconciler { + mock := &MockExternalWorkloadReconciler{ctrl: ctrl} + mock.recorder = &MockExternalWorkloadReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalWorkloadReconciler) EXPECT() *MockExternalWorkloadReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExternalWorkload mocks base method. +func (m *MockExternalWorkloadReconciler) ReconcileExternalWorkload(obj *v2alpha1.ExternalWorkload) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalWorkload", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExternalWorkload indicates an expected call of ReconcileExternalWorkload. +func (mr *MockExternalWorkloadReconcilerMockRecorder) ReconcileExternalWorkload(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalWorkload", reflect.TypeOf((*MockExternalWorkloadReconciler)(nil).ReconcileExternalWorkload), obj) +} + +// MockExternalWorkloadDeletionReconciler is a mock of ExternalWorkloadDeletionReconciler interface. +type MockExternalWorkloadDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockExternalWorkloadDeletionReconcilerMockRecorder +} + +// MockExternalWorkloadDeletionReconcilerMockRecorder is the mock recorder for MockExternalWorkloadDeletionReconciler. +type MockExternalWorkloadDeletionReconcilerMockRecorder struct { + mock *MockExternalWorkloadDeletionReconciler +} + +// NewMockExternalWorkloadDeletionReconciler creates a new mock instance. +func NewMockExternalWorkloadDeletionReconciler(ctrl *gomock.Controller) *MockExternalWorkloadDeletionReconciler { + mock := &MockExternalWorkloadDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockExternalWorkloadDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalWorkloadDeletionReconciler) EXPECT() *MockExternalWorkloadDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExternalWorkloadDeletion mocks base method. +func (m *MockExternalWorkloadDeletionReconciler) ReconcileExternalWorkloadDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalWorkloadDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileExternalWorkloadDeletion indicates an expected call of ReconcileExternalWorkloadDeletion. +func (mr *MockExternalWorkloadDeletionReconcilerMockRecorder) ReconcileExternalWorkloadDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalWorkloadDeletion", reflect.TypeOf((*MockExternalWorkloadDeletionReconciler)(nil).ReconcileExternalWorkloadDeletion), req) +} + +// MockExternalWorkloadFinalizer is a mock of ExternalWorkloadFinalizer interface. +type MockExternalWorkloadFinalizer struct { + ctrl *gomock.Controller + recorder *MockExternalWorkloadFinalizerMockRecorder +} + +// MockExternalWorkloadFinalizerMockRecorder is the mock recorder for MockExternalWorkloadFinalizer. +type MockExternalWorkloadFinalizerMockRecorder struct { + mock *MockExternalWorkloadFinalizer +} + +// NewMockExternalWorkloadFinalizer creates a new mock instance. +func NewMockExternalWorkloadFinalizer(ctrl *gomock.Controller) *MockExternalWorkloadFinalizer { + mock := &MockExternalWorkloadFinalizer{ctrl: ctrl} + mock.recorder = &MockExternalWorkloadFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalWorkloadFinalizer) EXPECT() *MockExternalWorkloadFinalizerMockRecorder { + return m.recorder +} + +// ExternalWorkloadFinalizerName mocks base method. +func (m *MockExternalWorkloadFinalizer) ExternalWorkloadFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExternalWorkloadFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ExternalWorkloadFinalizerName indicates an expected call of ExternalWorkloadFinalizerName. +func (mr *MockExternalWorkloadFinalizerMockRecorder) ExternalWorkloadFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExternalWorkloadFinalizerName", reflect.TypeOf((*MockExternalWorkloadFinalizer)(nil).ExternalWorkloadFinalizerName)) +} + +// FinalizeExternalWorkload mocks base method. +func (m *MockExternalWorkloadFinalizer) FinalizeExternalWorkload(obj *v2alpha1.ExternalWorkload) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeExternalWorkload", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeExternalWorkload indicates an expected call of FinalizeExternalWorkload. +func (mr *MockExternalWorkloadFinalizerMockRecorder) FinalizeExternalWorkload(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeExternalWorkload", reflect.TypeOf((*MockExternalWorkloadFinalizer)(nil).FinalizeExternalWorkload), obj) +} + +// ReconcileExternalWorkload mocks base method. +func (m *MockExternalWorkloadFinalizer) ReconcileExternalWorkload(obj *v2alpha1.ExternalWorkload) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExternalWorkload", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExternalWorkload indicates an expected call of ReconcileExternalWorkload. +func (mr *MockExternalWorkloadFinalizerMockRecorder) ReconcileExternalWorkload(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExternalWorkload", reflect.TypeOf((*MockExternalWorkloadFinalizer)(nil).ReconcileExternalWorkload), obj) +} + +// MockExternalWorkloadReconcileLoop is a mock of ExternalWorkloadReconcileLoop interface. +type MockExternalWorkloadReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockExternalWorkloadReconcileLoopMockRecorder +} + +// MockExternalWorkloadReconcileLoopMockRecorder is the mock recorder for MockExternalWorkloadReconcileLoop. +type MockExternalWorkloadReconcileLoopMockRecorder struct { + mock *MockExternalWorkloadReconcileLoop +} + +// NewMockExternalWorkloadReconcileLoop creates a new mock instance. +func NewMockExternalWorkloadReconcileLoop(ctrl *gomock.Controller) *MockExternalWorkloadReconcileLoop { + mock := &MockExternalWorkloadReconcileLoop{ctrl: ctrl} + mock.recorder = &MockExternalWorkloadReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalWorkloadReconcileLoop) EXPECT() *MockExternalWorkloadReconcileLoopMockRecorder { + return m.recorder +} + +// RunExternalWorkloadReconciler mocks base method. +func (m *MockExternalWorkloadReconcileLoop) RunExternalWorkloadReconciler(ctx context.Context, rec controller.ExternalWorkloadReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunExternalWorkloadReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunExternalWorkloadReconciler indicates an expected call of RunExternalWorkloadReconciler. +func (mr *MockExternalWorkloadReconcileLoopMockRecorder) RunExternalWorkloadReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunExternalWorkloadReconciler", reflect.TypeOf((*MockExternalWorkloadReconcileLoop)(nil).RunExternalWorkloadReconciler), varargs...) +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/controller/multicluster_reconcilers.go b/client-go/networking.gloo.solo.io/v2alpha1/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..f16b232bc --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/controller/multicluster_reconcilers.go @@ -0,0 +1,90 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + networking_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the ExternalWorkload Resource across clusters. +// implemented by the user +type MulticlusterExternalWorkloadReconciler interface { + ReconcileExternalWorkload(clusterName string, obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) (reconcile.Result, error) +} + +// Reconcile deletion events for the ExternalWorkload Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterExternalWorkloadDeletionReconciler interface { + ReconcileExternalWorkloadDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterExternalWorkloadReconcilerFuncs struct { + OnReconcileExternalWorkload func(clusterName string, obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) (reconcile.Result, error) + OnReconcileExternalWorkloadDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterExternalWorkloadReconcilerFuncs) ReconcileExternalWorkload(clusterName string, obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) (reconcile.Result, error) { + if f.OnReconcileExternalWorkload == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileExternalWorkload(clusterName, obj) +} + +func (f *MulticlusterExternalWorkloadReconcilerFuncs) ReconcileExternalWorkloadDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileExternalWorkloadDeletion == nil { + return nil + } + return f.OnReconcileExternalWorkloadDeletion(clusterName, req) +} + +type MulticlusterExternalWorkloadReconcileLoop interface { + // AddMulticlusterExternalWorkloadReconciler adds a MulticlusterExternalWorkloadReconciler to the MulticlusterExternalWorkloadReconcileLoop. + AddMulticlusterExternalWorkloadReconciler(ctx context.Context, rec MulticlusterExternalWorkloadReconciler, predicates ...predicate.Predicate) +} + +type multiclusterExternalWorkloadReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterExternalWorkloadReconcileLoop) AddMulticlusterExternalWorkloadReconciler(ctx context.Context, rec MulticlusterExternalWorkloadReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericExternalWorkloadMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterExternalWorkloadReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterExternalWorkloadReconcileLoop { + return &multiclusterExternalWorkloadReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &networking_gloo_solo_io_v2alpha1.ExternalWorkload{}, options)} +} + +type genericExternalWorkloadMulticlusterReconciler struct { + reconciler MulticlusterExternalWorkloadReconciler +} + +func (g genericExternalWorkloadMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterExternalWorkloadDeletionReconciler); ok { + return deletionReconciler.ReconcileExternalWorkloadDeletion(cluster, req) + } + return nil +} + +func (g genericExternalWorkloadMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ExternalWorkload handler received event for %T", object) + } + return g.reconciler.ReconcileExternalWorkload(cluster, obj) +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/controller/reconcilers.go b/client-go/networking.gloo.solo.io/v2alpha1/controller/reconcilers.go new file mode 100644 index 000000000..523b015df --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/controller/reconcilers.go @@ -0,0 +1,135 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + networking_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the ExternalWorkload Resource. +// implemented by the user +type ExternalWorkloadReconciler interface { + ReconcileExternalWorkload(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) (reconcile.Result, error) +} + +// Reconcile deletion events for the ExternalWorkload Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ExternalWorkloadDeletionReconciler interface { + ReconcileExternalWorkloadDeletion(req reconcile.Request) error +} + +type ExternalWorkloadReconcilerFuncs struct { + OnReconcileExternalWorkload func(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) (reconcile.Result, error) + OnReconcileExternalWorkloadDeletion func(req reconcile.Request) error +} + +func (f *ExternalWorkloadReconcilerFuncs) ReconcileExternalWorkload(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) (reconcile.Result, error) { + if f.OnReconcileExternalWorkload == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileExternalWorkload(obj) +} + +func (f *ExternalWorkloadReconcilerFuncs) ReconcileExternalWorkloadDeletion(req reconcile.Request) error { + if f.OnReconcileExternalWorkloadDeletion == nil { + return nil + } + return f.OnReconcileExternalWorkloadDeletion(req) +} + +// Reconcile and finalize the ExternalWorkload Resource +// implemented by the user +type ExternalWorkloadFinalizer interface { + ExternalWorkloadReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ExternalWorkloadFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeExternalWorkload(obj *networking_gloo_solo_io_v2alpha1.ExternalWorkload) error +} + +type ExternalWorkloadReconcileLoop interface { + RunExternalWorkloadReconciler(ctx context.Context, rec ExternalWorkloadReconciler, predicates ...predicate.Predicate) error +} + +type externalWorkloadReconcileLoop struct { + loop reconcile.Loop +} + +func NewExternalWorkloadReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ExternalWorkloadReconcileLoop { + return &externalWorkloadReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &networking_gloo_solo_io_v2alpha1.ExternalWorkload{}, options), + } +} + +func (c *externalWorkloadReconcileLoop) RunExternalWorkloadReconciler(ctx context.Context, reconciler ExternalWorkloadReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericExternalWorkloadReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ExternalWorkloadFinalizer); ok { + reconcilerWrapper = genericExternalWorkloadFinalizer{ + genericExternalWorkloadReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericExternalWorkloadHandler implements a generic reconcile.Reconciler +type genericExternalWorkloadReconciler struct { + reconciler ExternalWorkloadReconciler +} + +func (r genericExternalWorkloadReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ExternalWorkload handler received event for %T", object) + } + return r.reconciler.ReconcileExternalWorkload(obj) +} + +func (r genericExternalWorkloadReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ExternalWorkloadDeletionReconciler); ok { + return deletionReconciler.ReconcileExternalWorkloadDeletion(request) + } + return nil +} + +// genericExternalWorkloadFinalizer implements a generic reconcile.FinalizingReconciler +type genericExternalWorkloadFinalizer struct { + genericExternalWorkloadReconciler + finalizingReconciler ExternalWorkloadFinalizer +} + +func (r genericExternalWorkloadFinalizer) FinalizerName() string { + return r.finalizingReconciler.ExternalWorkloadFinalizerName() +} + +func (r genericExternalWorkloadFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) + if !ok { + return errors.Errorf("internal error: ExternalWorkload handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeExternalWorkload(obj) +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/doc.go b/client-go/networking.gloo.solo.io/v2alpha1/doc.go new file mode 100644 index 000000000..af50d73ad --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2alpha1 contains API Schema definitions for the networking.gloo.solo.io v2alpha1 API group +// +k8s:deepcopy-gen=package,register +// +groupName=networking.gloo.solo.io +package v2alpha1 diff --git a/client-go/networking.gloo.solo.io/v2alpha1/external_workload.pb.clone.go b/client-go/networking.gloo.solo.io/v2alpha1/external_workload.pb.clone.go new file mode 100644 index 000000000..3c2f38f62 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/external_workload.pb.clone.go @@ -0,0 +1,500 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2alpha1/external_workload.proto + +package v2alpha1 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ExternalWorkloadSpec) Clone() proto.Message { + var target *ExternalWorkloadSpec + if m == nil { + return target + } + target = &ExternalWorkloadSpec{} + + if m.GetPorts() != nil { + target.Ports = make([]*ExternalWorkloadSpec_Port, len(m.GetPorts())) + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Ports[idx] = h.Clone().(*ExternalWorkloadSpec_Port) + } else { + target.Ports[idx] = proto.Clone(v).(*ExternalWorkloadSpec_Port) + } + + } + } + + if h, ok := interface{}(m.GetIdentitySelector()).(clone.Cloner); ok { + target.IdentitySelector = h.Clone().(*ExternalWorkloadSpec_IdentitySelector) + } else { + target.IdentitySelector = proto.Clone(m.GetIdentitySelector()).(*ExternalWorkloadSpec_IdentitySelector) + } + + if m.GetConnectedClusters() != nil { + target.ConnectedClusters = make(map[string]string, len(m.GetConnectedClusters())) + for k, v := range m.GetConnectedClusters() { + + target.ConnectedClusters[k] = v + + } + } + + if h, ok := interface{}(m.GetReadinessProbe()).(clone.Cloner); ok { + target.ReadinessProbe = h.Clone().(*ExternalWorkloadSpec_Probe) + } else { + target.ReadinessProbe = proto.Clone(m.GetReadinessProbe()).(*ExternalWorkloadSpec_Probe) + } + + return target +} + +// Clone function +func (m *ExternalWorkloadStatus) Clone() proto.Message { + var target *ExternalWorkloadStatus + if m == nil { + return target + } + target = &ExternalWorkloadStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + if m.GetNumAppliedPolicies() != nil { + target.NumAppliedPolicies = make(map[string]uint32, len(m.GetNumAppliedPolicies())) + for k, v := range m.GetNumAppliedPolicies() { + + target.NumAppliedPolicies[k] = v + + } + } + + target.OwnedByWorkspace = m.GetOwnedByWorkspace() + + return target +} + +// Clone function +func (m *ExternalWorkloadReport) Clone() proto.Message { + var target *ExternalWorkloadReport + if m == nil { + return target + } + target = &ExternalWorkloadReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetAppliedDestinationPolicies() != nil { + target.AppliedDestinationPolicies = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.AppliedDestinationPortPolicies, len(m.GetAppliedDestinationPolicies())) + for k, v := range m.GetAppliedDestinationPolicies() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AppliedDestinationPolicies[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.AppliedDestinationPortPolicies) + } else { + target.AppliedDestinationPolicies[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.AppliedDestinationPortPolicies) + } + + } + } + + target.OwnerWorkspace = m.GetOwnerWorkspace() + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_Port) Clone() proto.Message { + var target *ExternalWorkloadSpec_Port + if m == nil { + return target + } + target = &ExternalWorkloadSpec_Port{} + + target.Name = m.GetName() + + target.Protocol = m.GetProtocol() + + target.Number = m.GetNumber() + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_IdentitySelector) Clone() proto.Message { + var target *ExternalWorkloadSpec_IdentitySelector + if m == nil { + return target + } + target = &ExternalWorkloadSpec_IdentitySelector{} + + if m.GetAws() != nil { + target.Aws = make([]*ExternalWorkloadSpec_IdentitySelector_AWS, len(m.GetAws())) + for idx, v := range m.GetAws() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Aws[idx] = h.Clone().(*ExternalWorkloadSpec_IdentitySelector_AWS) + } else { + target.Aws[idx] = proto.Clone(v).(*ExternalWorkloadSpec_IdentitySelector_AWS) + } + + } + } + + if m.GetGcp() != nil { + target.Gcp = make([]*ExternalWorkloadSpec_IdentitySelector_GCP, len(m.GetGcp())) + for idx, v := range m.GetGcp() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Gcp[idx] = h.Clone().(*ExternalWorkloadSpec_IdentitySelector_GCP) + } else { + target.Gcp[idx] = proto.Clone(v).(*ExternalWorkloadSpec_IdentitySelector_GCP) + } + + } + } + + if m.GetAzure() != nil { + target.Azure = make([]*ExternalWorkloadSpec_IdentitySelector_Azure, len(m.GetAzure())) + for idx, v := range m.GetAzure() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Azure[idx] = h.Clone().(*ExternalWorkloadSpec_IdentitySelector_Azure) + } else { + target.Azure[idx] = proto.Clone(v).(*ExternalWorkloadSpec_IdentitySelector_Azure) + } + + } + } + + if h, ok := interface{}(m.GetJoinToken()).(clone.Cloner); ok { + target.JoinToken = h.Clone().(*ExternalWorkloadSpec_IdentitySelector_JoinToken) + } else { + target.JoinToken = proto.Clone(m.GetJoinToken()).(*ExternalWorkloadSpec_IdentitySelector_JoinToken) + } + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_Probe) Clone() proto.Message { + var target *ExternalWorkloadSpec_Probe + if m == nil { + return target + } + target = &ExternalWorkloadSpec_Probe{} + + if h, ok := interface{}(m.GetInitialDelaySeconds()).(clone.Cloner); ok { + target.InitialDelaySeconds = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.InitialDelaySeconds = proto.Clone(m.GetInitialDelaySeconds()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + if h, ok := interface{}(m.GetTimeoutSeconds()).(clone.Cloner); ok { + target.TimeoutSeconds = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.TimeoutSeconds = proto.Clone(m.GetTimeoutSeconds()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + if h, ok := interface{}(m.GetPeriodSeconds()).(clone.Cloner); ok { + target.PeriodSeconds = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.PeriodSeconds = proto.Clone(m.GetPeriodSeconds()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + if h, ok := interface{}(m.GetSuccessThreshold()).(clone.Cloner); ok { + target.SuccessThreshold = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.SuccessThreshold = proto.Clone(m.GetSuccessThreshold()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + if h, ok := interface{}(m.GetFailureThreshold()).(clone.Cloner); ok { + target.FailureThreshold = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.FailureThreshold = proto.Clone(m.GetFailureThreshold()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + switch m.Handler.(type) { + + case *ExternalWorkloadSpec_Probe_HttpGet: + + if h, ok := interface{}(m.GetHttpGet()).(clone.Cloner); ok { + target.Handler = &ExternalWorkloadSpec_Probe_HttpGet{ + HttpGet: h.Clone().(*ExternalWorkloadSpec_Probe_HTTPGetConfig), + } + } else { + target.Handler = &ExternalWorkloadSpec_Probe_HttpGet{ + HttpGet: proto.Clone(m.GetHttpGet()).(*ExternalWorkloadSpec_Probe_HTTPGetConfig), + } + } + + case *ExternalWorkloadSpec_Probe_TcpSocket: + + if h, ok := interface{}(m.GetTcpSocket()).(clone.Cloner); ok { + target.Handler = &ExternalWorkloadSpec_Probe_TcpSocket{ + TcpSocket: h.Clone().(*ExternalWorkloadSpec_Probe_TCPSocketConfig), + } + } else { + target.Handler = &ExternalWorkloadSpec_Probe_TcpSocket{ + TcpSocket: proto.Clone(m.GetTcpSocket()).(*ExternalWorkloadSpec_Probe_TCPSocketConfig), + } + } + + case *ExternalWorkloadSpec_Probe_Exec: + + if h, ok := interface{}(m.GetExec()).(clone.Cloner); ok { + target.Handler = &ExternalWorkloadSpec_Probe_Exec{ + Exec: h.Clone().(*ExternalWorkloadSpec_Probe_ExecConfig), + } + } else { + target.Handler = &ExternalWorkloadSpec_Probe_Exec{ + Exec: proto.Clone(m.GetExec()).(*ExternalWorkloadSpec_Probe_ExecConfig), + } + } + + } + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_IdentitySelector_AWS) Clone() proto.Message { + var target *ExternalWorkloadSpec_IdentitySelector_AWS + if m == nil { + return target + } + target = &ExternalWorkloadSpec_IdentitySelector_AWS{} + + target.IamRole = m.GetIamRole() + + target.SecurityGroupName = m.GetSecurityGroupName() + + target.SecurityGroupId = m.GetSecurityGroupId() + + target.ImageId = m.GetImageId() + + target.InstanceId = m.GetInstanceId() + + target.Zone = m.GetZone() + + target.Region = m.GetRegion() + + if h, ok := interface{}(m.GetTag()).(clone.Cloner); ok { + target.Tag = h.Clone().(*ExternalWorkloadSpec_IdentitySelector_AWS_Tag) + } else { + target.Tag = proto.Clone(m.GetTag()).(*ExternalWorkloadSpec_IdentitySelector_AWS_Tag) + } + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_IdentitySelector_GCP) Clone() proto.Message { + var target *ExternalWorkloadSpec_IdentitySelector_GCP + if m == nil { + return target + } + target = &ExternalWorkloadSpec_IdentitySelector_GCP{} + + target.ServiceAccount = m.GetServiceAccount() + + target.Name = m.GetName() + + target.Tag = m.GetTag() + + target.ProjectId = m.GetProjectId() + + target.Zone = m.GetZone() + + if h, ok := interface{}(m.GetLabel()).(clone.Cloner); ok { + target.Label = h.Clone().(*ExternalWorkloadSpec_IdentitySelector_GCP_Label) + } else { + target.Label = proto.Clone(m.GetLabel()).(*ExternalWorkloadSpec_IdentitySelector_GCP_Label) + } + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_IdentitySelector_Azure) Clone() proto.Message { + var target *ExternalWorkloadSpec_IdentitySelector_Azure + if m == nil { + return target + } + target = &ExternalWorkloadSpec_IdentitySelector_Azure{} + + target.SubscriptionId = m.GetSubscriptionId() + + target.SecurityGroup = m.GetSecurityGroup() + + target.VirtualNetwork = m.GetVirtualNetwork() + + target.Subnet = m.GetSubnet() + + target.Name = m.GetName() + + target.ResourceGroup = m.GetResourceGroup() + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_IdentitySelector_JoinToken) Clone() proto.Message { + var target *ExternalWorkloadSpec_IdentitySelector_JoinToken + if m == nil { + return target + } + target = &ExternalWorkloadSpec_IdentitySelector_JoinToken{} + + target.Enable = m.GetEnable() + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_IdentitySelector_AWS_Tag) Clone() proto.Message { + var target *ExternalWorkloadSpec_IdentitySelector_AWS_Tag + if m == nil { + return target + } + target = &ExternalWorkloadSpec_IdentitySelector_AWS_Tag{} + + target.Key = m.GetKey() + + target.Value = m.GetValue() + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_IdentitySelector_GCP_Label) Clone() proto.Message { + var target *ExternalWorkloadSpec_IdentitySelector_GCP_Label + if m == nil { + return target + } + target = &ExternalWorkloadSpec_IdentitySelector_GCP_Label{} + + target.Key = m.GetKey() + + target.Value = m.GetValue() + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_Probe_HTTPGetConfig) Clone() proto.Message { + var target *ExternalWorkloadSpec_Probe_HTTPGetConfig + if m == nil { + return target + } + target = &ExternalWorkloadSpec_Probe_HTTPGetConfig{} + + target.Port = m.GetPort() + + target.Path = m.GetPath() + + target.Scheme = m.GetScheme() + + if m.GetHttpHeaders() != nil { + target.HttpHeaders = make([]*ExternalWorkloadSpec_Probe_HTTPHeader, len(m.GetHttpHeaders())) + for idx, v := range m.GetHttpHeaders() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.HttpHeaders[idx] = h.Clone().(*ExternalWorkloadSpec_Probe_HTTPHeader) + } else { + target.HttpHeaders[idx] = proto.Clone(v).(*ExternalWorkloadSpec_Probe_HTTPHeader) + } + + } + } + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_Probe_HTTPHeader) Clone() proto.Message { + var target *ExternalWorkloadSpec_Probe_HTTPHeader + if m == nil { + return target + } + target = &ExternalWorkloadSpec_Probe_HTTPHeader{} + + target.Name = m.GetName() + + target.Value = m.GetValue() + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_Probe_TCPSocketConfig) Clone() proto.Message { + var target *ExternalWorkloadSpec_Probe_TCPSocketConfig + if m == nil { + return target + } + target = &ExternalWorkloadSpec_Probe_TCPSocketConfig{} + + target.Host = m.GetHost() + + target.Port = m.GetPort() + + return target +} + +// Clone function +func (m *ExternalWorkloadSpec_Probe_ExecConfig) Clone() proto.Message { + var target *ExternalWorkloadSpec_Probe_ExecConfig + if m == nil { + return target + } + target = &ExternalWorkloadSpec_Probe_ExecConfig{} + + if m.GetCommand() != nil { + target.Command = make([]string, len(m.GetCommand())) + for idx, v := range m.GetCommand() { + + target.Command[idx] = v + + } + } + + return target +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/external_workload.pb.equal.go b/client-go/networking.gloo.solo.io/v2alpha1/external_workload.pb.equal.go new file mode 100644 index 000000000..ab03f26e8 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/external_workload.pb.equal.go @@ -0,0 +1,866 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2alpha1/external_workload.proto + +package v2alpha1 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ExternalWorkloadSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec) + if !ok { + that2, ok := that.(ExternalWorkloadSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetPorts()) != len(target.GetPorts()) { + return false + } + for idx, v := range m.GetPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPorts()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetIdentitySelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetIdentitySelector()) { + return false + } + } else { + if !proto.Equal(m.GetIdentitySelector(), target.GetIdentitySelector()) { + return false + } + } + + if len(m.GetConnectedClusters()) != len(target.GetConnectedClusters()) { + return false + } + for k, v := range m.GetConnectedClusters() { + + if strings.Compare(v, target.GetConnectedClusters()[k]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetReadinessProbe()).(equality.Equalizer); ok { + if !h.Equal(target.GetReadinessProbe()) { + return false + } + } else { + if !proto.Equal(m.GetReadinessProbe(), target.GetReadinessProbe()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExternalWorkloadStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadStatus) + if !ok { + that2, ok := that.(ExternalWorkloadStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if len(m.GetNumAppliedPolicies()) != len(target.GetNumAppliedPolicies()) { + return false + } + for k, v := range m.GetNumAppliedPolicies() { + + if v != target.GetNumAppliedPolicies()[k] { + return false + } + + } + + if strings.Compare(m.GetOwnedByWorkspace(), target.GetOwnedByWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ExternalWorkloadReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadReport) + if !ok { + that2, ok := that.(ExternalWorkloadReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetAppliedDestinationPolicies()) != len(target.GetAppliedDestinationPolicies()) { + return false + } + for k, v := range m.GetAppliedDestinationPolicies() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAppliedDestinationPolicies()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetAppliedDestinationPolicies()[k]) { + return false + } + } + + } + + if strings.Compare(m.GetOwnerWorkspace(), target.GetOwnerWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_Port) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_Port) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_Port) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetProtocol(), target.GetProtocol()) != 0 { + return false + } + + if m.GetNumber() != target.GetNumber() { + return false + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_IdentitySelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_IdentitySelector) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_IdentitySelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetAws()) != len(target.GetAws()) { + return false + } + for idx, v := range m.GetAws() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAws()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetAws()[idx]) { + return false + } + } + + } + + if len(m.GetGcp()) != len(target.GetGcp()) { + return false + } + for idx, v := range m.GetGcp() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetGcp()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetGcp()[idx]) { + return false + } + } + + } + + if len(m.GetAzure()) != len(target.GetAzure()) { + return false + } + for idx, v := range m.GetAzure() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAzure()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetAzure()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetJoinToken()).(equality.Equalizer); ok { + if !h.Equal(target.GetJoinToken()) { + return false + } + } else { + if !proto.Equal(m.GetJoinToken(), target.GetJoinToken()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_Probe) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_Probe) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_Probe) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetInitialDelaySeconds()).(equality.Equalizer); ok { + if !h.Equal(target.GetInitialDelaySeconds()) { + return false + } + } else { + if !proto.Equal(m.GetInitialDelaySeconds(), target.GetInitialDelaySeconds()) { + return false + } + } + + if h, ok := interface{}(m.GetTimeoutSeconds()).(equality.Equalizer); ok { + if !h.Equal(target.GetTimeoutSeconds()) { + return false + } + } else { + if !proto.Equal(m.GetTimeoutSeconds(), target.GetTimeoutSeconds()) { + return false + } + } + + if h, ok := interface{}(m.GetPeriodSeconds()).(equality.Equalizer); ok { + if !h.Equal(target.GetPeriodSeconds()) { + return false + } + } else { + if !proto.Equal(m.GetPeriodSeconds(), target.GetPeriodSeconds()) { + return false + } + } + + if h, ok := interface{}(m.GetSuccessThreshold()).(equality.Equalizer); ok { + if !h.Equal(target.GetSuccessThreshold()) { + return false + } + } else { + if !proto.Equal(m.GetSuccessThreshold(), target.GetSuccessThreshold()) { + return false + } + } + + if h, ok := interface{}(m.GetFailureThreshold()).(equality.Equalizer); ok { + if !h.Equal(target.GetFailureThreshold()) { + return false + } + } else { + if !proto.Equal(m.GetFailureThreshold(), target.GetFailureThreshold()) { + return false + } + } + + switch m.Handler.(type) { + + case *ExternalWorkloadSpec_Probe_HttpGet: + if _, ok := target.Handler.(*ExternalWorkloadSpec_Probe_HttpGet); !ok { + return false + } + + if h, ok := interface{}(m.GetHttpGet()).(equality.Equalizer); ok { + if !h.Equal(target.GetHttpGet()) { + return false + } + } else { + if !proto.Equal(m.GetHttpGet(), target.GetHttpGet()) { + return false + } + } + + case *ExternalWorkloadSpec_Probe_TcpSocket: + if _, ok := target.Handler.(*ExternalWorkloadSpec_Probe_TcpSocket); !ok { + return false + } + + if h, ok := interface{}(m.GetTcpSocket()).(equality.Equalizer); ok { + if !h.Equal(target.GetTcpSocket()) { + return false + } + } else { + if !proto.Equal(m.GetTcpSocket(), target.GetTcpSocket()) { + return false + } + } + + case *ExternalWorkloadSpec_Probe_Exec: + if _, ok := target.Handler.(*ExternalWorkloadSpec_Probe_Exec); !ok { + return false + } + + if h, ok := interface{}(m.GetExec()).(equality.Equalizer); ok { + if !h.Equal(target.GetExec()) { + return false + } + } else { + if !proto.Equal(m.GetExec(), target.GetExec()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Handler != target.Handler { + return false + } + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_IdentitySelector_AWS) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_IdentitySelector_AWS) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_IdentitySelector_AWS) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetIamRole(), target.GetIamRole()) != 0 { + return false + } + + if strings.Compare(m.GetSecurityGroupName(), target.GetSecurityGroupName()) != 0 { + return false + } + + if strings.Compare(m.GetSecurityGroupId(), target.GetSecurityGroupId()) != 0 { + return false + } + + if strings.Compare(m.GetImageId(), target.GetImageId()) != 0 { + return false + } + + if strings.Compare(m.GetInstanceId(), target.GetInstanceId()) != 0 { + return false + } + + if strings.Compare(m.GetZone(), target.GetZone()) != 0 { + return false + } + + if strings.Compare(m.GetRegion(), target.GetRegion()) != 0 { + return false + } + + if h, ok := interface{}(m.GetTag()).(equality.Equalizer); ok { + if !h.Equal(target.GetTag()) { + return false + } + } else { + if !proto.Equal(m.GetTag(), target.GetTag()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_IdentitySelector_GCP) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_IdentitySelector_GCP) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_IdentitySelector_GCP) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetServiceAccount(), target.GetServiceAccount()) != 0 { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetTag(), target.GetTag()) != 0 { + return false + } + + if strings.Compare(m.GetProjectId(), target.GetProjectId()) != 0 { + return false + } + + if strings.Compare(m.GetZone(), target.GetZone()) != 0 { + return false + } + + if h, ok := interface{}(m.GetLabel()).(equality.Equalizer); ok { + if !h.Equal(target.GetLabel()) { + return false + } + } else { + if !proto.Equal(m.GetLabel(), target.GetLabel()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_IdentitySelector_Azure) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_IdentitySelector_Azure) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_IdentitySelector_Azure) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetSubscriptionId(), target.GetSubscriptionId()) != 0 { + return false + } + + if strings.Compare(m.GetSecurityGroup(), target.GetSecurityGroup()) != 0 { + return false + } + + if strings.Compare(m.GetVirtualNetwork(), target.GetVirtualNetwork()) != 0 { + return false + } + + if strings.Compare(m.GetSubnet(), target.GetSubnet()) != 0 { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetResourceGroup(), target.GetResourceGroup()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_IdentitySelector_JoinToken) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_IdentitySelector_JoinToken) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_IdentitySelector_JoinToken) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetEnable() != target.GetEnable() { + return false + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_IdentitySelector_AWS_Tag) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_IdentitySelector_AWS_Tag) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_IdentitySelector_AWS_Tag) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_IdentitySelector_GCP_Label) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_IdentitySelector_GCP_Label) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_IdentitySelector_GCP_Label) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_Probe_HTTPGetConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_Probe_HTTPGetConfig) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_Probe_HTTPGetConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetPort() != target.GetPort() { + return false + } + + if strings.Compare(m.GetPath(), target.GetPath()) != 0 { + return false + } + + if m.GetScheme() != target.GetScheme() { + return false + } + + if len(m.GetHttpHeaders()) != len(target.GetHttpHeaders()) { + return false + } + for idx, v := range m.GetHttpHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetHttpHeaders()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetHttpHeaders()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_Probe_HTTPHeader) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_Probe_HTTPHeader) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_Probe_HTTPHeader) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_Probe_TCPSocketConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_Probe_TCPSocketConfig) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_Probe_TCPSocketConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetHost(), target.GetHost()) != 0 { + return false + } + + if m.GetPort() != target.GetPort() { + return false + } + + return true +} + +// Equal function +func (m *ExternalWorkloadSpec_Probe_ExecConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExternalWorkloadSpec_Probe_ExecConfig) + if !ok { + that2, ok := that.(ExternalWorkloadSpec_Probe_ExecConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetCommand()) != len(target.GetCommand()) { + return false + } + for idx, v := range m.GetCommand() { + + if strings.Compare(v, target.GetCommand()[idx]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/external_workload.pb.go b/client-go/networking.gloo.solo.io/v2alpha1/external_workload.pb.go new file mode 100644 index 000000000..e30c6bdc6 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/external_workload.pb.go @@ -0,0 +1,1923 @@ +// Create an in-mesh identity for workloads that are external to a Kubernetes workload +// cluster to enable routing to and from those workloads in Gloo Mesh. +// For example, after you [onboard a VM to Gloo Mesh](https://docs.solo.io/gloo-mesh-enterprise/main/setup/prod/ext_workload_int/), +// you might create an ExternalWorkload to represent a set of workloads +// that run on the virtual machine or bare metal instance. +// When an ExternalWorkload is defined for a given workspace, it can be referenced in: +// - VirtualDestination resources, as an upstream destination +// - AccessPolicy resources, as an allowed client +// - AccessPolicy resources targeting external workloads that match workload selectors +// +// **Example**: This example provisions an identity for services that listen on port 5000 +// and that run either on a GCP VM that uses the specified cloud IAM service account, or +// an AWS VM that is in the specified security group ID. +// The identity is created in the `vm-config` namespace of the `workload-cluster`. +// ``` +// apiVersion: networking.gloo.solo.io/v2alpha1 +// kind: ExternalWorkload +// metadata: +// labels: +// app: http-server +// version: v1 +// name: http-server +// namespace: vm-config +// spec: +// connectedClusters: +// workload-cluster: vm-config +// identitySelector: +// gcp: +// - serviceAccount: +// aws: +// - securityGroupId: +// ports: +// - name: http +// number: 5000 +// ``` + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2alpha1/external_workload.proto + +package v2alpha1 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Scheme to use for connecting to the host. +type ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme int32 + +const ( + // Use the `http://` scheme for the connection. + ExternalWorkloadSpec_Probe_HTTPGetConfig_HTTP ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme = 0 + // Use the `https://` scheme for the connection. + ExternalWorkloadSpec_Probe_HTTPGetConfig_HTTPS ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme = 1 +) + +// Enum value maps for ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme. +var ( + ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme_name = map[int32]string{ + 0: "HTTP", + 1: "HTTPS", + } + ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme_value = map[string]int32{ + "HTTP": 0, + "HTTPS": 1, + } +) + +func (x ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme) Enum() *ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme { + p := new(ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme) + *p = x + return p +} + +func (x ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_enumTypes[0].Descriptor() +} + +func (ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_enumTypes[0] +} + +func (x ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme.Descriptor instead. +func (ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 3, 0, 0} +} + +// Specifications for the external workload. +type ExternalWorkloadSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Ports that the external workloads listen on. + Ports []*ExternalWorkloadSpec_Port `protobuf:"bytes,1,rep,name=ports,proto3" json:"ports,omitempty"` + // The conditions under which an external workload is selected. For example, you might + // select a Google Cloud Platform (GCP) VM by specifying `gcp.serviceAccount: `. + // This field is optional when you use a join token to attest the external workload. + // If you specify multiple identity selectors, an external workload is selected when at least + // one of the selectors matches. + IdentitySelector *ExternalWorkloadSpec_IdentitySelector `protobuf:"bytes,2,opt,name=identity_selector,json=identitySelector,proto3" json:"identity_selector,omitempty"` + // A map of cluster names to the namespace within the cluster that the external workload + // is registered in. To scope the external workload to multiple registered clusters, multiple + // cluster-namespace pairs can be specified. However, within a cluster, only a single + // namespace can be used to register the external workload. + ConnectedClusters map[string]string `protobuf:"bytes,3,rep,name=connectedClusters,proto3" json:"connectedClusters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional: Readiness probe for the external workload. + ReadinessProbe *ExternalWorkloadSpec_Probe `protobuf:"bytes,4,opt,name=readiness_probe,json=readinessProbe,proto3" json:"readiness_probe,omitempty"` +} + +func (x *ExternalWorkloadSpec) Reset() { + *x = ExternalWorkloadSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec) ProtoMessage() {} + +func (x *ExternalWorkloadSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0} +} + +func (x *ExternalWorkloadSpec) GetPorts() []*ExternalWorkloadSpec_Port { + if x != nil { + return x.Ports + } + return nil +} + +func (x *ExternalWorkloadSpec) GetIdentitySelector() *ExternalWorkloadSpec_IdentitySelector { + if x != nil { + return x.IdentitySelector + } + return nil +} + +func (x *ExternalWorkloadSpec) GetConnectedClusters() map[string]string { + if x != nil { + return x.ConnectedClusters + } + return nil +} + +func (x *ExternalWorkloadSpec) GetReadinessProbe() *ExternalWorkloadSpec_Probe { + if x != nil { + return x.ReadinessProbe + } + return nil +} + +// The status of the ExternalWorkload after it is applied to your Gloo environment. +type ExternalWorkloadStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // A map of policy GVK to the number of policies that are applied on this resource, + // sorted by GVK. + NumAppliedPolicies map[string]uint32 `protobuf:"bytes,2,rep,name=num_applied_policies,json=numAppliedPolicies,proto3" json:"num_applied_policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + // Name of the workspace that owns this ExternalWorkload + OwnedByWorkspace string `protobuf:"bytes,3,opt,name=owned_by_workspace,json=ownedByWorkspace,proto3" json:"owned_by_workspace,omitempty"` +} + +func (x *ExternalWorkloadStatus) Reset() { + *x = ExternalWorkloadStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadStatus) ProtoMessage() {} + +func (x *ExternalWorkloadStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadStatus.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{1} +} + +func (x *ExternalWorkloadStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *ExternalWorkloadStatus) GetNumAppliedPolicies() map[string]uint32 { + if x != nil { + return x.NumAppliedPolicies + } + return nil +} + +func (x *ExternalWorkloadStatus) GetOwnedByWorkspace() string { + if x != nil { + return x.OwnedByWorkspace + } + return "" +} + +// The resources that the applied resource selects. +type ExternalWorkloadReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A map of policy GVK to policy references for all the policies that are + // applied on this resource. + AppliedDestinationPolicies map[string]*v2.AppliedDestinationPortPolicies `protobuf:"bytes,2,rep,name=applied_destination_policies,json=appliedDestinationPolicies,proto3" json:"applied_destination_policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The name of the workspace that owns the ExternalWorkload. + OwnerWorkspace string `protobuf:"bytes,3,opt,name=owner_workspace,json=ownerWorkspace,proto3" json:"owner_workspace,omitempty"` +} + +func (x *ExternalWorkloadReport) Reset() { + *x = ExternalWorkloadReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadReport) ProtoMessage() {} + +func (x *ExternalWorkloadReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadReport.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{2} +} + +func (x *ExternalWorkloadReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *ExternalWorkloadReport) GetAppliedDestinationPolicies() map[string]*v2.AppliedDestinationPortPolicies { + if x != nil { + return x.AppliedDestinationPolicies + } + return nil +} + +func (x *ExternalWorkloadReport) GetOwnerWorkspace() string { + if x != nil { + return x.OwnerWorkspace + } + return "" +} + +// The port on the backing external workload. +type ExternalWorkloadSpec_Port struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The logical name assigned to the port. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The protocol of the port. + // Supported protocols: HTTP, HTTPS, GRPC, HTTP2, MONGO, TCP, TLS + Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"` + // The port number. Must be in the range 1 - 65535. + Number uint32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` +} + +func (x *ExternalWorkloadSpec_Port) Reset() { + *x = ExternalWorkloadSpec_Port{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_Port) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_Port) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_Port) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_Port.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_Port) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *ExternalWorkloadSpec_Port) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExternalWorkloadSpec_Port) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *ExternalWorkloadSpec_Port) GetNumber() uint32 { + if x != nil { + return x.Number + } + return 0 +} + +// The conditions under which an external workload is selected. For example, you might +// select a Google Cloud Platform (GCP) VM by specifying `gcp.serviceAccount: `. +// This field is optional when you use a join token to attest the external workload. +// If you specify multiple selectors, an external workload is selected when at least +// one of the selectors matches. +type ExternalWorkloadSpec_IdentitySelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: Selector for external workloads running in AWS. + Aws []*ExternalWorkloadSpec_IdentitySelector_AWS `protobuf:"bytes,1,rep,name=aws,proto3" json:"aws,omitempty"` + // Optional: Selector for external workloads running in GCP. + Gcp []*ExternalWorkloadSpec_IdentitySelector_GCP `protobuf:"bytes,2,rep,name=gcp,proto3" json:"gcp,omitempty"` + // Optional: Selector for external workloads running in Azure. + Azure []*ExternalWorkloadSpec_IdentitySelector_Azure `protobuf:"bytes,3,rep,name=azure,proto3" json:"azure,omitempty"` + // Optional: Join token configuration to attest the external workload. + JoinToken *ExternalWorkloadSpec_IdentitySelector_JoinToken `protobuf:"bytes,4,opt,name=join_token,json=joinToken,proto3" json:"join_token,omitempty"` +} + +func (x *ExternalWorkloadSpec_IdentitySelector) Reset() { + *x = ExternalWorkloadSpec_IdentitySelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_IdentitySelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_IdentitySelector) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_IdentitySelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_IdentitySelector.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_IdentitySelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *ExternalWorkloadSpec_IdentitySelector) GetAws() []*ExternalWorkloadSpec_IdentitySelector_AWS { + if x != nil { + return x.Aws + } + return nil +} + +func (x *ExternalWorkloadSpec_IdentitySelector) GetGcp() []*ExternalWorkloadSpec_IdentitySelector_GCP { + if x != nil { + return x.Gcp + } + return nil +} + +func (x *ExternalWorkloadSpec_IdentitySelector) GetAzure() []*ExternalWorkloadSpec_IdentitySelector_Azure { + if x != nil { + return x.Azure + } + return nil +} + +func (x *ExternalWorkloadSpec_IdentitySelector) GetJoinToken() *ExternalWorkloadSpec_IdentitySelector_JoinToken { + if x != nil { + return x.JoinToken + } + return nil +} + +// A health check to perform against an external workload +// to determine whether it is ready to receive traffic. +type ExternalWorkloadSpec_Probe struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: Number of seconds after the external workload startup before the probes are initiated. + // Defaults to 0 seconds. + InitialDelaySeconds *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=initial_delay_seconds,json=initialDelaySeconds,proto3" json:"initial_delay_seconds,omitempty"` + // Optional: Number of seconds after which the probe times out. + // Defaults to 1 second. Minimum value is 1 second. + TimeoutSeconds *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"` + // Optional: How often (in seconds) to perform the probe. + // Defaults to 10 seconds. Minimum value is 1 second. + PeriodSeconds *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=period_seconds,json=periodSeconds,proto3" json:"period_seconds,omitempty"` + // Optional: Minimum consecutive successes for the probe to be considered successful after having failed. + // Defaults to 1. + SuccessThreshold *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=success_threshold,json=successThreshold,proto3" json:"success_threshold,omitempty"` + // Optional: Minimum consecutive failures for the probe to be considered failed after having succeeded. + // Defaults to 3. + FailureThreshold *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=failure_threshold,json=failureThreshold,proto3" json:"failure_threshold,omitempty"` + // The handler corresponding to the probe. Specify only one of: httpGet, tcpSocket, exec + // + // Types that are assignable to Handler: + // + // *ExternalWorkloadSpec_Probe_HttpGet + // *ExternalWorkloadSpec_Probe_TcpSocket + // *ExternalWorkloadSpec_Probe_Exec + Handler isExternalWorkloadSpec_Probe_Handler `protobuf_oneof:"handler"` +} + +func (x *ExternalWorkloadSpec_Probe) Reset() { + *x = ExternalWorkloadSpec_Probe{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_Probe) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_Probe) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_Probe) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_Probe.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_Probe) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *ExternalWorkloadSpec_Probe) GetInitialDelaySeconds() *wrappers.UInt32Value { + if x != nil { + return x.InitialDelaySeconds + } + return nil +} + +func (x *ExternalWorkloadSpec_Probe) GetTimeoutSeconds() *wrappers.UInt32Value { + if x != nil { + return x.TimeoutSeconds + } + return nil +} + +func (x *ExternalWorkloadSpec_Probe) GetPeriodSeconds() *wrappers.UInt32Value { + if x != nil { + return x.PeriodSeconds + } + return nil +} + +func (x *ExternalWorkloadSpec_Probe) GetSuccessThreshold() *wrappers.UInt32Value { + if x != nil { + return x.SuccessThreshold + } + return nil +} + +func (x *ExternalWorkloadSpec_Probe) GetFailureThreshold() *wrappers.UInt32Value { + if x != nil { + return x.FailureThreshold + } + return nil +} + +func (m *ExternalWorkloadSpec_Probe) GetHandler() isExternalWorkloadSpec_Probe_Handler { + if m != nil { + return m.Handler + } + return nil +} + +func (x *ExternalWorkloadSpec_Probe) GetHttpGet() *ExternalWorkloadSpec_Probe_HTTPGetConfig { + if x, ok := x.GetHandler().(*ExternalWorkloadSpec_Probe_HttpGet); ok { + return x.HttpGet + } + return nil +} + +func (x *ExternalWorkloadSpec_Probe) GetTcpSocket() *ExternalWorkloadSpec_Probe_TCPSocketConfig { + if x, ok := x.GetHandler().(*ExternalWorkloadSpec_Probe_TcpSocket); ok { + return x.TcpSocket + } + return nil +} + +func (x *ExternalWorkloadSpec_Probe) GetExec() *ExternalWorkloadSpec_Probe_ExecConfig { + if x, ok := x.GetHandler().(*ExternalWorkloadSpec_Probe_Exec); ok { + return x.Exec + } + return nil +} + +type isExternalWorkloadSpec_Probe_Handler interface { + isExternalWorkloadSpec_Probe_Handler() +} + +type ExternalWorkloadSpec_Probe_HttpGet struct { + // Configuration for an HTTP probe request. + HttpGet *ExternalWorkloadSpec_Probe_HTTPGetConfig `protobuf:"bytes,7,opt,name=http_get,json=httpGet,proto3,oneof"` +} + +type ExternalWorkloadSpec_Probe_TcpSocket struct { + // Configuration for a TCP socket probe. + TcpSocket *ExternalWorkloadSpec_Probe_TCPSocketConfig `protobuf:"bytes,8,opt,name=tcp_socket,json=tcpSocket,proto3,oneof"` +} + +type ExternalWorkloadSpec_Probe_Exec struct { + // Configuration for an exec command probe. + Exec *ExternalWorkloadSpec_Probe_ExecConfig `protobuf:"bytes,9,opt,name=exec,proto3,oneof"` +} + +func (*ExternalWorkloadSpec_Probe_HttpGet) isExternalWorkloadSpec_Probe_Handler() {} + +func (*ExternalWorkloadSpec_Probe_TcpSocket) isExternalWorkloadSpec_Probe_Handler() {} + +func (*ExternalWorkloadSpec_Probe_Exec) isExternalWorkloadSpec_Probe_Handler() {} + +// Selector for external workloads that run in AWS. +// If multiple fields are specified, an external workload is selected only when all match. +type ExternalWorkloadSpec_IdentitySelector_AWS struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: The IAM role within the instance profile of the external workload. + IamRole string `protobuf:"bytes,1,opt,name=iam_role,json=iamRole,proto3" json:"iam_role,omitempty"` + // Optional: The name of the security group associated with the external workload. + SecurityGroupName string `protobuf:"bytes,2,opt,name=security_group_name,json=securityGroupName,proto3" json:"security_group_name,omitempty"` + // Optional: The ID of the security group associated with the external workload. + SecurityGroupId string `protobuf:"bytes,3,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"` + // Optional: The ID of the AMI used to launch the external workload. + ImageId string `protobuf:"bytes,4,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` + // Optional: The ID of the external workload instance. + InstanceId string `protobuf:"bytes,5,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + // Optional: The availability zone in which the external workload is running. + Zone string `protobuf:"bytes,6,opt,name=zone,proto3" json:"zone,omitempty"` + // Optional: The region where the external workload is running. + Region string `protobuf:"bytes,7,opt,name=region,proto3" json:"region,omitempty"` + // The tag applied as a key to the external workload. + Tag *ExternalWorkloadSpec_IdentitySelector_AWS_Tag `protobuf:"bytes,8,opt,name=tag,proto3" json:"tag,omitempty"` +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS) Reset() { + *x = ExternalWorkloadSpec_IdentitySelector_AWS{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_IdentitySelector_AWS) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_IdentitySelector_AWS.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_IdentitySelector_AWS) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 2, 0} +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS) GetIamRole() string { + if x != nil { + return x.IamRole + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS) GetSecurityGroupName() string { + if x != nil { + return x.SecurityGroupName + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS) GetSecurityGroupId() string { + if x != nil { + return x.SecurityGroupId + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS) GetImageId() string { + if x != nil { + return x.ImageId + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS) GetZone() string { + if x != nil { + return x.Zone + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS) GetTag() *ExternalWorkloadSpec_IdentitySelector_AWS_Tag { + if x != nil { + return x.Tag + } + return nil +} + +// Selector for external workloads that run in GCP. +// If multiple fields are specified, an external workload is selected only when all match. +type ExternalWorkloadSpec_IdentitySelector_GCP struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: The service account associated with the external workload. + ServiceAccount string `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // Optional: Name of the external workload instance. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // Optional: The tag applied as a key to the external workload. + Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` + // Optional: The ID of the project containing the external workload. + ProjectId string `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // Optional: The availability zone in which the external workload is running. + Zone string `protobuf:"bytes,5,opt,name=zone,proto3" json:"zone,omitempty"` + // Optional: The label applied as a key-value pair to the external workload. + // The value for the key is optional. + Label *ExternalWorkloadSpec_IdentitySelector_GCP_Label `protobuf:"bytes,6,opt,name=label,proto3" json:"label,omitempty"` +} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP) Reset() { + *x = ExternalWorkloadSpec_IdentitySelector_GCP{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_IdentitySelector_GCP) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_IdentitySelector_GCP.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_IdentitySelector_GCP) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 2, 1} +} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP) GetZone() string { + if x != nil { + return x.Zone + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP) GetLabel() *ExternalWorkloadSpec_IdentitySelector_GCP_Label { + if x != nil { + return x.Label + } + return nil +} + +// Selector for external workloads that run in Azure. +// If multiple fields are specified, an external workload is selected only when all match. +type ExternalWorkloadSpec_IdentitySelector_Azure struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: The subscription ID of the external workload. + SubscriptionId string `protobuf:"bytes,1,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + // Optional: The name of the security group associated with the external workload. + // If specified, the `resourceGroup` field must also be specified. + SecurityGroup string `protobuf:"bytes,2,opt,name=security_group,json=securityGroup,proto3" json:"security_group,omitempty"` + // Optional: The name of the virtual network the external workload belongs to. + // If specified, the `resourceGroup` field must also be specified. + VirtualNetwork string `protobuf:"bytes,3,opt,name=virtual_network,json=virtualNetwork,proto3" json:"virtual_network,omitempty"` + // Optional: The name of the subnet in the virtual network the external workload belongs to. + // If specified, the `resourceGroup` and `virtualNetwork` fields must also be specified. + Subnet string `protobuf:"bytes,4,opt,name=subnet,proto3" json:"subnet,omitempty"` + // Optional: The name of the external workload instance. + // If specified, the `resourceGroup` field must also be specified. + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + // Optional: The resource group the external workload belongs to. + // The resource group does not act as a selector, + // but is used in conjunction with the other fields. + // Must be specified if the `securityGroup`, `virtualNetwork`, `subnet`, or `name` fields are specified. + ResourceGroup string `protobuf:"bytes,6,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` +} + +func (x *ExternalWorkloadSpec_IdentitySelector_Azure) Reset() { + *x = ExternalWorkloadSpec_IdentitySelector_Azure{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_IdentitySelector_Azure) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_IdentitySelector_Azure) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_IdentitySelector_Azure) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_IdentitySelector_Azure.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_IdentitySelector_Azure) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 2, 2} +} + +func (x *ExternalWorkloadSpec_IdentitySelector_Azure) GetSubscriptionId() string { + if x != nil { + return x.SubscriptionId + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_Azure) GetSecurityGroup() string { + if x != nil { + return x.SecurityGroup + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_Azure) GetVirtualNetwork() string { + if x != nil { + return x.VirtualNetwork + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_Azure) GetSubnet() string { + if x != nil { + return x.Subnet + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_Azure) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_Azure) GetResourceGroup() string { + if x != nil { + return x.ResourceGroup + } + return "" +} + +type ExternalWorkloadSpec_IdentitySelector_JoinToken struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: Enable the use of join tokens to attest the external workload. + // Defaults to false. + Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` +} + +func (x *ExternalWorkloadSpec_IdentitySelector_JoinToken) Reset() { + *x = ExternalWorkloadSpec_IdentitySelector_JoinToken{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_IdentitySelector_JoinToken) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_IdentitySelector_JoinToken) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_IdentitySelector_JoinToken) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_IdentitySelector_JoinToken.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_IdentitySelector_JoinToken) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 2, 3} +} + +func (x *ExternalWorkloadSpec_IdentitySelector_JoinToken) GetEnable() bool { + if x != nil { + return x.Enable + } + return false +} + +// The tag applied as a key-value pair to the external workload. +type ExternalWorkloadSpec_IdentitySelector_AWS_Tag struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key of the tag. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // The value of the tag. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS_Tag) Reset() { + *x = ExternalWorkloadSpec_IdentitySelector_AWS_Tag{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS_Tag) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_IdentitySelector_AWS_Tag) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS_Tag) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_IdentitySelector_AWS_Tag.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_IdentitySelector_AWS_Tag) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 2, 0, 0} +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS_Tag) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_AWS_Tag) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +// The label applied as a key-value pair to the external workload. +// The value for the key is optional. +type ExternalWorkloadSpec_IdentitySelector_GCP_Label struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key of the label. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // The value of the label. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP_Label) Reset() { + *x = ExternalWorkloadSpec_IdentitySelector_GCP_Label{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP_Label) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_IdentitySelector_GCP_Label) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP_Label) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_IdentitySelector_GCP_Label.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_IdentitySelector_GCP_Label) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 2, 1, 0} +} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP_Label) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *ExternalWorkloadSpec_IdentitySelector_GCP_Label) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +// Configuration for an HTTP GET probe request. +type ExternalWorkloadSpec_Probe_HTTPGetConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Number of the port to access. Must be in the range 1 - 65535. + Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"` + // Optional: Path to access on the HTTP server. + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + // Optional: Scheme to use for connecting to the host. + // Defaults to HTTP. + Scheme ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme `protobuf:"varint,3,opt,name=scheme,proto3,enum=networking.gloo.solo.io.ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme" json:"scheme,omitempty"` + // Optional: Custom headers to set in the request. HTTP allows repeated headers. + HttpHeaders []*ExternalWorkloadSpec_Probe_HTTPHeader `protobuf:"bytes,4,rep,name=http_headers,json=httpHeaders,proto3" json:"http_headers,omitempty"` +} + +func (x *ExternalWorkloadSpec_Probe_HTTPGetConfig) Reset() { + *x = ExternalWorkloadSpec_Probe_HTTPGetConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_Probe_HTTPGetConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_Probe_HTTPGetConfig) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_Probe_HTTPGetConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_Probe_HTTPGetConfig.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_Probe_HTTPGetConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 3, 0} +} + +func (x *ExternalWorkloadSpec_Probe_HTTPGetConfig) GetPort() uint32 { + if x != nil { + return x.Port + } + return 0 +} + +func (x *ExternalWorkloadSpec_Probe_HTTPGetConfig) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *ExternalWorkloadSpec_Probe_HTTPGetConfig) GetScheme() ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme { + if x != nil { + return x.Scheme + } + return ExternalWorkloadSpec_Probe_HTTPGetConfig_HTTP +} + +func (x *ExternalWorkloadSpec_Probe_HTTPGetConfig) GetHttpHeaders() []*ExternalWorkloadSpec_Probe_HTTPHeader { + if x != nil { + return x.HttpHeaders + } + return nil +} + +// A custom header to use in HTTP probes. +type ExternalWorkloadSpec_Probe_HTTPHeader struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The header field name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The header field value. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *ExternalWorkloadSpec_Probe_HTTPHeader) Reset() { + *x = ExternalWorkloadSpec_Probe_HTTPHeader{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_Probe_HTTPHeader) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_Probe_HTTPHeader) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_Probe_HTTPHeader) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_Probe_HTTPHeader.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_Probe_HTTPHeader) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 3, 1} +} + +func (x *ExternalWorkloadSpec_Probe_HTTPHeader) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExternalWorkloadSpec_Probe_HTTPHeader) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +// Configuration for a TCP socket probe. +type ExternalWorkloadSpec_Probe_TCPSocketConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: Host to connect to. Defaults to `localhost`. + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + // Number of the port to access. Must be in the range 1 - 65535. + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *ExternalWorkloadSpec_Probe_TCPSocketConfig) Reset() { + *x = ExternalWorkloadSpec_Probe_TCPSocketConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_Probe_TCPSocketConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_Probe_TCPSocketConfig) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_Probe_TCPSocketConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_Probe_TCPSocketConfig.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_Probe_TCPSocketConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 3, 2} +} + +func (x *ExternalWorkloadSpec_Probe_TCPSocketConfig) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +func (x *ExternalWorkloadSpec_Probe_TCPSocketConfig) GetPort() uint32 { + if x != nil { + return x.Port + } + return 0 +} + +// Configuration for an exec command probe. +type ExternalWorkloadSpec_Probe_ExecConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Command to run. An exit status of zero (0) is considered healthy, and a non-zero status is considered unhealthy. + Command []string `protobuf:"bytes,1,rep,name=command,proto3" json:"command,omitempty"` +} + +func (x *ExternalWorkloadSpec_Probe_ExecConfig) Reset() { + *x = ExternalWorkloadSpec_Probe_ExecConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalWorkloadSpec_Probe_ExecConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkloadSpec_Probe_ExecConfig) ProtoMessage() {} + +func (x *ExternalWorkloadSpec_Probe_ExecConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkloadSpec_Probe_ExecConfig.ProtoReflect.Descriptor instead. +func (*ExternalWorkloadSpec_Probe_ExecConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP(), []int{0, 3, 3} +} + +func (x *ExternalWorkloadSpec_Probe_ExecConfig) GetCommand() []string { + if x != nil { + return x.Command + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDesc = []byte{ + 0x0a, 0x64, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, + 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x17, 0x0a, 0x14, 0x45, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x48, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x6b, 0x0a, 0x11, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x72, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5c, 0x0a, 0x0f, + 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, + 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x1a, 0x44, 0x0a, 0x16, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x4e, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x1a, 0x89, 0x0a, 0x0a, 0x10, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x54, 0x0a, 0x03, 0x61, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x41, 0x57, 0x53, 0x52, 0x03, 0x61, 0x77, 0x73, 0x12, 0x54, 0x0a, 0x03, 0x67, + 0x63, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x47, 0x43, 0x50, 0x52, 0x03, 0x67, 0x63, + 0x70, 0x12, 0x5a, 0x0a, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x44, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x12, 0x67, 0x0a, + 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x48, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x09, 0x6a, 0x6f, 0x69, + 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0xed, 0x02, 0x0a, 0x03, 0x41, 0x57, 0x53, 0x12, 0x19, + 0x0a, 0x08, 0x69, 0x61, 0x6d, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x69, 0x61, 0x6d, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, + 0x03, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x57, 0x53, 0x2e, 0x54, + 0x61, 0x67, 0x52, 0x03, 0x74, 0x61, 0x67, 0x1a, 0x2d, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x98, 0x02, 0x0a, 0x03, 0x47, 0x43, 0x50, 0x12, 0x27, + 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, + 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x12, 0x5e, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x48, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x47, 0x43, 0x50, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x1a, 0x2f, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x1a, 0xd3, 0x01, 0x0a, 0x05, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x76, + 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x23, 0x0a, 0x09, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0xdb, 0x08, 0x0a, + 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x50, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x61, + 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, + 0x43, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x49, 0x0a, 0x11, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, + 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, + 0x49, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x5e, 0x0a, 0x08, 0x68, 0x74, + 0x74, 0x70, 0x5f, 0x67, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, + 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x62, + 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, + 0x00, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x47, 0x65, 0x74, 0x12, 0x64, 0x0a, 0x0a, 0x74, 0x63, + 0x70, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, + 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, + 0x6f, 0x62, 0x65, 0x2e, 0x54, 0x43, 0x50, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x09, 0x74, 0x63, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, + 0x12, 0x54, 0x0a, 0x04, 0x65, 0x78, 0x65, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, + 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, + 0x6f, 0x62, 0x65, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, + 0x52, 0x04, 0x65, 0x78, 0x65, 0x63, 0x1a, 0x9b, 0x02, 0x0a, 0x0d, 0x48, 0x54, 0x54, 0x50, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x12, 0x60, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x48, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x50, 0x72, 0x6f, 0x62, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x2e, 0x48, 0x54, + 0x54, 0x50, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x1d, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, + 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, + 0x50, 0x53, 0x10, 0x01, 0x1a, 0x36, 0x0a, 0x0a, 0x48, 0x54, 0x54, 0x50, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x39, 0x0a, 0x0f, + 0x54, 0x43, 0x50, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, + 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x26, 0x0a, 0x0a, 0x45, 0x78, 0x65, 0x63, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, + 0x09, 0x0a, 0x07, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x22, 0xbd, 0x02, 0x0a, 0x16, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x14, 0x6e, 0x75, + 0x6d, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x4e, 0x75, 0x6d, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x62, + 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x1a, 0x45, 0x0a, 0x17, 0x4e, 0x75, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x97, 0x04, 0x0a, 0x16, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5f, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x91, 0x01, 0x0a, 0x1c, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1a, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x82, 0x01, 0x0a, 0x1f, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, + 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5e, 0x5a, 0x50, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, + 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_goTypes = []interface{}{ + (ExternalWorkloadSpec_Probe_HTTPGetConfig_Scheme)(0), // 0: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.HTTPGetConfig.Scheme + (*ExternalWorkloadSpec)(nil), // 1: networking.gloo.solo.io.ExternalWorkloadSpec + (*ExternalWorkloadStatus)(nil), // 2: networking.gloo.solo.io.ExternalWorkloadStatus + (*ExternalWorkloadReport)(nil), // 3: networking.gloo.solo.io.ExternalWorkloadReport + nil, // 4: networking.gloo.solo.io.ExternalWorkloadSpec.ConnectedClustersEntry + (*ExternalWorkloadSpec_Port)(nil), // 5: networking.gloo.solo.io.ExternalWorkloadSpec.Port + (*ExternalWorkloadSpec_IdentitySelector)(nil), // 6: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector + (*ExternalWorkloadSpec_Probe)(nil), // 7: networking.gloo.solo.io.ExternalWorkloadSpec.Probe + (*ExternalWorkloadSpec_IdentitySelector_AWS)(nil), // 8: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.AWS + (*ExternalWorkloadSpec_IdentitySelector_GCP)(nil), // 9: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.GCP + (*ExternalWorkloadSpec_IdentitySelector_Azure)(nil), // 10: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.Azure + (*ExternalWorkloadSpec_IdentitySelector_JoinToken)(nil), // 11: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.JoinToken + (*ExternalWorkloadSpec_IdentitySelector_AWS_Tag)(nil), // 12: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.AWS.Tag + (*ExternalWorkloadSpec_IdentitySelector_GCP_Label)(nil), // 13: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.GCP.Label + (*ExternalWorkloadSpec_Probe_HTTPGetConfig)(nil), // 14: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.HTTPGetConfig + (*ExternalWorkloadSpec_Probe_HTTPHeader)(nil), // 15: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.HTTPHeader + (*ExternalWorkloadSpec_Probe_TCPSocketConfig)(nil), // 16: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.TCPSocketConfig + (*ExternalWorkloadSpec_Probe_ExecConfig)(nil), // 17: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.ExecConfig + nil, // 18: networking.gloo.solo.io.ExternalWorkloadStatus.NumAppliedPoliciesEntry + nil, // 19: networking.gloo.solo.io.ExternalWorkloadReport.WorkspacesEntry + nil, // 20: networking.gloo.solo.io.ExternalWorkloadReport.AppliedDestinationPoliciesEntry + (*v2.Status)(nil), // 21: common.gloo.solo.io.Status + (*wrappers.UInt32Value)(nil), // 22: google.protobuf.UInt32Value + (*v2.Report)(nil), // 23: common.gloo.solo.io.Report + (*v2.AppliedDestinationPortPolicies)(nil), // 24: common.gloo.solo.io.AppliedDestinationPortPolicies +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_depIdxs = []int32{ + 5, // 0: networking.gloo.solo.io.ExternalWorkloadSpec.ports:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.Port + 6, // 1: networking.gloo.solo.io.ExternalWorkloadSpec.identity_selector:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector + 4, // 2: networking.gloo.solo.io.ExternalWorkloadSpec.connectedClusters:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.ConnectedClustersEntry + 7, // 3: networking.gloo.solo.io.ExternalWorkloadSpec.readiness_probe:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.Probe + 21, // 4: networking.gloo.solo.io.ExternalWorkloadStatus.common:type_name -> common.gloo.solo.io.Status + 18, // 5: networking.gloo.solo.io.ExternalWorkloadStatus.num_applied_policies:type_name -> networking.gloo.solo.io.ExternalWorkloadStatus.NumAppliedPoliciesEntry + 19, // 6: networking.gloo.solo.io.ExternalWorkloadReport.workspaces:type_name -> networking.gloo.solo.io.ExternalWorkloadReport.WorkspacesEntry + 20, // 7: networking.gloo.solo.io.ExternalWorkloadReport.applied_destination_policies:type_name -> networking.gloo.solo.io.ExternalWorkloadReport.AppliedDestinationPoliciesEntry + 8, // 8: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.aws:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.AWS + 9, // 9: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.gcp:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.GCP + 10, // 10: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.azure:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.Azure + 11, // 11: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.join_token:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.JoinToken + 22, // 12: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.initial_delay_seconds:type_name -> google.protobuf.UInt32Value + 22, // 13: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.timeout_seconds:type_name -> google.protobuf.UInt32Value + 22, // 14: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.period_seconds:type_name -> google.protobuf.UInt32Value + 22, // 15: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.success_threshold:type_name -> google.protobuf.UInt32Value + 22, // 16: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.failure_threshold:type_name -> google.protobuf.UInt32Value + 14, // 17: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.http_get:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.Probe.HTTPGetConfig + 16, // 18: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.tcp_socket:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.Probe.TCPSocketConfig + 17, // 19: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.exec:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.Probe.ExecConfig + 12, // 20: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.AWS.tag:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.AWS.Tag + 13, // 21: networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.GCP.label:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.IdentitySelector.GCP.Label + 0, // 22: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.HTTPGetConfig.scheme:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.Probe.HTTPGetConfig.Scheme + 15, // 23: networking.gloo.solo.io.ExternalWorkloadSpec.Probe.HTTPGetConfig.http_headers:type_name -> networking.gloo.solo.io.ExternalWorkloadSpec.Probe.HTTPHeader + 23, // 24: networking.gloo.solo.io.ExternalWorkloadReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 24, // 25: networking.gloo.solo.io.ExternalWorkloadReport.AppliedDestinationPoliciesEntry.value:type_name -> common.gloo.solo.io.AppliedDestinationPortPolicies + 26, // [26:26] is the sub-list for method output_type + 26, // [26:26] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_Port); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_IdentitySelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_Probe); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_IdentitySelector_AWS); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_IdentitySelector_GCP); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_IdentitySelector_Azure); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_IdentitySelector_JoinToken); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_IdentitySelector_AWS_Tag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_IdentitySelector_GCP_Label); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_Probe_HTTPGetConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_Probe_HTTPHeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_Probe_TCPSocketConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalWorkloadSpec_Probe_ExecConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*ExternalWorkloadSpec_Probe_HttpGet)(nil), + (*ExternalWorkloadSpec_Probe_TcpSocket)(nil), + (*ExternalWorkloadSpec_Probe_Exec)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDesc, + NumEnums: 1, + NumMessages: 20, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_networking_v2alpha1_external_workload_proto_depIdxs = nil +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/external_workload.pb.hash.go b/client-go/networking.gloo.solo.io/v2alpha1/external_workload.pb.hash.go new file mode 100644 index 000000000..0ba180b11 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/external_workload.pb.hash.go @@ -0,0 +1,970 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/networking/v2alpha1/external_workload.proto + +package v2alpha1 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ExternalWorkloadSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec")); err != nil { + return 0, err + } + + for _, v := range m.GetPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetIdentitySelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("IdentitySelector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIdentitySelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("IdentitySelector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetConnectedClusters() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetReadinessProbe()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ReadinessProbe")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetReadinessProbe(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ReadinessProbe")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetNumAppliedPolicies() { + innerHash.Reset() + + err = binary.Write(innerHash, binary.LittleEndian, v) + if err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnedByWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAppliedDestinationPolicies() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetOwnerWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_Port) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_Port")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetProtocol())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumber()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_IdentitySelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_IdentitySelector")); err != nil { + return 0, err + } + + for _, v := range m.GetAws() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetGcp() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetAzure() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetJoinToken()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("JoinToken")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetJoinToken(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("JoinToken")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_Probe) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_Probe")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetInitialDelaySeconds()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("InitialDelaySeconds")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetInitialDelaySeconds(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("InitialDelaySeconds")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTimeoutSeconds()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TimeoutSeconds")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTimeoutSeconds(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TimeoutSeconds")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPeriodSeconds()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PeriodSeconds")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPeriodSeconds(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PeriodSeconds")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetSuccessThreshold()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SuccessThreshold")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSuccessThreshold(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SuccessThreshold")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetFailureThreshold()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("FailureThreshold")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetFailureThreshold(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("FailureThreshold")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.Handler.(type) { + + case *ExternalWorkloadSpec_Probe_HttpGet: + + if h, ok := interface{}(m.GetHttpGet()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HttpGet")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHttpGet(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HttpGet")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExternalWorkloadSpec_Probe_TcpSocket: + + if h, ok := interface{}(m.GetTcpSocket()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TcpSocket")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTcpSocket(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TcpSocket")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExternalWorkloadSpec_Probe_Exec: + + if h, ok := interface{}(m.GetExec()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Exec")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetExec(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Exec")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_IdentitySelector_AWS) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_IdentitySelector_AWS")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetIamRole())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSecurityGroupName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSecurityGroupId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetImageId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetInstanceId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetZone())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRegion())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTag()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Tag")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTag(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Tag")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_IdentitySelector_GCP) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_IdentitySelector_GCP")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetServiceAccount())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetTag())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetProjectId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetZone())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetLabel()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Label")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLabel(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Label")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_IdentitySelector_Azure) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_IdentitySelector_Azure")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSubscriptionId())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSecurityGroup())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetVirtualNetwork())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSubnet())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetResourceGroup())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_IdentitySelector_JoinToken) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_IdentitySelector_JoinToken")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetEnable()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_IdentitySelector_AWS_Tag) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_IdentitySelector_AWS_Tag")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_IdentitySelector_GCP_Label) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_IdentitySelector_GCP_Label")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_Probe_HTTPGetConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_Probe_HTTPGetConfig")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPort()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPath())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetScheme()) + if err != nil { + return 0, err + } + + for _, v := range m.GetHttpHeaders() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_Probe_HTTPHeader) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_Probe_HTTPHeader")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_Probe_TCPSocketConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_Probe_TCPSocketConfig")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHost())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetPort()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExternalWorkloadSpec_Probe_ExecConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("networking.gloo.solo.io.github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1.ExternalWorkloadSpec_Probe_ExecConfig")); err != nil { + return 0, err + } + + for _, v := range m.GetCommand() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/json.gen.go b/client-go/networking.gloo.solo.io/v2alpha1/json.gen.go new file mode 100644 index 000000000..da1bfd593 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/json.gen.go @@ -0,0 +1,50 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2alpha1 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for ExternalWorkloadSpec +func (this *ExternalWorkloadSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ExternalWorkloadSpec +func (this *ExternalWorkloadSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ExternalWorkloadStatus +func (this *ExternalWorkloadStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ExternalWorkloadStatus +func (this *ExternalWorkloadStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/mocks/clients.go b/client-go/networking.gloo.solo.io/v2alpha1/mocks/clients.go new file mode 100644 index 000000000..322642753 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/mocks/clients.go @@ -0,0 +1,594 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2alpha1 is a generated GoMock package. +package mock_v2alpha1 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2alpha1.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2alpha1.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// ExternalWorkloads mocks base method. +func (m *MockClientset) ExternalWorkloads() v2alpha1.ExternalWorkloadClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExternalWorkloads") + ret0, _ := ret[0].(v2alpha1.ExternalWorkloadClient) + return ret0 +} + +// ExternalWorkloads indicates an expected call of ExternalWorkloads. +func (mr *MockClientsetMockRecorder) ExternalWorkloads() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExternalWorkloads", reflect.TypeOf((*MockClientset)(nil).ExternalWorkloads)) +} + +// MockExternalWorkloadReader is a mock of ExternalWorkloadReader interface. +type MockExternalWorkloadReader struct { + ctrl *gomock.Controller + recorder *MockExternalWorkloadReaderMockRecorder +} + +// MockExternalWorkloadReaderMockRecorder is the mock recorder for MockExternalWorkloadReader. +type MockExternalWorkloadReaderMockRecorder struct { + mock *MockExternalWorkloadReader +} + +// NewMockExternalWorkloadReader creates a new mock instance. +func NewMockExternalWorkloadReader(ctrl *gomock.Controller) *MockExternalWorkloadReader { + mock := &MockExternalWorkloadReader{ctrl: ctrl} + mock.recorder = &MockExternalWorkloadReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalWorkloadReader) EXPECT() *MockExternalWorkloadReaderMockRecorder { + return m.recorder +} + +// GetExternalWorkload mocks base method. +func (m *MockExternalWorkloadReader) GetExternalWorkload(ctx context.Context, key client.ObjectKey) (*v2alpha1.ExternalWorkload, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetExternalWorkload", ctx, key) + ret0, _ := ret[0].(*v2alpha1.ExternalWorkload) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetExternalWorkload indicates an expected call of GetExternalWorkload. +func (mr *MockExternalWorkloadReaderMockRecorder) GetExternalWorkload(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetExternalWorkload", reflect.TypeOf((*MockExternalWorkloadReader)(nil).GetExternalWorkload), ctx, key) +} + +// ListExternalWorkload mocks base method. +func (m *MockExternalWorkloadReader) ListExternalWorkload(ctx context.Context, opts ...client.ListOption) (*v2alpha1.ExternalWorkloadList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListExternalWorkload", varargs...) + ret0, _ := ret[0].(*v2alpha1.ExternalWorkloadList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListExternalWorkload indicates an expected call of ListExternalWorkload. +func (mr *MockExternalWorkloadReaderMockRecorder) ListExternalWorkload(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListExternalWorkload", reflect.TypeOf((*MockExternalWorkloadReader)(nil).ListExternalWorkload), varargs...) +} + +// MockExternalWorkloadWriter is a mock of ExternalWorkloadWriter interface. +type MockExternalWorkloadWriter struct { + ctrl *gomock.Controller + recorder *MockExternalWorkloadWriterMockRecorder +} + +// MockExternalWorkloadWriterMockRecorder is the mock recorder for MockExternalWorkloadWriter. +type MockExternalWorkloadWriterMockRecorder struct { + mock *MockExternalWorkloadWriter +} + +// NewMockExternalWorkloadWriter creates a new mock instance. +func NewMockExternalWorkloadWriter(ctrl *gomock.Controller) *MockExternalWorkloadWriter { + mock := &MockExternalWorkloadWriter{ctrl: ctrl} + mock.recorder = &MockExternalWorkloadWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalWorkloadWriter) EXPECT() *MockExternalWorkloadWriterMockRecorder { + return m.recorder +} + +// CreateExternalWorkload mocks base method. +func (m *MockExternalWorkloadWriter) CreateExternalWorkload(ctx context.Context, obj *v2alpha1.ExternalWorkload, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateExternalWorkload", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExternalWorkload indicates an expected call of CreateExternalWorkload. +func (mr *MockExternalWorkloadWriterMockRecorder) CreateExternalWorkload(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExternalWorkload", reflect.TypeOf((*MockExternalWorkloadWriter)(nil).CreateExternalWorkload), varargs...) +} + +// DeleteAllOfExternalWorkload mocks base method. +func (m *MockExternalWorkloadWriter) DeleteAllOfExternalWorkload(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfExternalWorkload", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfExternalWorkload indicates an expected call of DeleteAllOfExternalWorkload. +func (mr *MockExternalWorkloadWriterMockRecorder) DeleteAllOfExternalWorkload(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfExternalWorkload", reflect.TypeOf((*MockExternalWorkloadWriter)(nil).DeleteAllOfExternalWorkload), varargs...) +} + +// DeleteExternalWorkload mocks base method. +func (m *MockExternalWorkloadWriter) DeleteExternalWorkload(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteExternalWorkload", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExternalWorkload indicates an expected call of DeleteExternalWorkload. +func (mr *MockExternalWorkloadWriterMockRecorder) DeleteExternalWorkload(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExternalWorkload", reflect.TypeOf((*MockExternalWorkloadWriter)(nil).DeleteExternalWorkload), varargs...) +} + +// PatchExternalWorkload mocks base method. +func (m *MockExternalWorkloadWriter) PatchExternalWorkload(ctx context.Context, obj *v2alpha1.ExternalWorkload, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExternalWorkload", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExternalWorkload indicates an expected call of PatchExternalWorkload. +func (mr *MockExternalWorkloadWriterMockRecorder) PatchExternalWorkload(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExternalWorkload", reflect.TypeOf((*MockExternalWorkloadWriter)(nil).PatchExternalWorkload), varargs...) +} + +// UpdateExternalWorkload mocks base method. +func (m *MockExternalWorkloadWriter) UpdateExternalWorkload(ctx context.Context, obj *v2alpha1.ExternalWorkload, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExternalWorkload", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalWorkload indicates an expected call of UpdateExternalWorkload. +func (mr *MockExternalWorkloadWriterMockRecorder) UpdateExternalWorkload(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalWorkload", reflect.TypeOf((*MockExternalWorkloadWriter)(nil).UpdateExternalWorkload), varargs...) +} + +// UpsertExternalWorkload mocks base method. +func (m *MockExternalWorkloadWriter) UpsertExternalWorkload(ctx context.Context, obj *v2alpha1.ExternalWorkload, transitionFuncs ...v2alpha1.ExternalWorkloadTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertExternalWorkload", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertExternalWorkload indicates an expected call of UpsertExternalWorkload. +func (mr *MockExternalWorkloadWriterMockRecorder) UpsertExternalWorkload(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertExternalWorkload", reflect.TypeOf((*MockExternalWorkloadWriter)(nil).UpsertExternalWorkload), varargs...) +} + +// MockExternalWorkloadStatusWriter is a mock of ExternalWorkloadStatusWriter interface. +type MockExternalWorkloadStatusWriter struct { + ctrl *gomock.Controller + recorder *MockExternalWorkloadStatusWriterMockRecorder +} + +// MockExternalWorkloadStatusWriterMockRecorder is the mock recorder for MockExternalWorkloadStatusWriter. +type MockExternalWorkloadStatusWriterMockRecorder struct { + mock *MockExternalWorkloadStatusWriter +} + +// NewMockExternalWorkloadStatusWriter creates a new mock instance. +func NewMockExternalWorkloadStatusWriter(ctrl *gomock.Controller) *MockExternalWorkloadStatusWriter { + mock := &MockExternalWorkloadStatusWriter{ctrl: ctrl} + mock.recorder = &MockExternalWorkloadStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalWorkloadStatusWriter) EXPECT() *MockExternalWorkloadStatusWriterMockRecorder { + return m.recorder +} + +// PatchExternalWorkloadStatus mocks base method. +func (m *MockExternalWorkloadStatusWriter) PatchExternalWorkloadStatus(ctx context.Context, obj *v2alpha1.ExternalWorkload, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExternalWorkloadStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExternalWorkloadStatus indicates an expected call of PatchExternalWorkloadStatus. +func (mr *MockExternalWorkloadStatusWriterMockRecorder) PatchExternalWorkloadStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExternalWorkloadStatus", reflect.TypeOf((*MockExternalWorkloadStatusWriter)(nil).PatchExternalWorkloadStatus), varargs...) +} + +// UpdateExternalWorkloadStatus mocks base method. +func (m *MockExternalWorkloadStatusWriter) UpdateExternalWorkloadStatus(ctx context.Context, obj *v2alpha1.ExternalWorkload, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExternalWorkloadStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalWorkloadStatus indicates an expected call of UpdateExternalWorkloadStatus. +func (mr *MockExternalWorkloadStatusWriterMockRecorder) UpdateExternalWorkloadStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalWorkloadStatus", reflect.TypeOf((*MockExternalWorkloadStatusWriter)(nil).UpdateExternalWorkloadStatus), varargs...) +} + +// MockExternalWorkloadClient is a mock of ExternalWorkloadClient interface. +type MockExternalWorkloadClient struct { + ctrl *gomock.Controller + recorder *MockExternalWorkloadClientMockRecorder +} + +// MockExternalWorkloadClientMockRecorder is the mock recorder for MockExternalWorkloadClient. +type MockExternalWorkloadClientMockRecorder struct { + mock *MockExternalWorkloadClient +} + +// NewMockExternalWorkloadClient creates a new mock instance. +func NewMockExternalWorkloadClient(ctrl *gomock.Controller) *MockExternalWorkloadClient { + mock := &MockExternalWorkloadClient{ctrl: ctrl} + mock.recorder = &MockExternalWorkloadClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalWorkloadClient) EXPECT() *MockExternalWorkloadClientMockRecorder { + return m.recorder +} + +// CreateExternalWorkload mocks base method. +func (m *MockExternalWorkloadClient) CreateExternalWorkload(ctx context.Context, obj *v2alpha1.ExternalWorkload, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateExternalWorkload", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExternalWorkload indicates an expected call of CreateExternalWorkload. +func (mr *MockExternalWorkloadClientMockRecorder) CreateExternalWorkload(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExternalWorkload", reflect.TypeOf((*MockExternalWorkloadClient)(nil).CreateExternalWorkload), varargs...) +} + +// DeleteAllOfExternalWorkload mocks base method. +func (m *MockExternalWorkloadClient) DeleteAllOfExternalWorkload(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfExternalWorkload", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfExternalWorkload indicates an expected call of DeleteAllOfExternalWorkload. +func (mr *MockExternalWorkloadClientMockRecorder) DeleteAllOfExternalWorkload(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfExternalWorkload", reflect.TypeOf((*MockExternalWorkloadClient)(nil).DeleteAllOfExternalWorkload), varargs...) +} + +// DeleteExternalWorkload mocks base method. +func (m *MockExternalWorkloadClient) DeleteExternalWorkload(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteExternalWorkload", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExternalWorkload indicates an expected call of DeleteExternalWorkload. +func (mr *MockExternalWorkloadClientMockRecorder) DeleteExternalWorkload(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExternalWorkload", reflect.TypeOf((*MockExternalWorkloadClient)(nil).DeleteExternalWorkload), varargs...) +} + +// GetExternalWorkload mocks base method. +func (m *MockExternalWorkloadClient) GetExternalWorkload(ctx context.Context, key client.ObjectKey) (*v2alpha1.ExternalWorkload, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetExternalWorkload", ctx, key) + ret0, _ := ret[0].(*v2alpha1.ExternalWorkload) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetExternalWorkload indicates an expected call of GetExternalWorkload. +func (mr *MockExternalWorkloadClientMockRecorder) GetExternalWorkload(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetExternalWorkload", reflect.TypeOf((*MockExternalWorkloadClient)(nil).GetExternalWorkload), ctx, key) +} + +// ListExternalWorkload mocks base method. +func (m *MockExternalWorkloadClient) ListExternalWorkload(ctx context.Context, opts ...client.ListOption) (*v2alpha1.ExternalWorkloadList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListExternalWorkload", varargs...) + ret0, _ := ret[0].(*v2alpha1.ExternalWorkloadList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListExternalWorkload indicates an expected call of ListExternalWorkload. +func (mr *MockExternalWorkloadClientMockRecorder) ListExternalWorkload(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListExternalWorkload", reflect.TypeOf((*MockExternalWorkloadClient)(nil).ListExternalWorkload), varargs...) +} + +// PatchExternalWorkload mocks base method. +func (m *MockExternalWorkloadClient) PatchExternalWorkload(ctx context.Context, obj *v2alpha1.ExternalWorkload, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExternalWorkload", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExternalWorkload indicates an expected call of PatchExternalWorkload. +func (mr *MockExternalWorkloadClientMockRecorder) PatchExternalWorkload(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExternalWorkload", reflect.TypeOf((*MockExternalWorkloadClient)(nil).PatchExternalWorkload), varargs...) +} + +// PatchExternalWorkloadStatus mocks base method. +func (m *MockExternalWorkloadClient) PatchExternalWorkloadStatus(ctx context.Context, obj *v2alpha1.ExternalWorkload, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExternalWorkloadStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExternalWorkloadStatus indicates an expected call of PatchExternalWorkloadStatus. +func (mr *MockExternalWorkloadClientMockRecorder) PatchExternalWorkloadStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExternalWorkloadStatus", reflect.TypeOf((*MockExternalWorkloadClient)(nil).PatchExternalWorkloadStatus), varargs...) +} + +// UpdateExternalWorkload mocks base method. +func (m *MockExternalWorkloadClient) UpdateExternalWorkload(ctx context.Context, obj *v2alpha1.ExternalWorkload, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExternalWorkload", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalWorkload indicates an expected call of UpdateExternalWorkload. +func (mr *MockExternalWorkloadClientMockRecorder) UpdateExternalWorkload(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalWorkload", reflect.TypeOf((*MockExternalWorkloadClient)(nil).UpdateExternalWorkload), varargs...) +} + +// UpdateExternalWorkloadStatus mocks base method. +func (m *MockExternalWorkloadClient) UpdateExternalWorkloadStatus(ctx context.Context, obj *v2alpha1.ExternalWorkload, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExternalWorkloadStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExternalWorkloadStatus indicates an expected call of UpdateExternalWorkloadStatus. +func (mr *MockExternalWorkloadClientMockRecorder) UpdateExternalWorkloadStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalWorkloadStatus", reflect.TypeOf((*MockExternalWorkloadClient)(nil).UpdateExternalWorkloadStatus), varargs...) +} + +// UpsertExternalWorkload mocks base method. +func (m *MockExternalWorkloadClient) UpsertExternalWorkload(ctx context.Context, obj *v2alpha1.ExternalWorkload, transitionFuncs ...v2alpha1.ExternalWorkloadTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertExternalWorkload", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertExternalWorkload indicates an expected call of UpsertExternalWorkload. +func (mr *MockExternalWorkloadClientMockRecorder) UpsertExternalWorkload(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertExternalWorkload", reflect.TypeOf((*MockExternalWorkloadClient)(nil).UpsertExternalWorkload), varargs...) +} + +// MockMulticlusterExternalWorkloadClient is a mock of MulticlusterExternalWorkloadClient interface. +type MockMulticlusterExternalWorkloadClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExternalWorkloadClientMockRecorder +} + +// MockMulticlusterExternalWorkloadClientMockRecorder is the mock recorder for MockMulticlusterExternalWorkloadClient. +type MockMulticlusterExternalWorkloadClientMockRecorder struct { + mock *MockMulticlusterExternalWorkloadClient +} + +// NewMockMulticlusterExternalWorkloadClient creates a new mock instance. +func NewMockMulticlusterExternalWorkloadClient(ctrl *gomock.Controller) *MockMulticlusterExternalWorkloadClient { + mock := &MockMulticlusterExternalWorkloadClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterExternalWorkloadClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExternalWorkloadClient) EXPECT() *MockMulticlusterExternalWorkloadClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterExternalWorkloadClient) Cluster(cluster string) (v2alpha1.ExternalWorkloadClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2alpha1.ExternalWorkloadClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterExternalWorkloadClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterExternalWorkloadClient)(nil).Cluster), cluster) +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/proto_deepcopy.go b/client-go/networking.gloo.solo.io/v2alpha1/proto_deepcopy.go new file mode 100644 index 000000000..ea0b4d302 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/proto_deepcopy.go @@ -0,0 +1,32 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2alpha1 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the ExternalWorkload.Spec +func (in *ExternalWorkloadSpec) DeepCopyInto(out *ExternalWorkloadSpec) { + var p *ExternalWorkloadSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ExternalWorkloadSpec) + } else { + p = proto.Clone(in).(*ExternalWorkloadSpec) + } + *out = *p +} + +// DeepCopyInto for the ExternalWorkload.Status +func (in *ExternalWorkloadStatus) DeepCopyInto(out *ExternalWorkloadStatus) { + var p *ExternalWorkloadStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ExternalWorkloadStatus) + } else { + p = proto.Clone(in).(*ExternalWorkloadStatus) + } + *out = *p +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/providers/client_providers.go b/client-go/networking.gloo.solo.io/v2alpha1/providers/client_providers.go new file mode 100644 index 000000000..dd2e88590 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/providers/client_providers.go @@ -0,0 +1,46 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2alpha1 + +import ( + networking_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for ExternalWorkloadClient from Clientset +func ExternalWorkloadClientFromClientsetProvider(clients networking_gloo_solo_io_v2alpha1.Clientset) networking_gloo_solo_io_v2alpha1.ExternalWorkloadClient { + return clients.ExternalWorkloads() +} + +// Provider for ExternalWorkload Client from Client +func ExternalWorkloadClientProvider(client client.Client) networking_gloo_solo_io_v2alpha1.ExternalWorkloadClient { + return networking_gloo_solo_io_v2alpha1.NewExternalWorkloadClient(client) +} + +type ExternalWorkloadClientFactory func(client client.Client) networking_gloo_solo_io_v2alpha1.ExternalWorkloadClient + +func ExternalWorkloadClientFactoryProvider() ExternalWorkloadClientFactory { + return ExternalWorkloadClientProvider +} + +type ExternalWorkloadClientFromConfigFactory func(cfg *rest.Config) (networking_gloo_solo_io_v2alpha1.ExternalWorkloadClient, error) + +func ExternalWorkloadClientFromConfigFactoryProvider() ExternalWorkloadClientFromConfigFactory { + return func(cfg *rest.Config) (networking_gloo_solo_io_v2alpha1.ExternalWorkloadClient, error) { + clients, err := networking_gloo_solo_io_v2alpha1.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ExternalWorkloads(), nil + } +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/register.go b/client-go/networking.gloo.solo.io/v2alpha1/register.go new file mode 100644 index 000000000..1c6fefad4 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "networking.gloo.solo.io", Version: "v2alpha1"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/report_types.go b/client-go/networking.gloo.solo.io/v2alpha1/report_types.go new file mode 100644 index 000000000..29f85d4b3 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/report_types.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2alpha1 + +// IsReport implements Reportable interface for ExternalWorkloadReport +func (o *ExternalWorkloadReport) IsReport() {} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/sets/mocks/sets.go b/client-go/networking.gloo.solo.io/v2alpha1/sets/mocks/sets.go new file mode 100644 index 000000000..de4e58ee2 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/sets/mocks/sets.go @@ -0,0 +1,273 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2alpha1sets is a generated GoMock package. +package mock_v2alpha1sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2alpha1 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1" + v2alpha1sets "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1/sets" +) + +// MockExternalWorkloadSet is a mock of ExternalWorkloadSet interface. +type MockExternalWorkloadSet struct { + ctrl *gomock.Controller + recorder *MockExternalWorkloadSetMockRecorder +} + +// MockExternalWorkloadSetMockRecorder is the mock recorder for MockExternalWorkloadSet. +type MockExternalWorkloadSetMockRecorder struct { + mock *MockExternalWorkloadSet +} + +// NewMockExternalWorkloadSet creates a new mock instance. +func NewMockExternalWorkloadSet(ctrl *gomock.Controller) *MockExternalWorkloadSet { + mock := &MockExternalWorkloadSet{ctrl: ctrl} + mock.recorder = &MockExternalWorkloadSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExternalWorkloadSet) EXPECT() *MockExternalWorkloadSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockExternalWorkloadSet) Clone() v2alpha1sets.ExternalWorkloadSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2alpha1sets.ExternalWorkloadSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockExternalWorkloadSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockExternalWorkloadSet) Delete(externalWorkload ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", externalWorkload) +} + +// Delete indicates an expected call of Delete. +func (mr *MockExternalWorkloadSetMockRecorder) Delete(externalWorkload interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Delete), externalWorkload) +} + +// Delta mocks base method. +func (m *MockExternalWorkloadSet) Delta(newSet v2alpha1sets.ExternalWorkloadSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockExternalWorkloadSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockExternalWorkloadSet) Difference(set v2alpha1sets.ExternalWorkloadSet) v2alpha1sets.ExternalWorkloadSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2alpha1sets.ExternalWorkloadSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockExternalWorkloadSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockExternalWorkloadSet) Equal(externalWorkloadSet v2alpha1sets.ExternalWorkloadSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", externalWorkloadSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockExternalWorkloadSetMockRecorder) Equal(externalWorkloadSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Equal), externalWorkloadSet) +} + +// Find mocks base method. +func (m *MockExternalWorkloadSet) Find(id ezkube.ResourceId) (*v2alpha1.ExternalWorkload, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2alpha1.ExternalWorkload) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockExternalWorkloadSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockExternalWorkloadSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockExternalWorkloadSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockExternalWorkloadSet) Has(externalWorkload ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", externalWorkload) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockExternalWorkloadSetMockRecorder) Has(externalWorkload interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Has), externalWorkload) +} + +// Insert mocks base method. +func (m *MockExternalWorkloadSet) Insert(externalWorkload ...*v2alpha1.ExternalWorkload) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range externalWorkload { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockExternalWorkloadSetMockRecorder) Insert(externalWorkload ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Insert), externalWorkload...) +} + +// Intersection mocks base method. +func (m *MockExternalWorkloadSet) Intersection(set v2alpha1sets.ExternalWorkloadSet) v2alpha1sets.ExternalWorkloadSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2alpha1sets.ExternalWorkloadSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockExternalWorkloadSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockExternalWorkloadSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockExternalWorkloadSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockExternalWorkloadSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockExternalWorkloadSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockExternalWorkloadSet) List(filterResource ...func(*v2alpha1.ExternalWorkload) bool) []*v2alpha1.ExternalWorkload { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2alpha1.ExternalWorkload) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockExternalWorkloadSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockExternalWorkloadSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockExternalWorkloadSet) Map() map[string]*v2alpha1.ExternalWorkload { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2alpha1.ExternalWorkload) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockExternalWorkloadSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockExternalWorkloadSet) Union(set v2alpha1sets.ExternalWorkloadSet) v2alpha1sets.ExternalWorkloadSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2alpha1sets.ExternalWorkloadSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockExternalWorkloadSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockExternalWorkloadSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockExternalWorkloadSet) UnsortedList(filterResource ...func(*v2alpha1.ExternalWorkload) bool) []*v2alpha1.ExternalWorkload { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2alpha1.ExternalWorkload) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockExternalWorkloadSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockExternalWorkloadSet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/sets/sets.go b/client-go/networking.gloo.solo.io/v2alpha1/sets/sets.go new file mode 100644 index 000000000..0fe9fe0df --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/sets/sets.go @@ -0,0 +1,237 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2alpha1sets + +import ( + networking_gloo_solo_io_v2alpha1 "github.com/solo-io/solo-apis/client-go/networking.gloo.solo.io/v2alpha1" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type ExternalWorkloadSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) bool) []*networking_gloo_solo_io_v2alpha1.ExternalWorkload + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) bool) []*networking_gloo_solo_io_v2alpha1.ExternalWorkload + // Return the Set as a map of key to resource. + Map() map[string]*networking_gloo_solo_io_v2alpha1.ExternalWorkload + // Insert a resource into the set. + Insert(externalWorkload ...*networking_gloo_solo_io_v2alpha1.ExternalWorkload) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(externalWorkloadSet ExternalWorkloadSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(externalWorkload ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(externalWorkload ezkube.ResourceId) + // Return the union with the provided set + Union(set ExternalWorkloadSet) ExternalWorkloadSet + // Return the difference with the provided set + Difference(set ExternalWorkloadSet) ExternalWorkloadSet + // Return the intersection with the provided set + Intersection(set ExternalWorkloadSet) ExternalWorkloadSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*networking_gloo_solo_io_v2alpha1.ExternalWorkload, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ExternalWorkloadSet + Delta(newSet ExternalWorkloadSet) sksets.ResourceDelta + // Create a deep copy of the current ExternalWorkloadSet + Clone() ExternalWorkloadSet +} + +func makeGenericExternalWorkloadSet(externalWorkloadList []*networking_gloo_solo_io_v2alpha1.ExternalWorkload) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range externalWorkloadList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type externalWorkloadSet struct { + set sksets.ResourceSet +} + +func NewExternalWorkloadSet(externalWorkloadList ...*networking_gloo_solo_io_v2alpha1.ExternalWorkload) ExternalWorkloadSet { + return &externalWorkloadSet{set: makeGenericExternalWorkloadSet(externalWorkloadList)} +} + +func NewExternalWorkloadSetFromList(externalWorkloadList *networking_gloo_solo_io_v2alpha1.ExternalWorkloadList) ExternalWorkloadSet { + list := make([]*networking_gloo_solo_io_v2alpha1.ExternalWorkload, 0, len(externalWorkloadList.Items)) + for idx := range externalWorkloadList.Items { + list = append(list, &externalWorkloadList.Items[idx]) + } + return &externalWorkloadSet{set: makeGenericExternalWorkloadSet(list)} +} + +func (s *externalWorkloadSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *externalWorkloadSet) List(filterResource ...func(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) bool) []*networking_gloo_solo_io_v2alpha1.ExternalWorkload { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload)) + }) + } + + objs := s.Generic().List(genericFilters...) + externalWorkloadList := make([]*networking_gloo_solo_io_v2alpha1.ExternalWorkload, 0, len(objs)) + for _, obj := range objs { + externalWorkloadList = append(externalWorkloadList, obj.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload)) + } + return externalWorkloadList +} + +func (s *externalWorkloadSet) UnsortedList(filterResource ...func(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) bool) []*networking_gloo_solo_io_v2alpha1.ExternalWorkload { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload)) + }) + } + + var externalWorkloadList []*networking_gloo_solo_io_v2alpha1.ExternalWorkload + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + externalWorkloadList = append(externalWorkloadList, obj.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload)) + } + return externalWorkloadList +} + +func (s *externalWorkloadSet) Map() map[string]*networking_gloo_solo_io_v2alpha1.ExternalWorkload { + if s == nil { + return nil + } + + newMap := map[string]*networking_gloo_solo_io_v2alpha1.ExternalWorkload{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload) + } + return newMap +} + +func (s *externalWorkloadSet) Insert( + externalWorkloadList ...*networking_gloo_solo_io_v2alpha1.ExternalWorkload, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range externalWorkloadList { + s.Generic().Insert(obj) + } +} + +func (s *externalWorkloadSet) Has(externalWorkload ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(externalWorkload) +} + +func (s *externalWorkloadSet) Equal( + externalWorkloadSet ExternalWorkloadSet, +) bool { + if s == nil { + return externalWorkloadSet == nil + } + return s.Generic().Equal(externalWorkloadSet.Generic()) +} + +func (s *externalWorkloadSet) Delete(ExternalWorkload ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ExternalWorkload) +} + +func (s *externalWorkloadSet) Union(set ExternalWorkloadSet) ExternalWorkloadSet { + if s == nil { + return set + } + return NewExternalWorkloadSet(append(s.List(), set.List()...)...) +} + +func (s *externalWorkloadSet) Difference(set ExternalWorkloadSet) ExternalWorkloadSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &externalWorkloadSet{set: newSet} +} + +func (s *externalWorkloadSet) Intersection(set ExternalWorkloadSet) ExternalWorkloadSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var externalWorkloadList []*networking_gloo_solo_io_v2alpha1.ExternalWorkload + for _, obj := range newSet.List() { + externalWorkloadList = append(externalWorkloadList, obj.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload)) + } + return NewExternalWorkloadSet(externalWorkloadList...) +} + +func (s *externalWorkloadSet) Find(id ezkube.ResourceId) (*networking_gloo_solo_io_v2alpha1.ExternalWorkload, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ExternalWorkload %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&networking_gloo_solo_io_v2alpha1.ExternalWorkload{}, id) + if err != nil { + return nil, err + } + + return obj.(*networking_gloo_solo_io_v2alpha1.ExternalWorkload), nil +} + +func (s *externalWorkloadSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *externalWorkloadSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *externalWorkloadSet) Delta(newSet ExternalWorkloadSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *externalWorkloadSet) Clone() ExternalWorkloadSet { + if s == nil { + return nil + } + return &externalWorkloadSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/type_helpers.go b/client-go/networking.gloo.solo.io/v2alpha1/type_helpers.go new file mode 100644 index 000000000..0038cd224 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/type_helpers.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2alpha1 + +// ExternalWorkloadSlice represents a slice of *ExternalWorkload +type ExternalWorkloadSlice []*ExternalWorkload diff --git a/client-go/networking.gloo.solo.io/v2alpha1/types.go b/client-go/networking.gloo.solo.io/v2alpha1/types.go new file mode 100644 index 000000000..f0d3aa098 --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/types.go @@ -0,0 +1,48 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ExternalWorkload +var ExternalWorkloadGVK = schema.GroupVersionKind{ + Group: "networking.gloo.solo.io", + Version: "v2alpha1", + Kind: "ExternalWorkload", +} + +// ExternalWorkload is the Schema for the externalWorkload API +type ExternalWorkload struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ExternalWorkloadSpec `json:"spec,omitempty"` + Status ExternalWorkloadStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ExternalWorkload) GVK() schema.GroupVersionKind { + return ExternalWorkloadGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ExternalWorkloadList contains a list of ExternalWorkload +type ExternalWorkloadList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ExternalWorkload `json:"items"` +} + +func init() { + SchemeBuilder.Register(&ExternalWorkload{}, &ExternalWorkloadList{}) +} diff --git a/client-go/networking.gloo.solo.io/v2alpha1/zz_generated.deepcopy.go b/client-go/networking.gloo.solo.io/v2alpha1/zz_generated.deepcopy.go new file mode 100644 index 000000000..3855aa8dc --- /dev/null +++ b/client-go/networking.gloo.solo.io/v2alpha1/zz_generated.deepcopy.go @@ -0,0 +1,69 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for networking.gloo.solo.io/v2alpha1 resources + +package v2alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for ExternalWorkload + +func (in *ExternalWorkload) DeepCopyInto(out *ExternalWorkload) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ExternalWorkload) DeepCopy() *ExternalWorkload { + if in == nil { + return nil + } + out := new(ExternalWorkload) + in.DeepCopyInto(out) + return out +} + +func (in *ExternalWorkload) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ExternalWorkloadList) DeepCopyInto(out *ExternalWorkloadList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ExternalWorkload, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ExternalWorkloadList) DeepCopy() *ExternalWorkloadList { + if in == nil { + return nil + } + out := new(ExternalWorkloadList) + in.DeepCopyInto(out) + return out +} + +func (in *ExternalWorkloadList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/access_log_policy.pb.clone.go b/client-go/observability.policy.gloo.solo.io/v2/access_log_policy.pb.clone.go new file mode 100644 index 000000000..0db94fc2d --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/access_log_policy.pb.clone.go @@ -0,0 +1,213 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/observability/access_log_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *AccessLogPolicySpec) Clone() proto.Message { + var target *AccessLogPolicySpec + if m == nil { + return target + } + target = &AccessLogPolicySpec{} + + if m.GetApplyToWorkloads() != nil { + target.ApplyToWorkloads = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector, len(m.GetApplyToWorkloads())) + for idx, v := range m.GetApplyToWorkloads() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToWorkloads[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector) + } else { + target.ApplyToWorkloads[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*AccessLogPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*AccessLogPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *AccessLogPolicyStatus) Clone() proto.Message { + var target *AccessLogPolicyStatus + if m == nil { + return target + } + target = &AccessLogPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedWorkloads = m.GetNumSelectedWorkloads() + + return target +} + +// Clone function +func (m *AccessLogPolicyReport) Clone() proto.Message { + var target *AccessLogPolicyReport + if m == nil { + return target + } + target = &AccessLogPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedWorkloads() != nil { + target.SelectedWorkloads = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadReference, len(m.GetSelectedWorkloads())) + for idx, v := range m.GetSelectedWorkloads() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedWorkloads[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadReference) + } else { + target.SelectedWorkloads[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadReference) + } + + } + } + + return target +} + +// Clone function +func (m *AccessLogPolicySpec_Config) Clone() proto.Message { + var target *AccessLogPolicySpec_Config + if m == nil { + return target + } + target = &AccessLogPolicySpec_Config{} + + if m.GetFilters() != nil { + target.Filters = make([]*AccessLogPolicySpec_Config_Filter, len(m.GetFilters())) + for idx, v := range m.GetFilters() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Filters[idx] = h.Clone().(*AccessLogPolicySpec_Config_Filter) + } else { + target.Filters[idx] = proto.Clone(v).(*AccessLogPolicySpec_Config_Filter) + } + + } + } + + if m.GetIncludedRequestHeaders() != nil { + target.IncludedRequestHeaders = make([]string, len(m.GetIncludedRequestHeaders())) + for idx, v := range m.GetIncludedRequestHeaders() { + + target.IncludedRequestHeaders[idx] = v + + } + } + + if m.GetIncludedResponseHeaders() != nil { + target.IncludedResponseHeaders = make([]string, len(m.GetIncludedResponseHeaders())) + for idx, v := range m.GetIncludedResponseHeaders() { + + target.IncludedResponseHeaders[idx] = v + + } + } + + if m.GetIncludedResponseTrailers() != nil { + target.IncludedResponseTrailers = make([]string, len(m.GetIncludedResponseTrailers())) + for idx, v := range m.GetIncludedResponseTrailers() { + + target.IncludedResponseTrailers[idx] = v + + } + } + + if m.GetIncludedFilterStateObjects() != nil { + target.IncludedFilterStateObjects = make([]string, len(m.GetIncludedFilterStateObjects())) + for idx, v := range m.GetIncludedFilterStateObjects() { + + target.IncludedFilterStateObjects[idx] = v + + } + } + + return target +} + +// Clone function +func (m *AccessLogPolicySpec_Config_Filter) Clone() proto.Message { + var target *AccessLogPolicySpec_Config_Filter + if m == nil { + return target + } + target = &AccessLogPolicySpec_Config_Filter{} + + switch m.Type.(type) { + + case *AccessLogPolicySpec_Config_Filter_StatusCodeMatcher: + + if h, ok := interface{}(m.GetStatusCodeMatcher()).(clone.Cloner); ok { + target.Type = &AccessLogPolicySpec_Config_Filter_StatusCodeMatcher{ + StatusCodeMatcher: h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.StatusCodeMatcher), + } + } else { + target.Type = &AccessLogPolicySpec_Config_Filter_StatusCodeMatcher{ + StatusCodeMatcher: proto.Clone(m.GetStatusCodeMatcher()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.StatusCodeMatcher), + } + } + + case *AccessLogPolicySpec_Config_Filter_HeaderMatcher: + + if h, ok := interface{}(m.GetHeaderMatcher()).(clone.Cloner); ok { + target.Type = &AccessLogPolicySpec_Config_Filter_HeaderMatcher{ + HeaderMatcher: h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.HeaderMatcher), + } + } else { + target.Type = &AccessLogPolicySpec_Config_Filter_HeaderMatcher{ + HeaderMatcher: proto.Clone(m.GetHeaderMatcher()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.HeaderMatcher), + } + } + + } + + return target +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/access_log_policy.pb.equal.go b/client-go/observability.policy.gloo.solo.io/v2/access_log_policy.pb.equal.go new file mode 100644 index 000000000..c02833cda --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/access_log_policy.pb.equal.go @@ -0,0 +1,321 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/observability/access_log_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *AccessLogPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessLogPolicySpec) + if !ok { + that2, ok := that.(AccessLogPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToWorkloads()) != len(target.GetApplyToWorkloads()) { + return false + } + for idx, v := range m.GetApplyToWorkloads() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToWorkloads()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToWorkloads()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *AccessLogPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessLogPolicyStatus) + if !ok { + that2, ok := that.(AccessLogPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedWorkloads() != target.GetNumSelectedWorkloads() { + return false + } + + return true +} + +// Equal function +func (m *AccessLogPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessLogPolicyReport) + if !ok { + that2, ok := that.(AccessLogPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedWorkloads()) != len(target.GetSelectedWorkloads()) { + return false + } + for idx, v := range m.GetSelectedWorkloads() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedWorkloads()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedWorkloads()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *AccessLogPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessLogPolicySpec_Config) + if !ok { + that2, ok := that.(AccessLogPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetFilters()) != len(target.GetFilters()) { + return false + } + for idx, v := range m.GetFilters() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetFilters()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetFilters()[idx]) { + return false + } + } + + } + + if len(m.GetIncludedRequestHeaders()) != len(target.GetIncludedRequestHeaders()) { + return false + } + for idx, v := range m.GetIncludedRequestHeaders() { + + if strings.Compare(v, target.GetIncludedRequestHeaders()[idx]) != 0 { + return false + } + + } + + if len(m.GetIncludedResponseHeaders()) != len(target.GetIncludedResponseHeaders()) { + return false + } + for idx, v := range m.GetIncludedResponseHeaders() { + + if strings.Compare(v, target.GetIncludedResponseHeaders()[idx]) != 0 { + return false + } + + } + + if len(m.GetIncludedResponseTrailers()) != len(target.GetIncludedResponseTrailers()) { + return false + } + for idx, v := range m.GetIncludedResponseTrailers() { + + if strings.Compare(v, target.GetIncludedResponseTrailers()[idx]) != 0 { + return false + } + + } + + if len(m.GetIncludedFilterStateObjects()) != len(target.GetIncludedFilterStateObjects()) { + return false + } + for idx, v := range m.GetIncludedFilterStateObjects() { + + if strings.Compare(v, target.GetIncludedFilterStateObjects()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *AccessLogPolicySpec_Config_Filter) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessLogPolicySpec_Config_Filter) + if !ok { + that2, ok := that.(AccessLogPolicySpec_Config_Filter) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Type.(type) { + + case *AccessLogPolicySpec_Config_Filter_StatusCodeMatcher: + if _, ok := target.Type.(*AccessLogPolicySpec_Config_Filter_StatusCodeMatcher); !ok { + return false + } + + if h, ok := interface{}(m.GetStatusCodeMatcher()).(equality.Equalizer); ok { + if !h.Equal(target.GetStatusCodeMatcher()) { + return false + } + } else { + if !proto.Equal(m.GetStatusCodeMatcher(), target.GetStatusCodeMatcher()) { + return false + } + } + + case *AccessLogPolicySpec_Config_Filter_HeaderMatcher: + if _, ok := target.Type.(*AccessLogPolicySpec_Config_Filter_HeaderMatcher); !ok { + return false + } + + if h, ok := interface{}(m.GetHeaderMatcher()).(equality.Equalizer); ok { + if !h.Equal(target.GetHeaderMatcher()) { + return false + } + } else { + if !proto.Equal(m.GetHeaderMatcher(), target.GetHeaderMatcher()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Type != target.Type { + return false + } + } + + return true +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/access_log_policy.pb.go b/client-go/observability.policy.gloo.solo.io/v2/access_log_policy.pb.go new file mode 100644 index 000000000..ae58f42ff --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/access_log_policy.pb.go @@ -0,0 +1,670 @@ +// {{% readfile file="static/content/policies/ov_access_logs" markdown="true"%}} +// You can use access log policies to configure log collection for workloads +// that have injected sidecars or are standalone proxies, such as gateways. +// AccessLogPolicies are applied at the *Workload* level. +// +// Note: Be sure to [enable access logging]({{< versioned_link_path fromRoot="/observability/tools/access-logs/" >}}) +// by modifying your default Istio operator installation. +// +// **Example**: This example filters access logs for the `reviews` service, so that only +// logs that contain the header `foo: bar` are recorded. +// ```yaml +// apiVersion: observability.policy.gloo.solo.io/v2 +// kind: AccessLogPolicy +// metadata: +// name: access-log-policy +// namespace: bookinfo +// spec: +// applyToWorkloads: +// - selector: +// cluster: cluster1 +// labels: +// app: reviews +// namespace: bookinfo +// config: +// filters: +// #- statusCodeMatcher: +// # value: 200 +// # comparator: EQ +// - headerMatcher: +// name: foo +// value: bar +// regex: false +// invertMatch: false +// #includedRequestHeaders: +// # - x-user-agent +// #includedResponseHeaders: +// # - x-server +// #includedResponseTrailers: +// # - x-expires +// #includedFilterStateObjects: +// ``` + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/observability/access_log_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Specifications for the policy. +type AccessLogPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the workloads where access logs will be collected. + // If empty, the policy applies to all workloads in the workspace. + ApplyToWorkloads []*v2.WorkloadSelector `protobuf:"bytes,1,rep,name=apply_to_workloads,json=applyToWorkloads,proto3" json:"apply_to_workloads,omitempty"` + // Details of the policy specifying how to collect access logs from the selected workloads. + Config *AccessLogPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *AccessLogPolicySpec) Reset() { + *x = AccessLogPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessLogPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessLogPolicySpec) ProtoMessage() {} + +func (x *AccessLogPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessLogPolicySpec.ProtoReflect.Descriptor instead. +func (*AccessLogPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *AccessLogPolicySpec) GetApplyToWorkloads() []*v2.WorkloadSelector { + if x != nil { + return x.ApplyToWorkloads + } + return nil +} + +func (x *AccessLogPolicySpec) GetConfig() *AccessLogPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type AccessLogPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied policy. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of workloads selected by the policy. + NumSelectedWorkloads uint32 `protobuf:"varint,2,opt,name=num_selected_workloads,json=numSelectedWorkloads,proto3" json:"num_selected_workloads,omitempty"` +} + +func (x *AccessLogPolicyStatus) Reset() { + *x = AccessLogPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessLogPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessLogPolicyStatus) ProtoMessage() {} + +func (x *AccessLogPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessLogPolicyStatus.ProtoReflect.Descriptor instead. +func (*AccessLogPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *AccessLogPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *AccessLogPolicyStatus) GetNumSelectedWorkloads() uint32 { + if x != nil { + return x.NumSelectedWorkloads + } + return 0 +} + +// The report shows the resources that the policy selects after the policy is successfully applied. +type AccessLogPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of workloads selected by the policy. + SelectedWorkloads []*v2.WorkloadReference `protobuf:"bytes,2,rep,name=selected_workloads,json=selectedWorkloads,proto3" json:"selected_workloads,omitempty"` +} + +func (x *AccessLogPolicyReport) Reset() { + *x = AccessLogPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessLogPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessLogPolicyReport) ProtoMessage() {} + +func (x *AccessLogPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessLogPolicyReport.ProtoReflect.Descriptor instead. +func (*AccessLogPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *AccessLogPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *AccessLogPolicyReport) GetSelectedWorkloads() []*v2.WorkloadReference { + if x != nil { + return x.SelectedWorkloads + } + return nil +} + +// Details of the policy specifying how to collect access logs from the selected workloads. +type AccessLogPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Criteria for determining which access logs are recorded for the workload. + // The list is disjunctive, meaning that a request is logged if it matches any filter. + // If empty, all access logs are recorded. + Filters []*AccessLogPolicySpec_Config_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` + // Request headers to include in access logs. + IncludedRequestHeaders []string `protobuf:"bytes,3,rep,name=included_request_headers,json=includedRequestHeaders,proto3" json:"included_request_headers,omitempty"` + // Response headers to include in access logs. + IncludedResponseHeaders []string `protobuf:"bytes,4,rep,name=included_response_headers,json=includedResponseHeaders,proto3" json:"included_response_headers,omitempty"` + // Response trailers to include in access logs. + IncludedResponseTrailers []string `protobuf:"bytes,5,rep,name=included_response_trailers,json=includedResponseTrailers,proto3" json:"included_response_trailers,omitempty"` + // Filter state objects to include in access logs. + IncludedFilterStateObjects []string `protobuf:"bytes,6,rep,name=included_filter_state_objects,json=includedFilterStateObjects,proto3" json:"included_filter_state_objects,omitempty"` +} + +func (x *AccessLogPolicySpec_Config) Reset() { + *x = AccessLogPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessLogPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessLogPolicySpec_Config) ProtoMessage() {} + +func (x *AccessLogPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessLogPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*AccessLogPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *AccessLogPolicySpec_Config) GetFilters() []*AccessLogPolicySpec_Config_Filter { + if x != nil { + return x.Filters + } + return nil +} + +func (x *AccessLogPolicySpec_Config) GetIncludedRequestHeaders() []string { + if x != nil { + return x.IncludedRequestHeaders + } + return nil +} + +func (x *AccessLogPolicySpec_Config) GetIncludedResponseHeaders() []string { + if x != nil { + return x.IncludedResponseHeaders + } + return nil +} + +func (x *AccessLogPolicySpec_Config) GetIncludedResponseTrailers() []string { + if x != nil { + return x.IncludedResponseTrailers + } + return nil +} + +func (x *AccessLogPolicySpec_Config) GetIncludedFilterStateObjects() []string { + if x != nil { + return x.IncludedFilterStateObjects + } + return nil +} + +// Criteria for recording access logs. A request must match all specified criteria in the filter to be recorded. +type AccessLogPolicySpec_Config_Filter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Criteria type. + // + // Types that are assignable to Type: + // + // *AccessLogPolicySpec_Config_Filter_StatusCodeMatcher + // *AccessLogPolicySpec_Config_Filter_HeaderMatcher + Type isAccessLogPolicySpec_Config_Filter_Type `protobuf_oneof:"type"` +} + +func (x *AccessLogPolicySpec_Config_Filter) Reset() { + *x = AccessLogPolicySpec_Config_Filter{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessLogPolicySpec_Config_Filter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessLogPolicySpec_Config_Filter) ProtoMessage() {} + +func (x *AccessLogPolicySpec_Config_Filter) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessLogPolicySpec_Config_Filter.ProtoReflect.Descriptor instead. +func (*AccessLogPolicySpec_Config_Filter) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (m *AccessLogPolicySpec_Config_Filter) GetType() isAccessLogPolicySpec_Config_Filter_Type { + if m != nil { + return m.Type + } + return nil +} + +func (x *AccessLogPolicySpec_Config_Filter) GetStatusCodeMatcher() *v2.StatusCodeMatcher { + if x, ok := x.GetType().(*AccessLogPolicySpec_Config_Filter_StatusCodeMatcher); ok { + return x.StatusCodeMatcher + } + return nil +} + +func (x *AccessLogPolicySpec_Config_Filter) GetHeaderMatcher() *v2.HeaderMatcher { + if x, ok := x.GetType().(*AccessLogPolicySpec_Config_Filter_HeaderMatcher); ok { + return x.HeaderMatcher + } + return nil +} + +type isAccessLogPolicySpec_Config_Filter_Type interface { + isAccessLogPolicySpec_Config_Filter_Type() +} + +type AccessLogPolicySpec_Config_Filter_StatusCodeMatcher struct { + // Matches against a response HTTP status code. Omit to match any status code. + StatusCodeMatcher *v2.StatusCodeMatcher `protobuf:"bytes,1,opt,name=status_code_matcher,json=statusCodeMatcher,proto3,oneof"` +} + +type AccessLogPolicySpec_Config_Filter_HeaderMatcher struct { + // Matches against a request or response HTTP header. Omit to match any headers. + HeaderMatcher *v2.HeaderMatcher `protobuf:"bytes,2,opt,name=header_matcher,json=headerMatcher,proto3,oneof"` +} + +func (*AccessLogPolicySpec_Config_Filter_StatusCodeMatcher) isAccessLogPolicySpec_Config_Filter_Type() { +} + +func (*AccessLogPolicySpec_Config_Filter_HeaderMatcher) isAccessLogPolicySpec_Config_Filter_Type() {} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDesc = []byte{ + 0x0a, 0x68, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x6f, 0x62, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, + 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x05, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, 0x0a, 0x12, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, + 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, + 0x12, 0x55, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3d, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x99, 0x04, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x19, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x17, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x72, + 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, + 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1a, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x1a, 0xb7, 0x01, 0x0a, 0x06, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, + 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4b, + 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x15, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, + 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x14, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x57, + 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x22, 0xb4, 0x02, 0x0a, 0x15, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x68, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x6f, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x12, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x11, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, + 0x62, 0x5a, 0x54, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, + 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_goTypes = []interface{}{ + (*AccessLogPolicySpec)(nil), // 0: observability.policy.gloo.solo.io.AccessLogPolicySpec + (*AccessLogPolicyStatus)(nil), // 1: observability.policy.gloo.solo.io.AccessLogPolicyStatus + (*AccessLogPolicyReport)(nil), // 2: observability.policy.gloo.solo.io.AccessLogPolicyReport + (*AccessLogPolicySpec_Config)(nil), // 3: observability.policy.gloo.solo.io.AccessLogPolicySpec.Config + (*AccessLogPolicySpec_Config_Filter)(nil), // 4: observability.policy.gloo.solo.io.AccessLogPolicySpec.Config.Filter + nil, // 5: observability.policy.gloo.solo.io.AccessLogPolicyReport.WorkspacesEntry + (*v2.WorkloadSelector)(nil), // 6: common.gloo.solo.io.WorkloadSelector + (*v2.Status)(nil), // 7: common.gloo.solo.io.Status + (*v2.WorkloadReference)(nil), // 8: common.gloo.solo.io.WorkloadReference + (*v2.StatusCodeMatcher)(nil), // 9: common.gloo.solo.io.StatusCodeMatcher + (*v2.HeaderMatcher)(nil), // 10: common.gloo.solo.io.HeaderMatcher + (*v2.Report)(nil), // 11: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_depIdxs = []int32{ + 6, // 0: observability.policy.gloo.solo.io.AccessLogPolicySpec.apply_to_workloads:type_name -> common.gloo.solo.io.WorkloadSelector + 3, // 1: observability.policy.gloo.solo.io.AccessLogPolicySpec.config:type_name -> observability.policy.gloo.solo.io.AccessLogPolicySpec.Config + 7, // 2: observability.policy.gloo.solo.io.AccessLogPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 5, // 3: observability.policy.gloo.solo.io.AccessLogPolicyReport.workspaces:type_name -> observability.policy.gloo.solo.io.AccessLogPolicyReport.WorkspacesEntry + 8, // 4: observability.policy.gloo.solo.io.AccessLogPolicyReport.selected_workloads:type_name -> common.gloo.solo.io.WorkloadReference + 4, // 5: observability.policy.gloo.solo.io.AccessLogPolicySpec.Config.filters:type_name -> observability.policy.gloo.solo.io.AccessLogPolicySpec.Config.Filter + 9, // 6: observability.policy.gloo.solo.io.AccessLogPolicySpec.Config.Filter.status_code_matcher:type_name -> common.gloo.solo.io.StatusCodeMatcher + 10, // 7: observability.policy.gloo.solo.io.AccessLogPolicySpec.Config.Filter.header_matcher:type_name -> common.gloo.solo.io.HeaderMatcher + 11, // 8: observability.policy.gloo.solo.io.AccessLogPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessLogPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessLogPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessLogPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessLogPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessLogPolicySpec_Config_Filter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*AccessLogPolicySpec_Config_Filter_StatusCodeMatcher)(nil), + (*AccessLogPolicySpec_Config_Filter_HeaderMatcher)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_observability_access_log_policy_proto_depIdxs = nil +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/access_log_policy.pb.hash.go b/client-go/observability.policy.gloo.solo.io/v2/access_log_policy.pb.hash.go new file mode 100644 index 000000000..8f222e3d9 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/access_log_policy.pb.hash.go @@ -0,0 +1,342 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/observability/access_log_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *AccessLogPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("observability.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2.AccessLogPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToWorkloads() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessLogPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("observability.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2.AccessLogPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedWorkloads()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessLogPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("observability.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2.AccessLogPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedWorkloads() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessLogPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("observability.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2.AccessLogPolicySpec_Config")); err != nil { + return 0, err + } + + for _, v := range m.GetFilters() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetIncludedRequestHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetIncludedResponseHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetIncludedResponseTrailers() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetIncludedFilterStateObjects() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessLogPolicySpec_Config_Filter) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("observability.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2.AccessLogPolicySpec_Config_Filter")); err != nil { + return 0, err + } + + switch m.Type.(type) { + + case *AccessLogPolicySpec_Config_Filter_StatusCodeMatcher: + + if h, ok := interface{}(m.GetStatusCodeMatcher()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("StatusCodeMatcher")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetStatusCodeMatcher(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("StatusCodeMatcher")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AccessLogPolicySpec_Config_Filter_HeaderMatcher: + + if h, ok := interface{}(m.GetHeaderMatcher()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HeaderMatcher")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHeaderMatcher(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HeaderMatcher")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/clients.go b/client-go/observability.policy.gloo.solo.io/v2/clients.go new file mode 100644 index 000000000..29ebaf082 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/clients.go @@ -0,0 +1,213 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the observability.policy.gloo.solo.io/v2 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the observability.policy.gloo.solo.io/v2 APIs +type Clientset interface { + // clienset for the observability.policy.gloo.solo.io/v2/v2 APIs + AccessLogPolicies() AccessLogPolicyClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the observability.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) AccessLogPolicies() AccessLogPolicyClient { + return NewAccessLogPolicyClient(c.client) +} + +// Reader knows how to read and list AccessLogPolicys. +type AccessLogPolicyReader interface { + // Get retrieves a AccessLogPolicy for the given object key + GetAccessLogPolicy(ctx context.Context, key client.ObjectKey) (*AccessLogPolicy, error) + + // List retrieves list of AccessLogPolicys for a given namespace and list options. + ListAccessLogPolicy(ctx context.Context, opts ...client.ListOption) (*AccessLogPolicyList, error) +} + +// AccessLogPolicyTransitionFunction instructs the AccessLogPolicyWriter how to transition between an existing +// AccessLogPolicy object and a desired on an Upsert +type AccessLogPolicyTransitionFunction func(existing, desired *AccessLogPolicy) error + +// Writer knows how to create, delete, and update AccessLogPolicys. +type AccessLogPolicyWriter interface { + // Create saves the AccessLogPolicy object. + CreateAccessLogPolicy(ctx context.Context, obj *AccessLogPolicy, opts ...client.CreateOption) error + + // Delete deletes the AccessLogPolicy object. + DeleteAccessLogPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given AccessLogPolicy object. + UpdateAccessLogPolicy(ctx context.Context, obj *AccessLogPolicy, opts ...client.UpdateOption) error + + // Patch patches the given AccessLogPolicy object. + PatchAccessLogPolicy(ctx context.Context, obj *AccessLogPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all AccessLogPolicy objects matching the given options. + DeleteAllOfAccessLogPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the AccessLogPolicy object. + UpsertAccessLogPolicy(ctx context.Context, obj *AccessLogPolicy, transitionFuncs ...AccessLogPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a AccessLogPolicy object. +type AccessLogPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given AccessLogPolicy object. + UpdateAccessLogPolicyStatus(ctx context.Context, obj *AccessLogPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given AccessLogPolicy object's subresource. + PatchAccessLogPolicyStatus(ctx context.Context, obj *AccessLogPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on AccessLogPolicys. +type AccessLogPolicyClient interface { + AccessLogPolicyReader + AccessLogPolicyWriter + AccessLogPolicyStatusWriter +} + +type accessLogPolicyClient struct { + client client.Client +} + +func NewAccessLogPolicyClient(client client.Client) *accessLogPolicyClient { + return &accessLogPolicyClient{client: client} +} + +func (c *accessLogPolicyClient) GetAccessLogPolicy(ctx context.Context, key client.ObjectKey) (*AccessLogPolicy, error) { + obj := &AccessLogPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *accessLogPolicyClient) ListAccessLogPolicy(ctx context.Context, opts ...client.ListOption) (*AccessLogPolicyList, error) { + list := &AccessLogPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *accessLogPolicyClient) CreateAccessLogPolicy(ctx context.Context, obj *AccessLogPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *accessLogPolicyClient) DeleteAccessLogPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &AccessLogPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *accessLogPolicyClient) UpdateAccessLogPolicy(ctx context.Context, obj *AccessLogPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *accessLogPolicyClient) PatchAccessLogPolicy(ctx context.Context, obj *AccessLogPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *accessLogPolicyClient) DeleteAllOfAccessLogPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &AccessLogPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *accessLogPolicyClient) UpsertAccessLogPolicy(ctx context.Context, obj *AccessLogPolicy, transitionFuncs ...AccessLogPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*AccessLogPolicy), desired.(*AccessLogPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *accessLogPolicyClient) UpdateAccessLogPolicyStatus(ctx context.Context, obj *AccessLogPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *accessLogPolicyClient) PatchAccessLogPolicyStatus(ctx context.Context, obj *AccessLogPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides AccessLogPolicyClients for multiple clusters. +type MulticlusterAccessLogPolicyClient interface { + // Cluster returns a AccessLogPolicyClient for the given cluster + Cluster(cluster string) (AccessLogPolicyClient, error) +} + +type multiclusterAccessLogPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterAccessLogPolicyClient(client multicluster.Client) MulticlusterAccessLogPolicyClient { + return &multiclusterAccessLogPolicyClient{client: client} +} + +func (m *multiclusterAccessLogPolicyClient) Cluster(cluster string) (AccessLogPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewAccessLogPolicyClient(client), nil +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/config_types.go b/client-go/observability.policy.gloo.solo.io/v2/config_types.go new file mode 100644 index 000000000..9ee4f7cdd --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/config_types.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2 + +// IsConfigObject implements ConfigObject interface for AccessLogPolicy +func (o *AccessLogPolicy) IsConfigObject() {} diff --git a/client-go/observability.policy.gloo.solo.io/v2/controller/event_handlers.go b/client-go/observability.policy.gloo.solo.io/v2/controller/event_handlers.go new file mode 100644 index 000000000..25e42731d --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/controller/event_handlers.go @@ -0,0 +1,125 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + observability_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the AccessLogPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type AccessLogPolicyEventHandler interface { + CreateAccessLogPolicy(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error + UpdateAccessLogPolicy(old, new *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error + DeleteAccessLogPolicy(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error + GenericAccessLogPolicy(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error +} + +type AccessLogPolicyEventHandlerFuncs struct { + OnCreate func(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error + OnUpdate func(old, new *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error + OnDelete func(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error + OnGeneric func(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error +} + +func (f *AccessLogPolicyEventHandlerFuncs) CreateAccessLogPolicy(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *AccessLogPolicyEventHandlerFuncs) DeleteAccessLogPolicy(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *AccessLogPolicyEventHandlerFuncs) UpdateAccessLogPolicy(objOld, objNew *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *AccessLogPolicyEventHandlerFuncs) GenericAccessLogPolicy(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type AccessLogPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h AccessLogPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type accessLogPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewAccessLogPolicyEventWatcher(name string, mgr manager.Manager) AccessLogPolicyEventWatcher { + return &accessLogPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &observability_policy_gloo_solo_io_v2.AccessLogPolicy{}), + } +} + +func (c *accessLogPolicyEventWatcher) AddEventHandler(ctx context.Context, h AccessLogPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericAccessLogPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericAccessLogPolicyHandler implements a generic events.EventHandler +type genericAccessLogPolicyHandler struct { + handler AccessLogPolicyEventHandler +} + +func (h genericAccessLogPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) + if !ok { + return errors.Errorf("internal error: AccessLogPolicy handler received event for %T", object) + } + return h.handler.CreateAccessLogPolicy(obj) +} + +func (h genericAccessLogPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) + if !ok { + return errors.Errorf("internal error: AccessLogPolicy handler received event for %T", object) + } + return h.handler.DeleteAccessLogPolicy(obj) +} + +func (h genericAccessLogPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) + if !ok { + return errors.Errorf("internal error: AccessLogPolicy handler received event for %T", old) + } + objNew, ok := new.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) + if !ok { + return errors.Errorf("internal error: AccessLogPolicy handler received event for %T", new) + } + return h.handler.UpdateAccessLogPolicy(objOld, objNew) +} + +func (h genericAccessLogPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) + if !ok { + return errors.Errorf("internal error: AccessLogPolicy handler received event for %T", object) + } + return h.handler.GenericAccessLogPolicy(obj) +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go b/client-go/observability.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go new file mode 100644 index 000000000..67ed3da1b --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go @@ -0,0 +1,137 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2/controller" +) + +// MockAccessLogPolicyEventHandler is a mock of AccessLogPolicyEventHandler interface. +type MockAccessLogPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockAccessLogPolicyEventHandlerMockRecorder +} + +// MockAccessLogPolicyEventHandlerMockRecorder is the mock recorder for MockAccessLogPolicyEventHandler. +type MockAccessLogPolicyEventHandlerMockRecorder struct { + mock *MockAccessLogPolicyEventHandler +} + +// NewMockAccessLogPolicyEventHandler creates a new mock instance. +func NewMockAccessLogPolicyEventHandler(ctrl *gomock.Controller) *MockAccessLogPolicyEventHandler { + mock := &MockAccessLogPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockAccessLogPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessLogPolicyEventHandler) EXPECT() *MockAccessLogPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyEventHandler) CreateAccessLogPolicy(obj *v2.AccessLogPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateAccessLogPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateAccessLogPolicy indicates an expected call of CreateAccessLogPolicy. +func (mr *MockAccessLogPolicyEventHandlerMockRecorder) CreateAccessLogPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyEventHandler)(nil).CreateAccessLogPolicy), obj) +} + +// DeleteAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyEventHandler) DeleteAccessLogPolicy(obj *v2.AccessLogPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteAccessLogPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAccessLogPolicy indicates an expected call of DeleteAccessLogPolicy. +func (mr *MockAccessLogPolicyEventHandlerMockRecorder) DeleteAccessLogPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyEventHandler)(nil).DeleteAccessLogPolicy), obj) +} + +// GenericAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyEventHandler) GenericAccessLogPolicy(obj *v2.AccessLogPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericAccessLogPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericAccessLogPolicy indicates an expected call of GenericAccessLogPolicy. +func (mr *MockAccessLogPolicyEventHandlerMockRecorder) GenericAccessLogPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyEventHandler)(nil).GenericAccessLogPolicy), obj) +} + +// UpdateAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyEventHandler) UpdateAccessLogPolicy(old, new *v2.AccessLogPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateAccessLogPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateAccessLogPolicy indicates an expected call of UpdateAccessLogPolicy. +func (mr *MockAccessLogPolicyEventHandlerMockRecorder) UpdateAccessLogPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyEventHandler)(nil).UpdateAccessLogPolicy), old, new) +} + +// MockAccessLogPolicyEventWatcher is a mock of AccessLogPolicyEventWatcher interface. +type MockAccessLogPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockAccessLogPolicyEventWatcherMockRecorder +} + +// MockAccessLogPolicyEventWatcherMockRecorder is the mock recorder for MockAccessLogPolicyEventWatcher. +type MockAccessLogPolicyEventWatcherMockRecorder struct { + mock *MockAccessLogPolicyEventWatcher +} + +// NewMockAccessLogPolicyEventWatcher creates a new mock instance. +func NewMockAccessLogPolicyEventWatcher(ctrl *gomock.Controller) *MockAccessLogPolicyEventWatcher { + mock := &MockAccessLogPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockAccessLogPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessLogPolicyEventWatcher) EXPECT() *MockAccessLogPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockAccessLogPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.AccessLogPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockAccessLogPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockAccessLogPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go b/client-go/observability.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..e49c02237 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,132 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2/controller" +) + +// MockMulticlusterAccessLogPolicyReconciler is a mock of MulticlusterAccessLogPolicyReconciler interface. +type MockMulticlusterAccessLogPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterAccessLogPolicyReconcilerMockRecorder +} + +// MockMulticlusterAccessLogPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterAccessLogPolicyReconciler. +type MockMulticlusterAccessLogPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterAccessLogPolicyReconciler +} + +// NewMockMulticlusterAccessLogPolicyReconciler creates a new mock instance. +func NewMockMulticlusterAccessLogPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterAccessLogPolicyReconciler { + mock := &MockMulticlusterAccessLogPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterAccessLogPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterAccessLogPolicyReconciler) EXPECT() *MockMulticlusterAccessLogPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileAccessLogPolicy mocks base method. +func (m *MockMulticlusterAccessLogPolicyReconciler) ReconcileAccessLogPolicy(clusterName string, obj *v2.AccessLogPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileAccessLogPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileAccessLogPolicy indicates an expected call of ReconcileAccessLogPolicy. +func (mr *MockMulticlusterAccessLogPolicyReconcilerMockRecorder) ReconcileAccessLogPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileAccessLogPolicy", reflect.TypeOf((*MockMulticlusterAccessLogPolicyReconciler)(nil).ReconcileAccessLogPolicy), clusterName, obj) +} + +// MockMulticlusterAccessLogPolicyDeletionReconciler is a mock of MulticlusterAccessLogPolicyDeletionReconciler interface. +type MockMulticlusterAccessLogPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterAccessLogPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterAccessLogPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterAccessLogPolicyDeletionReconciler. +type MockMulticlusterAccessLogPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterAccessLogPolicyDeletionReconciler +} + +// NewMockMulticlusterAccessLogPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterAccessLogPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterAccessLogPolicyDeletionReconciler { + mock := &MockMulticlusterAccessLogPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterAccessLogPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterAccessLogPolicyDeletionReconciler) EXPECT() *MockMulticlusterAccessLogPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileAccessLogPolicyDeletion mocks base method. +func (m *MockMulticlusterAccessLogPolicyDeletionReconciler) ReconcileAccessLogPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileAccessLogPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileAccessLogPolicyDeletion indicates an expected call of ReconcileAccessLogPolicyDeletion. +func (mr *MockMulticlusterAccessLogPolicyDeletionReconcilerMockRecorder) ReconcileAccessLogPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileAccessLogPolicyDeletion", reflect.TypeOf((*MockMulticlusterAccessLogPolicyDeletionReconciler)(nil).ReconcileAccessLogPolicyDeletion), clusterName, req) +} + +// MockMulticlusterAccessLogPolicyReconcileLoop is a mock of MulticlusterAccessLogPolicyReconcileLoop interface. +type MockMulticlusterAccessLogPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterAccessLogPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterAccessLogPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterAccessLogPolicyReconcileLoop. +type MockMulticlusterAccessLogPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterAccessLogPolicyReconcileLoop +} + +// NewMockMulticlusterAccessLogPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterAccessLogPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterAccessLogPolicyReconcileLoop { + mock := &MockMulticlusterAccessLogPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterAccessLogPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterAccessLogPolicyReconcileLoop) EXPECT() *MockMulticlusterAccessLogPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterAccessLogPolicyReconciler mocks base method. +func (m *MockMulticlusterAccessLogPolicyReconcileLoop) AddMulticlusterAccessLogPolicyReconciler(ctx context.Context, rec controller.MulticlusterAccessLogPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterAccessLogPolicyReconciler", varargs...) +} + +// AddMulticlusterAccessLogPolicyReconciler indicates an expected call of AddMulticlusterAccessLogPolicyReconciler. +func (mr *MockMulticlusterAccessLogPolicyReconcileLoopMockRecorder) AddMulticlusterAccessLogPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterAccessLogPolicyReconciler", reflect.TypeOf((*MockMulticlusterAccessLogPolicyReconcileLoop)(nil).AddMulticlusterAccessLogPolicyReconciler), varargs...) +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go b/client-go/observability.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go new file mode 100644 index 000000000..f57ee6280 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go @@ -0,0 +1,200 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2/controller" +) + +// MockAccessLogPolicyReconciler is a mock of AccessLogPolicyReconciler interface. +type MockAccessLogPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockAccessLogPolicyReconcilerMockRecorder +} + +// MockAccessLogPolicyReconcilerMockRecorder is the mock recorder for MockAccessLogPolicyReconciler. +type MockAccessLogPolicyReconcilerMockRecorder struct { + mock *MockAccessLogPolicyReconciler +} + +// NewMockAccessLogPolicyReconciler creates a new mock instance. +func NewMockAccessLogPolicyReconciler(ctrl *gomock.Controller) *MockAccessLogPolicyReconciler { + mock := &MockAccessLogPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockAccessLogPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessLogPolicyReconciler) EXPECT() *MockAccessLogPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyReconciler) ReconcileAccessLogPolicy(obj *v2.AccessLogPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileAccessLogPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileAccessLogPolicy indicates an expected call of ReconcileAccessLogPolicy. +func (mr *MockAccessLogPolicyReconcilerMockRecorder) ReconcileAccessLogPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyReconciler)(nil).ReconcileAccessLogPolicy), obj) +} + +// MockAccessLogPolicyDeletionReconciler is a mock of AccessLogPolicyDeletionReconciler interface. +type MockAccessLogPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockAccessLogPolicyDeletionReconcilerMockRecorder +} + +// MockAccessLogPolicyDeletionReconcilerMockRecorder is the mock recorder for MockAccessLogPolicyDeletionReconciler. +type MockAccessLogPolicyDeletionReconcilerMockRecorder struct { + mock *MockAccessLogPolicyDeletionReconciler +} + +// NewMockAccessLogPolicyDeletionReconciler creates a new mock instance. +func NewMockAccessLogPolicyDeletionReconciler(ctrl *gomock.Controller) *MockAccessLogPolicyDeletionReconciler { + mock := &MockAccessLogPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockAccessLogPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessLogPolicyDeletionReconciler) EXPECT() *MockAccessLogPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileAccessLogPolicyDeletion mocks base method. +func (m *MockAccessLogPolicyDeletionReconciler) ReconcileAccessLogPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileAccessLogPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileAccessLogPolicyDeletion indicates an expected call of ReconcileAccessLogPolicyDeletion. +func (mr *MockAccessLogPolicyDeletionReconcilerMockRecorder) ReconcileAccessLogPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileAccessLogPolicyDeletion", reflect.TypeOf((*MockAccessLogPolicyDeletionReconciler)(nil).ReconcileAccessLogPolicyDeletion), req) +} + +// MockAccessLogPolicyFinalizer is a mock of AccessLogPolicyFinalizer interface. +type MockAccessLogPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockAccessLogPolicyFinalizerMockRecorder +} + +// MockAccessLogPolicyFinalizerMockRecorder is the mock recorder for MockAccessLogPolicyFinalizer. +type MockAccessLogPolicyFinalizerMockRecorder struct { + mock *MockAccessLogPolicyFinalizer +} + +// NewMockAccessLogPolicyFinalizer creates a new mock instance. +func NewMockAccessLogPolicyFinalizer(ctrl *gomock.Controller) *MockAccessLogPolicyFinalizer { + mock := &MockAccessLogPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockAccessLogPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessLogPolicyFinalizer) EXPECT() *MockAccessLogPolicyFinalizerMockRecorder { + return m.recorder +} + +// AccessLogPolicyFinalizerName mocks base method. +func (m *MockAccessLogPolicyFinalizer) AccessLogPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AccessLogPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// AccessLogPolicyFinalizerName indicates an expected call of AccessLogPolicyFinalizerName. +func (mr *MockAccessLogPolicyFinalizerMockRecorder) AccessLogPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AccessLogPolicyFinalizerName", reflect.TypeOf((*MockAccessLogPolicyFinalizer)(nil).AccessLogPolicyFinalizerName)) +} + +// FinalizeAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyFinalizer) FinalizeAccessLogPolicy(obj *v2.AccessLogPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeAccessLogPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeAccessLogPolicy indicates an expected call of FinalizeAccessLogPolicy. +func (mr *MockAccessLogPolicyFinalizerMockRecorder) FinalizeAccessLogPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyFinalizer)(nil).FinalizeAccessLogPolicy), obj) +} + +// ReconcileAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyFinalizer) ReconcileAccessLogPolicy(obj *v2.AccessLogPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileAccessLogPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileAccessLogPolicy indicates an expected call of ReconcileAccessLogPolicy. +func (mr *MockAccessLogPolicyFinalizerMockRecorder) ReconcileAccessLogPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyFinalizer)(nil).ReconcileAccessLogPolicy), obj) +} + +// MockAccessLogPolicyReconcileLoop is a mock of AccessLogPolicyReconcileLoop interface. +type MockAccessLogPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockAccessLogPolicyReconcileLoopMockRecorder +} + +// MockAccessLogPolicyReconcileLoopMockRecorder is the mock recorder for MockAccessLogPolicyReconcileLoop. +type MockAccessLogPolicyReconcileLoopMockRecorder struct { + mock *MockAccessLogPolicyReconcileLoop +} + +// NewMockAccessLogPolicyReconcileLoop creates a new mock instance. +func NewMockAccessLogPolicyReconcileLoop(ctrl *gomock.Controller) *MockAccessLogPolicyReconcileLoop { + mock := &MockAccessLogPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockAccessLogPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessLogPolicyReconcileLoop) EXPECT() *MockAccessLogPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunAccessLogPolicyReconciler mocks base method. +func (m *MockAccessLogPolicyReconcileLoop) RunAccessLogPolicyReconciler(ctx context.Context, rec controller.AccessLogPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunAccessLogPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunAccessLogPolicyReconciler indicates an expected call of RunAccessLogPolicyReconciler. +func (mr *MockAccessLogPolicyReconcileLoopMockRecorder) RunAccessLogPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunAccessLogPolicyReconciler", reflect.TypeOf((*MockAccessLogPolicyReconcileLoop)(nil).RunAccessLogPolicyReconciler), varargs...) +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go b/client-go/observability.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..05aa94c5e --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go @@ -0,0 +1,90 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + observability_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the AccessLogPolicy Resource across clusters. +// implemented by the user +type MulticlusterAccessLogPolicyReconciler interface { + ReconcileAccessLogPolicy(clusterName string, obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the AccessLogPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterAccessLogPolicyDeletionReconciler interface { + ReconcileAccessLogPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterAccessLogPolicyReconcilerFuncs struct { + OnReconcileAccessLogPolicy func(clusterName string, obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) (reconcile.Result, error) + OnReconcileAccessLogPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterAccessLogPolicyReconcilerFuncs) ReconcileAccessLogPolicy(clusterName string, obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) (reconcile.Result, error) { + if f.OnReconcileAccessLogPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileAccessLogPolicy(clusterName, obj) +} + +func (f *MulticlusterAccessLogPolicyReconcilerFuncs) ReconcileAccessLogPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileAccessLogPolicyDeletion == nil { + return nil + } + return f.OnReconcileAccessLogPolicyDeletion(clusterName, req) +} + +type MulticlusterAccessLogPolicyReconcileLoop interface { + // AddMulticlusterAccessLogPolicyReconciler adds a MulticlusterAccessLogPolicyReconciler to the MulticlusterAccessLogPolicyReconcileLoop. + AddMulticlusterAccessLogPolicyReconciler(ctx context.Context, rec MulticlusterAccessLogPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterAccessLogPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterAccessLogPolicyReconcileLoop) AddMulticlusterAccessLogPolicyReconciler(ctx context.Context, rec MulticlusterAccessLogPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericAccessLogPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterAccessLogPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterAccessLogPolicyReconcileLoop { + return &multiclusterAccessLogPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &observability_policy_gloo_solo_io_v2.AccessLogPolicy{}, options)} +} + +type genericAccessLogPolicyMulticlusterReconciler struct { + reconciler MulticlusterAccessLogPolicyReconciler +} + +func (g genericAccessLogPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterAccessLogPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileAccessLogPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericAccessLogPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: AccessLogPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileAccessLogPolicy(cluster, obj) +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/controller/reconcilers.go b/client-go/observability.policy.gloo.solo.io/v2/controller/reconcilers.go new file mode 100644 index 000000000..57a5af817 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/controller/reconcilers.go @@ -0,0 +1,135 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + observability_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the AccessLogPolicy Resource. +// implemented by the user +type AccessLogPolicyReconciler interface { + ReconcileAccessLogPolicy(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the AccessLogPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type AccessLogPolicyDeletionReconciler interface { + ReconcileAccessLogPolicyDeletion(req reconcile.Request) error +} + +type AccessLogPolicyReconcilerFuncs struct { + OnReconcileAccessLogPolicy func(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) (reconcile.Result, error) + OnReconcileAccessLogPolicyDeletion func(req reconcile.Request) error +} + +func (f *AccessLogPolicyReconcilerFuncs) ReconcileAccessLogPolicy(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) (reconcile.Result, error) { + if f.OnReconcileAccessLogPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileAccessLogPolicy(obj) +} + +func (f *AccessLogPolicyReconcilerFuncs) ReconcileAccessLogPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileAccessLogPolicyDeletion == nil { + return nil + } + return f.OnReconcileAccessLogPolicyDeletion(req) +} + +// Reconcile and finalize the AccessLogPolicy Resource +// implemented by the user +type AccessLogPolicyFinalizer interface { + AccessLogPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + AccessLogPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeAccessLogPolicy(obj *observability_policy_gloo_solo_io_v2.AccessLogPolicy) error +} + +type AccessLogPolicyReconcileLoop interface { + RunAccessLogPolicyReconciler(ctx context.Context, rec AccessLogPolicyReconciler, predicates ...predicate.Predicate) error +} + +type accessLogPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewAccessLogPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) AccessLogPolicyReconcileLoop { + return &accessLogPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &observability_policy_gloo_solo_io_v2.AccessLogPolicy{}, options), + } +} + +func (c *accessLogPolicyReconcileLoop) RunAccessLogPolicyReconciler(ctx context.Context, reconciler AccessLogPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericAccessLogPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(AccessLogPolicyFinalizer); ok { + reconcilerWrapper = genericAccessLogPolicyFinalizer{ + genericAccessLogPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericAccessLogPolicyHandler implements a generic reconcile.Reconciler +type genericAccessLogPolicyReconciler struct { + reconciler AccessLogPolicyReconciler +} + +func (r genericAccessLogPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: AccessLogPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileAccessLogPolicy(obj) +} + +func (r genericAccessLogPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(AccessLogPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileAccessLogPolicyDeletion(request) + } + return nil +} + +// genericAccessLogPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericAccessLogPolicyFinalizer struct { + genericAccessLogPolicyReconciler + finalizingReconciler AccessLogPolicyFinalizer +} + +func (r genericAccessLogPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.AccessLogPolicyFinalizerName() +} + +func (r genericAccessLogPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) + if !ok { + return errors.Errorf("internal error: AccessLogPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeAccessLogPolicy(obj) +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/doc.go b/client-go/observability.policy.gloo.solo.io/v2/doc.go new file mode 100644 index 000000000..b35af322b --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2 contains API Schema definitions for the observability.policy.gloo.solo.io v2 API group +// +k8s:deepcopy-gen=package,register +// +groupName=observability.policy.gloo.solo.io +package v2 diff --git a/client-go/observability.policy.gloo.solo.io/v2/json.gen.go b/client-go/observability.policy.gloo.solo.io/v2/json.gen.go new file mode 100644 index 000000000..bea4ea374 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/json.gen.go @@ -0,0 +1,50 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for AccessLogPolicySpec +func (this *AccessLogPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for AccessLogPolicySpec +func (this *AccessLogPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for AccessLogPolicyStatus +func (this *AccessLogPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for AccessLogPolicyStatus +func (this *AccessLogPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/mocks/clients.go b/client-go/observability.policy.gloo.solo.io/v2/mocks/clients.go new file mode 100644 index 000000000..e3b91272d --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/mocks/clients.go @@ -0,0 +1,594 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2 is a generated GoMock package. +package mock_v2 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2 "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// AccessLogPolicies mocks base method. +func (m *MockClientset) AccessLogPolicies() v2.AccessLogPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AccessLogPolicies") + ret0, _ := ret[0].(v2.AccessLogPolicyClient) + return ret0 +} + +// AccessLogPolicies indicates an expected call of AccessLogPolicies. +func (mr *MockClientsetMockRecorder) AccessLogPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AccessLogPolicies", reflect.TypeOf((*MockClientset)(nil).AccessLogPolicies)) +} + +// MockAccessLogPolicyReader is a mock of AccessLogPolicyReader interface. +type MockAccessLogPolicyReader struct { + ctrl *gomock.Controller + recorder *MockAccessLogPolicyReaderMockRecorder +} + +// MockAccessLogPolicyReaderMockRecorder is the mock recorder for MockAccessLogPolicyReader. +type MockAccessLogPolicyReaderMockRecorder struct { + mock *MockAccessLogPolicyReader +} + +// NewMockAccessLogPolicyReader creates a new mock instance. +func NewMockAccessLogPolicyReader(ctrl *gomock.Controller) *MockAccessLogPolicyReader { + mock := &MockAccessLogPolicyReader{ctrl: ctrl} + mock.recorder = &MockAccessLogPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessLogPolicyReader) EXPECT() *MockAccessLogPolicyReaderMockRecorder { + return m.recorder +} + +// GetAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyReader) GetAccessLogPolicy(ctx context.Context, key client.ObjectKey) (*v2.AccessLogPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAccessLogPolicy", ctx, key) + ret0, _ := ret[0].(*v2.AccessLogPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetAccessLogPolicy indicates an expected call of GetAccessLogPolicy. +func (mr *MockAccessLogPolicyReaderMockRecorder) GetAccessLogPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyReader)(nil).GetAccessLogPolicy), ctx, key) +} + +// ListAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyReader) ListAccessLogPolicy(ctx context.Context, opts ...client.ListOption) (*v2.AccessLogPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListAccessLogPolicy", varargs...) + ret0, _ := ret[0].(*v2.AccessLogPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListAccessLogPolicy indicates an expected call of ListAccessLogPolicy. +func (mr *MockAccessLogPolicyReaderMockRecorder) ListAccessLogPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyReader)(nil).ListAccessLogPolicy), varargs...) +} + +// MockAccessLogPolicyWriter is a mock of AccessLogPolicyWriter interface. +type MockAccessLogPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockAccessLogPolicyWriterMockRecorder +} + +// MockAccessLogPolicyWriterMockRecorder is the mock recorder for MockAccessLogPolicyWriter. +type MockAccessLogPolicyWriterMockRecorder struct { + mock *MockAccessLogPolicyWriter +} + +// NewMockAccessLogPolicyWriter creates a new mock instance. +func NewMockAccessLogPolicyWriter(ctrl *gomock.Controller) *MockAccessLogPolicyWriter { + mock := &MockAccessLogPolicyWriter{ctrl: ctrl} + mock.recorder = &MockAccessLogPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessLogPolicyWriter) EXPECT() *MockAccessLogPolicyWriterMockRecorder { + return m.recorder +} + +// CreateAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyWriter) CreateAccessLogPolicy(ctx context.Context, obj *v2.AccessLogPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateAccessLogPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateAccessLogPolicy indicates an expected call of CreateAccessLogPolicy. +func (mr *MockAccessLogPolicyWriterMockRecorder) CreateAccessLogPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyWriter)(nil).CreateAccessLogPolicy), varargs...) +} + +// DeleteAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyWriter) DeleteAccessLogPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAccessLogPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAccessLogPolicy indicates an expected call of DeleteAccessLogPolicy. +func (mr *MockAccessLogPolicyWriterMockRecorder) DeleteAccessLogPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyWriter)(nil).DeleteAccessLogPolicy), varargs...) +} + +// DeleteAllOfAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyWriter) DeleteAllOfAccessLogPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfAccessLogPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfAccessLogPolicy indicates an expected call of DeleteAllOfAccessLogPolicy. +func (mr *MockAccessLogPolicyWriterMockRecorder) DeleteAllOfAccessLogPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyWriter)(nil).DeleteAllOfAccessLogPolicy), varargs...) +} + +// PatchAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyWriter) PatchAccessLogPolicy(ctx context.Context, obj *v2.AccessLogPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchAccessLogPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchAccessLogPolicy indicates an expected call of PatchAccessLogPolicy. +func (mr *MockAccessLogPolicyWriterMockRecorder) PatchAccessLogPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyWriter)(nil).PatchAccessLogPolicy), varargs...) +} + +// UpdateAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyWriter) UpdateAccessLogPolicy(ctx context.Context, obj *v2.AccessLogPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateAccessLogPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateAccessLogPolicy indicates an expected call of UpdateAccessLogPolicy. +func (mr *MockAccessLogPolicyWriterMockRecorder) UpdateAccessLogPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyWriter)(nil).UpdateAccessLogPolicy), varargs...) +} + +// UpsertAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyWriter) UpsertAccessLogPolicy(ctx context.Context, obj *v2.AccessLogPolicy, transitionFuncs ...v2.AccessLogPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertAccessLogPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertAccessLogPolicy indicates an expected call of UpsertAccessLogPolicy. +func (mr *MockAccessLogPolicyWriterMockRecorder) UpsertAccessLogPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyWriter)(nil).UpsertAccessLogPolicy), varargs...) +} + +// MockAccessLogPolicyStatusWriter is a mock of AccessLogPolicyStatusWriter interface. +type MockAccessLogPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockAccessLogPolicyStatusWriterMockRecorder +} + +// MockAccessLogPolicyStatusWriterMockRecorder is the mock recorder for MockAccessLogPolicyStatusWriter. +type MockAccessLogPolicyStatusWriterMockRecorder struct { + mock *MockAccessLogPolicyStatusWriter +} + +// NewMockAccessLogPolicyStatusWriter creates a new mock instance. +func NewMockAccessLogPolicyStatusWriter(ctrl *gomock.Controller) *MockAccessLogPolicyStatusWriter { + mock := &MockAccessLogPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockAccessLogPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessLogPolicyStatusWriter) EXPECT() *MockAccessLogPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchAccessLogPolicyStatus mocks base method. +func (m *MockAccessLogPolicyStatusWriter) PatchAccessLogPolicyStatus(ctx context.Context, obj *v2.AccessLogPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchAccessLogPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchAccessLogPolicyStatus indicates an expected call of PatchAccessLogPolicyStatus. +func (mr *MockAccessLogPolicyStatusWriterMockRecorder) PatchAccessLogPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchAccessLogPolicyStatus", reflect.TypeOf((*MockAccessLogPolicyStatusWriter)(nil).PatchAccessLogPolicyStatus), varargs...) +} + +// UpdateAccessLogPolicyStatus mocks base method. +func (m *MockAccessLogPolicyStatusWriter) UpdateAccessLogPolicyStatus(ctx context.Context, obj *v2.AccessLogPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateAccessLogPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateAccessLogPolicyStatus indicates an expected call of UpdateAccessLogPolicyStatus. +func (mr *MockAccessLogPolicyStatusWriterMockRecorder) UpdateAccessLogPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccessLogPolicyStatus", reflect.TypeOf((*MockAccessLogPolicyStatusWriter)(nil).UpdateAccessLogPolicyStatus), varargs...) +} + +// MockAccessLogPolicyClient is a mock of AccessLogPolicyClient interface. +type MockAccessLogPolicyClient struct { + ctrl *gomock.Controller + recorder *MockAccessLogPolicyClientMockRecorder +} + +// MockAccessLogPolicyClientMockRecorder is the mock recorder for MockAccessLogPolicyClient. +type MockAccessLogPolicyClientMockRecorder struct { + mock *MockAccessLogPolicyClient +} + +// NewMockAccessLogPolicyClient creates a new mock instance. +func NewMockAccessLogPolicyClient(ctrl *gomock.Controller) *MockAccessLogPolicyClient { + mock := &MockAccessLogPolicyClient{ctrl: ctrl} + mock.recorder = &MockAccessLogPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessLogPolicyClient) EXPECT() *MockAccessLogPolicyClientMockRecorder { + return m.recorder +} + +// CreateAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyClient) CreateAccessLogPolicy(ctx context.Context, obj *v2.AccessLogPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateAccessLogPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateAccessLogPolicy indicates an expected call of CreateAccessLogPolicy. +func (mr *MockAccessLogPolicyClientMockRecorder) CreateAccessLogPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyClient)(nil).CreateAccessLogPolicy), varargs...) +} + +// DeleteAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyClient) DeleteAccessLogPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAccessLogPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAccessLogPolicy indicates an expected call of DeleteAccessLogPolicy. +func (mr *MockAccessLogPolicyClientMockRecorder) DeleteAccessLogPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyClient)(nil).DeleteAccessLogPolicy), varargs...) +} + +// DeleteAllOfAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyClient) DeleteAllOfAccessLogPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfAccessLogPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfAccessLogPolicy indicates an expected call of DeleteAllOfAccessLogPolicy. +func (mr *MockAccessLogPolicyClientMockRecorder) DeleteAllOfAccessLogPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyClient)(nil).DeleteAllOfAccessLogPolicy), varargs...) +} + +// GetAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyClient) GetAccessLogPolicy(ctx context.Context, key client.ObjectKey) (*v2.AccessLogPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAccessLogPolicy", ctx, key) + ret0, _ := ret[0].(*v2.AccessLogPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetAccessLogPolicy indicates an expected call of GetAccessLogPolicy. +func (mr *MockAccessLogPolicyClientMockRecorder) GetAccessLogPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyClient)(nil).GetAccessLogPolicy), ctx, key) +} + +// ListAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyClient) ListAccessLogPolicy(ctx context.Context, opts ...client.ListOption) (*v2.AccessLogPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListAccessLogPolicy", varargs...) + ret0, _ := ret[0].(*v2.AccessLogPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListAccessLogPolicy indicates an expected call of ListAccessLogPolicy. +func (mr *MockAccessLogPolicyClientMockRecorder) ListAccessLogPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyClient)(nil).ListAccessLogPolicy), varargs...) +} + +// PatchAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyClient) PatchAccessLogPolicy(ctx context.Context, obj *v2.AccessLogPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchAccessLogPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchAccessLogPolicy indicates an expected call of PatchAccessLogPolicy. +func (mr *MockAccessLogPolicyClientMockRecorder) PatchAccessLogPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyClient)(nil).PatchAccessLogPolicy), varargs...) +} + +// PatchAccessLogPolicyStatus mocks base method. +func (m *MockAccessLogPolicyClient) PatchAccessLogPolicyStatus(ctx context.Context, obj *v2.AccessLogPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchAccessLogPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchAccessLogPolicyStatus indicates an expected call of PatchAccessLogPolicyStatus. +func (mr *MockAccessLogPolicyClientMockRecorder) PatchAccessLogPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchAccessLogPolicyStatus", reflect.TypeOf((*MockAccessLogPolicyClient)(nil).PatchAccessLogPolicyStatus), varargs...) +} + +// UpdateAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyClient) UpdateAccessLogPolicy(ctx context.Context, obj *v2.AccessLogPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateAccessLogPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateAccessLogPolicy indicates an expected call of UpdateAccessLogPolicy. +func (mr *MockAccessLogPolicyClientMockRecorder) UpdateAccessLogPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyClient)(nil).UpdateAccessLogPolicy), varargs...) +} + +// UpdateAccessLogPolicyStatus mocks base method. +func (m *MockAccessLogPolicyClient) UpdateAccessLogPolicyStatus(ctx context.Context, obj *v2.AccessLogPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateAccessLogPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateAccessLogPolicyStatus indicates an expected call of UpdateAccessLogPolicyStatus. +func (mr *MockAccessLogPolicyClientMockRecorder) UpdateAccessLogPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccessLogPolicyStatus", reflect.TypeOf((*MockAccessLogPolicyClient)(nil).UpdateAccessLogPolicyStatus), varargs...) +} + +// UpsertAccessLogPolicy mocks base method. +func (m *MockAccessLogPolicyClient) UpsertAccessLogPolicy(ctx context.Context, obj *v2.AccessLogPolicy, transitionFuncs ...v2.AccessLogPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertAccessLogPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertAccessLogPolicy indicates an expected call of UpsertAccessLogPolicy. +func (mr *MockAccessLogPolicyClientMockRecorder) UpsertAccessLogPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertAccessLogPolicy", reflect.TypeOf((*MockAccessLogPolicyClient)(nil).UpsertAccessLogPolicy), varargs...) +} + +// MockMulticlusterAccessLogPolicyClient is a mock of MulticlusterAccessLogPolicyClient interface. +type MockMulticlusterAccessLogPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterAccessLogPolicyClientMockRecorder +} + +// MockMulticlusterAccessLogPolicyClientMockRecorder is the mock recorder for MockMulticlusterAccessLogPolicyClient. +type MockMulticlusterAccessLogPolicyClientMockRecorder struct { + mock *MockMulticlusterAccessLogPolicyClient +} + +// NewMockMulticlusterAccessLogPolicyClient creates a new mock instance. +func NewMockMulticlusterAccessLogPolicyClient(ctrl *gomock.Controller) *MockMulticlusterAccessLogPolicyClient { + mock := &MockMulticlusterAccessLogPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterAccessLogPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterAccessLogPolicyClient) EXPECT() *MockMulticlusterAccessLogPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterAccessLogPolicyClient) Cluster(cluster string) (v2.AccessLogPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.AccessLogPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterAccessLogPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterAccessLogPolicyClient)(nil).Cluster), cluster) +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/policy_types.go b/client-go/observability.policy.gloo.solo.io/v2/policy_types.go new file mode 100644 index 000000000..9761a4723 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/policy_types.go @@ -0,0 +1,16 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2 + +import ( + commonv2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// IsPolicy implements Policy interface for AccessLogPolicy +func (o *AccessLogPolicy) IsPolicy() {} + +// GetWorkloadSelectors returns the workload selectors of the AccessLogPolicy policy +func (o *AccessLogPolicy) GetWorkloadSelectors() []*commonv2.WorkloadSelector { + return o.Spec.ApplyToWorkloads +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/proto_deepcopy.go b/client-go/observability.policy.gloo.solo.io/v2/proto_deepcopy.go new file mode 100644 index 000000000..5bfed0c92 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/proto_deepcopy.go @@ -0,0 +1,32 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the AccessLogPolicy.Spec +func (in *AccessLogPolicySpec) DeepCopyInto(out *AccessLogPolicySpec) { + var p *AccessLogPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*AccessLogPolicySpec) + } else { + p = proto.Clone(in).(*AccessLogPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the AccessLogPolicy.Status +func (in *AccessLogPolicyStatus) DeepCopyInto(out *AccessLogPolicyStatus) { + var p *AccessLogPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*AccessLogPolicyStatus) + } else { + p = proto.Clone(in).(*AccessLogPolicyStatus) + } + *out = *p +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/providers/client_providers.go b/client-go/observability.policy.gloo.solo.io/v2/providers/client_providers.go new file mode 100644 index 000000000..ba61facf6 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/providers/client_providers.go @@ -0,0 +1,46 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2 + +import ( + observability_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for AccessLogPolicyClient from Clientset +func AccessLogPolicyClientFromClientsetProvider(clients observability_policy_gloo_solo_io_v2.Clientset) observability_policy_gloo_solo_io_v2.AccessLogPolicyClient { + return clients.AccessLogPolicies() +} + +// Provider for AccessLogPolicy Client from Client +func AccessLogPolicyClientProvider(client client.Client) observability_policy_gloo_solo_io_v2.AccessLogPolicyClient { + return observability_policy_gloo_solo_io_v2.NewAccessLogPolicyClient(client) +} + +type AccessLogPolicyClientFactory func(client client.Client) observability_policy_gloo_solo_io_v2.AccessLogPolicyClient + +func AccessLogPolicyClientFactoryProvider() AccessLogPolicyClientFactory { + return AccessLogPolicyClientProvider +} + +type AccessLogPolicyClientFromConfigFactory func(cfg *rest.Config) (observability_policy_gloo_solo_io_v2.AccessLogPolicyClient, error) + +func AccessLogPolicyClientFromConfigFactoryProvider() AccessLogPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (observability_policy_gloo_solo_io_v2.AccessLogPolicyClient, error) { + clients, err := observability_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.AccessLogPolicies(), nil + } +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/register.go b/client-go/observability.policy.gloo.solo.io/v2/register.go new file mode 100644 index 000000000..694e3ca1d --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "observability.policy.gloo.solo.io", Version: "v2"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/report_types.go b/client-go/observability.policy.gloo.solo.io/v2/report_types.go new file mode 100644 index 000000000..29738ba70 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/report_types.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2 + +// IsReport implements Reportable interface for AccessLogPolicyReport +func (o *AccessLogPolicyReport) IsReport() {} diff --git a/client-go/observability.policy.gloo.solo.io/v2/sets/mocks/sets.go b/client-go/observability.policy.gloo.solo.io/v2/sets/mocks/sets.go new file mode 100644 index 000000000..f955775e8 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/sets/mocks/sets.go @@ -0,0 +1,273 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2sets is a generated GoMock package. +package mock_v2sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2 "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2" + v2sets "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2/sets" +) + +// MockAccessLogPolicySet is a mock of AccessLogPolicySet interface. +type MockAccessLogPolicySet struct { + ctrl *gomock.Controller + recorder *MockAccessLogPolicySetMockRecorder +} + +// MockAccessLogPolicySetMockRecorder is the mock recorder for MockAccessLogPolicySet. +type MockAccessLogPolicySetMockRecorder struct { + mock *MockAccessLogPolicySet +} + +// NewMockAccessLogPolicySet creates a new mock instance. +func NewMockAccessLogPolicySet(ctrl *gomock.Controller) *MockAccessLogPolicySet { + mock := &MockAccessLogPolicySet{ctrl: ctrl} + mock.recorder = &MockAccessLogPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessLogPolicySet) EXPECT() *MockAccessLogPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockAccessLogPolicySet) Clone() v2sets.AccessLogPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.AccessLogPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockAccessLogPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockAccessLogPolicySet) Delete(accessLogPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", accessLogPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockAccessLogPolicySetMockRecorder) Delete(accessLogPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Delete), accessLogPolicy) +} + +// Delta mocks base method. +func (m *MockAccessLogPolicySet) Delta(newSet v2sets.AccessLogPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockAccessLogPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockAccessLogPolicySet) Difference(set v2sets.AccessLogPolicySet) v2sets.AccessLogPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.AccessLogPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockAccessLogPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockAccessLogPolicySet) Equal(accessLogPolicySet v2sets.AccessLogPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", accessLogPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockAccessLogPolicySetMockRecorder) Equal(accessLogPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Equal), accessLogPolicySet) +} + +// Find mocks base method. +func (m *MockAccessLogPolicySet) Find(id ezkube.ResourceId) (*v2.AccessLogPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.AccessLogPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockAccessLogPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockAccessLogPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockAccessLogPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockAccessLogPolicySet) Has(accessLogPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", accessLogPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockAccessLogPolicySetMockRecorder) Has(accessLogPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Has), accessLogPolicy) +} + +// Insert mocks base method. +func (m *MockAccessLogPolicySet) Insert(accessLogPolicy ...*v2.AccessLogPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range accessLogPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockAccessLogPolicySetMockRecorder) Insert(accessLogPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Insert), accessLogPolicy...) +} + +// Intersection mocks base method. +func (m *MockAccessLogPolicySet) Intersection(set v2sets.AccessLogPolicySet) v2sets.AccessLogPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.AccessLogPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockAccessLogPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockAccessLogPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockAccessLogPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockAccessLogPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockAccessLogPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockAccessLogPolicySet) List(filterResource ...func(*v2.AccessLogPolicy) bool) []*v2.AccessLogPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.AccessLogPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockAccessLogPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockAccessLogPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockAccessLogPolicySet) Map() map[string]*v2.AccessLogPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.AccessLogPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockAccessLogPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockAccessLogPolicySet) Union(set v2sets.AccessLogPolicySet) v2sets.AccessLogPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.AccessLogPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockAccessLogPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockAccessLogPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockAccessLogPolicySet) UnsortedList(filterResource ...func(*v2.AccessLogPolicy) bool) []*v2.AccessLogPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.AccessLogPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockAccessLogPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockAccessLogPolicySet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/sets/sets.go b/client-go/observability.policy.gloo.solo.io/v2/sets/sets.go new file mode 100644 index 000000000..2c36c679f --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/sets/sets.go @@ -0,0 +1,237 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2sets + +import ( + observability_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/observability.policy.gloo.solo.io/v2" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type AccessLogPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) bool) []*observability_policy_gloo_solo_io_v2.AccessLogPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) bool) []*observability_policy_gloo_solo_io_v2.AccessLogPolicy + // Return the Set as a map of key to resource. + Map() map[string]*observability_policy_gloo_solo_io_v2.AccessLogPolicy + // Insert a resource into the set. + Insert(accessLogPolicy ...*observability_policy_gloo_solo_io_v2.AccessLogPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(accessLogPolicySet AccessLogPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(accessLogPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(accessLogPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set AccessLogPolicySet) AccessLogPolicySet + // Return the difference with the provided set + Difference(set AccessLogPolicySet) AccessLogPolicySet + // Return the intersection with the provided set + Intersection(set AccessLogPolicySet) AccessLogPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*observability_policy_gloo_solo_io_v2.AccessLogPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another AccessLogPolicySet + Delta(newSet AccessLogPolicySet) sksets.ResourceDelta + // Create a deep copy of the current AccessLogPolicySet + Clone() AccessLogPolicySet +} + +func makeGenericAccessLogPolicySet(accessLogPolicyList []*observability_policy_gloo_solo_io_v2.AccessLogPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range accessLogPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type accessLogPolicySet struct { + set sksets.ResourceSet +} + +func NewAccessLogPolicySet(accessLogPolicyList ...*observability_policy_gloo_solo_io_v2.AccessLogPolicy) AccessLogPolicySet { + return &accessLogPolicySet{set: makeGenericAccessLogPolicySet(accessLogPolicyList)} +} + +func NewAccessLogPolicySetFromList(accessLogPolicyList *observability_policy_gloo_solo_io_v2.AccessLogPolicyList) AccessLogPolicySet { + list := make([]*observability_policy_gloo_solo_io_v2.AccessLogPolicy, 0, len(accessLogPolicyList.Items)) + for idx := range accessLogPolicyList.Items { + list = append(list, &accessLogPolicyList.Items[idx]) + } + return &accessLogPolicySet{set: makeGenericAccessLogPolicySet(list)} +} + +func (s *accessLogPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *accessLogPolicySet) List(filterResource ...func(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) bool) []*observability_policy_gloo_solo_io_v2.AccessLogPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + accessLogPolicyList := make([]*observability_policy_gloo_solo_io_v2.AccessLogPolicy, 0, len(objs)) + for _, obj := range objs { + accessLogPolicyList = append(accessLogPolicyList, obj.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy)) + } + return accessLogPolicyList +} + +func (s *accessLogPolicySet) UnsortedList(filterResource ...func(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) bool) []*observability_policy_gloo_solo_io_v2.AccessLogPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy)) + }) + } + + var accessLogPolicyList []*observability_policy_gloo_solo_io_v2.AccessLogPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + accessLogPolicyList = append(accessLogPolicyList, obj.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy)) + } + return accessLogPolicyList +} + +func (s *accessLogPolicySet) Map() map[string]*observability_policy_gloo_solo_io_v2.AccessLogPolicy { + if s == nil { + return nil + } + + newMap := map[string]*observability_policy_gloo_solo_io_v2.AccessLogPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy) + } + return newMap +} + +func (s *accessLogPolicySet) Insert( + accessLogPolicyList ...*observability_policy_gloo_solo_io_v2.AccessLogPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range accessLogPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *accessLogPolicySet) Has(accessLogPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(accessLogPolicy) +} + +func (s *accessLogPolicySet) Equal( + accessLogPolicySet AccessLogPolicySet, +) bool { + if s == nil { + return accessLogPolicySet == nil + } + return s.Generic().Equal(accessLogPolicySet.Generic()) +} + +func (s *accessLogPolicySet) Delete(AccessLogPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(AccessLogPolicy) +} + +func (s *accessLogPolicySet) Union(set AccessLogPolicySet) AccessLogPolicySet { + if s == nil { + return set + } + return NewAccessLogPolicySet(append(s.List(), set.List()...)...) +} + +func (s *accessLogPolicySet) Difference(set AccessLogPolicySet) AccessLogPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &accessLogPolicySet{set: newSet} +} + +func (s *accessLogPolicySet) Intersection(set AccessLogPolicySet) AccessLogPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var accessLogPolicyList []*observability_policy_gloo_solo_io_v2.AccessLogPolicy + for _, obj := range newSet.List() { + accessLogPolicyList = append(accessLogPolicyList, obj.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy)) + } + return NewAccessLogPolicySet(accessLogPolicyList...) +} + +func (s *accessLogPolicySet) Find(id ezkube.ResourceId) (*observability_policy_gloo_solo_io_v2.AccessLogPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find AccessLogPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&observability_policy_gloo_solo_io_v2.AccessLogPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*observability_policy_gloo_solo_io_v2.AccessLogPolicy), nil +} + +func (s *accessLogPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *accessLogPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *accessLogPolicySet) Delta(newSet AccessLogPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *accessLogPolicySet) Clone() AccessLogPolicySet { + if s == nil { + return nil + } + return &accessLogPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/type_helpers.go b/client-go/observability.policy.gloo.solo.io/v2/type_helpers.go new file mode 100644 index 000000000..33884c480 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/type_helpers.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +// AccessLogPolicySlice represents a slice of *AccessLogPolicy +type AccessLogPolicySlice []*AccessLogPolicy diff --git a/client-go/observability.policy.gloo.solo.io/v2/types.go b/client-go/observability.policy.gloo.solo.io/v2/types.go new file mode 100644 index 000000000..9bb32bb4d --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/types.go @@ -0,0 +1,48 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for AccessLogPolicy +var AccessLogPolicyGVK = schema.GroupVersionKind{ + Group: "observability.policy.gloo.solo.io", + Version: "v2", + Kind: "AccessLogPolicy", +} + +// AccessLogPolicy is the Schema for the accessLogPolicy API +type AccessLogPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec AccessLogPolicySpec `json:"spec,omitempty"` + Status AccessLogPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (AccessLogPolicy) GVK() schema.GroupVersionKind { + return AccessLogPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// AccessLogPolicyList contains a list of AccessLogPolicy +type AccessLogPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AccessLogPolicy `json:"items"` +} + +func init() { + SchemeBuilder.Register(&AccessLogPolicy{}, &AccessLogPolicyList{}) +} diff --git a/client-go/observability.policy.gloo.solo.io/v2/zz_generated.deepcopy.go b/client-go/observability.policy.gloo.solo.io/v2/zz_generated.deepcopy.go new file mode 100644 index 000000000..71ae58a08 --- /dev/null +++ b/client-go/observability.policy.gloo.solo.io/v2/zz_generated.deepcopy.go @@ -0,0 +1,69 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for observability.policy.gloo.solo.io/v2 resources + +package v2 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for AccessLogPolicy + +func (in *AccessLogPolicy) DeepCopyInto(out *AccessLogPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *AccessLogPolicy) DeepCopy() *AccessLogPolicy { + if in == nil { + return nil + } + out := new(AccessLogPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *AccessLogPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *AccessLogPolicyList) DeepCopyInto(out *AccessLogPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AccessLogPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *AccessLogPolicyList) DeepCopy() *AccessLogPolicyList { + if in == nil { + return nil + } + out := new(AccessLogPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *AccessLogPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/ratelimit.solo.io/v1alpha1/clients.go b/client-go/ratelimit.solo.io/v1alpha1/clients.go new file mode 100644 index 000000000..c37fd8695 --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/clients.go @@ -0,0 +1,213 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v1alpha1 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the ratelimit.solo.io/v1alpha1 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the ratelimit.solo.io/v1alpha1 APIs +type Clientset interface { + // clienset for the ratelimit.solo.io/v1alpha1/v1alpha1 APIs + RateLimitConfigs() RateLimitConfigClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the ratelimit.solo.io/v1alpha1/v1alpha1 APIs +func (c *clientSet) RateLimitConfigs() RateLimitConfigClient { + return NewRateLimitConfigClient(c.client) +} + +// Reader knows how to read and list RateLimitConfigs. +type RateLimitConfigReader interface { + // Get retrieves a RateLimitConfig for the given object key + GetRateLimitConfig(ctx context.Context, key client.ObjectKey) (*RateLimitConfig, error) + + // List retrieves list of RateLimitConfigs for a given namespace and list options. + ListRateLimitConfig(ctx context.Context, opts ...client.ListOption) (*RateLimitConfigList, error) +} + +// RateLimitConfigTransitionFunction instructs the RateLimitConfigWriter how to transition between an existing +// RateLimitConfig object and a desired on an Upsert +type RateLimitConfigTransitionFunction func(existing, desired *RateLimitConfig) error + +// Writer knows how to create, delete, and update RateLimitConfigs. +type RateLimitConfigWriter interface { + // Create saves the RateLimitConfig object. + CreateRateLimitConfig(ctx context.Context, obj *RateLimitConfig, opts ...client.CreateOption) error + + // Delete deletes the RateLimitConfig object. + DeleteRateLimitConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given RateLimitConfig object. + UpdateRateLimitConfig(ctx context.Context, obj *RateLimitConfig, opts ...client.UpdateOption) error + + // Patch patches the given RateLimitConfig object. + PatchRateLimitConfig(ctx context.Context, obj *RateLimitConfig, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all RateLimitConfig objects matching the given options. + DeleteAllOfRateLimitConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the RateLimitConfig object. + UpsertRateLimitConfig(ctx context.Context, obj *RateLimitConfig, transitionFuncs ...RateLimitConfigTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a RateLimitConfig object. +type RateLimitConfigStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given RateLimitConfig object. + UpdateRateLimitConfigStatus(ctx context.Context, obj *RateLimitConfig, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given RateLimitConfig object's subresource. + PatchRateLimitConfigStatus(ctx context.Context, obj *RateLimitConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on RateLimitConfigs. +type RateLimitConfigClient interface { + RateLimitConfigReader + RateLimitConfigWriter + RateLimitConfigStatusWriter +} + +type rateLimitConfigClient struct { + client client.Client +} + +func NewRateLimitConfigClient(client client.Client) *rateLimitConfigClient { + return &rateLimitConfigClient{client: client} +} + +func (c *rateLimitConfigClient) GetRateLimitConfig(ctx context.Context, key client.ObjectKey) (*RateLimitConfig, error) { + obj := &RateLimitConfig{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *rateLimitConfigClient) ListRateLimitConfig(ctx context.Context, opts ...client.ListOption) (*RateLimitConfigList, error) { + list := &RateLimitConfigList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *rateLimitConfigClient) CreateRateLimitConfig(ctx context.Context, obj *RateLimitConfig, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *rateLimitConfigClient) DeleteRateLimitConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &RateLimitConfig{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *rateLimitConfigClient) UpdateRateLimitConfig(ctx context.Context, obj *RateLimitConfig, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *rateLimitConfigClient) PatchRateLimitConfig(ctx context.Context, obj *RateLimitConfig, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *rateLimitConfigClient) DeleteAllOfRateLimitConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &RateLimitConfig{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *rateLimitConfigClient) UpsertRateLimitConfig(ctx context.Context, obj *RateLimitConfig, transitionFuncs ...RateLimitConfigTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*RateLimitConfig), desired.(*RateLimitConfig)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *rateLimitConfigClient) UpdateRateLimitConfigStatus(ctx context.Context, obj *RateLimitConfig, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *rateLimitConfigClient) PatchRateLimitConfigStatus(ctx context.Context, obj *RateLimitConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides RateLimitConfigClients for multiple clusters. +type MulticlusterRateLimitConfigClient interface { + // Cluster returns a RateLimitConfigClient for the given cluster + Cluster(cluster string) (RateLimitConfigClient, error) +} + +type multiclusterRateLimitConfigClient struct { + client multicluster.Client +} + +func NewMulticlusterRateLimitConfigClient(client multicluster.Client) MulticlusterRateLimitConfigClient { + return &multiclusterRateLimitConfigClient{client: client} +} + +func (m *multiclusterRateLimitConfigClient) Cluster(cluster string) (RateLimitConfigClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewRateLimitConfigClient(client), nil +} diff --git a/client-go/ratelimit.solo.io/v1alpha1/controller/event_handlers.go b/client-go/ratelimit.solo.io/v1alpha1/controller/event_handlers.go new file mode 100644 index 000000000..742ec8972 --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/controller/event_handlers.go @@ -0,0 +1,125 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + ratelimit_solo_io_v1alpha1 "github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the RateLimitConfig Resource +// DEPRECATED: Prefer reconciler pattern. +type RateLimitConfigEventHandler interface { + CreateRateLimitConfig(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) error + UpdateRateLimitConfig(old, new *ratelimit_solo_io_v1alpha1.RateLimitConfig) error + DeleteRateLimitConfig(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) error + GenericRateLimitConfig(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) error +} + +type RateLimitConfigEventHandlerFuncs struct { + OnCreate func(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) error + OnUpdate func(old, new *ratelimit_solo_io_v1alpha1.RateLimitConfig) error + OnDelete func(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) error + OnGeneric func(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) error +} + +func (f *RateLimitConfigEventHandlerFuncs) CreateRateLimitConfig(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *RateLimitConfigEventHandlerFuncs) DeleteRateLimitConfig(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *RateLimitConfigEventHandlerFuncs) UpdateRateLimitConfig(objOld, objNew *ratelimit_solo_io_v1alpha1.RateLimitConfig) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *RateLimitConfigEventHandlerFuncs) GenericRateLimitConfig(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type RateLimitConfigEventWatcher interface { + AddEventHandler(ctx context.Context, h RateLimitConfigEventHandler, predicates ...predicate.Predicate) error +} + +type rateLimitConfigEventWatcher struct { + watcher events.EventWatcher +} + +func NewRateLimitConfigEventWatcher(name string, mgr manager.Manager) RateLimitConfigEventWatcher { + return &rateLimitConfigEventWatcher{ + watcher: events.NewWatcher(name, mgr, &ratelimit_solo_io_v1alpha1.RateLimitConfig{}), + } +} + +func (c *rateLimitConfigEventWatcher) AddEventHandler(ctx context.Context, h RateLimitConfigEventHandler, predicates ...predicate.Predicate) error { + handler := genericRateLimitConfigHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericRateLimitConfigHandler implements a generic events.EventHandler +type genericRateLimitConfigHandler struct { + handler RateLimitConfigEventHandler +} + +func (h genericRateLimitConfigHandler) Create(object client.Object) error { + obj, ok := object.(*ratelimit_solo_io_v1alpha1.RateLimitConfig) + if !ok { + return errors.Errorf("internal error: RateLimitConfig handler received event for %T", object) + } + return h.handler.CreateRateLimitConfig(obj) +} + +func (h genericRateLimitConfigHandler) Delete(object client.Object) error { + obj, ok := object.(*ratelimit_solo_io_v1alpha1.RateLimitConfig) + if !ok { + return errors.Errorf("internal error: RateLimitConfig handler received event for %T", object) + } + return h.handler.DeleteRateLimitConfig(obj) +} + +func (h genericRateLimitConfigHandler) Update(old, new client.Object) error { + objOld, ok := old.(*ratelimit_solo_io_v1alpha1.RateLimitConfig) + if !ok { + return errors.Errorf("internal error: RateLimitConfig handler received event for %T", old) + } + objNew, ok := new.(*ratelimit_solo_io_v1alpha1.RateLimitConfig) + if !ok { + return errors.Errorf("internal error: RateLimitConfig handler received event for %T", new) + } + return h.handler.UpdateRateLimitConfig(objOld, objNew) +} + +func (h genericRateLimitConfigHandler) Generic(object client.Object) error { + obj, ok := object.(*ratelimit_solo_io_v1alpha1.RateLimitConfig) + if !ok { + return errors.Errorf("internal error: RateLimitConfig handler received event for %T", object) + } + return h.handler.GenericRateLimitConfig(obj) +} diff --git a/client-go/ratelimit.solo.io/v1alpha1/controller/multicluster_reconcilers.go b/client-go/ratelimit.solo.io/v1alpha1/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..dd8836b43 --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/controller/multicluster_reconcilers.go @@ -0,0 +1,90 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + ratelimit_solo_io_v1alpha1 "github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the RateLimitConfig Resource across clusters. +// implemented by the user +type MulticlusterRateLimitConfigReconciler interface { + ReconcileRateLimitConfig(clusterName string, obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the RateLimitConfig Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterRateLimitConfigDeletionReconciler interface { + ReconcileRateLimitConfigDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterRateLimitConfigReconcilerFuncs struct { + OnReconcileRateLimitConfig func(clusterName string, obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) (reconcile.Result, error) + OnReconcileRateLimitConfigDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterRateLimitConfigReconcilerFuncs) ReconcileRateLimitConfig(clusterName string, obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) (reconcile.Result, error) { + if f.OnReconcileRateLimitConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRateLimitConfig(clusterName, obj) +} + +func (f *MulticlusterRateLimitConfigReconcilerFuncs) ReconcileRateLimitConfigDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileRateLimitConfigDeletion == nil { + return nil + } + return f.OnReconcileRateLimitConfigDeletion(clusterName, req) +} + +type MulticlusterRateLimitConfigReconcileLoop interface { + // AddMulticlusterRateLimitConfigReconciler adds a MulticlusterRateLimitConfigReconciler to the MulticlusterRateLimitConfigReconcileLoop. + AddMulticlusterRateLimitConfigReconciler(ctx context.Context, rec MulticlusterRateLimitConfigReconciler, predicates ...predicate.Predicate) +} + +type multiclusterRateLimitConfigReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterRateLimitConfigReconcileLoop) AddMulticlusterRateLimitConfigReconciler(ctx context.Context, rec MulticlusterRateLimitConfigReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericRateLimitConfigMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterRateLimitConfigReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterRateLimitConfigReconcileLoop { + return &multiclusterRateLimitConfigReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &ratelimit_solo_io_v1alpha1.RateLimitConfig{}, options)} +} + +type genericRateLimitConfigMulticlusterReconciler struct { + reconciler MulticlusterRateLimitConfigReconciler +} + +func (g genericRateLimitConfigMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterRateLimitConfigDeletionReconciler); ok { + return deletionReconciler.ReconcileRateLimitConfigDeletion(cluster, req) + } + return nil +} + +func (g genericRateLimitConfigMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*ratelimit_solo_io_v1alpha1.RateLimitConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RateLimitConfig handler received event for %T", object) + } + return g.reconciler.ReconcileRateLimitConfig(cluster, obj) +} diff --git a/client-go/ratelimit.solo.io/v1alpha1/controller/reconcilers.go b/client-go/ratelimit.solo.io/v1alpha1/controller/reconcilers.go new file mode 100644 index 000000000..8fd38bbb8 --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/controller/reconcilers.go @@ -0,0 +1,135 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + ratelimit_solo_io_v1alpha1 "github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the RateLimitConfig Resource. +// implemented by the user +type RateLimitConfigReconciler interface { + ReconcileRateLimitConfig(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the RateLimitConfig Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type RateLimitConfigDeletionReconciler interface { + ReconcileRateLimitConfigDeletion(req reconcile.Request) error +} + +type RateLimitConfigReconcilerFuncs struct { + OnReconcileRateLimitConfig func(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) (reconcile.Result, error) + OnReconcileRateLimitConfigDeletion func(req reconcile.Request) error +} + +func (f *RateLimitConfigReconcilerFuncs) ReconcileRateLimitConfig(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) (reconcile.Result, error) { + if f.OnReconcileRateLimitConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRateLimitConfig(obj) +} + +func (f *RateLimitConfigReconcilerFuncs) ReconcileRateLimitConfigDeletion(req reconcile.Request) error { + if f.OnReconcileRateLimitConfigDeletion == nil { + return nil + } + return f.OnReconcileRateLimitConfigDeletion(req) +} + +// Reconcile and finalize the RateLimitConfig Resource +// implemented by the user +type RateLimitConfigFinalizer interface { + RateLimitConfigReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + RateLimitConfigFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeRateLimitConfig(obj *ratelimit_solo_io_v1alpha1.RateLimitConfig) error +} + +type RateLimitConfigReconcileLoop interface { + RunRateLimitConfigReconciler(ctx context.Context, rec RateLimitConfigReconciler, predicates ...predicate.Predicate) error +} + +type rateLimitConfigReconcileLoop struct { + loop reconcile.Loop +} + +func NewRateLimitConfigReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) RateLimitConfigReconcileLoop { + return &rateLimitConfigReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &ratelimit_solo_io_v1alpha1.RateLimitConfig{}, options), + } +} + +func (c *rateLimitConfigReconcileLoop) RunRateLimitConfigReconciler(ctx context.Context, reconciler RateLimitConfigReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericRateLimitConfigReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(RateLimitConfigFinalizer); ok { + reconcilerWrapper = genericRateLimitConfigFinalizer{ + genericRateLimitConfigReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericRateLimitConfigHandler implements a generic reconcile.Reconciler +type genericRateLimitConfigReconciler struct { + reconciler RateLimitConfigReconciler +} + +func (r genericRateLimitConfigReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*ratelimit_solo_io_v1alpha1.RateLimitConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RateLimitConfig handler received event for %T", object) + } + return r.reconciler.ReconcileRateLimitConfig(obj) +} + +func (r genericRateLimitConfigReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(RateLimitConfigDeletionReconciler); ok { + return deletionReconciler.ReconcileRateLimitConfigDeletion(request) + } + return nil +} + +// genericRateLimitConfigFinalizer implements a generic reconcile.FinalizingReconciler +type genericRateLimitConfigFinalizer struct { + genericRateLimitConfigReconciler + finalizingReconciler RateLimitConfigFinalizer +} + +func (r genericRateLimitConfigFinalizer) FinalizerName() string { + return r.finalizingReconciler.RateLimitConfigFinalizerName() +} + +func (r genericRateLimitConfigFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*ratelimit_solo_io_v1alpha1.RateLimitConfig) + if !ok { + return errors.Errorf("internal error: RateLimitConfig handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeRateLimitConfig(obj) +} diff --git a/client-go/ratelimit.solo.io/v1alpha1/doc.go b/client-go/ratelimit.solo.io/v1alpha1/doc.go new file mode 100644 index 000000000..66fce7ac4 --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v1alpha1 contains API Schema definitions for the ratelimit.solo.io v1alpha1 API group +// +k8s:deepcopy-gen=package,register +// +groupName=ratelimit.solo.io +package v1alpha1 diff --git a/client-go/ratelimit.solo.io/v1alpha1/json.gen.go b/client-go/ratelimit.solo.io/v1alpha1/json.gen.go new file mode 100644 index 000000000..d10fa7192 --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/json.gen.go @@ -0,0 +1,50 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v1alpha1 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for RateLimitConfigSpec +func (this *RateLimitConfigSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RateLimitConfigSpec +func (this *RateLimitConfigSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RateLimitConfigStatus +func (this *RateLimitConfigStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RateLimitConfigStatus +func (this *RateLimitConfigStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/ratelimit.solo.io/v1alpha1/proto_deepcopy.go b/client-go/ratelimit.solo.io/v1alpha1/proto_deepcopy.go new file mode 100644 index 000000000..ae9c59329 --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/proto_deepcopy.go @@ -0,0 +1,32 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v1alpha1 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the RateLimitConfig.Spec +func (in *RateLimitConfigSpec) DeepCopyInto(out *RateLimitConfigSpec) { + var p *RateLimitConfigSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RateLimitConfigSpec) + } else { + p = proto.Clone(in).(*RateLimitConfigSpec) + } + *out = *p +} + +// DeepCopyInto for the RateLimitConfig.Status +func (in *RateLimitConfigStatus) DeepCopyInto(out *RateLimitConfigStatus) { + var p *RateLimitConfigStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RateLimitConfigStatus) + } else { + p = proto.Clone(in).(*RateLimitConfigStatus) + } + *out = *p +} diff --git a/client-go/ratelimit.solo.io/v1alpha1/ratelimit.pb.equal.go b/client-go/ratelimit.solo.io/v1alpha1/ratelimit.pb.equal.go new file mode 100644 index 000000000..df821b106 --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/ratelimit.pb.equal.go @@ -0,0 +1,1153 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/rate-limiter/v1alpha1/ratelimit.proto + +package v1alpha1 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *RateLimitConfigSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitConfigSpec) + if !ok { + that2, ok := that.(RateLimitConfigSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.ConfigType.(type) { + + case *RateLimitConfigSpec_Raw_: + if _, ok := target.ConfigType.(*RateLimitConfigSpec_Raw_); !ok { + return false + } + + if h, ok := interface{}(m.GetRaw()).(equality.Equalizer); ok { + if !h.Equal(target.GetRaw()) { + return false + } + } else { + if !proto.Equal(m.GetRaw(), target.GetRaw()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ConfigType != target.ConfigType { + return false + } + } + + return true +} + +// Equal function +func (m *RateLimitConfigStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitConfigStatus) + if !ok { + that2, ok := that.(RateLimitConfigStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + if strings.Compare(m.GetMessage(), target.GetMessage()) != 0 { + return false + } + + if m.GetObservedGeneration() != target.GetObservedGeneration() { + return false + } + + return true +} + +// Equal function +func (m *RateLimitConfigNamespacedStatuses) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitConfigNamespacedStatuses) + if !ok { + that2, ok := that.(RateLimitConfigNamespacedStatuses) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetStatuses()) != len(target.GetStatuses()) { + return false + } + for k, v := range m.GetStatuses() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetStatuses()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetStatuses()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *Descriptor) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Descriptor) + if !ok { + that2, ok := that.(Descriptor) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + if h, ok := interface{}(m.GetRateLimit()).(equality.Equalizer); ok { + if !h.Equal(target.GetRateLimit()) { + return false + } + } else { + if !proto.Equal(m.GetRateLimit(), target.GetRateLimit()) { + return false + } + } + + if len(m.GetDescriptors()) != len(target.GetDescriptors()) { + return false + } + for idx, v := range m.GetDescriptors() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetDescriptors()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetDescriptors()[idx]) { + return false + } + } + + } + + if m.GetWeight() != target.GetWeight() { + return false + } + + if m.GetAlwaysApply() != target.GetAlwaysApply() { + return false + } + + return true +} + +// Equal function +func (m *SetDescriptor) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SetDescriptor) + if !ok { + that2, ok := that.(SetDescriptor) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetSimpleDescriptors()) != len(target.GetSimpleDescriptors()) { + return false + } + for idx, v := range m.GetSimpleDescriptors() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSimpleDescriptors()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSimpleDescriptors()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetRateLimit()).(equality.Equalizer); ok { + if !h.Equal(target.GetRateLimit()) { + return false + } + } else { + if !proto.Equal(m.GetRateLimit(), target.GetRateLimit()) { + return false + } + } + + if m.GetAlwaysApply() != target.GetAlwaysApply() { + return false + } + + return true +} + +// Equal function +func (m *SimpleDescriptor) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*SimpleDescriptor) + if !ok { + that2, ok := that.(SimpleDescriptor) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + if strings.Compare(m.GetValue(), target.GetValue()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *RateLimitActions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitActions) + if !ok { + that2, ok := that.(RateLimitActions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetActions()) != len(target.GetActions()) { + return false + } + for idx, v := range m.GetActions() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetActions()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetActions()[idx]) { + return false + } + } + + } + + if len(m.GetSetActions()) != len(target.GetSetActions()) { + return false + } + for idx, v := range m.GetSetActions() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSetActions()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSetActions()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetLimit()).(equality.Equalizer); ok { + if !h.Equal(target.GetLimit()) { + return false + } + } else { + if !proto.Equal(m.GetLimit(), target.GetLimit()) { + return false + } + } + + return true +} + +// Equal function +func (m *RateLimit) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimit) + if !ok { + that2, ok := that.(RateLimit) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetUnit() != target.GetUnit() { + return false + } + + if m.GetRequestsPerUnit() != target.GetRequestsPerUnit() { + return false + } + + return true +} + +// Equal function +func (m *Action) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Action) + if !ok { + that2, ok := that.(Action) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.ActionSpecifier.(type) { + + case *Action_SourceCluster_: + if _, ok := target.ActionSpecifier.(*Action_SourceCluster_); !ok { + return false + } + + if h, ok := interface{}(m.GetSourceCluster()).(equality.Equalizer); ok { + if !h.Equal(target.GetSourceCluster()) { + return false + } + } else { + if !proto.Equal(m.GetSourceCluster(), target.GetSourceCluster()) { + return false + } + } + + case *Action_DestinationCluster_: + if _, ok := target.ActionSpecifier.(*Action_DestinationCluster_); !ok { + return false + } + + if h, ok := interface{}(m.GetDestinationCluster()).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinationCluster()) { + return false + } + } else { + if !proto.Equal(m.GetDestinationCluster(), target.GetDestinationCluster()) { + return false + } + } + + case *Action_RequestHeaders_: + if _, ok := target.ActionSpecifier.(*Action_RequestHeaders_); !ok { + return false + } + + if h, ok := interface{}(m.GetRequestHeaders()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequestHeaders()) { + return false + } + } else { + if !proto.Equal(m.GetRequestHeaders(), target.GetRequestHeaders()) { + return false + } + } + + case *Action_RemoteAddress_: + if _, ok := target.ActionSpecifier.(*Action_RemoteAddress_); !ok { + return false + } + + if h, ok := interface{}(m.GetRemoteAddress()).(equality.Equalizer); ok { + if !h.Equal(target.GetRemoteAddress()) { + return false + } + } else { + if !proto.Equal(m.GetRemoteAddress(), target.GetRemoteAddress()) { + return false + } + } + + case *Action_GenericKey_: + if _, ok := target.ActionSpecifier.(*Action_GenericKey_); !ok { + return false + } + + if h, ok := interface{}(m.GetGenericKey()).(equality.Equalizer); ok { + if !h.Equal(target.GetGenericKey()) { + return false + } + } else { + if !proto.Equal(m.GetGenericKey(), target.GetGenericKey()) { + return false + } + } + + case *Action_HeaderValueMatch_: + if _, ok := target.ActionSpecifier.(*Action_HeaderValueMatch_); !ok { + return false + } + + if h, ok := interface{}(m.GetHeaderValueMatch()).(equality.Equalizer); ok { + if !h.Equal(target.GetHeaderValueMatch()) { + return false + } + } else { + if !proto.Equal(m.GetHeaderValueMatch(), target.GetHeaderValueMatch()) { + return false + } + } + + case *Action_Metadata: + if _, ok := target.ActionSpecifier.(*Action_Metadata); !ok { + return false + } + + if h, ok := interface{}(m.GetMetadata()).(equality.Equalizer); ok { + if !h.Equal(target.GetMetadata()) { + return false + } + } else { + if !proto.Equal(m.GetMetadata(), target.GetMetadata()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ActionSpecifier != target.ActionSpecifier { + return false + } + } + + return true +} + +// Equal function +func (m *MetaData) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MetaData) + if !ok { + that2, ok := that.(MetaData) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetDescriptorKey(), target.GetDescriptorKey()) != 0 { + return false + } + + if h, ok := interface{}(m.GetMetadataKey()).(equality.Equalizer); ok { + if !h.Equal(target.GetMetadataKey()) { + return false + } + } else { + if !proto.Equal(m.GetMetadataKey(), target.GetMetadataKey()) { + return false + } + } + + if strings.Compare(m.GetDefaultValue(), target.GetDefaultValue()) != 0 { + return false + } + + if m.GetSource() != target.GetSource() { + return false + } + + return true +} + +// Equal function +func (m *Override) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Override) + if !ok { + that2, ok := that.(Override) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.OverrideSpecifier.(type) { + + case *Override_DynamicMetadata_: + if _, ok := target.OverrideSpecifier.(*Override_DynamicMetadata_); !ok { + return false + } + + if h, ok := interface{}(m.GetDynamicMetadata()).(equality.Equalizer); ok { + if !h.Equal(target.GetDynamicMetadata()) { + return false + } + } else { + if !proto.Equal(m.GetDynamicMetadata(), target.GetDynamicMetadata()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.OverrideSpecifier != target.OverrideSpecifier { + return false + } + } + + return true +} + +// Equal function +func (m *RateLimitConfigSpec_Raw) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitConfigSpec_Raw) + if !ok { + that2, ok := that.(RateLimitConfigSpec_Raw) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetDescriptors()) != len(target.GetDescriptors()) { + return false + } + for idx, v := range m.GetDescriptors() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetDescriptors()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetDescriptors()[idx]) { + return false + } + } + + } + + if len(m.GetRateLimits()) != len(target.GetRateLimits()) { + return false + } + for idx, v := range m.GetRateLimits() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetRateLimits()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetRateLimits()[idx]) { + return false + } + } + + } + + if len(m.GetSetDescriptors()) != len(target.GetSetDescriptors()) { + return false + } + for idx, v := range m.GetSetDescriptors() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSetDescriptors()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSetDescriptors()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *Action_SourceCluster) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Action_SourceCluster) + if !ok { + that2, ok := that.(Action_SourceCluster) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *Action_DestinationCluster) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Action_DestinationCluster) + if !ok { + that2, ok := that.(Action_DestinationCluster) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *Action_RequestHeaders) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Action_RequestHeaders) + if !ok { + that2, ok := that.(Action_RequestHeaders) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetHeaderName(), target.GetHeaderName()) != 0 { + return false + } + + if strings.Compare(m.GetDescriptorKey(), target.GetDescriptorKey()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *Action_RemoteAddress) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Action_RemoteAddress) + if !ok { + that2, ok := that.(Action_RemoteAddress) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *Action_GenericKey) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Action_GenericKey) + if !ok { + that2, ok := that.(Action_GenericKey) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetDescriptorValue(), target.GetDescriptorValue()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *Action_HeaderValueMatch) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Action_HeaderValueMatch) + if !ok { + that2, ok := that.(Action_HeaderValueMatch) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetDescriptorValue(), target.GetDescriptorValue()) != 0 { + return false + } + + if h, ok := interface{}(m.GetExpectMatch()).(equality.Equalizer); ok { + if !h.Equal(target.GetExpectMatch()) { + return false + } + } else { + if !proto.Equal(m.GetExpectMatch(), target.GetExpectMatch()) { + return false + } + } + + if len(m.GetHeaders()) != len(target.GetHeaders()) { + return false + } + for idx, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetHeaders()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetHeaders()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *Action_HeaderValueMatch_HeaderMatcher) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Action_HeaderValueMatch_HeaderMatcher) + if !ok { + that2, ok := that.(Action_HeaderValueMatch_HeaderMatcher) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if m.GetInvertMatch() != target.GetInvertMatch() { + return false + } + + switch m.HeaderMatchSpecifier.(type) { + + case *Action_HeaderValueMatch_HeaderMatcher_ExactMatch: + if _, ok := target.HeaderMatchSpecifier.(*Action_HeaderValueMatch_HeaderMatcher_ExactMatch); !ok { + return false + } + + if strings.Compare(m.GetExactMatch(), target.GetExactMatch()) != 0 { + return false + } + + case *Action_HeaderValueMatch_HeaderMatcher_RegexMatch: + if _, ok := target.HeaderMatchSpecifier.(*Action_HeaderValueMatch_HeaderMatcher_RegexMatch); !ok { + return false + } + + if strings.Compare(m.GetRegexMatch(), target.GetRegexMatch()) != 0 { + return false + } + + case *Action_HeaderValueMatch_HeaderMatcher_RangeMatch: + if _, ok := target.HeaderMatchSpecifier.(*Action_HeaderValueMatch_HeaderMatcher_RangeMatch); !ok { + return false + } + + if h, ok := interface{}(m.GetRangeMatch()).(equality.Equalizer); ok { + if !h.Equal(target.GetRangeMatch()) { + return false + } + } else { + if !proto.Equal(m.GetRangeMatch(), target.GetRangeMatch()) { + return false + } + } + + case *Action_HeaderValueMatch_HeaderMatcher_PresentMatch: + if _, ok := target.HeaderMatchSpecifier.(*Action_HeaderValueMatch_HeaderMatcher_PresentMatch); !ok { + return false + } + + if m.GetPresentMatch() != target.GetPresentMatch() { + return false + } + + case *Action_HeaderValueMatch_HeaderMatcher_PrefixMatch: + if _, ok := target.HeaderMatchSpecifier.(*Action_HeaderValueMatch_HeaderMatcher_PrefixMatch); !ok { + return false + } + + if strings.Compare(m.GetPrefixMatch(), target.GetPrefixMatch()) != 0 { + return false + } + + case *Action_HeaderValueMatch_HeaderMatcher_SuffixMatch: + if _, ok := target.HeaderMatchSpecifier.(*Action_HeaderValueMatch_HeaderMatcher_SuffixMatch); !ok { + return false + } + + if strings.Compare(m.GetSuffixMatch(), target.GetSuffixMatch()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.HeaderMatchSpecifier != target.HeaderMatchSpecifier { + return false + } + } + + return true +} + +// Equal function +func (m *Action_HeaderValueMatch_HeaderMatcher_Int64Range) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Action_HeaderValueMatch_HeaderMatcher_Int64Range) + if !ok { + that2, ok := that.(Action_HeaderValueMatch_HeaderMatcher_Int64Range) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetStart() != target.GetStart() { + return false + } + + if m.GetEnd() != target.GetEnd() { + return false + } + + return true +} + +// Equal function +func (m *MetaData_MetadataKey) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MetaData_MetadataKey) + if !ok { + that2, ok := that.(MetaData_MetadataKey) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + if len(m.GetPath()) != len(target.GetPath()) { + return false + } + for idx, v := range m.GetPath() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetPath()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetPath()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *MetaData_MetadataKey_PathSegment) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MetaData_MetadataKey_PathSegment) + if !ok { + that2, ok := that.(MetaData_MetadataKey_PathSegment) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Segment.(type) { + + case *MetaData_MetadataKey_PathSegment_Key: + if _, ok := target.Segment.(*MetaData_MetadataKey_PathSegment_Key); !ok { + return false + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.Segment != target.Segment { + return false + } + } + + return true +} + +// Equal function +func (m *Override_DynamicMetadata) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Override_DynamicMetadata) + if !ok { + that2, ok := that.(Override_DynamicMetadata) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetMetadataKey()).(equality.Equalizer); ok { + if !h.Equal(target.GetMetadataKey()) { + return false + } + } else { + if !proto.Equal(m.GetMetadataKey(), target.GetMetadataKey()) { + return false + } + } + + return true +} diff --git a/client-go/ratelimit.solo.io/v1alpha1/ratelimit.pb.go b/client-go/ratelimit.solo.io/v1alpha1/ratelimit.pb.go new file mode 100644 index 000000000..a695c3af1 --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/ratelimit.pb.go @@ -0,0 +1,2738 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/rate-limiter/v1alpha1/ratelimit.proto + +package v1alpha1 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type RateLimitConfigStatus_State int32 + +const ( + RateLimitConfigStatus_PENDING RateLimitConfigStatus_State = 0 + RateLimitConfigStatus_ACCEPTED RateLimitConfigStatus_State = 1 + RateLimitConfigStatus_REJECTED RateLimitConfigStatus_State = 2 +) + +// Enum value maps for RateLimitConfigStatus_State. +var ( + RateLimitConfigStatus_State_name = map[int32]string{ + 0: "PENDING", + 1: "ACCEPTED", + 2: "REJECTED", + } + RateLimitConfigStatus_State_value = map[string]int32{ + "PENDING": 0, + "ACCEPTED": 1, + "REJECTED": 2, + } +) + +func (x RateLimitConfigStatus_State) Enum() *RateLimitConfigStatus_State { + p := new(RateLimitConfigStatus_State) + *p = x + return p +} + +func (x RateLimitConfigStatus_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RateLimitConfigStatus_State) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_enumTypes[0].Descriptor() +} + +func (RateLimitConfigStatus_State) Type() protoreflect.EnumType { + return &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_enumTypes[0] +} + +func (x RateLimitConfigStatus_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RateLimitConfigStatus_State.Descriptor instead. +func (RateLimitConfigStatus_State) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{1, 0} +} + +type RateLimit_Unit int32 + +const ( + RateLimit_UNKNOWN RateLimit_Unit = 0 + RateLimit_SECOND RateLimit_Unit = 1 + RateLimit_MINUTE RateLimit_Unit = 2 + RateLimit_HOUR RateLimit_Unit = 3 + RateLimit_DAY RateLimit_Unit = 4 +) + +// Enum value maps for RateLimit_Unit. +var ( + RateLimit_Unit_name = map[int32]string{ + 0: "UNKNOWN", + 1: "SECOND", + 2: "MINUTE", + 3: "HOUR", + 4: "DAY", + } + RateLimit_Unit_value = map[string]int32{ + "UNKNOWN": 0, + "SECOND": 1, + "MINUTE": 2, + "HOUR": 3, + "DAY": 4, + } +) + +func (x RateLimit_Unit) Enum() *RateLimit_Unit { + p := new(RateLimit_Unit) + *p = x + return p +} + +func (x RateLimit_Unit) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RateLimit_Unit) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_enumTypes[1].Descriptor() +} + +func (RateLimit_Unit) Type() protoreflect.EnumType { + return &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_enumTypes[1] +} + +func (x RateLimit_Unit) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RateLimit_Unit.Descriptor instead. +func (RateLimit_Unit) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{7, 0} +} + +type MetaData_Source int32 + +const ( + // Query [dynamic metadata](https://www.envoyproxy.io/docs/envoy/latest/configuration/advanced/well_known_dynamic_metadata#well-known-dynamic-metadata). + MetaData_DYNAMIC MetaData_Source = 0 + // Query [route entry metadata](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-route-metadata). + MetaData_ROUTE_ENTRY MetaData_Source = 1 +) + +// Enum value maps for MetaData_Source. +var ( + MetaData_Source_name = map[int32]string{ + 0: "DYNAMIC", + 1: "ROUTE_ENTRY", + } + MetaData_Source_value = map[string]int32{ + "DYNAMIC": 0, + "ROUTE_ENTRY": 1, + } +) + +func (x MetaData_Source) Enum() *MetaData_Source { + p := new(MetaData_Source) + *p = x + return p +} + +func (x MetaData_Source) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MetaData_Source) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_enumTypes[2].Descriptor() +} + +func (MetaData_Source) Type() protoreflect.EnumType { + return &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_enumTypes[2] +} + +func (x MetaData_Source) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MetaData_Source.Descriptor instead. +func (MetaData_Source) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{9, 0} +} + +// A `RateLimitConfig` describes a rate limit policy. +type RateLimitConfigSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Each `RateLimitConfig` is an instance of one specific configuration type. + // Currently, only raw configuration is supported, but going forward we are planning on adding + // more high-level configuration formats to support specific use cases. + // + // Types that are assignable to ConfigType: + // + // *RateLimitConfigSpec_Raw_ + ConfigType isRateLimitConfigSpec_ConfigType `protobuf_oneof:"config_type"` +} + +func (x *RateLimitConfigSpec) Reset() { + *x = RateLimitConfigSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitConfigSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitConfigSpec) ProtoMessage() {} + +func (x *RateLimitConfigSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitConfigSpec.ProtoReflect.Descriptor instead. +func (*RateLimitConfigSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{0} +} + +func (m *RateLimitConfigSpec) GetConfigType() isRateLimitConfigSpec_ConfigType { + if m != nil { + return m.ConfigType + } + return nil +} + +func (x *RateLimitConfigSpec) GetRaw() *RateLimitConfigSpec_Raw { + if x, ok := x.GetConfigType().(*RateLimitConfigSpec_Raw_); ok { + return x.Raw + } + return nil +} + +type isRateLimitConfigSpec_ConfigType interface { + isRateLimitConfigSpec_ConfigType() +} + +type RateLimitConfigSpec_Raw_ struct { + // Define a policy using the raw configuration format used by the server and the client (Envoy). + Raw *RateLimitConfigSpec_Raw `protobuf:"bytes,1,opt,name=raw,proto3,oneof"` +} + +func (*RateLimitConfigSpec_Raw_) isRateLimitConfigSpec_ConfigType() {} + +// The current status of the `RateLimitConfig`. +type RateLimitConfigStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The current state of the `RateLimitConfig`. + State RateLimitConfigStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=ratelimit.api.solo.io.RateLimitConfigStatus_State" json:"state,omitempty"` + // A human-readable string explaining the status. + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + // The observed generation of the resource. + // When this matches the metadata.generation of the resource, it indicates the status is up-to-date. + ObservedGeneration int64 `protobuf:"varint,3,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` +} + +func (x *RateLimitConfigStatus) Reset() { + *x = RateLimitConfigStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitConfigStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitConfigStatus) ProtoMessage() {} + +func (x *RateLimitConfigStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitConfigStatus.ProtoReflect.Descriptor instead. +func (*RateLimitConfigStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{1} +} + +func (x *RateLimitConfigStatus) GetState() RateLimitConfigStatus_State { + if x != nil { + return x.State + } + return RateLimitConfigStatus_PENDING +} + +func (x *RateLimitConfigStatus) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *RateLimitConfigStatus) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +type RateLimitConfigNamespacedStatuses struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Statuses map[string]*RateLimitConfigStatus `protobuf:"bytes,1,rep,name=statuses,proto3" json:"statuses,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *RateLimitConfigNamespacedStatuses) Reset() { + *x = RateLimitConfigNamespacedStatuses{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitConfigNamespacedStatuses) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitConfigNamespacedStatuses) ProtoMessage() {} + +func (x *RateLimitConfigNamespacedStatuses) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitConfigNamespacedStatuses.ProtoReflect.Descriptor instead. +func (*RateLimitConfigNamespacedStatuses) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{2} +} + +func (x *RateLimitConfigNamespacedStatuses) GetStatuses() map[string]*RateLimitConfigStatus { + if x != nil { + return x.Statuses + } + return nil +} + +// A descriptor is a list of key/value pairs that the rate limit server uses to select +// the correct rate limit to use when limiting. Descriptors are case-sensitive. +// +// Each configuration contains a top level descriptor list and potentially multiple nested lists beneath that. +// The format is: +// +// ``` +// descriptors: +// - key: +// value: +// rate_limit: (optional block) +// unit: +// requests_per_unit: +// descriptors: (optional block) +// - ... (nested repetition of above) +// +// ``` +// +// Each descriptor in a descriptor list must have a key. It can also optionally have a value to enable +// a more specific match. The `rate_limit` block is optional and, if present, sets up an actual rate limit rule. +// If the rate limit is not present and there are no nested descriptors, then the descriptor is effectively whitelisted. +// Otherwise, nested descriptors allow more complex matching and rate limiting scenarios. +type Descriptor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key of the descriptor. This field is required. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // Optional value for the descriptor. If omitted, the server will create a rate limit for + // each value that is provided for this descriptor in rate limit requests. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + // Optional rate limit rule for the descriptor. + RateLimit *RateLimit `protobuf:"bytes,3,opt,name=rate_limit,json=rateLimit,proto3" json:"rate_limit,omitempty"` + // Nested descriptors. + Descriptors []*Descriptor `protobuf:"bytes,4,rep,name=descriptors,proto3" json:"descriptors,omitempty"` + // Each top-level Descriptor defines a new Rate Limit "rule". When a request comes in, rate limit + // actions are applied to the request to generate descriptor tuples that are sent to the rate limit + // server. If any rule is triggered then the entire request returns HTTP 429 Too Many Requests. + // + // Typically, rule priority is signalled by nesting descriptors, as the most specific rule match for + // the descriptor tuple generated by the rate limit actions is used. In rare cases this is too restrictive; + // instead you can set rule priority by setting weights on your descriptors. + // + // All rules with the highest weight are processed, if any of these rules trigger rate limiting then the + // entire request will return a 429. Rules that are not considered for rate limiting are ignored in the + // rate limit server, and their request count is not incremented in the rate limit server cache. + // + // Defaults to 0; thus all rules are evaluated by default. + Weight uint32 `protobuf:"varint,5,opt,name=weight,proto3" json:"weight,omitempty"` + // A boolean override for rule priority via weighted rules. Any rule with `alwaysApply` set to `true` will + // always be considered for rate limiting, regardless of the rule's weight. The rule with the highest weight + // will still be considered. (this can be a rule that also has `alwaysApply` set to `true`) + // + // Defaults to false. + AlwaysApply bool `protobuf:"varint,6,opt,name=always_apply,json=alwaysApply,proto3" json:"always_apply,omitempty"` +} + +func (x *Descriptor) Reset() { + *x = Descriptor{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Descriptor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Descriptor) ProtoMessage() {} + +func (x *Descriptor) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Descriptor.ProtoReflect.Descriptor instead. +func (*Descriptor) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{3} +} + +func (x *Descriptor) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *Descriptor) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *Descriptor) GetRateLimit() *RateLimit { + if x != nil { + return x.RateLimit + } + return nil +} + +func (x *Descriptor) GetDescriptors() []*Descriptor { + if x != nil { + return x.Descriptors + } + return nil +} + +func (x *Descriptor) GetWeight() uint32 { + if x != nil { + return x.Weight + } + return 0 +} + +func (x *Descriptor) GetAlwaysApply() bool { + if x != nil { + return x.AlwaysApply + } + return false +} + +// A setDescriptor is a list of key/value pairs that the rate limit server uses to select +// the correct rate limit to use when limiting with the set style. Descriptors are case-sensitive. +// +// Each configuration contains a simpleDescriptor list and a rateLimit. +// The format is: +// +// ``` +// set_descriptors: +// - simple_descriptors: (optional block) +// - key: +// value: +// - ... (repetition of above) +// rate_limit: +// requests_per_unit: +// unit: +// always_apply: +// - ... (repetition of above) +// +// ``` +// +// Each SetDescriptor defines a new Rate Limit "rule". When a request comes in, rate limit +// actions are applied to the request to generate descriptor tuples that are sent to the rate limit +// server. If any rule is triggered then the entire request returns HTTP 429 Too Many Requests. +// +// The `rate_limit` block sets up an actual rate limit rule. +type SetDescriptor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Simple descriptor key/value pairs. + SimpleDescriptors []*SimpleDescriptor `protobuf:"bytes,1,rep,name=simple_descriptors,json=simpleDescriptors,proto3" json:"simple_descriptors,omitempty"` + // Rate limit rule for the descriptor. + RateLimit *RateLimit `protobuf:"bytes,2,opt,name=rate_limit,json=rateLimit,proto3" json:"rate_limit,omitempty"` + // Typically, rule priority is signalled by rule ordering, as the first rule match for + // the descriptor tuple generated by the rate limit actions is used. + // + // In some cases this is too restrictive; A boolean override can be specified. Any rule with `alwaysApply` set to `true` will + // always be considered for rate limiting, regardless of the rule's place in the ordered list of rules. + // The first rule to match will still be considered. (This can be a rule that also has `alwaysApply` set to `true`.) + // + // If any of these rules trigger rate limiting then the entire request will return a 429. + // Rules that are not considered for rate limiting are ignored in the + // rate limit server, and their request count is not incremented in the rate limit server cache. + // + // Defaults to false. + AlwaysApply bool `protobuf:"varint,3,opt,name=always_apply,json=alwaysApply,proto3" json:"always_apply,omitempty"` +} + +func (x *SetDescriptor) Reset() { + *x = SetDescriptor{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetDescriptor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetDescriptor) ProtoMessage() {} + +func (x *SetDescriptor) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetDescriptor.ProtoReflect.Descriptor instead. +func (*SetDescriptor) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{4} +} + +func (x *SetDescriptor) GetSimpleDescriptors() []*SimpleDescriptor { + if x != nil { + return x.SimpleDescriptors + } + return nil +} + +func (x *SetDescriptor) GetRateLimit() *RateLimit { + if x != nil { + return x.RateLimit + } + return nil +} + +func (x *SetDescriptor) GetAlwaysApply() bool { + if x != nil { + return x.AlwaysApply + } + return false +} + +// A simpleDescriptor is a list of key/value pairs that the rate limit server uses to select +// the correct rate limit to use when limiting with the set style. Descriptors are case-sensitive. +// +// The format is: +// +// ``` +// +// simple_descriptors: +// - key: +// value: +// - ... (repetition of above) +// +// ``` +// +// Each simpleDescriptor in a simpleDescriptor list must have a key. It can also optionally have a value to enable +// a more specific match. +type SimpleDescriptor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key of the descriptor. This field is required. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // Optional value for the descriptor. If omitted, the server will create a rate limit for + // each value that is provided for this descriptor in rate limit requests. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *SimpleDescriptor) Reset() { + *x = SimpleDescriptor{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SimpleDescriptor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SimpleDescriptor) ProtoMessage() {} + +func (x *SimpleDescriptor) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SimpleDescriptor.ProtoReflect.Descriptor instead. +func (*SimpleDescriptor) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{5} +} + +func (x *SimpleDescriptor) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *SimpleDescriptor) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +// Each action and setAction in the lists maps part of the request (or its context) to a descriptor. The tuple or set of descriptors +// generated by the provided actions is sent to the rate limit server and matched against rate limit rules. +// Order matters on provided actions but not on setActions, e.g. the following actions: +// - actions: +// - requestHeaders: +// descriptorKey: account_id +// headerName: x-account-id +// - requestHeaders: +// descriptorKey: plan +// headerName: x-plan +// +// define an ordered descriptor tuple like so: ('account_id', ''), ('plan', '') +// +// While the current form matches, the same tuple in reverse order would not match the following descriptor: +// +// descriptors: +// - key: account_id +// descriptors: +// - key: plan +// value: BASIC +// rateLimit: +// requestsPerUnit: 1 +// unit: MINUTE +// - key: plan +// value: PLUS +// rateLimit: +// requestsPerUnit: 20 +// unit: MINUTE +// +// Similarly, the following setActions: +// - setActions: +// - requestHeaders: +// descriptorKey: account_id +// headerName: x-account-id +// - requestHeaders: +// descriptorKey: plan +// headerName: x-plan +// +// define an unordered descriptor set like so: {('account_id', ''), ('plan', '')} +// +// This set would match the following setDescriptor: +// +// setDescriptors: +// - simpleDescriptors: +// - key: plan +// value: BASIC +// - key: account_id +// rateLimit: +// requestsPerUnit: 20 +// unit: MINUTE +// +// It would also match the following setDescriptor which includes only a subset of the setActions enumerated: +// +// setDescriptors: +// - simpleDescriptors: +// - key: account_id +// rateLimit: +// requestsPerUnit: 20 +// unit: MINUTE +// +// It would even match the following setDescriptor. +// Any setActions list would match this setDescriptor which has simpleDescriptors omitted entirely: +// +// setDescriptors: +// - rateLimit: +// requestsPerUnit: 20 +// unit: MINUTE +type RateLimitActions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Actions []*Action `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` + SetActions []*Action `protobuf:"bytes,2,rep,name=set_actions,json=setActions,proto3" json:"set_actions,omitempty"` + // An optional limit override to be appended to the descriptor produced by this rate limit configuration. If the override value is invalid or cannot be resolved from metadata, no override is provided. + Limit *Override `protobuf:"bytes,3,opt,name=limit,proto3" json:"limit,omitempty"` +} + +func (x *RateLimitActions) Reset() { + *x = RateLimitActions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitActions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitActions) ProtoMessage() {} + +func (x *RateLimitActions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitActions.ProtoReflect.Descriptor instead. +func (*RateLimitActions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{6} +} + +func (x *RateLimitActions) GetActions() []*Action { + if x != nil { + return x.Actions + } + return nil +} + +func (x *RateLimitActions) GetSetActions() []*Action { + if x != nil { + return x.SetActions + } + return nil +} + +func (x *RateLimitActions) GetLimit() *Override { + if x != nil { + return x.Limit + } + return nil +} + +// A `RateLimit` specifies the actual rate limit that will be used when there is a match. +type RateLimit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Unit RateLimit_Unit `protobuf:"varint,1,opt,name=unit,proto3,enum=ratelimit.api.solo.io.RateLimit_Unit" json:"unit,omitempty"` + RequestsPerUnit uint32 `protobuf:"varint,2,opt,name=requests_per_unit,json=requestsPerUnit,proto3" json:"requests_per_unit,omitempty"` +} + +func (x *RateLimit) Reset() { + *x = RateLimit{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimit) ProtoMessage() {} + +func (x *RateLimit) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimit.ProtoReflect.Descriptor instead. +func (*RateLimit) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{7} +} + +func (x *RateLimit) GetUnit() RateLimit_Unit { + if x != nil { + return x.Unit + } + return RateLimit_UNKNOWN +} + +func (x *RateLimit) GetRequestsPerUnit() uint32 { + if x != nil { + return x.RequestsPerUnit + } + return 0 +} + +// Copied directly from envoy +// https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-ratelimit-action +type Action struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ActionSpecifier: + // + // *Action_SourceCluster_ + // *Action_DestinationCluster_ + // *Action_RequestHeaders_ + // *Action_RemoteAddress_ + // *Action_GenericKey_ + // *Action_HeaderValueMatch_ + // *Action_Metadata + ActionSpecifier isAction_ActionSpecifier `protobuf_oneof:"action_specifier"` +} + +func (x *Action) Reset() { + *x = Action{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action) ProtoMessage() {} + +func (x *Action) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action.ProtoReflect.Descriptor instead. +func (*Action) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{8} +} + +func (m *Action) GetActionSpecifier() isAction_ActionSpecifier { + if m != nil { + return m.ActionSpecifier + } + return nil +} + +func (x *Action) GetSourceCluster() *Action_SourceCluster { + if x, ok := x.GetActionSpecifier().(*Action_SourceCluster_); ok { + return x.SourceCluster + } + return nil +} + +func (x *Action) GetDestinationCluster() *Action_DestinationCluster { + if x, ok := x.GetActionSpecifier().(*Action_DestinationCluster_); ok { + return x.DestinationCluster + } + return nil +} + +func (x *Action) GetRequestHeaders() *Action_RequestHeaders { + if x, ok := x.GetActionSpecifier().(*Action_RequestHeaders_); ok { + return x.RequestHeaders + } + return nil +} + +func (x *Action) GetRemoteAddress() *Action_RemoteAddress { + if x, ok := x.GetActionSpecifier().(*Action_RemoteAddress_); ok { + return x.RemoteAddress + } + return nil +} + +func (x *Action) GetGenericKey() *Action_GenericKey { + if x, ok := x.GetActionSpecifier().(*Action_GenericKey_); ok { + return x.GenericKey + } + return nil +} + +func (x *Action) GetHeaderValueMatch() *Action_HeaderValueMatch { + if x, ok := x.GetActionSpecifier().(*Action_HeaderValueMatch_); ok { + return x.HeaderValueMatch + } + return nil +} + +func (x *Action) GetMetadata() *MetaData { + if x, ok := x.GetActionSpecifier().(*Action_Metadata); ok { + return x.Metadata + } + return nil +} + +type isAction_ActionSpecifier interface { + isAction_ActionSpecifier() +} + +type Action_SourceCluster_ struct { + // Rate limit on source cluster. + SourceCluster *Action_SourceCluster `protobuf:"bytes,1,opt,name=source_cluster,json=sourceCluster,proto3,oneof"` +} + +type Action_DestinationCluster_ struct { + // Rate limit on destination cluster. + DestinationCluster *Action_DestinationCluster `protobuf:"bytes,2,opt,name=destination_cluster,json=destinationCluster,proto3,oneof"` +} + +type Action_RequestHeaders_ struct { + // Rate limit on request headers. + RequestHeaders *Action_RequestHeaders `protobuf:"bytes,3,opt,name=request_headers,json=requestHeaders,proto3,oneof"` +} + +type Action_RemoteAddress_ struct { + // Rate limit on remote address. + RemoteAddress *Action_RemoteAddress `protobuf:"bytes,4,opt,name=remote_address,json=remoteAddress,proto3,oneof"` +} + +type Action_GenericKey_ struct { + // Rate limit on a generic key. + GenericKey *Action_GenericKey `protobuf:"bytes,5,opt,name=generic_key,json=genericKey,proto3,oneof"` +} + +type Action_HeaderValueMatch_ struct { + // Rate limit on the existence of request headers. + HeaderValueMatch *Action_HeaderValueMatch `protobuf:"bytes,6,opt,name=header_value_match,json=headerValueMatch,proto3,oneof"` +} + +type Action_Metadata struct { + // Rate limit on metadata. + Metadata *MetaData `protobuf:"bytes,8,opt,name=metadata,proto3,oneof"` +} + +func (*Action_SourceCluster_) isAction_ActionSpecifier() {} + +func (*Action_DestinationCluster_) isAction_ActionSpecifier() {} + +func (*Action_RequestHeaders_) isAction_ActionSpecifier() {} + +func (*Action_RemoteAddress_) isAction_ActionSpecifier() {} + +func (*Action_GenericKey_) isAction_ActionSpecifier() {} + +func (*Action_HeaderValueMatch_) isAction_ActionSpecifier() {} + +func (*Action_Metadata) isAction_ActionSpecifier() {} + +// The following descriptor entry is appended when the metadata contains a key value: +// +// ("", "") +type MetaData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The key to use in the descriptor entry. + DescriptorKey string `protobuf:"bytes,1,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` // [(validate.rules).string = {min_len: 1}]; + // Required. Metadata struct that defines the key and path to retrieve the string value. A match will + // only happen if the value in the metadata is of type string. + MetadataKey *MetaData_MetadataKey `protobuf:"bytes,2,opt,name=metadata_key,json=metadataKey,proto3" json:"metadata_key,omitempty"` // [(validate.rules).message = {required: true}]; + // An optional value to use if *metadata_key* is empty. If not set and + // no value is present under the metadata_key then no descriptor is generated. + DefaultValue string `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` + // Source of metadata + Source MetaData_Source `protobuf:"varint,4,opt,name=source,proto3,enum=ratelimit.api.solo.io.MetaData_Source" json:"source,omitempty"` // [(validate.rules).enum = {defined_only: true}]; +} + +func (x *MetaData) Reset() { + *x = MetaData{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetaData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetaData) ProtoMessage() {} + +func (x *MetaData) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetaData.ProtoReflect.Descriptor instead. +func (*MetaData) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{9} +} + +func (x *MetaData) GetDescriptorKey() string { + if x != nil { + return x.DescriptorKey + } + return "" +} + +func (x *MetaData) GetMetadataKey() *MetaData_MetadataKey { + if x != nil { + return x.MetadataKey + } + return nil +} + +func (x *MetaData) GetDefaultValue() string { + if x != nil { + return x.DefaultValue + } + return "" +} + +func (x *MetaData) GetSource() MetaData_Source { + if x != nil { + return x.Source + } + return MetaData_DYNAMIC +} + +// Copied directly from envoy +// https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-ratelimit-override +type Override struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to OverrideSpecifier: + // + // *Override_DynamicMetadata_ + OverrideSpecifier isOverride_OverrideSpecifier `protobuf_oneof:"override_specifier"` +} + +func (x *Override) Reset() { + *x = Override{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Override) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Override) ProtoMessage() {} + +func (x *Override) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Override.ProtoReflect.Descriptor instead. +func (*Override) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{10} +} + +func (m *Override) GetOverrideSpecifier() isOverride_OverrideSpecifier { + if m != nil { + return m.OverrideSpecifier + } + return nil +} + +func (x *Override) GetDynamicMetadata() *Override_DynamicMetadata { + if x, ok := x.GetOverrideSpecifier().(*Override_DynamicMetadata_); ok { + return x.DynamicMetadata + } + return nil +} + +type isOverride_OverrideSpecifier interface { + isOverride_OverrideSpecifier() +} + +type Override_DynamicMetadata_ struct { + // Limit override from dynamic metadata. + DynamicMetadata *Override_DynamicMetadata `protobuf:"bytes,1,opt,name=dynamic_metadata,json=dynamicMetadata,proto3,oneof"` +} + +func (*Override_DynamicMetadata_) isOverride_OverrideSpecifier() {} + +// This object allows users to specify rate limit policies using the raw configuration formats +// used by the server and the client (Envoy). When using this configuration type, it is up to +// the user to ensure that server and client configurations match to implement the desired behavior. +// The server (and the client libraries that are shipped with it) will ensure that there are no +// collisions between raw configurations defined on separate `RateLimitConfig` resources. +type RateLimitConfigSpec_Raw struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The descriptors that will be applied to the server. + Descriptors []*Descriptor `protobuf:"bytes,1,rep,name=descriptors,proto3" json:"descriptors,omitempty"` + // Actions specify how the client (Envoy) will compose the descriptors that + // will be sent to the server to make a rate limiting decision. + RateLimits []*RateLimitActions `protobuf:"bytes,2,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` + // The set descriptors that will be applied to the server. + SetDescriptors []*SetDescriptor `protobuf:"bytes,3,rep,name=set_descriptors,json=setDescriptors,proto3" json:"set_descriptors,omitempty"` +} + +func (x *RateLimitConfigSpec_Raw) Reset() { + *x = RateLimitConfigSpec_Raw{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitConfigSpec_Raw) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitConfigSpec_Raw) ProtoMessage() {} + +func (x *RateLimitConfigSpec_Raw) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitConfigSpec_Raw.ProtoReflect.Descriptor instead. +func (*RateLimitConfigSpec_Raw) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *RateLimitConfigSpec_Raw) GetDescriptors() []*Descriptor { + if x != nil { + return x.Descriptors + } + return nil +} + +func (x *RateLimitConfigSpec_Raw) GetRateLimits() []*RateLimitActions { + if x != nil { + return x.RateLimits + } + return nil +} + +func (x *RateLimitConfigSpec_Raw) GetSetDescriptors() []*SetDescriptor { + if x != nil { + return x.SetDescriptors + } + return nil +} + +// The following descriptor entry is appended to the descriptor: +// +// ``` +// +// ("source_cluster", "") +// +// ``` +// +// is derived from the :option:`--service-cluster` option. +type Action_SourceCluster struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Action_SourceCluster) Reset() { + *x = Action_SourceCluster{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action_SourceCluster) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action_SourceCluster) ProtoMessage() {} + +func (x *Action_SourceCluster) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action_SourceCluster.ProtoReflect.Descriptor instead. +func (*Action_SourceCluster) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{8, 0} +} + +// The following descriptor entry is appended to the descriptor: +// +// ``` +// +// ("destination_cluster", "") +// +// ``` +// +// Once a request matches against a route table rule, a routed cluster is determined by one of +// the following `route table configuration (envoy_api_msg_RouteConfiguration)` +// settings: +// +// - `cluster (envoy_api_field_route.RouteAction.cluster)` indicates the upstream cluster +// to route to. +// - `weighted_clusters (envoy_api_field_route.RouteAction.weighted_clusters)` +// chooses a cluster randomly from a set of clusters with attributed weight. +// - `cluster_header (envoy_api_field_route.RouteAction.cluster_header)` indicates which +// header in the request contains the target cluster. +type Action_DestinationCluster struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Action_DestinationCluster) Reset() { + *x = Action_DestinationCluster{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action_DestinationCluster) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action_DestinationCluster) ProtoMessage() {} + +func (x *Action_DestinationCluster) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action_DestinationCluster.ProtoReflect.Descriptor instead. +func (*Action_DestinationCluster) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{8, 1} +} + +// The following descriptor entry is appended when a header contains a key that matches the +// *header_name*: +// +// ``` +// +// ("", "") +// +// ``` +type Action_RequestHeaders struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The header name to be queried from the request headers. The header’s + // value is used to populate the value of the descriptor entry for the + // descriptor_key. + HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` // [(validate.rules).string.min_bytes = 1]; + // The key to use in the descriptor entry. + DescriptorKey string `protobuf:"bytes,2,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"` // [(validate.rules).string.min_bytes = 1]; +} + +func (x *Action_RequestHeaders) Reset() { + *x = Action_RequestHeaders{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action_RequestHeaders) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action_RequestHeaders) ProtoMessage() {} + +func (x *Action_RequestHeaders) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action_RequestHeaders.ProtoReflect.Descriptor instead. +func (*Action_RequestHeaders) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{8, 2} +} + +func (x *Action_RequestHeaders) GetHeaderName() string { + if x != nil { + return x.HeaderName + } + return "" +} + +func (x *Action_RequestHeaders) GetDescriptorKey() string { + if x != nil { + return x.DescriptorKey + } + return "" +} + +// The following descriptor entry is appended to the descriptor and is populated using the +// trusted address from `x-forwarded-for (config_http_conn_man_headers_x-forwarded-for)`: +// +// ``` +// +// ("remote_address", "") +// +// ``` +type Action_RemoteAddress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Action_RemoteAddress) Reset() { + *x = Action_RemoteAddress{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action_RemoteAddress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action_RemoteAddress) ProtoMessage() {} + +func (x *Action_RemoteAddress) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action_RemoteAddress.ProtoReflect.Descriptor instead. +func (*Action_RemoteAddress) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{8, 3} +} + +// The following descriptor entry is appended to the descriptor: +// +// ``` +// +// ("generic_key", "") +// +// ``` +type Action_GenericKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The value to use in the descriptor entry. + DescriptorValue string `protobuf:"bytes,1,opt,name=descriptor_value,json=descriptorValue,proto3" json:"descriptor_value,omitempty"` // [(validate.rules).string.min_bytes = 1]; +} + +func (x *Action_GenericKey) Reset() { + *x = Action_GenericKey{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action_GenericKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action_GenericKey) ProtoMessage() {} + +func (x *Action_GenericKey) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action_GenericKey.ProtoReflect.Descriptor instead. +func (*Action_GenericKey) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{8, 4} +} + +func (x *Action_GenericKey) GetDescriptorValue() string { + if x != nil { + return x.DescriptorValue + } + return "" +} + +// The following descriptor entry is appended to the descriptor: +// +// ``` +// +// ("header_match", "") +// +// ``` +type Action_HeaderValueMatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The value to use in the descriptor entry. + DescriptorValue string `protobuf:"bytes,1,opt,name=descriptor_value,json=descriptorValue,proto3" json:"descriptor_value,omitempty"` // [(validate.rules).string.min_bytes = 1]; + // If set to true, the action will append a descriptor entry when the + // request matches the headers. If set to false, the action will append a + // descriptor entry when the request does not match the headers. The + // default value is true. + ExpectMatch *wrappers.BoolValue `protobuf:"bytes,2,opt,name=expect_match,json=expectMatch,proto3" json:"expect_match,omitempty"` + // Specifies a set of headers that the rate limit action should match + // on. The action will check the request’s headers against all the + // specified headers in the config. A match will happen if all the + // headers in the config are present in the request with the same values + // (or based on presence if the value field is not in the config). + Headers []*Action_HeaderValueMatch_HeaderMatcher `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty"` // [(validate.rules).repeated .min_items = 1]; +} + +func (x *Action_HeaderValueMatch) Reset() { + *x = Action_HeaderValueMatch{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action_HeaderValueMatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action_HeaderValueMatch) ProtoMessage() {} + +func (x *Action_HeaderValueMatch) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action_HeaderValueMatch.ProtoReflect.Descriptor instead. +func (*Action_HeaderValueMatch) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{8, 5} +} + +func (x *Action_HeaderValueMatch) GetDescriptorValue() string { + if x != nil { + return x.DescriptorValue + } + return "" +} + +func (x *Action_HeaderValueMatch) GetExpectMatch() *wrappers.BoolValue { + if x != nil { + return x.ExpectMatch + } + return nil +} + +func (x *Action_HeaderValueMatch) GetHeaders() []*Action_HeaderValueMatch_HeaderMatcher { + if x != nil { + return x.Headers + } + return nil +} + +type Action_HeaderValueMatch_HeaderMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specifies the name of the header in the request. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // [(validate.rules).string.min_bytes = 1]; + // Specifies how the header match will be performed to route the request. + // + // Types that are assignable to HeaderMatchSpecifier: + // + // *Action_HeaderValueMatch_HeaderMatcher_ExactMatch + // *Action_HeaderValueMatch_HeaderMatcher_RegexMatch + // *Action_HeaderValueMatch_HeaderMatcher_RangeMatch + // *Action_HeaderValueMatch_HeaderMatcher_PresentMatch + // *Action_HeaderValueMatch_HeaderMatcher_PrefixMatch + // *Action_HeaderValueMatch_HeaderMatcher_SuffixMatch + HeaderMatchSpecifier isAction_HeaderValueMatch_HeaderMatcher_HeaderMatchSpecifier `protobuf_oneof:"header_match_specifier"` + // If specified, the match result will be inverted before checking. Defaults to false. + // + // Examples: + // + // * The regex *\d{3}* does not match the value *1234*, so it will match when inverted. + // * The range [-10,0) will match the value -1, so it will not match when inverted. + InvertMatch bool `protobuf:"varint,8,opt,name=invert_match,json=invertMatch,proto3" json:"invert_match,omitempty"` +} + +func (x *Action_HeaderValueMatch_HeaderMatcher) Reset() { + *x = Action_HeaderValueMatch_HeaderMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action_HeaderValueMatch_HeaderMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action_HeaderValueMatch_HeaderMatcher) ProtoMessage() {} + +func (x *Action_HeaderValueMatch_HeaderMatcher) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action_HeaderValueMatch_HeaderMatcher.ProtoReflect.Descriptor instead. +func (*Action_HeaderValueMatch_HeaderMatcher) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{8, 5, 0} +} + +func (x *Action_HeaderValueMatch_HeaderMatcher) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (m *Action_HeaderValueMatch_HeaderMatcher) GetHeaderMatchSpecifier() isAction_HeaderValueMatch_HeaderMatcher_HeaderMatchSpecifier { + if m != nil { + return m.HeaderMatchSpecifier + } + return nil +} + +func (x *Action_HeaderValueMatch_HeaderMatcher) GetExactMatch() string { + if x, ok := x.GetHeaderMatchSpecifier().(*Action_HeaderValueMatch_HeaderMatcher_ExactMatch); ok { + return x.ExactMatch + } + return "" +} + +func (x *Action_HeaderValueMatch_HeaderMatcher) GetRegexMatch() string { + if x, ok := x.GetHeaderMatchSpecifier().(*Action_HeaderValueMatch_HeaderMatcher_RegexMatch); ok { + return x.RegexMatch + } + return "" +} + +func (x *Action_HeaderValueMatch_HeaderMatcher) GetRangeMatch() *Action_HeaderValueMatch_HeaderMatcher_Int64Range { + if x, ok := x.GetHeaderMatchSpecifier().(*Action_HeaderValueMatch_HeaderMatcher_RangeMatch); ok { + return x.RangeMatch + } + return nil +} + +func (x *Action_HeaderValueMatch_HeaderMatcher) GetPresentMatch() bool { + if x, ok := x.GetHeaderMatchSpecifier().(*Action_HeaderValueMatch_HeaderMatcher_PresentMatch); ok { + return x.PresentMatch + } + return false +} + +func (x *Action_HeaderValueMatch_HeaderMatcher) GetPrefixMatch() string { + if x, ok := x.GetHeaderMatchSpecifier().(*Action_HeaderValueMatch_HeaderMatcher_PrefixMatch); ok { + return x.PrefixMatch + } + return "" +} + +func (x *Action_HeaderValueMatch_HeaderMatcher) GetSuffixMatch() string { + if x, ok := x.GetHeaderMatchSpecifier().(*Action_HeaderValueMatch_HeaderMatcher_SuffixMatch); ok { + return x.SuffixMatch + } + return "" +} + +func (x *Action_HeaderValueMatch_HeaderMatcher) GetInvertMatch() bool { + if x != nil { + return x.InvertMatch + } + return false +} + +type isAction_HeaderValueMatch_HeaderMatcher_HeaderMatchSpecifier interface { + isAction_HeaderValueMatch_HeaderMatcher_HeaderMatchSpecifier() +} + +type Action_HeaderValueMatch_HeaderMatcher_ExactMatch struct { + // If specified, header match will be performed based on the value of the header. + ExactMatch string `protobuf:"bytes,4,opt,name=exact_match,json=exactMatch,proto3,oneof"` +} + +type Action_HeaderValueMatch_HeaderMatcher_RegexMatch struct { + // If specified, this regex string is a regular expression rule which implies the entire request + // header value must match the regex. The rule will not match if only a subsequence of the + // request header value matches the regex. The regex grammar used in the value field is defined + // `(here)[https://en.cppreference.com/w/cpp/regex/ecmascript]`. + // + // Examples: + // + // * The regex *\d{3}* matches the value *123* + // * The regex *\d{3}* does not match the value *1234* + // * The regex *\d{3}* does not match the value *123.456* + RegexMatch string `protobuf:"bytes,5,opt,name=regex_match,json=regexMatch,proto3,oneof"` // [(validate.rules).string.max_bytes = 1024]; +} + +type Action_HeaderValueMatch_HeaderMatcher_RangeMatch struct { + // If specified, header match will be performed based on range. + // The rule will match if the request header value is within this range. + // The entire request header value must represent an integer in base 10 notation: consisting of + // an optional plus or minus sign followed by a sequence of digits. The rule will not match if + // the header value does not represent an integer. Match will fail for empty values, floating + // point numbers or if only a subsequence of the header value is an integer. + // + // Examples: + // + // - For range [-10,0), route will match for header value -1, but not for 0, "somestring", 10.9, + // "-1somestring" + RangeMatch *Action_HeaderValueMatch_HeaderMatcher_Int64Range `protobuf:"bytes,6,opt,name=range_match,json=rangeMatch,proto3,oneof"` +} + +type Action_HeaderValueMatch_HeaderMatcher_PresentMatch struct { + // If specified, header match will be performed based on whether the header is in the + // request. + PresentMatch bool `protobuf:"varint,7,opt,name=present_match,json=presentMatch,proto3,oneof"` +} + +type Action_HeaderValueMatch_HeaderMatcher_PrefixMatch struct { + // If specified, header match will be performed based on the prefix of the header value. + // Note: empty prefix is not allowed, please use present_match instead. + // + // Examples: + // + // * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*. + PrefixMatch string `protobuf:"bytes,9,opt,name=prefix_match,json=prefixMatch,proto3,oneof"` // [(validate.rules).string.min_bytes = 1]; +} + +type Action_HeaderValueMatch_HeaderMatcher_SuffixMatch struct { + // If specified, header match will be performed based on the suffix of the header value. + // Note: empty suffix is not allowed, please use present_match instead. + // + // Examples: + // + // * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*. + SuffixMatch string `protobuf:"bytes,10,opt,name=suffix_match,json=suffixMatch,proto3,oneof"` // [(validate.rules).string.min_bytes = 1]; +} + +func (*Action_HeaderValueMatch_HeaderMatcher_ExactMatch) isAction_HeaderValueMatch_HeaderMatcher_HeaderMatchSpecifier() { +} + +func (*Action_HeaderValueMatch_HeaderMatcher_RegexMatch) isAction_HeaderValueMatch_HeaderMatcher_HeaderMatchSpecifier() { +} + +func (*Action_HeaderValueMatch_HeaderMatcher_RangeMatch) isAction_HeaderValueMatch_HeaderMatcher_HeaderMatchSpecifier() { +} + +func (*Action_HeaderValueMatch_HeaderMatcher_PresentMatch) isAction_HeaderValueMatch_HeaderMatcher_HeaderMatchSpecifier() { +} + +func (*Action_HeaderValueMatch_HeaderMatcher_PrefixMatch) isAction_HeaderValueMatch_HeaderMatcher_HeaderMatchSpecifier() { +} + +func (*Action_HeaderValueMatch_HeaderMatcher_SuffixMatch) isAction_HeaderValueMatch_HeaderMatcher_HeaderMatchSpecifier() { +} + +// Specifies the int64 start and end of the range using half-open interval semantics [start, +// end). +type Action_HeaderValueMatch_HeaderMatcher_Int64Range struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // start of the range (inclusive) + Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` + // end of the range (exclusive) + End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` +} + +func (x *Action_HeaderValueMatch_HeaderMatcher_Int64Range) Reset() { + *x = Action_HeaderValueMatch_HeaderMatcher_Int64Range{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Action_HeaderValueMatch_HeaderMatcher_Int64Range) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action_HeaderValueMatch_HeaderMatcher_Int64Range) ProtoMessage() {} + +func (x *Action_HeaderValueMatch_HeaderMatcher_Int64Range) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action_HeaderValueMatch_HeaderMatcher_Int64Range.ProtoReflect.Descriptor instead. +func (*Action_HeaderValueMatch_HeaderMatcher_Int64Range) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{8, 5, 0, 0} +} + +func (x *Action_HeaderValueMatch_HeaderMatcher_Int64Range) GetStart() int64 { + if x != nil { + return x.Start + } + return 0 +} + +func (x *Action_HeaderValueMatch_HeaderMatcher_Int64Range) GetEnd() int64 { + if x != nil { + return x.End + } + return 0 +} + +// MetadataKey provides a general interface using `key` and `path` to retrieve value from +// [`Metadata`](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-metadata). +// +// For example, for the following Metadata: +// +// ```yaml +// filter_metadata: +// +// envoy.xxx: +// prop: +// foo: bar +// xyz: +// hello: envoy +// +// ``` +// +// The following MetadataKey will retrieve a string value "bar" from the Metadata. +// +// ```yaml +// key: envoy.xxx +// path: +// - key: prop +// - key: foo +// ``` +type MetaData_MetadataKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The key name of Metadata to retrieve the Struct from the metadata. + // Typically, it represents a builtin subsystem or custom extension. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // [(validate.rules).string = {min_len: 1}]; + // Must have at least one element. The path to retrieve the Value from the Struct. It can be a prefix or a full path, + // e.g. “[prop, xyz]“ for a struct or “[prop, foo]“ for a string in the example, + // which depends on the particular scenario. + // + // Note: Due to that only the key type segment is supported, the path can not specify a list + // unless the list is the last segment. + Path []*MetaData_MetadataKey_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` // [(validate.rules).repeated = {min_items: 1}]; +} + +func (x *MetaData_MetadataKey) Reset() { + *x = MetaData_MetadataKey{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetaData_MetadataKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetaData_MetadataKey) ProtoMessage() {} + +func (x *MetaData_MetadataKey) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetaData_MetadataKey.ProtoReflect.Descriptor instead. +func (*MetaData_MetadataKey) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{9, 0} +} + +func (x *MetaData_MetadataKey) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *MetaData_MetadataKey) GetPath() []*MetaData_MetadataKey_PathSegment { + if x != nil { + return x.Path + } + return nil +} + +// Specifies the segment in a path to retrieve value from Metadata. +// Currently it is only supported to specify the key, i.e. field name, as one segment of a path. +type MetaData_MetadataKey_PathSegment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Segment: + // + // *MetaData_MetadataKey_PathSegment_Key + Segment isMetaData_MetadataKey_PathSegment_Segment `protobuf_oneof:"segment"` +} + +func (x *MetaData_MetadataKey_PathSegment) Reset() { + *x = MetaData_MetadataKey_PathSegment{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetaData_MetadataKey_PathSegment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetaData_MetadataKey_PathSegment) ProtoMessage() {} + +func (x *MetaData_MetadataKey_PathSegment) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetaData_MetadataKey_PathSegment.ProtoReflect.Descriptor instead. +func (*MetaData_MetadataKey_PathSegment) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{9, 0, 0} +} + +func (m *MetaData_MetadataKey_PathSegment) GetSegment() isMetaData_MetadataKey_PathSegment_Segment { + if m != nil { + return m.Segment + } + return nil +} + +func (x *MetaData_MetadataKey_PathSegment) GetKey() string { + if x, ok := x.GetSegment().(*MetaData_MetadataKey_PathSegment_Key); ok { + return x.Key + } + return "" +} + +type isMetaData_MetadataKey_PathSegment_Segment interface { + isMetaData_MetadataKey_PathSegment_Segment() +} + +type MetaData_MetadataKey_PathSegment_Key struct { + // Required. If specified, use the key to retrieve the value in a Struct. + Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"` // [(validate.rules).string = {min_len: 1}]; +} + +func (*MetaData_MetadataKey_PathSegment_Key) isMetaData_MetadataKey_PathSegment_Segment() {} + +// Fetches the override from the dynamic metadata. +type Override_DynamicMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Metadata struct that defines the key and path to retrieve the struct value. + // The value must be a struct containing an integer "requests_per_unit" property + // and a "unit" property with a value parseable to :ref:`RateLimitUnit + // enum ` + MetadataKey *MetaData_MetadataKey `protobuf:"bytes,1,opt,name=metadata_key,json=metadataKey,proto3" json:"metadata_key,omitempty"` // [(validate.rules).message = {required: true}]; +} + +func (x *Override_DynamicMetadata) Reset() { + *x = Override_DynamicMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Override_DynamicMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Override_DynamicMetadata) ProtoMessage() {} + +func (x *Override_DynamicMetadata) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Override_DynamicMetadata.ProtoReflect.Descriptor instead. +func (*Override_DynamicMetadata) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP(), []int{10, 0} +} + +func (x *Override_DynamicMetadata) GetMetadataKey() *MetaData_MetadataKey { + if x != nil { + return x.MetadataKey + } + return nil +} + +var File_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDesc = []byte{ + 0x0a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, + 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x02, 0x0a, 0x13, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x42, 0x0a, 0x03, 0x72, + 0x61, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x61, 0x77, 0x48, 0x00, 0x52, 0x03, 0x72, 0x61, 0x77, 0x1a, + 0xe3, 0x01, 0x0a, 0x03, 0x52, 0x61, 0x77, 0x12, 0x43, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, + 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x0b, + 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x65, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x48, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, + 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, + 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x43, 0x43, + 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, + 0x54, 0x45, 0x44, 0x10, 0x02, 0x22, 0xf2, 0x01, 0x0a, 0x21, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x08, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, + 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x1a, + 0x69, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf5, 0x01, 0x0a, 0x0a, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x61, + 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x09, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x21, 0x0a, 0x0c, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x22, 0xcb, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x12, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x11, 0x73, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x0a, + 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x52, 0x09, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, + 0x0c, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x22, 0x3a, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc2, 0x01, 0x0a, + 0x10, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x65, + 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, + 0x73, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x74, 0x65, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x39, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, + 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x2e, + 0x55, 0x6e, 0x69, 0x74, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, + 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x22, 0x3e, 0x0a, 0x04, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x0b, + 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, + 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x55, 0x54, + 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x55, 0x52, 0x10, 0x03, 0x12, 0x07, 0x0a, + 0x03, 0x44, 0x41, 0x59, 0x10, 0x04, 0x22, 0xdc, 0x0b, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x54, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x74, 0x65, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x0f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x0b, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x5e, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x10, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x74, + 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x0f, 0x0a, 0x0d, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x58, + 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x1a, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x37, 0x0a, 0x0a, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x1a, 0x9c, 0x05, 0x0a, 0x10, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x56, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xc5, 0x03, 0x0a, 0x0d, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x21, 0x0a, 0x0b, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x21, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x65, 0x78, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x6a, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x72, 0x61, 0x74, + 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, + 0x0c, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x34, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x42, 0x18, 0x0a, 0x16, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, + 0x04, 0x42, 0x12, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xab, 0x03, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x0c, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, + 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, + 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x2e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x9a, + 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x4b, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, + 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x2c, 0x0a, + 0x0b, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x42, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x26, 0x0a, 0x06, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, + 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, + 0x59, 0x10, 0x01, 0x22, 0xe1, 0x01, 0x0a, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x12, 0x5c, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x72, 0x61, 0x74, + 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x2e, 0x44, 0x79, 0x6e, 0x61, + 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0f, 0x64, + 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x61, + 0x0a, 0x0f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x4e, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, + 0x79, 0x42, 0x14, 0x0a, 0x12, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x54, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0xb8, 0xf5, 0x04, 0x01, 0xc0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescOnce sync.Once + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescData = file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDesc +) + +func file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescGZIP() []byte { + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescData) + }) + return file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDescData +} + +var file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_goTypes = []interface{}{ + (RateLimitConfigStatus_State)(0), // 0: ratelimit.api.solo.io.RateLimitConfigStatus.State + (RateLimit_Unit)(0), // 1: ratelimit.api.solo.io.RateLimit.Unit + (MetaData_Source)(0), // 2: ratelimit.api.solo.io.MetaData.Source + (*RateLimitConfigSpec)(nil), // 3: ratelimit.api.solo.io.RateLimitConfigSpec + (*RateLimitConfigStatus)(nil), // 4: ratelimit.api.solo.io.RateLimitConfigStatus + (*RateLimitConfigNamespacedStatuses)(nil), // 5: ratelimit.api.solo.io.RateLimitConfigNamespacedStatuses + (*Descriptor)(nil), // 6: ratelimit.api.solo.io.Descriptor + (*SetDescriptor)(nil), // 7: ratelimit.api.solo.io.SetDescriptor + (*SimpleDescriptor)(nil), // 8: ratelimit.api.solo.io.SimpleDescriptor + (*RateLimitActions)(nil), // 9: ratelimit.api.solo.io.RateLimitActions + (*RateLimit)(nil), // 10: ratelimit.api.solo.io.RateLimit + (*Action)(nil), // 11: ratelimit.api.solo.io.Action + (*MetaData)(nil), // 12: ratelimit.api.solo.io.MetaData + (*Override)(nil), // 13: ratelimit.api.solo.io.Override + (*RateLimitConfigSpec_Raw)(nil), // 14: ratelimit.api.solo.io.RateLimitConfigSpec.Raw + nil, // 15: ratelimit.api.solo.io.RateLimitConfigNamespacedStatuses.StatusesEntry + (*Action_SourceCluster)(nil), // 16: ratelimit.api.solo.io.Action.SourceCluster + (*Action_DestinationCluster)(nil), // 17: ratelimit.api.solo.io.Action.DestinationCluster + (*Action_RequestHeaders)(nil), // 18: ratelimit.api.solo.io.Action.RequestHeaders + (*Action_RemoteAddress)(nil), // 19: ratelimit.api.solo.io.Action.RemoteAddress + (*Action_GenericKey)(nil), // 20: ratelimit.api.solo.io.Action.GenericKey + (*Action_HeaderValueMatch)(nil), // 21: ratelimit.api.solo.io.Action.HeaderValueMatch + (*Action_HeaderValueMatch_HeaderMatcher)(nil), // 22: ratelimit.api.solo.io.Action.HeaderValueMatch.HeaderMatcher + (*Action_HeaderValueMatch_HeaderMatcher_Int64Range)(nil), // 23: ratelimit.api.solo.io.Action.HeaderValueMatch.HeaderMatcher.Int64Range + (*MetaData_MetadataKey)(nil), // 24: ratelimit.api.solo.io.MetaData.MetadataKey + (*MetaData_MetadataKey_PathSegment)(nil), // 25: ratelimit.api.solo.io.MetaData.MetadataKey.PathSegment + (*Override_DynamicMetadata)(nil), // 26: ratelimit.api.solo.io.Override.DynamicMetadata + (*wrappers.BoolValue)(nil), // 27: google.protobuf.BoolValue +} +var file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_depIdxs = []int32{ + 14, // 0: ratelimit.api.solo.io.RateLimitConfigSpec.raw:type_name -> ratelimit.api.solo.io.RateLimitConfigSpec.Raw + 0, // 1: ratelimit.api.solo.io.RateLimitConfigStatus.state:type_name -> ratelimit.api.solo.io.RateLimitConfigStatus.State + 15, // 2: ratelimit.api.solo.io.RateLimitConfigNamespacedStatuses.statuses:type_name -> ratelimit.api.solo.io.RateLimitConfigNamespacedStatuses.StatusesEntry + 10, // 3: ratelimit.api.solo.io.Descriptor.rate_limit:type_name -> ratelimit.api.solo.io.RateLimit + 6, // 4: ratelimit.api.solo.io.Descriptor.descriptors:type_name -> ratelimit.api.solo.io.Descriptor + 8, // 5: ratelimit.api.solo.io.SetDescriptor.simple_descriptors:type_name -> ratelimit.api.solo.io.SimpleDescriptor + 10, // 6: ratelimit.api.solo.io.SetDescriptor.rate_limit:type_name -> ratelimit.api.solo.io.RateLimit + 11, // 7: ratelimit.api.solo.io.RateLimitActions.actions:type_name -> ratelimit.api.solo.io.Action + 11, // 8: ratelimit.api.solo.io.RateLimitActions.set_actions:type_name -> ratelimit.api.solo.io.Action + 13, // 9: ratelimit.api.solo.io.RateLimitActions.limit:type_name -> ratelimit.api.solo.io.Override + 1, // 10: ratelimit.api.solo.io.RateLimit.unit:type_name -> ratelimit.api.solo.io.RateLimit.Unit + 16, // 11: ratelimit.api.solo.io.Action.source_cluster:type_name -> ratelimit.api.solo.io.Action.SourceCluster + 17, // 12: ratelimit.api.solo.io.Action.destination_cluster:type_name -> ratelimit.api.solo.io.Action.DestinationCluster + 18, // 13: ratelimit.api.solo.io.Action.request_headers:type_name -> ratelimit.api.solo.io.Action.RequestHeaders + 19, // 14: ratelimit.api.solo.io.Action.remote_address:type_name -> ratelimit.api.solo.io.Action.RemoteAddress + 20, // 15: ratelimit.api.solo.io.Action.generic_key:type_name -> ratelimit.api.solo.io.Action.GenericKey + 21, // 16: ratelimit.api.solo.io.Action.header_value_match:type_name -> ratelimit.api.solo.io.Action.HeaderValueMatch + 12, // 17: ratelimit.api.solo.io.Action.metadata:type_name -> ratelimit.api.solo.io.MetaData + 24, // 18: ratelimit.api.solo.io.MetaData.metadata_key:type_name -> ratelimit.api.solo.io.MetaData.MetadataKey + 2, // 19: ratelimit.api.solo.io.MetaData.source:type_name -> ratelimit.api.solo.io.MetaData.Source + 26, // 20: ratelimit.api.solo.io.Override.dynamic_metadata:type_name -> ratelimit.api.solo.io.Override.DynamicMetadata + 6, // 21: ratelimit.api.solo.io.RateLimitConfigSpec.Raw.descriptors:type_name -> ratelimit.api.solo.io.Descriptor + 9, // 22: ratelimit.api.solo.io.RateLimitConfigSpec.Raw.rate_limits:type_name -> ratelimit.api.solo.io.RateLimitActions + 7, // 23: ratelimit.api.solo.io.RateLimitConfigSpec.Raw.set_descriptors:type_name -> ratelimit.api.solo.io.SetDescriptor + 4, // 24: ratelimit.api.solo.io.RateLimitConfigNamespacedStatuses.StatusesEntry.value:type_name -> ratelimit.api.solo.io.RateLimitConfigStatus + 27, // 25: ratelimit.api.solo.io.Action.HeaderValueMatch.expect_match:type_name -> google.protobuf.BoolValue + 22, // 26: ratelimit.api.solo.io.Action.HeaderValueMatch.headers:type_name -> ratelimit.api.solo.io.Action.HeaderValueMatch.HeaderMatcher + 23, // 27: ratelimit.api.solo.io.Action.HeaderValueMatch.HeaderMatcher.range_match:type_name -> ratelimit.api.solo.io.Action.HeaderValueMatch.HeaderMatcher.Int64Range + 25, // 28: ratelimit.api.solo.io.MetaData.MetadataKey.path:type_name -> ratelimit.api.solo.io.MetaData.MetadataKey.PathSegment + 24, // 29: ratelimit.api.solo.io.Override.DynamicMetadata.metadata_key:type_name -> ratelimit.api.solo.io.MetaData.MetadataKey + 30, // [30:30] is the sub-list for method output_type + 30, // [30:30] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name +} + +func init() { file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_init() } +func file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_init() { + if File_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitConfigSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitConfigStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitConfigNamespacedStatuses); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Descriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SimpleDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitActions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetaData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Override); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitConfigSpec_Raw); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action_SourceCluster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action_DestinationCluster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action_RequestHeaders); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action_RemoteAddress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action_GenericKey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action_HeaderValueMatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action_HeaderValueMatch_HeaderMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Action_HeaderValueMatch_HeaderMatcher_Int64Range); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetaData_MetadataKey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetaData_MetadataKey_PathSegment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Override_DynamicMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*RateLimitConfigSpec_Raw_)(nil), + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*Action_SourceCluster_)(nil), + (*Action_DestinationCluster_)(nil), + (*Action_RequestHeaders_)(nil), + (*Action_RemoteAddress_)(nil), + (*Action_GenericKey_)(nil), + (*Action_HeaderValueMatch_)(nil), + (*Action_Metadata)(nil), + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[10].OneofWrappers = []interface{}{ + (*Override_DynamicMetadata_)(nil), + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[19].OneofWrappers = []interface{}{ + (*Action_HeaderValueMatch_HeaderMatcher_ExactMatch)(nil), + (*Action_HeaderValueMatch_HeaderMatcher_RegexMatch)(nil), + (*Action_HeaderValueMatch_HeaderMatcher_RangeMatch)(nil), + (*Action_HeaderValueMatch_HeaderMatcher_PresentMatch)(nil), + (*Action_HeaderValueMatch_HeaderMatcher_PrefixMatch)(nil), + (*Action_HeaderValueMatch_HeaderMatcher_SuffixMatch)(nil), + } + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes[22].OneofWrappers = []interface{}{ + (*MetaData_MetadataKey_PathSegment_Key)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDesc, + NumEnums: 3, + NumMessages: 24, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_depIdxs, + EnumInfos: file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_enumTypes, + MessageInfos: file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_msgTypes, + }.Build() + File_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto = out.File + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_rawDesc = nil + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_goTypes = nil + file_github_com_solo_io_solo_apis_api_rate_limiter_v1alpha1_ratelimit_proto_depIdxs = nil +} diff --git a/client-go/ratelimit.solo.io/v1alpha1/ratelimit.pb.hash.go b/client-go/ratelimit.solo.io/v1alpha1/ratelimit.pb.hash.go new file mode 100644 index 000000000..f26a1b31e --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/ratelimit.pb.hash.go @@ -0,0 +1,1153 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/rate-limiter/v1alpha1/ratelimit.proto + +package v1alpha1 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *RateLimitConfigSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.RateLimitConfigSpec")); err != nil { + return 0, err + } + + switch m.ConfigType.(type) { + + case *RateLimitConfigSpec_Raw_: + + if h, ok := interface{}(m.GetRaw()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Raw")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRaw(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Raw")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitConfigStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.RateLimitConfigStatus")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetState()) + if err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetMessage())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetObservedGeneration()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitConfigNamespacedStatuses) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.RateLimitConfigNamespacedStatuses")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetStatuses() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Descriptor) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.Descriptor")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRateLimit()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RateLimit")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRateLimit(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RateLimit")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetDescriptors() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetWeight()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAlwaysApply()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SetDescriptor) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.SetDescriptor")); err != nil { + return 0, err + } + + for _, v := range m.GetSimpleDescriptors() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetRateLimit()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RateLimit")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRateLimit(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RateLimit")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAlwaysApply()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *SimpleDescriptor) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.SimpleDescriptor")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetValue())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitActions) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.RateLimitActions")); err != nil { + return 0, err + } + + for _, v := range m.GetActions() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetSetActions() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetLimit()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Limit")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLimit(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Limit")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimit) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.RateLimit")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetUnit()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRequestsPerUnit()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Action) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.Action")); err != nil { + return 0, err + } + + switch m.ActionSpecifier.(type) { + + case *Action_SourceCluster_: + + if h, ok := interface{}(m.GetSourceCluster()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SourceCluster")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSourceCluster(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SourceCluster")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *Action_DestinationCluster_: + + if h, ok := interface{}(m.GetDestinationCluster()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DestinationCluster")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDestinationCluster(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DestinationCluster")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *Action_RequestHeaders_: + + if h, ok := interface{}(m.GetRequestHeaders()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RequestHeaders")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequestHeaders(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RequestHeaders")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *Action_RemoteAddress_: + + if h, ok := interface{}(m.GetRemoteAddress()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RemoteAddress")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRemoteAddress(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RemoteAddress")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *Action_GenericKey_: + + if h, ok := interface{}(m.GetGenericKey()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("GenericKey")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGenericKey(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("GenericKey")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *Action_HeaderValueMatch_: + + if h, ok := interface{}(m.GetHeaderValueMatch()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HeaderValueMatch")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHeaderValueMatch(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HeaderValueMatch")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *Action_Metadata: + + if h, ok := interface{}(m.GetMetadata()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Metadata")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMetadata(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Metadata")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MetaData) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.MetaData")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetDescriptorKey())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMetadataKey()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MetadataKey")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMetadataKey(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MetadataKey")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetDefaultValue())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSource()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Override) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.Override")); err != nil { + return 0, err + } + + switch m.OverrideSpecifier.(type) { + + case *Override_DynamicMetadata_: + + if h, ok := interface{}(m.GetDynamicMetadata()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DynamicMetadata")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDynamicMetadata(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DynamicMetadata")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitConfigSpec_Raw) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.RateLimitConfigSpec_Raw")); err != nil { + return 0, err + } + + for _, v := range m.GetDescriptors() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetRateLimits() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetSetDescriptors() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Action_SourceCluster) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.Action_SourceCluster")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Action_DestinationCluster) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.Action_DestinationCluster")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Action_RequestHeaders) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.Action_RequestHeaders")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHeaderName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetDescriptorKey())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Action_RemoteAddress) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.Action_RemoteAddress")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Action_GenericKey) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.Action_GenericKey")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetDescriptorValue())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Action_HeaderValueMatch) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.Action_HeaderValueMatch")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetDescriptorValue())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetExpectMatch()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ExpectMatch")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetExpectMatch(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ExpectMatch")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Action_HeaderValueMatch_HeaderMatcher) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.Action_HeaderValueMatch_HeaderMatcher")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetInvertMatch()) + if err != nil { + return 0, err + } + + switch m.HeaderMatchSpecifier.(type) { + + case *Action_HeaderValueMatch_HeaderMatcher_ExactMatch: + + if _, err = hasher.Write([]byte(m.GetExactMatch())); err != nil { + return 0, err + } + + case *Action_HeaderValueMatch_HeaderMatcher_RegexMatch: + + if _, err = hasher.Write([]byte(m.GetRegexMatch())); err != nil { + return 0, err + } + + case *Action_HeaderValueMatch_HeaderMatcher_RangeMatch: + + if h, ok := interface{}(m.GetRangeMatch()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RangeMatch")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRangeMatch(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RangeMatch")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *Action_HeaderValueMatch_HeaderMatcher_PresentMatch: + + err = binary.Write(hasher, binary.LittleEndian, m.GetPresentMatch()) + if err != nil { + return 0, err + } + + case *Action_HeaderValueMatch_HeaderMatcher_PrefixMatch: + + if _, err = hasher.Write([]byte(m.GetPrefixMatch())); err != nil { + return 0, err + } + + case *Action_HeaderValueMatch_HeaderMatcher_SuffixMatch: + + if _, err = hasher.Write([]byte(m.GetSuffixMatch())); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Action_HeaderValueMatch_HeaderMatcher_Int64Range) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.Action_HeaderValueMatch_HeaderMatcher_Int64Range")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetStart()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetEnd()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MetaData_MetadataKey) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.MetaData_MetadataKey")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + for _, v := range m.GetPath() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MetaData_MetadataKey_PathSegment) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.MetaData_MetadataKey_PathSegment")); err != nil { + return 0, err + } + + switch m.Segment.(type) { + + case *MetaData_MetadataKey_PathSegment_Key: + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Override_DynamicMetadata) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("ratelimit.api.solo.io.github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1.Override_DynamicMetadata")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMetadataKey()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MetadataKey")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMetadataKey(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MetadataKey")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/ratelimit.solo.io/v1alpha1/register.go b/client-go/ratelimit.solo.io/v1alpha1/register.go new file mode 100644 index 000000000..ea1da3be4 --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "ratelimit.solo.io", Version: "v1alpha1"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/ratelimit.solo.io/v1alpha1/type_helpers.go b/client-go/ratelimit.solo.io/v1alpha1/type_helpers.go new file mode 100644 index 000000000..e751504e2 --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/type_helpers.go @@ -0,0 +1,7 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v1alpha1 + +// RateLimitConfigSlice represents a slice of *RateLimitConfig +type RateLimitConfigSlice []*RateLimitConfig diff --git a/client-go/ratelimit.solo.io/v1alpha1/types.go b/client-go/ratelimit.solo.io/v1alpha1/types.go new file mode 100644 index 000000000..e6e550dee --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/types.go @@ -0,0 +1,48 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for RateLimitConfig +var RateLimitConfigGVK = schema.GroupVersionKind{ + Group: "ratelimit.solo.io", + Version: "v1alpha1", + Kind: "RateLimitConfig", +} + +// RateLimitConfig is the Schema for the rateLimitConfig API +type RateLimitConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec RateLimitConfigSpec `json:"spec,omitempty"` + Status RateLimitConfigStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (RateLimitConfig) GVK() schema.GroupVersionKind { + return RateLimitConfigGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RateLimitConfigList contains a list of RateLimitConfig +type RateLimitConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RateLimitConfig `json:"items"` +} + +func init() { + SchemeBuilder.Register(&RateLimitConfig{}, &RateLimitConfigList{}) +} diff --git a/client-go/ratelimit.solo.io/v1alpha1/zz_generated.deepcopy.go b/client-go/ratelimit.solo.io/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 000000000..a267735aa --- /dev/null +++ b/client-go/ratelimit.solo.io/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,69 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for ratelimit.solo.io/v1alpha1 resources + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for RateLimitConfig + +func (in *RateLimitConfig) DeepCopyInto(out *RateLimitConfig) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *RateLimitConfig) DeepCopy() *RateLimitConfig { + if in == nil { + return nil + } + out := new(RateLimitConfig) + in.DeepCopyInto(out) + return out +} + +func (in *RateLimitConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *RateLimitConfigList) DeepCopyInto(out *RateLimitConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RateLimitConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *RateLimitConfigList) DeepCopy() *RateLimitConfigList { + if in == nil { + return nil + } + out := new(RateLimitConfigList) + in.DeepCopyInto(out) + return out +} + +func (in *RateLimitConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/active_health_check_policy.pb.clone.go b/client-go/resilience.policy.gloo.solo.io/v2/active_health_check_policy.pb.clone.go new file mode 100644 index 000000000..f11db960e --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/active_health_check_policy.pb.clone.go @@ -0,0 +1,146 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/active_health_check_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_envoyproxy_go_control_plane_envoy_config_core_v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ActiveHealthCheckPolicySpec) Clone() proto.Message { + var target *ActiveHealthCheckPolicySpec + if m == nil { + return target + } + target = &ActiveHealthCheckPolicySpec{} + + if m.GetApplyToDestinations() != nil { + target.ApplyToDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector, len(m.GetApplyToDestinations())) + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.ApplyToDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*ActiveHealthCheckPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*ActiveHealthCheckPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *ActiveHealthCheckPolicyStatus) Clone() proto.Message { + var target *ActiveHealthCheckPolicyStatus + if m == nil { + return target + } + target = &ActiveHealthCheckPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedDestinationPorts = m.GetNumSelectedDestinationPorts() + + return target +} + +// Clone function +func (m *ActiveHealthCheckPolicyReport) Clone() proto.Message { + var target *ActiveHealthCheckPolicyReport + if m == nil { + return target + } + target = &ActiveHealthCheckPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedDestinationPorts() != nil { + target.SelectedDestinationPorts = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetSelectedDestinationPorts())) + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedDestinationPorts[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.SelectedDestinationPorts[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + return target +} + +// Clone function +func (m *ActiveHealthCheckPolicySpec_Config) Clone() proto.Message { + var target *ActiveHealthCheckPolicySpec_Config + if m == nil { + return target + } + target = &ActiveHealthCheckPolicySpec_Config{} + + if h, ok := interface{}(m.GetHealthCheck()).(clone.Cloner); ok { + target.HealthCheck = h.Clone().(*github_com_envoyproxy_go_control_plane_envoy_config_core_v3.HealthCheck) + } else { + target.HealthCheck = proto.Clone(m.GetHealthCheck()).(*github_com_envoyproxy_go_control_plane_envoy_config_core_v3.HealthCheck) + } + + if m.GetVirtualGateways() != nil { + target.VirtualGateways = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetVirtualGateways())) + for idx, v := range m.GetVirtualGateways() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.VirtualGateways[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.VirtualGateways[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + return target +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/active_health_check_policy.pb.equal.go b/client-go/resilience.policy.gloo.solo.io/v2/active_health_check_policy.pb.equal.go new file mode 100644 index 000000000..c7ffe31b6 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/active_health_check_policy.pb.equal.go @@ -0,0 +1,224 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/active_health_check_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ActiveHealthCheckPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ActiveHealthCheckPolicySpec) + if !ok { + that2, ok := that.(ActiveHealthCheckPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToDestinations()) != len(target.GetApplyToDestinations()) { + return false + } + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToDestinations()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *ActiveHealthCheckPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ActiveHealthCheckPolicyStatus) + if !ok { + that2, ok := that.(ActiveHealthCheckPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedDestinationPorts() != target.GetNumSelectedDestinationPorts() { + return false + } + + return true +} + +// Equal function +func (m *ActiveHealthCheckPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ActiveHealthCheckPolicyReport) + if !ok { + that2, ok := that.(ActiveHealthCheckPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedDestinationPorts()) != len(target.GetSelectedDestinationPorts()) { + return false + } + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedDestinationPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedDestinationPorts()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ActiveHealthCheckPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ActiveHealthCheckPolicySpec_Config) + if !ok { + that2, ok := that.(ActiveHealthCheckPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetHealthCheck()).(equality.Equalizer); ok { + if !h.Equal(target.GetHealthCheck()) { + return false + } + } else { + if !proto.Equal(m.GetHealthCheck(), target.GetHealthCheck()) { + return false + } + } + + if len(m.GetVirtualGateways()) != len(target.GetVirtualGateways()) { + return false + } + for idx, v := range m.GetVirtualGateways() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetVirtualGateways()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetVirtualGateways()[idx]) { + return false + } + } + + } + + return true +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/active_health_check_policy.pb.go b/client-go/resilience.policy.gloo.solo.io/v2/active_health_check_policy.pb.go new file mode 100644 index 000000000..9db8acd95 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/active_health_check_policy.pb.go @@ -0,0 +1,490 @@ +// {{% readfile file="static/content/policies/ov_healthcheck" markdown="true"%}} +// If an upstream service is unavailable, the service is removed from the +// load balancing pool until health is re-established. Active healthcheck +// policies are applied at the *Destination* level. For more information, +// see the [Envoy healthcheck configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/health_checking). +// +// **Example**: For detailed information about the settings in this example, +// see [Configure active healthcheck policies](https://docs.solo.io/gloo-gateway/main/policies/healthcheck/#configure-active-healthcheck-policies). +// ```yaml +// {{% readfile file="/content/gateway/static/content/examples/generated/int/ahcp_fail_http/cluster-1/active-health-check-policy_bookinfo_active-health-check-policy-httbin-unhealthy.yaml" %}} +// ``` + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/active_health_check_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Specifications for the policy. +type ActiveHealthCheckPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Destinations to actively health check. + // If empty, no healthchecks are performed. + ApplyToDestinations []*v2.DestinationSelector `protobuf:"bytes,1,rep,name=apply_to_destinations,json=applyToDestinations,proto3" json:"apply_to_destinations,omitempty"` + // Details of the healthcheck policy to apply to the selected destinations. + Config *ActiveHealthCheckPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *ActiveHealthCheckPolicySpec) Reset() { + *x = ActiveHealthCheckPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ActiveHealthCheckPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActiveHealthCheckPolicySpec) ProtoMessage() {} + +func (x *ActiveHealthCheckPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActiveHealthCheckPolicySpec.ProtoReflect.Descriptor instead. +func (*ActiveHealthCheckPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *ActiveHealthCheckPolicySpec) GetApplyToDestinations() []*v2.DestinationSelector { + if x != nil { + return x.ApplyToDestinations + } + return nil +} + +func (x *ActiveHealthCheckPolicySpec) GetConfig() *ActiveHealthCheckPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type ActiveHealthCheckPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied policy. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of destination ports selected by the policy. + NumSelectedDestinationPorts uint32 `protobuf:"varint,2,opt,name=num_selected_destination_ports,json=numSelectedDestinationPorts,proto3" json:"num_selected_destination_ports,omitempty"` +} + +func (x *ActiveHealthCheckPolicyStatus) Reset() { + *x = ActiveHealthCheckPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ActiveHealthCheckPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActiveHealthCheckPolicyStatus) ProtoMessage() {} + +func (x *ActiveHealthCheckPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActiveHealthCheckPolicyStatus.ProtoReflect.Descriptor instead. +func (*ActiveHealthCheckPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *ActiveHealthCheckPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *ActiveHealthCheckPolicyStatus) GetNumSelectedDestinationPorts() uint32 { + if x != nil { + return x.NumSelectedDestinationPorts + } + return 0 +} + +// The report shows the resources that the policy selects after the policy is successfully applied. +type ActiveHealthCheckPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to destinations. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Destination ports selected by the policy. + SelectedDestinationPorts []*v2.DestinationReference `protobuf:"bytes,2,rep,name=selected_destination_ports,json=selectedDestinationPorts,proto3" json:"selected_destination_ports,omitempty"` +} + +func (x *ActiveHealthCheckPolicyReport) Reset() { + *x = ActiveHealthCheckPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ActiveHealthCheckPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActiveHealthCheckPolicyReport) ProtoMessage() {} + +func (x *ActiveHealthCheckPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActiveHealthCheckPolicyReport.ProtoReflect.Descriptor instead. +func (*ActiveHealthCheckPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *ActiveHealthCheckPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *ActiveHealthCheckPolicyReport) GetSelectedDestinationPorts() []*v2.DestinationReference { + if x != nil { + return x.SelectedDestinationPorts + } + return nil +} + +// Details of the healthcheck policy to apply to the selected destinations. +type ActiveHealthCheckPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Configuration for the Envoy healthcheck. For more info, see the + // [Envoy healthcheck config reference](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/endpoint/v3/endpoint_components.proto#config-endpoint-v3-endpoint-healthcheckconfig). + HealthCheck *v3.HealthCheck `protobuf:"bytes,1,opt,name=health_check,json=healthCheck,proto3" json:"health_check,omitempty"` + // A list of references to virtual gateways that perform the healthchecks. + VirtualGateways []*v2.ObjectReference `protobuf:"bytes,5,rep,name=virtual_gateways,json=virtualGateways,proto3" json:"virtual_gateways,omitempty"` +} + +func (x *ActiveHealthCheckPolicySpec_Config) Reset() { + *x = ActiveHealthCheckPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ActiveHealthCheckPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActiveHealthCheckPolicySpec_Config) ProtoMessage() {} + +func (x *ActiveHealthCheckPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActiveHealthCheckPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*ActiveHealthCheckPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ActiveHealthCheckPolicySpec_Config) GetHealthCheck() *v3.HealthCheck { + if x != nil { + return x.HealthCheck + } + return nil +} + +func (x *ActiveHealthCheckPolicySpec_Config) GetVirtualGateways() []*v2.ObjectReference { + if x != nil { + return x.VirtualGateways + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDesc = []byte{ + 0x0a, 0x6e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2f, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x1e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x03, 0x0a, 0x1b, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5c, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, + 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x1a, 0xa6, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, + 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x4f, 0x0a, 0x10, 0x76, 0x69, + 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x76, 0x69, 0x72, 0x74, + 0x75, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x1d, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, + 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1e, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x6e, 0x75, 0x6d, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x22, 0xd3, 0x02, 0x0a, 0x1d, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6d, 0x0a, 0x0a, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, + 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x18, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, + 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5f, 0x5a, + 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_goTypes = []interface{}{ + (*ActiveHealthCheckPolicySpec)(nil), // 0: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicySpec + (*ActiveHealthCheckPolicyStatus)(nil), // 1: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicyStatus + (*ActiveHealthCheckPolicyReport)(nil), // 2: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicyReport + (*ActiveHealthCheckPolicySpec_Config)(nil), // 3: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicySpec.Config + nil, // 4: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicyReport.WorkspacesEntry + (*v2.DestinationSelector)(nil), // 5: common.gloo.solo.io.DestinationSelector + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.DestinationReference)(nil), // 7: common.gloo.solo.io.DestinationReference + (*v3.HealthCheck)(nil), // 8: envoy.config.core.v3.HealthCheck + (*v2.ObjectReference)(nil), // 9: common.gloo.solo.io.ObjectReference + (*v2.Report)(nil), // 10: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_depIdxs = []int32{ + 5, // 0: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicySpec.apply_to_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 3, // 1: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicySpec.config:type_name -> resilience.policy.gloo.solo.io.ActiveHealthCheckPolicySpec.Config + 6, // 2: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicyReport.workspaces:type_name -> resilience.policy.gloo.solo.io.ActiveHealthCheckPolicyReport.WorkspacesEntry + 7, // 4: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicyReport.selected_destination_ports:type_name -> common.gloo.solo.io.DestinationReference + 8, // 5: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicySpec.Config.health_check:type_name -> envoy.config.core.v3.HealthCheck + 9, // 6: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicySpec.Config.virtual_gateways:type_name -> common.gloo.solo.io.ObjectReference + 10, // 7: resilience.policy.gloo.solo.io.ActiveHealthCheckPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ActiveHealthCheckPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ActiveHealthCheckPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ActiveHealthCheckPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ActiveHealthCheckPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_active_health_check_policy_proto_depIdxs = nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/active_health_check_policy.pb.hash.go b/client-go/resilience.policy.gloo.solo.io/v2/active_health_check_policy.pb.hash.go new file mode 100644 index 000000000..ec1bfda38 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/active_health_check_policy.pb.hash.go @@ -0,0 +1,266 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/active_health_check_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ActiveHealthCheckPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ActiveHealthCheckPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ActiveHealthCheckPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ActiveHealthCheckPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedDestinationPorts()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ActiveHealthCheckPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ActiveHealthCheckPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ActiveHealthCheckPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ActiveHealthCheckPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetHealthCheck()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HealthCheck")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHealthCheck(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HealthCheck")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetVirtualGateways() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/clients.go b/client-go/resilience.policy.gloo.solo.io/v2/clients.go new file mode 100644 index 000000000..4fe142c60 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/clients.go @@ -0,0 +1,1405 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the resilience.policy.gloo.solo.io/v2 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the resilience.policy.gloo.solo.io/v2 APIs +type Clientset interface { + // clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs + GraphQLPersistedQueryCachePolicies() GraphQLPersistedQueryCachePolicyClient + // clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs + FailoverPolicies() FailoverPolicyClient + // clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs + OutlierDetectionPolicies() OutlierDetectionPolicyClient + // clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs + FaultInjectionPolicies() FaultInjectionPolicyClient + // clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs + RetryTimeoutPolicies() RetryTimeoutPolicyClient + // clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs + ConnectionPolicies() ConnectionPolicyClient + // clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs + TrimProxyConfigPolicies() TrimProxyConfigPolicyClient + // clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs + ActiveHealthCheckPolicies() ActiveHealthCheckPolicyClient + // clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs + ListenerConnectionPolicies() ListenerConnectionPolicyClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) GraphQLPersistedQueryCachePolicies() GraphQLPersistedQueryCachePolicyClient { + return NewGraphQLPersistedQueryCachePolicyClient(c.client) +} + +// clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) FailoverPolicies() FailoverPolicyClient { + return NewFailoverPolicyClient(c.client) +} + +// clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) OutlierDetectionPolicies() OutlierDetectionPolicyClient { + return NewOutlierDetectionPolicyClient(c.client) +} + +// clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) FaultInjectionPolicies() FaultInjectionPolicyClient { + return NewFaultInjectionPolicyClient(c.client) +} + +// clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) RetryTimeoutPolicies() RetryTimeoutPolicyClient { + return NewRetryTimeoutPolicyClient(c.client) +} + +// clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) ConnectionPolicies() ConnectionPolicyClient { + return NewConnectionPolicyClient(c.client) +} + +// clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) TrimProxyConfigPolicies() TrimProxyConfigPolicyClient { + return NewTrimProxyConfigPolicyClient(c.client) +} + +// clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) ActiveHealthCheckPolicies() ActiveHealthCheckPolicyClient { + return NewActiveHealthCheckPolicyClient(c.client) +} + +// clienset for the resilience.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) ListenerConnectionPolicies() ListenerConnectionPolicyClient { + return NewListenerConnectionPolicyClient(c.client) +} + +// Reader knows how to read and list GraphQLPersistedQueryCachePolicys. +type GraphQLPersistedQueryCachePolicyReader interface { + // Get retrieves a GraphQLPersistedQueryCachePolicy for the given object key + GetGraphQLPersistedQueryCachePolicy(ctx context.Context, key client.ObjectKey) (*GraphQLPersistedQueryCachePolicy, error) + + // List retrieves list of GraphQLPersistedQueryCachePolicys for a given namespace and list options. + ListGraphQLPersistedQueryCachePolicy(ctx context.Context, opts ...client.ListOption) (*GraphQLPersistedQueryCachePolicyList, error) +} + +// GraphQLPersistedQueryCachePolicyTransitionFunction instructs the GraphQLPersistedQueryCachePolicyWriter how to transition between an existing +// GraphQLPersistedQueryCachePolicy object and a desired on an Upsert +type GraphQLPersistedQueryCachePolicyTransitionFunction func(existing, desired *GraphQLPersistedQueryCachePolicy) error + +// Writer knows how to create, delete, and update GraphQLPersistedQueryCachePolicys. +type GraphQLPersistedQueryCachePolicyWriter interface { + // Create saves the GraphQLPersistedQueryCachePolicy object. + CreateGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *GraphQLPersistedQueryCachePolicy, opts ...client.CreateOption) error + + // Delete deletes the GraphQLPersistedQueryCachePolicy object. + DeleteGraphQLPersistedQueryCachePolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given GraphQLPersistedQueryCachePolicy object. + UpdateGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *GraphQLPersistedQueryCachePolicy, opts ...client.UpdateOption) error + + // Patch patches the given GraphQLPersistedQueryCachePolicy object. + PatchGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *GraphQLPersistedQueryCachePolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all GraphQLPersistedQueryCachePolicy objects matching the given options. + DeleteAllOfGraphQLPersistedQueryCachePolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the GraphQLPersistedQueryCachePolicy object. + UpsertGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *GraphQLPersistedQueryCachePolicy, transitionFuncs ...GraphQLPersistedQueryCachePolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a GraphQLPersistedQueryCachePolicy object. +type GraphQLPersistedQueryCachePolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given GraphQLPersistedQueryCachePolicy object. + UpdateGraphQLPersistedQueryCachePolicyStatus(ctx context.Context, obj *GraphQLPersistedQueryCachePolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given GraphQLPersistedQueryCachePolicy object's subresource. + PatchGraphQLPersistedQueryCachePolicyStatus(ctx context.Context, obj *GraphQLPersistedQueryCachePolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on GraphQLPersistedQueryCachePolicys. +type GraphQLPersistedQueryCachePolicyClient interface { + GraphQLPersistedQueryCachePolicyReader + GraphQLPersistedQueryCachePolicyWriter + GraphQLPersistedQueryCachePolicyStatusWriter +} + +type graphQLPersistedQueryCachePolicyClient struct { + client client.Client +} + +func NewGraphQLPersistedQueryCachePolicyClient(client client.Client) *graphQLPersistedQueryCachePolicyClient { + return &graphQLPersistedQueryCachePolicyClient{client: client} +} + +func (c *graphQLPersistedQueryCachePolicyClient) GetGraphQLPersistedQueryCachePolicy(ctx context.Context, key client.ObjectKey) (*GraphQLPersistedQueryCachePolicy, error) { + obj := &GraphQLPersistedQueryCachePolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *graphQLPersistedQueryCachePolicyClient) ListGraphQLPersistedQueryCachePolicy(ctx context.Context, opts ...client.ListOption) (*GraphQLPersistedQueryCachePolicyList, error) { + list := &GraphQLPersistedQueryCachePolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *graphQLPersistedQueryCachePolicyClient) CreateGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *GraphQLPersistedQueryCachePolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *graphQLPersistedQueryCachePolicyClient) DeleteGraphQLPersistedQueryCachePolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &GraphQLPersistedQueryCachePolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *graphQLPersistedQueryCachePolicyClient) UpdateGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *GraphQLPersistedQueryCachePolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *graphQLPersistedQueryCachePolicyClient) PatchGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *GraphQLPersistedQueryCachePolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *graphQLPersistedQueryCachePolicyClient) DeleteAllOfGraphQLPersistedQueryCachePolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &GraphQLPersistedQueryCachePolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *graphQLPersistedQueryCachePolicyClient) UpsertGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *GraphQLPersistedQueryCachePolicy, transitionFuncs ...GraphQLPersistedQueryCachePolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*GraphQLPersistedQueryCachePolicy), desired.(*GraphQLPersistedQueryCachePolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *graphQLPersistedQueryCachePolicyClient) UpdateGraphQLPersistedQueryCachePolicyStatus(ctx context.Context, obj *GraphQLPersistedQueryCachePolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *graphQLPersistedQueryCachePolicyClient) PatchGraphQLPersistedQueryCachePolicyStatus(ctx context.Context, obj *GraphQLPersistedQueryCachePolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides GraphQLPersistedQueryCachePolicyClients for multiple clusters. +type MulticlusterGraphQLPersistedQueryCachePolicyClient interface { + // Cluster returns a GraphQLPersistedQueryCachePolicyClient for the given cluster + Cluster(cluster string) (GraphQLPersistedQueryCachePolicyClient, error) +} + +type multiclusterGraphQLPersistedQueryCachePolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterGraphQLPersistedQueryCachePolicyClient(client multicluster.Client) MulticlusterGraphQLPersistedQueryCachePolicyClient { + return &multiclusterGraphQLPersistedQueryCachePolicyClient{client: client} +} + +func (m *multiclusterGraphQLPersistedQueryCachePolicyClient) Cluster(cluster string) (GraphQLPersistedQueryCachePolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewGraphQLPersistedQueryCachePolicyClient(client), nil +} + +// Reader knows how to read and list FailoverPolicys. +type FailoverPolicyReader interface { + // Get retrieves a FailoverPolicy for the given object key + GetFailoverPolicy(ctx context.Context, key client.ObjectKey) (*FailoverPolicy, error) + + // List retrieves list of FailoverPolicys for a given namespace and list options. + ListFailoverPolicy(ctx context.Context, opts ...client.ListOption) (*FailoverPolicyList, error) +} + +// FailoverPolicyTransitionFunction instructs the FailoverPolicyWriter how to transition between an existing +// FailoverPolicy object and a desired on an Upsert +type FailoverPolicyTransitionFunction func(existing, desired *FailoverPolicy) error + +// Writer knows how to create, delete, and update FailoverPolicys. +type FailoverPolicyWriter interface { + // Create saves the FailoverPolicy object. + CreateFailoverPolicy(ctx context.Context, obj *FailoverPolicy, opts ...client.CreateOption) error + + // Delete deletes the FailoverPolicy object. + DeleteFailoverPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given FailoverPolicy object. + UpdateFailoverPolicy(ctx context.Context, obj *FailoverPolicy, opts ...client.UpdateOption) error + + // Patch patches the given FailoverPolicy object. + PatchFailoverPolicy(ctx context.Context, obj *FailoverPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all FailoverPolicy objects matching the given options. + DeleteAllOfFailoverPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the FailoverPolicy object. + UpsertFailoverPolicy(ctx context.Context, obj *FailoverPolicy, transitionFuncs ...FailoverPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a FailoverPolicy object. +type FailoverPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given FailoverPolicy object. + UpdateFailoverPolicyStatus(ctx context.Context, obj *FailoverPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given FailoverPolicy object's subresource. + PatchFailoverPolicyStatus(ctx context.Context, obj *FailoverPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on FailoverPolicys. +type FailoverPolicyClient interface { + FailoverPolicyReader + FailoverPolicyWriter + FailoverPolicyStatusWriter +} + +type failoverPolicyClient struct { + client client.Client +} + +func NewFailoverPolicyClient(client client.Client) *failoverPolicyClient { + return &failoverPolicyClient{client: client} +} + +func (c *failoverPolicyClient) GetFailoverPolicy(ctx context.Context, key client.ObjectKey) (*FailoverPolicy, error) { + obj := &FailoverPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *failoverPolicyClient) ListFailoverPolicy(ctx context.Context, opts ...client.ListOption) (*FailoverPolicyList, error) { + list := &FailoverPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *failoverPolicyClient) CreateFailoverPolicy(ctx context.Context, obj *FailoverPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *failoverPolicyClient) DeleteFailoverPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &FailoverPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *failoverPolicyClient) UpdateFailoverPolicy(ctx context.Context, obj *FailoverPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *failoverPolicyClient) PatchFailoverPolicy(ctx context.Context, obj *FailoverPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *failoverPolicyClient) DeleteAllOfFailoverPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &FailoverPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *failoverPolicyClient) UpsertFailoverPolicy(ctx context.Context, obj *FailoverPolicy, transitionFuncs ...FailoverPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*FailoverPolicy), desired.(*FailoverPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *failoverPolicyClient) UpdateFailoverPolicyStatus(ctx context.Context, obj *FailoverPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *failoverPolicyClient) PatchFailoverPolicyStatus(ctx context.Context, obj *FailoverPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides FailoverPolicyClients for multiple clusters. +type MulticlusterFailoverPolicyClient interface { + // Cluster returns a FailoverPolicyClient for the given cluster + Cluster(cluster string) (FailoverPolicyClient, error) +} + +type multiclusterFailoverPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterFailoverPolicyClient(client multicluster.Client) MulticlusterFailoverPolicyClient { + return &multiclusterFailoverPolicyClient{client: client} +} + +func (m *multiclusterFailoverPolicyClient) Cluster(cluster string) (FailoverPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewFailoverPolicyClient(client), nil +} + +// Reader knows how to read and list OutlierDetectionPolicys. +type OutlierDetectionPolicyReader interface { + // Get retrieves a OutlierDetectionPolicy for the given object key + GetOutlierDetectionPolicy(ctx context.Context, key client.ObjectKey) (*OutlierDetectionPolicy, error) + + // List retrieves list of OutlierDetectionPolicys for a given namespace and list options. + ListOutlierDetectionPolicy(ctx context.Context, opts ...client.ListOption) (*OutlierDetectionPolicyList, error) +} + +// OutlierDetectionPolicyTransitionFunction instructs the OutlierDetectionPolicyWriter how to transition between an existing +// OutlierDetectionPolicy object and a desired on an Upsert +type OutlierDetectionPolicyTransitionFunction func(existing, desired *OutlierDetectionPolicy) error + +// Writer knows how to create, delete, and update OutlierDetectionPolicys. +type OutlierDetectionPolicyWriter interface { + // Create saves the OutlierDetectionPolicy object. + CreateOutlierDetectionPolicy(ctx context.Context, obj *OutlierDetectionPolicy, opts ...client.CreateOption) error + + // Delete deletes the OutlierDetectionPolicy object. + DeleteOutlierDetectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given OutlierDetectionPolicy object. + UpdateOutlierDetectionPolicy(ctx context.Context, obj *OutlierDetectionPolicy, opts ...client.UpdateOption) error + + // Patch patches the given OutlierDetectionPolicy object. + PatchOutlierDetectionPolicy(ctx context.Context, obj *OutlierDetectionPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all OutlierDetectionPolicy objects matching the given options. + DeleteAllOfOutlierDetectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the OutlierDetectionPolicy object. + UpsertOutlierDetectionPolicy(ctx context.Context, obj *OutlierDetectionPolicy, transitionFuncs ...OutlierDetectionPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a OutlierDetectionPolicy object. +type OutlierDetectionPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given OutlierDetectionPolicy object. + UpdateOutlierDetectionPolicyStatus(ctx context.Context, obj *OutlierDetectionPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given OutlierDetectionPolicy object's subresource. + PatchOutlierDetectionPolicyStatus(ctx context.Context, obj *OutlierDetectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on OutlierDetectionPolicys. +type OutlierDetectionPolicyClient interface { + OutlierDetectionPolicyReader + OutlierDetectionPolicyWriter + OutlierDetectionPolicyStatusWriter +} + +type outlierDetectionPolicyClient struct { + client client.Client +} + +func NewOutlierDetectionPolicyClient(client client.Client) *outlierDetectionPolicyClient { + return &outlierDetectionPolicyClient{client: client} +} + +func (c *outlierDetectionPolicyClient) GetOutlierDetectionPolicy(ctx context.Context, key client.ObjectKey) (*OutlierDetectionPolicy, error) { + obj := &OutlierDetectionPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *outlierDetectionPolicyClient) ListOutlierDetectionPolicy(ctx context.Context, opts ...client.ListOption) (*OutlierDetectionPolicyList, error) { + list := &OutlierDetectionPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *outlierDetectionPolicyClient) CreateOutlierDetectionPolicy(ctx context.Context, obj *OutlierDetectionPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *outlierDetectionPolicyClient) DeleteOutlierDetectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &OutlierDetectionPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *outlierDetectionPolicyClient) UpdateOutlierDetectionPolicy(ctx context.Context, obj *OutlierDetectionPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *outlierDetectionPolicyClient) PatchOutlierDetectionPolicy(ctx context.Context, obj *OutlierDetectionPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *outlierDetectionPolicyClient) DeleteAllOfOutlierDetectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &OutlierDetectionPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *outlierDetectionPolicyClient) UpsertOutlierDetectionPolicy(ctx context.Context, obj *OutlierDetectionPolicy, transitionFuncs ...OutlierDetectionPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*OutlierDetectionPolicy), desired.(*OutlierDetectionPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *outlierDetectionPolicyClient) UpdateOutlierDetectionPolicyStatus(ctx context.Context, obj *OutlierDetectionPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *outlierDetectionPolicyClient) PatchOutlierDetectionPolicyStatus(ctx context.Context, obj *OutlierDetectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides OutlierDetectionPolicyClients for multiple clusters. +type MulticlusterOutlierDetectionPolicyClient interface { + // Cluster returns a OutlierDetectionPolicyClient for the given cluster + Cluster(cluster string) (OutlierDetectionPolicyClient, error) +} + +type multiclusterOutlierDetectionPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterOutlierDetectionPolicyClient(client multicluster.Client) MulticlusterOutlierDetectionPolicyClient { + return &multiclusterOutlierDetectionPolicyClient{client: client} +} + +func (m *multiclusterOutlierDetectionPolicyClient) Cluster(cluster string) (OutlierDetectionPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewOutlierDetectionPolicyClient(client), nil +} + +// Reader knows how to read and list FaultInjectionPolicys. +type FaultInjectionPolicyReader interface { + // Get retrieves a FaultInjectionPolicy for the given object key + GetFaultInjectionPolicy(ctx context.Context, key client.ObjectKey) (*FaultInjectionPolicy, error) + + // List retrieves list of FaultInjectionPolicys for a given namespace and list options. + ListFaultInjectionPolicy(ctx context.Context, opts ...client.ListOption) (*FaultInjectionPolicyList, error) +} + +// FaultInjectionPolicyTransitionFunction instructs the FaultInjectionPolicyWriter how to transition between an existing +// FaultInjectionPolicy object and a desired on an Upsert +type FaultInjectionPolicyTransitionFunction func(existing, desired *FaultInjectionPolicy) error + +// Writer knows how to create, delete, and update FaultInjectionPolicys. +type FaultInjectionPolicyWriter interface { + // Create saves the FaultInjectionPolicy object. + CreateFaultInjectionPolicy(ctx context.Context, obj *FaultInjectionPolicy, opts ...client.CreateOption) error + + // Delete deletes the FaultInjectionPolicy object. + DeleteFaultInjectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given FaultInjectionPolicy object. + UpdateFaultInjectionPolicy(ctx context.Context, obj *FaultInjectionPolicy, opts ...client.UpdateOption) error + + // Patch patches the given FaultInjectionPolicy object. + PatchFaultInjectionPolicy(ctx context.Context, obj *FaultInjectionPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all FaultInjectionPolicy objects matching the given options. + DeleteAllOfFaultInjectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the FaultInjectionPolicy object. + UpsertFaultInjectionPolicy(ctx context.Context, obj *FaultInjectionPolicy, transitionFuncs ...FaultInjectionPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a FaultInjectionPolicy object. +type FaultInjectionPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given FaultInjectionPolicy object. + UpdateFaultInjectionPolicyStatus(ctx context.Context, obj *FaultInjectionPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given FaultInjectionPolicy object's subresource. + PatchFaultInjectionPolicyStatus(ctx context.Context, obj *FaultInjectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on FaultInjectionPolicys. +type FaultInjectionPolicyClient interface { + FaultInjectionPolicyReader + FaultInjectionPolicyWriter + FaultInjectionPolicyStatusWriter +} + +type faultInjectionPolicyClient struct { + client client.Client +} + +func NewFaultInjectionPolicyClient(client client.Client) *faultInjectionPolicyClient { + return &faultInjectionPolicyClient{client: client} +} + +func (c *faultInjectionPolicyClient) GetFaultInjectionPolicy(ctx context.Context, key client.ObjectKey) (*FaultInjectionPolicy, error) { + obj := &FaultInjectionPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *faultInjectionPolicyClient) ListFaultInjectionPolicy(ctx context.Context, opts ...client.ListOption) (*FaultInjectionPolicyList, error) { + list := &FaultInjectionPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *faultInjectionPolicyClient) CreateFaultInjectionPolicy(ctx context.Context, obj *FaultInjectionPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *faultInjectionPolicyClient) DeleteFaultInjectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &FaultInjectionPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *faultInjectionPolicyClient) UpdateFaultInjectionPolicy(ctx context.Context, obj *FaultInjectionPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *faultInjectionPolicyClient) PatchFaultInjectionPolicy(ctx context.Context, obj *FaultInjectionPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *faultInjectionPolicyClient) DeleteAllOfFaultInjectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &FaultInjectionPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *faultInjectionPolicyClient) UpsertFaultInjectionPolicy(ctx context.Context, obj *FaultInjectionPolicy, transitionFuncs ...FaultInjectionPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*FaultInjectionPolicy), desired.(*FaultInjectionPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *faultInjectionPolicyClient) UpdateFaultInjectionPolicyStatus(ctx context.Context, obj *FaultInjectionPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *faultInjectionPolicyClient) PatchFaultInjectionPolicyStatus(ctx context.Context, obj *FaultInjectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides FaultInjectionPolicyClients for multiple clusters. +type MulticlusterFaultInjectionPolicyClient interface { + // Cluster returns a FaultInjectionPolicyClient for the given cluster + Cluster(cluster string) (FaultInjectionPolicyClient, error) +} + +type multiclusterFaultInjectionPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterFaultInjectionPolicyClient(client multicluster.Client) MulticlusterFaultInjectionPolicyClient { + return &multiclusterFaultInjectionPolicyClient{client: client} +} + +func (m *multiclusterFaultInjectionPolicyClient) Cluster(cluster string) (FaultInjectionPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewFaultInjectionPolicyClient(client), nil +} + +// Reader knows how to read and list RetryTimeoutPolicys. +type RetryTimeoutPolicyReader interface { + // Get retrieves a RetryTimeoutPolicy for the given object key + GetRetryTimeoutPolicy(ctx context.Context, key client.ObjectKey) (*RetryTimeoutPolicy, error) + + // List retrieves list of RetryTimeoutPolicys for a given namespace and list options. + ListRetryTimeoutPolicy(ctx context.Context, opts ...client.ListOption) (*RetryTimeoutPolicyList, error) +} + +// RetryTimeoutPolicyTransitionFunction instructs the RetryTimeoutPolicyWriter how to transition between an existing +// RetryTimeoutPolicy object and a desired on an Upsert +type RetryTimeoutPolicyTransitionFunction func(existing, desired *RetryTimeoutPolicy) error + +// Writer knows how to create, delete, and update RetryTimeoutPolicys. +type RetryTimeoutPolicyWriter interface { + // Create saves the RetryTimeoutPolicy object. + CreateRetryTimeoutPolicy(ctx context.Context, obj *RetryTimeoutPolicy, opts ...client.CreateOption) error + + // Delete deletes the RetryTimeoutPolicy object. + DeleteRetryTimeoutPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given RetryTimeoutPolicy object. + UpdateRetryTimeoutPolicy(ctx context.Context, obj *RetryTimeoutPolicy, opts ...client.UpdateOption) error + + // Patch patches the given RetryTimeoutPolicy object. + PatchRetryTimeoutPolicy(ctx context.Context, obj *RetryTimeoutPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all RetryTimeoutPolicy objects matching the given options. + DeleteAllOfRetryTimeoutPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the RetryTimeoutPolicy object. + UpsertRetryTimeoutPolicy(ctx context.Context, obj *RetryTimeoutPolicy, transitionFuncs ...RetryTimeoutPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a RetryTimeoutPolicy object. +type RetryTimeoutPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given RetryTimeoutPolicy object. + UpdateRetryTimeoutPolicyStatus(ctx context.Context, obj *RetryTimeoutPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given RetryTimeoutPolicy object's subresource. + PatchRetryTimeoutPolicyStatus(ctx context.Context, obj *RetryTimeoutPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on RetryTimeoutPolicys. +type RetryTimeoutPolicyClient interface { + RetryTimeoutPolicyReader + RetryTimeoutPolicyWriter + RetryTimeoutPolicyStatusWriter +} + +type retryTimeoutPolicyClient struct { + client client.Client +} + +func NewRetryTimeoutPolicyClient(client client.Client) *retryTimeoutPolicyClient { + return &retryTimeoutPolicyClient{client: client} +} + +func (c *retryTimeoutPolicyClient) GetRetryTimeoutPolicy(ctx context.Context, key client.ObjectKey) (*RetryTimeoutPolicy, error) { + obj := &RetryTimeoutPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *retryTimeoutPolicyClient) ListRetryTimeoutPolicy(ctx context.Context, opts ...client.ListOption) (*RetryTimeoutPolicyList, error) { + list := &RetryTimeoutPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *retryTimeoutPolicyClient) CreateRetryTimeoutPolicy(ctx context.Context, obj *RetryTimeoutPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *retryTimeoutPolicyClient) DeleteRetryTimeoutPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &RetryTimeoutPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *retryTimeoutPolicyClient) UpdateRetryTimeoutPolicy(ctx context.Context, obj *RetryTimeoutPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *retryTimeoutPolicyClient) PatchRetryTimeoutPolicy(ctx context.Context, obj *RetryTimeoutPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *retryTimeoutPolicyClient) DeleteAllOfRetryTimeoutPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &RetryTimeoutPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *retryTimeoutPolicyClient) UpsertRetryTimeoutPolicy(ctx context.Context, obj *RetryTimeoutPolicy, transitionFuncs ...RetryTimeoutPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*RetryTimeoutPolicy), desired.(*RetryTimeoutPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *retryTimeoutPolicyClient) UpdateRetryTimeoutPolicyStatus(ctx context.Context, obj *RetryTimeoutPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *retryTimeoutPolicyClient) PatchRetryTimeoutPolicyStatus(ctx context.Context, obj *RetryTimeoutPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides RetryTimeoutPolicyClients for multiple clusters. +type MulticlusterRetryTimeoutPolicyClient interface { + // Cluster returns a RetryTimeoutPolicyClient for the given cluster + Cluster(cluster string) (RetryTimeoutPolicyClient, error) +} + +type multiclusterRetryTimeoutPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterRetryTimeoutPolicyClient(client multicluster.Client) MulticlusterRetryTimeoutPolicyClient { + return &multiclusterRetryTimeoutPolicyClient{client: client} +} + +func (m *multiclusterRetryTimeoutPolicyClient) Cluster(cluster string) (RetryTimeoutPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewRetryTimeoutPolicyClient(client), nil +} + +// Reader knows how to read and list ConnectionPolicys. +type ConnectionPolicyReader interface { + // Get retrieves a ConnectionPolicy for the given object key + GetConnectionPolicy(ctx context.Context, key client.ObjectKey) (*ConnectionPolicy, error) + + // List retrieves list of ConnectionPolicys for a given namespace and list options. + ListConnectionPolicy(ctx context.Context, opts ...client.ListOption) (*ConnectionPolicyList, error) +} + +// ConnectionPolicyTransitionFunction instructs the ConnectionPolicyWriter how to transition between an existing +// ConnectionPolicy object and a desired on an Upsert +type ConnectionPolicyTransitionFunction func(existing, desired *ConnectionPolicy) error + +// Writer knows how to create, delete, and update ConnectionPolicys. +type ConnectionPolicyWriter interface { + // Create saves the ConnectionPolicy object. + CreateConnectionPolicy(ctx context.Context, obj *ConnectionPolicy, opts ...client.CreateOption) error + + // Delete deletes the ConnectionPolicy object. + DeleteConnectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ConnectionPolicy object. + UpdateConnectionPolicy(ctx context.Context, obj *ConnectionPolicy, opts ...client.UpdateOption) error + + // Patch patches the given ConnectionPolicy object. + PatchConnectionPolicy(ctx context.Context, obj *ConnectionPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ConnectionPolicy objects matching the given options. + DeleteAllOfConnectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ConnectionPolicy object. + UpsertConnectionPolicy(ctx context.Context, obj *ConnectionPolicy, transitionFuncs ...ConnectionPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ConnectionPolicy object. +type ConnectionPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ConnectionPolicy object. + UpdateConnectionPolicyStatus(ctx context.Context, obj *ConnectionPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ConnectionPolicy object's subresource. + PatchConnectionPolicyStatus(ctx context.Context, obj *ConnectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ConnectionPolicys. +type ConnectionPolicyClient interface { + ConnectionPolicyReader + ConnectionPolicyWriter + ConnectionPolicyStatusWriter +} + +type connectionPolicyClient struct { + client client.Client +} + +func NewConnectionPolicyClient(client client.Client) *connectionPolicyClient { + return &connectionPolicyClient{client: client} +} + +func (c *connectionPolicyClient) GetConnectionPolicy(ctx context.Context, key client.ObjectKey) (*ConnectionPolicy, error) { + obj := &ConnectionPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *connectionPolicyClient) ListConnectionPolicy(ctx context.Context, opts ...client.ListOption) (*ConnectionPolicyList, error) { + list := &ConnectionPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *connectionPolicyClient) CreateConnectionPolicy(ctx context.Context, obj *ConnectionPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *connectionPolicyClient) DeleteConnectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ConnectionPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *connectionPolicyClient) UpdateConnectionPolicy(ctx context.Context, obj *ConnectionPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *connectionPolicyClient) PatchConnectionPolicy(ctx context.Context, obj *ConnectionPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *connectionPolicyClient) DeleteAllOfConnectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ConnectionPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *connectionPolicyClient) UpsertConnectionPolicy(ctx context.Context, obj *ConnectionPolicy, transitionFuncs ...ConnectionPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ConnectionPolicy), desired.(*ConnectionPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *connectionPolicyClient) UpdateConnectionPolicyStatus(ctx context.Context, obj *ConnectionPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *connectionPolicyClient) PatchConnectionPolicyStatus(ctx context.Context, obj *ConnectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ConnectionPolicyClients for multiple clusters. +type MulticlusterConnectionPolicyClient interface { + // Cluster returns a ConnectionPolicyClient for the given cluster + Cluster(cluster string) (ConnectionPolicyClient, error) +} + +type multiclusterConnectionPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterConnectionPolicyClient(client multicluster.Client) MulticlusterConnectionPolicyClient { + return &multiclusterConnectionPolicyClient{client: client} +} + +func (m *multiclusterConnectionPolicyClient) Cluster(cluster string) (ConnectionPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewConnectionPolicyClient(client), nil +} + +// Reader knows how to read and list TrimProxyConfigPolicys. +type TrimProxyConfigPolicyReader interface { + // Get retrieves a TrimProxyConfigPolicy for the given object key + GetTrimProxyConfigPolicy(ctx context.Context, key client.ObjectKey) (*TrimProxyConfigPolicy, error) + + // List retrieves list of TrimProxyConfigPolicys for a given namespace and list options. + ListTrimProxyConfigPolicy(ctx context.Context, opts ...client.ListOption) (*TrimProxyConfigPolicyList, error) +} + +// TrimProxyConfigPolicyTransitionFunction instructs the TrimProxyConfigPolicyWriter how to transition between an existing +// TrimProxyConfigPolicy object and a desired on an Upsert +type TrimProxyConfigPolicyTransitionFunction func(existing, desired *TrimProxyConfigPolicy) error + +// Writer knows how to create, delete, and update TrimProxyConfigPolicys. +type TrimProxyConfigPolicyWriter interface { + // Create saves the TrimProxyConfigPolicy object. + CreateTrimProxyConfigPolicy(ctx context.Context, obj *TrimProxyConfigPolicy, opts ...client.CreateOption) error + + // Delete deletes the TrimProxyConfigPolicy object. + DeleteTrimProxyConfigPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given TrimProxyConfigPolicy object. + UpdateTrimProxyConfigPolicy(ctx context.Context, obj *TrimProxyConfigPolicy, opts ...client.UpdateOption) error + + // Patch patches the given TrimProxyConfigPolicy object. + PatchTrimProxyConfigPolicy(ctx context.Context, obj *TrimProxyConfigPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all TrimProxyConfigPolicy objects matching the given options. + DeleteAllOfTrimProxyConfigPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the TrimProxyConfigPolicy object. + UpsertTrimProxyConfigPolicy(ctx context.Context, obj *TrimProxyConfigPolicy, transitionFuncs ...TrimProxyConfigPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a TrimProxyConfigPolicy object. +type TrimProxyConfigPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given TrimProxyConfigPolicy object. + UpdateTrimProxyConfigPolicyStatus(ctx context.Context, obj *TrimProxyConfigPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given TrimProxyConfigPolicy object's subresource. + PatchTrimProxyConfigPolicyStatus(ctx context.Context, obj *TrimProxyConfigPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on TrimProxyConfigPolicys. +type TrimProxyConfigPolicyClient interface { + TrimProxyConfigPolicyReader + TrimProxyConfigPolicyWriter + TrimProxyConfigPolicyStatusWriter +} + +type trimProxyConfigPolicyClient struct { + client client.Client +} + +func NewTrimProxyConfigPolicyClient(client client.Client) *trimProxyConfigPolicyClient { + return &trimProxyConfigPolicyClient{client: client} +} + +func (c *trimProxyConfigPolicyClient) GetTrimProxyConfigPolicy(ctx context.Context, key client.ObjectKey) (*TrimProxyConfigPolicy, error) { + obj := &TrimProxyConfigPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *trimProxyConfigPolicyClient) ListTrimProxyConfigPolicy(ctx context.Context, opts ...client.ListOption) (*TrimProxyConfigPolicyList, error) { + list := &TrimProxyConfigPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *trimProxyConfigPolicyClient) CreateTrimProxyConfigPolicy(ctx context.Context, obj *TrimProxyConfigPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *trimProxyConfigPolicyClient) DeleteTrimProxyConfigPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &TrimProxyConfigPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *trimProxyConfigPolicyClient) UpdateTrimProxyConfigPolicy(ctx context.Context, obj *TrimProxyConfigPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *trimProxyConfigPolicyClient) PatchTrimProxyConfigPolicy(ctx context.Context, obj *TrimProxyConfigPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *trimProxyConfigPolicyClient) DeleteAllOfTrimProxyConfigPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &TrimProxyConfigPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *trimProxyConfigPolicyClient) UpsertTrimProxyConfigPolicy(ctx context.Context, obj *TrimProxyConfigPolicy, transitionFuncs ...TrimProxyConfigPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*TrimProxyConfigPolicy), desired.(*TrimProxyConfigPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *trimProxyConfigPolicyClient) UpdateTrimProxyConfigPolicyStatus(ctx context.Context, obj *TrimProxyConfigPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *trimProxyConfigPolicyClient) PatchTrimProxyConfigPolicyStatus(ctx context.Context, obj *TrimProxyConfigPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides TrimProxyConfigPolicyClients for multiple clusters. +type MulticlusterTrimProxyConfigPolicyClient interface { + // Cluster returns a TrimProxyConfigPolicyClient for the given cluster + Cluster(cluster string) (TrimProxyConfigPolicyClient, error) +} + +type multiclusterTrimProxyConfigPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterTrimProxyConfigPolicyClient(client multicluster.Client) MulticlusterTrimProxyConfigPolicyClient { + return &multiclusterTrimProxyConfigPolicyClient{client: client} +} + +func (m *multiclusterTrimProxyConfigPolicyClient) Cluster(cluster string) (TrimProxyConfigPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewTrimProxyConfigPolicyClient(client), nil +} + +// Reader knows how to read and list ActiveHealthCheckPolicys. +type ActiveHealthCheckPolicyReader interface { + // Get retrieves a ActiveHealthCheckPolicy for the given object key + GetActiveHealthCheckPolicy(ctx context.Context, key client.ObjectKey) (*ActiveHealthCheckPolicy, error) + + // List retrieves list of ActiveHealthCheckPolicys for a given namespace and list options. + ListActiveHealthCheckPolicy(ctx context.Context, opts ...client.ListOption) (*ActiveHealthCheckPolicyList, error) +} + +// ActiveHealthCheckPolicyTransitionFunction instructs the ActiveHealthCheckPolicyWriter how to transition between an existing +// ActiveHealthCheckPolicy object and a desired on an Upsert +type ActiveHealthCheckPolicyTransitionFunction func(existing, desired *ActiveHealthCheckPolicy) error + +// Writer knows how to create, delete, and update ActiveHealthCheckPolicys. +type ActiveHealthCheckPolicyWriter interface { + // Create saves the ActiveHealthCheckPolicy object. + CreateActiveHealthCheckPolicy(ctx context.Context, obj *ActiveHealthCheckPolicy, opts ...client.CreateOption) error + + // Delete deletes the ActiveHealthCheckPolicy object. + DeleteActiveHealthCheckPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ActiveHealthCheckPolicy object. + UpdateActiveHealthCheckPolicy(ctx context.Context, obj *ActiveHealthCheckPolicy, opts ...client.UpdateOption) error + + // Patch patches the given ActiveHealthCheckPolicy object. + PatchActiveHealthCheckPolicy(ctx context.Context, obj *ActiveHealthCheckPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ActiveHealthCheckPolicy objects matching the given options. + DeleteAllOfActiveHealthCheckPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ActiveHealthCheckPolicy object. + UpsertActiveHealthCheckPolicy(ctx context.Context, obj *ActiveHealthCheckPolicy, transitionFuncs ...ActiveHealthCheckPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ActiveHealthCheckPolicy object. +type ActiveHealthCheckPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ActiveHealthCheckPolicy object. + UpdateActiveHealthCheckPolicyStatus(ctx context.Context, obj *ActiveHealthCheckPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ActiveHealthCheckPolicy object's subresource. + PatchActiveHealthCheckPolicyStatus(ctx context.Context, obj *ActiveHealthCheckPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ActiveHealthCheckPolicys. +type ActiveHealthCheckPolicyClient interface { + ActiveHealthCheckPolicyReader + ActiveHealthCheckPolicyWriter + ActiveHealthCheckPolicyStatusWriter +} + +type activeHealthCheckPolicyClient struct { + client client.Client +} + +func NewActiveHealthCheckPolicyClient(client client.Client) *activeHealthCheckPolicyClient { + return &activeHealthCheckPolicyClient{client: client} +} + +func (c *activeHealthCheckPolicyClient) GetActiveHealthCheckPolicy(ctx context.Context, key client.ObjectKey) (*ActiveHealthCheckPolicy, error) { + obj := &ActiveHealthCheckPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *activeHealthCheckPolicyClient) ListActiveHealthCheckPolicy(ctx context.Context, opts ...client.ListOption) (*ActiveHealthCheckPolicyList, error) { + list := &ActiveHealthCheckPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *activeHealthCheckPolicyClient) CreateActiveHealthCheckPolicy(ctx context.Context, obj *ActiveHealthCheckPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *activeHealthCheckPolicyClient) DeleteActiveHealthCheckPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ActiveHealthCheckPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *activeHealthCheckPolicyClient) UpdateActiveHealthCheckPolicy(ctx context.Context, obj *ActiveHealthCheckPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *activeHealthCheckPolicyClient) PatchActiveHealthCheckPolicy(ctx context.Context, obj *ActiveHealthCheckPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *activeHealthCheckPolicyClient) DeleteAllOfActiveHealthCheckPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ActiveHealthCheckPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *activeHealthCheckPolicyClient) UpsertActiveHealthCheckPolicy(ctx context.Context, obj *ActiveHealthCheckPolicy, transitionFuncs ...ActiveHealthCheckPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ActiveHealthCheckPolicy), desired.(*ActiveHealthCheckPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *activeHealthCheckPolicyClient) UpdateActiveHealthCheckPolicyStatus(ctx context.Context, obj *ActiveHealthCheckPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *activeHealthCheckPolicyClient) PatchActiveHealthCheckPolicyStatus(ctx context.Context, obj *ActiveHealthCheckPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ActiveHealthCheckPolicyClients for multiple clusters. +type MulticlusterActiveHealthCheckPolicyClient interface { + // Cluster returns a ActiveHealthCheckPolicyClient for the given cluster + Cluster(cluster string) (ActiveHealthCheckPolicyClient, error) +} + +type multiclusterActiveHealthCheckPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterActiveHealthCheckPolicyClient(client multicluster.Client) MulticlusterActiveHealthCheckPolicyClient { + return &multiclusterActiveHealthCheckPolicyClient{client: client} +} + +func (m *multiclusterActiveHealthCheckPolicyClient) Cluster(cluster string) (ActiveHealthCheckPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewActiveHealthCheckPolicyClient(client), nil +} + +// Reader knows how to read and list ListenerConnectionPolicys. +type ListenerConnectionPolicyReader interface { + // Get retrieves a ListenerConnectionPolicy for the given object key + GetListenerConnectionPolicy(ctx context.Context, key client.ObjectKey) (*ListenerConnectionPolicy, error) + + // List retrieves list of ListenerConnectionPolicys for a given namespace and list options. + ListListenerConnectionPolicy(ctx context.Context, opts ...client.ListOption) (*ListenerConnectionPolicyList, error) +} + +// ListenerConnectionPolicyTransitionFunction instructs the ListenerConnectionPolicyWriter how to transition between an existing +// ListenerConnectionPolicy object and a desired on an Upsert +type ListenerConnectionPolicyTransitionFunction func(existing, desired *ListenerConnectionPolicy) error + +// Writer knows how to create, delete, and update ListenerConnectionPolicys. +type ListenerConnectionPolicyWriter interface { + // Create saves the ListenerConnectionPolicy object. + CreateListenerConnectionPolicy(ctx context.Context, obj *ListenerConnectionPolicy, opts ...client.CreateOption) error + + // Delete deletes the ListenerConnectionPolicy object. + DeleteListenerConnectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ListenerConnectionPolicy object. + UpdateListenerConnectionPolicy(ctx context.Context, obj *ListenerConnectionPolicy, opts ...client.UpdateOption) error + + // Patch patches the given ListenerConnectionPolicy object. + PatchListenerConnectionPolicy(ctx context.Context, obj *ListenerConnectionPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ListenerConnectionPolicy objects matching the given options. + DeleteAllOfListenerConnectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ListenerConnectionPolicy object. + UpsertListenerConnectionPolicy(ctx context.Context, obj *ListenerConnectionPolicy, transitionFuncs ...ListenerConnectionPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ListenerConnectionPolicy object. +type ListenerConnectionPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ListenerConnectionPolicy object. + UpdateListenerConnectionPolicyStatus(ctx context.Context, obj *ListenerConnectionPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ListenerConnectionPolicy object's subresource. + PatchListenerConnectionPolicyStatus(ctx context.Context, obj *ListenerConnectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ListenerConnectionPolicys. +type ListenerConnectionPolicyClient interface { + ListenerConnectionPolicyReader + ListenerConnectionPolicyWriter + ListenerConnectionPolicyStatusWriter +} + +type listenerConnectionPolicyClient struct { + client client.Client +} + +func NewListenerConnectionPolicyClient(client client.Client) *listenerConnectionPolicyClient { + return &listenerConnectionPolicyClient{client: client} +} + +func (c *listenerConnectionPolicyClient) GetListenerConnectionPolicy(ctx context.Context, key client.ObjectKey) (*ListenerConnectionPolicy, error) { + obj := &ListenerConnectionPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *listenerConnectionPolicyClient) ListListenerConnectionPolicy(ctx context.Context, opts ...client.ListOption) (*ListenerConnectionPolicyList, error) { + list := &ListenerConnectionPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *listenerConnectionPolicyClient) CreateListenerConnectionPolicy(ctx context.Context, obj *ListenerConnectionPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *listenerConnectionPolicyClient) DeleteListenerConnectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ListenerConnectionPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *listenerConnectionPolicyClient) UpdateListenerConnectionPolicy(ctx context.Context, obj *ListenerConnectionPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *listenerConnectionPolicyClient) PatchListenerConnectionPolicy(ctx context.Context, obj *ListenerConnectionPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *listenerConnectionPolicyClient) DeleteAllOfListenerConnectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ListenerConnectionPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *listenerConnectionPolicyClient) UpsertListenerConnectionPolicy(ctx context.Context, obj *ListenerConnectionPolicy, transitionFuncs ...ListenerConnectionPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ListenerConnectionPolicy), desired.(*ListenerConnectionPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *listenerConnectionPolicyClient) UpdateListenerConnectionPolicyStatus(ctx context.Context, obj *ListenerConnectionPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *listenerConnectionPolicyClient) PatchListenerConnectionPolicyStatus(ctx context.Context, obj *ListenerConnectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ListenerConnectionPolicyClients for multiple clusters. +type MulticlusterListenerConnectionPolicyClient interface { + // Cluster returns a ListenerConnectionPolicyClient for the given cluster + Cluster(cluster string) (ListenerConnectionPolicyClient, error) +} + +type multiclusterListenerConnectionPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterListenerConnectionPolicyClient(client multicluster.Client) MulticlusterListenerConnectionPolicyClient { + return &multiclusterListenerConnectionPolicyClient{client: client} +} + +func (m *multiclusterListenerConnectionPolicyClient) Cluster(cluster string) (ListenerConnectionPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewListenerConnectionPolicyClient(client), nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/config_types.go b/client-go/resilience.policy.gloo.solo.io/v2/config_types.go new file mode 100644 index 000000000..a546a136a --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/config_types.go @@ -0,0 +1,31 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2 + +// IsConfigObject implements ConfigObject interface for GraphQLPersistedQueryCachePolicy +func (o *GraphQLPersistedQueryCachePolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for FailoverPolicy +func (o *FailoverPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for OutlierDetectionPolicy +func (o *OutlierDetectionPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for FaultInjectionPolicy +func (o *FaultInjectionPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for RetryTimeoutPolicy +func (o *RetryTimeoutPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for ConnectionPolicy +func (o *ConnectionPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for TrimProxyConfigPolicy +func (o *TrimProxyConfigPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for ActiveHealthCheckPolicy +func (o *ActiveHealthCheckPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for ListenerConnectionPolicy +func (o *ListenerConnectionPolicy) IsConfigObject() {} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/connection_policy.pb.clone.go b/client-go/resilience.policy.gloo.solo.io/v2/connection_policy.pb.clone.go new file mode 100644 index 000000000..c2c6996cf --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/connection_policy.pb.clone.go @@ -0,0 +1,189 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/connection_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ConnectionPolicySpec) Clone() proto.Message { + var target *ConnectionPolicySpec + if m == nil { + return target + } + target = &ConnectionPolicySpec{} + + if m.GetApplyToDestinations() != nil { + target.ApplyToDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector, len(m.GetApplyToDestinations())) + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.ApplyToDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*ConnectionPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*ConnectionPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *ConnectionPolicyStatus) Clone() proto.Message { + var target *ConnectionPolicyStatus + if m == nil { + return target + } + target = &ConnectionPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedDestinationPorts = m.GetNumSelectedDestinationPorts() + + return target +} + +// Clone function +func (m *ConnectionPolicyReport) Clone() proto.Message { + var target *ConnectionPolicyReport + if m == nil { + return target + } + target = &ConnectionPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedDestinationPorts() != nil { + target.SelectedDestinationPorts = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetSelectedDestinationPorts())) + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedDestinationPorts[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.SelectedDestinationPorts[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + return target +} + +// Clone function +func (m *ConnectionPolicySpec_Config) Clone() proto.Message { + var target *ConnectionPolicySpec_Config + if m == nil { + return target + } + target = &ConnectionPolicySpec_Config{} + + if h, ok := interface{}(m.GetTcp()).(clone.Cloner); ok { + target.Tcp = h.Clone().(*ConnectionPolicySpec_Config_TCPConfig) + } else { + target.Tcp = proto.Clone(m.GetTcp()).(*ConnectionPolicySpec_Config_TCPConfig) + } + + if h, ok := interface{}(m.GetHttp()).(clone.Cloner); ok { + target.Http = h.Clone().(*ConnectionPolicySpec_Config_HTTPConfig) + } else { + target.Http = proto.Clone(m.GetHttp()).(*ConnectionPolicySpec_Config_HTTPConfig) + } + + return target +} + +// Clone function +func (m *ConnectionPolicySpec_Config_TCPConfig) Clone() proto.Message { + var target *ConnectionPolicySpec_Config_TCPConfig + if m == nil { + return target + } + target = &ConnectionPolicySpec_Config_TCPConfig{} + + if h, ok := interface{}(m.GetTcpKeepalive()).(clone.Cloner); ok { + target.TcpKeepalive = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.TCPKeepalive) + } else { + target.TcpKeepalive = proto.Clone(m.GetTcpKeepalive()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.TCPKeepalive) + } + + target.MaxConnections = m.GetMaxConnections() + + if h, ok := interface{}(m.GetConnectTimeout()).(clone.Cloner); ok { + target.ConnectTimeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.ConnectTimeout = proto.Clone(m.GetConnectTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + return target +} + +// Clone function +func (m *ConnectionPolicySpec_Config_HTTPConfig) Clone() proto.Message { + var target *ConnectionPolicySpec_Config_HTTPConfig + if m == nil { + return target + } + target = &ConnectionPolicySpec_Config_HTTPConfig{} + + target.MaxRequestsPerConnection = m.GetMaxRequestsPerConnection() + + target.MaxRetries = m.GetMaxRetries() + + target.MaxRequests = m.GetMaxRequests() + + target.MaxPendingRequests = m.GetMaxPendingRequests() + + if h, ok := interface{}(m.GetIdleTimeout()).(clone.Cloner); ok { + target.IdleTimeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.IdleTimeout = proto.Clone(m.GetIdleTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + return target +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/connection_policy.pb.equal.go b/client-go/resilience.policy.gloo.solo.io/v2/connection_policy.pb.equal.go new file mode 100644 index 000000000..7a3c88c73 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/connection_policy.pb.equal.go @@ -0,0 +1,315 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/connection_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ConnectionPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ConnectionPolicySpec) + if !ok { + that2, ok := that.(ConnectionPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToDestinations()) != len(target.GetApplyToDestinations()) { + return false + } + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToDestinations()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *ConnectionPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ConnectionPolicyStatus) + if !ok { + that2, ok := that.(ConnectionPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedDestinationPorts() != target.GetNumSelectedDestinationPorts() { + return false + } + + return true +} + +// Equal function +func (m *ConnectionPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ConnectionPolicyReport) + if !ok { + that2, ok := that.(ConnectionPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedDestinationPorts()) != len(target.GetSelectedDestinationPorts()) { + return false + } + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedDestinationPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedDestinationPorts()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ConnectionPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ConnectionPolicySpec_Config) + if !ok { + that2, ok := that.(ConnectionPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetTcp()).(equality.Equalizer); ok { + if !h.Equal(target.GetTcp()) { + return false + } + } else { + if !proto.Equal(m.GetTcp(), target.GetTcp()) { + return false + } + } + + if h, ok := interface{}(m.GetHttp()).(equality.Equalizer); ok { + if !h.Equal(target.GetHttp()) { + return false + } + } else { + if !proto.Equal(m.GetHttp(), target.GetHttp()) { + return false + } + } + + return true +} + +// Equal function +func (m *ConnectionPolicySpec_Config_TCPConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ConnectionPolicySpec_Config_TCPConfig) + if !ok { + that2, ok := that.(ConnectionPolicySpec_Config_TCPConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetTcpKeepalive()).(equality.Equalizer); ok { + if !h.Equal(target.GetTcpKeepalive()) { + return false + } + } else { + if !proto.Equal(m.GetTcpKeepalive(), target.GetTcpKeepalive()) { + return false + } + } + + if m.GetMaxConnections() != target.GetMaxConnections() { + return false + } + + if h, ok := interface{}(m.GetConnectTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetConnectTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetConnectTimeout(), target.GetConnectTimeout()) { + return false + } + } + + return true +} + +// Equal function +func (m *ConnectionPolicySpec_Config_HTTPConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ConnectionPolicySpec_Config_HTTPConfig) + if !ok { + that2, ok := that.(ConnectionPolicySpec_Config_HTTPConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetMaxRequestsPerConnection() != target.GetMaxRequestsPerConnection() { + return false + } + + if m.GetMaxRetries() != target.GetMaxRetries() { + return false + } + + if m.GetMaxRequests() != target.GetMaxRequests() { + return false + } + + if m.GetMaxPendingRequests() != target.GetMaxPendingRequests() { + return false + } + + if h, ok := interface{}(m.GetIdleTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetIdleTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetIdleTimeout(), target.GetIdleTimeout()) { + return false + } + } + + return true +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/connection_policy.pb.go b/client-go/resilience.policy.gloo.solo.io/v2/connection_policy.pb.go new file mode 100644 index 000000000..6a138b2f7 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/connection_policy.pb.go @@ -0,0 +1,689 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/connection_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ConnectionPolicy provides settings to apply low-level settings on selected TCP connections. +type ConnectionPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // select the destinations where the policy will be applied. If empty, + // this will apply to all destinations in the workspace. + ApplyToDestinations []*v2.DestinationSelector `protobuf:"bytes,1,rep,name=apply_to_destinations,json=applyToDestinations,proto3" json:"apply_to_destinations,omitempty"` + // The details of the low-level network connection settings to apply to the destinations. + Config *ConnectionPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *ConnectionPolicySpec) Reset() { + *x = ConnectionPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectionPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectionPolicySpec) ProtoMessage() {} + +func (x *ConnectionPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectionPolicySpec.ProtoReflect.Descriptor instead. +func (*ConnectionPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *ConnectionPolicySpec) GetApplyToDestinations() []*v2.DestinationSelector { + if x != nil { + return x.ApplyToDestinations + } + return nil +} + +func (x *ConnectionPolicySpec) GetConfig() *ConnectionPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type ConnectionPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of destination ports selected by this policy. + NumSelectedDestinationPorts uint32 `protobuf:"varint,2,opt,name=num_selected_destination_ports,json=numSelectedDestinationPorts,proto3" json:"num_selected_destination_ports,omitempty"` +} + +func (x *ConnectionPolicyStatus) Reset() { + *x = ConnectionPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectionPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectionPolicyStatus) ProtoMessage() {} + +func (x *ConnectionPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectionPolicyStatus.ProtoReflect.Descriptor instead. +func (*ConnectionPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *ConnectionPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *ConnectionPolicyStatus) GetNumSelectedDestinationPorts() uint32 { + if x != nil { + return x.NumSelectedDestinationPorts + } + return 0 +} + +type ConnectionPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of destination ports selected by this policy. + SelectedDestinationPorts []*v2.DestinationReference `protobuf:"bytes,2,rep,name=selected_destination_ports,json=selectedDestinationPorts,proto3" json:"selected_destination_ports,omitempty"` +} + +func (x *ConnectionPolicyReport) Reset() { + *x = ConnectionPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectionPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectionPolicyReport) ProtoMessage() {} + +func (x *ConnectionPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectionPolicyReport.ProtoReflect.Descriptor instead. +func (*ConnectionPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *ConnectionPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *ConnectionPolicyReport) GetSelectedDestinationPorts() []*v2.DestinationReference { + if x != nil { + return x.SelectedDestinationPorts + } + return nil +} + +type ConnectionPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The low-level TCP connection settings to apply to the destinations selected. + Tcp *ConnectionPolicySpec_Config_TCPConfig `protobuf:"bytes,1,opt,name=tcp,proto3" json:"tcp,omitempty"` + // The low-level HTTP connection settings to apply to the destination selected. + Http *ConnectionPolicySpec_Config_HTTPConfig `protobuf:"bytes,2,opt,name=http,proto3" json:"http,omitempty"` +} + +func (x *ConnectionPolicySpec_Config) Reset() { + *x = ConnectionPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectionPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectionPolicySpec_Config) ProtoMessage() {} + +func (x *ConnectionPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectionPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*ConnectionPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ConnectionPolicySpec_Config) GetTcp() *ConnectionPolicySpec_Config_TCPConfig { + if x != nil { + return x.Tcp + } + return nil +} + +func (x *ConnectionPolicySpec_Config) GetHttp() *ConnectionPolicySpec_Config_HTTPConfig { + if x != nil { + return x.Http + } + return nil +} + +type ConnectionPolicySpec_Config_TCPConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Sets the TCP keep-alive settings to apply to selected destinations. + TcpKeepalive *v2.TCPKeepalive `protobuf:"bytes,1,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"` + // Sets the maximum allowed connections to the destination host. + MaxConnections int32 `protobuf:"varint,2,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` + // Sets the TCP connection timeout. It must be greater than or equal to 1ms. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + ConnectTimeout *duration.Duration `protobuf:"bytes,3,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` +} + +func (x *ConnectionPolicySpec_Config_TCPConfig) Reset() { + *x = ConnectionPolicySpec_Config_TCPConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectionPolicySpec_Config_TCPConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectionPolicySpec_Config_TCPConfig) ProtoMessage() {} + +func (x *ConnectionPolicySpec_Config_TCPConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectionPolicySpec_Config_TCPConfig.ProtoReflect.Descriptor instead. +func (*ConnectionPolicySpec_Config_TCPConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *ConnectionPolicySpec_Config_TCPConfig) GetTcpKeepalive() *v2.TCPKeepalive { + if x != nil { + return x.TcpKeepalive + } + return nil +} + +func (x *ConnectionPolicySpec_Config_TCPConfig) GetMaxConnections() int32 { + if x != nil { + return x.MaxConnections + } + return 0 +} + +func (x *ConnectionPolicySpec_Config_TCPConfig) GetConnectTimeout() *duration.Duration { + if x != nil { + return x.ConnectTimeout + } + return nil +} + +type ConnectionPolicySpec_Config_HTTPConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Maximum number of requests per connection to a backend. Setting this parameter to 1 disables keep alive. Default 0, meaning “unlimited”, up to 2^29. + MaxRequestsPerConnection int32 `protobuf:"varint,1,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"` + // Maximum number of retries that can be outstanding to all hosts in a cluster at a given time. Defaults to 2^32-1. + MaxRetries int32 `protobuf:"varint,2,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"` + // Maximum number of active requests to a destination. Default 1024. Applicable to both HTTP/1.1 and HTTP2. + MaxRequests int32 `protobuf:"varint,4,opt,name=max_requests,json=maxRequests,proto3" json:"max_requests,omitempty"` + // Maximum number of requests that will be queued while waiting for a ready connection pool connection. Default 1024. + // If the limit is reached, the request will fail and a 503 error will be returned. + // Applicable to both HTTP/1.1 and HTTP2. + MaxPendingRequests int32 `protobuf:"varint,5,opt,name=max_pending_requests,json=maxPendingRequests,proto3" json:"max_pending_requests,omitempty"` + // The idle timeout for upstream connection pool connections. The idle timeout is defined as the period in which there are no active requests. + // If omitted, the default is 1 hour. When the idle timeout is reached, the connection will be closed. If the connection is an HTTP/2 connection + // a drain sequence will occur prior to closing the connection. Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive. + // Applies to both HTTP1.1 and HTTP2 connections. + // For more information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + IdleTimeout *duration.Duration `protobuf:"bytes,3,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` +} + +func (x *ConnectionPolicySpec_Config_HTTPConfig) Reset() { + *x = ConnectionPolicySpec_Config_HTTPConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectionPolicySpec_Config_HTTPConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectionPolicySpec_Config_HTTPConfig) ProtoMessage() {} + +func (x *ConnectionPolicySpec_Config_HTTPConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectionPolicySpec_Config_HTTPConfig.ProtoReflect.Descriptor instead. +func (*ConnectionPolicySpec_Config_HTTPConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescGZIP(), []int{0, 0, 1} +} + +func (x *ConnectionPolicySpec_Config_HTTPConfig) GetMaxRequestsPerConnection() int32 { + if x != nil { + return x.MaxRequestsPerConnection + } + return 0 +} + +func (x *ConnectionPolicySpec_Config_HTTPConfig) GetMaxRetries() int32 { + if x != nil { + return x.MaxRetries + } + return 0 +} + +func (x *ConnectionPolicySpec_Config_HTTPConfig) GetMaxRequests() int32 { + if x != nil { + return x.MaxRequests + } + return 0 +} + +func (x *ConnectionPolicySpec_Config_HTTPConfig) GetMaxPendingRequests() int32 { + if x != nil { + return x.MaxPendingRequests + } + return 0 +} + +func (x *ConnectionPolicySpec_Config_HTTPConfig) GetIdleTimeout() *duration.Duration { + if x != nil { + return x.IdleTimeout + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDesc = []byte{ + 0x0a, 0x65, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, + 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, + 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x06, 0x0a, 0x14, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x5c, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x53, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3b, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x82, 0x05, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x57, 0x0a, 0x03, 0x74, 0x63, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, + 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x43, 0x50, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x03, 0x74, 0x63, 0x70, 0x12, 0x5a, 0x0a, 0x04, 0x68, 0x74, 0x74, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, + 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x04, 0x68, 0x74, 0x74, 0x70, 0x1a, 0xc0, 0x01, 0x0a, 0x09, 0x54, 0x43, 0x50, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0d, 0x74, 0x63, 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, + 0x6c, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x54, 0x43, 0x50, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x0c, 0x74, + 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6d, + 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0xff, 0x01, 0x0a, 0x0a, 0x48, 0x54, 0x54, + 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x6d, 0x61, + 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, + 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, + 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x61, + 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x50, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x0c, + 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, + 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x92, 0x01, 0x0a, 0x16, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1e, 0x6e, 0x75, + 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x1b, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x22, + 0xc5, 0x02, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x66, 0x0a, 0x0a, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, + 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x18, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5f, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, + 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, + 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_goTypes = []interface{}{ + (*ConnectionPolicySpec)(nil), // 0: resilience.policy.gloo.solo.io.ConnectionPolicySpec + (*ConnectionPolicyStatus)(nil), // 1: resilience.policy.gloo.solo.io.ConnectionPolicyStatus + (*ConnectionPolicyReport)(nil), // 2: resilience.policy.gloo.solo.io.ConnectionPolicyReport + (*ConnectionPolicySpec_Config)(nil), // 3: resilience.policy.gloo.solo.io.ConnectionPolicySpec.Config + (*ConnectionPolicySpec_Config_TCPConfig)(nil), // 4: resilience.policy.gloo.solo.io.ConnectionPolicySpec.Config.TCPConfig + (*ConnectionPolicySpec_Config_HTTPConfig)(nil), // 5: resilience.policy.gloo.solo.io.ConnectionPolicySpec.Config.HTTPConfig + nil, // 6: resilience.policy.gloo.solo.io.ConnectionPolicyReport.WorkspacesEntry + (*v2.DestinationSelector)(nil), // 7: common.gloo.solo.io.DestinationSelector + (*v2.Status)(nil), // 8: common.gloo.solo.io.Status + (*v2.DestinationReference)(nil), // 9: common.gloo.solo.io.DestinationReference + (*v2.TCPKeepalive)(nil), // 10: common.gloo.solo.io.TCPKeepalive + (*duration.Duration)(nil), // 11: google.protobuf.Duration + (*v2.Report)(nil), // 12: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_depIdxs = []int32{ + 7, // 0: resilience.policy.gloo.solo.io.ConnectionPolicySpec.apply_to_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 3, // 1: resilience.policy.gloo.solo.io.ConnectionPolicySpec.config:type_name -> resilience.policy.gloo.solo.io.ConnectionPolicySpec.Config + 8, // 2: resilience.policy.gloo.solo.io.ConnectionPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 6, // 3: resilience.policy.gloo.solo.io.ConnectionPolicyReport.workspaces:type_name -> resilience.policy.gloo.solo.io.ConnectionPolicyReport.WorkspacesEntry + 9, // 4: resilience.policy.gloo.solo.io.ConnectionPolicyReport.selected_destination_ports:type_name -> common.gloo.solo.io.DestinationReference + 4, // 5: resilience.policy.gloo.solo.io.ConnectionPolicySpec.Config.tcp:type_name -> resilience.policy.gloo.solo.io.ConnectionPolicySpec.Config.TCPConfig + 5, // 6: resilience.policy.gloo.solo.io.ConnectionPolicySpec.Config.http:type_name -> resilience.policy.gloo.solo.io.ConnectionPolicySpec.Config.HTTPConfig + 10, // 7: resilience.policy.gloo.solo.io.ConnectionPolicySpec.Config.TCPConfig.tcp_keepalive:type_name -> common.gloo.solo.io.TCPKeepalive + 11, // 8: resilience.policy.gloo.solo.io.ConnectionPolicySpec.Config.TCPConfig.connect_timeout:type_name -> google.protobuf.Duration + 11, // 9: resilience.policy.gloo.solo.io.ConnectionPolicySpec.Config.HTTPConfig.idle_timeout:type_name -> google.protobuf.Duration + 12, // 10: resilience.policy.gloo.solo.io.ConnectionPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectionPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectionPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectionPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectionPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectionPolicySpec_Config_TCPConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectionPolicySpec_Config_HTTPConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_connection_policy_proto_depIdxs = nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/connection_policy.pb.hash.go b/client-go/resilience.policy.gloo.solo.io/v2/connection_policy.pb.hash.go new file mode 100644 index 000000000..5db1f0aaf --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/connection_policy.pb.hash.go @@ -0,0 +1,379 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/connection_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ConnectionPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ConnectionPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ConnectionPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ConnectionPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedDestinationPorts()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ConnectionPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ConnectionPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ConnectionPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ConnectionPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTcp()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Tcp")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTcp(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Tcp")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetHttp()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Http")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHttp(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Http")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ConnectionPolicySpec_Config_TCPConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ConnectionPolicySpec_Config_TCPConfig")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTcpKeepalive()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TcpKeepalive")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTcpKeepalive(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TcpKeepalive")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMaxConnections()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetConnectTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ConnectTimeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConnectTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ConnectTimeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ConnectionPolicySpec_Config_HTTPConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ConnectionPolicySpec_Config_HTTPConfig")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMaxRequestsPerConnection()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMaxRetries()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMaxRequests()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMaxPendingRequests()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetIdleTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("IdleTimeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIdleTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("IdleTimeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/controller/event_handlers.go b/client-go/resilience.policy.gloo.solo.io/v2/controller/event_handlers.go new file mode 100644 index 000000000..7db15a67e --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/controller/event_handlers.go @@ -0,0 +1,981 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + resilience_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the GraphQLPersistedQueryCachePolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type GraphQLPersistedQueryCachePolicyEventHandler interface { + CreateGraphQLPersistedQueryCachePolicy(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error + UpdateGraphQLPersistedQueryCachePolicy(old, new *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error + DeleteGraphQLPersistedQueryCachePolicy(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error + GenericGraphQLPersistedQueryCachePolicy(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error +} + +type GraphQLPersistedQueryCachePolicyEventHandlerFuncs struct { + OnCreate func(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error + OnUpdate func(old, new *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error + OnDelete func(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error + OnGeneric func(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error +} + +func (f *GraphQLPersistedQueryCachePolicyEventHandlerFuncs) CreateGraphQLPersistedQueryCachePolicy(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *GraphQLPersistedQueryCachePolicyEventHandlerFuncs) DeleteGraphQLPersistedQueryCachePolicy(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *GraphQLPersistedQueryCachePolicyEventHandlerFuncs) UpdateGraphQLPersistedQueryCachePolicy(objOld, objNew *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *GraphQLPersistedQueryCachePolicyEventHandlerFuncs) GenericGraphQLPersistedQueryCachePolicy(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type GraphQLPersistedQueryCachePolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h GraphQLPersistedQueryCachePolicyEventHandler, predicates ...predicate.Predicate) error +} + +type graphQLPersistedQueryCachePolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewGraphQLPersistedQueryCachePolicyEventWatcher(name string, mgr manager.Manager) GraphQLPersistedQueryCachePolicyEventWatcher { + return &graphQLPersistedQueryCachePolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy{}), + } +} + +func (c *graphQLPersistedQueryCachePolicyEventWatcher) AddEventHandler(ctx context.Context, h GraphQLPersistedQueryCachePolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericGraphQLPersistedQueryCachePolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericGraphQLPersistedQueryCachePolicyHandler implements a generic events.EventHandler +type genericGraphQLPersistedQueryCachePolicyHandler struct { + handler GraphQLPersistedQueryCachePolicyEventHandler +} + +func (h genericGraphQLPersistedQueryCachePolicyHandler) Create(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) + if !ok { + return errors.Errorf("internal error: GraphQLPersistedQueryCachePolicy handler received event for %T", object) + } + return h.handler.CreateGraphQLPersistedQueryCachePolicy(obj) +} + +func (h genericGraphQLPersistedQueryCachePolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) + if !ok { + return errors.Errorf("internal error: GraphQLPersistedQueryCachePolicy handler received event for %T", object) + } + return h.handler.DeleteGraphQLPersistedQueryCachePolicy(obj) +} + +func (h genericGraphQLPersistedQueryCachePolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) + if !ok { + return errors.Errorf("internal error: GraphQLPersistedQueryCachePolicy handler received event for %T", old) + } + objNew, ok := new.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) + if !ok { + return errors.Errorf("internal error: GraphQLPersistedQueryCachePolicy handler received event for %T", new) + } + return h.handler.UpdateGraphQLPersistedQueryCachePolicy(objOld, objNew) +} + +func (h genericGraphQLPersistedQueryCachePolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) + if !ok { + return errors.Errorf("internal error: GraphQLPersistedQueryCachePolicy handler received event for %T", object) + } + return h.handler.GenericGraphQLPersistedQueryCachePolicy(obj) +} + +// Handle events for the FailoverPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type FailoverPolicyEventHandler interface { + CreateFailoverPolicy(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error + UpdateFailoverPolicy(old, new *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error + DeleteFailoverPolicy(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error + GenericFailoverPolicy(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error +} + +type FailoverPolicyEventHandlerFuncs struct { + OnCreate func(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error + OnUpdate func(old, new *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error + OnDelete func(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error + OnGeneric func(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error +} + +func (f *FailoverPolicyEventHandlerFuncs) CreateFailoverPolicy(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *FailoverPolicyEventHandlerFuncs) DeleteFailoverPolicy(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *FailoverPolicyEventHandlerFuncs) UpdateFailoverPolicy(objOld, objNew *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *FailoverPolicyEventHandlerFuncs) GenericFailoverPolicy(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type FailoverPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h FailoverPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type failoverPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewFailoverPolicyEventWatcher(name string, mgr manager.Manager) FailoverPolicyEventWatcher { + return &failoverPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &resilience_policy_gloo_solo_io_v2.FailoverPolicy{}), + } +} + +func (c *failoverPolicyEventWatcher) AddEventHandler(ctx context.Context, h FailoverPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericFailoverPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericFailoverPolicyHandler implements a generic events.EventHandler +type genericFailoverPolicyHandler struct { + handler FailoverPolicyEventHandler +} + +func (h genericFailoverPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) + if !ok { + return errors.Errorf("internal error: FailoverPolicy handler received event for %T", object) + } + return h.handler.CreateFailoverPolicy(obj) +} + +func (h genericFailoverPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) + if !ok { + return errors.Errorf("internal error: FailoverPolicy handler received event for %T", object) + } + return h.handler.DeleteFailoverPolicy(obj) +} + +func (h genericFailoverPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) + if !ok { + return errors.Errorf("internal error: FailoverPolicy handler received event for %T", old) + } + objNew, ok := new.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) + if !ok { + return errors.Errorf("internal error: FailoverPolicy handler received event for %T", new) + } + return h.handler.UpdateFailoverPolicy(objOld, objNew) +} + +func (h genericFailoverPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) + if !ok { + return errors.Errorf("internal error: FailoverPolicy handler received event for %T", object) + } + return h.handler.GenericFailoverPolicy(obj) +} + +// Handle events for the OutlierDetectionPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type OutlierDetectionPolicyEventHandler interface { + CreateOutlierDetectionPolicy(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error + UpdateOutlierDetectionPolicy(old, new *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error + DeleteOutlierDetectionPolicy(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error + GenericOutlierDetectionPolicy(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error +} + +type OutlierDetectionPolicyEventHandlerFuncs struct { + OnCreate func(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error + OnUpdate func(old, new *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error + OnDelete func(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error + OnGeneric func(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error +} + +func (f *OutlierDetectionPolicyEventHandlerFuncs) CreateOutlierDetectionPolicy(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *OutlierDetectionPolicyEventHandlerFuncs) DeleteOutlierDetectionPolicy(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *OutlierDetectionPolicyEventHandlerFuncs) UpdateOutlierDetectionPolicy(objOld, objNew *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *OutlierDetectionPolicyEventHandlerFuncs) GenericOutlierDetectionPolicy(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type OutlierDetectionPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h OutlierDetectionPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type outlierDetectionPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewOutlierDetectionPolicyEventWatcher(name string, mgr manager.Manager) OutlierDetectionPolicyEventWatcher { + return &outlierDetectionPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy{}), + } +} + +func (c *outlierDetectionPolicyEventWatcher) AddEventHandler(ctx context.Context, h OutlierDetectionPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericOutlierDetectionPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericOutlierDetectionPolicyHandler implements a generic events.EventHandler +type genericOutlierDetectionPolicyHandler struct { + handler OutlierDetectionPolicyEventHandler +} + +func (h genericOutlierDetectionPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) + if !ok { + return errors.Errorf("internal error: OutlierDetectionPolicy handler received event for %T", object) + } + return h.handler.CreateOutlierDetectionPolicy(obj) +} + +func (h genericOutlierDetectionPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) + if !ok { + return errors.Errorf("internal error: OutlierDetectionPolicy handler received event for %T", object) + } + return h.handler.DeleteOutlierDetectionPolicy(obj) +} + +func (h genericOutlierDetectionPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) + if !ok { + return errors.Errorf("internal error: OutlierDetectionPolicy handler received event for %T", old) + } + objNew, ok := new.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) + if !ok { + return errors.Errorf("internal error: OutlierDetectionPolicy handler received event for %T", new) + } + return h.handler.UpdateOutlierDetectionPolicy(objOld, objNew) +} + +func (h genericOutlierDetectionPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) + if !ok { + return errors.Errorf("internal error: OutlierDetectionPolicy handler received event for %T", object) + } + return h.handler.GenericOutlierDetectionPolicy(obj) +} + +// Handle events for the FaultInjectionPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type FaultInjectionPolicyEventHandler interface { + CreateFaultInjectionPolicy(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error + UpdateFaultInjectionPolicy(old, new *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error + DeleteFaultInjectionPolicy(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error + GenericFaultInjectionPolicy(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error +} + +type FaultInjectionPolicyEventHandlerFuncs struct { + OnCreate func(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error + OnUpdate func(old, new *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error + OnDelete func(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error + OnGeneric func(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error +} + +func (f *FaultInjectionPolicyEventHandlerFuncs) CreateFaultInjectionPolicy(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *FaultInjectionPolicyEventHandlerFuncs) DeleteFaultInjectionPolicy(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *FaultInjectionPolicyEventHandlerFuncs) UpdateFaultInjectionPolicy(objOld, objNew *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *FaultInjectionPolicyEventHandlerFuncs) GenericFaultInjectionPolicy(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type FaultInjectionPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h FaultInjectionPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type faultInjectionPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewFaultInjectionPolicyEventWatcher(name string, mgr manager.Manager) FaultInjectionPolicyEventWatcher { + return &faultInjectionPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy{}), + } +} + +func (c *faultInjectionPolicyEventWatcher) AddEventHandler(ctx context.Context, h FaultInjectionPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericFaultInjectionPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericFaultInjectionPolicyHandler implements a generic events.EventHandler +type genericFaultInjectionPolicyHandler struct { + handler FaultInjectionPolicyEventHandler +} + +func (h genericFaultInjectionPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) + if !ok { + return errors.Errorf("internal error: FaultInjectionPolicy handler received event for %T", object) + } + return h.handler.CreateFaultInjectionPolicy(obj) +} + +func (h genericFaultInjectionPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) + if !ok { + return errors.Errorf("internal error: FaultInjectionPolicy handler received event for %T", object) + } + return h.handler.DeleteFaultInjectionPolicy(obj) +} + +func (h genericFaultInjectionPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) + if !ok { + return errors.Errorf("internal error: FaultInjectionPolicy handler received event for %T", old) + } + objNew, ok := new.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) + if !ok { + return errors.Errorf("internal error: FaultInjectionPolicy handler received event for %T", new) + } + return h.handler.UpdateFaultInjectionPolicy(objOld, objNew) +} + +func (h genericFaultInjectionPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) + if !ok { + return errors.Errorf("internal error: FaultInjectionPolicy handler received event for %T", object) + } + return h.handler.GenericFaultInjectionPolicy(obj) +} + +// Handle events for the RetryTimeoutPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type RetryTimeoutPolicyEventHandler interface { + CreateRetryTimeoutPolicy(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error + UpdateRetryTimeoutPolicy(old, new *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error + DeleteRetryTimeoutPolicy(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error + GenericRetryTimeoutPolicy(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error +} + +type RetryTimeoutPolicyEventHandlerFuncs struct { + OnCreate func(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error + OnUpdate func(old, new *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error + OnDelete func(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error + OnGeneric func(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error +} + +func (f *RetryTimeoutPolicyEventHandlerFuncs) CreateRetryTimeoutPolicy(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *RetryTimeoutPolicyEventHandlerFuncs) DeleteRetryTimeoutPolicy(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *RetryTimeoutPolicyEventHandlerFuncs) UpdateRetryTimeoutPolicy(objOld, objNew *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *RetryTimeoutPolicyEventHandlerFuncs) GenericRetryTimeoutPolicy(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type RetryTimeoutPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h RetryTimeoutPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type retryTimeoutPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewRetryTimeoutPolicyEventWatcher(name string, mgr manager.Manager) RetryTimeoutPolicyEventWatcher { + return &retryTimeoutPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy{}), + } +} + +func (c *retryTimeoutPolicyEventWatcher) AddEventHandler(ctx context.Context, h RetryTimeoutPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericRetryTimeoutPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericRetryTimeoutPolicyHandler implements a generic events.EventHandler +type genericRetryTimeoutPolicyHandler struct { + handler RetryTimeoutPolicyEventHandler +} + +func (h genericRetryTimeoutPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) + if !ok { + return errors.Errorf("internal error: RetryTimeoutPolicy handler received event for %T", object) + } + return h.handler.CreateRetryTimeoutPolicy(obj) +} + +func (h genericRetryTimeoutPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) + if !ok { + return errors.Errorf("internal error: RetryTimeoutPolicy handler received event for %T", object) + } + return h.handler.DeleteRetryTimeoutPolicy(obj) +} + +func (h genericRetryTimeoutPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) + if !ok { + return errors.Errorf("internal error: RetryTimeoutPolicy handler received event for %T", old) + } + objNew, ok := new.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) + if !ok { + return errors.Errorf("internal error: RetryTimeoutPolicy handler received event for %T", new) + } + return h.handler.UpdateRetryTimeoutPolicy(objOld, objNew) +} + +func (h genericRetryTimeoutPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) + if !ok { + return errors.Errorf("internal error: RetryTimeoutPolicy handler received event for %T", object) + } + return h.handler.GenericRetryTimeoutPolicy(obj) +} + +// Handle events for the ConnectionPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type ConnectionPolicyEventHandler interface { + CreateConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error + UpdateConnectionPolicy(old, new *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error + DeleteConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error + GenericConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error +} + +type ConnectionPolicyEventHandlerFuncs struct { + OnCreate func(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error + OnUpdate func(old, new *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error + OnDelete func(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error + OnGeneric func(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error +} + +func (f *ConnectionPolicyEventHandlerFuncs) CreateConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ConnectionPolicyEventHandlerFuncs) DeleteConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ConnectionPolicyEventHandlerFuncs) UpdateConnectionPolicy(objOld, objNew *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ConnectionPolicyEventHandlerFuncs) GenericConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ConnectionPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h ConnectionPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type connectionPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewConnectionPolicyEventWatcher(name string, mgr manager.Manager) ConnectionPolicyEventWatcher { + return &connectionPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &resilience_policy_gloo_solo_io_v2.ConnectionPolicy{}), + } +} + +func (c *connectionPolicyEventWatcher) AddEventHandler(ctx context.Context, h ConnectionPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericConnectionPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericConnectionPolicyHandler implements a generic events.EventHandler +type genericConnectionPolicyHandler struct { + handler ConnectionPolicyEventHandler +} + +func (h genericConnectionPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) + if !ok { + return errors.Errorf("internal error: ConnectionPolicy handler received event for %T", object) + } + return h.handler.CreateConnectionPolicy(obj) +} + +func (h genericConnectionPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) + if !ok { + return errors.Errorf("internal error: ConnectionPolicy handler received event for %T", object) + } + return h.handler.DeleteConnectionPolicy(obj) +} + +func (h genericConnectionPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) + if !ok { + return errors.Errorf("internal error: ConnectionPolicy handler received event for %T", old) + } + objNew, ok := new.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) + if !ok { + return errors.Errorf("internal error: ConnectionPolicy handler received event for %T", new) + } + return h.handler.UpdateConnectionPolicy(objOld, objNew) +} + +func (h genericConnectionPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) + if !ok { + return errors.Errorf("internal error: ConnectionPolicy handler received event for %T", object) + } + return h.handler.GenericConnectionPolicy(obj) +} + +// Handle events for the TrimProxyConfigPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type TrimProxyConfigPolicyEventHandler interface { + CreateTrimProxyConfigPolicy(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error + UpdateTrimProxyConfigPolicy(old, new *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error + DeleteTrimProxyConfigPolicy(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error + GenericTrimProxyConfigPolicy(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error +} + +type TrimProxyConfigPolicyEventHandlerFuncs struct { + OnCreate func(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error + OnUpdate func(old, new *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error + OnDelete func(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error + OnGeneric func(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error +} + +func (f *TrimProxyConfigPolicyEventHandlerFuncs) CreateTrimProxyConfigPolicy(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *TrimProxyConfigPolicyEventHandlerFuncs) DeleteTrimProxyConfigPolicy(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *TrimProxyConfigPolicyEventHandlerFuncs) UpdateTrimProxyConfigPolicy(objOld, objNew *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *TrimProxyConfigPolicyEventHandlerFuncs) GenericTrimProxyConfigPolicy(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type TrimProxyConfigPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h TrimProxyConfigPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type trimProxyConfigPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewTrimProxyConfigPolicyEventWatcher(name string, mgr manager.Manager) TrimProxyConfigPolicyEventWatcher { + return &trimProxyConfigPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy{}), + } +} + +func (c *trimProxyConfigPolicyEventWatcher) AddEventHandler(ctx context.Context, h TrimProxyConfigPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericTrimProxyConfigPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericTrimProxyConfigPolicyHandler implements a generic events.EventHandler +type genericTrimProxyConfigPolicyHandler struct { + handler TrimProxyConfigPolicyEventHandler +} + +func (h genericTrimProxyConfigPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) + if !ok { + return errors.Errorf("internal error: TrimProxyConfigPolicy handler received event for %T", object) + } + return h.handler.CreateTrimProxyConfigPolicy(obj) +} + +func (h genericTrimProxyConfigPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) + if !ok { + return errors.Errorf("internal error: TrimProxyConfigPolicy handler received event for %T", object) + } + return h.handler.DeleteTrimProxyConfigPolicy(obj) +} + +func (h genericTrimProxyConfigPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) + if !ok { + return errors.Errorf("internal error: TrimProxyConfigPolicy handler received event for %T", old) + } + objNew, ok := new.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) + if !ok { + return errors.Errorf("internal error: TrimProxyConfigPolicy handler received event for %T", new) + } + return h.handler.UpdateTrimProxyConfigPolicy(objOld, objNew) +} + +func (h genericTrimProxyConfigPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) + if !ok { + return errors.Errorf("internal error: TrimProxyConfigPolicy handler received event for %T", object) + } + return h.handler.GenericTrimProxyConfigPolicy(obj) +} + +// Handle events for the ActiveHealthCheckPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type ActiveHealthCheckPolicyEventHandler interface { + CreateActiveHealthCheckPolicy(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error + UpdateActiveHealthCheckPolicy(old, new *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error + DeleteActiveHealthCheckPolicy(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error + GenericActiveHealthCheckPolicy(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error +} + +type ActiveHealthCheckPolicyEventHandlerFuncs struct { + OnCreate func(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error + OnUpdate func(old, new *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error + OnDelete func(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error + OnGeneric func(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error +} + +func (f *ActiveHealthCheckPolicyEventHandlerFuncs) CreateActiveHealthCheckPolicy(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ActiveHealthCheckPolicyEventHandlerFuncs) DeleteActiveHealthCheckPolicy(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ActiveHealthCheckPolicyEventHandlerFuncs) UpdateActiveHealthCheckPolicy(objOld, objNew *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ActiveHealthCheckPolicyEventHandlerFuncs) GenericActiveHealthCheckPolicy(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ActiveHealthCheckPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h ActiveHealthCheckPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type activeHealthCheckPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewActiveHealthCheckPolicyEventWatcher(name string, mgr manager.Manager) ActiveHealthCheckPolicyEventWatcher { + return &activeHealthCheckPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy{}), + } +} + +func (c *activeHealthCheckPolicyEventWatcher) AddEventHandler(ctx context.Context, h ActiveHealthCheckPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericActiveHealthCheckPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericActiveHealthCheckPolicyHandler implements a generic events.EventHandler +type genericActiveHealthCheckPolicyHandler struct { + handler ActiveHealthCheckPolicyEventHandler +} + +func (h genericActiveHealthCheckPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) + if !ok { + return errors.Errorf("internal error: ActiveHealthCheckPolicy handler received event for %T", object) + } + return h.handler.CreateActiveHealthCheckPolicy(obj) +} + +func (h genericActiveHealthCheckPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) + if !ok { + return errors.Errorf("internal error: ActiveHealthCheckPolicy handler received event for %T", object) + } + return h.handler.DeleteActiveHealthCheckPolicy(obj) +} + +func (h genericActiveHealthCheckPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) + if !ok { + return errors.Errorf("internal error: ActiveHealthCheckPolicy handler received event for %T", old) + } + objNew, ok := new.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) + if !ok { + return errors.Errorf("internal error: ActiveHealthCheckPolicy handler received event for %T", new) + } + return h.handler.UpdateActiveHealthCheckPolicy(objOld, objNew) +} + +func (h genericActiveHealthCheckPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) + if !ok { + return errors.Errorf("internal error: ActiveHealthCheckPolicy handler received event for %T", object) + } + return h.handler.GenericActiveHealthCheckPolicy(obj) +} + +// Handle events for the ListenerConnectionPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type ListenerConnectionPolicyEventHandler interface { + CreateListenerConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error + UpdateListenerConnectionPolicy(old, new *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error + DeleteListenerConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error + GenericListenerConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error +} + +type ListenerConnectionPolicyEventHandlerFuncs struct { + OnCreate func(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error + OnUpdate func(old, new *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error + OnDelete func(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error + OnGeneric func(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error +} + +func (f *ListenerConnectionPolicyEventHandlerFuncs) CreateListenerConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ListenerConnectionPolicyEventHandlerFuncs) DeleteListenerConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ListenerConnectionPolicyEventHandlerFuncs) UpdateListenerConnectionPolicy(objOld, objNew *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ListenerConnectionPolicyEventHandlerFuncs) GenericListenerConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ListenerConnectionPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h ListenerConnectionPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type listenerConnectionPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewListenerConnectionPolicyEventWatcher(name string, mgr manager.Manager) ListenerConnectionPolicyEventWatcher { + return &listenerConnectionPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy{}), + } +} + +func (c *listenerConnectionPolicyEventWatcher) AddEventHandler(ctx context.Context, h ListenerConnectionPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericListenerConnectionPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericListenerConnectionPolicyHandler implements a generic events.EventHandler +type genericListenerConnectionPolicyHandler struct { + handler ListenerConnectionPolicyEventHandler +} + +func (h genericListenerConnectionPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) + if !ok { + return errors.Errorf("internal error: ListenerConnectionPolicy handler received event for %T", object) + } + return h.handler.CreateListenerConnectionPolicy(obj) +} + +func (h genericListenerConnectionPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) + if !ok { + return errors.Errorf("internal error: ListenerConnectionPolicy handler received event for %T", object) + } + return h.handler.DeleteListenerConnectionPolicy(obj) +} + +func (h genericListenerConnectionPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) + if !ok { + return errors.Errorf("internal error: ListenerConnectionPolicy handler received event for %T", old) + } + objNew, ok := new.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) + if !ok { + return errors.Errorf("internal error: ListenerConnectionPolicy handler received event for %T", new) + } + return h.handler.UpdateListenerConnectionPolicy(objOld, objNew) +} + +func (h genericListenerConnectionPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) + if !ok { + return errors.Errorf("internal error: ListenerConnectionPolicy handler received event for %T", object) + } + return h.handler.GenericListenerConnectionPolicy(obj) +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go b/client-go/resilience.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go new file mode 100644 index 000000000..1d2a0b1af --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go @@ -0,0 +1,1105 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2/controller" +) + +// MockGraphQLPersistedQueryCachePolicyEventHandler is a mock of GraphQLPersistedQueryCachePolicyEventHandler interface. +type MockGraphQLPersistedQueryCachePolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockGraphQLPersistedQueryCachePolicyEventHandlerMockRecorder +} + +// MockGraphQLPersistedQueryCachePolicyEventHandlerMockRecorder is the mock recorder for MockGraphQLPersistedQueryCachePolicyEventHandler. +type MockGraphQLPersistedQueryCachePolicyEventHandlerMockRecorder struct { + mock *MockGraphQLPersistedQueryCachePolicyEventHandler +} + +// NewMockGraphQLPersistedQueryCachePolicyEventHandler creates a new mock instance. +func NewMockGraphQLPersistedQueryCachePolicyEventHandler(ctrl *gomock.Controller) *MockGraphQLPersistedQueryCachePolicyEventHandler { + mock := &MockGraphQLPersistedQueryCachePolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockGraphQLPersistedQueryCachePolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLPersistedQueryCachePolicyEventHandler) EXPECT() *MockGraphQLPersistedQueryCachePolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyEventHandler) CreateGraphQLPersistedQueryCachePolicy(obj *v2.GraphQLPersistedQueryCachePolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateGraphQLPersistedQueryCachePolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLPersistedQueryCachePolicy indicates an expected call of CreateGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyEventHandlerMockRecorder) CreateGraphQLPersistedQueryCachePolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyEventHandler)(nil).CreateGraphQLPersistedQueryCachePolicy), obj) +} + +// DeleteGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyEventHandler) DeleteGraphQLPersistedQueryCachePolicy(obj *v2.GraphQLPersistedQueryCachePolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteGraphQLPersistedQueryCachePolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLPersistedQueryCachePolicy indicates an expected call of DeleteGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyEventHandlerMockRecorder) DeleteGraphQLPersistedQueryCachePolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyEventHandler)(nil).DeleteGraphQLPersistedQueryCachePolicy), obj) +} + +// GenericGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyEventHandler) GenericGraphQLPersistedQueryCachePolicy(obj *v2.GraphQLPersistedQueryCachePolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericGraphQLPersistedQueryCachePolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericGraphQLPersistedQueryCachePolicy indicates an expected call of GenericGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyEventHandlerMockRecorder) GenericGraphQLPersistedQueryCachePolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyEventHandler)(nil).GenericGraphQLPersistedQueryCachePolicy), obj) +} + +// UpdateGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyEventHandler) UpdateGraphQLPersistedQueryCachePolicy(old, new *v2.GraphQLPersistedQueryCachePolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateGraphQLPersistedQueryCachePolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLPersistedQueryCachePolicy indicates an expected call of UpdateGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyEventHandlerMockRecorder) UpdateGraphQLPersistedQueryCachePolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyEventHandler)(nil).UpdateGraphQLPersistedQueryCachePolicy), old, new) +} + +// MockGraphQLPersistedQueryCachePolicyEventWatcher is a mock of GraphQLPersistedQueryCachePolicyEventWatcher interface. +type MockGraphQLPersistedQueryCachePolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockGraphQLPersistedQueryCachePolicyEventWatcherMockRecorder +} + +// MockGraphQLPersistedQueryCachePolicyEventWatcherMockRecorder is the mock recorder for MockGraphQLPersistedQueryCachePolicyEventWatcher. +type MockGraphQLPersistedQueryCachePolicyEventWatcherMockRecorder struct { + mock *MockGraphQLPersistedQueryCachePolicyEventWatcher +} + +// NewMockGraphQLPersistedQueryCachePolicyEventWatcher creates a new mock instance. +func NewMockGraphQLPersistedQueryCachePolicyEventWatcher(ctrl *gomock.Controller) *MockGraphQLPersistedQueryCachePolicyEventWatcher { + mock := &MockGraphQLPersistedQueryCachePolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockGraphQLPersistedQueryCachePolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLPersistedQueryCachePolicyEventWatcher) EXPECT() *MockGraphQLPersistedQueryCachePolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.GraphQLPersistedQueryCachePolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockGraphQLPersistedQueryCachePolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockFailoverPolicyEventHandler is a mock of FailoverPolicyEventHandler interface. +type MockFailoverPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockFailoverPolicyEventHandlerMockRecorder +} + +// MockFailoverPolicyEventHandlerMockRecorder is the mock recorder for MockFailoverPolicyEventHandler. +type MockFailoverPolicyEventHandlerMockRecorder struct { + mock *MockFailoverPolicyEventHandler +} + +// NewMockFailoverPolicyEventHandler creates a new mock instance. +func NewMockFailoverPolicyEventHandler(ctrl *gomock.Controller) *MockFailoverPolicyEventHandler { + mock := &MockFailoverPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockFailoverPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFailoverPolicyEventHandler) EXPECT() *MockFailoverPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateFailoverPolicy mocks base method. +func (m *MockFailoverPolicyEventHandler) CreateFailoverPolicy(obj *v2.FailoverPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateFailoverPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateFailoverPolicy indicates an expected call of CreateFailoverPolicy. +func (mr *MockFailoverPolicyEventHandlerMockRecorder) CreateFailoverPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyEventHandler)(nil).CreateFailoverPolicy), obj) +} + +// DeleteFailoverPolicy mocks base method. +func (m *MockFailoverPolicyEventHandler) DeleteFailoverPolicy(obj *v2.FailoverPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteFailoverPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteFailoverPolicy indicates an expected call of DeleteFailoverPolicy. +func (mr *MockFailoverPolicyEventHandlerMockRecorder) DeleteFailoverPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyEventHandler)(nil).DeleteFailoverPolicy), obj) +} + +// GenericFailoverPolicy mocks base method. +func (m *MockFailoverPolicyEventHandler) GenericFailoverPolicy(obj *v2.FailoverPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericFailoverPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericFailoverPolicy indicates an expected call of GenericFailoverPolicy. +func (mr *MockFailoverPolicyEventHandlerMockRecorder) GenericFailoverPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyEventHandler)(nil).GenericFailoverPolicy), obj) +} + +// UpdateFailoverPolicy mocks base method. +func (m *MockFailoverPolicyEventHandler) UpdateFailoverPolicy(old, new *v2.FailoverPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateFailoverPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateFailoverPolicy indicates an expected call of UpdateFailoverPolicy. +func (mr *MockFailoverPolicyEventHandlerMockRecorder) UpdateFailoverPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyEventHandler)(nil).UpdateFailoverPolicy), old, new) +} + +// MockFailoverPolicyEventWatcher is a mock of FailoverPolicyEventWatcher interface. +type MockFailoverPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockFailoverPolicyEventWatcherMockRecorder +} + +// MockFailoverPolicyEventWatcherMockRecorder is the mock recorder for MockFailoverPolicyEventWatcher. +type MockFailoverPolicyEventWatcherMockRecorder struct { + mock *MockFailoverPolicyEventWatcher +} + +// NewMockFailoverPolicyEventWatcher creates a new mock instance. +func NewMockFailoverPolicyEventWatcher(ctrl *gomock.Controller) *MockFailoverPolicyEventWatcher { + mock := &MockFailoverPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockFailoverPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFailoverPolicyEventWatcher) EXPECT() *MockFailoverPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockFailoverPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.FailoverPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockFailoverPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockFailoverPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockOutlierDetectionPolicyEventHandler is a mock of OutlierDetectionPolicyEventHandler interface. +type MockOutlierDetectionPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockOutlierDetectionPolicyEventHandlerMockRecorder +} + +// MockOutlierDetectionPolicyEventHandlerMockRecorder is the mock recorder for MockOutlierDetectionPolicyEventHandler. +type MockOutlierDetectionPolicyEventHandlerMockRecorder struct { + mock *MockOutlierDetectionPolicyEventHandler +} + +// NewMockOutlierDetectionPolicyEventHandler creates a new mock instance. +func NewMockOutlierDetectionPolicyEventHandler(ctrl *gomock.Controller) *MockOutlierDetectionPolicyEventHandler { + mock := &MockOutlierDetectionPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockOutlierDetectionPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOutlierDetectionPolicyEventHandler) EXPECT() *MockOutlierDetectionPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyEventHandler) CreateOutlierDetectionPolicy(obj *v2.OutlierDetectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateOutlierDetectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateOutlierDetectionPolicy indicates an expected call of CreateOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyEventHandlerMockRecorder) CreateOutlierDetectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyEventHandler)(nil).CreateOutlierDetectionPolicy), obj) +} + +// DeleteOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyEventHandler) DeleteOutlierDetectionPolicy(obj *v2.OutlierDetectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteOutlierDetectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteOutlierDetectionPolicy indicates an expected call of DeleteOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyEventHandlerMockRecorder) DeleteOutlierDetectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyEventHandler)(nil).DeleteOutlierDetectionPolicy), obj) +} + +// GenericOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyEventHandler) GenericOutlierDetectionPolicy(obj *v2.OutlierDetectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericOutlierDetectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericOutlierDetectionPolicy indicates an expected call of GenericOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyEventHandlerMockRecorder) GenericOutlierDetectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyEventHandler)(nil).GenericOutlierDetectionPolicy), obj) +} + +// UpdateOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyEventHandler) UpdateOutlierDetectionPolicy(old, new *v2.OutlierDetectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateOutlierDetectionPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateOutlierDetectionPolicy indicates an expected call of UpdateOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyEventHandlerMockRecorder) UpdateOutlierDetectionPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyEventHandler)(nil).UpdateOutlierDetectionPolicy), old, new) +} + +// MockOutlierDetectionPolicyEventWatcher is a mock of OutlierDetectionPolicyEventWatcher interface. +type MockOutlierDetectionPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockOutlierDetectionPolicyEventWatcherMockRecorder +} + +// MockOutlierDetectionPolicyEventWatcherMockRecorder is the mock recorder for MockOutlierDetectionPolicyEventWatcher. +type MockOutlierDetectionPolicyEventWatcherMockRecorder struct { + mock *MockOutlierDetectionPolicyEventWatcher +} + +// NewMockOutlierDetectionPolicyEventWatcher creates a new mock instance. +func NewMockOutlierDetectionPolicyEventWatcher(ctrl *gomock.Controller) *MockOutlierDetectionPolicyEventWatcher { + mock := &MockOutlierDetectionPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockOutlierDetectionPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOutlierDetectionPolicyEventWatcher) EXPECT() *MockOutlierDetectionPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockOutlierDetectionPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.OutlierDetectionPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockOutlierDetectionPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockOutlierDetectionPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockFaultInjectionPolicyEventHandler is a mock of FaultInjectionPolicyEventHandler interface. +type MockFaultInjectionPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockFaultInjectionPolicyEventHandlerMockRecorder +} + +// MockFaultInjectionPolicyEventHandlerMockRecorder is the mock recorder for MockFaultInjectionPolicyEventHandler. +type MockFaultInjectionPolicyEventHandlerMockRecorder struct { + mock *MockFaultInjectionPolicyEventHandler +} + +// NewMockFaultInjectionPolicyEventHandler creates a new mock instance. +func NewMockFaultInjectionPolicyEventHandler(ctrl *gomock.Controller) *MockFaultInjectionPolicyEventHandler { + mock := &MockFaultInjectionPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockFaultInjectionPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFaultInjectionPolicyEventHandler) EXPECT() *MockFaultInjectionPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyEventHandler) CreateFaultInjectionPolicy(obj *v2.FaultInjectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateFaultInjectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateFaultInjectionPolicy indicates an expected call of CreateFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyEventHandlerMockRecorder) CreateFaultInjectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyEventHandler)(nil).CreateFaultInjectionPolicy), obj) +} + +// DeleteFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyEventHandler) DeleteFaultInjectionPolicy(obj *v2.FaultInjectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteFaultInjectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteFaultInjectionPolicy indicates an expected call of DeleteFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyEventHandlerMockRecorder) DeleteFaultInjectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyEventHandler)(nil).DeleteFaultInjectionPolicy), obj) +} + +// GenericFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyEventHandler) GenericFaultInjectionPolicy(obj *v2.FaultInjectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericFaultInjectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericFaultInjectionPolicy indicates an expected call of GenericFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyEventHandlerMockRecorder) GenericFaultInjectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyEventHandler)(nil).GenericFaultInjectionPolicy), obj) +} + +// UpdateFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyEventHandler) UpdateFaultInjectionPolicy(old, new *v2.FaultInjectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateFaultInjectionPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateFaultInjectionPolicy indicates an expected call of UpdateFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyEventHandlerMockRecorder) UpdateFaultInjectionPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyEventHandler)(nil).UpdateFaultInjectionPolicy), old, new) +} + +// MockFaultInjectionPolicyEventWatcher is a mock of FaultInjectionPolicyEventWatcher interface. +type MockFaultInjectionPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockFaultInjectionPolicyEventWatcherMockRecorder +} + +// MockFaultInjectionPolicyEventWatcherMockRecorder is the mock recorder for MockFaultInjectionPolicyEventWatcher. +type MockFaultInjectionPolicyEventWatcherMockRecorder struct { + mock *MockFaultInjectionPolicyEventWatcher +} + +// NewMockFaultInjectionPolicyEventWatcher creates a new mock instance. +func NewMockFaultInjectionPolicyEventWatcher(ctrl *gomock.Controller) *MockFaultInjectionPolicyEventWatcher { + mock := &MockFaultInjectionPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockFaultInjectionPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFaultInjectionPolicyEventWatcher) EXPECT() *MockFaultInjectionPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockFaultInjectionPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.FaultInjectionPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockFaultInjectionPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockFaultInjectionPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockRetryTimeoutPolicyEventHandler is a mock of RetryTimeoutPolicyEventHandler interface. +type MockRetryTimeoutPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockRetryTimeoutPolicyEventHandlerMockRecorder +} + +// MockRetryTimeoutPolicyEventHandlerMockRecorder is the mock recorder for MockRetryTimeoutPolicyEventHandler. +type MockRetryTimeoutPolicyEventHandlerMockRecorder struct { + mock *MockRetryTimeoutPolicyEventHandler +} + +// NewMockRetryTimeoutPolicyEventHandler creates a new mock instance. +func NewMockRetryTimeoutPolicyEventHandler(ctrl *gomock.Controller) *MockRetryTimeoutPolicyEventHandler { + mock := &MockRetryTimeoutPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockRetryTimeoutPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRetryTimeoutPolicyEventHandler) EXPECT() *MockRetryTimeoutPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyEventHandler) CreateRetryTimeoutPolicy(obj *v2.RetryTimeoutPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateRetryTimeoutPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRetryTimeoutPolicy indicates an expected call of CreateRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyEventHandlerMockRecorder) CreateRetryTimeoutPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyEventHandler)(nil).CreateRetryTimeoutPolicy), obj) +} + +// DeleteRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyEventHandler) DeleteRetryTimeoutPolicy(obj *v2.RetryTimeoutPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteRetryTimeoutPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRetryTimeoutPolicy indicates an expected call of DeleteRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyEventHandlerMockRecorder) DeleteRetryTimeoutPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyEventHandler)(nil).DeleteRetryTimeoutPolicy), obj) +} + +// GenericRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyEventHandler) GenericRetryTimeoutPolicy(obj *v2.RetryTimeoutPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericRetryTimeoutPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericRetryTimeoutPolicy indicates an expected call of GenericRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyEventHandlerMockRecorder) GenericRetryTimeoutPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyEventHandler)(nil).GenericRetryTimeoutPolicy), obj) +} + +// UpdateRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyEventHandler) UpdateRetryTimeoutPolicy(old, new *v2.RetryTimeoutPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateRetryTimeoutPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRetryTimeoutPolicy indicates an expected call of UpdateRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyEventHandlerMockRecorder) UpdateRetryTimeoutPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyEventHandler)(nil).UpdateRetryTimeoutPolicy), old, new) +} + +// MockRetryTimeoutPolicyEventWatcher is a mock of RetryTimeoutPolicyEventWatcher interface. +type MockRetryTimeoutPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockRetryTimeoutPolicyEventWatcherMockRecorder +} + +// MockRetryTimeoutPolicyEventWatcherMockRecorder is the mock recorder for MockRetryTimeoutPolicyEventWatcher. +type MockRetryTimeoutPolicyEventWatcherMockRecorder struct { + mock *MockRetryTimeoutPolicyEventWatcher +} + +// NewMockRetryTimeoutPolicyEventWatcher creates a new mock instance. +func NewMockRetryTimeoutPolicyEventWatcher(ctrl *gomock.Controller) *MockRetryTimeoutPolicyEventWatcher { + mock := &MockRetryTimeoutPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockRetryTimeoutPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRetryTimeoutPolicyEventWatcher) EXPECT() *MockRetryTimeoutPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockRetryTimeoutPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.RetryTimeoutPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockRetryTimeoutPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockRetryTimeoutPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockConnectionPolicyEventHandler is a mock of ConnectionPolicyEventHandler interface. +type MockConnectionPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockConnectionPolicyEventHandlerMockRecorder +} + +// MockConnectionPolicyEventHandlerMockRecorder is the mock recorder for MockConnectionPolicyEventHandler. +type MockConnectionPolicyEventHandlerMockRecorder struct { + mock *MockConnectionPolicyEventHandler +} + +// NewMockConnectionPolicyEventHandler creates a new mock instance. +func NewMockConnectionPolicyEventHandler(ctrl *gomock.Controller) *MockConnectionPolicyEventHandler { + mock := &MockConnectionPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockConnectionPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockConnectionPolicyEventHandler) EXPECT() *MockConnectionPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateConnectionPolicy mocks base method. +func (m *MockConnectionPolicyEventHandler) CreateConnectionPolicy(obj *v2.ConnectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateConnectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateConnectionPolicy indicates an expected call of CreateConnectionPolicy. +func (mr *MockConnectionPolicyEventHandlerMockRecorder) CreateConnectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyEventHandler)(nil).CreateConnectionPolicy), obj) +} + +// DeleteConnectionPolicy mocks base method. +func (m *MockConnectionPolicyEventHandler) DeleteConnectionPolicy(obj *v2.ConnectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteConnectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteConnectionPolicy indicates an expected call of DeleteConnectionPolicy. +func (mr *MockConnectionPolicyEventHandlerMockRecorder) DeleteConnectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyEventHandler)(nil).DeleteConnectionPolicy), obj) +} + +// GenericConnectionPolicy mocks base method. +func (m *MockConnectionPolicyEventHandler) GenericConnectionPolicy(obj *v2.ConnectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericConnectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericConnectionPolicy indicates an expected call of GenericConnectionPolicy. +func (mr *MockConnectionPolicyEventHandlerMockRecorder) GenericConnectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyEventHandler)(nil).GenericConnectionPolicy), obj) +} + +// UpdateConnectionPolicy mocks base method. +func (m *MockConnectionPolicyEventHandler) UpdateConnectionPolicy(old, new *v2.ConnectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateConnectionPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateConnectionPolicy indicates an expected call of UpdateConnectionPolicy. +func (mr *MockConnectionPolicyEventHandlerMockRecorder) UpdateConnectionPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyEventHandler)(nil).UpdateConnectionPolicy), old, new) +} + +// MockConnectionPolicyEventWatcher is a mock of ConnectionPolicyEventWatcher interface. +type MockConnectionPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockConnectionPolicyEventWatcherMockRecorder +} + +// MockConnectionPolicyEventWatcherMockRecorder is the mock recorder for MockConnectionPolicyEventWatcher. +type MockConnectionPolicyEventWatcherMockRecorder struct { + mock *MockConnectionPolicyEventWatcher +} + +// NewMockConnectionPolicyEventWatcher creates a new mock instance. +func NewMockConnectionPolicyEventWatcher(ctrl *gomock.Controller) *MockConnectionPolicyEventWatcher { + mock := &MockConnectionPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockConnectionPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockConnectionPolicyEventWatcher) EXPECT() *MockConnectionPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockConnectionPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.ConnectionPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockConnectionPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockConnectionPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockTrimProxyConfigPolicyEventHandler is a mock of TrimProxyConfigPolicyEventHandler interface. +type MockTrimProxyConfigPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockTrimProxyConfigPolicyEventHandlerMockRecorder +} + +// MockTrimProxyConfigPolicyEventHandlerMockRecorder is the mock recorder for MockTrimProxyConfigPolicyEventHandler. +type MockTrimProxyConfigPolicyEventHandlerMockRecorder struct { + mock *MockTrimProxyConfigPolicyEventHandler +} + +// NewMockTrimProxyConfigPolicyEventHandler creates a new mock instance. +func NewMockTrimProxyConfigPolicyEventHandler(ctrl *gomock.Controller) *MockTrimProxyConfigPolicyEventHandler { + mock := &MockTrimProxyConfigPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockTrimProxyConfigPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTrimProxyConfigPolicyEventHandler) EXPECT() *MockTrimProxyConfigPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyEventHandler) CreateTrimProxyConfigPolicy(obj *v2.TrimProxyConfigPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateTrimProxyConfigPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateTrimProxyConfigPolicy indicates an expected call of CreateTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyEventHandlerMockRecorder) CreateTrimProxyConfigPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyEventHandler)(nil).CreateTrimProxyConfigPolicy), obj) +} + +// DeleteTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyEventHandler) DeleteTrimProxyConfigPolicy(obj *v2.TrimProxyConfigPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteTrimProxyConfigPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteTrimProxyConfigPolicy indicates an expected call of DeleteTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyEventHandlerMockRecorder) DeleteTrimProxyConfigPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyEventHandler)(nil).DeleteTrimProxyConfigPolicy), obj) +} + +// GenericTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyEventHandler) GenericTrimProxyConfigPolicy(obj *v2.TrimProxyConfigPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericTrimProxyConfigPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericTrimProxyConfigPolicy indicates an expected call of GenericTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyEventHandlerMockRecorder) GenericTrimProxyConfigPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyEventHandler)(nil).GenericTrimProxyConfigPolicy), obj) +} + +// UpdateTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyEventHandler) UpdateTrimProxyConfigPolicy(old, new *v2.TrimProxyConfigPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateTrimProxyConfigPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateTrimProxyConfigPolicy indicates an expected call of UpdateTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyEventHandlerMockRecorder) UpdateTrimProxyConfigPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyEventHandler)(nil).UpdateTrimProxyConfigPolicy), old, new) +} + +// MockTrimProxyConfigPolicyEventWatcher is a mock of TrimProxyConfigPolicyEventWatcher interface. +type MockTrimProxyConfigPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockTrimProxyConfigPolicyEventWatcherMockRecorder +} + +// MockTrimProxyConfigPolicyEventWatcherMockRecorder is the mock recorder for MockTrimProxyConfigPolicyEventWatcher. +type MockTrimProxyConfigPolicyEventWatcherMockRecorder struct { + mock *MockTrimProxyConfigPolicyEventWatcher +} + +// NewMockTrimProxyConfigPolicyEventWatcher creates a new mock instance. +func NewMockTrimProxyConfigPolicyEventWatcher(ctrl *gomock.Controller) *MockTrimProxyConfigPolicyEventWatcher { + mock := &MockTrimProxyConfigPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockTrimProxyConfigPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTrimProxyConfigPolicyEventWatcher) EXPECT() *MockTrimProxyConfigPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockTrimProxyConfigPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.TrimProxyConfigPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockTrimProxyConfigPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockTrimProxyConfigPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockActiveHealthCheckPolicyEventHandler is a mock of ActiveHealthCheckPolicyEventHandler interface. +type MockActiveHealthCheckPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockActiveHealthCheckPolicyEventHandlerMockRecorder +} + +// MockActiveHealthCheckPolicyEventHandlerMockRecorder is the mock recorder for MockActiveHealthCheckPolicyEventHandler. +type MockActiveHealthCheckPolicyEventHandlerMockRecorder struct { + mock *MockActiveHealthCheckPolicyEventHandler +} + +// NewMockActiveHealthCheckPolicyEventHandler creates a new mock instance. +func NewMockActiveHealthCheckPolicyEventHandler(ctrl *gomock.Controller) *MockActiveHealthCheckPolicyEventHandler { + mock := &MockActiveHealthCheckPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockActiveHealthCheckPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockActiveHealthCheckPolicyEventHandler) EXPECT() *MockActiveHealthCheckPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyEventHandler) CreateActiveHealthCheckPolicy(obj *v2.ActiveHealthCheckPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateActiveHealthCheckPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateActiveHealthCheckPolicy indicates an expected call of CreateActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyEventHandlerMockRecorder) CreateActiveHealthCheckPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyEventHandler)(nil).CreateActiveHealthCheckPolicy), obj) +} + +// DeleteActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyEventHandler) DeleteActiveHealthCheckPolicy(obj *v2.ActiveHealthCheckPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteActiveHealthCheckPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteActiveHealthCheckPolicy indicates an expected call of DeleteActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyEventHandlerMockRecorder) DeleteActiveHealthCheckPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyEventHandler)(nil).DeleteActiveHealthCheckPolicy), obj) +} + +// GenericActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyEventHandler) GenericActiveHealthCheckPolicy(obj *v2.ActiveHealthCheckPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericActiveHealthCheckPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericActiveHealthCheckPolicy indicates an expected call of GenericActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyEventHandlerMockRecorder) GenericActiveHealthCheckPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyEventHandler)(nil).GenericActiveHealthCheckPolicy), obj) +} + +// UpdateActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyEventHandler) UpdateActiveHealthCheckPolicy(old, new *v2.ActiveHealthCheckPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateActiveHealthCheckPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateActiveHealthCheckPolicy indicates an expected call of UpdateActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyEventHandlerMockRecorder) UpdateActiveHealthCheckPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyEventHandler)(nil).UpdateActiveHealthCheckPolicy), old, new) +} + +// MockActiveHealthCheckPolicyEventWatcher is a mock of ActiveHealthCheckPolicyEventWatcher interface. +type MockActiveHealthCheckPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockActiveHealthCheckPolicyEventWatcherMockRecorder +} + +// MockActiveHealthCheckPolicyEventWatcherMockRecorder is the mock recorder for MockActiveHealthCheckPolicyEventWatcher. +type MockActiveHealthCheckPolicyEventWatcherMockRecorder struct { + mock *MockActiveHealthCheckPolicyEventWatcher +} + +// NewMockActiveHealthCheckPolicyEventWatcher creates a new mock instance. +func NewMockActiveHealthCheckPolicyEventWatcher(ctrl *gomock.Controller) *MockActiveHealthCheckPolicyEventWatcher { + mock := &MockActiveHealthCheckPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockActiveHealthCheckPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockActiveHealthCheckPolicyEventWatcher) EXPECT() *MockActiveHealthCheckPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockActiveHealthCheckPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.ActiveHealthCheckPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockActiveHealthCheckPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockActiveHealthCheckPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockListenerConnectionPolicyEventHandler is a mock of ListenerConnectionPolicyEventHandler interface. +type MockListenerConnectionPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockListenerConnectionPolicyEventHandlerMockRecorder +} + +// MockListenerConnectionPolicyEventHandlerMockRecorder is the mock recorder for MockListenerConnectionPolicyEventHandler. +type MockListenerConnectionPolicyEventHandlerMockRecorder struct { + mock *MockListenerConnectionPolicyEventHandler +} + +// NewMockListenerConnectionPolicyEventHandler creates a new mock instance. +func NewMockListenerConnectionPolicyEventHandler(ctrl *gomock.Controller) *MockListenerConnectionPolicyEventHandler { + mock := &MockListenerConnectionPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockListenerConnectionPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockListenerConnectionPolicyEventHandler) EXPECT() *MockListenerConnectionPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyEventHandler) CreateListenerConnectionPolicy(obj *v2.ListenerConnectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateListenerConnectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateListenerConnectionPolicy indicates an expected call of CreateListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyEventHandlerMockRecorder) CreateListenerConnectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyEventHandler)(nil).CreateListenerConnectionPolicy), obj) +} + +// DeleteListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyEventHandler) DeleteListenerConnectionPolicy(obj *v2.ListenerConnectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteListenerConnectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteListenerConnectionPolicy indicates an expected call of DeleteListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyEventHandlerMockRecorder) DeleteListenerConnectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyEventHandler)(nil).DeleteListenerConnectionPolicy), obj) +} + +// GenericListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyEventHandler) GenericListenerConnectionPolicy(obj *v2.ListenerConnectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericListenerConnectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericListenerConnectionPolicy indicates an expected call of GenericListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyEventHandlerMockRecorder) GenericListenerConnectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyEventHandler)(nil).GenericListenerConnectionPolicy), obj) +} + +// UpdateListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyEventHandler) UpdateListenerConnectionPolicy(old, new *v2.ListenerConnectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateListenerConnectionPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateListenerConnectionPolicy indicates an expected call of UpdateListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyEventHandlerMockRecorder) UpdateListenerConnectionPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyEventHandler)(nil).UpdateListenerConnectionPolicy), old, new) +} + +// MockListenerConnectionPolicyEventWatcher is a mock of ListenerConnectionPolicyEventWatcher interface. +type MockListenerConnectionPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockListenerConnectionPolicyEventWatcherMockRecorder +} + +// MockListenerConnectionPolicyEventWatcherMockRecorder is the mock recorder for MockListenerConnectionPolicyEventWatcher. +type MockListenerConnectionPolicyEventWatcherMockRecorder struct { + mock *MockListenerConnectionPolicyEventWatcher +} + +// NewMockListenerConnectionPolicyEventWatcher creates a new mock instance. +func NewMockListenerConnectionPolicyEventWatcher(ctrl *gomock.Controller) *MockListenerConnectionPolicyEventWatcher { + mock := &MockListenerConnectionPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockListenerConnectionPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockListenerConnectionPolicyEventWatcher) EXPECT() *MockListenerConnectionPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockListenerConnectionPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.ListenerConnectionPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockListenerConnectionPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockListenerConnectionPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go b/client-go/resilience.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..616f6ff91 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,1052 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2/controller" +) + +// MockMulticlusterGraphQLPersistedQueryCachePolicyReconciler is a mock of MulticlusterGraphQLPersistedQueryCachePolicyReconciler interface. +type MockMulticlusterGraphQLPersistedQueryCachePolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLPersistedQueryCachePolicyReconcilerMockRecorder +} + +// MockMulticlusterGraphQLPersistedQueryCachePolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterGraphQLPersistedQueryCachePolicyReconciler. +type MockMulticlusterGraphQLPersistedQueryCachePolicyReconcilerMockRecorder struct { + mock *MockMulticlusterGraphQLPersistedQueryCachePolicyReconciler +} + +// NewMockMulticlusterGraphQLPersistedQueryCachePolicyReconciler creates a new mock instance. +func NewMockMulticlusterGraphQLPersistedQueryCachePolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterGraphQLPersistedQueryCachePolicyReconciler { + mock := &MockMulticlusterGraphQLPersistedQueryCachePolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLPersistedQueryCachePolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLPersistedQueryCachePolicyReconciler) EXPECT() *MockMulticlusterGraphQLPersistedQueryCachePolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockMulticlusterGraphQLPersistedQueryCachePolicyReconciler) ReconcileGraphQLPersistedQueryCachePolicy(clusterName string, obj *v2.GraphQLPersistedQueryCachePolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLPersistedQueryCachePolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLPersistedQueryCachePolicy indicates an expected call of ReconcileGraphQLPersistedQueryCachePolicy. +func (mr *MockMulticlusterGraphQLPersistedQueryCachePolicyReconcilerMockRecorder) ReconcileGraphQLPersistedQueryCachePolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockMulticlusterGraphQLPersistedQueryCachePolicyReconciler)(nil).ReconcileGraphQLPersistedQueryCachePolicy), clusterName, obj) +} + +// MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler is a mock of MulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler interface. +type MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler. +type MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler +} + +// NewMockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler { + mock := &MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler) EXPECT() *MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLPersistedQueryCachePolicyDeletion mocks base method. +func (m *MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler) ReconcileGraphQLPersistedQueryCachePolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLPersistedQueryCachePolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileGraphQLPersistedQueryCachePolicyDeletion indicates an expected call of ReconcileGraphQLPersistedQueryCachePolicyDeletion. +func (mr *MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconcilerMockRecorder) ReconcileGraphQLPersistedQueryCachePolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLPersistedQueryCachePolicyDeletion", reflect.TypeOf((*MockMulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler)(nil).ReconcileGraphQLPersistedQueryCachePolicyDeletion), clusterName, req) +} + +// MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop is a mock of MulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop interface. +type MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoopMockRecorder +} + +// MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop. +type MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop +} + +// NewMockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop { + mock := &MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop) EXPECT() *MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterGraphQLPersistedQueryCachePolicyReconciler mocks base method. +func (m *MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop) AddMulticlusterGraphQLPersistedQueryCachePolicyReconciler(ctx context.Context, rec controller.MulticlusterGraphQLPersistedQueryCachePolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterGraphQLPersistedQueryCachePolicyReconciler", varargs...) +} + +// AddMulticlusterGraphQLPersistedQueryCachePolicyReconciler indicates an expected call of AddMulticlusterGraphQLPersistedQueryCachePolicyReconciler. +func (mr *MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoopMockRecorder) AddMulticlusterGraphQLPersistedQueryCachePolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterGraphQLPersistedQueryCachePolicyReconciler", reflect.TypeOf((*MockMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop)(nil).AddMulticlusterGraphQLPersistedQueryCachePolicyReconciler), varargs...) +} + +// MockMulticlusterFailoverPolicyReconciler is a mock of MulticlusterFailoverPolicyReconciler interface. +type MockMulticlusterFailoverPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterFailoverPolicyReconcilerMockRecorder +} + +// MockMulticlusterFailoverPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterFailoverPolicyReconciler. +type MockMulticlusterFailoverPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterFailoverPolicyReconciler +} + +// NewMockMulticlusterFailoverPolicyReconciler creates a new mock instance. +func NewMockMulticlusterFailoverPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterFailoverPolicyReconciler { + mock := &MockMulticlusterFailoverPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterFailoverPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterFailoverPolicyReconciler) EXPECT() *MockMulticlusterFailoverPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileFailoverPolicy mocks base method. +func (m *MockMulticlusterFailoverPolicyReconciler) ReconcileFailoverPolicy(clusterName string, obj *v2.FailoverPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileFailoverPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileFailoverPolicy indicates an expected call of ReconcileFailoverPolicy. +func (mr *MockMulticlusterFailoverPolicyReconcilerMockRecorder) ReconcileFailoverPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileFailoverPolicy", reflect.TypeOf((*MockMulticlusterFailoverPolicyReconciler)(nil).ReconcileFailoverPolicy), clusterName, obj) +} + +// MockMulticlusterFailoverPolicyDeletionReconciler is a mock of MulticlusterFailoverPolicyDeletionReconciler interface. +type MockMulticlusterFailoverPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterFailoverPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterFailoverPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterFailoverPolicyDeletionReconciler. +type MockMulticlusterFailoverPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterFailoverPolicyDeletionReconciler +} + +// NewMockMulticlusterFailoverPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterFailoverPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterFailoverPolicyDeletionReconciler { + mock := &MockMulticlusterFailoverPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterFailoverPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterFailoverPolicyDeletionReconciler) EXPECT() *MockMulticlusterFailoverPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileFailoverPolicyDeletion mocks base method. +func (m *MockMulticlusterFailoverPolicyDeletionReconciler) ReconcileFailoverPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileFailoverPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileFailoverPolicyDeletion indicates an expected call of ReconcileFailoverPolicyDeletion. +func (mr *MockMulticlusterFailoverPolicyDeletionReconcilerMockRecorder) ReconcileFailoverPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileFailoverPolicyDeletion", reflect.TypeOf((*MockMulticlusterFailoverPolicyDeletionReconciler)(nil).ReconcileFailoverPolicyDeletion), clusterName, req) +} + +// MockMulticlusterFailoverPolicyReconcileLoop is a mock of MulticlusterFailoverPolicyReconcileLoop interface. +type MockMulticlusterFailoverPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterFailoverPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterFailoverPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterFailoverPolicyReconcileLoop. +type MockMulticlusterFailoverPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterFailoverPolicyReconcileLoop +} + +// NewMockMulticlusterFailoverPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterFailoverPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterFailoverPolicyReconcileLoop { + mock := &MockMulticlusterFailoverPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterFailoverPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterFailoverPolicyReconcileLoop) EXPECT() *MockMulticlusterFailoverPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterFailoverPolicyReconciler mocks base method. +func (m *MockMulticlusterFailoverPolicyReconcileLoop) AddMulticlusterFailoverPolicyReconciler(ctx context.Context, rec controller.MulticlusterFailoverPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterFailoverPolicyReconciler", varargs...) +} + +// AddMulticlusterFailoverPolicyReconciler indicates an expected call of AddMulticlusterFailoverPolicyReconciler. +func (mr *MockMulticlusterFailoverPolicyReconcileLoopMockRecorder) AddMulticlusterFailoverPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterFailoverPolicyReconciler", reflect.TypeOf((*MockMulticlusterFailoverPolicyReconcileLoop)(nil).AddMulticlusterFailoverPolicyReconciler), varargs...) +} + +// MockMulticlusterOutlierDetectionPolicyReconciler is a mock of MulticlusterOutlierDetectionPolicyReconciler interface. +type MockMulticlusterOutlierDetectionPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterOutlierDetectionPolicyReconcilerMockRecorder +} + +// MockMulticlusterOutlierDetectionPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterOutlierDetectionPolicyReconciler. +type MockMulticlusterOutlierDetectionPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterOutlierDetectionPolicyReconciler +} + +// NewMockMulticlusterOutlierDetectionPolicyReconciler creates a new mock instance. +func NewMockMulticlusterOutlierDetectionPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterOutlierDetectionPolicyReconciler { + mock := &MockMulticlusterOutlierDetectionPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterOutlierDetectionPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterOutlierDetectionPolicyReconciler) EXPECT() *MockMulticlusterOutlierDetectionPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileOutlierDetectionPolicy mocks base method. +func (m *MockMulticlusterOutlierDetectionPolicyReconciler) ReconcileOutlierDetectionPolicy(clusterName string, obj *v2.OutlierDetectionPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileOutlierDetectionPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileOutlierDetectionPolicy indicates an expected call of ReconcileOutlierDetectionPolicy. +func (mr *MockMulticlusterOutlierDetectionPolicyReconcilerMockRecorder) ReconcileOutlierDetectionPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileOutlierDetectionPolicy", reflect.TypeOf((*MockMulticlusterOutlierDetectionPolicyReconciler)(nil).ReconcileOutlierDetectionPolicy), clusterName, obj) +} + +// MockMulticlusterOutlierDetectionPolicyDeletionReconciler is a mock of MulticlusterOutlierDetectionPolicyDeletionReconciler interface. +type MockMulticlusterOutlierDetectionPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterOutlierDetectionPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterOutlierDetectionPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterOutlierDetectionPolicyDeletionReconciler. +type MockMulticlusterOutlierDetectionPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterOutlierDetectionPolicyDeletionReconciler +} + +// NewMockMulticlusterOutlierDetectionPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterOutlierDetectionPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterOutlierDetectionPolicyDeletionReconciler { + mock := &MockMulticlusterOutlierDetectionPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterOutlierDetectionPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterOutlierDetectionPolicyDeletionReconciler) EXPECT() *MockMulticlusterOutlierDetectionPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileOutlierDetectionPolicyDeletion mocks base method. +func (m *MockMulticlusterOutlierDetectionPolicyDeletionReconciler) ReconcileOutlierDetectionPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileOutlierDetectionPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileOutlierDetectionPolicyDeletion indicates an expected call of ReconcileOutlierDetectionPolicyDeletion. +func (mr *MockMulticlusterOutlierDetectionPolicyDeletionReconcilerMockRecorder) ReconcileOutlierDetectionPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileOutlierDetectionPolicyDeletion", reflect.TypeOf((*MockMulticlusterOutlierDetectionPolicyDeletionReconciler)(nil).ReconcileOutlierDetectionPolicyDeletion), clusterName, req) +} + +// MockMulticlusterOutlierDetectionPolicyReconcileLoop is a mock of MulticlusterOutlierDetectionPolicyReconcileLoop interface. +type MockMulticlusterOutlierDetectionPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterOutlierDetectionPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterOutlierDetectionPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterOutlierDetectionPolicyReconcileLoop. +type MockMulticlusterOutlierDetectionPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterOutlierDetectionPolicyReconcileLoop +} + +// NewMockMulticlusterOutlierDetectionPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterOutlierDetectionPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterOutlierDetectionPolicyReconcileLoop { + mock := &MockMulticlusterOutlierDetectionPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterOutlierDetectionPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterOutlierDetectionPolicyReconcileLoop) EXPECT() *MockMulticlusterOutlierDetectionPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterOutlierDetectionPolicyReconciler mocks base method. +func (m *MockMulticlusterOutlierDetectionPolicyReconcileLoop) AddMulticlusterOutlierDetectionPolicyReconciler(ctx context.Context, rec controller.MulticlusterOutlierDetectionPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterOutlierDetectionPolicyReconciler", varargs...) +} + +// AddMulticlusterOutlierDetectionPolicyReconciler indicates an expected call of AddMulticlusterOutlierDetectionPolicyReconciler. +func (mr *MockMulticlusterOutlierDetectionPolicyReconcileLoopMockRecorder) AddMulticlusterOutlierDetectionPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterOutlierDetectionPolicyReconciler", reflect.TypeOf((*MockMulticlusterOutlierDetectionPolicyReconcileLoop)(nil).AddMulticlusterOutlierDetectionPolicyReconciler), varargs...) +} + +// MockMulticlusterFaultInjectionPolicyReconciler is a mock of MulticlusterFaultInjectionPolicyReconciler interface. +type MockMulticlusterFaultInjectionPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterFaultInjectionPolicyReconcilerMockRecorder +} + +// MockMulticlusterFaultInjectionPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterFaultInjectionPolicyReconciler. +type MockMulticlusterFaultInjectionPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterFaultInjectionPolicyReconciler +} + +// NewMockMulticlusterFaultInjectionPolicyReconciler creates a new mock instance. +func NewMockMulticlusterFaultInjectionPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterFaultInjectionPolicyReconciler { + mock := &MockMulticlusterFaultInjectionPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterFaultInjectionPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterFaultInjectionPolicyReconciler) EXPECT() *MockMulticlusterFaultInjectionPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileFaultInjectionPolicy mocks base method. +func (m *MockMulticlusterFaultInjectionPolicyReconciler) ReconcileFaultInjectionPolicy(clusterName string, obj *v2.FaultInjectionPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileFaultInjectionPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileFaultInjectionPolicy indicates an expected call of ReconcileFaultInjectionPolicy. +func (mr *MockMulticlusterFaultInjectionPolicyReconcilerMockRecorder) ReconcileFaultInjectionPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileFaultInjectionPolicy", reflect.TypeOf((*MockMulticlusterFaultInjectionPolicyReconciler)(nil).ReconcileFaultInjectionPolicy), clusterName, obj) +} + +// MockMulticlusterFaultInjectionPolicyDeletionReconciler is a mock of MulticlusterFaultInjectionPolicyDeletionReconciler interface. +type MockMulticlusterFaultInjectionPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterFaultInjectionPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterFaultInjectionPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterFaultInjectionPolicyDeletionReconciler. +type MockMulticlusterFaultInjectionPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterFaultInjectionPolicyDeletionReconciler +} + +// NewMockMulticlusterFaultInjectionPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterFaultInjectionPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterFaultInjectionPolicyDeletionReconciler { + mock := &MockMulticlusterFaultInjectionPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterFaultInjectionPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterFaultInjectionPolicyDeletionReconciler) EXPECT() *MockMulticlusterFaultInjectionPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileFaultInjectionPolicyDeletion mocks base method. +func (m *MockMulticlusterFaultInjectionPolicyDeletionReconciler) ReconcileFaultInjectionPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileFaultInjectionPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileFaultInjectionPolicyDeletion indicates an expected call of ReconcileFaultInjectionPolicyDeletion. +func (mr *MockMulticlusterFaultInjectionPolicyDeletionReconcilerMockRecorder) ReconcileFaultInjectionPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileFaultInjectionPolicyDeletion", reflect.TypeOf((*MockMulticlusterFaultInjectionPolicyDeletionReconciler)(nil).ReconcileFaultInjectionPolicyDeletion), clusterName, req) +} + +// MockMulticlusterFaultInjectionPolicyReconcileLoop is a mock of MulticlusterFaultInjectionPolicyReconcileLoop interface. +type MockMulticlusterFaultInjectionPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterFaultInjectionPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterFaultInjectionPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterFaultInjectionPolicyReconcileLoop. +type MockMulticlusterFaultInjectionPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterFaultInjectionPolicyReconcileLoop +} + +// NewMockMulticlusterFaultInjectionPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterFaultInjectionPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterFaultInjectionPolicyReconcileLoop { + mock := &MockMulticlusterFaultInjectionPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterFaultInjectionPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterFaultInjectionPolicyReconcileLoop) EXPECT() *MockMulticlusterFaultInjectionPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterFaultInjectionPolicyReconciler mocks base method. +func (m *MockMulticlusterFaultInjectionPolicyReconcileLoop) AddMulticlusterFaultInjectionPolicyReconciler(ctx context.Context, rec controller.MulticlusterFaultInjectionPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterFaultInjectionPolicyReconciler", varargs...) +} + +// AddMulticlusterFaultInjectionPolicyReconciler indicates an expected call of AddMulticlusterFaultInjectionPolicyReconciler. +func (mr *MockMulticlusterFaultInjectionPolicyReconcileLoopMockRecorder) AddMulticlusterFaultInjectionPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterFaultInjectionPolicyReconciler", reflect.TypeOf((*MockMulticlusterFaultInjectionPolicyReconcileLoop)(nil).AddMulticlusterFaultInjectionPolicyReconciler), varargs...) +} + +// MockMulticlusterRetryTimeoutPolicyReconciler is a mock of MulticlusterRetryTimeoutPolicyReconciler interface. +type MockMulticlusterRetryTimeoutPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRetryTimeoutPolicyReconcilerMockRecorder +} + +// MockMulticlusterRetryTimeoutPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterRetryTimeoutPolicyReconciler. +type MockMulticlusterRetryTimeoutPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterRetryTimeoutPolicyReconciler +} + +// NewMockMulticlusterRetryTimeoutPolicyReconciler creates a new mock instance. +func NewMockMulticlusterRetryTimeoutPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterRetryTimeoutPolicyReconciler { + mock := &MockMulticlusterRetryTimeoutPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRetryTimeoutPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRetryTimeoutPolicyReconciler) EXPECT() *MockMulticlusterRetryTimeoutPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRetryTimeoutPolicy mocks base method. +func (m *MockMulticlusterRetryTimeoutPolicyReconciler) ReconcileRetryTimeoutPolicy(clusterName string, obj *v2.RetryTimeoutPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRetryTimeoutPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRetryTimeoutPolicy indicates an expected call of ReconcileRetryTimeoutPolicy. +func (mr *MockMulticlusterRetryTimeoutPolicyReconcilerMockRecorder) ReconcileRetryTimeoutPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRetryTimeoutPolicy", reflect.TypeOf((*MockMulticlusterRetryTimeoutPolicyReconciler)(nil).ReconcileRetryTimeoutPolicy), clusterName, obj) +} + +// MockMulticlusterRetryTimeoutPolicyDeletionReconciler is a mock of MulticlusterRetryTimeoutPolicyDeletionReconciler interface. +type MockMulticlusterRetryTimeoutPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRetryTimeoutPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterRetryTimeoutPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterRetryTimeoutPolicyDeletionReconciler. +type MockMulticlusterRetryTimeoutPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterRetryTimeoutPolicyDeletionReconciler +} + +// NewMockMulticlusterRetryTimeoutPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterRetryTimeoutPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterRetryTimeoutPolicyDeletionReconciler { + mock := &MockMulticlusterRetryTimeoutPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRetryTimeoutPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRetryTimeoutPolicyDeletionReconciler) EXPECT() *MockMulticlusterRetryTimeoutPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRetryTimeoutPolicyDeletion mocks base method. +func (m *MockMulticlusterRetryTimeoutPolicyDeletionReconciler) ReconcileRetryTimeoutPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRetryTimeoutPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRetryTimeoutPolicyDeletion indicates an expected call of ReconcileRetryTimeoutPolicyDeletion. +func (mr *MockMulticlusterRetryTimeoutPolicyDeletionReconcilerMockRecorder) ReconcileRetryTimeoutPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRetryTimeoutPolicyDeletion", reflect.TypeOf((*MockMulticlusterRetryTimeoutPolicyDeletionReconciler)(nil).ReconcileRetryTimeoutPolicyDeletion), clusterName, req) +} + +// MockMulticlusterRetryTimeoutPolicyReconcileLoop is a mock of MulticlusterRetryTimeoutPolicyReconcileLoop interface. +type MockMulticlusterRetryTimeoutPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRetryTimeoutPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterRetryTimeoutPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterRetryTimeoutPolicyReconcileLoop. +type MockMulticlusterRetryTimeoutPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterRetryTimeoutPolicyReconcileLoop +} + +// NewMockMulticlusterRetryTimeoutPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterRetryTimeoutPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterRetryTimeoutPolicyReconcileLoop { + mock := &MockMulticlusterRetryTimeoutPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterRetryTimeoutPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRetryTimeoutPolicyReconcileLoop) EXPECT() *MockMulticlusterRetryTimeoutPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterRetryTimeoutPolicyReconciler mocks base method. +func (m *MockMulticlusterRetryTimeoutPolicyReconcileLoop) AddMulticlusterRetryTimeoutPolicyReconciler(ctx context.Context, rec controller.MulticlusterRetryTimeoutPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterRetryTimeoutPolicyReconciler", varargs...) +} + +// AddMulticlusterRetryTimeoutPolicyReconciler indicates an expected call of AddMulticlusterRetryTimeoutPolicyReconciler. +func (mr *MockMulticlusterRetryTimeoutPolicyReconcileLoopMockRecorder) AddMulticlusterRetryTimeoutPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterRetryTimeoutPolicyReconciler", reflect.TypeOf((*MockMulticlusterRetryTimeoutPolicyReconcileLoop)(nil).AddMulticlusterRetryTimeoutPolicyReconciler), varargs...) +} + +// MockMulticlusterConnectionPolicyReconciler is a mock of MulticlusterConnectionPolicyReconciler interface. +type MockMulticlusterConnectionPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterConnectionPolicyReconcilerMockRecorder +} + +// MockMulticlusterConnectionPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterConnectionPolicyReconciler. +type MockMulticlusterConnectionPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterConnectionPolicyReconciler +} + +// NewMockMulticlusterConnectionPolicyReconciler creates a new mock instance. +func NewMockMulticlusterConnectionPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterConnectionPolicyReconciler { + mock := &MockMulticlusterConnectionPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterConnectionPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterConnectionPolicyReconciler) EXPECT() *MockMulticlusterConnectionPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileConnectionPolicy mocks base method. +func (m *MockMulticlusterConnectionPolicyReconciler) ReconcileConnectionPolicy(clusterName string, obj *v2.ConnectionPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileConnectionPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileConnectionPolicy indicates an expected call of ReconcileConnectionPolicy. +func (mr *MockMulticlusterConnectionPolicyReconcilerMockRecorder) ReconcileConnectionPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileConnectionPolicy", reflect.TypeOf((*MockMulticlusterConnectionPolicyReconciler)(nil).ReconcileConnectionPolicy), clusterName, obj) +} + +// MockMulticlusterConnectionPolicyDeletionReconciler is a mock of MulticlusterConnectionPolicyDeletionReconciler interface. +type MockMulticlusterConnectionPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterConnectionPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterConnectionPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterConnectionPolicyDeletionReconciler. +type MockMulticlusterConnectionPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterConnectionPolicyDeletionReconciler +} + +// NewMockMulticlusterConnectionPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterConnectionPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterConnectionPolicyDeletionReconciler { + mock := &MockMulticlusterConnectionPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterConnectionPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterConnectionPolicyDeletionReconciler) EXPECT() *MockMulticlusterConnectionPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileConnectionPolicyDeletion mocks base method. +func (m *MockMulticlusterConnectionPolicyDeletionReconciler) ReconcileConnectionPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileConnectionPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileConnectionPolicyDeletion indicates an expected call of ReconcileConnectionPolicyDeletion. +func (mr *MockMulticlusterConnectionPolicyDeletionReconcilerMockRecorder) ReconcileConnectionPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileConnectionPolicyDeletion", reflect.TypeOf((*MockMulticlusterConnectionPolicyDeletionReconciler)(nil).ReconcileConnectionPolicyDeletion), clusterName, req) +} + +// MockMulticlusterConnectionPolicyReconcileLoop is a mock of MulticlusterConnectionPolicyReconcileLoop interface. +type MockMulticlusterConnectionPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterConnectionPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterConnectionPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterConnectionPolicyReconcileLoop. +type MockMulticlusterConnectionPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterConnectionPolicyReconcileLoop +} + +// NewMockMulticlusterConnectionPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterConnectionPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterConnectionPolicyReconcileLoop { + mock := &MockMulticlusterConnectionPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterConnectionPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterConnectionPolicyReconcileLoop) EXPECT() *MockMulticlusterConnectionPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterConnectionPolicyReconciler mocks base method. +func (m *MockMulticlusterConnectionPolicyReconcileLoop) AddMulticlusterConnectionPolicyReconciler(ctx context.Context, rec controller.MulticlusterConnectionPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterConnectionPolicyReconciler", varargs...) +} + +// AddMulticlusterConnectionPolicyReconciler indicates an expected call of AddMulticlusterConnectionPolicyReconciler. +func (mr *MockMulticlusterConnectionPolicyReconcileLoopMockRecorder) AddMulticlusterConnectionPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterConnectionPolicyReconciler", reflect.TypeOf((*MockMulticlusterConnectionPolicyReconcileLoop)(nil).AddMulticlusterConnectionPolicyReconciler), varargs...) +} + +// MockMulticlusterTrimProxyConfigPolicyReconciler is a mock of MulticlusterTrimProxyConfigPolicyReconciler interface. +type MockMulticlusterTrimProxyConfigPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterTrimProxyConfigPolicyReconcilerMockRecorder +} + +// MockMulticlusterTrimProxyConfigPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterTrimProxyConfigPolicyReconciler. +type MockMulticlusterTrimProxyConfigPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterTrimProxyConfigPolicyReconciler +} + +// NewMockMulticlusterTrimProxyConfigPolicyReconciler creates a new mock instance. +func NewMockMulticlusterTrimProxyConfigPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterTrimProxyConfigPolicyReconciler { + mock := &MockMulticlusterTrimProxyConfigPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterTrimProxyConfigPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterTrimProxyConfigPolicyReconciler) EXPECT() *MockMulticlusterTrimProxyConfigPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileTrimProxyConfigPolicy mocks base method. +func (m *MockMulticlusterTrimProxyConfigPolicyReconciler) ReconcileTrimProxyConfigPolicy(clusterName string, obj *v2.TrimProxyConfigPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileTrimProxyConfigPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileTrimProxyConfigPolicy indicates an expected call of ReconcileTrimProxyConfigPolicy. +func (mr *MockMulticlusterTrimProxyConfigPolicyReconcilerMockRecorder) ReconcileTrimProxyConfigPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileTrimProxyConfigPolicy", reflect.TypeOf((*MockMulticlusterTrimProxyConfigPolicyReconciler)(nil).ReconcileTrimProxyConfigPolicy), clusterName, obj) +} + +// MockMulticlusterTrimProxyConfigPolicyDeletionReconciler is a mock of MulticlusterTrimProxyConfigPolicyDeletionReconciler interface. +type MockMulticlusterTrimProxyConfigPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterTrimProxyConfigPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterTrimProxyConfigPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterTrimProxyConfigPolicyDeletionReconciler. +type MockMulticlusterTrimProxyConfigPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterTrimProxyConfigPolicyDeletionReconciler +} + +// NewMockMulticlusterTrimProxyConfigPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterTrimProxyConfigPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterTrimProxyConfigPolicyDeletionReconciler { + mock := &MockMulticlusterTrimProxyConfigPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterTrimProxyConfigPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterTrimProxyConfigPolicyDeletionReconciler) EXPECT() *MockMulticlusterTrimProxyConfigPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileTrimProxyConfigPolicyDeletion mocks base method. +func (m *MockMulticlusterTrimProxyConfigPolicyDeletionReconciler) ReconcileTrimProxyConfigPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileTrimProxyConfigPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileTrimProxyConfigPolicyDeletion indicates an expected call of ReconcileTrimProxyConfigPolicyDeletion. +func (mr *MockMulticlusterTrimProxyConfigPolicyDeletionReconcilerMockRecorder) ReconcileTrimProxyConfigPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileTrimProxyConfigPolicyDeletion", reflect.TypeOf((*MockMulticlusterTrimProxyConfigPolicyDeletionReconciler)(nil).ReconcileTrimProxyConfigPolicyDeletion), clusterName, req) +} + +// MockMulticlusterTrimProxyConfigPolicyReconcileLoop is a mock of MulticlusterTrimProxyConfigPolicyReconcileLoop interface. +type MockMulticlusterTrimProxyConfigPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterTrimProxyConfigPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterTrimProxyConfigPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterTrimProxyConfigPolicyReconcileLoop. +type MockMulticlusterTrimProxyConfigPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterTrimProxyConfigPolicyReconcileLoop +} + +// NewMockMulticlusterTrimProxyConfigPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterTrimProxyConfigPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterTrimProxyConfigPolicyReconcileLoop { + mock := &MockMulticlusterTrimProxyConfigPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterTrimProxyConfigPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterTrimProxyConfigPolicyReconcileLoop) EXPECT() *MockMulticlusterTrimProxyConfigPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterTrimProxyConfigPolicyReconciler mocks base method. +func (m *MockMulticlusterTrimProxyConfigPolicyReconcileLoop) AddMulticlusterTrimProxyConfigPolicyReconciler(ctx context.Context, rec controller.MulticlusterTrimProxyConfigPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterTrimProxyConfigPolicyReconciler", varargs...) +} + +// AddMulticlusterTrimProxyConfigPolicyReconciler indicates an expected call of AddMulticlusterTrimProxyConfigPolicyReconciler. +func (mr *MockMulticlusterTrimProxyConfigPolicyReconcileLoopMockRecorder) AddMulticlusterTrimProxyConfigPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterTrimProxyConfigPolicyReconciler", reflect.TypeOf((*MockMulticlusterTrimProxyConfigPolicyReconcileLoop)(nil).AddMulticlusterTrimProxyConfigPolicyReconciler), varargs...) +} + +// MockMulticlusterActiveHealthCheckPolicyReconciler is a mock of MulticlusterActiveHealthCheckPolicyReconciler interface. +type MockMulticlusterActiveHealthCheckPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterActiveHealthCheckPolicyReconcilerMockRecorder +} + +// MockMulticlusterActiveHealthCheckPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterActiveHealthCheckPolicyReconciler. +type MockMulticlusterActiveHealthCheckPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterActiveHealthCheckPolicyReconciler +} + +// NewMockMulticlusterActiveHealthCheckPolicyReconciler creates a new mock instance. +func NewMockMulticlusterActiveHealthCheckPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterActiveHealthCheckPolicyReconciler { + mock := &MockMulticlusterActiveHealthCheckPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterActiveHealthCheckPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterActiveHealthCheckPolicyReconciler) EXPECT() *MockMulticlusterActiveHealthCheckPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileActiveHealthCheckPolicy mocks base method. +func (m *MockMulticlusterActiveHealthCheckPolicyReconciler) ReconcileActiveHealthCheckPolicy(clusterName string, obj *v2.ActiveHealthCheckPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileActiveHealthCheckPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileActiveHealthCheckPolicy indicates an expected call of ReconcileActiveHealthCheckPolicy. +func (mr *MockMulticlusterActiveHealthCheckPolicyReconcilerMockRecorder) ReconcileActiveHealthCheckPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileActiveHealthCheckPolicy", reflect.TypeOf((*MockMulticlusterActiveHealthCheckPolicyReconciler)(nil).ReconcileActiveHealthCheckPolicy), clusterName, obj) +} + +// MockMulticlusterActiveHealthCheckPolicyDeletionReconciler is a mock of MulticlusterActiveHealthCheckPolicyDeletionReconciler interface. +type MockMulticlusterActiveHealthCheckPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterActiveHealthCheckPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterActiveHealthCheckPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterActiveHealthCheckPolicyDeletionReconciler. +type MockMulticlusterActiveHealthCheckPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterActiveHealthCheckPolicyDeletionReconciler +} + +// NewMockMulticlusterActiveHealthCheckPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterActiveHealthCheckPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterActiveHealthCheckPolicyDeletionReconciler { + mock := &MockMulticlusterActiveHealthCheckPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterActiveHealthCheckPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterActiveHealthCheckPolicyDeletionReconciler) EXPECT() *MockMulticlusterActiveHealthCheckPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileActiveHealthCheckPolicyDeletion mocks base method. +func (m *MockMulticlusterActiveHealthCheckPolicyDeletionReconciler) ReconcileActiveHealthCheckPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileActiveHealthCheckPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileActiveHealthCheckPolicyDeletion indicates an expected call of ReconcileActiveHealthCheckPolicyDeletion. +func (mr *MockMulticlusterActiveHealthCheckPolicyDeletionReconcilerMockRecorder) ReconcileActiveHealthCheckPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileActiveHealthCheckPolicyDeletion", reflect.TypeOf((*MockMulticlusterActiveHealthCheckPolicyDeletionReconciler)(nil).ReconcileActiveHealthCheckPolicyDeletion), clusterName, req) +} + +// MockMulticlusterActiveHealthCheckPolicyReconcileLoop is a mock of MulticlusterActiveHealthCheckPolicyReconcileLoop interface. +type MockMulticlusterActiveHealthCheckPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterActiveHealthCheckPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterActiveHealthCheckPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterActiveHealthCheckPolicyReconcileLoop. +type MockMulticlusterActiveHealthCheckPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterActiveHealthCheckPolicyReconcileLoop +} + +// NewMockMulticlusterActiveHealthCheckPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterActiveHealthCheckPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterActiveHealthCheckPolicyReconcileLoop { + mock := &MockMulticlusterActiveHealthCheckPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterActiveHealthCheckPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterActiveHealthCheckPolicyReconcileLoop) EXPECT() *MockMulticlusterActiveHealthCheckPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterActiveHealthCheckPolicyReconciler mocks base method. +func (m *MockMulticlusterActiveHealthCheckPolicyReconcileLoop) AddMulticlusterActiveHealthCheckPolicyReconciler(ctx context.Context, rec controller.MulticlusterActiveHealthCheckPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterActiveHealthCheckPolicyReconciler", varargs...) +} + +// AddMulticlusterActiveHealthCheckPolicyReconciler indicates an expected call of AddMulticlusterActiveHealthCheckPolicyReconciler. +func (mr *MockMulticlusterActiveHealthCheckPolicyReconcileLoopMockRecorder) AddMulticlusterActiveHealthCheckPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterActiveHealthCheckPolicyReconciler", reflect.TypeOf((*MockMulticlusterActiveHealthCheckPolicyReconcileLoop)(nil).AddMulticlusterActiveHealthCheckPolicyReconciler), varargs...) +} + +// MockMulticlusterListenerConnectionPolicyReconciler is a mock of MulticlusterListenerConnectionPolicyReconciler interface. +type MockMulticlusterListenerConnectionPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterListenerConnectionPolicyReconcilerMockRecorder +} + +// MockMulticlusterListenerConnectionPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterListenerConnectionPolicyReconciler. +type MockMulticlusterListenerConnectionPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterListenerConnectionPolicyReconciler +} + +// NewMockMulticlusterListenerConnectionPolicyReconciler creates a new mock instance. +func NewMockMulticlusterListenerConnectionPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterListenerConnectionPolicyReconciler { + mock := &MockMulticlusterListenerConnectionPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterListenerConnectionPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterListenerConnectionPolicyReconciler) EXPECT() *MockMulticlusterListenerConnectionPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileListenerConnectionPolicy mocks base method. +func (m *MockMulticlusterListenerConnectionPolicyReconciler) ReconcileListenerConnectionPolicy(clusterName string, obj *v2.ListenerConnectionPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileListenerConnectionPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileListenerConnectionPolicy indicates an expected call of ReconcileListenerConnectionPolicy. +func (mr *MockMulticlusterListenerConnectionPolicyReconcilerMockRecorder) ReconcileListenerConnectionPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileListenerConnectionPolicy", reflect.TypeOf((*MockMulticlusterListenerConnectionPolicyReconciler)(nil).ReconcileListenerConnectionPolicy), clusterName, obj) +} + +// MockMulticlusterListenerConnectionPolicyDeletionReconciler is a mock of MulticlusterListenerConnectionPolicyDeletionReconciler interface. +type MockMulticlusterListenerConnectionPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterListenerConnectionPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterListenerConnectionPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterListenerConnectionPolicyDeletionReconciler. +type MockMulticlusterListenerConnectionPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterListenerConnectionPolicyDeletionReconciler +} + +// NewMockMulticlusterListenerConnectionPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterListenerConnectionPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterListenerConnectionPolicyDeletionReconciler { + mock := &MockMulticlusterListenerConnectionPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterListenerConnectionPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterListenerConnectionPolicyDeletionReconciler) EXPECT() *MockMulticlusterListenerConnectionPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileListenerConnectionPolicyDeletion mocks base method. +func (m *MockMulticlusterListenerConnectionPolicyDeletionReconciler) ReconcileListenerConnectionPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileListenerConnectionPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileListenerConnectionPolicyDeletion indicates an expected call of ReconcileListenerConnectionPolicyDeletion. +func (mr *MockMulticlusterListenerConnectionPolicyDeletionReconcilerMockRecorder) ReconcileListenerConnectionPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileListenerConnectionPolicyDeletion", reflect.TypeOf((*MockMulticlusterListenerConnectionPolicyDeletionReconciler)(nil).ReconcileListenerConnectionPolicyDeletion), clusterName, req) +} + +// MockMulticlusterListenerConnectionPolicyReconcileLoop is a mock of MulticlusterListenerConnectionPolicyReconcileLoop interface. +type MockMulticlusterListenerConnectionPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterListenerConnectionPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterListenerConnectionPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterListenerConnectionPolicyReconcileLoop. +type MockMulticlusterListenerConnectionPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterListenerConnectionPolicyReconcileLoop +} + +// NewMockMulticlusterListenerConnectionPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterListenerConnectionPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterListenerConnectionPolicyReconcileLoop { + mock := &MockMulticlusterListenerConnectionPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterListenerConnectionPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterListenerConnectionPolicyReconcileLoop) EXPECT() *MockMulticlusterListenerConnectionPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterListenerConnectionPolicyReconciler mocks base method. +func (m *MockMulticlusterListenerConnectionPolicyReconcileLoop) AddMulticlusterListenerConnectionPolicyReconciler(ctx context.Context, rec controller.MulticlusterListenerConnectionPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterListenerConnectionPolicyReconciler", varargs...) +} + +// AddMulticlusterListenerConnectionPolicyReconciler indicates an expected call of AddMulticlusterListenerConnectionPolicyReconciler. +func (mr *MockMulticlusterListenerConnectionPolicyReconcileLoopMockRecorder) AddMulticlusterListenerConnectionPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterListenerConnectionPolicyReconciler", reflect.TypeOf((*MockMulticlusterListenerConnectionPolicyReconcileLoop)(nil).AddMulticlusterListenerConnectionPolicyReconciler), varargs...) +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go b/client-go/resilience.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go new file mode 100644 index 000000000..83c6ec519 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go @@ -0,0 +1,1664 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2/controller" +) + +// MockGraphQLPersistedQueryCachePolicyReconciler is a mock of GraphQLPersistedQueryCachePolicyReconciler interface. +type MockGraphQLPersistedQueryCachePolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockGraphQLPersistedQueryCachePolicyReconcilerMockRecorder +} + +// MockGraphQLPersistedQueryCachePolicyReconcilerMockRecorder is the mock recorder for MockGraphQLPersistedQueryCachePolicyReconciler. +type MockGraphQLPersistedQueryCachePolicyReconcilerMockRecorder struct { + mock *MockGraphQLPersistedQueryCachePolicyReconciler +} + +// NewMockGraphQLPersistedQueryCachePolicyReconciler creates a new mock instance. +func NewMockGraphQLPersistedQueryCachePolicyReconciler(ctrl *gomock.Controller) *MockGraphQLPersistedQueryCachePolicyReconciler { + mock := &MockGraphQLPersistedQueryCachePolicyReconciler{ctrl: ctrl} + mock.recorder = &MockGraphQLPersistedQueryCachePolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLPersistedQueryCachePolicyReconciler) EXPECT() *MockGraphQLPersistedQueryCachePolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyReconciler) ReconcileGraphQLPersistedQueryCachePolicy(obj *v2.GraphQLPersistedQueryCachePolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLPersistedQueryCachePolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLPersistedQueryCachePolicy indicates an expected call of ReconcileGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyReconcilerMockRecorder) ReconcileGraphQLPersistedQueryCachePolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyReconciler)(nil).ReconcileGraphQLPersistedQueryCachePolicy), obj) +} + +// MockGraphQLPersistedQueryCachePolicyDeletionReconciler is a mock of GraphQLPersistedQueryCachePolicyDeletionReconciler interface. +type MockGraphQLPersistedQueryCachePolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockGraphQLPersistedQueryCachePolicyDeletionReconcilerMockRecorder +} + +// MockGraphQLPersistedQueryCachePolicyDeletionReconcilerMockRecorder is the mock recorder for MockGraphQLPersistedQueryCachePolicyDeletionReconciler. +type MockGraphQLPersistedQueryCachePolicyDeletionReconcilerMockRecorder struct { + mock *MockGraphQLPersistedQueryCachePolicyDeletionReconciler +} + +// NewMockGraphQLPersistedQueryCachePolicyDeletionReconciler creates a new mock instance. +func NewMockGraphQLPersistedQueryCachePolicyDeletionReconciler(ctrl *gomock.Controller) *MockGraphQLPersistedQueryCachePolicyDeletionReconciler { + mock := &MockGraphQLPersistedQueryCachePolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockGraphQLPersistedQueryCachePolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLPersistedQueryCachePolicyDeletionReconciler) EXPECT() *MockGraphQLPersistedQueryCachePolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLPersistedQueryCachePolicyDeletion mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyDeletionReconciler) ReconcileGraphQLPersistedQueryCachePolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLPersistedQueryCachePolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileGraphQLPersistedQueryCachePolicyDeletion indicates an expected call of ReconcileGraphQLPersistedQueryCachePolicyDeletion. +func (mr *MockGraphQLPersistedQueryCachePolicyDeletionReconcilerMockRecorder) ReconcileGraphQLPersistedQueryCachePolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLPersistedQueryCachePolicyDeletion", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyDeletionReconciler)(nil).ReconcileGraphQLPersistedQueryCachePolicyDeletion), req) +} + +// MockGraphQLPersistedQueryCachePolicyFinalizer is a mock of GraphQLPersistedQueryCachePolicyFinalizer interface. +type MockGraphQLPersistedQueryCachePolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockGraphQLPersistedQueryCachePolicyFinalizerMockRecorder +} + +// MockGraphQLPersistedQueryCachePolicyFinalizerMockRecorder is the mock recorder for MockGraphQLPersistedQueryCachePolicyFinalizer. +type MockGraphQLPersistedQueryCachePolicyFinalizerMockRecorder struct { + mock *MockGraphQLPersistedQueryCachePolicyFinalizer +} + +// NewMockGraphQLPersistedQueryCachePolicyFinalizer creates a new mock instance. +func NewMockGraphQLPersistedQueryCachePolicyFinalizer(ctrl *gomock.Controller) *MockGraphQLPersistedQueryCachePolicyFinalizer { + mock := &MockGraphQLPersistedQueryCachePolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockGraphQLPersistedQueryCachePolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLPersistedQueryCachePolicyFinalizer) EXPECT() *MockGraphQLPersistedQueryCachePolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyFinalizer) FinalizeGraphQLPersistedQueryCachePolicy(obj *v2.GraphQLPersistedQueryCachePolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeGraphQLPersistedQueryCachePolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeGraphQLPersistedQueryCachePolicy indicates an expected call of FinalizeGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyFinalizerMockRecorder) FinalizeGraphQLPersistedQueryCachePolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyFinalizer)(nil).FinalizeGraphQLPersistedQueryCachePolicy), obj) +} + +// GraphQLPersistedQueryCachePolicyFinalizerName mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyFinalizer) GraphQLPersistedQueryCachePolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GraphQLPersistedQueryCachePolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// GraphQLPersistedQueryCachePolicyFinalizerName indicates an expected call of GraphQLPersistedQueryCachePolicyFinalizerName. +func (mr *MockGraphQLPersistedQueryCachePolicyFinalizerMockRecorder) GraphQLPersistedQueryCachePolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GraphQLPersistedQueryCachePolicyFinalizerName", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyFinalizer)(nil).GraphQLPersistedQueryCachePolicyFinalizerName)) +} + +// ReconcileGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyFinalizer) ReconcileGraphQLPersistedQueryCachePolicy(obj *v2.GraphQLPersistedQueryCachePolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLPersistedQueryCachePolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLPersistedQueryCachePolicy indicates an expected call of ReconcileGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyFinalizerMockRecorder) ReconcileGraphQLPersistedQueryCachePolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyFinalizer)(nil).ReconcileGraphQLPersistedQueryCachePolicy), obj) +} + +// MockGraphQLPersistedQueryCachePolicyReconcileLoop is a mock of GraphQLPersistedQueryCachePolicyReconcileLoop interface. +type MockGraphQLPersistedQueryCachePolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockGraphQLPersistedQueryCachePolicyReconcileLoopMockRecorder +} + +// MockGraphQLPersistedQueryCachePolicyReconcileLoopMockRecorder is the mock recorder for MockGraphQLPersistedQueryCachePolicyReconcileLoop. +type MockGraphQLPersistedQueryCachePolicyReconcileLoopMockRecorder struct { + mock *MockGraphQLPersistedQueryCachePolicyReconcileLoop +} + +// NewMockGraphQLPersistedQueryCachePolicyReconcileLoop creates a new mock instance. +func NewMockGraphQLPersistedQueryCachePolicyReconcileLoop(ctrl *gomock.Controller) *MockGraphQLPersistedQueryCachePolicyReconcileLoop { + mock := &MockGraphQLPersistedQueryCachePolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockGraphQLPersistedQueryCachePolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLPersistedQueryCachePolicyReconcileLoop) EXPECT() *MockGraphQLPersistedQueryCachePolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunGraphQLPersistedQueryCachePolicyReconciler mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyReconcileLoop) RunGraphQLPersistedQueryCachePolicyReconciler(ctx context.Context, rec controller.GraphQLPersistedQueryCachePolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunGraphQLPersistedQueryCachePolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunGraphQLPersistedQueryCachePolicyReconciler indicates an expected call of RunGraphQLPersistedQueryCachePolicyReconciler. +func (mr *MockGraphQLPersistedQueryCachePolicyReconcileLoopMockRecorder) RunGraphQLPersistedQueryCachePolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunGraphQLPersistedQueryCachePolicyReconciler", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyReconcileLoop)(nil).RunGraphQLPersistedQueryCachePolicyReconciler), varargs...) +} + +// MockFailoverPolicyReconciler is a mock of FailoverPolicyReconciler interface. +type MockFailoverPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockFailoverPolicyReconcilerMockRecorder +} + +// MockFailoverPolicyReconcilerMockRecorder is the mock recorder for MockFailoverPolicyReconciler. +type MockFailoverPolicyReconcilerMockRecorder struct { + mock *MockFailoverPolicyReconciler +} + +// NewMockFailoverPolicyReconciler creates a new mock instance. +func NewMockFailoverPolicyReconciler(ctrl *gomock.Controller) *MockFailoverPolicyReconciler { + mock := &MockFailoverPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockFailoverPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFailoverPolicyReconciler) EXPECT() *MockFailoverPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileFailoverPolicy mocks base method. +func (m *MockFailoverPolicyReconciler) ReconcileFailoverPolicy(obj *v2.FailoverPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileFailoverPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileFailoverPolicy indicates an expected call of ReconcileFailoverPolicy. +func (mr *MockFailoverPolicyReconcilerMockRecorder) ReconcileFailoverPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyReconciler)(nil).ReconcileFailoverPolicy), obj) +} + +// MockFailoverPolicyDeletionReconciler is a mock of FailoverPolicyDeletionReconciler interface. +type MockFailoverPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockFailoverPolicyDeletionReconcilerMockRecorder +} + +// MockFailoverPolicyDeletionReconcilerMockRecorder is the mock recorder for MockFailoverPolicyDeletionReconciler. +type MockFailoverPolicyDeletionReconcilerMockRecorder struct { + mock *MockFailoverPolicyDeletionReconciler +} + +// NewMockFailoverPolicyDeletionReconciler creates a new mock instance. +func NewMockFailoverPolicyDeletionReconciler(ctrl *gomock.Controller) *MockFailoverPolicyDeletionReconciler { + mock := &MockFailoverPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockFailoverPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFailoverPolicyDeletionReconciler) EXPECT() *MockFailoverPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileFailoverPolicyDeletion mocks base method. +func (m *MockFailoverPolicyDeletionReconciler) ReconcileFailoverPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileFailoverPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileFailoverPolicyDeletion indicates an expected call of ReconcileFailoverPolicyDeletion. +func (mr *MockFailoverPolicyDeletionReconcilerMockRecorder) ReconcileFailoverPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileFailoverPolicyDeletion", reflect.TypeOf((*MockFailoverPolicyDeletionReconciler)(nil).ReconcileFailoverPolicyDeletion), req) +} + +// MockFailoverPolicyFinalizer is a mock of FailoverPolicyFinalizer interface. +type MockFailoverPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockFailoverPolicyFinalizerMockRecorder +} + +// MockFailoverPolicyFinalizerMockRecorder is the mock recorder for MockFailoverPolicyFinalizer. +type MockFailoverPolicyFinalizerMockRecorder struct { + mock *MockFailoverPolicyFinalizer +} + +// NewMockFailoverPolicyFinalizer creates a new mock instance. +func NewMockFailoverPolicyFinalizer(ctrl *gomock.Controller) *MockFailoverPolicyFinalizer { + mock := &MockFailoverPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockFailoverPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFailoverPolicyFinalizer) EXPECT() *MockFailoverPolicyFinalizerMockRecorder { + return m.recorder +} + +// FailoverPolicyFinalizerName mocks base method. +func (m *MockFailoverPolicyFinalizer) FailoverPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FailoverPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// FailoverPolicyFinalizerName indicates an expected call of FailoverPolicyFinalizerName. +func (mr *MockFailoverPolicyFinalizerMockRecorder) FailoverPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FailoverPolicyFinalizerName", reflect.TypeOf((*MockFailoverPolicyFinalizer)(nil).FailoverPolicyFinalizerName)) +} + +// FinalizeFailoverPolicy mocks base method. +func (m *MockFailoverPolicyFinalizer) FinalizeFailoverPolicy(obj *v2.FailoverPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeFailoverPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeFailoverPolicy indicates an expected call of FinalizeFailoverPolicy. +func (mr *MockFailoverPolicyFinalizerMockRecorder) FinalizeFailoverPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyFinalizer)(nil).FinalizeFailoverPolicy), obj) +} + +// ReconcileFailoverPolicy mocks base method. +func (m *MockFailoverPolicyFinalizer) ReconcileFailoverPolicy(obj *v2.FailoverPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileFailoverPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileFailoverPolicy indicates an expected call of ReconcileFailoverPolicy. +func (mr *MockFailoverPolicyFinalizerMockRecorder) ReconcileFailoverPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyFinalizer)(nil).ReconcileFailoverPolicy), obj) +} + +// MockFailoverPolicyReconcileLoop is a mock of FailoverPolicyReconcileLoop interface. +type MockFailoverPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockFailoverPolicyReconcileLoopMockRecorder +} + +// MockFailoverPolicyReconcileLoopMockRecorder is the mock recorder for MockFailoverPolicyReconcileLoop. +type MockFailoverPolicyReconcileLoopMockRecorder struct { + mock *MockFailoverPolicyReconcileLoop +} + +// NewMockFailoverPolicyReconcileLoop creates a new mock instance. +func NewMockFailoverPolicyReconcileLoop(ctrl *gomock.Controller) *MockFailoverPolicyReconcileLoop { + mock := &MockFailoverPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockFailoverPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFailoverPolicyReconcileLoop) EXPECT() *MockFailoverPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunFailoverPolicyReconciler mocks base method. +func (m *MockFailoverPolicyReconcileLoop) RunFailoverPolicyReconciler(ctx context.Context, rec controller.FailoverPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunFailoverPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunFailoverPolicyReconciler indicates an expected call of RunFailoverPolicyReconciler. +func (mr *MockFailoverPolicyReconcileLoopMockRecorder) RunFailoverPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunFailoverPolicyReconciler", reflect.TypeOf((*MockFailoverPolicyReconcileLoop)(nil).RunFailoverPolicyReconciler), varargs...) +} + +// MockOutlierDetectionPolicyReconciler is a mock of OutlierDetectionPolicyReconciler interface. +type MockOutlierDetectionPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockOutlierDetectionPolicyReconcilerMockRecorder +} + +// MockOutlierDetectionPolicyReconcilerMockRecorder is the mock recorder for MockOutlierDetectionPolicyReconciler. +type MockOutlierDetectionPolicyReconcilerMockRecorder struct { + mock *MockOutlierDetectionPolicyReconciler +} + +// NewMockOutlierDetectionPolicyReconciler creates a new mock instance. +func NewMockOutlierDetectionPolicyReconciler(ctrl *gomock.Controller) *MockOutlierDetectionPolicyReconciler { + mock := &MockOutlierDetectionPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockOutlierDetectionPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOutlierDetectionPolicyReconciler) EXPECT() *MockOutlierDetectionPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyReconciler) ReconcileOutlierDetectionPolicy(obj *v2.OutlierDetectionPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileOutlierDetectionPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileOutlierDetectionPolicy indicates an expected call of ReconcileOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyReconcilerMockRecorder) ReconcileOutlierDetectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyReconciler)(nil).ReconcileOutlierDetectionPolicy), obj) +} + +// MockOutlierDetectionPolicyDeletionReconciler is a mock of OutlierDetectionPolicyDeletionReconciler interface. +type MockOutlierDetectionPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockOutlierDetectionPolicyDeletionReconcilerMockRecorder +} + +// MockOutlierDetectionPolicyDeletionReconcilerMockRecorder is the mock recorder for MockOutlierDetectionPolicyDeletionReconciler. +type MockOutlierDetectionPolicyDeletionReconcilerMockRecorder struct { + mock *MockOutlierDetectionPolicyDeletionReconciler +} + +// NewMockOutlierDetectionPolicyDeletionReconciler creates a new mock instance. +func NewMockOutlierDetectionPolicyDeletionReconciler(ctrl *gomock.Controller) *MockOutlierDetectionPolicyDeletionReconciler { + mock := &MockOutlierDetectionPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockOutlierDetectionPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOutlierDetectionPolicyDeletionReconciler) EXPECT() *MockOutlierDetectionPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileOutlierDetectionPolicyDeletion mocks base method. +func (m *MockOutlierDetectionPolicyDeletionReconciler) ReconcileOutlierDetectionPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileOutlierDetectionPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileOutlierDetectionPolicyDeletion indicates an expected call of ReconcileOutlierDetectionPolicyDeletion. +func (mr *MockOutlierDetectionPolicyDeletionReconcilerMockRecorder) ReconcileOutlierDetectionPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileOutlierDetectionPolicyDeletion", reflect.TypeOf((*MockOutlierDetectionPolicyDeletionReconciler)(nil).ReconcileOutlierDetectionPolicyDeletion), req) +} + +// MockOutlierDetectionPolicyFinalizer is a mock of OutlierDetectionPolicyFinalizer interface. +type MockOutlierDetectionPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockOutlierDetectionPolicyFinalizerMockRecorder +} + +// MockOutlierDetectionPolicyFinalizerMockRecorder is the mock recorder for MockOutlierDetectionPolicyFinalizer. +type MockOutlierDetectionPolicyFinalizerMockRecorder struct { + mock *MockOutlierDetectionPolicyFinalizer +} + +// NewMockOutlierDetectionPolicyFinalizer creates a new mock instance. +func NewMockOutlierDetectionPolicyFinalizer(ctrl *gomock.Controller) *MockOutlierDetectionPolicyFinalizer { + mock := &MockOutlierDetectionPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockOutlierDetectionPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOutlierDetectionPolicyFinalizer) EXPECT() *MockOutlierDetectionPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyFinalizer) FinalizeOutlierDetectionPolicy(obj *v2.OutlierDetectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeOutlierDetectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeOutlierDetectionPolicy indicates an expected call of FinalizeOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyFinalizerMockRecorder) FinalizeOutlierDetectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyFinalizer)(nil).FinalizeOutlierDetectionPolicy), obj) +} + +// OutlierDetectionPolicyFinalizerName mocks base method. +func (m *MockOutlierDetectionPolicyFinalizer) OutlierDetectionPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "OutlierDetectionPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// OutlierDetectionPolicyFinalizerName indicates an expected call of OutlierDetectionPolicyFinalizerName. +func (mr *MockOutlierDetectionPolicyFinalizerMockRecorder) OutlierDetectionPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OutlierDetectionPolicyFinalizerName", reflect.TypeOf((*MockOutlierDetectionPolicyFinalizer)(nil).OutlierDetectionPolicyFinalizerName)) +} + +// ReconcileOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyFinalizer) ReconcileOutlierDetectionPolicy(obj *v2.OutlierDetectionPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileOutlierDetectionPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileOutlierDetectionPolicy indicates an expected call of ReconcileOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyFinalizerMockRecorder) ReconcileOutlierDetectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyFinalizer)(nil).ReconcileOutlierDetectionPolicy), obj) +} + +// MockOutlierDetectionPolicyReconcileLoop is a mock of OutlierDetectionPolicyReconcileLoop interface. +type MockOutlierDetectionPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockOutlierDetectionPolicyReconcileLoopMockRecorder +} + +// MockOutlierDetectionPolicyReconcileLoopMockRecorder is the mock recorder for MockOutlierDetectionPolicyReconcileLoop. +type MockOutlierDetectionPolicyReconcileLoopMockRecorder struct { + mock *MockOutlierDetectionPolicyReconcileLoop +} + +// NewMockOutlierDetectionPolicyReconcileLoop creates a new mock instance. +func NewMockOutlierDetectionPolicyReconcileLoop(ctrl *gomock.Controller) *MockOutlierDetectionPolicyReconcileLoop { + mock := &MockOutlierDetectionPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockOutlierDetectionPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOutlierDetectionPolicyReconcileLoop) EXPECT() *MockOutlierDetectionPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunOutlierDetectionPolicyReconciler mocks base method. +func (m *MockOutlierDetectionPolicyReconcileLoop) RunOutlierDetectionPolicyReconciler(ctx context.Context, rec controller.OutlierDetectionPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunOutlierDetectionPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunOutlierDetectionPolicyReconciler indicates an expected call of RunOutlierDetectionPolicyReconciler. +func (mr *MockOutlierDetectionPolicyReconcileLoopMockRecorder) RunOutlierDetectionPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunOutlierDetectionPolicyReconciler", reflect.TypeOf((*MockOutlierDetectionPolicyReconcileLoop)(nil).RunOutlierDetectionPolicyReconciler), varargs...) +} + +// MockFaultInjectionPolicyReconciler is a mock of FaultInjectionPolicyReconciler interface. +type MockFaultInjectionPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockFaultInjectionPolicyReconcilerMockRecorder +} + +// MockFaultInjectionPolicyReconcilerMockRecorder is the mock recorder for MockFaultInjectionPolicyReconciler. +type MockFaultInjectionPolicyReconcilerMockRecorder struct { + mock *MockFaultInjectionPolicyReconciler +} + +// NewMockFaultInjectionPolicyReconciler creates a new mock instance. +func NewMockFaultInjectionPolicyReconciler(ctrl *gomock.Controller) *MockFaultInjectionPolicyReconciler { + mock := &MockFaultInjectionPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockFaultInjectionPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFaultInjectionPolicyReconciler) EXPECT() *MockFaultInjectionPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyReconciler) ReconcileFaultInjectionPolicy(obj *v2.FaultInjectionPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileFaultInjectionPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileFaultInjectionPolicy indicates an expected call of ReconcileFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyReconcilerMockRecorder) ReconcileFaultInjectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyReconciler)(nil).ReconcileFaultInjectionPolicy), obj) +} + +// MockFaultInjectionPolicyDeletionReconciler is a mock of FaultInjectionPolicyDeletionReconciler interface. +type MockFaultInjectionPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockFaultInjectionPolicyDeletionReconcilerMockRecorder +} + +// MockFaultInjectionPolicyDeletionReconcilerMockRecorder is the mock recorder for MockFaultInjectionPolicyDeletionReconciler. +type MockFaultInjectionPolicyDeletionReconcilerMockRecorder struct { + mock *MockFaultInjectionPolicyDeletionReconciler +} + +// NewMockFaultInjectionPolicyDeletionReconciler creates a new mock instance. +func NewMockFaultInjectionPolicyDeletionReconciler(ctrl *gomock.Controller) *MockFaultInjectionPolicyDeletionReconciler { + mock := &MockFaultInjectionPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockFaultInjectionPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFaultInjectionPolicyDeletionReconciler) EXPECT() *MockFaultInjectionPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileFaultInjectionPolicyDeletion mocks base method. +func (m *MockFaultInjectionPolicyDeletionReconciler) ReconcileFaultInjectionPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileFaultInjectionPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileFaultInjectionPolicyDeletion indicates an expected call of ReconcileFaultInjectionPolicyDeletion. +func (mr *MockFaultInjectionPolicyDeletionReconcilerMockRecorder) ReconcileFaultInjectionPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileFaultInjectionPolicyDeletion", reflect.TypeOf((*MockFaultInjectionPolicyDeletionReconciler)(nil).ReconcileFaultInjectionPolicyDeletion), req) +} + +// MockFaultInjectionPolicyFinalizer is a mock of FaultInjectionPolicyFinalizer interface. +type MockFaultInjectionPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockFaultInjectionPolicyFinalizerMockRecorder +} + +// MockFaultInjectionPolicyFinalizerMockRecorder is the mock recorder for MockFaultInjectionPolicyFinalizer. +type MockFaultInjectionPolicyFinalizerMockRecorder struct { + mock *MockFaultInjectionPolicyFinalizer +} + +// NewMockFaultInjectionPolicyFinalizer creates a new mock instance. +func NewMockFaultInjectionPolicyFinalizer(ctrl *gomock.Controller) *MockFaultInjectionPolicyFinalizer { + mock := &MockFaultInjectionPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockFaultInjectionPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFaultInjectionPolicyFinalizer) EXPECT() *MockFaultInjectionPolicyFinalizerMockRecorder { + return m.recorder +} + +// FaultInjectionPolicyFinalizerName mocks base method. +func (m *MockFaultInjectionPolicyFinalizer) FaultInjectionPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FaultInjectionPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// FaultInjectionPolicyFinalizerName indicates an expected call of FaultInjectionPolicyFinalizerName. +func (mr *MockFaultInjectionPolicyFinalizerMockRecorder) FaultInjectionPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FaultInjectionPolicyFinalizerName", reflect.TypeOf((*MockFaultInjectionPolicyFinalizer)(nil).FaultInjectionPolicyFinalizerName)) +} + +// FinalizeFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyFinalizer) FinalizeFaultInjectionPolicy(obj *v2.FaultInjectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeFaultInjectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeFaultInjectionPolicy indicates an expected call of FinalizeFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyFinalizerMockRecorder) FinalizeFaultInjectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyFinalizer)(nil).FinalizeFaultInjectionPolicy), obj) +} + +// ReconcileFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyFinalizer) ReconcileFaultInjectionPolicy(obj *v2.FaultInjectionPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileFaultInjectionPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileFaultInjectionPolicy indicates an expected call of ReconcileFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyFinalizerMockRecorder) ReconcileFaultInjectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyFinalizer)(nil).ReconcileFaultInjectionPolicy), obj) +} + +// MockFaultInjectionPolicyReconcileLoop is a mock of FaultInjectionPolicyReconcileLoop interface. +type MockFaultInjectionPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockFaultInjectionPolicyReconcileLoopMockRecorder +} + +// MockFaultInjectionPolicyReconcileLoopMockRecorder is the mock recorder for MockFaultInjectionPolicyReconcileLoop. +type MockFaultInjectionPolicyReconcileLoopMockRecorder struct { + mock *MockFaultInjectionPolicyReconcileLoop +} + +// NewMockFaultInjectionPolicyReconcileLoop creates a new mock instance. +func NewMockFaultInjectionPolicyReconcileLoop(ctrl *gomock.Controller) *MockFaultInjectionPolicyReconcileLoop { + mock := &MockFaultInjectionPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockFaultInjectionPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFaultInjectionPolicyReconcileLoop) EXPECT() *MockFaultInjectionPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunFaultInjectionPolicyReconciler mocks base method. +func (m *MockFaultInjectionPolicyReconcileLoop) RunFaultInjectionPolicyReconciler(ctx context.Context, rec controller.FaultInjectionPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunFaultInjectionPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunFaultInjectionPolicyReconciler indicates an expected call of RunFaultInjectionPolicyReconciler. +func (mr *MockFaultInjectionPolicyReconcileLoopMockRecorder) RunFaultInjectionPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunFaultInjectionPolicyReconciler", reflect.TypeOf((*MockFaultInjectionPolicyReconcileLoop)(nil).RunFaultInjectionPolicyReconciler), varargs...) +} + +// MockRetryTimeoutPolicyReconciler is a mock of RetryTimeoutPolicyReconciler interface. +type MockRetryTimeoutPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockRetryTimeoutPolicyReconcilerMockRecorder +} + +// MockRetryTimeoutPolicyReconcilerMockRecorder is the mock recorder for MockRetryTimeoutPolicyReconciler. +type MockRetryTimeoutPolicyReconcilerMockRecorder struct { + mock *MockRetryTimeoutPolicyReconciler +} + +// NewMockRetryTimeoutPolicyReconciler creates a new mock instance. +func NewMockRetryTimeoutPolicyReconciler(ctrl *gomock.Controller) *MockRetryTimeoutPolicyReconciler { + mock := &MockRetryTimeoutPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockRetryTimeoutPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRetryTimeoutPolicyReconciler) EXPECT() *MockRetryTimeoutPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyReconciler) ReconcileRetryTimeoutPolicy(obj *v2.RetryTimeoutPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRetryTimeoutPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRetryTimeoutPolicy indicates an expected call of ReconcileRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyReconcilerMockRecorder) ReconcileRetryTimeoutPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyReconciler)(nil).ReconcileRetryTimeoutPolicy), obj) +} + +// MockRetryTimeoutPolicyDeletionReconciler is a mock of RetryTimeoutPolicyDeletionReconciler interface. +type MockRetryTimeoutPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockRetryTimeoutPolicyDeletionReconcilerMockRecorder +} + +// MockRetryTimeoutPolicyDeletionReconcilerMockRecorder is the mock recorder for MockRetryTimeoutPolicyDeletionReconciler. +type MockRetryTimeoutPolicyDeletionReconcilerMockRecorder struct { + mock *MockRetryTimeoutPolicyDeletionReconciler +} + +// NewMockRetryTimeoutPolicyDeletionReconciler creates a new mock instance. +func NewMockRetryTimeoutPolicyDeletionReconciler(ctrl *gomock.Controller) *MockRetryTimeoutPolicyDeletionReconciler { + mock := &MockRetryTimeoutPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockRetryTimeoutPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRetryTimeoutPolicyDeletionReconciler) EXPECT() *MockRetryTimeoutPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRetryTimeoutPolicyDeletion mocks base method. +func (m *MockRetryTimeoutPolicyDeletionReconciler) ReconcileRetryTimeoutPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRetryTimeoutPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRetryTimeoutPolicyDeletion indicates an expected call of ReconcileRetryTimeoutPolicyDeletion. +func (mr *MockRetryTimeoutPolicyDeletionReconcilerMockRecorder) ReconcileRetryTimeoutPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRetryTimeoutPolicyDeletion", reflect.TypeOf((*MockRetryTimeoutPolicyDeletionReconciler)(nil).ReconcileRetryTimeoutPolicyDeletion), req) +} + +// MockRetryTimeoutPolicyFinalizer is a mock of RetryTimeoutPolicyFinalizer interface. +type MockRetryTimeoutPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockRetryTimeoutPolicyFinalizerMockRecorder +} + +// MockRetryTimeoutPolicyFinalizerMockRecorder is the mock recorder for MockRetryTimeoutPolicyFinalizer. +type MockRetryTimeoutPolicyFinalizerMockRecorder struct { + mock *MockRetryTimeoutPolicyFinalizer +} + +// NewMockRetryTimeoutPolicyFinalizer creates a new mock instance. +func NewMockRetryTimeoutPolicyFinalizer(ctrl *gomock.Controller) *MockRetryTimeoutPolicyFinalizer { + mock := &MockRetryTimeoutPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockRetryTimeoutPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRetryTimeoutPolicyFinalizer) EXPECT() *MockRetryTimeoutPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyFinalizer) FinalizeRetryTimeoutPolicy(obj *v2.RetryTimeoutPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeRetryTimeoutPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeRetryTimeoutPolicy indicates an expected call of FinalizeRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyFinalizerMockRecorder) FinalizeRetryTimeoutPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyFinalizer)(nil).FinalizeRetryTimeoutPolicy), obj) +} + +// ReconcileRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyFinalizer) ReconcileRetryTimeoutPolicy(obj *v2.RetryTimeoutPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRetryTimeoutPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRetryTimeoutPolicy indicates an expected call of ReconcileRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyFinalizerMockRecorder) ReconcileRetryTimeoutPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyFinalizer)(nil).ReconcileRetryTimeoutPolicy), obj) +} + +// RetryTimeoutPolicyFinalizerName mocks base method. +func (m *MockRetryTimeoutPolicyFinalizer) RetryTimeoutPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RetryTimeoutPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// RetryTimeoutPolicyFinalizerName indicates an expected call of RetryTimeoutPolicyFinalizerName. +func (mr *MockRetryTimeoutPolicyFinalizerMockRecorder) RetryTimeoutPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RetryTimeoutPolicyFinalizerName", reflect.TypeOf((*MockRetryTimeoutPolicyFinalizer)(nil).RetryTimeoutPolicyFinalizerName)) +} + +// MockRetryTimeoutPolicyReconcileLoop is a mock of RetryTimeoutPolicyReconcileLoop interface. +type MockRetryTimeoutPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockRetryTimeoutPolicyReconcileLoopMockRecorder +} + +// MockRetryTimeoutPolicyReconcileLoopMockRecorder is the mock recorder for MockRetryTimeoutPolicyReconcileLoop. +type MockRetryTimeoutPolicyReconcileLoopMockRecorder struct { + mock *MockRetryTimeoutPolicyReconcileLoop +} + +// NewMockRetryTimeoutPolicyReconcileLoop creates a new mock instance. +func NewMockRetryTimeoutPolicyReconcileLoop(ctrl *gomock.Controller) *MockRetryTimeoutPolicyReconcileLoop { + mock := &MockRetryTimeoutPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockRetryTimeoutPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRetryTimeoutPolicyReconcileLoop) EXPECT() *MockRetryTimeoutPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunRetryTimeoutPolicyReconciler mocks base method. +func (m *MockRetryTimeoutPolicyReconcileLoop) RunRetryTimeoutPolicyReconciler(ctx context.Context, rec controller.RetryTimeoutPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunRetryTimeoutPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunRetryTimeoutPolicyReconciler indicates an expected call of RunRetryTimeoutPolicyReconciler. +func (mr *MockRetryTimeoutPolicyReconcileLoopMockRecorder) RunRetryTimeoutPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunRetryTimeoutPolicyReconciler", reflect.TypeOf((*MockRetryTimeoutPolicyReconcileLoop)(nil).RunRetryTimeoutPolicyReconciler), varargs...) +} + +// MockConnectionPolicyReconciler is a mock of ConnectionPolicyReconciler interface. +type MockConnectionPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockConnectionPolicyReconcilerMockRecorder +} + +// MockConnectionPolicyReconcilerMockRecorder is the mock recorder for MockConnectionPolicyReconciler. +type MockConnectionPolicyReconcilerMockRecorder struct { + mock *MockConnectionPolicyReconciler +} + +// NewMockConnectionPolicyReconciler creates a new mock instance. +func NewMockConnectionPolicyReconciler(ctrl *gomock.Controller) *MockConnectionPolicyReconciler { + mock := &MockConnectionPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockConnectionPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockConnectionPolicyReconciler) EXPECT() *MockConnectionPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileConnectionPolicy mocks base method. +func (m *MockConnectionPolicyReconciler) ReconcileConnectionPolicy(obj *v2.ConnectionPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileConnectionPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileConnectionPolicy indicates an expected call of ReconcileConnectionPolicy. +func (mr *MockConnectionPolicyReconcilerMockRecorder) ReconcileConnectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyReconciler)(nil).ReconcileConnectionPolicy), obj) +} + +// MockConnectionPolicyDeletionReconciler is a mock of ConnectionPolicyDeletionReconciler interface. +type MockConnectionPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockConnectionPolicyDeletionReconcilerMockRecorder +} + +// MockConnectionPolicyDeletionReconcilerMockRecorder is the mock recorder for MockConnectionPolicyDeletionReconciler. +type MockConnectionPolicyDeletionReconcilerMockRecorder struct { + mock *MockConnectionPolicyDeletionReconciler +} + +// NewMockConnectionPolicyDeletionReconciler creates a new mock instance. +func NewMockConnectionPolicyDeletionReconciler(ctrl *gomock.Controller) *MockConnectionPolicyDeletionReconciler { + mock := &MockConnectionPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockConnectionPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockConnectionPolicyDeletionReconciler) EXPECT() *MockConnectionPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileConnectionPolicyDeletion mocks base method. +func (m *MockConnectionPolicyDeletionReconciler) ReconcileConnectionPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileConnectionPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileConnectionPolicyDeletion indicates an expected call of ReconcileConnectionPolicyDeletion. +func (mr *MockConnectionPolicyDeletionReconcilerMockRecorder) ReconcileConnectionPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileConnectionPolicyDeletion", reflect.TypeOf((*MockConnectionPolicyDeletionReconciler)(nil).ReconcileConnectionPolicyDeletion), req) +} + +// MockConnectionPolicyFinalizer is a mock of ConnectionPolicyFinalizer interface. +type MockConnectionPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockConnectionPolicyFinalizerMockRecorder +} + +// MockConnectionPolicyFinalizerMockRecorder is the mock recorder for MockConnectionPolicyFinalizer. +type MockConnectionPolicyFinalizerMockRecorder struct { + mock *MockConnectionPolicyFinalizer +} + +// NewMockConnectionPolicyFinalizer creates a new mock instance. +func NewMockConnectionPolicyFinalizer(ctrl *gomock.Controller) *MockConnectionPolicyFinalizer { + mock := &MockConnectionPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockConnectionPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockConnectionPolicyFinalizer) EXPECT() *MockConnectionPolicyFinalizerMockRecorder { + return m.recorder +} + +// ConnectionPolicyFinalizerName mocks base method. +func (m *MockConnectionPolicyFinalizer) ConnectionPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ConnectionPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ConnectionPolicyFinalizerName indicates an expected call of ConnectionPolicyFinalizerName. +func (mr *MockConnectionPolicyFinalizerMockRecorder) ConnectionPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConnectionPolicyFinalizerName", reflect.TypeOf((*MockConnectionPolicyFinalizer)(nil).ConnectionPolicyFinalizerName)) +} + +// FinalizeConnectionPolicy mocks base method. +func (m *MockConnectionPolicyFinalizer) FinalizeConnectionPolicy(obj *v2.ConnectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeConnectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeConnectionPolicy indicates an expected call of FinalizeConnectionPolicy. +func (mr *MockConnectionPolicyFinalizerMockRecorder) FinalizeConnectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyFinalizer)(nil).FinalizeConnectionPolicy), obj) +} + +// ReconcileConnectionPolicy mocks base method. +func (m *MockConnectionPolicyFinalizer) ReconcileConnectionPolicy(obj *v2.ConnectionPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileConnectionPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileConnectionPolicy indicates an expected call of ReconcileConnectionPolicy. +func (mr *MockConnectionPolicyFinalizerMockRecorder) ReconcileConnectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyFinalizer)(nil).ReconcileConnectionPolicy), obj) +} + +// MockConnectionPolicyReconcileLoop is a mock of ConnectionPolicyReconcileLoop interface. +type MockConnectionPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockConnectionPolicyReconcileLoopMockRecorder +} + +// MockConnectionPolicyReconcileLoopMockRecorder is the mock recorder for MockConnectionPolicyReconcileLoop. +type MockConnectionPolicyReconcileLoopMockRecorder struct { + mock *MockConnectionPolicyReconcileLoop +} + +// NewMockConnectionPolicyReconcileLoop creates a new mock instance. +func NewMockConnectionPolicyReconcileLoop(ctrl *gomock.Controller) *MockConnectionPolicyReconcileLoop { + mock := &MockConnectionPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockConnectionPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockConnectionPolicyReconcileLoop) EXPECT() *MockConnectionPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunConnectionPolicyReconciler mocks base method. +func (m *MockConnectionPolicyReconcileLoop) RunConnectionPolicyReconciler(ctx context.Context, rec controller.ConnectionPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunConnectionPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunConnectionPolicyReconciler indicates an expected call of RunConnectionPolicyReconciler. +func (mr *MockConnectionPolicyReconcileLoopMockRecorder) RunConnectionPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunConnectionPolicyReconciler", reflect.TypeOf((*MockConnectionPolicyReconcileLoop)(nil).RunConnectionPolicyReconciler), varargs...) +} + +// MockTrimProxyConfigPolicyReconciler is a mock of TrimProxyConfigPolicyReconciler interface. +type MockTrimProxyConfigPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockTrimProxyConfigPolicyReconcilerMockRecorder +} + +// MockTrimProxyConfigPolicyReconcilerMockRecorder is the mock recorder for MockTrimProxyConfigPolicyReconciler. +type MockTrimProxyConfigPolicyReconcilerMockRecorder struct { + mock *MockTrimProxyConfigPolicyReconciler +} + +// NewMockTrimProxyConfigPolicyReconciler creates a new mock instance. +func NewMockTrimProxyConfigPolicyReconciler(ctrl *gomock.Controller) *MockTrimProxyConfigPolicyReconciler { + mock := &MockTrimProxyConfigPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockTrimProxyConfigPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTrimProxyConfigPolicyReconciler) EXPECT() *MockTrimProxyConfigPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyReconciler) ReconcileTrimProxyConfigPolicy(obj *v2.TrimProxyConfigPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileTrimProxyConfigPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileTrimProxyConfigPolicy indicates an expected call of ReconcileTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyReconcilerMockRecorder) ReconcileTrimProxyConfigPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyReconciler)(nil).ReconcileTrimProxyConfigPolicy), obj) +} + +// MockTrimProxyConfigPolicyDeletionReconciler is a mock of TrimProxyConfigPolicyDeletionReconciler interface. +type MockTrimProxyConfigPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockTrimProxyConfigPolicyDeletionReconcilerMockRecorder +} + +// MockTrimProxyConfigPolicyDeletionReconcilerMockRecorder is the mock recorder for MockTrimProxyConfigPolicyDeletionReconciler. +type MockTrimProxyConfigPolicyDeletionReconcilerMockRecorder struct { + mock *MockTrimProxyConfigPolicyDeletionReconciler +} + +// NewMockTrimProxyConfigPolicyDeletionReconciler creates a new mock instance. +func NewMockTrimProxyConfigPolicyDeletionReconciler(ctrl *gomock.Controller) *MockTrimProxyConfigPolicyDeletionReconciler { + mock := &MockTrimProxyConfigPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockTrimProxyConfigPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTrimProxyConfigPolicyDeletionReconciler) EXPECT() *MockTrimProxyConfigPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileTrimProxyConfigPolicyDeletion mocks base method. +func (m *MockTrimProxyConfigPolicyDeletionReconciler) ReconcileTrimProxyConfigPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileTrimProxyConfigPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileTrimProxyConfigPolicyDeletion indicates an expected call of ReconcileTrimProxyConfigPolicyDeletion. +func (mr *MockTrimProxyConfigPolicyDeletionReconcilerMockRecorder) ReconcileTrimProxyConfigPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileTrimProxyConfigPolicyDeletion", reflect.TypeOf((*MockTrimProxyConfigPolicyDeletionReconciler)(nil).ReconcileTrimProxyConfigPolicyDeletion), req) +} + +// MockTrimProxyConfigPolicyFinalizer is a mock of TrimProxyConfigPolicyFinalizer interface. +type MockTrimProxyConfigPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockTrimProxyConfigPolicyFinalizerMockRecorder +} + +// MockTrimProxyConfigPolicyFinalizerMockRecorder is the mock recorder for MockTrimProxyConfigPolicyFinalizer. +type MockTrimProxyConfigPolicyFinalizerMockRecorder struct { + mock *MockTrimProxyConfigPolicyFinalizer +} + +// NewMockTrimProxyConfigPolicyFinalizer creates a new mock instance. +func NewMockTrimProxyConfigPolicyFinalizer(ctrl *gomock.Controller) *MockTrimProxyConfigPolicyFinalizer { + mock := &MockTrimProxyConfigPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockTrimProxyConfigPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTrimProxyConfigPolicyFinalizer) EXPECT() *MockTrimProxyConfigPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyFinalizer) FinalizeTrimProxyConfigPolicy(obj *v2.TrimProxyConfigPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeTrimProxyConfigPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeTrimProxyConfigPolicy indicates an expected call of FinalizeTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyFinalizerMockRecorder) FinalizeTrimProxyConfigPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyFinalizer)(nil).FinalizeTrimProxyConfigPolicy), obj) +} + +// ReconcileTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyFinalizer) ReconcileTrimProxyConfigPolicy(obj *v2.TrimProxyConfigPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileTrimProxyConfigPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileTrimProxyConfigPolicy indicates an expected call of ReconcileTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyFinalizerMockRecorder) ReconcileTrimProxyConfigPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyFinalizer)(nil).ReconcileTrimProxyConfigPolicy), obj) +} + +// TrimProxyConfigPolicyFinalizerName mocks base method. +func (m *MockTrimProxyConfigPolicyFinalizer) TrimProxyConfigPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "TrimProxyConfigPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// TrimProxyConfigPolicyFinalizerName indicates an expected call of TrimProxyConfigPolicyFinalizerName. +func (mr *MockTrimProxyConfigPolicyFinalizerMockRecorder) TrimProxyConfigPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TrimProxyConfigPolicyFinalizerName", reflect.TypeOf((*MockTrimProxyConfigPolicyFinalizer)(nil).TrimProxyConfigPolicyFinalizerName)) +} + +// MockTrimProxyConfigPolicyReconcileLoop is a mock of TrimProxyConfigPolicyReconcileLoop interface. +type MockTrimProxyConfigPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockTrimProxyConfigPolicyReconcileLoopMockRecorder +} + +// MockTrimProxyConfigPolicyReconcileLoopMockRecorder is the mock recorder for MockTrimProxyConfigPolicyReconcileLoop. +type MockTrimProxyConfigPolicyReconcileLoopMockRecorder struct { + mock *MockTrimProxyConfigPolicyReconcileLoop +} + +// NewMockTrimProxyConfigPolicyReconcileLoop creates a new mock instance. +func NewMockTrimProxyConfigPolicyReconcileLoop(ctrl *gomock.Controller) *MockTrimProxyConfigPolicyReconcileLoop { + mock := &MockTrimProxyConfigPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockTrimProxyConfigPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTrimProxyConfigPolicyReconcileLoop) EXPECT() *MockTrimProxyConfigPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunTrimProxyConfigPolicyReconciler mocks base method. +func (m *MockTrimProxyConfigPolicyReconcileLoop) RunTrimProxyConfigPolicyReconciler(ctx context.Context, rec controller.TrimProxyConfigPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunTrimProxyConfigPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunTrimProxyConfigPolicyReconciler indicates an expected call of RunTrimProxyConfigPolicyReconciler. +func (mr *MockTrimProxyConfigPolicyReconcileLoopMockRecorder) RunTrimProxyConfigPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunTrimProxyConfigPolicyReconciler", reflect.TypeOf((*MockTrimProxyConfigPolicyReconcileLoop)(nil).RunTrimProxyConfigPolicyReconciler), varargs...) +} + +// MockActiveHealthCheckPolicyReconciler is a mock of ActiveHealthCheckPolicyReconciler interface. +type MockActiveHealthCheckPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockActiveHealthCheckPolicyReconcilerMockRecorder +} + +// MockActiveHealthCheckPolicyReconcilerMockRecorder is the mock recorder for MockActiveHealthCheckPolicyReconciler. +type MockActiveHealthCheckPolicyReconcilerMockRecorder struct { + mock *MockActiveHealthCheckPolicyReconciler +} + +// NewMockActiveHealthCheckPolicyReconciler creates a new mock instance. +func NewMockActiveHealthCheckPolicyReconciler(ctrl *gomock.Controller) *MockActiveHealthCheckPolicyReconciler { + mock := &MockActiveHealthCheckPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockActiveHealthCheckPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockActiveHealthCheckPolicyReconciler) EXPECT() *MockActiveHealthCheckPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyReconciler) ReconcileActiveHealthCheckPolicy(obj *v2.ActiveHealthCheckPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileActiveHealthCheckPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileActiveHealthCheckPolicy indicates an expected call of ReconcileActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyReconcilerMockRecorder) ReconcileActiveHealthCheckPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyReconciler)(nil).ReconcileActiveHealthCheckPolicy), obj) +} + +// MockActiveHealthCheckPolicyDeletionReconciler is a mock of ActiveHealthCheckPolicyDeletionReconciler interface. +type MockActiveHealthCheckPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockActiveHealthCheckPolicyDeletionReconcilerMockRecorder +} + +// MockActiveHealthCheckPolicyDeletionReconcilerMockRecorder is the mock recorder for MockActiveHealthCheckPolicyDeletionReconciler. +type MockActiveHealthCheckPolicyDeletionReconcilerMockRecorder struct { + mock *MockActiveHealthCheckPolicyDeletionReconciler +} + +// NewMockActiveHealthCheckPolicyDeletionReconciler creates a new mock instance. +func NewMockActiveHealthCheckPolicyDeletionReconciler(ctrl *gomock.Controller) *MockActiveHealthCheckPolicyDeletionReconciler { + mock := &MockActiveHealthCheckPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockActiveHealthCheckPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockActiveHealthCheckPolicyDeletionReconciler) EXPECT() *MockActiveHealthCheckPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileActiveHealthCheckPolicyDeletion mocks base method. +func (m *MockActiveHealthCheckPolicyDeletionReconciler) ReconcileActiveHealthCheckPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileActiveHealthCheckPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileActiveHealthCheckPolicyDeletion indicates an expected call of ReconcileActiveHealthCheckPolicyDeletion. +func (mr *MockActiveHealthCheckPolicyDeletionReconcilerMockRecorder) ReconcileActiveHealthCheckPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileActiveHealthCheckPolicyDeletion", reflect.TypeOf((*MockActiveHealthCheckPolicyDeletionReconciler)(nil).ReconcileActiveHealthCheckPolicyDeletion), req) +} + +// MockActiveHealthCheckPolicyFinalizer is a mock of ActiveHealthCheckPolicyFinalizer interface. +type MockActiveHealthCheckPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockActiveHealthCheckPolicyFinalizerMockRecorder +} + +// MockActiveHealthCheckPolicyFinalizerMockRecorder is the mock recorder for MockActiveHealthCheckPolicyFinalizer. +type MockActiveHealthCheckPolicyFinalizerMockRecorder struct { + mock *MockActiveHealthCheckPolicyFinalizer +} + +// NewMockActiveHealthCheckPolicyFinalizer creates a new mock instance. +func NewMockActiveHealthCheckPolicyFinalizer(ctrl *gomock.Controller) *MockActiveHealthCheckPolicyFinalizer { + mock := &MockActiveHealthCheckPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockActiveHealthCheckPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockActiveHealthCheckPolicyFinalizer) EXPECT() *MockActiveHealthCheckPolicyFinalizerMockRecorder { + return m.recorder +} + +// ActiveHealthCheckPolicyFinalizerName mocks base method. +func (m *MockActiveHealthCheckPolicyFinalizer) ActiveHealthCheckPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ActiveHealthCheckPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ActiveHealthCheckPolicyFinalizerName indicates an expected call of ActiveHealthCheckPolicyFinalizerName. +func (mr *MockActiveHealthCheckPolicyFinalizerMockRecorder) ActiveHealthCheckPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ActiveHealthCheckPolicyFinalizerName", reflect.TypeOf((*MockActiveHealthCheckPolicyFinalizer)(nil).ActiveHealthCheckPolicyFinalizerName)) +} + +// FinalizeActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyFinalizer) FinalizeActiveHealthCheckPolicy(obj *v2.ActiveHealthCheckPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeActiveHealthCheckPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeActiveHealthCheckPolicy indicates an expected call of FinalizeActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyFinalizerMockRecorder) FinalizeActiveHealthCheckPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyFinalizer)(nil).FinalizeActiveHealthCheckPolicy), obj) +} + +// ReconcileActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyFinalizer) ReconcileActiveHealthCheckPolicy(obj *v2.ActiveHealthCheckPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileActiveHealthCheckPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileActiveHealthCheckPolicy indicates an expected call of ReconcileActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyFinalizerMockRecorder) ReconcileActiveHealthCheckPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyFinalizer)(nil).ReconcileActiveHealthCheckPolicy), obj) +} + +// MockActiveHealthCheckPolicyReconcileLoop is a mock of ActiveHealthCheckPolicyReconcileLoop interface. +type MockActiveHealthCheckPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockActiveHealthCheckPolicyReconcileLoopMockRecorder +} + +// MockActiveHealthCheckPolicyReconcileLoopMockRecorder is the mock recorder for MockActiveHealthCheckPolicyReconcileLoop. +type MockActiveHealthCheckPolicyReconcileLoopMockRecorder struct { + mock *MockActiveHealthCheckPolicyReconcileLoop +} + +// NewMockActiveHealthCheckPolicyReconcileLoop creates a new mock instance. +func NewMockActiveHealthCheckPolicyReconcileLoop(ctrl *gomock.Controller) *MockActiveHealthCheckPolicyReconcileLoop { + mock := &MockActiveHealthCheckPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockActiveHealthCheckPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockActiveHealthCheckPolicyReconcileLoop) EXPECT() *MockActiveHealthCheckPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunActiveHealthCheckPolicyReconciler mocks base method. +func (m *MockActiveHealthCheckPolicyReconcileLoop) RunActiveHealthCheckPolicyReconciler(ctx context.Context, rec controller.ActiveHealthCheckPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunActiveHealthCheckPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunActiveHealthCheckPolicyReconciler indicates an expected call of RunActiveHealthCheckPolicyReconciler. +func (mr *MockActiveHealthCheckPolicyReconcileLoopMockRecorder) RunActiveHealthCheckPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunActiveHealthCheckPolicyReconciler", reflect.TypeOf((*MockActiveHealthCheckPolicyReconcileLoop)(nil).RunActiveHealthCheckPolicyReconciler), varargs...) +} + +// MockListenerConnectionPolicyReconciler is a mock of ListenerConnectionPolicyReconciler interface. +type MockListenerConnectionPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockListenerConnectionPolicyReconcilerMockRecorder +} + +// MockListenerConnectionPolicyReconcilerMockRecorder is the mock recorder for MockListenerConnectionPolicyReconciler. +type MockListenerConnectionPolicyReconcilerMockRecorder struct { + mock *MockListenerConnectionPolicyReconciler +} + +// NewMockListenerConnectionPolicyReconciler creates a new mock instance. +func NewMockListenerConnectionPolicyReconciler(ctrl *gomock.Controller) *MockListenerConnectionPolicyReconciler { + mock := &MockListenerConnectionPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockListenerConnectionPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockListenerConnectionPolicyReconciler) EXPECT() *MockListenerConnectionPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyReconciler) ReconcileListenerConnectionPolicy(obj *v2.ListenerConnectionPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileListenerConnectionPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileListenerConnectionPolicy indicates an expected call of ReconcileListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyReconcilerMockRecorder) ReconcileListenerConnectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyReconciler)(nil).ReconcileListenerConnectionPolicy), obj) +} + +// MockListenerConnectionPolicyDeletionReconciler is a mock of ListenerConnectionPolicyDeletionReconciler interface. +type MockListenerConnectionPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockListenerConnectionPolicyDeletionReconcilerMockRecorder +} + +// MockListenerConnectionPolicyDeletionReconcilerMockRecorder is the mock recorder for MockListenerConnectionPolicyDeletionReconciler. +type MockListenerConnectionPolicyDeletionReconcilerMockRecorder struct { + mock *MockListenerConnectionPolicyDeletionReconciler +} + +// NewMockListenerConnectionPolicyDeletionReconciler creates a new mock instance. +func NewMockListenerConnectionPolicyDeletionReconciler(ctrl *gomock.Controller) *MockListenerConnectionPolicyDeletionReconciler { + mock := &MockListenerConnectionPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockListenerConnectionPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockListenerConnectionPolicyDeletionReconciler) EXPECT() *MockListenerConnectionPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileListenerConnectionPolicyDeletion mocks base method. +func (m *MockListenerConnectionPolicyDeletionReconciler) ReconcileListenerConnectionPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileListenerConnectionPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileListenerConnectionPolicyDeletion indicates an expected call of ReconcileListenerConnectionPolicyDeletion. +func (mr *MockListenerConnectionPolicyDeletionReconcilerMockRecorder) ReconcileListenerConnectionPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileListenerConnectionPolicyDeletion", reflect.TypeOf((*MockListenerConnectionPolicyDeletionReconciler)(nil).ReconcileListenerConnectionPolicyDeletion), req) +} + +// MockListenerConnectionPolicyFinalizer is a mock of ListenerConnectionPolicyFinalizer interface. +type MockListenerConnectionPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockListenerConnectionPolicyFinalizerMockRecorder +} + +// MockListenerConnectionPolicyFinalizerMockRecorder is the mock recorder for MockListenerConnectionPolicyFinalizer. +type MockListenerConnectionPolicyFinalizerMockRecorder struct { + mock *MockListenerConnectionPolicyFinalizer +} + +// NewMockListenerConnectionPolicyFinalizer creates a new mock instance. +func NewMockListenerConnectionPolicyFinalizer(ctrl *gomock.Controller) *MockListenerConnectionPolicyFinalizer { + mock := &MockListenerConnectionPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockListenerConnectionPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockListenerConnectionPolicyFinalizer) EXPECT() *MockListenerConnectionPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyFinalizer) FinalizeListenerConnectionPolicy(obj *v2.ListenerConnectionPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeListenerConnectionPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeListenerConnectionPolicy indicates an expected call of FinalizeListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyFinalizerMockRecorder) FinalizeListenerConnectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyFinalizer)(nil).FinalizeListenerConnectionPolicy), obj) +} + +// ListenerConnectionPolicyFinalizerName mocks base method. +func (m *MockListenerConnectionPolicyFinalizer) ListenerConnectionPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListenerConnectionPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ListenerConnectionPolicyFinalizerName indicates an expected call of ListenerConnectionPolicyFinalizerName. +func (mr *MockListenerConnectionPolicyFinalizerMockRecorder) ListenerConnectionPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListenerConnectionPolicyFinalizerName", reflect.TypeOf((*MockListenerConnectionPolicyFinalizer)(nil).ListenerConnectionPolicyFinalizerName)) +} + +// ReconcileListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyFinalizer) ReconcileListenerConnectionPolicy(obj *v2.ListenerConnectionPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileListenerConnectionPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileListenerConnectionPolicy indicates an expected call of ReconcileListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyFinalizerMockRecorder) ReconcileListenerConnectionPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyFinalizer)(nil).ReconcileListenerConnectionPolicy), obj) +} + +// MockListenerConnectionPolicyReconcileLoop is a mock of ListenerConnectionPolicyReconcileLoop interface. +type MockListenerConnectionPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockListenerConnectionPolicyReconcileLoopMockRecorder +} + +// MockListenerConnectionPolicyReconcileLoopMockRecorder is the mock recorder for MockListenerConnectionPolicyReconcileLoop. +type MockListenerConnectionPolicyReconcileLoopMockRecorder struct { + mock *MockListenerConnectionPolicyReconcileLoop +} + +// NewMockListenerConnectionPolicyReconcileLoop creates a new mock instance. +func NewMockListenerConnectionPolicyReconcileLoop(ctrl *gomock.Controller) *MockListenerConnectionPolicyReconcileLoop { + mock := &MockListenerConnectionPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockListenerConnectionPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockListenerConnectionPolicyReconcileLoop) EXPECT() *MockListenerConnectionPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunListenerConnectionPolicyReconciler mocks base method. +func (m *MockListenerConnectionPolicyReconcileLoop) RunListenerConnectionPolicyReconciler(ctx context.Context, rec controller.ListenerConnectionPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunListenerConnectionPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunListenerConnectionPolicyReconciler indicates an expected call of RunListenerConnectionPolicyReconciler. +func (mr *MockListenerConnectionPolicyReconcileLoopMockRecorder) RunListenerConnectionPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunListenerConnectionPolicyReconciler", reflect.TypeOf((*MockListenerConnectionPolicyReconcileLoop)(nil).RunListenerConnectionPolicyReconciler), varargs...) +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go b/client-go/resilience.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..1084942d7 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go @@ -0,0 +1,658 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + resilience_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the GraphQLPersistedQueryCachePolicy Resource across clusters. +// implemented by the user +type MulticlusterGraphQLPersistedQueryCachePolicyReconciler interface { + ReconcileGraphQLPersistedQueryCachePolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the GraphQLPersistedQueryCachePolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler interface { + ReconcileGraphQLPersistedQueryCachePolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterGraphQLPersistedQueryCachePolicyReconcilerFuncs struct { + OnReconcileGraphQLPersistedQueryCachePolicy func(clusterName string, obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) (reconcile.Result, error) + OnReconcileGraphQLPersistedQueryCachePolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterGraphQLPersistedQueryCachePolicyReconcilerFuncs) ReconcileGraphQLPersistedQueryCachePolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) (reconcile.Result, error) { + if f.OnReconcileGraphQLPersistedQueryCachePolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileGraphQLPersistedQueryCachePolicy(clusterName, obj) +} + +func (f *MulticlusterGraphQLPersistedQueryCachePolicyReconcilerFuncs) ReconcileGraphQLPersistedQueryCachePolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileGraphQLPersistedQueryCachePolicyDeletion == nil { + return nil + } + return f.OnReconcileGraphQLPersistedQueryCachePolicyDeletion(clusterName, req) +} + +type MulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop interface { + // AddMulticlusterGraphQLPersistedQueryCachePolicyReconciler adds a MulticlusterGraphQLPersistedQueryCachePolicyReconciler to the MulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop. + AddMulticlusterGraphQLPersistedQueryCachePolicyReconciler(ctx context.Context, rec MulticlusterGraphQLPersistedQueryCachePolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterGraphQLPersistedQueryCachePolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterGraphQLPersistedQueryCachePolicyReconcileLoop) AddMulticlusterGraphQLPersistedQueryCachePolicyReconciler(ctx context.Context, rec MulticlusterGraphQLPersistedQueryCachePolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericGraphQLPersistedQueryCachePolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterGraphQLPersistedQueryCachePolicyReconcileLoop { + return &multiclusterGraphQLPersistedQueryCachePolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy{}, options)} +} + +type genericGraphQLPersistedQueryCachePolicyMulticlusterReconciler struct { + reconciler MulticlusterGraphQLPersistedQueryCachePolicyReconciler +} + +func (g genericGraphQLPersistedQueryCachePolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterGraphQLPersistedQueryCachePolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileGraphQLPersistedQueryCachePolicyDeletion(cluster, req) + } + return nil +} + +func (g genericGraphQLPersistedQueryCachePolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: GraphQLPersistedQueryCachePolicy handler received event for %T", object) + } + return g.reconciler.ReconcileGraphQLPersistedQueryCachePolicy(cluster, obj) +} + +// Reconcile Upsert events for the FailoverPolicy Resource across clusters. +// implemented by the user +type MulticlusterFailoverPolicyReconciler interface { + ReconcileFailoverPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the FailoverPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterFailoverPolicyDeletionReconciler interface { + ReconcileFailoverPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterFailoverPolicyReconcilerFuncs struct { + OnReconcileFailoverPolicy func(clusterName string, obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) (reconcile.Result, error) + OnReconcileFailoverPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterFailoverPolicyReconcilerFuncs) ReconcileFailoverPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) (reconcile.Result, error) { + if f.OnReconcileFailoverPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileFailoverPolicy(clusterName, obj) +} + +func (f *MulticlusterFailoverPolicyReconcilerFuncs) ReconcileFailoverPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileFailoverPolicyDeletion == nil { + return nil + } + return f.OnReconcileFailoverPolicyDeletion(clusterName, req) +} + +type MulticlusterFailoverPolicyReconcileLoop interface { + // AddMulticlusterFailoverPolicyReconciler adds a MulticlusterFailoverPolicyReconciler to the MulticlusterFailoverPolicyReconcileLoop. + AddMulticlusterFailoverPolicyReconciler(ctx context.Context, rec MulticlusterFailoverPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterFailoverPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterFailoverPolicyReconcileLoop) AddMulticlusterFailoverPolicyReconciler(ctx context.Context, rec MulticlusterFailoverPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericFailoverPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterFailoverPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterFailoverPolicyReconcileLoop { + return &multiclusterFailoverPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &resilience_policy_gloo_solo_io_v2.FailoverPolicy{}, options)} +} + +type genericFailoverPolicyMulticlusterReconciler struct { + reconciler MulticlusterFailoverPolicyReconciler +} + +func (g genericFailoverPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterFailoverPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileFailoverPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericFailoverPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: FailoverPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileFailoverPolicy(cluster, obj) +} + +// Reconcile Upsert events for the OutlierDetectionPolicy Resource across clusters. +// implemented by the user +type MulticlusterOutlierDetectionPolicyReconciler interface { + ReconcileOutlierDetectionPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the OutlierDetectionPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterOutlierDetectionPolicyDeletionReconciler interface { + ReconcileOutlierDetectionPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterOutlierDetectionPolicyReconcilerFuncs struct { + OnReconcileOutlierDetectionPolicy func(clusterName string, obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) (reconcile.Result, error) + OnReconcileOutlierDetectionPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterOutlierDetectionPolicyReconcilerFuncs) ReconcileOutlierDetectionPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) (reconcile.Result, error) { + if f.OnReconcileOutlierDetectionPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileOutlierDetectionPolicy(clusterName, obj) +} + +func (f *MulticlusterOutlierDetectionPolicyReconcilerFuncs) ReconcileOutlierDetectionPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileOutlierDetectionPolicyDeletion == nil { + return nil + } + return f.OnReconcileOutlierDetectionPolicyDeletion(clusterName, req) +} + +type MulticlusterOutlierDetectionPolicyReconcileLoop interface { + // AddMulticlusterOutlierDetectionPolicyReconciler adds a MulticlusterOutlierDetectionPolicyReconciler to the MulticlusterOutlierDetectionPolicyReconcileLoop. + AddMulticlusterOutlierDetectionPolicyReconciler(ctx context.Context, rec MulticlusterOutlierDetectionPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterOutlierDetectionPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterOutlierDetectionPolicyReconcileLoop) AddMulticlusterOutlierDetectionPolicyReconciler(ctx context.Context, rec MulticlusterOutlierDetectionPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericOutlierDetectionPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterOutlierDetectionPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterOutlierDetectionPolicyReconcileLoop { + return &multiclusterOutlierDetectionPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy{}, options)} +} + +type genericOutlierDetectionPolicyMulticlusterReconciler struct { + reconciler MulticlusterOutlierDetectionPolicyReconciler +} + +func (g genericOutlierDetectionPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterOutlierDetectionPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileOutlierDetectionPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericOutlierDetectionPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: OutlierDetectionPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileOutlierDetectionPolicy(cluster, obj) +} + +// Reconcile Upsert events for the FaultInjectionPolicy Resource across clusters. +// implemented by the user +type MulticlusterFaultInjectionPolicyReconciler interface { + ReconcileFaultInjectionPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the FaultInjectionPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterFaultInjectionPolicyDeletionReconciler interface { + ReconcileFaultInjectionPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterFaultInjectionPolicyReconcilerFuncs struct { + OnReconcileFaultInjectionPolicy func(clusterName string, obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) (reconcile.Result, error) + OnReconcileFaultInjectionPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterFaultInjectionPolicyReconcilerFuncs) ReconcileFaultInjectionPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) (reconcile.Result, error) { + if f.OnReconcileFaultInjectionPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileFaultInjectionPolicy(clusterName, obj) +} + +func (f *MulticlusterFaultInjectionPolicyReconcilerFuncs) ReconcileFaultInjectionPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileFaultInjectionPolicyDeletion == nil { + return nil + } + return f.OnReconcileFaultInjectionPolicyDeletion(clusterName, req) +} + +type MulticlusterFaultInjectionPolicyReconcileLoop interface { + // AddMulticlusterFaultInjectionPolicyReconciler adds a MulticlusterFaultInjectionPolicyReconciler to the MulticlusterFaultInjectionPolicyReconcileLoop. + AddMulticlusterFaultInjectionPolicyReconciler(ctx context.Context, rec MulticlusterFaultInjectionPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterFaultInjectionPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterFaultInjectionPolicyReconcileLoop) AddMulticlusterFaultInjectionPolicyReconciler(ctx context.Context, rec MulticlusterFaultInjectionPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericFaultInjectionPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterFaultInjectionPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterFaultInjectionPolicyReconcileLoop { + return &multiclusterFaultInjectionPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy{}, options)} +} + +type genericFaultInjectionPolicyMulticlusterReconciler struct { + reconciler MulticlusterFaultInjectionPolicyReconciler +} + +func (g genericFaultInjectionPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterFaultInjectionPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileFaultInjectionPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericFaultInjectionPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: FaultInjectionPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileFaultInjectionPolicy(cluster, obj) +} + +// Reconcile Upsert events for the RetryTimeoutPolicy Resource across clusters. +// implemented by the user +type MulticlusterRetryTimeoutPolicyReconciler interface { + ReconcileRetryTimeoutPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the RetryTimeoutPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterRetryTimeoutPolicyDeletionReconciler interface { + ReconcileRetryTimeoutPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterRetryTimeoutPolicyReconcilerFuncs struct { + OnReconcileRetryTimeoutPolicy func(clusterName string, obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) (reconcile.Result, error) + OnReconcileRetryTimeoutPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterRetryTimeoutPolicyReconcilerFuncs) ReconcileRetryTimeoutPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) (reconcile.Result, error) { + if f.OnReconcileRetryTimeoutPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRetryTimeoutPolicy(clusterName, obj) +} + +func (f *MulticlusterRetryTimeoutPolicyReconcilerFuncs) ReconcileRetryTimeoutPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileRetryTimeoutPolicyDeletion == nil { + return nil + } + return f.OnReconcileRetryTimeoutPolicyDeletion(clusterName, req) +} + +type MulticlusterRetryTimeoutPolicyReconcileLoop interface { + // AddMulticlusterRetryTimeoutPolicyReconciler adds a MulticlusterRetryTimeoutPolicyReconciler to the MulticlusterRetryTimeoutPolicyReconcileLoop. + AddMulticlusterRetryTimeoutPolicyReconciler(ctx context.Context, rec MulticlusterRetryTimeoutPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterRetryTimeoutPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterRetryTimeoutPolicyReconcileLoop) AddMulticlusterRetryTimeoutPolicyReconciler(ctx context.Context, rec MulticlusterRetryTimeoutPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericRetryTimeoutPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterRetryTimeoutPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterRetryTimeoutPolicyReconcileLoop { + return &multiclusterRetryTimeoutPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy{}, options)} +} + +type genericRetryTimeoutPolicyMulticlusterReconciler struct { + reconciler MulticlusterRetryTimeoutPolicyReconciler +} + +func (g genericRetryTimeoutPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterRetryTimeoutPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileRetryTimeoutPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericRetryTimeoutPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RetryTimeoutPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileRetryTimeoutPolicy(cluster, obj) +} + +// Reconcile Upsert events for the ConnectionPolicy Resource across clusters. +// implemented by the user +type MulticlusterConnectionPolicyReconciler interface { + ReconcileConnectionPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the ConnectionPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterConnectionPolicyDeletionReconciler interface { + ReconcileConnectionPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterConnectionPolicyReconcilerFuncs struct { + OnReconcileConnectionPolicy func(clusterName string, obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) (reconcile.Result, error) + OnReconcileConnectionPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterConnectionPolicyReconcilerFuncs) ReconcileConnectionPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) (reconcile.Result, error) { + if f.OnReconcileConnectionPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileConnectionPolicy(clusterName, obj) +} + +func (f *MulticlusterConnectionPolicyReconcilerFuncs) ReconcileConnectionPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileConnectionPolicyDeletion == nil { + return nil + } + return f.OnReconcileConnectionPolicyDeletion(clusterName, req) +} + +type MulticlusterConnectionPolicyReconcileLoop interface { + // AddMulticlusterConnectionPolicyReconciler adds a MulticlusterConnectionPolicyReconciler to the MulticlusterConnectionPolicyReconcileLoop. + AddMulticlusterConnectionPolicyReconciler(ctx context.Context, rec MulticlusterConnectionPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterConnectionPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterConnectionPolicyReconcileLoop) AddMulticlusterConnectionPolicyReconciler(ctx context.Context, rec MulticlusterConnectionPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericConnectionPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterConnectionPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterConnectionPolicyReconcileLoop { + return &multiclusterConnectionPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &resilience_policy_gloo_solo_io_v2.ConnectionPolicy{}, options)} +} + +type genericConnectionPolicyMulticlusterReconciler struct { + reconciler MulticlusterConnectionPolicyReconciler +} + +func (g genericConnectionPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterConnectionPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileConnectionPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericConnectionPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ConnectionPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileConnectionPolicy(cluster, obj) +} + +// Reconcile Upsert events for the TrimProxyConfigPolicy Resource across clusters. +// implemented by the user +type MulticlusterTrimProxyConfigPolicyReconciler interface { + ReconcileTrimProxyConfigPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the TrimProxyConfigPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterTrimProxyConfigPolicyDeletionReconciler interface { + ReconcileTrimProxyConfigPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterTrimProxyConfigPolicyReconcilerFuncs struct { + OnReconcileTrimProxyConfigPolicy func(clusterName string, obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) (reconcile.Result, error) + OnReconcileTrimProxyConfigPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterTrimProxyConfigPolicyReconcilerFuncs) ReconcileTrimProxyConfigPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) (reconcile.Result, error) { + if f.OnReconcileTrimProxyConfigPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileTrimProxyConfigPolicy(clusterName, obj) +} + +func (f *MulticlusterTrimProxyConfigPolicyReconcilerFuncs) ReconcileTrimProxyConfigPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileTrimProxyConfigPolicyDeletion == nil { + return nil + } + return f.OnReconcileTrimProxyConfigPolicyDeletion(clusterName, req) +} + +type MulticlusterTrimProxyConfigPolicyReconcileLoop interface { + // AddMulticlusterTrimProxyConfigPolicyReconciler adds a MulticlusterTrimProxyConfigPolicyReconciler to the MulticlusterTrimProxyConfigPolicyReconcileLoop. + AddMulticlusterTrimProxyConfigPolicyReconciler(ctx context.Context, rec MulticlusterTrimProxyConfigPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterTrimProxyConfigPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterTrimProxyConfigPolicyReconcileLoop) AddMulticlusterTrimProxyConfigPolicyReconciler(ctx context.Context, rec MulticlusterTrimProxyConfigPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericTrimProxyConfigPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterTrimProxyConfigPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterTrimProxyConfigPolicyReconcileLoop { + return &multiclusterTrimProxyConfigPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy{}, options)} +} + +type genericTrimProxyConfigPolicyMulticlusterReconciler struct { + reconciler MulticlusterTrimProxyConfigPolicyReconciler +} + +func (g genericTrimProxyConfigPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterTrimProxyConfigPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileTrimProxyConfigPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericTrimProxyConfigPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: TrimProxyConfigPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileTrimProxyConfigPolicy(cluster, obj) +} + +// Reconcile Upsert events for the ActiveHealthCheckPolicy Resource across clusters. +// implemented by the user +type MulticlusterActiveHealthCheckPolicyReconciler interface { + ReconcileActiveHealthCheckPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the ActiveHealthCheckPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterActiveHealthCheckPolicyDeletionReconciler interface { + ReconcileActiveHealthCheckPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterActiveHealthCheckPolicyReconcilerFuncs struct { + OnReconcileActiveHealthCheckPolicy func(clusterName string, obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) (reconcile.Result, error) + OnReconcileActiveHealthCheckPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterActiveHealthCheckPolicyReconcilerFuncs) ReconcileActiveHealthCheckPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) (reconcile.Result, error) { + if f.OnReconcileActiveHealthCheckPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileActiveHealthCheckPolicy(clusterName, obj) +} + +func (f *MulticlusterActiveHealthCheckPolicyReconcilerFuncs) ReconcileActiveHealthCheckPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileActiveHealthCheckPolicyDeletion == nil { + return nil + } + return f.OnReconcileActiveHealthCheckPolicyDeletion(clusterName, req) +} + +type MulticlusterActiveHealthCheckPolicyReconcileLoop interface { + // AddMulticlusterActiveHealthCheckPolicyReconciler adds a MulticlusterActiveHealthCheckPolicyReconciler to the MulticlusterActiveHealthCheckPolicyReconcileLoop. + AddMulticlusterActiveHealthCheckPolicyReconciler(ctx context.Context, rec MulticlusterActiveHealthCheckPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterActiveHealthCheckPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterActiveHealthCheckPolicyReconcileLoop) AddMulticlusterActiveHealthCheckPolicyReconciler(ctx context.Context, rec MulticlusterActiveHealthCheckPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericActiveHealthCheckPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterActiveHealthCheckPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterActiveHealthCheckPolicyReconcileLoop { + return &multiclusterActiveHealthCheckPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy{}, options)} +} + +type genericActiveHealthCheckPolicyMulticlusterReconciler struct { + reconciler MulticlusterActiveHealthCheckPolicyReconciler +} + +func (g genericActiveHealthCheckPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterActiveHealthCheckPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileActiveHealthCheckPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericActiveHealthCheckPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ActiveHealthCheckPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileActiveHealthCheckPolicy(cluster, obj) +} + +// Reconcile Upsert events for the ListenerConnectionPolicy Resource across clusters. +// implemented by the user +type MulticlusterListenerConnectionPolicyReconciler interface { + ReconcileListenerConnectionPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the ListenerConnectionPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterListenerConnectionPolicyDeletionReconciler interface { + ReconcileListenerConnectionPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterListenerConnectionPolicyReconcilerFuncs struct { + OnReconcileListenerConnectionPolicy func(clusterName string, obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) (reconcile.Result, error) + OnReconcileListenerConnectionPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterListenerConnectionPolicyReconcilerFuncs) ReconcileListenerConnectionPolicy(clusterName string, obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) (reconcile.Result, error) { + if f.OnReconcileListenerConnectionPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileListenerConnectionPolicy(clusterName, obj) +} + +func (f *MulticlusterListenerConnectionPolicyReconcilerFuncs) ReconcileListenerConnectionPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileListenerConnectionPolicyDeletion == nil { + return nil + } + return f.OnReconcileListenerConnectionPolicyDeletion(clusterName, req) +} + +type MulticlusterListenerConnectionPolicyReconcileLoop interface { + // AddMulticlusterListenerConnectionPolicyReconciler adds a MulticlusterListenerConnectionPolicyReconciler to the MulticlusterListenerConnectionPolicyReconcileLoop. + AddMulticlusterListenerConnectionPolicyReconciler(ctx context.Context, rec MulticlusterListenerConnectionPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterListenerConnectionPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterListenerConnectionPolicyReconcileLoop) AddMulticlusterListenerConnectionPolicyReconciler(ctx context.Context, rec MulticlusterListenerConnectionPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericListenerConnectionPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterListenerConnectionPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterListenerConnectionPolicyReconcileLoop { + return &multiclusterListenerConnectionPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy{}, options)} +} + +type genericListenerConnectionPolicyMulticlusterReconciler struct { + reconciler MulticlusterListenerConnectionPolicyReconciler +} + +func (g genericListenerConnectionPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterListenerConnectionPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileListenerConnectionPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericListenerConnectionPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ListenerConnectionPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileListenerConnectionPolicy(cluster, obj) +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/controller/reconcilers.go b/client-go/resilience.policy.gloo.solo.io/v2/controller/reconcilers.go new file mode 100644 index 000000000..6f8d9707e --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/controller/reconcilers.go @@ -0,0 +1,1071 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + resilience_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the GraphQLPersistedQueryCachePolicy Resource. +// implemented by the user +type GraphQLPersistedQueryCachePolicyReconciler interface { + ReconcileGraphQLPersistedQueryCachePolicy(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the GraphQLPersistedQueryCachePolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type GraphQLPersistedQueryCachePolicyDeletionReconciler interface { + ReconcileGraphQLPersistedQueryCachePolicyDeletion(req reconcile.Request) error +} + +type GraphQLPersistedQueryCachePolicyReconcilerFuncs struct { + OnReconcileGraphQLPersistedQueryCachePolicy func(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) (reconcile.Result, error) + OnReconcileGraphQLPersistedQueryCachePolicyDeletion func(req reconcile.Request) error +} + +func (f *GraphQLPersistedQueryCachePolicyReconcilerFuncs) ReconcileGraphQLPersistedQueryCachePolicy(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) (reconcile.Result, error) { + if f.OnReconcileGraphQLPersistedQueryCachePolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileGraphQLPersistedQueryCachePolicy(obj) +} + +func (f *GraphQLPersistedQueryCachePolicyReconcilerFuncs) ReconcileGraphQLPersistedQueryCachePolicyDeletion(req reconcile.Request) error { + if f.OnReconcileGraphQLPersistedQueryCachePolicyDeletion == nil { + return nil + } + return f.OnReconcileGraphQLPersistedQueryCachePolicyDeletion(req) +} + +// Reconcile and finalize the GraphQLPersistedQueryCachePolicy Resource +// implemented by the user +type GraphQLPersistedQueryCachePolicyFinalizer interface { + GraphQLPersistedQueryCachePolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + GraphQLPersistedQueryCachePolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeGraphQLPersistedQueryCachePolicy(obj *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) error +} + +type GraphQLPersistedQueryCachePolicyReconcileLoop interface { + RunGraphQLPersistedQueryCachePolicyReconciler(ctx context.Context, rec GraphQLPersistedQueryCachePolicyReconciler, predicates ...predicate.Predicate) error +} + +type graphQLPersistedQueryCachePolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewGraphQLPersistedQueryCachePolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) GraphQLPersistedQueryCachePolicyReconcileLoop { + return &graphQLPersistedQueryCachePolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy{}, options), + } +} + +func (c *graphQLPersistedQueryCachePolicyReconcileLoop) RunGraphQLPersistedQueryCachePolicyReconciler(ctx context.Context, reconciler GraphQLPersistedQueryCachePolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericGraphQLPersistedQueryCachePolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(GraphQLPersistedQueryCachePolicyFinalizer); ok { + reconcilerWrapper = genericGraphQLPersistedQueryCachePolicyFinalizer{ + genericGraphQLPersistedQueryCachePolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericGraphQLPersistedQueryCachePolicyHandler implements a generic reconcile.Reconciler +type genericGraphQLPersistedQueryCachePolicyReconciler struct { + reconciler GraphQLPersistedQueryCachePolicyReconciler +} + +func (r genericGraphQLPersistedQueryCachePolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: GraphQLPersistedQueryCachePolicy handler received event for %T", object) + } + return r.reconciler.ReconcileGraphQLPersistedQueryCachePolicy(obj) +} + +func (r genericGraphQLPersistedQueryCachePolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(GraphQLPersistedQueryCachePolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileGraphQLPersistedQueryCachePolicyDeletion(request) + } + return nil +} + +// genericGraphQLPersistedQueryCachePolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericGraphQLPersistedQueryCachePolicyFinalizer struct { + genericGraphQLPersistedQueryCachePolicyReconciler + finalizingReconciler GraphQLPersistedQueryCachePolicyFinalizer +} + +func (r genericGraphQLPersistedQueryCachePolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.GraphQLPersistedQueryCachePolicyFinalizerName() +} + +func (r genericGraphQLPersistedQueryCachePolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) + if !ok { + return errors.Errorf("internal error: GraphQLPersistedQueryCachePolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeGraphQLPersistedQueryCachePolicy(obj) +} + +// Reconcile Upsert events for the FailoverPolicy Resource. +// implemented by the user +type FailoverPolicyReconciler interface { + ReconcileFailoverPolicy(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the FailoverPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type FailoverPolicyDeletionReconciler interface { + ReconcileFailoverPolicyDeletion(req reconcile.Request) error +} + +type FailoverPolicyReconcilerFuncs struct { + OnReconcileFailoverPolicy func(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) (reconcile.Result, error) + OnReconcileFailoverPolicyDeletion func(req reconcile.Request) error +} + +func (f *FailoverPolicyReconcilerFuncs) ReconcileFailoverPolicy(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) (reconcile.Result, error) { + if f.OnReconcileFailoverPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileFailoverPolicy(obj) +} + +func (f *FailoverPolicyReconcilerFuncs) ReconcileFailoverPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileFailoverPolicyDeletion == nil { + return nil + } + return f.OnReconcileFailoverPolicyDeletion(req) +} + +// Reconcile and finalize the FailoverPolicy Resource +// implemented by the user +type FailoverPolicyFinalizer interface { + FailoverPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + FailoverPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeFailoverPolicy(obj *resilience_policy_gloo_solo_io_v2.FailoverPolicy) error +} + +type FailoverPolicyReconcileLoop interface { + RunFailoverPolicyReconciler(ctx context.Context, rec FailoverPolicyReconciler, predicates ...predicate.Predicate) error +} + +type failoverPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewFailoverPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) FailoverPolicyReconcileLoop { + return &failoverPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &resilience_policy_gloo_solo_io_v2.FailoverPolicy{}, options), + } +} + +func (c *failoverPolicyReconcileLoop) RunFailoverPolicyReconciler(ctx context.Context, reconciler FailoverPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericFailoverPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(FailoverPolicyFinalizer); ok { + reconcilerWrapper = genericFailoverPolicyFinalizer{ + genericFailoverPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericFailoverPolicyHandler implements a generic reconcile.Reconciler +type genericFailoverPolicyReconciler struct { + reconciler FailoverPolicyReconciler +} + +func (r genericFailoverPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: FailoverPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileFailoverPolicy(obj) +} + +func (r genericFailoverPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(FailoverPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileFailoverPolicyDeletion(request) + } + return nil +} + +// genericFailoverPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericFailoverPolicyFinalizer struct { + genericFailoverPolicyReconciler + finalizingReconciler FailoverPolicyFinalizer +} + +func (r genericFailoverPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.FailoverPolicyFinalizerName() +} + +func (r genericFailoverPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) + if !ok { + return errors.Errorf("internal error: FailoverPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeFailoverPolicy(obj) +} + +// Reconcile Upsert events for the OutlierDetectionPolicy Resource. +// implemented by the user +type OutlierDetectionPolicyReconciler interface { + ReconcileOutlierDetectionPolicy(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the OutlierDetectionPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type OutlierDetectionPolicyDeletionReconciler interface { + ReconcileOutlierDetectionPolicyDeletion(req reconcile.Request) error +} + +type OutlierDetectionPolicyReconcilerFuncs struct { + OnReconcileOutlierDetectionPolicy func(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) (reconcile.Result, error) + OnReconcileOutlierDetectionPolicyDeletion func(req reconcile.Request) error +} + +func (f *OutlierDetectionPolicyReconcilerFuncs) ReconcileOutlierDetectionPolicy(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) (reconcile.Result, error) { + if f.OnReconcileOutlierDetectionPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileOutlierDetectionPolicy(obj) +} + +func (f *OutlierDetectionPolicyReconcilerFuncs) ReconcileOutlierDetectionPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileOutlierDetectionPolicyDeletion == nil { + return nil + } + return f.OnReconcileOutlierDetectionPolicyDeletion(req) +} + +// Reconcile and finalize the OutlierDetectionPolicy Resource +// implemented by the user +type OutlierDetectionPolicyFinalizer interface { + OutlierDetectionPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + OutlierDetectionPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeOutlierDetectionPolicy(obj *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) error +} + +type OutlierDetectionPolicyReconcileLoop interface { + RunOutlierDetectionPolicyReconciler(ctx context.Context, rec OutlierDetectionPolicyReconciler, predicates ...predicate.Predicate) error +} + +type outlierDetectionPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewOutlierDetectionPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) OutlierDetectionPolicyReconcileLoop { + return &outlierDetectionPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy{}, options), + } +} + +func (c *outlierDetectionPolicyReconcileLoop) RunOutlierDetectionPolicyReconciler(ctx context.Context, reconciler OutlierDetectionPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericOutlierDetectionPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(OutlierDetectionPolicyFinalizer); ok { + reconcilerWrapper = genericOutlierDetectionPolicyFinalizer{ + genericOutlierDetectionPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericOutlierDetectionPolicyHandler implements a generic reconcile.Reconciler +type genericOutlierDetectionPolicyReconciler struct { + reconciler OutlierDetectionPolicyReconciler +} + +func (r genericOutlierDetectionPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: OutlierDetectionPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileOutlierDetectionPolicy(obj) +} + +func (r genericOutlierDetectionPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(OutlierDetectionPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileOutlierDetectionPolicyDeletion(request) + } + return nil +} + +// genericOutlierDetectionPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericOutlierDetectionPolicyFinalizer struct { + genericOutlierDetectionPolicyReconciler + finalizingReconciler OutlierDetectionPolicyFinalizer +} + +func (r genericOutlierDetectionPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.OutlierDetectionPolicyFinalizerName() +} + +func (r genericOutlierDetectionPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) + if !ok { + return errors.Errorf("internal error: OutlierDetectionPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeOutlierDetectionPolicy(obj) +} + +// Reconcile Upsert events for the FaultInjectionPolicy Resource. +// implemented by the user +type FaultInjectionPolicyReconciler interface { + ReconcileFaultInjectionPolicy(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the FaultInjectionPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type FaultInjectionPolicyDeletionReconciler interface { + ReconcileFaultInjectionPolicyDeletion(req reconcile.Request) error +} + +type FaultInjectionPolicyReconcilerFuncs struct { + OnReconcileFaultInjectionPolicy func(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) (reconcile.Result, error) + OnReconcileFaultInjectionPolicyDeletion func(req reconcile.Request) error +} + +func (f *FaultInjectionPolicyReconcilerFuncs) ReconcileFaultInjectionPolicy(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) (reconcile.Result, error) { + if f.OnReconcileFaultInjectionPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileFaultInjectionPolicy(obj) +} + +func (f *FaultInjectionPolicyReconcilerFuncs) ReconcileFaultInjectionPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileFaultInjectionPolicyDeletion == nil { + return nil + } + return f.OnReconcileFaultInjectionPolicyDeletion(req) +} + +// Reconcile and finalize the FaultInjectionPolicy Resource +// implemented by the user +type FaultInjectionPolicyFinalizer interface { + FaultInjectionPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + FaultInjectionPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeFaultInjectionPolicy(obj *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) error +} + +type FaultInjectionPolicyReconcileLoop interface { + RunFaultInjectionPolicyReconciler(ctx context.Context, rec FaultInjectionPolicyReconciler, predicates ...predicate.Predicate) error +} + +type faultInjectionPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewFaultInjectionPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) FaultInjectionPolicyReconcileLoop { + return &faultInjectionPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy{}, options), + } +} + +func (c *faultInjectionPolicyReconcileLoop) RunFaultInjectionPolicyReconciler(ctx context.Context, reconciler FaultInjectionPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericFaultInjectionPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(FaultInjectionPolicyFinalizer); ok { + reconcilerWrapper = genericFaultInjectionPolicyFinalizer{ + genericFaultInjectionPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericFaultInjectionPolicyHandler implements a generic reconcile.Reconciler +type genericFaultInjectionPolicyReconciler struct { + reconciler FaultInjectionPolicyReconciler +} + +func (r genericFaultInjectionPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: FaultInjectionPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileFaultInjectionPolicy(obj) +} + +func (r genericFaultInjectionPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(FaultInjectionPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileFaultInjectionPolicyDeletion(request) + } + return nil +} + +// genericFaultInjectionPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericFaultInjectionPolicyFinalizer struct { + genericFaultInjectionPolicyReconciler + finalizingReconciler FaultInjectionPolicyFinalizer +} + +func (r genericFaultInjectionPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.FaultInjectionPolicyFinalizerName() +} + +func (r genericFaultInjectionPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) + if !ok { + return errors.Errorf("internal error: FaultInjectionPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeFaultInjectionPolicy(obj) +} + +// Reconcile Upsert events for the RetryTimeoutPolicy Resource. +// implemented by the user +type RetryTimeoutPolicyReconciler interface { + ReconcileRetryTimeoutPolicy(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the RetryTimeoutPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type RetryTimeoutPolicyDeletionReconciler interface { + ReconcileRetryTimeoutPolicyDeletion(req reconcile.Request) error +} + +type RetryTimeoutPolicyReconcilerFuncs struct { + OnReconcileRetryTimeoutPolicy func(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) (reconcile.Result, error) + OnReconcileRetryTimeoutPolicyDeletion func(req reconcile.Request) error +} + +func (f *RetryTimeoutPolicyReconcilerFuncs) ReconcileRetryTimeoutPolicy(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) (reconcile.Result, error) { + if f.OnReconcileRetryTimeoutPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRetryTimeoutPolicy(obj) +} + +func (f *RetryTimeoutPolicyReconcilerFuncs) ReconcileRetryTimeoutPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileRetryTimeoutPolicyDeletion == nil { + return nil + } + return f.OnReconcileRetryTimeoutPolicyDeletion(req) +} + +// Reconcile and finalize the RetryTimeoutPolicy Resource +// implemented by the user +type RetryTimeoutPolicyFinalizer interface { + RetryTimeoutPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + RetryTimeoutPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeRetryTimeoutPolicy(obj *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) error +} + +type RetryTimeoutPolicyReconcileLoop interface { + RunRetryTimeoutPolicyReconciler(ctx context.Context, rec RetryTimeoutPolicyReconciler, predicates ...predicate.Predicate) error +} + +type retryTimeoutPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewRetryTimeoutPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) RetryTimeoutPolicyReconcileLoop { + return &retryTimeoutPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy{}, options), + } +} + +func (c *retryTimeoutPolicyReconcileLoop) RunRetryTimeoutPolicyReconciler(ctx context.Context, reconciler RetryTimeoutPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericRetryTimeoutPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(RetryTimeoutPolicyFinalizer); ok { + reconcilerWrapper = genericRetryTimeoutPolicyFinalizer{ + genericRetryTimeoutPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericRetryTimeoutPolicyHandler implements a generic reconcile.Reconciler +type genericRetryTimeoutPolicyReconciler struct { + reconciler RetryTimeoutPolicyReconciler +} + +func (r genericRetryTimeoutPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RetryTimeoutPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileRetryTimeoutPolicy(obj) +} + +func (r genericRetryTimeoutPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(RetryTimeoutPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileRetryTimeoutPolicyDeletion(request) + } + return nil +} + +// genericRetryTimeoutPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericRetryTimeoutPolicyFinalizer struct { + genericRetryTimeoutPolicyReconciler + finalizingReconciler RetryTimeoutPolicyFinalizer +} + +func (r genericRetryTimeoutPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.RetryTimeoutPolicyFinalizerName() +} + +func (r genericRetryTimeoutPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) + if !ok { + return errors.Errorf("internal error: RetryTimeoutPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeRetryTimeoutPolicy(obj) +} + +// Reconcile Upsert events for the ConnectionPolicy Resource. +// implemented by the user +type ConnectionPolicyReconciler interface { + ReconcileConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the ConnectionPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ConnectionPolicyDeletionReconciler interface { + ReconcileConnectionPolicyDeletion(req reconcile.Request) error +} + +type ConnectionPolicyReconcilerFuncs struct { + OnReconcileConnectionPolicy func(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) (reconcile.Result, error) + OnReconcileConnectionPolicyDeletion func(req reconcile.Request) error +} + +func (f *ConnectionPolicyReconcilerFuncs) ReconcileConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) (reconcile.Result, error) { + if f.OnReconcileConnectionPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileConnectionPolicy(obj) +} + +func (f *ConnectionPolicyReconcilerFuncs) ReconcileConnectionPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileConnectionPolicyDeletion == nil { + return nil + } + return f.OnReconcileConnectionPolicyDeletion(req) +} + +// Reconcile and finalize the ConnectionPolicy Resource +// implemented by the user +type ConnectionPolicyFinalizer interface { + ConnectionPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ConnectionPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ConnectionPolicy) error +} + +type ConnectionPolicyReconcileLoop interface { + RunConnectionPolicyReconciler(ctx context.Context, rec ConnectionPolicyReconciler, predicates ...predicate.Predicate) error +} + +type connectionPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewConnectionPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ConnectionPolicyReconcileLoop { + return &connectionPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &resilience_policy_gloo_solo_io_v2.ConnectionPolicy{}, options), + } +} + +func (c *connectionPolicyReconcileLoop) RunConnectionPolicyReconciler(ctx context.Context, reconciler ConnectionPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericConnectionPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ConnectionPolicyFinalizer); ok { + reconcilerWrapper = genericConnectionPolicyFinalizer{ + genericConnectionPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericConnectionPolicyHandler implements a generic reconcile.Reconciler +type genericConnectionPolicyReconciler struct { + reconciler ConnectionPolicyReconciler +} + +func (r genericConnectionPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ConnectionPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileConnectionPolicy(obj) +} + +func (r genericConnectionPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ConnectionPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileConnectionPolicyDeletion(request) + } + return nil +} + +// genericConnectionPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericConnectionPolicyFinalizer struct { + genericConnectionPolicyReconciler + finalizingReconciler ConnectionPolicyFinalizer +} + +func (r genericConnectionPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.ConnectionPolicyFinalizerName() +} + +func (r genericConnectionPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) + if !ok { + return errors.Errorf("internal error: ConnectionPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeConnectionPolicy(obj) +} + +// Reconcile Upsert events for the TrimProxyConfigPolicy Resource. +// implemented by the user +type TrimProxyConfigPolicyReconciler interface { + ReconcileTrimProxyConfigPolicy(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the TrimProxyConfigPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type TrimProxyConfigPolicyDeletionReconciler interface { + ReconcileTrimProxyConfigPolicyDeletion(req reconcile.Request) error +} + +type TrimProxyConfigPolicyReconcilerFuncs struct { + OnReconcileTrimProxyConfigPolicy func(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) (reconcile.Result, error) + OnReconcileTrimProxyConfigPolicyDeletion func(req reconcile.Request) error +} + +func (f *TrimProxyConfigPolicyReconcilerFuncs) ReconcileTrimProxyConfigPolicy(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) (reconcile.Result, error) { + if f.OnReconcileTrimProxyConfigPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileTrimProxyConfigPolicy(obj) +} + +func (f *TrimProxyConfigPolicyReconcilerFuncs) ReconcileTrimProxyConfigPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileTrimProxyConfigPolicyDeletion == nil { + return nil + } + return f.OnReconcileTrimProxyConfigPolicyDeletion(req) +} + +// Reconcile and finalize the TrimProxyConfigPolicy Resource +// implemented by the user +type TrimProxyConfigPolicyFinalizer interface { + TrimProxyConfigPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + TrimProxyConfigPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeTrimProxyConfigPolicy(obj *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) error +} + +type TrimProxyConfigPolicyReconcileLoop interface { + RunTrimProxyConfigPolicyReconciler(ctx context.Context, rec TrimProxyConfigPolicyReconciler, predicates ...predicate.Predicate) error +} + +type trimProxyConfigPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewTrimProxyConfigPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) TrimProxyConfigPolicyReconcileLoop { + return &trimProxyConfigPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy{}, options), + } +} + +func (c *trimProxyConfigPolicyReconcileLoop) RunTrimProxyConfigPolicyReconciler(ctx context.Context, reconciler TrimProxyConfigPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericTrimProxyConfigPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(TrimProxyConfigPolicyFinalizer); ok { + reconcilerWrapper = genericTrimProxyConfigPolicyFinalizer{ + genericTrimProxyConfigPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericTrimProxyConfigPolicyHandler implements a generic reconcile.Reconciler +type genericTrimProxyConfigPolicyReconciler struct { + reconciler TrimProxyConfigPolicyReconciler +} + +func (r genericTrimProxyConfigPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: TrimProxyConfigPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileTrimProxyConfigPolicy(obj) +} + +func (r genericTrimProxyConfigPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(TrimProxyConfigPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileTrimProxyConfigPolicyDeletion(request) + } + return nil +} + +// genericTrimProxyConfigPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericTrimProxyConfigPolicyFinalizer struct { + genericTrimProxyConfigPolicyReconciler + finalizingReconciler TrimProxyConfigPolicyFinalizer +} + +func (r genericTrimProxyConfigPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.TrimProxyConfigPolicyFinalizerName() +} + +func (r genericTrimProxyConfigPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) + if !ok { + return errors.Errorf("internal error: TrimProxyConfigPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeTrimProxyConfigPolicy(obj) +} + +// Reconcile Upsert events for the ActiveHealthCheckPolicy Resource. +// implemented by the user +type ActiveHealthCheckPolicyReconciler interface { + ReconcileActiveHealthCheckPolicy(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the ActiveHealthCheckPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ActiveHealthCheckPolicyDeletionReconciler interface { + ReconcileActiveHealthCheckPolicyDeletion(req reconcile.Request) error +} + +type ActiveHealthCheckPolicyReconcilerFuncs struct { + OnReconcileActiveHealthCheckPolicy func(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) (reconcile.Result, error) + OnReconcileActiveHealthCheckPolicyDeletion func(req reconcile.Request) error +} + +func (f *ActiveHealthCheckPolicyReconcilerFuncs) ReconcileActiveHealthCheckPolicy(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) (reconcile.Result, error) { + if f.OnReconcileActiveHealthCheckPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileActiveHealthCheckPolicy(obj) +} + +func (f *ActiveHealthCheckPolicyReconcilerFuncs) ReconcileActiveHealthCheckPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileActiveHealthCheckPolicyDeletion == nil { + return nil + } + return f.OnReconcileActiveHealthCheckPolicyDeletion(req) +} + +// Reconcile and finalize the ActiveHealthCheckPolicy Resource +// implemented by the user +type ActiveHealthCheckPolicyFinalizer interface { + ActiveHealthCheckPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ActiveHealthCheckPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeActiveHealthCheckPolicy(obj *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) error +} + +type ActiveHealthCheckPolicyReconcileLoop interface { + RunActiveHealthCheckPolicyReconciler(ctx context.Context, rec ActiveHealthCheckPolicyReconciler, predicates ...predicate.Predicate) error +} + +type activeHealthCheckPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewActiveHealthCheckPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ActiveHealthCheckPolicyReconcileLoop { + return &activeHealthCheckPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy{}, options), + } +} + +func (c *activeHealthCheckPolicyReconcileLoop) RunActiveHealthCheckPolicyReconciler(ctx context.Context, reconciler ActiveHealthCheckPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericActiveHealthCheckPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ActiveHealthCheckPolicyFinalizer); ok { + reconcilerWrapper = genericActiveHealthCheckPolicyFinalizer{ + genericActiveHealthCheckPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericActiveHealthCheckPolicyHandler implements a generic reconcile.Reconciler +type genericActiveHealthCheckPolicyReconciler struct { + reconciler ActiveHealthCheckPolicyReconciler +} + +func (r genericActiveHealthCheckPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ActiveHealthCheckPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileActiveHealthCheckPolicy(obj) +} + +func (r genericActiveHealthCheckPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ActiveHealthCheckPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileActiveHealthCheckPolicyDeletion(request) + } + return nil +} + +// genericActiveHealthCheckPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericActiveHealthCheckPolicyFinalizer struct { + genericActiveHealthCheckPolicyReconciler + finalizingReconciler ActiveHealthCheckPolicyFinalizer +} + +func (r genericActiveHealthCheckPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.ActiveHealthCheckPolicyFinalizerName() +} + +func (r genericActiveHealthCheckPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) + if !ok { + return errors.Errorf("internal error: ActiveHealthCheckPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeActiveHealthCheckPolicy(obj) +} + +// Reconcile Upsert events for the ListenerConnectionPolicy Resource. +// implemented by the user +type ListenerConnectionPolicyReconciler interface { + ReconcileListenerConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the ListenerConnectionPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ListenerConnectionPolicyDeletionReconciler interface { + ReconcileListenerConnectionPolicyDeletion(req reconcile.Request) error +} + +type ListenerConnectionPolicyReconcilerFuncs struct { + OnReconcileListenerConnectionPolicy func(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) (reconcile.Result, error) + OnReconcileListenerConnectionPolicyDeletion func(req reconcile.Request) error +} + +func (f *ListenerConnectionPolicyReconcilerFuncs) ReconcileListenerConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) (reconcile.Result, error) { + if f.OnReconcileListenerConnectionPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileListenerConnectionPolicy(obj) +} + +func (f *ListenerConnectionPolicyReconcilerFuncs) ReconcileListenerConnectionPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileListenerConnectionPolicyDeletion == nil { + return nil + } + return f.OnReconcileListenerConnectionPolicyDeletion(req) +} + +// Reconcile and finalize the ListenerConnectionPolicy Resource +// implemented by the user +type ListenerConnectionPolicyFinalizer interface { + ListenerConnectionPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ListenerConnectionPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeListenerConnectionPolicy(obj *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) error +} + +type ListenerConnectionPolicyReconcileLoop interface { + RunListenerConnectionPolicyReconciler(ctx context.Context, rec ListenerConnectionPolicyReconciler, predicates ...predicate.Predicate) error +} + +type listenerConnectionPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewListenerConnectionPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ListenerConnectionPolicyReconcileLoop { + return &listenerConnectionPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy{}, options), + } +} + +func (c *listenerConnectionPolicyReconcileLoop) RunListenerConnectionPolicyReconciler(ctx context.Context, reconciler ListenerConnectionPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericListenerConnectionPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ListenerConnectionPolicyFinalizer); ok { + reconcilerWrapper = genericListenerConnectionPolicyFinalizer{ + genericListenerConnectionPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericListenerConnectionPolicyHandler implements a generic reconcile.Reconciler +type genericListenerConnectionPolicyReconciler struct { + reconciler ListenerConnectionPolicyReconciler +} + +func (r genericListenerConnectionPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ListenerConnectionPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileListenerConnectionPolicy(obj) +} + +func (r genericListenerConnectionPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ListenerConnectionPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileListenerConnectionPolicyDeletion(request) + } + return nil +} + +// genericListenerConnectionPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericListenerConnectionPolicyFinalizer struct { + genericListenerConnectionPolicyReconciler + finalizingReconciler ListenerConnectionPolicyFinalizer +} + +func (r genericListenerConnectionPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.ListenerConnectionPolicyFinalizerName() +} + +func (r genericListenerConnectionPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) + if !ok { + return errors.Errorf("internal error: ListenerConnectionPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeListenerConnectionPolicy(obj) +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/doc.go b/client-go/resilience.policy.gloo.solo.io/v2/doc.go new file mode 100644 index 000000000..07a605f48 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2 contains API Schema definitions for the resilience.policy.gloo.solo.io v2 API group +// +k8s:deepcopy-gen=package,register +// +groupName=resilience.policy.gloo.solo.io +package v2 diff --git a/client-go/resilience.policy.gloo.solo.io/v2/failover_policy.pb.clone.go b/client-go/resilience.policy.gloo.solo.io/v2/failover_policy.pb.clone.go new file mode 100644 index 000000000..f049d3532 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/failover_policy.pb.clone.go @@ -0,0 +1,210 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/failover_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *FailoverPolicySpec) Clone() proto.Message { + var target *FailoverPolicySpec + if m == nil { + return target + } + target = &FailoverPolicySpec{} + + if m.GetApplyToDestinations() != nil { + target.ApplyToDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector, len(m.GetApplyToDestinations())) + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.ApplyToDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*FailoverPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*FailoverPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *FailoverPolicyStatus) Clone() proto.Message { + var target *FailoverPolicyStatus + if m == nil { + return target + } + target = &FailoverPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedDestinationPorts = m.GetNumSelectedDestinationPorts() + + return target +} + +// Clone function +func (m *FailoverPolicyReport) Clone() proto.Message { + var target *FailoverPolicyReport + if m == nil { + return target + } + target = &FailoverPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedDestinationPorts() != nil { + target.SelectedDestinationPorts = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetSelectedDestinationPorts())) + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedDestinationPorts[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.SelectedDestinationPorts[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + return target +} + +// Clone function +func (m *FailoverPolicySpec_Config) Clone() proto.Message { + var target *FailoverPolicySpec_Config + if m == nil { + return target + } + target = &FailoverPolicySpec_Config{} + + if m.GetLocalityMappings() != nil { + target.LocalityMappings = make([]*FailoverPolicySpec_Config_LocalityMappings, len(m.GetLocalityMappings())) + for idx, v := range m.GetLocalityMappings() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.LocalityMappings[idx] = h.Clone().(*FailoverPolicySpec_Config_LocalityMappings) + } else { + target.LocalityMappings[idx] = proto.Clone(v).(*FailoverPolicySpec_Config_LocalityMappings) + } + + } + } + + return target +} + +// Clone function +func (m *FailoverPolicySpec_Config_LocalityMappings) Clone() proto.Message { + var target *FailoverPolicySpec_Config_LocalityMappings + if m == nil { + return target + } + target = &FailoverPolicySpec_Config_LocalityMappings{} + + if h, ok := interface{}(m.GetFrom()).(clone.Cloner); ok { + target.From = h.Clone().(*FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) + } else { + target.From = proto.Clone(m.GetFrom()).(*FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) + } + + if m.GetTo() != nil { + target.To = make([]*FailoverPolicySpec_Config_LocalityMappings_DestinationLocality, len(m.GetTo())) + for idx, v := range m.GetTo() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.To[idx] = h.Clone().(*FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) + } else { + target.To[idx] = proto.Clone(v).(*FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) + } + + } + } + + return target +} + +// Clone function +func (m *FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) Clone() proto.Message { + var target *FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality + if m == nil { + return target + } + target = &FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality{} + + target.Region = m.GetRegion() + + target.Zone = m.GetZone() + + target.SubZone = m.GetSubZone() + + return target +} + +// Clone function +func (m *FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) Clone() proto.Message { + var target *FailoverPolicySpec_Config_LocalityMappings_DestinationLocality + if m == nil { + return target + } + target = &FailoverPolicySpec_Config_LocalityMappings_DestinationLocality{} + + target.Region = m.GetRegion() + + target.Zone = m.GetZone() + + target.SubZone = m.GetSubZone() + + if h, ok := interface{}(m.GetWeight()).(clone.Cloner); ok { + target.Weight = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.Weight = proto.Clone(m.GetWeight()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + return target +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/failover_policy.pb.equal.go b/client-go/resilience.policy.gloo.solo.io/v2/failover_policy.pb.equal.go new file mode 100644 index 000000000..19d4ac443 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/failover_policy.pb.equal.go @@ -0,0 +1,347 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/failover_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *FailoverPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FailoverPolicySpec) + if !ok { + that2, ok := that.(FailoverPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToDestinations()) != len(target.GetApplyToDestinations()) { + return false + } + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToDestinations()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *FailoverPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FailoverPolicyStatus) + if !ok { + that2, ok := that.(FailoverPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedDestinationPorts() != target.GetNumSelectedDestinationPorts() { + return false + } + + return true +} + +// Equal function +func (m *FailoverPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FailoverPolicyReport) + if !ok { + that2, ok := that.(FailoverPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedDestinationPorts()) != len(target.GetSelectedDestinationPorts()) { + return false + } + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedDestinationPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedDestinationPorts()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *FailoverPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FailoverPolicySpec_Config) + if !ok { + that2, ok := that.(FailoverPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetLocalityMappings()) != len(target.GetLocalityMappings()) { + return false + } + for idx, v := range m.GetLocalityMappings() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetLocalityMappings()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetLocalityMappings()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *FailoverPolicySpec_Config_LocalityMappings) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FailoverPolicySpec_Config_LocalityMappings) + if !ok { + that2, ok := that.(FailoverPolicySpec_Config_LocalityMappings) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetFrom()).(equality.Equalizer); ok { + if !h.Equal(target.GetFrom()) { + return false + } + } else { + if !proto.Equal(m.GetFrom(), target.GetFrom()) { + return false + } + } + + if len(m.GetTo()) != len(target.GetTo()) { + return false + } + for idx, v := range m.GetTo() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetTo()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetTo()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) + if !ok { + that2, ok := that.(FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetRegion(), target.GetRegion()) != 0 { + return false + } + + if strings.Compare(m.GetZone(), target.GetZone()) != 0 { + return false + } + + if strings.Compare(m.GetSubZone(), target.GetSubZone()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) + if !ok { + that2, ok := that.(FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetRegion(), target.GetRegion()) != 0 { + return false + } + + if strings.Compare(m.GetZone(), target.GetZone()) != 0 { + return false + } + + if strings.Compare(m.GetSubZone(), target.GetSubZone()) != 0 { + return false + } + + if h, ok := interface{}(m.GetWeight()).(equality.Equalizer); ok { + if !h.Equal(target.GetWeight()) { + return false + } + } else { + if !proto.Equal(m.GetWeight(), target.GetWeight()) { + return false + } + } + + return true +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/failover_policy.pb.go b/client-go/resilience.policy.gloo.solo.io/v2/failover_policy.pb.go new file mode 100644 index 000000000..00d92abeb --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/failover_policy.pb.go @@ -0,0 +1,768 @@ +// {{% readfile file="/content/mesh/static/content/policies/ov_failover" %}} +// If a backing service in a virtual destination is unhealthy, Gloo Mesh re-routes +// traffic to another healthy backing service by locality, as specified +// in the FailoverPolicy config. +// FailoverPolicies are applied at the *Destination* level. +// +// Note that you can use failover policies in combination with other policies, +// such as [outlier detection]({{< versioned_link_path fromRoot="/policies/outlier-detection/">}}) +// or [retry]({{< versioned_link_path fromRoot="/policies/retry-timeout/">}}) policies. +// In case of a failure, the failover policy tells Gloo Mesh which healthy destinations +// to reroute traffic to, based on the closest locality. The outlier detection policy +// tells Gloo Mesh when and for how long to remove unhealthy services. +// The retry policy tells Gloo Mesh how many times to retry requests +// before the outlier detection policy considers the request as failing +// and removes the service from the pool of healthy destinations. +// +// **Example**: This example selects all virtual destinations in the workspace, +// and fails over traffic from any destinations served in the `us-east` region +// to any matching destinations only in the `us-west` region. +// ```yaml +// {{% readfile file="/content/mesh/static/content/examples/generated/int/virtual_dest_locality_based_failover/cluster-1/failover-policy_bookinfo_locality-based-failover.yaml" %}} +// ``` + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/failover_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Specifications for the policy. +type FailoverPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the virtual destinations to apply the policy to by using labels. + // If empty, the policy applies to all vitrual destinations in the workspace. + // {{% notice note %}} + // Failover policies can currently select Gloo virtual destinations only. + // Selecting Kubernetes services or Gloo external services is not supported. + // {{% /notice %}} + ApplyToDestinations []*v2.DestinationSelector `protobuf:"bytes,1,rep,name=apply_to_destinations,json=applyToDestinations,proto3" json:"apply_to_destinations,omitempty"` + // The details of the failover policy to apply to the selected virtual destinations. + Config *FailoverPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *FailoverPolicySpec) Reset() { + *x = FailoverPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FailoverPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FailoverPolicySpec) ProtoMessage() {} + +func (x *FailoverPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FailoverPolicySpec.ProtoReflect.Descriptor instead. +func (*FailoverPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *FailoverPolicySpec) GetApplyToDestinations() []*v2.DestinationSelector { + if x != nil { + return x.ApplyToDestinations + } + return nil +} + +func (x *FailoverPolicySpec) GetConfig() *FailoverPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type FailoverPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of destination ports selected by the policy. + NumSelectedDestinationPorts uint32 `protobuf:"varint,2,opt,name=num_selected_destination_ports,json=numSelectedDestinationPorts,proto3" json:"num_selected_destination_ports,omitempty"` +} + +func (x *FailoverPolicyStatus) Reset() { + *x = FailoverPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FailoverPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FailoverPolicyStatus) ProtoMessage() {} + +func (x *FailoverPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FailoverPolicyStatus.ProtoReflect.Descriptor instead. +func (*FailoverPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *FailoverPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *FailoverPolicyStatus) GetNumSelectedDestinationPorts() uint32 { + if x != nil { + return x.NumSelectedDestinationPorts + } + return 0 +} + +// The report shows the resources that the policy selects after the policy is successfully applied. +type FailoverPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workloads selected by the policy. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of destination ports selected by the policy. + SelectedDestinationPorts []*v2.DestinationReference `protobuf:"bytes,2,rep,name=selected_destination_ports,json=selectedDestinationPorts,proto3" json:"selected_destination_ports,omitempty"` +} + +func (x *FailoverPolicyReport) Reset() { + *x = FailoverPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FailoverPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FailoverPolicyReport) ProtoMessage() {} + +func (x *FailoverPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FailoverPolicyReport.ProtoReflect.Descriptor instead. +func (*FailoverPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *FailoverPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *FailoverPolicyReport) GetSelectedDestinationPorts() []*v2.DestinationReference { + if x != nil { + return x.SelectedDestinationPorts + } + return nil +} + +type FailoverPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Map the localities to fail over traffic from one region, zone, + // or subzone to another in case of failure. The locality is determined + // by the Kubernetes labels on the node where the destination's app runs. + // For more information, see the [Istio docs](https://istio.io/latest/docs/tasks/traffic-management/locality-load-balancing/). + // + // You can exclude this setting to enable the locality load balancer + // settings without mappings. + LocalityMappings []*FailoverPolicySpec_Config_LocalityMappings `protobuf:"bytes,2,rep,name=locality_mappings,json=localityMappings,proto3" json:"locality_mappings,omitempty"` +} + +func (x *FailoverPolicySpec_Config) Reset() { + *x = FailoverPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FailoverPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FailoverPolicySpec_Config) ProtoMessage() {} + +func (x *FailoverPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FailoverPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*FailoverPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *FailoverPolicySpec_Config) GetLocalityMappings() []*FailoverPolicySpec_Config_LocalityMappings { + if x != nil { + return x.LocalityMappings + } + return nil +} + +type FailoverPolicySpec_Config_LocalityMappings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The locality of the destination where Gloo Mesh originally + // tried to fulfill the request. + From *FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` + // The localities of the destination where Gloo Mesh can reroute requests. + // You must specify the region, and optionally the zone and subzone. + // If you have multiple `to` destinations, you can optionally set a weight. + To []*FailoverPolicySpec_Config_LocalityMappings_DestinationLocality `protobuf:"bytes,2,rep,name=to,proto3" json:"to,omitempty"` +} + +func (x *FailoverPolicySpec_Config_LocalityMappings) Reset() { + *x = FailoverPolicySpec_Config_LocalityMappings{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FailoverPolicySpec_Config_LocalityMappings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FailoverPolicySpec_Config_LocalityMappings) ProtoMessage() {} + +func (x *FailoverPolicySpec_Config_LocalityMappings) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FailoverPolicySpec_Config_LocalityMappings.ProtoReflect.Descriptor instead. +func (*FailoverPolicySpec_Config_LocalityMappings) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *FailoverPolicySpec_Config_LocalityMappings) GetFrom() *FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality { + if x != nil { + return x.From + } + return nil +} + +func (x *FailoverPolicySpec_Config_LocalityMappings) GetTo() []*FailoverPolicySpec_Config_LocalityMappings_DestinationLocality { + if x != nil { + return x.To + } + return nil +} + +// A geographic location defined by a region, zone, and sub-zone. +type FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The locality's region. + Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` + // (Optional) The locality's zone. + Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` + // (Optional) The locality's sub-zone. + SubZone string `protobuf:"bytes,3,opt,name=sub_zone,json=subZone,proto3" json:"sub_zone,omitempty"` +} + +func (x *FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) Reset() { + *x = FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) ProtoMessage() {} + +func (x *FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality.ProtoReflect.Descriptor instead. +func (*FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescGZIP(), []int{0, 0, 0, 0} +} + +func (x *FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) GetZone() string { + if x != nil { + return x.Zone + } + return "" +} + +func (x *FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) GetSubZone() string { + if x != nil { + return x.SubZone + } + return "" +} + +// A geographic location defined by a region, zone, and sub-zone +// along with the weight for the destination. +type FailoverPolicySpec_Config_LocalityMappings_DestinationLocality struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The locality's region. + Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` + // (Optional) The locality's zone. + Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` + // (Optional) The locality's sub-zone. + SubZone string `protobuf:"bytes,3,opt,name=sub_zone,json=subZone,proto3" json:"sub_zone,omitempty"` + // (Optional) Weight for destination locality. All weights must add up to 100. + // If not provided, weight is determined based on other destination locality weights. + // For information about the value format, see the + // [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int32-value). + Weight *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=weight,proto3" json:"weight,omitempty"` +} + +func (x *FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) Reset() { + *x = FailoverPolicySpec_Config_LocalityMappings_DestinationLocality{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) ProtoMessage() {} + +func (x *FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FailoverPolicySpec_Config_LocalityMappings_DestinationLocality.ProtoReflect.Descriptor instead. +func (*FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescGZIP(), []int{0, 0, 0, 1} +} + +func (x *FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) GetZone() string { + if x != nil { + return x.Zone + } + return "" +} + +func (x *FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) GetSubZone() string { + if x != nil { + return x.SubZone + } + return "" +} + +func (x *FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) GetWeight() *wrappers.UInt32Value { + if x != nil { + return x.Weight + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDesc = []byte{ + 0x0a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2f, + 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, + 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x06, 0x0a, 0x12, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5c, 0x0a, 0x15, 0x61, 0x70, + 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x51, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, + 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, + 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xed, 0x04, 0x0a, 0x06, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x77, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x4a, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x10, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x1a, + 0xe9, 0x03, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x72, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x4f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x6e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, + 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, + 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x52, 0x02, 0x74, 0x6f, 0x1a, 0x5c, 0x0a, 0x13, 0x4f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, + 0x75, 0x62, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x75, 0x62, 0x5a, 0x6f, 0x6e, 0x65, 0x1a, 0x92, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, + 0x62, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, + 0x62, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x14, + 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1e, 0x6e, 0x75, 0x6d, + 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x1b, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x22, 0xc1, + 0x02, 0x0a, 0x14, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x64, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x72, 0x65, + 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x46, 0x61, 0x69, + 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x67, 0x0a, + 0x1a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x18, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x5f, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, + 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_goTypes = []interface{}{ + (*FailoverPolicySpec)(nil), // 0: resilience.policy.gloo.solo.io.FailoverPolicySpec + (*FailoverPolicyStatus)(nil), // 1: resilience.policy.gloo.solo.io.FailoverPolicyStatus + (*FailoverPolicyReport)(nil), // 2: resilience.policy.gloo.solo.io.FailoverPolicyReport + (*FailoverPolicySpec_Config)(nil), // 3: resilience.policy.gloo.solo.io.FailoverPolicySpec.Config + (*FailoverPolicySpec_Config_LocalityMappings)(nil), // 4: resilience.policy.gloo.solo.io.FailoverPolicySpec.Config.LocalityMappings + (*FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality)(nil), // 5: resilience.policy.gloo.solo.io.FailoverPolicySpec.Config.LocalityMappings.OriginatingLocality + (*FailoverPolicySpec_Config_LocalityMappings_DestinationLocality)(nil), // 6: resilience.policy.gloo.solo.io.FailoverPolicySpec.Config.LocalityMappings.DestinationLocality + nil, // 7: resilience.policy.gloo.solo.io.FailoverPolicyReport.WorkspacesEntry + (*v2.DestinationSelector)(nil), // 8: common.gloo.solo.io.DestinationSelector + (*v2.Status)(nil), // 9: common.gloo.solo.io.Status + (*v2.DestinationReference)(nil), // 10: common.gloo.solo.io.DestinationReference + (*wrappers.UInt32Value)(nil), // 11: google.protobuf.UInt32Value + (*v2.Report)(nil), // 12: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_depIdxs = []int32{ + 8, // 0: resilience.policy.gloo.solo.io.FailoverPolicySpec.apply_to_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 3, // 1: resilience.policy.gloo.solo.io.FailoverPolicySpec.config:type_name -> resilience.policy.gloo.solo.io.FailoverPolicySpec.Config + 9, // 2: resilience.policy.gloo.solo.io.FailoverPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 7, // 3: resilience.policy.gloo.solo.io.FailoverPolicyReport.workspaces:type_name -> resilience.policy.gloo.solo.io.FailoverPolicyReport.WorkspacesEntry + 10, // 4: resilience.policy.gloo.solo.io.FailoverPolicyReport.selected_destination_ports:type_name -> common.gloo.solo.io.DestinationReference + 4, // 5: resilience.policy.gloo.solo.io.FailoverPolicySpec.Config.locality_mappings:type_name -> resilience.policy.gloo.solo.io.FailoverPolicySpec.Config.LocalityMappings + 5, // 6: resilience.policy.gloo.solo.io.FailoverPolicySpec.Config.LocalityMappings.from:type_name -> resilience.policy.gloo.solo.io.FailoverPolicySpec.Config.LocalityMappings.OriginatingLocality + 6, // 7: resilience.policy.gloo.solo.io.FailoverPolicySpec.Config.LocalityMappings.to:type_name -> resilience.policy.gloo.solo.io.FailoverPolicySpec.Config.LocalityMappings.DestinationLocality + 11, // 8: resilience.policy.gloo.solo.io.FailoverPolicySpec.Config.LocalityMappings.DestinationLocality.weight:type_name -> google.protobuf.UInt32Value + 12, // 9: resilience.policy.gloo.solo.io.FailoverPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FailoverPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FailoverPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FailoverPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FailoverPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FailoverPolicySpec_Config_LocalityMappings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FailoverPolicySpec_Config_LocalityMappings_DestinationLocality); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_failover_policy_proto_depIdxs = nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/failover_policy.pb.hash.go b/client-go/resilience.policy.gloo.solo.io/v2/failover_policy.pb.hash.go new file mode 100644 index 000000000..ce6076b6d --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/failover_policy.pb.hash.go @@ -0,0 +1,382 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/failover_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *FailoverPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FailoverPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *FailoverPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FailoverPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedDestinationPorts()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *FailoverPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FailoverPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *FailoverPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FailoverPolicySpec_Config")); err != nil { + return 0, err + } + + for _, v := range m.GetLocalityMappings() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *FailoverPolicySpec_Config_LocalityMappings) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FailoverPolicySpec_Config_LocalityMappings")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetFrom()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("From")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetFrom(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("From")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetTo() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FailoverPolicySpec_Config_LocalityMappings_OriginatingLocality")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRegion())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetZone())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSubZone())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *FailoverPolicySpec_Config_LocalityMappings_DestinationLocality) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FailoverPolicySpec_Config_LocalityMappings_DestinationLocality")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetRegion())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetZone())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetSubZone())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetWeight()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Weight")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetWeight(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Weight")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/fault_injection_policy.pb.clone.go b/client-go/resilience.policy.gloo.solo.io/v2/fault_injection_policy.pb.clone.go new file mode 100644 index 000000000..1796bd9e4 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/fault_injection_policy.pb.clone.go @@ -0,0 +1,183 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/fault_injection_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *FaultInjectionPolicySpec) Clone() proto.Message { + var target *FaultInjectionPolicySpec + if m == nil { + return target + } + target = &FaultInjectionPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*FaultInjectionPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*FaultInjectionPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *FaultInjectionPolicyStatus) Clone() proto.Message { + var target *FaultInjectionPolicyStatus + if m == nil { + return target + } + target = &FaultInjectionPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *FaultInjectionPolicyReport) Clone() proto.Message { + var target *FaultInjectionPolicyReport + if m == nil { + return target + } + target = &FaultInjectionPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *FaultInjectionPolicySpec_Config) Clone() proto.Message { + var target *FaultInjectionPolicySpec_Config + if m == nil { + return target + } + target = &FaultInjectionPolicySpec_Config{} + + if h, ok := interface{}(m.GetDelay()).(clone.Cloner); ok { + target.Delay = h.Clone().(*FaultInjectionPolicySpec_Config_Delay) + } else { + target.Delay = proto.Clone(m.GetDelay()).(*FaultInjectionPolicySpec_Config_Delay) + } + + if h, ok := interface{}(m.GetAbort()).(clone.Cloner); ok { + target.Abort = h.Clone().(*FaultInjectionPolicySpec_Config_Abort) + } else { + target.Abort = proto.Clone(m.GetAbort()).(*FaultInjectionPolicySpec_Config_Abort) + } + + return target +} + +// Clone function +func (m *FaultInjectionPolicySpec_Config_Abort) Clone() proto.Message { + var target *FaultInjectionPolicySpec_Config_Abort + if m == nil { + return target + } + target = &FaultInjectionPolicySpec_Config_Abort{} + + target.HttpStatus = m.GetHttpStatus() + + if h, ok := interface{}(m.GetPercentage()).(clone.Cloner); ok { + target.Percentage = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.DoubleValue) + } else { + target.Percentage = proto.Clone(m.GetPercentage()).(*github_com_golang_protobuf_ptypes_wrappers.DoubleValue) + } + + return target +} + +// Clone function +func (m *FaultInjectionPolicySpec_Config_Delay) Clone() proto.Message { + var target *FaultInjectionPolicySpec_Config_Delay + if m == nil { + return target + } + target = &FaultInjectionPolicySpec_Config_Delay{} + + if h, ok := interface{}(m.GetFixedDelay()).(clone.Cloner); ok { + target.FixedDelay = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.FixedDelay = proto.Clone(m.GetFixedDelay()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if h, ok := interface{}(m.GetPercentage()).(clone.Cloner); ok { + target.Percentage = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.DoubleValue) + } else { + target.Percentage = proto.Clone(m.GetPercentage()).(*github_com_golang_protobuf_ptypes_wrappers.DoubleValue) + } + + return target +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/fault_injection_policy.pb.equal.go b/client-go/resilience.policy.gloo.solo.io/v2/fault_injection_policy.pb.equal.go new file mode 100644 index 000000000..89d8f0569 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/fault_injection_policy.pb.equal.go @@ -0,0 +1,299 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/fault_injection_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *FaultInjectionPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FaultInjectionPolicySpec) + if !ok { + that2, ok := that.(FaultInjectionPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *FaultInjectionPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FaultInjectionPolicyStatus) + if !ok { + that2, ok := that.(FaultInjectionPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *FaultInjectionPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FaultInjectionPolicyReport) + if !ok { + that2, ok := that.(FaultInjectionPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *FaultInjectionPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FaultInjectionPolicySpec_Config) + if !ok { + that2, ok := that.(FaultInjectionPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetDelay()).(equality.Equalizer); ok { + if !h.Equal(target.GetDelay()) { + return false + } + } else { + if !proto.Equal(m.GetDelay(), target.GetDelay()) { + return false + } + } + + if h, ok := interface{}(m.GetAbort()).(equality.Equalizer); ok { + if !h.Equal(target.GetAbort()) { + return false + } + } else { + if !proto.Equal(m.GetAbort(), target.GetAbort()) { + return false + } + } + + return true +} + +// Equal function +func (m *FaultInjectionPolicySpec_Config_Abort) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FaultInjectionPolicySpec_Config_Abort) + if !ok { + that2, ok := that.(FaultInjectionPolicySpec_Config_Abort) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetHttpStatus() != target.GetHttpStatus() { + return false + } + + if h, ok := interface{}(m.GetPercentage()).(equality.Equalizer); ok { + if !h.Equal(target.GetPercentage()) { + return false + } + } else { + if !proto.Equal(m.GetPercentage(), target.GetPercentage()) { + return false + } + } + + return true +} + +// Equal function +func (m *FaultInjectionPolicySpec_Config_Delay) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*FaultInjectionPolicySpec_Config_Delay) + if !ok { + that2, ok := that.(FaultInjectionPolicySpec_Config_Delay) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetFixedDelay()).(equality.Equalizer); ok { + if !h.Equal(target.GetFixedDelay()) { + return false + } + } else { + if !proto.Equal(m.GetFixedDelay(), target.GetFixedDelay()) { + return false + } + } + + if h, ok := interface{}(m.GetPercentage()).(equality.Equalizer); ok { + if !h.Equal(target.GetPercentage()) { + return false + } + } else { + if !proto.Equal(m.GetPercentage(), target.GetPercentage()) { + return false + } + } + + return true +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/fault_injection_policy.pb.go b/client-go/resilience.policy.gloo.solo.io/v2/fault_injection_policy.pb.go new file mode 100644 index 000000000..5f4e12af9 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/fault_injection_policy.pb.go @@ -0,0 +1,638 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/fault_injection_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// FaultInjectionPolicy is used to inject faults (latency and errors) into requests sent through the mesh. +// Fault specification is part of a VirtualService rule. Faults include +// aborting the Http request from downstream service, and/or delaying +// proxying of requests. A fault rule MUST HAVE delay or abort or both. +// FaultInjectionPolicies are applied at the *Route* level. +type FaultInjectionPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Routes to apply the policy to. + // If empty, the policy applies to all routes in the workspace. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // The details of the fault injection policy to apply to the selected routes. + Config *FaultInjectionPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *FaultInjectionPolicySpec) Reset() { + *x = FaultInjectionPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FaultInjectionPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FaultInjectionPolicySpec) ProtoMessage() {} + +func (x *FaultInjectionPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FaultInjectionPolicySpec.ProtoReflect.Descriptor instead. +func (*FaultInjectionPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *FaultInjectionPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *FaultInjectionPolicySpec) GetConfig() *FaultInjectionPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type FaultInjectionPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common status of the object + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of routes selected by the policy. + NumSelectedRoutes uint32 `protobuf:"varint,2,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *FaultInjectionPolicyStatus) Reset() { + *x = FaultInjectionPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FaultInjectionPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FaultInjectionPolicyStatus) ProtoMessage() {} + +func (x *FaultInjectionPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FaultInjectionPolicyStatus.ProtoReflect.Descriptor instead. +func (*FaultInjectionPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *FaultInjectionPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *FaultInjectionPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type FaultInjectionPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state of the resource in each workspace that receives its configuration. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of references to all routes selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *FaultInjectionPolicyReport) Reset() { + *x = FaultInjectionPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FaultInjectionPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FaultInjectionPolicyReport) ProtoMessage() {} + +func (x *FaultInjectionPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FaultInjectionPolicyReport.ProtoReflect.Descriptor instead. +func (*FaultInjectionPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *FaultInjectionPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *FaultInjectionPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +// *Note:* Delay and abort faults are independent of one another, even if +// both are specified simultaneously. +type FaultInjectionPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Indicate the amount of delay in seconds. + // The optional _percentage_ field can be used to only delay a certain + // percentage of requests. If left unspecified, all request will be delayed. + Delay *FaultInjectionPolicySpec_Config_Delay `protobuf:"bytes,1,opt,name=delay,proto3" json:"delay,omitempty"` + // Abort the request and return the specified error code back to traffic source. + Abort *FaultInjectionPolicySpec_Config_Abort `protobuf:"bytes,2,opt,name=abort,proto3" json:"abort,omitempty"` +} + +func (x *FaultInjectionPolicySpec_Config) Reset() { + *x = FaultInjectionPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FaultInjectionPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FaultInjectionPolicySpec_Config) ProtoMessage() {} + +func (x *FaultInjectionPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FaultInjectionPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*FaultInjectionPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *FaultInjectionPolicySpec_Config) GetDelay() *FaultInjectionPolicySpec_Config_Delay { + if x != nil { + return x.Delay + } + return nil +} + +func (x *FaultInjectionPolicySpec_Config) GetAbort() *FaultInjectionPolicySpec_Config_Abort { + if x != nil { + return x.Abort + } + return nil +} + +// Abort Http request attempts and return error codes back to downstream +// service, giving the impression that the upstream service is faulty. +type FaultInjectionPolicySpec_Config_Abort struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: HTTP status code to use to abort the request. + HttpStatus int32 `protobuf:"varint,1,opt,name=http_status,json=httpStatus,proto3" json:"http_status,omitempty"` + // Percentage of requests to be aborted. Values range between 0 and 100. If omitted all requests will be aborted. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/double-value). + Percentage *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=percentage,proto3" json:"percentage,omitempty"` +} + +func (x *FaultInjectionPolicySpec_Config_Abort) Reset() { + *x = FaultInjectionPolicySpec_Config_Abort{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FaultInjectionPolicySpec_Config_Abort) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FaultInjectionPolicySpec_Config_Abort) ProtoMessage() {} + +func (x *FaultInjectionPolicySpec_Config_Abort) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FaultInjectionPolicySpec_Config_Abort.ProtoReflect.Descriptor instead. +func (*FaultInjectionPolicySpec_Config_Abort) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *FaultInjectionPolicySpec_Config_Abort) GetHttpStatus() int32 { + if x != nil { + return x.HttpStatus + } + return 0 +} + +func (x *FaultInjectionPolicySpec_Config_Abort) GetPercentage() *wrappers.DoubleValue { + if x != nil { + return x.Percentage + } + return nil +} + +// Delay requests before forwarding, emulating various failures such as +// network issues, overloaded upstream service, etc. +type FaultInjectionPolicySpec_Config_Delay struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: Add a delay of a fixed duration before sending the request. Format: `1h`/`1m`/`1s`/`1ms`. MUST be >=1ms. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + FixedDelay *duration.Duration `protobuf:"bytes,1,opt,name=fixed_delay,json=fixedDelay,proto3" json:"fixed_delay,omitempty"` + // Percentage of requests on which the delay will be injected. Values range between 0 and 100. If omitted all requests will be delayed. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/double-value). + Percentage *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=percentage,proto3" json:"percentage,omitempty"` +} + +func (x *FaultInjectionPolicySpec_Config_Delay) Reset() { + *x = FaultInjectionPolicySpec_Config_Delay{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FaultInjectionPolicySpec_Config_Delay) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FaultInjectionPolicySpec_Config_Delay) ProtoMessage() {} + +func (x *FaultInjectionPolicySpec_Config_Delay) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FaultInjectionPolicySpec_Config_Delay.ProtoReflect.Descriptor instead. +func (*FaultInjectionPolicySpec_Config_Delay) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescGZIP(), []int{0, 0, 1} +} + +func (x *FaultInjectionPolicySpec_Config_Delay) GetFixedDelay() *duration.Duration { + if x != nil { + return x.FixedDelay + } + return nil +} + +func (x *FaultInjectionPolicySpec_Config_Delay) GetPercentage() *wrappers.DoubleValue { + if x != nil { + return x.Percentage + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDesc = []byte{ + 0x0a, 0x6a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2f, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x72, 0x65, + 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, + 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x04, 0x0a, 0x18, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, + 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x57, + 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, + 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xae, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x45, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, + 0x5b, 0x0a, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, + 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x1a, 0x66, 0x0a, 0x05, + 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x61, 0x67, 0x65, 0x1a, 0x81, 0x01, 0x0a, 0x05, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x3a, + 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x1a, 0x46, 0x61, 0x75, + 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, + 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xb2, 0x02, 0x0a, + 0x1a, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6a, 0x0a, 0x0a, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x4a, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x42, 0x5f, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, + 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_goTypes = []interface{}{ + (*FaultInjectionPolicySpec)(nil), // 0: resilience.policy.gloo.solo.io.FaultInjectionPolicySpec + (*FaultInjectionPolicyStatus)(nil), // 1: resilience.policy.gloo.solo.io.FaultInjectionPolicyStatus + (*FaultInjectionPolicyReport)(nil), // 2: resilience.policy.gloo.solo.io.FaultInjectionPolicyReport + (*FaultInjectionPolicySpec_Config)(nil), // 3: resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.Config + (*FaultInjectionPolicySpec_Config_Abort)(nil), // 4: resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.Config.Abort + (*FaultInjectionPolicySpec_Config_Delay)(nil), // 5: resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.Config.Delay + nil, // 6: resilience.policy.gloo.solo.io.FaultInjectionPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 7: common.gloo.solo.io.RouteSelector + (*v2.Status)(nil), // 8: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 9: common.gloo.solo.io.RouteReference + (*wrappers.DoubleValue)(nil), // 10: google.protobuf.DoubleValue + (*duration.Duration)(nil), // 11: google.protobuf.Duration + (*v2.Report)(nil), // 12: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_depIdxs = []int32{ + 7, // 0: resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 3, // 1: resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.config:type_name -> resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.Config + 8, // 2: resilience.policy.gloo.solo.io.FaultInjectionPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 6, // 3: resilience.policy.gloo.solo.io.FaultInjectionPolicyReport.workspaces:type_name -> resilience.policy.gloo.solo.io.FaultInjectionPolicyReport.WorkspacesEntry + 9, // 4: resilience.policy.gloo.solo.io.FaultInjectionPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 5, // 5: resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.Config.delay:type_name -> resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.Config.Delay + 4, // 6: resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.Config.abort:type_name -> resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.Config.Abort + 10, // 7: resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.Config.Abort.percentage:type_name -> google.protobuf.DoubleValue + 11, // 8: resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.Config.Delay.fixed_delay:type_name -> google.protobuf.Duration + 10, // 9: resilience.policy.gloo.solo.io.FaultInjectionPolicySpec.Config.Delay.percentage:type_name -> google.protobuf.DoubleValue + 12, // 10: resilience.policy.gloo.solo.io.FaultInjectionPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FaultInjectionPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FaultInjectionPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FaultInjectionPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FaultInjectionPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FaultInjectionPolicySpec_Config_Abort); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FaultInjectionPolicySpec_Config_Delay); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_fault_injection_policy_proto_depIdxs = nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/fault_injection_policy.pb.hash.go b/client-go/resilience.policy.gloo.solo.io/v2/fault_injection_policy.pb.hash.go new file mode 100644 index 000000000..26a9d8734 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/fault_injection_policy.pb.hash.go @@ -0,0 +1,359 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/fault_injection_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *FaultInjectionPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FaultInjectionPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *FaultInjectionPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FaultInjectionPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *FaultInjectionPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FaultInjectionPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *FaultInjectionPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FaultInjectionPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetDelay()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Delay")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDelay(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Delay")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetAbort()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Abort")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAbort(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Abort")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *FaultInjectionPolicySpec_Config_Abort) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FaultInjectionPolicySpec_Config_Abort")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetHttpStatus()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPercentage()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Percentage")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPercentage(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Percentage")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *FaultInjectionPolicySpec_Config_Delay) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.FaultInjectionPolicySpec_Config_Delay")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetFixedDelay()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("FixedDelay")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetFixedDelay(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("FixedDelay")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPercentage()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Percentage")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPercentage(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Percentage")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/graphql_persisted_query_cache_policy.pb.clone.go b/client-go/resilience.policy.gloo.solo.io/v2/graphql_persisted_query_cache_policy.pb.clone.go new file mode 100644 index 000000000..d6c8cd1ea --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/graphql_persisted_query_cache_policy.pb.clone.go @@ -0,0 +1,127 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/graphql_persisted_query_cache_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *GraphQLPersistedQueryCachePolicySpec) Clone() proto.Message { + var target *GraphQLPersistedQueryCachePolicySpec + if m == nil { + return target + } + target = &GraphQLPersistedQueryCachePolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*GraphQLPersistedQueryCachePolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*GraphQLPersistedQueryCachePolicySpec_Config) + } + + return target +} + +// Clone function +func (m *GraphQLPersistedQueryCachePolicyStatus) Clone() proto.Message { + var target *GraphQLPersistedQueryCachePolicyStatus + if m == nil { + return target + } + target = &GraphQLPersistedQueryCachePolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *GraphQLPersistedQueryCachePolicyReport) Clone() proto.Message { + var target *GraphQLPersistedQueryCachePolicyReport + if m == nil { + return target + } + target = &GraphQLPersistedQueryCachePolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *GraphQLPersistedQueryCachePolicySpec_Config) Clone() proto.Message { + var target *GraphQLPersistedQueryCachePolicySpec_Config + if m == nil { + return target + } + target = &GraphQLPersistedQueryCachePolicySpec_Config{} + + target.CacheSize = m.GetCacheSize() + + return target +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/graphql_persisted_query_cache_policy.pb.equal.go b/client-go/resilience.policy.gloo.solo.io/v2/graphql_persisted_query_cache_policy.pb.equal.go new file mode 100644 index 000000000..0fd2c7d57 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/graphql_persisted_query_cache_policy.pb.equal.go @@ -0,0 +1,201 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/graphql_persisted_query_cache_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *GraphQLPersistedQueryCachePolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLPersistedQueryCachePolicySpec) + if !ok { + that2, ok := that.(GraphQLPersistedQueryCachePolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLPersistedQueryCachePolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLPersistedQueryCachePolicyStatus) + if !ok { + that2, ok := that.(GraphQLPersistedQueryCachePolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *GraphQLPersistedQueryCachePolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLPersistedQueryCachePolicyReport) + if !ok { + that2, ok := that.(GraphQLPersistedQueryCachePolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *GraphQLPersistedQueryCachePolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLPersistedQueryCachePolicySpec_Config) + if !ok { + that2, ok := that.(GraphQLPersistedQueryCachePolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetCacheSize() != target.GetCacheSize() { + return false + } + + return true +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/graphql_persisted_query_cache_policy.pb.go b/client-go/resilience.policy.gloo.solo.io/v2/graphql_persisted_query_cache_policy.pb.go new file mode 100644 index 000000000..2be9724ba --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/graphql_persisted_query_cache_policy.pb.go @@ -0,0 +1,464 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/graphql_persisted_query_cache_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/golang/protobuf/ptypes/any" + _ "github.com/golang/protobuf/ptypes/timestamp" + _ "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// To improve network performance for large query strings, the GraphQL filter supports +// automatic persisted queries. A persisted query is a query string that's cached on the server side, +// along with it's hash. The client can then send the hash instead of the full query string, thus +// reducing request sizes (responses are unaffected). +// Persisted queries are especially effective when clients send queries as GET requests. +// This enables clients to take advantage of the browser cache and integrate with a CDN. +// If empty, persisted query cache is not used. +type GraphQLPersistedQueryCachePolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the graphql routes where the policy will be applied. + // If empty, will apply to no graphql routes. + // selection via Destination selectors will not work for this policy, and only + // route selectors will work. + // If more than one GraphQLPersistedQueryCachePolicy applies to a GraphQLRoute, the oldest + // one will be applied. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // Persisted query cache configuration. + Config *GraphQLPersistedQueryCachePolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *GraphQLPersistedQueryCachePolicySpec) Reset() { + *x = GraphQLPersistedQueryCachePolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLPersistedQueryCachePolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLPersistedQueryCachePolicySpec) ProtoMessage() {} + +func (x *GraphQLPersistedQueryCachePolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLPersistedQueryCachePolicySpec.ProtoReflect.Descriptor instead. +func (*GraphQLPersistedQueryCachePolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *GraphQLPersistedQueryCachePolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *GraphQLPersistedQueryCachePolicySpec) GetConfig() *GraphQLPersistedQueryCachePolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +type GraphQLPersistedQueryCachePolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of routes selected by the policy. + NumSelectedRoutes uint32 `protobuf:"varint,2,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *GraphQLPersistedQueryCachePolicyStatus) Reset() { + *x = GraphQLPersistedQueryCachePolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLPersistedQueryCachePolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLPersistedQueryCachePolicyStatus) ProtoMessage() {} + +func (x *GraphQLPersistedQueryCachePolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLPersistedQueryCachePolicyStatus.ProtoReflect.Descriptor instead. +func (*GraphQLPersistedQueryCachePolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *GraphQLPersistedQueryCachePolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *GraphQLPersistedQueryCachePolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type GraphQLPersistedQueryCachePolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of references to all routes selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *GraphQLPersistedQueryCachePolicyReport) Reset() { + *x = GraphQLPersistedQueryCachePolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLPersistedQueryCachePolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLPersistedQueryCachePolicyReport) ProtoMessage() {} + +func (x *GraphQLPersistedQueryCachePolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLPersistedQueryCachePolicyReport.ProtoReflect.Descriptor instead. +func (*GraphQLPersistedQueryCachePolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *GraphQLPersistedQueryCachePolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *GraphQLPersistedQueryCachePolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +type GraphQLPersistedQueryCachePolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The number of queries to store in the persisted query cache, defaults to 1000. + CacheSize uint32 `protobuf:"varint,1,opt,name=cache_size,json=cacheSize,proto3" json:"cache_size,omitempty"` +} + +func (x *GraphQLPersistedQueryCachePolicySpec_Config) Reset() { + *x = GraphQLPersistedQueryCachePolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLPersistedQueryCachePolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLPersistedQueryCachePolicySpec_Config) ProtoMessage() {} + +func (x *GraphQLPersistedQueryCachePolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLPersistedQueryCachePolicySpec_Config.ProtoReflect.Descriptor instead. +func (*GraphQLPersistedQueryCachePolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *GraphQLPersistedQueryCachePolicySpec_Config) GetCacheSize() uint32 { + if x != nil { + return x.CacheSize + } + return 0 +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDesc = []byte{ + 0x0a, 0x78, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2f, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x72, 0x65, 0x73, 0x69, + 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x02, 0x0a, 0x24, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, 0x0a, + 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x63, 0x0a, 0x06, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x72, 0x65, 0x73, 0x69, + 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x51, 0x4c, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x27, + 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x26, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x51, 0x4c, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xca, 0x02, 0x0a, 0x26, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x51, 0x4c, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x76, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, + 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5f, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, + 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, + 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_goTypes = []interface{}{ + (*GraphQLPersistedQueryCachePolicySpec)(nil), // 0: resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicySpec + (*GraphQLPersistedQueryCachePolicyStatus)(nil), // 1: resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicyStatus + (*GraphQLPersistedQueryCachePolicyReport)(nil), // 2: resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicyReport + (*GraphQLPersistedQueryCachePolicySpec_Config)(nil), // 3: resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicySpec.Config + nil, // 4: resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 5: common.gloo.solo.io.RouteSelector + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 7: common.gloo.solo.io.RouteReference + (*v2.Report)(nil), // 8: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_depIdxs = []int32{ + 5, // 0: resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 3, // 1: resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicySpec.config:type_name -> resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicySpec.Config + 6, // 2: resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicyStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicyReport.workspaces:type_name -> resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicyReport.WorkspacesEntry + 7, // 4: resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 8, // 5: resilience.policy.gloo.solo.io.GraphQLPersistedQueryCachePolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLPersistedQueryCachePolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLPersistedQueryCachePolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLPersistedQueryCachePolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLPersistedQueryCachePolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_graphql_persisted_query_cache_policy_proto_depIdxs = nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/graphql_persisted_query_cache_policy.pb.hash.go b/client-go/resilience.policy.gloo.solo.io/v2/graphql_persisted_query_cache_policy.pb.hash.go new file mode 100644 index 000000000..2ffb162a5 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/graphql_persisted_query_cache_policy.pb.hash.go @@ -0,0 +1,227 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/graphql_persisted_query_cache_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *GraphQLPersistedQueryCachePolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.GraphQLPersistedQueryCachePolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLPersistedQueryCachePolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.GraphQLPersistedQueryCachePolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLPersistedQueryCachePolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.GraphQLPersistedQueryCachePolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLPersistedQueryCachePolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.GraphQLPersistedQueryCachePolicySpec_Config")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetCacheSize()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/json.gen.go b/client-go/resilience.policy.gloo.solo.io/v2/json.gen.go new file mode 100644 index 000000000..8785f027e --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/json.gen.go @@ -0,0 +1,226 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for GraphQLPersistedQueryCachePolicySpec +func (this *GraphQLPersistedQueryCachePolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GraphQLPersistedQueryCachePolicySpec +func (this *GraphQLPersistedQueryCachePolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for GraphQLPersistedQueryCachePolicyStatus +func (this *GraphQLPersistedQueryCachePolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GraphQLPersistedQueryCachePolicyStatus +func (this *GraphQLPersistedQueryCachePolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for FailoverPolicySpec +func (this *FailoverPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for FailoverPolicySpec +func (this *FailoverPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for FailoverPolicyStatus +func (this *FailoverPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for FailoverPolicyStatus +func (this *FailoverPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for OutlierDetectionPolicySpec +func (this *OutlierDetectionPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for OutlierDetectionPolicySpec +func (this *OutlierDetectionPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for OutlierDetectionPolicyStatus +func (this *OutlierDetectionPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for OutlierDetectionPolicyStatus +func (this *OutlierDetectionPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for FaultInjectionPolicySpec +func (this *FaultInjectionPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for FaultInjectionPolicySpec +func (this *FaultInjectionPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for FaultInjectionPolicyStatus +func (this *FaultInjectionPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for FaultInjectionPolicyStatus +func (this *FaultInjectionPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RetryTimeoutPolicySpec +func (this *RetryTimeoutPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RetryTimeoutPolicySpec +func (this *RetryTimeoutPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RetryTimeoutPolicyStatus +func (this *RetryTimeoutPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RetryTimeoutPolicyStatus +func (this *RetryTimeoutPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ConnectionPolicySpec +func (this *ConnectionPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ConnectionPolicySpec +func (this *ConnectionPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ConnectionPolicyStatus +func (this *ConnectionPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ConnectionPolicyStatus +func (this *ConnectionPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for TrimProxyConfigPolicySpec +func (this *TrimProxyConfigPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for TrimProxyConfigPolicySpec +func (this *TrimProxyConfigPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for TrimProxyConfigPolicyStatus +func (this *TrimProxyConfigPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for TrimProxyConfigPolicyStatus +func (this *TrimProxyConfigPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ActiveHealthCheckPolicySpec +func (this *ActiveHealthCheckPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ActiveHealthCheckPolicySpec +func (this *ActiveHealthCheckPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ActiveHealthCheckPolicyStatus +func (this *ActiveHealthCheckPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ActiveHealthCheckPolicyStatus +func (this *ActiveHealthCheckPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ListenerConnectionPolicySpec +func (this *ListenerConnectionPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ListenerConnectionPolicySpec +func (this *ListenerConnectionPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ListenerConnectionPolicyStatus +func (this *ListenerConnectionPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ListenerConnectionPolicyStatus +func (this *ListenerConnectionPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/listener_connection_policy.pb.clone.go b/client-go/resilience.policy.gloo.solo.io/v2/listener_connection_policy.pb.clone.go new file mode 100644 index 000000000..14c7e95d1 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/listener_connection_policy.pb.clone.go @@ -0,0 +1,139 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/listener_connection_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ListenerConnectionPolicySpec) Clone() proto.Message { + var target *ListenerConnectionPolicySpec + if m == nil { + return target + } + target = &ListenerConnectionPolicySpec{} + + if m.GetApplyToListeners() != nil { + target.ApplyToListeners = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ListenerSelector, len(m.GetApplyToListeners())) + for idx, v := range m.GetApplyToListeners() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToListeners[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ListenerSelector) + } else { + target.ApplyToListeners[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ListenerSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*ListenerConnectionPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*ListenerConnectionPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *ListenerConnectionPolicyStatus) Clone() proto.Message { + var target *ListenerConnectionPolicyStatus + if m == nil { + return target + } + target = &ListenerConnectionPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedListeners = m.GetNumSelectedListeners() + + return target +} + +// Clone function +func (m *ListenerConnectionPolicyReport) Clone() proto.Message { + var target *ListenerConnectionPolicyReport + if m == nil { + return target + } + target = &ListenerConnectionPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedListeners() != nil { + target.SelectedListeners = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ListenerPortReference, len(m.GetSelectedListeners())) + for idx, v := range m.GetSelectedListeners() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedListeners[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ListenerPortReference) + } else { + target.SelectedListeners[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ListenerPortReference) + } + + } + } + + return target +} + +// Clone function +func (m *ListenerConnectionPolicySpec_Config) Clone() proto.Message { + var target *ListenerConnectionPolicySpec_Config + if m == nil { + return target + } + target = &ListenerConnectionPolicySpec_Config{} + + if h, ok := interface{}(m.GetPerConnectionBufferLimitBytes()).(clone.Cloner); ok { + target.PerConnectionBufferLimitBytes = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.PerConnectionBufferLimitBytes = proto.Clone(m.GetPerConnectionBufferLimitBytes()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + if h, ok := interface{}(m.GetTcpKeepalive()).(clone.Cloner); ok { + target.TcpKeepalive = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.TCPKeepalive) + } else { + target.TcpKeepalive = proto.Clone(m.GetTcpKeepalive()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.TCPKeepalive) + } + + return target +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/listener_connection_policy.pb.equal.go b/client-go/resilience.policy.gloo.solo.io/v2/listener_connection_policy.pb.equal.go new file mode 100644 index 000000000..cabd8cc38 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/listener_connection_policy.pb.equal.go @@ -0,0 +1,217 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/listener_connection_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ListenerConnectionPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ListenerConnectionPolicySpec) + if !ok { + that2, ok := that.(ListenerConnectionPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToListeners()) != len(target.GetApplyToListeners()) { + return false + } + for idx, v := range m.GetApplyToListeners() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToListeners()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToListeners()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *ListenerConnectionPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ListenerConnectionPolicyStatus) + if !ok { + that2, ok := that.(ListenerConnectionPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedListeners() != target.GetNumSelectedListeners() { + return false + } + + return true +} + +// Equal function +func (m *ListenerConnectionPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ListenerConnectionPolicyReport) + if !ok { + that2, ok := that.(ListenerConnectionPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedListeners()) != len(target.GetSelectedListeners()) { + return false + } + for idx, v := range m.GetSelectedListeners() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedListeners()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedListeners()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ListenerConnectionPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ListenerConnectionPolicySpec_Config) + if !ok { + that2, ok := that.(ListenerConnectionPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetPerConnectionBufferLimitBytes()).(equality.Equalizer); ok { + if !h.Equal(target.GetPerConnectionBufferLimitBytes()) { + return false + } + } else { + if !proto.Equal(m.GetPerConnectionBufferLimitBytes(), target.GetPerConnectionBufferLimitBytes()) { + return false + } + } + + if h, ok := interface{}(m.GetTcpKeepalive()).(equality.Equalizer); ok { + if !h.Equal(target.GetTcpKeepalive()) { + return false + } + } else { + if !proto.Equal(m.GetTcpKeepalive(), target.GetTcpKeepalive()) { + return false + } + } + + return true +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/listener_connection_policy.pb.go b/client-go/resilience.policy.gloo.solo.io/v2/listener_connection_policy.pb.go new file mode 100644 index 000000000..3bea82a0e --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/listener_connection_policy.pb.go @@ -0,0 +1,499 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/listener_connection_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ListenerConnectionPolicy is used to set configuration for gateway listeners. +// +// ``` +// apiVersion: trafficcontrol.policy.gloo.solo.io/v2 +// kind: ListenerConnectionPolicy +// metadata: +// +// name: my-policy +// namespace: bookinfo +// +// spec: +// +// config: +// perConnectionBufferLimitBytes: 16384 +// applyToListeners: +// - virtualGateway: +// name: virtual-gateway +// namespace: bookinfo +// cluster: my-cluster +// port: +// number: 443 +// +// ``` +type ListenerConnectionPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The VirtualGateway(s) and Port(s) to which this policy applies. + ApplyToListeners []*v2.ListenerSelector `protobuf:"bytes,1,rep,name=apply_to_listeners,json=applyToListeners,proto3" json:"apply_to_listeners,omitempty"` + Config *ListenerConnectionPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *ListenerConnectionPolicySpec) Reset() { + *x = ListenerConnectionPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListenerConnectionPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenerConnectionPolicySpec) ProtoMessage() {} + +func (x *ListenerConnectionPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListenerConnectionPolicySpec.ProtoReflect.Descriptor instead. +func (*ListenerConnectionPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *ListenerConnectionPolicySpec) GetApplyToListeners() []*v2.ListenerSelector { + if x != nil { + return x.ApplyToListeners + } + return nil +} + +func (x *ListenerConnectionPolicySpec) GetConfig() *ListenerConnectionPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type ListenerConnectionPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of virtual gateway listeners selected by the policy. + NumSelectedListeners uint32 `protobuf:"varint,2,opt,name=num_selected_listeners,json=numSelectedListeners,proto3" json:"num_selected_listeners,omitempty"` +} + +func (x *ListenerConnectionPolicyStatus) Reset() { + *x = ListenerConnectionPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListenerConnectionPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenerConnectionPolicyStatus) ProtoMessage() {} + +func (x *ListenerConnectionPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListenerConnectionPolicyStatus.ProtoReflect.Descriptor instead. +func (*ListenerConnectionPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *ListenerConnectionPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *ListenerConnectionPolicyStatus) GetNumSelectedListeners() uint32 { + if x != nil { + return x.NumSelectedListeners + } + return 0 +} + +type ListenerConnectionPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of virtual gateway listeners selected by the policy. + SelectedListeners []*v2.ListenerPortReference `protobuf:"bytes,2,rep,name=selected_listeners,json=selectedListeners,proto3" json:"selected_listeners,omitempty"` +} + +func (x *ListenerConnectionPolicyReport) Reset() { + *x = ListenerConnectionPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListenerConnectionPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenerConnectionPolicyReport) ProtoMessage() {} + +func (x *ListenerConnectionPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListenerConnectionPolicyReport.ProtoReflect.Descriptor instead. +func (*ListenerConnectionPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *ListenerConnectionPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *ListenerConnectionPolicyReport) GetSelectedListeners() []*v2.ListenerPortReference { + if x != nil { + return x.SelectedListeners + } + return nil +} + +// The configuration to apply to the selected listeners. +type ListenerConnectionPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: Soft limit on size of the listener’s new connection read + // and write buffers. + // Default value set by Envoy is 1MiB. + PerConnectionBufferLimitBytes *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=per_connection_buffer_limit_bytes,json=perConnectionBufferLimitBytes,proto3" json:"per_connection_buffer_limit_bytes,omitempty"` + // Sets the TCP keep-alive settings to apply to selected listeners. + TcpKeepalive *v2.TCPKeepalive `protobuf:"bytes,2,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"` +} + +func (x *ListenerConnectionPolicySpec_Config) Reset() { + *x = ListenerConnectionPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListenerConnectionPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenerConnectionPolicySpec_Config) ProtoMessage() {} + +func (x *ListenerConnectionPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListenerConnectionPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*ListenerConnectionPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ListenerConnectionPolicySpec_Config) GetPerConnectionBufferLimitBytes() *wrappers.UInt32Value { + if x != nil { + return x.PerConnectionBufferLimitBytes + } + return nil +} + +func (x *ListenerConnectionPolicySpec_Config) GetTcpKeepalive() *v2.TCPKeepalive { + if x != nil { + return x.TcpKeepalive + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDesc = []byte{ + 0x0a, 0x6e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2f, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x1e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, + 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x8b, 0x03, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x53, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x4c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x5b, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, + 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xb8, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x66, 0x0a, 0x21, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x70, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x0d, 0x74, 0x63, 0x70, 0x5f, + 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x43, 0x50, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, + 0x76, 0x65, 0x52, 0x0c, 0x74, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, + 0x22, 0x8b, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x75, 0x6d, 0x5f, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, + 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x22, 0xc7, + 0x02, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x6e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, + 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x12, 0x59, 0x0a, 0x12, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5f, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x69, + 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, + 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_goTypes = []interface{}{ + (*ListenerConnectionPolicySpec)(nil), // 0: resilience.policy.gloo.solo.io.ListenerConnectionPolicySpec + (*ListenerConnectionPolicyStatus)(nil), // 1: resilience.policy.gloo.solo.io.ListenerConnectionPolicyStatus + (*ListenerConnectionPolicyReport)(nil), // 2: resilience.policy.gloo.solo.io.ListenerConnectionPolicyReport + (*ListenerConnectionPolicySpec_Config)(nil), // 3: resilience.policy.gloo.solo.io.ListenerConnectionPolicySpec.Config + nil, // 4: resilience.policy.gloo.solo.io.ListenerConnectionPolicyReport.WorkspacesEntry + (*v2.ListenerSelector)(nil), // 5: common.gloo.solo.io.ListenerSelector + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.ListenerPortReference)(nil), // 7: common.gloo.solo.io.ListenerPortReference + (*wrappers.UInt32Value)(nil), // 8: google.protobuf.UInt32Value + (*v2.TCPKeepalive)(nil), // 9: common.gloo.solo.io.TCPKeepalive + (*v2.Report)(nil), // 10: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_depIdxs = []int32{ + 5, // 0: resilience.policy.gloo.solo.io.ListenerConnectionPolicySpec.apply_to_listeners:type_name -> common.gloo.solo.io.ListenerSelector + 3, // 1: resilience.policy.gloo.solo.io.ListenerConnectionPolicySpec.config:type_name -> resilience.policy.gloo.solo.io.ListenerConnectionPolicySpec.Config + 6, // 2: resilience.policy.gloo.solo.io.ListenerConnectionPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: resilience.policy.gloo.solo.io.ListenerConnectionPolicyReport.workspaces:type_name -> resilience.policy.gloo.solo.io.ListenerConnectionPolicyReport.WorkspacesEntry + 7, // 4: resilience.policy.gloo.solo.io.ListenerConnectionPolicyReport.selected_listeners:type_name -> common.gloo.solo.io.ListenerPortReference + 8, // 5: resilience.policy.gloo.solo.io.ListenerConnectionPolicySpec.Config.per_connection_buffer_limit_bytes:type_name -> google.protobuf.UInt32Value + 9, // 6: resilience.policy.gloo.solo.io.ListenerConnectionPolicySpec.Config.tcp_keepalive:type_name -> common.gloo.solo.io.TCPKeepalive + 10, // 7: resilience.policy.gloo.solo.io.ListenerConnectionPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListenerConnectionPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListenerConnectionPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListenerConnectionPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListenerConnectionPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_listener_connection_policy_proto_depIdxs = nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/listener_connection_policy.pb.hash.go b/client-go/resilience.policy.gloo.solo.io/v2/listener_connection_policy.pb.hash.go new file mode 100644 index 000000000..2bdded061 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/listener_connection_policy.pb.hash.go @@ -0,0 +1,262 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/listener_connection_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ListenerConnectionPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ListenerConnectionPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToListeners() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ListenerConnectionPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ListenerConnectionPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedListeners()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ListenerConnectionPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ListenerConnectionPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedListeners() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ListenerConnectionPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.ListenerConnectionPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPerConnectionBufferLimitBytes()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PerConnectionBufferLimitBytes")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPerConnectionBufferLimitBytes(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PerConnectionBufferLimitBytes")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTcpKeepalive()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TcpKeepalive")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTcpKeepalive(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TcpKeepalive")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/mocks/clients.go b/client-go/resilience.policy.gloo.solo.io/v2/mocks/clients.go new file mode 100644 index 000000000..32e4461d4 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/mocks/clients.go @@ -0,0 +1,4738 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2 is a generated GoMock package. +package mock_v2 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2 "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// ActiveHealthCheckPolicies mocks base method. +func (m *MockClientset) ActiveHealthCheckPolicies() v2.ActiveHealthCheckPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ActiveHealthCheckPolicies") + ret0, _ := ret[0].(v2.ActiveHealthCheckPolicyClient) + return ret0 +} + +// ActiveHealthCheckPolicies indicates an expected call of ActiveHealthCheckPolicies. +func (mr *MockClientsetMockRecorder) ActiveHealthCheckPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ActiveHealthCheckPolicies", reflect.TypeOf((*MockClientset)(nil).ActiveHealthCheckPolicies)) +} + +// ConnectionPolicies mocks base method. +func (m *MockClientset) ConnectionPolicies() v2.ConnectionPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ConnectionPolicies") + ret0, _ := ret[0].(v2.ConnectionPolicyClient) + return ret0 +} + +// ConnectionPolicies indicates an expected call of ConnectionPolicies. +func (mr *MockClientsetMockRecorder) ConnectionPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConnectionPolicies", reflect.TypeOf((*MockClientset)(nil).ConnectionPolicies)) +} + +// FailoverPolicies mocks base method. +func (m *MockClientset) FailoverPolicies() v2.FailoverPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FailoverPolicies") + ret0, _ := ret[0].(v2.FailoverPolicyClient) + return ret0 +} + +// FailoverPolicies indicates an expected call of FailoverPolicies. +func (mr *MockClientsetMockRecorder) FailoverPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FailoverPolicies", reflect.TypeOf((*MockClientset)(nil).FailoverPolicies)) +} + +// FaultInjectionPolicies mocks base method. +func (m *MockClientset) FaultInjectionPolicies() v2.FaultInjectionPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FaultInjectionPolicies") + ret0, _ := ret[0].(v2.FaultInjectionPolicyClient) + return ret0 +} + +// FaultInjectionPolicies indicates an expected call of FaultInjectionPolicies. +func (mr *MockClientsetMockRecorder) FaultInjectionPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FaultInjectionPolicies", reflect.TypeOf((*MockClientset)(nil).FaultInjectionPolicies)) +} + +// GraphQLPersistedQueryCachePolicies mocks base method. +func (m *MockClientset) GraphQLPersistedQueryCachePolicies() v2.GraphQLPersistedQueryCachePolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GraphQLPersistedQueryCachePolicies") + ret0, _ := ret[0].(v2.GraphQLPersistedQueryCachePolicyClient) + return ret0 +} + +// GraphQLPersistedQueryCachePolicies indicates an expected call of GraphQLPersistedQueryCachePolicies. +func (mr *MockClientsetMockRecorder) GraphQLPersistedQueryCachePolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GraphQLPersistedQueryCachePolicies", reflect.TypeOf((*MockClientset)(nil).GraphQLPersistedQueryCachePolicies)) +} + +// ListenerConnectionPolicies mocks base method. +func (m *MockClientset) ListenerConnectionPolicies() v2.ListenerConnectionPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListenerConnectionPolicies") + ret0, _ := ret[0].(v2.ListenerConnectionPolicyClient) + return ret0 +} + +// ListenerConnectionPolicies indicates an expected call of ListenerConnectionPolicies. +func (mr *MockClientsetMockRecorder) ListenerConnectionPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListenerConnectionPolicies", reflect.TypeOf((*MockClientset)(nil).ListenerConnectionPolicies)) +} + +// OutlierDetectionPolicies mocks base method. +func (m *MockClientset) OutlierDetectionPolicies() v2.OutlierDetectionPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "OutlierDetectionPolicies") + ret0, _ := ret[0].(v2.OutlierDetectionPolicyClient) + return ret0 +} + +// OutlierDetectionPolicies indicates an expected call of OutlierDetectionPolicies. +func (mr *MockClientsetMockRecorder) OutlierDetectionPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OutlierDetectionPolicies", reflect.TypeOf((*MockClientset)(nil).OutlierDetectionPolicies)) +} + +// RetryTimeoutPolicies mocks base method. +func (m *MockClientset) RetryTimeoutPolicies() v2.RetryTimeoutPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RetryTimeoutPolicies") + ret0, _ := ret[0].(v2.RetryTimeoutPolicyClient) + return ret0 +} + +// RetryTimeoutPolicies indicates an expected call of RetryTimeoutPolicies. +func (mr *MockClientsetMockRecorder) RetryTimeoutPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RetryTimeoutPolicies", reflect.TypeOf((*MockClientset)(nil).RetryTimeoutPolicies)) +} + +// TrimProxyConfigPolicies mocks base method. +func (m *MockClientset) TrimProxyConfigPolicies() v2.TrimProxyConfigPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "TrimProxyConfigPolicies") + ret0, _ := ret[0].(v2.TrimProxyConfigPolicyClient) + return ret0 +} + +// TrimProxyConfigPolicies indicates an expected call of TrimProxyConfigPolicies. +func (mr *MockClientsetMockRecorder) TrimProxyConfigPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TrimProxyConfigPolicies", reflect.TypeOf((*MockClientset)(nil).TrimProxyConfigPolicies)) +} + +// MockGraphQLPersistedQueryCachePolicyReader is a mock of GraphQLPersistedQueryCachePolicyReader interface. +type MockGraphQLPersistedQueryCachePolicyReader struct { + ctrl *gomock.Controller + recorder *MockGraphQLPersistedQueryCachePolicyReaderMockRecorder +} + +// MockGraphQLPersistedQueryCachePolicyReaderMockRecorder is the mock recorder for MockGraphQLPersistedQueryCachePolicyReader. +type MockGraphQLPersistedQueryCachePolicyReaderMockRecorder struct { + mock *MockGraphQLPersistedQueryCachePolicyReader +} + +// NewMockGraphQLPersistedQueryCachePolicyReader creates a new mock instance. +func NewMockGraphQLPersistedQueryCachePolicyReader(ctrl *gomock.Controller) *MockGraphQLPersistedQueryCachePolicyReader { + mock := &MockGraphQLPersistedQueryCachePolicyReader{ctrl: ctrl} + mock.recorder = &MockGraphQLPersistedQueryCachePolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLPersistedQueryCachePolicyReader) EXPECT() *MockGraphQLPersistedQueryCachePolicyReaderMockRecorder { + return m.recorder +} + +// GetGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyReader) GetGraphQLPersistedQueryCachePolicy(ctx context.Context, key client.ObjectKey) (*v2.GraphQLPersistedQueryCachePolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetGraphQLPersistedQueryCachePolicy", ctx, key) + ret0, _ := ret[0].(*v2.GraphQLPersistedQueryCachePolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGraphQLPersistedQueryCachePolicy indicates an expected call of GetGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyReaderMockRecorder) GetGraphQLPersistedQueryCachePolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyReader)(nil).GetGraphQLPersistedQueryCachePolicy), ctx, key) +} + +// ListGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyReader) ListGraphQLPersistedQueryCachePolicy(ctx context.Context, opts ...client.ListOption) (*v2.GraphQLPersistedQueryCachePolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(*v2.GraphQLPersistedQueryCachePolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListGraphQLPersistedQueryCachePolicy indicates an expected call of ListGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyReaderMockRecorder) ListGraphQLPersistedQueryCachePolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyReader)(nil).ListGraphQLPersistedQueryCachePolicy), varargs...) +} + +// MockGraphQLPersistedQueryCachePolicyWriter is a mock of GraphQLPersistedQueryCachePolicyWriter interface. +type MockGraphQLPersistedQueryCachePolicyWriter struct { + ctrl *gomock.Controller + recorder *MockGraphQLPersistedQueryCachePolicyWriterMockRecorder +} + +// MockGraphQLPersistedQueryCachePolicyWriterMockRecorder is the mock recorder for MockGraphQLPersistedQueryCachePolicyWriter. +type MockGraphQLPersistedQueryCachePolicyWriterMockRecorder struct { + mock *MockGraphQLPersistedQueryCachePolicyWriter +} + +// NewMockGraphQLPersistedQueryCachePolicyWriter creates a new mock instance. +func NewMockGraphQLPersistedQueryCachePolicyWriter(ctrl *gomock.Controller) *MockGraphQLPersistedQueryCachePolicyWriter { + mock := &MockGraphQLPersistedQueryCachePolicyWriter{ctrl: ctrl} + mock.recorder = &MockGraphQLPersistedQueryCachePolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLPersistedQueryCachePolicyWriter) EXPECT() *MockGraphQLPersistedQueryCachePolicyWriterMockRecorder { + return m.recorder +} + +// CreateGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyWriter) CreateGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *v2.GraphQLPersistedQueryCachePolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLPersistedQueryCachePolicy indicates an expected call of CreateGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyWriterMockRecorder) CreateGraphQLPersistedQueryCachePolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyWriter)(nil).CreateGraphQLPersistedQueryCachePolicy), varargs...) +} + +// DeleteAllOfGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyWriter) DeleteAllOfGraphQLPersistedQueryCachePolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfGraphQLPersistedQueryCachePolicy indicates an expected call of DeleteAllOfGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyWriterMockRecorder) DeleteAllOfGraphQLPersistedQueryCachePolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyWriter)(nil).DeleteAllOfGraphQLPersistedQueryCachePolicy), varargs...) +} + +// DeleteGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyWriter) DeleteGraphQLPersistedQueryCachePolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLPersistedQueryCachePolicy indicates an expected call of DeleteGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyWriterMockRecorder) DeleteGraphQLPersistedQueryCachePolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyWriter)(nil).DeleteGraphQLPersistedQueryCachePolicy), varargs...) +} + +// PatchGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyWriter) PatchGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *v2.GraphQLPersistedQueryCachePolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLPersistedQueryCachePolicy indicates an expected call of PatchGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyWriterMockRecorder) PatchGraphQLPersistedQueryCachePolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyWriter)(nil).PatchGraphQLPersistedQueryCachePolicy), varargs...) +} + +// UpdateGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyWriter) UpdateGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *v2.GraphQLPersistedQueryCachePolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLPersistedQueryCachePolicy indicates an expected call of UpdateGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyWriterMockRecorder) UpdateGraphQLPersistedQueryCachePolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyWriter)(nil).UpdateGraphQLPersistedQueryCachePolicy), varargs...) +} + +// UpsertGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyWriter) UpsertGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *v2.GraphQLPersistedQueryCachePolicy, transitionFuncs ...v2.GraphQLPersistedQueryCachePolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertGraphQLPersistedQueryCachePolicy indicates an expected call of UpsertGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyWriterMockRecorder) UpsertGraphQLPersistedQueryCachePolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyWriter)(nil).UpsertGraphQLPersistedQueryCachePolicy), varargs...) +} + +// MockGraphQLPersistedQueryCachePolicyStatusWriter is a mock of GraphQLPersistedQueryCachePolicyStatusWriter interface. +type MockGraphQLPersistedQueryCachePolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockGraphQLPersistedQueryCachePolicyStatusWriterMockRecorder +} + +// MockGraphQLPersistedQueryCachePolicyStatusWriterMockRecorder is the mock recorder for MockGraphQLPersistedQueryCachePolicyStatusWriter. +type MockGraphQLPersistedQueryCachePolicyStatusWriterMockRecorder struct { + mock *MockGraphQLPersistedQueryCachePolicyStatusWriter +} + +// NewMockGraphQLPersistedQueryCachePolicyStatusWriter creates a new mock instance. +func NewMockGraphQLPersistedQueryCachePolicyStatusWriter(ctrl *gomock.Controller) *MockGraphQLPersistedQueryCachePolicyStatusWriter { + mock := &MockGraphQLPersistedQueryCachePolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockGraphQLPersistedQueryCachePolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLPersistedQueryCachePolicyStatusWriter) EXPECT() *MockGraphQLPersistedQueryCachePolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchGraphQLPersistedQueryCachePolicyStatus mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyStatusWriter) PatchGraphQLPersistedQueryCachePolicyStatus(ctx context.Context, obj *v2.GraphQLPersistedQueryCachePolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLPersistedQueryCachePolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLPersistedQueryCachePolicyStatus indicates an expected call of PatchGraphQLPersistedQueryCachePolicyStatus. +func (mr *MockGraphQLPersistedQueryCachePolicyStatusWriterMockRecorder) PatchGraphQLPersistedQueryCachePolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLPersistedQueryCachePolicyStatus", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyStatusWriter)(nil).PatchGraphQLPersistedQueryCachePolicyStatus), varargs...) +} + +// UpdateGraphQLPersistedQueryCachePolicyStatus mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyStatusWriter) UpdateGraphQLPersistedQueryCachePolicyStatus(ctx context.Context, obj *v2.GraphQLPersistedQueryCachePolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLPersistedQueryCachePolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLPersistedQueryCachePolicyStatus indicates an expected call of UpdateGraphQLPersistedQueryCachePolicyStatus. +func (mr *MockGraphQLPersistedQueryCachePolicyStatusWriterMockRecorder) UpdateGraphQLPersistedQueryCachePolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLPersistedQueryCachePolicyStatus", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyStatusWriter)(nil).UpdateGraphQLPersistedQueryCachePolicyStatus), varargs...) +} + +// MockGraphQLPersistedQueryCachePolicyClient is a mock of GraphQLPersistedQueryCachePolicyClient interface. +type MockGraphQLPersistedQueryCachePolicyClient struct { + ctrl *gomock.Controller + recorder *MockGraphQLPersistedQueryCachePolicyClientMockRecorder +} + +// MockGraphQLPersistedQueryCachePolicyClientMockRecorder is the mock recorder for MockGraphQLPersistedQueryCachePolicyClient. +type MockGraphQLPersistedQueryCachePolicyClientMockRecorder struct { + mock *MockGraphQLPersistedQueryCachePolicyClient +} + +// NewMockGraphQLPersistedQueryCachePolicyClient creates a new mock instance. +func NewMockGraphQLPersistedQueryCachePolicyClient(ctrl *gomock.Controller) *MockGraphQLPersistedQueryCachePolicyClient { + mock := &MockGraphQLPersistedQueryCachePolicyClient{ctrl: ctrl} + mock.recorder = &MockGraphQLPersistedQueryCachePolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLPersistedQueryCachePolicyClient) EXPECT() *MockGraphQLPersistedQueryCachePolicyClientMockRecorder { + return m.recorder +} + +// CreateGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyClient) CreateGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *v2.GraphQLPersistedQueryCachePolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLPersistedQueryCachePolicy indicates an expected call of CreateGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyClientMockRecorder) CreateGraphQLPersistedQueryCachePolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyClient)(nil).CreateGraphQLPersistedQueryCachePolicy), varargs...) +} + +// DeleteAllOfGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyClient) DeleteAllOfGraphQLPersistedQueryCachePolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfGraphQLPersistedQueryCachePolicy indicates an expected call of DeleteAllOfGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyClientMockRecorder) DeleteAllOfGraphQLPersistedQueryCachePolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyClient)(nil).DeleteAllOfGraphQLPersistedQueryCachePolicy), varargs...) +} + +// DeleteGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyClient) DeleteGraphQLPersistedQueryCachePolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLPersistedQueryCachePolicy indicates an expected call of DeleteGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyClientMockRecorder) DeleteGraphQLPersistedQueryCachePolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyClient)(nil).DeleteGraphQLPersistedQueryCachePolicy), varargs...) +} + +// GetGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyClient) GetGraphQLPersistedQueryCachePolicy(ctx context.Context, key client.ObjectKey) (*v2.GraphQLPersistedQueryCachePolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetGraphQLPersistedQueryCachePolicy", ctx, key) + ret0, _ := ret[0].(*v2.GraphQLPersistedQueryCachePolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGraphQLPersistedQueryCachePolicy indicates an expected call of GetGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyClientMockRecorder) GetGraphQLPersistedQueryCachePolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyClient)(nil).GetGraphQLPersistedQueryCachePolicy), ctx, key) +} + +// ListGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyClient) ListGraphQLPersistedQueryCachePolicy(ctx context.Context, opts ...client.ListOption) (*v2.GraphQLPersistedQueryCachePolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(*v2.GraphQLPersistedQueryCachePolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListGraphQLPersistedQueryCachePolicy indicates an expected call of ListGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyClientMockRecorder) ListGraphQLPersistedQueryCachePolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyClient)(nil).ListGraphQLPersistedQueryCachePolicy), varargs...) +} + +// PatchGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyClient) PatchGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *v2.GraphQLPersistedQueryCachePolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLPersistedQueryCachePolicy indicates an expected call of PatchGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyClientMockRecorder) PatchGraphQLPersistedQueryCachePolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyClient)(nil).PatchGraphQLPersistedQueryCachePolicy), varargs...) +} + +// PatchGraphQLPersistedQueryCachePolicyStatus mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyClient) PatchGraphQLPersistedQueryCachePolicyStatus(ctx context.Context, obj *v2.GraphQLPersistedQueryCachePolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLPersistedQueryCachePolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLPersistedQueryCachePolicyStatus indicates an expected call of PatchGraphQLPersistedQueryCachePolicyStatus. +func (mr *MockGraphQLPersistedQueryCachePolicyClientMockRecorder) PatchGraphQLPersistedQueryCachePolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLPersistedQueryCachePolicyStatus", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyClient)(nil).PatchGraphQLPersistedQueryCachePolicyStatus), varargs...) +} + +// UpdateGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyClient) UpdateGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *v2.GraphQLPersistedQueryCachePolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLPersistedQueryCachePolicy indicates an expected call of UpdateGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyClientMockRecorder) UpdateGraphQLPersistedQueryCachePolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyClient)(nil).UpdateGraphQLPersistedQueryCachePolicy), varargs...) +} + +// UpdateGraphQLPersistedQueryCachePolicyStatus mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyClient) UpdateGraphQLPersistedQueryCachePolicyStatus(ctx context.Context, obj *v2.GraphQLPersistedQueryCachePolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLPersistedQueryCachePolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLPersistedQueryCachePolicyStatus indicates an expected call of UpdateGraphQLPersistedQueryCachePolicyStatus. +func (mr *MockGraphQLPersistedQueryCachePolicyClientMockRecorder) UpdateGraphQLPersistedQueryCachePolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLPersistedQueryCachePolicyStatus", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyClient)(nil).UpdateGraphQLPersistedQueryCachePolicyStatus), varargs...) +} + +// UpsertGraphQLPersistedQueryCachePolicy mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicyClient) UpsertGraphQLPersistedQueryCachePolicy(ctx context.Context, obj *v2.GraphQLPersistedQueryCachePolicy, transitionFuncs ...v2.GraphQLPersistedQueryCachePolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertGraphQLPersistedQueryCachePolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertGraphQLPersistedQueryCachePolicy indicates an expected call of UpsertGraphQLPersistedQueryCachePolicy. +func (mr *MockGraphQLPersistedQueryCachePolicyClientMockRecorder) UpsertGraphQLPersistedQueryCachePolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertGraphQLPersistedQueryCachePolicy", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicyClient)(nil).UpsertGraphQLPersistedQueryCachePolicy), varargs...) +} + +// MockMulticlusterGraphQLPersistedQueryCachePolicyClient is a mock of MulticlusterGraphQLPersistedQueryCachePolicyClient interface. +type MockMulticlusterGraphQLPersistedQueryCachePolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLPersistedQueryCachePolicyClientMockRecorder +} + +// MockMulticlusterGraphQLPersistedQueryCachePolicyClientMockRecorder is the mock recorder for MockMulticlusterGraphQLPersistedQueryCachePolicyClient. +type MockMulticlusterGraphQLPersistedQueryCachePolicyClientMockRecorder struct { + mock *MockMulticlusterGraphQLPersistedQueryCachePolicyClient +} + +// NewMockMulticlusterGraphQLPersistedQueryCachePolicyClient creates a new mock instance. +func NewMockMulticlusterGraphQLPersistedQueryCachePolicyClient(ctrl *gomock.Controller) *MockMulticlusterGraphQLPersistedQueryCachePolicyClient { + mock := &MockMulticlusterGraphQLPersistedQueryCachePolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLPersistedQueryCachePolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLPersistedQueryCachePolicyClient) EXPECT() *MockMulticlusterGraphQLPersistedQueryCachePolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterGraphQLPersistedQueryCachePolicyClient) Cluster(cluster string) (v2.GraphQLPersistedQueryCachePolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.GraphQLPersistedQueryCachePolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterGraphQLPersistedQueryCachePolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterGraphQLPersistedQueryCachePolicyClient)(nil).Cluster), cluster) +} + +// MockFailoverPolicyReader is a mock of FailoverPolicyReader interface. +type MockFailoverPolicyReader struct { + ctrl *gomock.Controller + recorder *MockFailoverPolicyReaderMockRecorder +} + +// MockFailoverPolicyReaderMockRecorder is the mock recorder for MockFailoverPolicyReader. +type MockFailoverPolicyReaderMockRecorder struct { + mock *MockFailoverPolicyReader +} + +// NewMockFailoverPolicyReader creates a new mock instance. +func NewMockFailoverPolicyReader(ctrl *gomock.Controller) *MockFailoverPolicyReader { + mock := &MockFailoverPolicyReader{ctrl: ctrl} + mock.recorder = &MockFailoverPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFailoverPolicyReader) EXPECT() *MockFailoverPolicyReaderMockRecorder { + return m.recorder +} + +// GetFailoverPolicy mocks base method. +func (m *MockFailoverPolicyReader) GetFailoverPolicy(ctx context.Context, key client.ObjectKey) (*v2.FailoverPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetFailoverPolicy", ctx, key) + ret0, _ := ret[0].(*v2.FailoverPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetFailoverPolicy indicates an expected call of GetFailoverPolicy. +func (mr *MockFailoverPolicyReaderMockRecorder) GetFailoverPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyReader)(nil).GetFailoverPolicy), ctx, key) +} + +// ListFailoverPolicy mocks base method. +func (m *MockFailoverPolicyReader) ListFailoverPolicy(ctx context.Context, opts ...client.ListOption) (*v2.FailoverPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListFailoverPolicy", varargs...) + ret0, _ := ret[0].(*v2.FailoverPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListFailoverPolicy indicates an expected call of ListFailoverPolicy. +func (mr *MockFailoverPolicyReaderMockRecorder) ListFailoverPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyReader)(nil).ListFailoverPolicy), varargs...) +} + +// MockFailoverPolicyWriter is a mock of FailoverPolicyWriter interface. +type MockFailoverPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockFailoverPolicyWriterMockRecorder +} + +// MockFailoverPolicyWriterMockRecorder is the mock recorder for MockFailoverPolicyWriter. +type MockFailoverPolicyWriterMockRecorder struct { + mock *MockFailoverPolicyWriter +} + +// NewMockFailoverPolicyWriter creates a new mock instance. +func NewMockFailoverPolicyWriter(ctrl *gomock.Controller) *MockFailoverPolicyWriter { + mock := &MockFailoverPolicyWriter{ctrl: ctrl} + mock.recorder = &MockFailoverPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFailoverPolicyWriter) EXPECT() *MockFailoverPolicyWriterMockRecorder { + return m.recorder +} + +// CreateFailoverPolicy mocks base method. +func (m *MockFailoverPolicyWriter) CreateFailoverPolicy(ctx context.Context, obj *v2.FailoverPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateFailoverPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateFailoverPolicy indicates an expected call of CreateFailoverPolicy. +func (mr *MockFailoverPolicyWriterMockRecorder) CreateFailoverPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyWriter)(nil).CreateFailoverPolicy), varargs...) +} + +// DeleteAllOfFailoverPolicy mocks base method. +func (m *MockFailoverPolicyWriter) DeleteAllOfFailoverPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfFailoverPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfFailoverPolicy indicates an expected call of DeleteAllOfFailoverPolicy. +func (mr *MockFailoverPolicyWriterMockRecorder) DeleteAllOfFailoverPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyWriter)(nil).DeleteAllOfFailoverPolicy), varargs...) +} + +// DeleteFailoverPolicy mocks base method. +func (m *MockFailoverPolicyWriter) DeleteFailoverPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteFailoverPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteFailoverPolicy indicates an expected call of DeleteFailoverPolicy. +func (mr *MockFailoverPolicyWriterMockRecorder) DeleteFailoverPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyWriter)(nil).DeleteFailoverPolicy), varargs...) +} + +// PatchFailoverPolicy mocks base method. +func (m *MockFailoverPolicyWriter) PatchFailoverPolicy(ctx context.Context, obj *v2.FailoverPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchFailoverPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchFailoverPolicy indicates an expected call of PatchFailoverPolicy. +func (mr *MockFailoverPolicyWriterMockRecorder) PatchFailoverPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyWriter)(nil).PatchFailoverPolicy), varargs...) +} + +// UpdateFailoverPolicy mocks base method. +func (m *MockFailoverPolicyWriter) UpdateFailoverPolicy(ctx context.Context, obj *v2.FailoverPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateFailoverPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateFailoverPolicy indicates an expected call of UpdateFailoverPolicy. +func (mr *MockFailoverPolicyWriterMockRecorder) UpdateFailoverPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyWriter)(nil).UpdateFailoverPolicy), varargs...) +} + +// UpsertFailoverPolicy mocks base method. +func (m *MockFailoverPolicyWriter) UpsertFailoverPolicy(ctx context.Context, obj *v2.FailoverPolicy, transitionFuncs ...v2.FailoverPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertFailoverPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertFailoverPolicy indicates an expected call of UpsertFailoverPolicy. +func (mr *MockFailoverPolicyWriterMockRecorder) UpsertFailoverPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyWriter)(nil).UpsertFailoverPolicy), varargs...) +} + +// MockFailoverPolicyStatusWriter is a mock of FailoverPolicyStatusWriter interface. +type MockFailoverPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockFailoverPolicyStatusWriterMockRecorder +} + +// MockFailoverPolicyStatusWriterMockRecorder is the mock recorder for MockFailoverPolicyStatusWriter. +type MockFailoverPolicyStatusWriterMockRecorder struct { + mock *MockFailoverPolicyStatusWriter +} + +// NewMockFailoverPolicyStatusWriter creates a new mock instance. +func NewMockFailoverPolicyStatusWriter(ctrl *gomock.Controller) *MockFailoverPolicyStatusWriter { + mock := &MockFailoverPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockFailoverPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFailoverPolicyStatusWriter) EXPECT() *MockFailoverPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchFailoverPolicyStatus mocks base method. +func (m *MockFailoverPolicyStatusWriter) PatchFailoverPolicyStatus(ctx context.Context, obj *v2.FailoverPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchFailoverPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchFailoverPolicyStatus indicates an expected call of PatchFailoverPolicyStatus. +func (mr *MockFailoverPolicyStatusWriterMockRecorder) PatchFailoverPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchFailoverPolicyStatus", reflect.TypeOf((*MockFailoverPolicyStatusWriter)(nil).PatchFailoverPolicyStatus), varargs...) +} + +// UpdateFailoverPolicyStatus mocks base method. +func (m *MockFailoverPolicyStatusWriter) UpdateFailoverPolicyStatus(ctx context.Context, obj *v2.FailoverPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateFailoverPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateFailoverPolicyStatus indicates an expected call of UpdateFailoverPolicyStatus. +func (mr *MockFailoverPolicyStatusWriterMockRecorder) UpdateFailoverPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFailoverPolicyStatus", reflect.TypeOf((*MockFailoverPolicyStatusWriter)(nil).UpdateFailoverPolicyStatus), varargs...) +} + +// MockFailoverPolicyClient is a mock of FailoverPolicyClient interface. +type MockFailoverPolicyClient struct { + ctrl *gomock.Controller + recorder *MockFailoverPolicyClientMockRecorder +} + +// MockFailoverPolicyClientMockRecorder is the mock recorder for MockFailoverPolicyClient. +type MockFailoverPolicyClientMockRecorder struct { + mock *MockFailoverPolicyClient +} + +// NewMockFailoverPolicyClient creates a new mock instance. +func NewMockFailoverPolicyClient(ctrl *gomock.Controller) *MockFailoverPolicyClient { + mock := &MockFailoverPolicyClient{ctrl: ctrl} + mock.recorder = &MockFailoverPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFailoverPolicyClient) EXPECT() *MockFailoverPolicyClientMockRecorder { + return m.recorder +} + +// CreateFailoverPolicy mocks base method. +func (m *MockFailoverPolicyClient) CreateFailoverPolicy(ctx context.Context, obj *v2.FailoverPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateFailoverPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateFailoverPolicy indicates an expected call of CreateFailoverPolicy. +func (mr *MockFailoverPolicyClientMockRecorder) CreateFailoverPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyClient)(nil).CreateFailoverPolicy), varargs...) +} + +// DeleteAllOfFailoverPolicy mocks base method. +func (m *MockFailoverPolicyClient) DeleteAllOfFailoverPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfFailoverPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfFailoverPolicy indicates an expected call of DeleteAllOfFailoverPolicy. +func (mr *MockFailoverPolicyClientMockRecorder) DeleteAllOfFailoverPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyClient)(nil).DeleteAllOfFailoverPolicy), varargs...) +} + +// DeleteFailoverPolicy mocks base method. +func (m *MockFailoverPolicyClient) DeleteFailoverPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteFailoverPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteFailoverPolicy indicates an expected call of DeleteFailoverPolicy. +func (mr *MockFailoverPolicyClientMockRecorder) DeleteFailoverPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyClient)(nil).DeleteFailoverPolicy), varargs...) +} + +// GetFailoverPolicy mocks base method. +func (m *MockFailoverPolicyClient) GetFailoverPolicy(ctx context.Context, key client.ObjectKey) (*v2.FailoverPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetFailoverPolicy", ctx, key) + ret0, _ := ret[0].(*v2.FailoverPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetFailoverPolicy indicates an expected call of GetFailoverPolicy. +func (mr *MockFailoverPolicyClientMockRecorder) GetFailoverPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyClient)(nil).GetFailoverPolicy), ctx, key) +} + +// ListFailoverPolicy mocks base method. +func (m *MockFailoverPolicyClient) ListFailoverPolicy(ctx context.Context, opts ...client.ListOption) (*v2.FailoverPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListFailoverPolicy", varargs...) + ret0, _ := ret[0].(*v2.FailoverPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListFailoverPolicy indicates an expected call of ListFailoverPolicy. +func (mr *MockFailoverPolicyClientMockRecorder) ListFailoverPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyClient)(nil).ListFailoverPolicy), varargs...) +} + +// PatchFailoverPolicy mocks base method. +func (m *MockFailoverPolicyClient) PatchFailoverPolicy(ctx context.Context, obj *v2.FailoverPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchFailoverPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchFailoverPolicy indicates an expected call of PatchFailoverPolicy. +func (mr *MockFailoverPolicyClientMockRecorder) PatchFailoverPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyClient)(nil).PatchFailoverPolicy), varargs...) +} + +// PatchFailoverPolicyStatus mocks base method. +func (m *MockFailoverPolicyClient) PatchFailoverPolicyStatus(ctx context.Context, obj *v2.FailoverPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchFailoverPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchFailoverPolicyStatus indicates an expected call of PatchFailoverPolicyStatus. +func (mr *MockFailoverPolicyClientMockRecorder) PatchFailoverPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchFailoverPolicyStatus", reflect.TypeOf((*MockFailoverPolicyClient)(nil).PatchFailoverPolicyStatus), varargs...) +} + +// UpdateFailoverPolicy mocks base method. +func (m *MockFailoverPolicyClient) UpdateFailoverPolicy(ctx context.Context, obj *v2.FailoverPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateFailoverPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateFailoverPolicy indicates an expected call of UpdateFailoverPolicy. +func (mr *MockFailoverPolicyClientMockRecorder) UpdateFailoverPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyClient)(nil).UpdateFailoverPolicy), varargs...) +} + +// UpdateFailoverPolicyStatus mocks base method. +func (m *MockFailoverPolicyClient) UpdateFailoverPolicyStatus(ctx context.Context, obj *v2.FailoverPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateFailoverPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateFailoverPolicyStatus indicates an expected call of UpdateFailoverPolicyStatus. +func (mr *MockFailoverPolicyClientMockRecorder) UpdateFailoverPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFailoverPolicyStatus", reflect.TypeOf((*MockFailoverPolicyClient)(nil).UpdateFailoverPolicyStatus), varargs...) +} + +// UpsertFailoverPolicy mocks base method. +func (m *MockFailoverPolicyClient) UpsertFailoverPolicy(ctx context.Context, obj *v2.FailoverPolicy, transitionFuncs ...v2.FailoverPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertFailoverPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertFailoverPolicy indicates an expected call of UpsertFailoverPolicy. +func (mr *MockFailoverPolicyClientMockRecorder) UpsertFailoverPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertFailoverPolicy", reflect.TypeOf((*MockFailoverPolicyClient)(nil).UpsertFailoverPolicy), varargs...) +} + +// MockMulticlusterFailoverPolicyClient is a mock of MulticlusterFailoverPolicyClient interface. +type MockMulticlusterFailoverPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterFailoverPolicyClientMockRecorder +} + +// MockMulticlusterFailoverPolicyClientMockRecorder is the mock recorder for MockMulticlusterFailoverPolicyClient. +type MockMulticlusterFailoverPolicyClientMockRecorder struct { + mock *MockMulticlusterFailoverPolicyClient +} + +// NewMockMulticlusterFailoverPolicyClient creates a new mock instance. +func NewMockMulticlusterFailoverPolicyClient(ctrl *gomock.Controller) *MockMulticlusterFailoverPolicyClient { + mock := &MockMulticlusterFailoverPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterFailoverPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterFailoverPolicyClient) EXPECT() *MockMulticlusterFailoverPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterFailoverPolicyClient) Cluster(cluster string) (v2.FailoverPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.FailoverPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterFailoverPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterFailoverPolicyClient)(nil).Cluster), cluster) +} + +// MockOutlierDetectionPolicyReader is a mock of OutlierDetectionPolicyReader interface. +type MockOutlierDetectionPolicyReader struct { + ctrl *gomock.Controller + recorder *MockOutlierDetectionPolicyReaderMockRecorder +} + +// MockOutlierDetectionPolicyReaderMockRecorder is the mock recorder for MockOutlierDetectionPolicyReader. +type MockOutlierDetectionPolicyReaderMockRecorder struct { + mock *MockOutlierDetectionPolicyReader +} + +// NewMockOutlierDetectionPolicyReader creates a new mock instance. +func NewMockOutlierDetectionPolicyReader(ctrl *gomock.Controller) *MockOutlierDetectionPolicyReader { + mock := &MockOutlierDetectionPolicyReader{ctrl: ctrl} + mock.recorder = &MockOutlierDetectionPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOutlierDetectionPolicyReader) EXPECT() *MockOutlierDetectionPolicyReaderMockRecorder { + return m.recorder +} + +// GetOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyReader) GetOutlierDetectionPolicy(ctx context.Context, key client.ObjectKey) (*v2.OutlierDetectionPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetOutlierDetectionPolicy", ctx, key) + ret0, _ := ret[0].(*v2.OutlierDetectionPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetOutlierDetectionPolicy indicates an expected call of GetOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyReaderMockRecorder) GetOutlierDetectionPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyReader)(nil).GetOutlierDetectionPolicy), ctx, key) +} + +// ListOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyReader) ListOutlierDetectionPolicy(ctx context.Context, opts ...client.ListOption) (*v2.OutlierDetectionPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(*v2.OutlierDetectionPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListOutlierDetectionPolicy indicates an expected call of ListOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyReaderMockRecorder) ListOutlierDetectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyReader)(nil).ListOutlierDetectionPolicy), varargs...) +} + +// MockOutlierDetectionPolicyWriter is a mock of OutlierDetectionPolicyWriter interface. +type MockOutlierDetectionPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockOutlierDetectionPolicyWriterMockRecorder +} + +// MockOutlierDetectionPolicyWriterMockRecorder is the mock recorder for MockOutlierDetectionPolicyWriter. +type MockOutlierDetectionPolicyWriterMockRecorder struct { + mock *MockOutlierDetectionPolicyWriter +} + +// NewMockOutlierDetectionPolicyWriter creates a new mock instance. +func NewMockOutlierDetectionPolicyWriter(ctrl *gomock.Controller) *MockOutlierDetectionPolicyWriter { + mock := &MockOutlierDetectionPolicyWriter{ctrl: ctrl} + mock.recorder = &MockOutlierDetectionPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOutlierDetectionPolicyWriter) EXPECT() *MockOutlierDetectionPolicyWriterMockRecorder { + return m.recorder +} + +// CreateOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyWriter) CreateOutlierDetectionPolicy(ctx context.Context, obj *v2.OutlierDetectionPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateOutlierDetectionPolicy indicates an expected call of CreateOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyWriterMockRecorder) CreateOutlierDetectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyWriter)(nil).CreateOutlierDetectionPolicy), varargs...) +} + +// DeleteAllOfOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyWriter) DeleteAllOfOutlierDetectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfOutlierDetectionPolicy indicates an expected call of DeleteAllOfOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyWriterMockRecorder) DeleteAllOfOutlierDetectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyWriter)(nil).DeleteAllOfOutlierDetectionPolicy), varargs...) +} + +// DeleteOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyWriter) DeleteOutlierDetectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteOutlierDetectionPolicy indicates an expected call of DeleteOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyWriterMockRecorder) DeleteOutlierDetectionPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyWriter)(nil).DeleteOutlierDetectionPolicy), varargs...) +} + +// PatchOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyWriter) PatchOutlierDetectionPolicy(ctx context.Context, obj *v2.OutlierDetectionPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchOutlierDetectionPolicy indicates an expected call of PatchOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyWriterMockRecorder) PatchOutlierDetectionPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyWriter)(nil).PatchOutlierDetectionPolicy), varargs...) +} + +// UpdateOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyWriter) UpdateOutlierDetectionPolicy(ctx context.Context, obj *v2.OutlierDetectionPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateOutlierDetectionPolicy indicates an expected call of UpdateOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyWriterMockRecorder) UpdateOutlierDetectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyWriter)(nil).UpdateOutlierDetectionPolicy), varargs...) +} + +// UpsertOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyWriter) UpsertOutlierDetectionPolicy(ctx context.Context, obj *v2.OutlierDetectionPolicy, transitionFuncs ...v2.OutlierDetectionPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertOutlierDetectionPolicy indicates an expected call of UpsertOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyWriterMockRecorder) UpsertOutlierDetectionPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyWriter)(nil).UpsertOutlierDetectionPolicy), varargs...) +} + +// MockOutlierDetectionPolicyStatusWriter is a mock of OutlierDetectionPolicyStatusWriter interface. +type MockOutlierDetectionPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockOutlierDetectionPolicyStatusWriterMockRecorder +} + +// MockOutlierDetectionPolicyStatusWriterMockRecorder is the mock recorder for MockOutlierDetectionPolicyStatusWriter. +type MockOutlierDetectionPolicyStatusWriterMockRecorder struct { + mock *MockOutlierDetectionPolicyStatusWriter +} + +// NewMockOutlierDetectionPolicyStatusWriter creates a new mock instance. +func NewMockOutlierDetectionPolicyStatusWriter(ctrl *gomock.Controller) *MockOutlierDetectionPolicyStatusWriter { + mock := &MockOutlierDetectionPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockOutlierDetectionPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOutlierDetectionPolicyStatusWriter) EXPECT() *MockOutlierDetectionPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchOutlierDetectionPolicyStatus mocks base method. +func (m *MockOutlierDetectionPolicyStatusWriter) PatchOutlierDetectionPolicyStatus(ctx context.Context, obj *v2.OutlierDetectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchOutlierDetectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchOutlierDetectionPolicyStatus indicates an expected call of PatchOutlierDetectionPolicyStatus. +func (mr *MockOutlierDetectionPolicyStatusWriterMockRecorder) PatchOutlierDetectionPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchOutlierDetectionPolicyStatus", reflect.TypeOf((*MockOutlierDetectionPolicyStatusWriter)(nil).PatchOutlierDetectionPolicyStatus), varargs...) +} + +// UpdateOutlierDetectionPolicyStatus mocks base method. +func (m *MockOutlierDetectionPolicyStatusWriter) UpdateOutlierDetectionPolicyStatus(ctx context.Context, obj *v2.OutlierDetectionPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateOutlierDetectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateOutlierDetectionPolicyStatus indicates an expected call of UpdateOutlierDetectionPolicyStatus. +func (mr *MockOutlierDetectionPolicyStatusWriterMockRecorder) UpdateOutlierDetectionPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateOutlierDetectionPolicyStatus", reflect.TypeOf((*MockOutlierDetectionPolicyStatusWriter)(nil).UpdateOutlierDetectionPolicyStatus), varargs...) +} + +// MockOutlierDetectionPolicyClient is a mock of OutlierDetectionPolicyClient interface. +type MockOutlierDetectionPolicyClient struct { + ctrl *gomock.Controller + recorder *MockOutlierDetectionPolicyClientMockRecorder +} + +// MockOutlierDetectionPolicyClientMockRecorder is the mock recorder for MockOutlierDetectionPolicyClient. +type MockOutlierDetectionPolicyClientMockRecorder struct { + mock *MockOutlierDetectionPolicyClient +} + +// NewMockOutlierDetectionPolicyClient creates a new mock instance. +func NewMockOutlierDetectionPolicyClient(ctrl *gomock.Controller) *MockOutlierDetectionPolicyClient { + mock := &MockOutlierDetectionPolicyClient{ctrl: ctrl} + mock.recorder = &MockOutlierDetectionPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOutlierDetectionPolicyClient) EXPECT() *MockOutlierDetectionPolicyClientMockRecorder { + return m.recorder +} + +// CreateOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyClient) CreateOutlierDetectionPolicy(ctx context.Context, obj *v2.OutlierDetectionPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateOutlierDetectionPolicy indicates an expected call of CreateOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyClientMockRecorder) CreateOutlierDetectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyClient)(nil).CreateOutlierDetectionPolicy), varargs...) +} + +// DeleteAllOfOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyClient) DeleteAllOfOutlierDetectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfOutlierDetectionPolicy indicates an expected call of DeleteAllOfOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyClientMockRecorder) DeleteAllOfOutlierDetectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyClient)(nil).DeleteAllOfOutlierDetectionPolicy), varargs...) +} + +// DeleteOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyClient) DeleteOutlierDetectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteOutlierDetectionPolicy indicates an expected call of DeleteOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyClientMockRecorder) DeleteOutlierDetectionPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyClient)(nil).DeleteOutlierDetectionPolicy), varargs...) +} + +// GetOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyClient) GetOutlierDetectionPolicy(ctx context.Context, key client.ObjectKey) (*v2.OutlierDetectionPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetOutlierDetectionPolicy", ctx, key) + ret0, _ := ret[0].(*v2.OutlierDetectionPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetOutlierDetectionPolicy indicates an expected call of GetOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyClientMockRecorder) GetOutlierDetectionPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyClient)(nil).GetOutlierDetectionPolicy), ctx, key) +} + +// ListOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyClient) ListOutlierDetectionPolicy(ctx context.Context, opts ...client.ListOption) (*v2.OutlierDetectionPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(*v2.OutlierDetectionPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListOutlierDetectionPolicy indicates an expected call of ListOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyClientMockRecorder) ListOutlierDetectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyClient)(nil).ListOutlierDetectionPolicy), varargs...) +} + +// PatchOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyClient) PatchOutlierDetectionPolicy(ctx context.Context, obj *v2.OutlierDetectionPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchOutlierDetectionPolicy indicates an expected call of PatchOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyClientMockRecorder) PatchOutlierDetectionPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyClient)(nil).PatchOutlierDetectionPolicy), varargs...) +} + +// PatchOutlierDetectionPolicyStatus mocks base method. +func (m *MockOutlierDetectionPolicyClient) PatchOutlierDetectionPolicyStatus(ctx context.Context, obj *v2.OutlierDetectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchOutlierDetectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchOutlierDetectionPolicyStatus indicates an expected call of PatchOutlierDetectionPolicyStatus. +func (mr *MockOutlierDetectionPolicyClientMockRecorder) PatchOutlierDetectionPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchOutlierDetectionPolicyStatus", reflect.TypeOf((*MockOutlierDetectionPolicyClient)(nil).PatchOutlierDetectionPolicyStatus), varargs...) +} + +// UpdateOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyClient) UpdateOutlierDetectionPolicy(ctx context.Context, obj *v2.OutlierDetectionPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateOutlierDetectionPolicy indicates an expected call of UpdateOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyClientMockRecorder) UpdateOutlierDetectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyClient)(nil).UpdateOutlierDetectionPolicy), varargs...) +} + +// UpdateOutlierDetectionPolicyStatus mocks base method. +func (m *MockOutlierDetectionPolicyClient) UpdateOutlierDetectionPolicyStatus(ctx context.Context, obj *v2.OutlierDetectionPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateOutlierDetectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateOutlierDetectionPolicyStatus indicates an expected call of UpdateOutlierDetectionPolicyStatus. +func (mr *MockOutlierDetectionPolicyClientMockRecorder) UpdateOutlierDetectionPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateOutlierDetectionPolicyStatus", reflect.TypeOf((*MockOutlierDetectionPolicyClient)(nil).UpdateOutlierDetectionPolicyStatus), varargs...) +} + +// UpsertOutlierDetectionPolicy mocks base method. +func (m *MockOutlierDetectionPolicyClient) UpsertOutlierDetectionPolicy(ctx context.Context, obj *v2.OutlierDetectionPolicy, transitionFuncs ...v2.OutlierDetectionPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertOutlierDetectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertOutlierDetectionPolicy indicates an expected call of UpsertOutlierDetectionPolicy. +func (mr *MockOutlierDetectionPolicyClientMockRecorder) UpsertOutlierDetectionPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertOutlierDetectionPolicy", reflect.TypeOf((*MockOutlierDetectionPolicyClient)(nil).UpsertOutlierDetectionPolicy), varargs...) +} + +// MockMulticlusterOutlierDetectionPolicyClient is a mock of MulticlusterOutlierDetectionPolicyClient interface. +type MockMulticlusterOutlierDetectionPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterOutlierDetectionPolicyClientMockRecorder +} + +// MockMulticlusterOutlierDetectionPolicyClientMockRecorder is the mock recorder for MockMulticlusterOutlierDetectionPolicyClient. +type MockMulticlusterOutlierDetectionPolicyClientMockRecorder struct { + mock *MockMulticlusterOutlierDetectionPolicyClient +} + +// NewMockMulticlusterOutlierDetectionPolicyClient creates a new mock instance. +func NewMockMulticlusterOutlierDetectionPolicyClient(ctrl *gomock.Controller) *MockMulticlusterOutlierDetectionPolicyClient { + mock := &MockMulticlusterOutlierDetectionPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterOutlierDetectionPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterOutlierDetectionPolicyClient) EXPECT() *MockMulticlusterOutlierDetectionPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterOutlierDetectionPolicyClient) Cluster(cluster string) (v2.OutlierDetectionPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.OutlierDetectionPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterOutlierDetectionPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterOutlierDetectionPolicyClient)(nil).Cluster), cluster) +} + +// MockFaultInjectionPolicyReader is a mock of FaultInjectionPolicyReader interface. +type MockFaultInjectionPolicyReader struct { + ctrl *gomock.Controller + recorder *MockFaultInjectionPolicyReaderMockRecorder +} + +// MockFaultInjectionPolicyReaderMockRecorder is the mock recorder for MockFaultInjectionPolicyReader. +type MockFaultInjectionPolicyReaderMockRecorder struct { + mock *MockFaultInjectionPolicyReader +} + +// NewMockFaultInjectionPolicyReader creates a new mock instance. +func NewMockFaultInjectionPolicyReader(ctrl *gomock.Controller) *MockFaultInjectionPolicyReader { + mock := &MockFaultInjectionPolicyReader{ctrl: ctrl} + mock.recorder = &MockFaultInjectionPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFaultInjectionPolicyReader) EXPECT() *MockFaultInjectionPolicyReaderMockRecorder { + return m.recorder +} + +// GetFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyReader) GetFaultInjectionPolicy(ctx context.Context, key client.ObjectKey) (*v2.FaultInjectionPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetFaultInjectionPolicy", ctx, key) + ret0, _ := ret[0].(*v2.FaultInjectionPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetFaultInjectionPolicy indicates an expected call of GetFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyReaderMockRecorder) GetFaultInjectionPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyReader)(nil).GetFaultInjectionPolicy), ctx, key) +} + +// ListFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyReader) ListFaultInjectionPolicy(ctx context.Context, opts ...client.ListOption) (*v2.FaultInjectionPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(*v2.FaultInjectionPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListFaultInjectionPolicy indicates an expected call of ListFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyReaderMockRecorder) ListFaultInjectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyReader)(nil).ListFaultInjectionPolicy), varargs...) +} + +// MockFaultInjectionPolicyWriter is a mock of FaultInjectionPolicyWriter interface. +type MockFaultInjectionPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockFaultInjectionPolicyWriterMockRecorder +} + +// MockFaultInjectionPolicyWriterMockRecorder is the mock recorder for MockFaultInjectionPolicyWriter. +type MockFaultInjectionPolicyWriterMockRecorder struct { + mock *MockFaultInjectionPolicyWriter +} + +// NewMockFaultInjectionPolicyWriter creates a new mock instance. +func NewMockFaultInjectionPolicyWriter(ctrl *gomock.Controller) *MockFaultInjectionPolicyWriter { + mock := &MockFaultInjectionPolicyWriter{ctrl: ctrl} + mock.recorder = &MockFaultInjectionPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFaultInjectionPolicyWriter) EXPECT() *MockFaultInjectionPolicyWriterMockRecorder { + return m.recorder +} + +// CreateFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyWriter) CreateFaultInjectionPolicy(ctx context.Context, obj *v2.FaultInjectionPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateFaultInjectionPolicy indicates an expected call of CreateFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyWriterMockRecorder) CreateFaultInjectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyWriter)(nil).CreateFaultInjectionPolicy), varargs...) +} + +// DeleteAllOfFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyWriter) DeleteAllOfFaultInjectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfFaultInjectionPolicy indicates an expected call of DeleteAllOfFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyWriterMockRecorder) DeleteAllOfFaultInjectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyWriter)(nil).DeleteAllOfFaultInjectionPolicy), varargs...) +} + +// DeleteFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyWriter) DeleteFaultInjectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteFaultInjectionPolicy indicates an expected call of DeleteFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyWriterMockRecorder) DeleteFaultInjectionPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyWriter)(nil).DeleteFaultInjectionPolicy), varargs...) +} + +// PatchFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyWriter) PatchFaultInjectionPolicy(ctx context.Context, obj *v2.FaultInjectionPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchFaultInjectionPolicy indicates an expected call of PatchFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyWriterMockRecorder) PatchFaultInjectionPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyWriter)(nil).PatchFaultInjectionPolicy), varargs...) +} + +// UpdateFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyWriter) UpdateFaultInjectionPolicy(ctx context.Context, obj *v2.FaultInjectionPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateFaultInjectionPolicy indicates an expected call of UpdateFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyWriterMockRecorder) UpdateFaultInjectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyWriter)(nil).UpdateFaultInjectionPolicy), varargs...) +} + +// UpsertFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyWriter) UpsertFaultInjectionPolicy(ctx context.Context, obj *v2.FaultInjectionPolicy, transitionFuncs ...v2.FaultInjectionPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertFaultInjectionPolicy indicates an expected call of UpsertFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyWriterMockRecorder) UpsertFaultInjectionPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyWriter)(nil).UpsertFaultInjectionPolicy), varargs...) +} + +// MockFaultInjectionPolicyStatusWriter is a mock of FaultInjectionPolicyStatusWriter interface. +type MockFaultInjectionPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockFaultInjectionPolicyStatusWriterMockRecorder +} + +// MockFaultInjectionPolicyStatusWriterMockRecorder is the mock recorder for MockFaultInjectionPolicyStatusWriter. +type MockFaultInjectionPolicyStatusWriterMockRecorder struct { + mock *MockFaultInjectionPolicyStatusWriter +} + +// NewMockFaultInjectionPolicyStatusWriter creates a new mock instance. +func NewMockFaultInjectionPolicyStatusWriter(ctrl *gomock.Controller) *MockFaultInjectionPolicyStatusWriter { + mock := &MockFaultInjectionPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockFaultInjectionPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFaultInjectionPolicyStatusWriter) EXPECT() *MockFaultInjectionPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchFaultInjectionPolicyStatus mocks base method. +func (m *MockFaultInjectionPolicyStatusWriter) PatchFaultInjectionPolicyStatus(ctx context.Context, obj *v2.FaultInjectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchFaultInjectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchFaultInjectionPolicyStatus indicates an expected call of PatchFaultInjectionPolicyStatus. +func (mr *MockFaultInjectionPolicyStatusWriterMockRecorder) PatchFaultInjectionPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchFaultInjectionPolicyStatus", reflect.TypeOf((*MockFaultInjectionPolicyStatusWriter)(nil).PatchFaultInjectionPolicyStatus), varargs...) +} + +// UpdateFaultInjectionPolicyStatus mocks base method. +func (m *MockFaultInjectionPolicyStatusWriter) UpdateFaultInjectionPolicyStatus(ctx context.Context, obj *v2.FaultInjectionPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateFaultInjectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateFaultInjectionPolicyStatus indicates an expected call of UpdateFaultInjectionPolicyStatus. +func (mr *MockFaultInjectionPolicyStatusWriterMockRecorder) UpdateFaultInjectionPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFaultInjectionPolicyStatus", reflect.TypeOf((*MockFaultInjectionPolicyStatusWriter)(nil).UpdateFaultInjectionPolicyStatus), varargs...) +} + +// MockFaultInjectionPolicyClient is a mock of FaultInjectionPolicyClient interface. +type MockFaultInjectionPolicyClient struct { + ctrl *gomock.Controller + recorder *MockFaultInjectionPolicyClientMockRecorder +} + +// MockFaultInjectionPolicyClientMockRecorder is the mock recorder for MockFaultInjectionPolicyClient. +type MockFaultInjectionPolicyClientMockRecorder struct { + mock *MockFaultInjectionPolicyClient +} + +// NewMockFaultInjectionPolicyClient creates a new mock instance. +func NewMockFaultInjectionPolicyClient(ctrl *gomock.Controller) *MockFaultInjectionPolicyClient { + mock := &MockFaultInjectionPolicyClient{ctrl: ctrl} + mock.recorder = &MockFaultInjectionPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFaultInjectionPolicyClient) EXPECT() *MockFaultInjectionPolicyClientMockRecorder { + return m.recorder +} + +// CreateFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyClient) CreateFaultInjectionPolicy(ctx context.Context, obj *v2.FaultInjectionPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateFaultInjectionPolicy indicates an expected call of CreateFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyClientMockRecorder) CreateFaultInjectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyClient)(nil).CreateFaultInjectionPolicy), varargs...) +} + +// DeleteAllOfFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyClient) DeleteAllOfFaultInjectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfFaultInjectionPolicy indicates an expected call of DeleteAllOfFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyClientMockRecorder) DeleteAllOfFaultInjectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyClient)(nil).DeleteAllOfFaultInjectionPolicy), varargs...) +} + +// DeleteFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyClient) DeleteFaultInjectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteFaultInjectionPolicy indicates an expected call of DeleteFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyClientMockRecorder) DeleteFaultInjectionPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyClient)(nil).DeleteFaultInjectionPolicy), varargs...) +} + +// GetFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyClient) GetFaultInjectionPolicy(ctx context.Context, key client.ObjectKey) (*v2.FaultInjectionPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetFaultInjectionPolicy", ctx, key) + ret0, _ := ret[0].(*v2.FaultInjectionPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetFaultInjectionPolicy indicates an expected call of GetFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyClientMockRecorder) GetFaultInjectionPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyClient)(nil).GetFaultInjectionPolicy), ctx, key) +} + +// ListFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyClient) ListFaultInjectionPolicy(ctx context.Context, opts ...client.ListOption) (*v2.FaultInjectionPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(*v2.FaultInjectionPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListFaultInjectionPolicy indicates an expected call of ListFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyClientMockRecorder) ListFaultInjectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyClient)(nil).ListFaultInjectionPolicy), varargs...) +} + +// PatchFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyClient) PatchFaultInjectionPolicy(ctx context.Context, obj *v2.FaultInjectionPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchFaultInjectionPolicy indicates an expected call of PatchFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyClientMockRecorder) PatchFaultInjectionPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyClient)(nil).PatchFaultInjectionPolicy), varargs...) +} + +// PatchFaultInjectionPolicyStatus mocks base method. +func (m *MockFaultInjectionPolicyClient) PatchFaultInjectionPolicyStatus(ctx context.Context, obj *v2.FaultInjectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchFaultInjectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchFaultInjectionPolicyStatus indicates an expected call of PatchFaultInjectionPolicyStatus. +func (mr *MockFaultInjectionPolicyClientMockRecorder) PatchFaultInjectionPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchFaultInjectionPolicyStatus", reflect.TypeOf((*MockFaultInjectionPolicyClient)(nil).PatchFaultInjectionPolicyStatus), varargs...) +} + +// UpdateFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyClient) UpdateFaultInjectionPolicy(ctx context.Context, obj *v2.FaultInjectionPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateFaultInjectionPolicy indicates an expected call of UpdateFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyClientMockRecorder) UpdateFaultInjectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyClient)(nil).UpdateFaultInjectionPolicy), varargs...) +} + +// UpdateFaultInjectionPolicyStatus mocks base method. +func (m *MockFaultInjectionPolicyClient) UpdateFaultInjectionPolicyStatus(ctx context.Context, obj *v2.FaultInjectionPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateFaultInjectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateFaultInjectionPolicyStatus indicates an expected call of UpdateFaultInjectionPolicyStatus. +func (mr *MockFaultInjectionPolicyClientMockRecorder) UpdateFaultInjectionPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFaultInjectionPolicyStatus", reflect.TypeOf((*MockFaultInjectionPolicyClient)(nil).UpdateFaultInjectionPolicyStatus), varargs...) +} + +// UpsertFaultInjectionPolicy mocks base method. +func (m *MockFaultInjectionPolicyClient) UpsertFaultInjectionPolicy(ctx context.Context, obj *v2.FaultInjectionPolicy, transitionFuncs ...v2.FaultInjectionPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertFaultInjectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertFaultInjectionPolicy indicates an expected call of UpsertFaultInjectionPolicy. +func (mr *MockFaultInjectionPolicyClientMockRecorder) UpsertFaultInjectionPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertFaultInjectionPolicy", reflect.TypeOf((*MockFaultInjectionPolicyClient)(nil).UpsertFaultInjectionPolicy), varargs...) +} + +// MockMulticlusterFaultInjectionPolicyClient is a mock of MulticlusterFaultInjectionPolicyClient interface. +type MockMulticlusterFaultInjectionPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterFaultInjectionPolicyClientMockRecorder +} + +// MockMulticlusterFaultInjectionPolicyClientMockRecorder is the mock recorder for MockMulticlusterFaultInjectionPolicyClient. +type MockMulticlusterFaultInjectionPolicyClientMockRecorder struct { + mock *MockMulticlusterFaultInjectionPolicyClient +} + +// NewMockMulticlusterFaultInjectionPolicyClient creates a new mock instance. +func NewMockMulticlusterFaultInjectionPolicyClient(ctrl *gomock.Controller) *MockMulticlusterFaultInjectionPolicyClient { + mock := &MockMulticlusterFaultInjectionPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterFaultInjectionPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterFaultInjectionPolicyClient) EXPECT() *MockMulticlusterFaultInjectionPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterFaultInjectionPolicyClient) Cluster(cluster string) (v2.FaultInjectionPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.FaultInjectionPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterFaultInjectionPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterFaultInjectionPolicyClient)(nil).Cluster), cluster) +} + +// MockRetryTimeoutPolicyReader is a mock of RetryTimeoutPolicyReader interface. +type MockRetryTimeoutPolicyReader struct { + ctrl *gomock.Controller + recorder *MockRetryTimeoutPolicyReaderMockRecorder +} + +// MockRetryTimeoutPolicyReaderMockRecorder is the mock recorder for MockRetryTimeoutPolicyReader. +type MockRetryTimeoutPolicyReaderMockRecorder struct { + mock *MockRetryTimeoutPolicyReader +} + +// NewMockRetryTimeoutPolicyReader creates a new mock instance. +func NewMockRetryTimeoutPolicyReader(ctrl *gomock.Controller) *MockRetryTimeoutPolicyReader { + mock := &MockRetryTimeoutPolicyReader{ctrl: ctrl} + mock.recorder = &MockRetryTimeoutPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRetryTimeoutPolicyReader) EXPECT() *MockRetryTimeoutPolicyReaderMockRecorder { + return m.recorder +} + +// GetRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyReader) GetRetryTimeoutPolicy(ctx context.Context, key client.ObjectKey) (*v2.RetryTimeoutPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRetryTimeoutPolicy", ctx, key) + ret0, _ := ret[0].(*v2.RetryTimeoutPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRetryTimeoutPolicy indicates an expected call of GetRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyReaderMockRecorder) GetRetryTimeoutPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyReader)(nil).GetRetryTimeoutPolicy), ctx, key) +} + +// ListRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyReader) ListRetryTimeoutPolicy(ctx context.Context, opts ...client.ListOption) (*v2.RetryTimeoutPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(*v2.RetryTimeoutPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRetryTimeoutPolicy indicates an expected call of ListRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyReaderMockRecorder) ListRetryTimeoutPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyReader)(nil).ListRetryTimeoutPolicy), varargs...) +} + +// MockRetryTimeoutPolicyWriter is a mock of RetryTimeoutPolicyWriter interface. +type MockRetryTimeoutPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockRetryTimeoutPolicyWriterMockRecorder +} + +// MockRetryTimeoutPolicyWriterMockRecorder is the mock recorder for MockRetryTimeoutPolicyWriter. +type MockRetryTimeoutPolicyWriterMockRecorder struct { + mock *MockRetryTimeoutPolicyWriter +} + +// NewMockRetryTimeoutPolicyWriter creates a new mock instance. +func NewMockRetryTimeoutPolicyWriter(ctrl *gomock.Controller) *MockRetryTimeoutPolicyWriter { + mock := &MockRetryTimeoutPolicyWriter{ctrl: ctrl} + mock.recorder = &MockRetryTimeoutPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRetryTimeoutPolicyWriter) EXPECT() *MockRetryTimeoutPolicyWriterMockRecorder { + return m.recorder +} + +// CreateRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyWriter) CreateRetryTimeoutPolicy(ctx context.Context, obj *v2.RetryTimeoutPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRetryTimeoutPolicy indicates an expected call of CreateRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyWriterMockRecorder) CreateRetryTimeoutPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyWriter)(nil).CreateRetryTimeoutPolicy), varargs...) +} + +// DeleteAllOfRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyWriter) DeleteAllOfRetryTimeoutPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRetryTimeoutPolicy indicates an expected call of DeleteAllOfRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyWriterMockRecorder) DeleteAllOfRetryTimeoutPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyWriter)(nil).DeleteAllOfRetryTimeoutPolicy), varargs...) +} + +// DeleteRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyWriter) DeleteRetryTimeoutPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRetryTimeoutPolicy indicates an expected call of DeleteRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyWriterMockRecorder) DeleteRetryTimeoutPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyWriter)(nil).DeleteRetryTimeoutPolicy), varargs...) +} + +// PatchRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyWriter) PatchRetryTimeoutPolicy(ctx context.Context, obj *v2.RetryTimeoutPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRetryTimeoutPolicy indicates an expected call of PatchRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyWriterMockRecorder) PatchRetryTimeoutPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyWriter)(nil).PatchRetryTimeoutPolicy), varargs...) +} + +// UpdateRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyWriter) UpdateRetryTimeoutPolicy(ctx context.Context, obj *v2.RetryTimeoutPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRetryTimeoutPolicy indicates an expected call of UpdateRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyWriterMockRecorder) UpdateRetryTimeoutPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyWriter)(nil).UpdateRetryTimeoutPolicy), varargs...) +} + +// UpsertRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyWriter) UpsertRetryTimeoutPolicy(ctx context.Context, obj *v2.RetryTimeoutPolicy, transitionFuncs ...v2.RetryTimeoutPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRetryTimeoutPolicy indicates an expected call of UpsertRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyWriterMockRecorder) UpsertRetryTimeoutPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyWriter)(nil).UpsertRetryTimeoutPolicy), varargs...) +} + +// MockRetryTimeoutPolicyStatusWriter is a mock of RetryTimeoutPolicyStatusWriter interface. +type MockRetryTimeoutPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockRetryTimeoutPolicyStatusWriterMockRecorder +} + +// MockRetryTimeoutPolicyStatusWriterMockRecorder is the mock recorder for MockRetryTimeoutPolicyStatusWriter. +type MockRetryTimeoutPolicyStatusWriterMockRecorder struct { + mock *MockRetryTimeoutPolicyStatusWriter +} + +// NewMockRetryTimeoutPolicyStatusWriter creates a new mock instance. +func NewMockRetryTimeoutPolicyStatusWriter(ctrl *gomock.Controller) *MockRetryTimeoutPolicyStatusWriter { + mock := &MockRetryTimeoutPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockRetryTimeoutPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRetryTimeoutPolicyStatusWriter) EXPECT() *MockRetryTimeoutPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchRetryTimeoutPolicyStatus mocks base method. +func (m *MockRetryTimeoutPolicyStatusWriter) PatchRetryTimeoutPolicyStatus(ctx context.Context, obj *v2.RetryTimeoutPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRetryTimeoutPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRetryTimeoutPolicyStatus indicates an expected call of PatchRetryTimeoutPolicyStatus. +func (mr *MockRetryTimeoutPolicyStatusWriterMockRecorder) PatchRetryTimeoutPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRetryTimeoutPolicyStatus", reflect.TypeOf((*MockRetryTimeoutPolicyStatusWriter)(nil).PatchRetryTimeoutPolicyStatus), varargs...) +} + +// UpdateRetryTimeoutPolicyStatus mocks base method. +func (m *MockRetryTimeoutPolicyStatusWriter) UpdateRetryTimeoutPolicyStatus(ctx context.Context, obj *v2.RetryTimeoutPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRetryTimeoutPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRetryTimeoutPolicyStatus indicates an expected call of UpdateRetryTimeoutPolicyStatus. +func (mr *MockRetryTimeoutPolicyStatusWriterMockRecorder) UpdateRetryTimeoutPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRetryTimeoutPolicyStatus", reflect.TypeOf((*MockRetryTimeoutPolicyStatusWriter)(nil).UpdateRetryTimeoutPolicyStatus), varargs...) +} + +// MockRetryTimeoutPolicyClient is a mock of RetryTimeoutPolicyClient interface. +type MockRetryTimeoutPolicyClient struct { + ctrl *gomock.Controller + recorder *MockRetryTimeoutPolicyClientMockRecorder +} + +// MockRetryTimeoutPolicyClientMockRecorder is the mock recorder for MockRetryTimeoutPolicyClient. +type MockRetryTimeoutPolicyClientMockRecorder struct { + mock *MockRetryTimeoutPolicyClient +} + +// NewMockRetryTimeoutPolicyClient creates a new mock instance. +func NewMockRetryTimeoutPolicyClient(ctrl *gomock.Controller) *MockRetryTimeoutPolicyClient { + mock := &MockRetryTimeoutPolicyClient{ctrl: ctrl} + mock.recorder = &MockRetryTimeoutPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRetryTimeoutPolicyClient) EXPECT() *MockRetryTimeoutPolicyClientMockRecorder { + return m.recorder +} + +// CreateRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyClient) CreateRetryTimeoutPolicy(ctx context.Context, obj *v2.RetryTimeoutPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRetryTimeoutPolicy indicates an expected call of CreateRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyClientMockRecorder) CreateRetryTimeoutPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyClient)(nil).CreateRetryTimeoutPolicy), varargs...) +} + +// DeleteAllOfRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyClient) DeleteAllOfRetryTimeoutPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRetryTimeoutPolicy indicates an expected call of DeleteAllOfRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyClientMockRecorder) DeleteAllOfRetryTimeoutPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyClient)(nil).DeleteAllOfRetryTimeoutPolicy), varargs...) +} + +// DeleteRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyClient) DeleteRetryTimeoutPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRetryTimeoutPolicy indicates an expected call of DeleteRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyClientMockRecorder) DeleteRetryTimeoutPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyClient)(nil).DeleteRetryTimeoutPolicy), varargs...) +} + +// GetRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyClient) GetRetryTimeoutPolicy(ctx context.Context, key client.ObjectKey) (*v2.RetryTimeoutPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRetryTimeoutPolicy", ctx, key) + ret0, _ := ret[0].(*v2.RetryTimeoutPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRetryTimeoutPolicy indicates an expected call of GetRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyClientMockRecorder) GetRetryTimeoutPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyClient)(nil).GetRetryTimeoutPolicy), ctx, key) +} + +// ListRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyClient) ListRetryTimeoutPolicy(ctx context.Context, opts ...client.ListOption) (*v2.RetryTimeoutPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(*v2.RetryTimeoutPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRetryTimeoutPolicy indicates an expected call of ListRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyClientMockRecorder) ListRetryTimeoutPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyClient)(nil).ListRetryTimeoutPolicy), varargs...) +} + +// PatchRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyClient) PatchRetryTimeoutPolicy(ctx context.Context, obj *v2.RetryTimeoutPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRetryTimeoutPolicy indicates an expected call of PatchRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyClientMockRecorder) PatchRetryTimeoutPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyClient)(nil).PatchRetryTimeoutPolicy), varargs...) +} + +// PatchRetryTimeoutPolicyStatus mocks base method. +func (m *MockRetryTimeoutPolicyClient) PatchRetryTimeoutPolicyStatus(ctx context.Context, obj *v2.RetryTimeoutPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRetryTimeoutPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRetryTimeoutPolicyStatus indicates an expected call of PatchRetryTimeoutPolicyStatus. +func (mr *MockRetryTimeoutPolicyClientMockRecorder) PatchRetryTimeoutPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRetryTimeoutPolicyStatus", reflect.TypeOf((*MockRetryTimeoutPolicyClient)(nil).PatchRetryTimeoutPolicyStatus), varargs...) +} + +// UpdateRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyClient) UpdateRetryTimeoutPolicy(ctx context.Context, obj *v2.RetryTimeoutPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRetryTimeoutPolicy indicates an expected call of UpdateRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyClientMockRecorder) UpdateRetryTimeoutPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyClient)(nil).UpdateRetryTimeoutPolicy), varargs...) +} + +// UpdateRetryTimeoutPolicyStatus mocks base method. +func (m *MockRetryTimeoutPolicyClient) UpdateRetryTimeoutPolicyStatus(ctx context.Context, obj *v2.RetryTimeoutPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRetryTimeoutPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRetryTimeoutPolicyStatus indicates an expected call of UpdateRetryTimeoutPolicyStatus. +func (mr *MockRetryTimeoutPolicyClientMockRecorder) UpdateRetryTimeoutPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRetryTimeoutPolicyStatus", reflect.TypeOf((*MockRetryTimeoutPolicyClient)(nil).UpdateRetryTimeoutPolicyStatus), varargs...) +} + +// UpsertRetryTimeoutPolicy mocks base method. +func (m *MockRetryTimeoutPolicyClient) UpsertRetryTimeoutPolicy(ctx context.Context, obj *v2.RetryTimeoutPolicy, transitionFuncs ...v2.RetryTimeoutPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRetryTimeoutPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRetryTimeoutPolicy indicates an expected call of UpsertRetryTimeoutPolicy. +func (mr *MockRetryTimeoutPolicyClientMockRecorder) UpsertRetryTimeoutPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRetryTimeoutPolicy", reflect.TypeOf((*MockRetryTimeoutPolicyClient)(nil).UpsertRetryTimeoutPolicy), varargs...) +} + +// MockMulticlusterRetryTimeoutPolicyClient is a mock of MulticlusterRetryTimeoutPolicyClient interface. +type MockMulticlusterRetryTimeoutPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRetryTimeoutPolicyClientMockRecorder +} + +// MockMulticlusterRetryTimeoutPolicyClientMockRecorder is the mock recorder for MockMulticlusterRetryTimeoutPolicyClient. +type MockMulticlusterRetryTimeoutPolicyClientMockRecorder struct { + mock *MockMulticlusterRetryTimeoutPolicyClient +} + +// NewMockMulticlusterRetryTimeoutPolicyClient creates a new mock instance. +func NewMockMulticlusterRetryTimeoutPolicyClient(ctrl *gomock.Controller) *MockMulticlusterRetryTimeoutPolicyClient { + mock := &MockMulticlusterRetryTimeoutPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterRetryTimeoutPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRetryTimeoutPolicyClient) EXPECT() *MockMulticlusterRetryTimeoutPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterRetryTimeoutPolicyClient) Cluster(cluster string) (v2.RetryTimeoutPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.RetryTimeoutPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterRetryTimeoutPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterRetryTimeoutPolicyClient)(nil).Cluster), cluster) +} + +// MockConnectionPolicyReader is a mock of ConnectionPolicyReader interface. +type MockConnectionPolicyReader struct { + ctrl *gomock.Controller + recorder *MockConnectionPolicyReaderMockRecorder +} + +// MockConnectionPolicyReaderMockRecorder is the mock recorder for MockConnectionPolicyReader. +type MockConnectionPolicyReaderMockRecorder struct { + mock *MockConnectionPolicyReader +} + +// NewMockConnectionPolicyReader creates a new mock instance. +func NewMockConnectionPolicyReader(ctrl *gomock.Controller) *MockConnectionPolicyReader { + mock := &MockConnectionPolicyReader{ctrl: ctrl} + mock.recorder = &MockConnectionPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockConnectionPolicyReader) EXPECT() *MockConnectionPolicyReaderMockRecorder { + return m.recorder +} + +// GetConnectionPolicy mocks base method. +func (m *MockConnectionPolicyReader) GetConnectionPolicy(ctx context.Context, key client.ObjectKey) (*v2.ConnectionPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetConnectionPolicy", ctx, key) + ret0, _ := ret[0].(*v2.ConnectionPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetConnectionPolicy indicates an expected call of GetConnectionPolicy. +func (mr *MockConnectionPolicyReaderMockRecorder) GetConnectionPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyReader)(nil).GetConnectionPolicy), ctx, key) +} + +// ListConnectionPolicy mocks base method. +func (m *MockConnectionPolicyReader) ListConnectionPolicy(ctx context.Context, opts ...client.ListOption) (*v2.ConnectionPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListConnectionPolicy", varargs...) + ret0, _ := ret[0].(*v2.ConnectionPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListConnectionPolicy indicates an expected call of ListConnectionPolicy. +func (mr *MockConnectionPolicyReaderMockRecorder) ListConnectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyReader)(nil).ListConnectionPolicy), varargs...) +} + +// MockConnectionPolicyWriter is a mock of ConnectionPolicyWriter interface. +type MockConnectionPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockConnectionPolicyWriterMockRecorder +} + +// MockConnectionPolicyWriterMockRecorder is the mock recorder for MockConnectionPolicyWriter. +type MockConnectionPolicyWriterMockRecorder struct { + mock *MockConnectionPolicyWriter +} + +// NewMockConnectionPolicyWriter creates a new mock instance. +func NewMockConnectionPolicyWriter(ctrl *gomock.Controller) *MockConnectionPolicyWriter { + mock := &MockConnectionPolicyWriter{ctrl: ctrl} + mock.recorder = &MockConnectionPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockConnectionPolicyWriter) EXPECT() *MockConnectionPolicyWriterMockRecorder { + return m.recorder +} + +// CreateConnectionPolicy mocks base method. +func (m *MockConnectionPolicyWriter) CreateConnectionPolicy(ctx context.Context, obj *v2.ConnectionPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateConnectionPolicy indicates an expected call of CreateConnectionPolicy. +func (mr *MockConnectionPolicyWriterMockRecorder) CreateConnectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyWriter)(nil).CreateConnectionPolicy), varargs...) +} + +// DeleteAllOfConnectionPolicy mocks base method. +func (m *MockConnectionPolicyWriter) DeleteAllOfConnectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfConnectionPolicy indicates an expected call of DeleteAllOfConnectionPolicy. +func (mr *MockConnectionPolicyWriterMockRecorder) DeleteAllOfConnectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyWriter)(nil).DeleteAllOfConnectionPolicy), varargs...) +} + +// DeleteConnectionPolicy mocks base method. +func (m *MockConnectionPolicyWriter) DeleteConnectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteConnectionPolicy indicates an expected call of DeleteConnectionPolicy. +func (mr *MockConnectionPolicyWriterMockRecorder) DeleteConnectionPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyWriter)(nil).DeleteConnectionPolicy), varargs...) +} + +// PatchConnectionPolicy mocks base method. +func (m *MockConnectionPolicyWriter) PatchConnectionPolicy(ctx context.Context, obj *v2.ConnectionPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchConnectionPolicy indicates an expected call of PatchConnectionPolicy. +func (mr *MockConnectionPolicyWriterMockRecorder) PatchConnectionPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyWriter)(nil).PatchConnectionPolicy), varargs...) +} + +// UpdateConnectionPolicy mocks base method. +func (m *MockConnectionPolicyWriter) UpdateConnectionPolicy(ctx context.Context, obj *v2.ConnectionPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateConnectionPolicy indicates an expected call of UpdateConnectionPolicy. +func (mr *MockConnectionPolicyWriterMockRecorder) UpdateConnectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyWriter)(nil).UpdateConnectionPolicy), varargs...) +} + +// UpsertConnectionPolicy mocks base method. +func (m *MockConnectionPolicyWriter) UpsertConnectionPolicy(ctx context.Context, obj *v2.ConnectionPolicy, transitionFuncs ...v2.ConnectionPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertConnectionPolicy indicates an expected call of UpsertConnectionPolicy. +func (mr *MockConnectionPolicyWriterMockRecorder) UpsertConnectionPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyWriter)(nil).UpsertConnectionPolicy), varargs...) +} + +// MockConnectionPolicyStatusWriter is a mock of ConnectionPolicyStatusWriter interface. +type MockConnectionPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockConnectionPolicyStatusWriterMockRecorder +} + +// MockConnectionPolicyStatusWriterMockRecorder is the mock recorder for MockConnectionPolicyStatusWriter. +type MockConnectionPolicyStatusWriterMockRecorder struct { + mock *MockConnectionPolicyStatusWriter +} + +// NewMockConnectionPolicyStatusWriter creates a new mock instance. +func NewMockConnectionPolicyStatusWriter(ctrl *gomock.Controller) *MockConnectionPolicyStatusWriter { + mock := &MockConnectionPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockConnectionPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockConnectionPolicyStatusWriter) EXPECT() *MockConnectionPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchConnectionPolicyStatus mocks base method. +func (m *MockConnectionPolicyStatusWriter) PatchConnectionPolicyStatus(ctx context.Context, obj *v2.ConnectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchConnectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchConnectionPolicyStatus indicates an expected call of PatchConnectionPolicyStatus. +func (mr *MockConnectionPolicyStatusWriterMockRecorder) PatchConnectionPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchConnectionPolicyStatus", reflect.TypeOf((*MockConnectionPolicyStatusWriter)(nil).PatchConnectionPolicyStatus), varargs...) +} + +// UpdateConnectionPolicyStatus mocks base method. +func (m *MockConnectionPolicyStatusWriter) UpdateConnectionPolicyStatus(ctx context.Context, obj *v2.ConnectionPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateConnectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateConnectionPolicyStatus indicates an expected call of UpdateConnectionPolicyStatus. +func (mr *MockConnectionPolicyStatusWriterMockRecorder) UpdateConnectionPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateConnectionPolicyStatus", reflect.TypeOf((*MockConnectionPolicyStatusWriter)(nil).UpdateConnectionPolicyStatus), varargs...) +} + +// MockConnectionPolicyClient is a mock of ConnectionPolicyClient interface. +type MockConnectionPolicyClient struct { + ctrl *gomock.Controller + recorder *MockConnectionPolicyClientMockRecorder +} + +// MockConnectionPolicyClientMockRecorder is the mock recorder for MockConnectionPolicyClient. +type MockConnectionPolicyClientMockRecorder struct { + mock *MockConnectionPolicyClient +} + +// NewMockConnectionPolicyClient creates a new mock instance. +func NewMockConnectionPolicyClient(ctrl *gomock.Controller) *MockConnectionPolicyClient { + mock := &MockConnectionPolicyClient{ctrl: ctrl} + mock.recorder = &MockConnectionPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockConnectionPolicyClient) EXPECT() *MockConnectionPolicyClientMockRecorder { + return m.recorder +} + +// CreateConnectionPolicy mocks base method. +func (m *MockConnectionPolicyClient) CreateConnectionPolicy(ctx context.Context, obj *v2.ConnectionPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateConnectionPolicy indicates an expected call of CreateConnectionPolicy. +func (mr *MockConnectionPolicyClientMockRecorder) CreateConnectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyClient)(nil).CreateConnectionPolicy), varargs...) +} + +// DeleteAllOfConnectionPolicy mocks base method. +func (m *MockConnectionPolicyClient) DeleteAllOfConnectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfConnectionPolicy indicates an expected call of DeleteAllOfConnectionPolicy. +func (mr *MockConnectionPolicyClientMockRecorder) DeleteAllOfConnectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyClient)(nil).DeleteAllOfConnectionPolicy), varargs...) +} + +// DeleteConnectionPolicy mocks base method. +func (m *MockConnectionPolicyClient) DeleteConnectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteConnectionPolicy indicates an expected call of DeleteConnectionPolicy. +func (mr *MockConnectionPolicyClientMockRecorder) DeleteConnectionPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyClient)(nil).DeleteConnectionPolicy), varargs...) +} + +// GetConnectionPolicy mocks base method. +func (m *MockConnectionPolicyClient) GetConnectionPolicy(ctx context.Context, key client.ObjectKey) (*v2.ConnectionPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetConnectionPolicy", ctx, key) + ret0, _ := ret[0].(*v2.ConnectionPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetConnectionPolicy indicates an expected call of GetConnectionPolicy. +func (mr *MockConnectionPolicyClientMockRecorder) GetConnectionPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyClient)(nil).GetConnectionPolicy), ctx, key) +} + +// ListConnectionPolicy mocks base method. +func (m *MockConnectionPolicyClient) ListConnectionPolicy(ctx context.Context, opts ...client.ListOption) (*v2.ConnectionPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListConnectionPolicy", varargs...) + ret0, _ := ret[0].(*v2.ConnectionPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListConnectionPolicy indicates an expected call of ListConnectionPolicy. +func (mr *MockConnectionPolicyClientMockRecorder) ListConnectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyClient)(nil).ListConnectionPolicy), varargs...) +} + +// PatchConnectionPolicy mocks base method. +func (m *MockConnectionPolicyClient) PatchConnectionPolicy(ctx context.Context, obj *v2.ConnectionPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchConnectionPolicy indicates an expected call of PatchConnectionPolicy. +func (mr *MockConnectionPolicyClientMockRecorder) PatchConnectionPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyClient)(nil).PatchConnectionPolicy), varargs...) +} + +// PatchConnectionPolicyStatus mocks base method. +func (m *MockConnectionPolicyClient) PatchConnectionPolicyStatus(ctx context.Context, obj *v2.ConnectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchConnectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchConnectionPolicyStatus indicates an expected call of PatchConnectionPolicyStatus. +func (mr *MockConnectionPolicyClientMockRecorder) PatchConnectionPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchConnectionPolicyStatus", reflect.TypeOf((*MockConnectionPolicyClient)(nil).PatchConnectionPolicyStatus), varargs...) +} + +// UpdateConnectionPolicy mocks base method. +func (m *MockConnectionPolicyClient) UpdateConnectionPolicy(ctx context.Context, obj *v2.ConnectionPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateConnectionPolicy indicates an expected call of UpdateConnectionPolicy. +func (mr *MockConnectionPolicyClientMockRecorder) UpdateConnectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyClient)(nil).UpdateConnectionPolicy), varargs...) +} + +// UpdateConnectionPolicyStatus mocks base method. +func (m *MockConnectionPolicyClient) UpdateConnectionPolicyStatus(ctx context.Context, obj *v2.ConnectionPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateConnectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateConnectionPolicyStatus indicates an expected call of UpdateConnectionPolicyStatus. +func (mr *MockConnectionPolicyClientMockRecorder) UpdateConnectionPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateConnectionPolicyStatus", reflect.TypeOf((*MockConnectionPolicyClient)(nil).UpdateConnectionPolicyStatus), varargs...) +} + +// UpsertConnectionPolicy mocks base method. +func (m *MockConnectionPolicyClient) UpsertConnectionPolicy(ctx context.Context, obj *v2.ConnectionPolicy, transitionFuncs ...v2.ConnectionPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertConnectionPolicy indicates an expected call of UpsertConnectionPolicy. +func (mr *MockConnectionPolicyClientMockRecorder) UpsertConnectionPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertConnectionPolicy", reflect.TypeOf((*MockConnectionPolicyClient)(nil).UpsertConnectionPolicy), varargs...) +} + +// MockMulticlusterConnectionPolicyClient is a mock of MulticlusterConnectionPolicyClient interface. +type MockMulticlusterConnectionPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterConnectionPolicyClientMockRecorder +} + +// MockMulticlusterConnectionPolicyClientMockRecorder is the mock recorder for MockMulticlusterConnectionPolicyClient. +type MockMulticlusterConnectionPolicyClientMockRecorder struct { + mock *MockMulticlusterConnectionPolicyClient +} + +// NewMockMulticlusterConnectionPolicyClient creates a new mock instance. +func NewMockMulticlusterConnectionPolicyClient(ctrl *gomock.Controller) *MockMulticlusterConnectionPolicyClient { + mock := &MockMulticlusterConnectionPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterConnectionPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterConnectionPolicyClient) EXPECT() *MockMulticlusterConnectionPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterConnectionPolicyClient) Cluster(cluster string) (v2.ConnectionPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.ConnectionPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterConnectionPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterConnectionPolicyClient)(nil).Cluster), cluster) +} + +// MockTrimProxyConfigPolicyReader is a mock of TrimProxyConfigPolicyReader interface. +type MockTrimProxyConfigPolicyReader struct { + ctrl *gomock.Controller + recorder *MockTrimProxyConfigPolicyReaderMockRecorder +} + +// MockTrimProxyConfigPolicyReaderMockRecorder is the mock recorder for MockTrimProxyConfigPolicyReader. +type MockTrimProxyConfigPolicyReaderMockRecorder struct { + mock *MockTrimProxyConfigPolicyReader +} + +// NewMockTrimProxyConfigPolicyReader creates a new mock instance. +func NewMockTrimProxyConfigPolicyReader(ctrl *gomock.Controller) *MockTrimProxyConfigPolicyReader { + mock := &MockTrimProxyConfigPolicyReader{ctrl: ctrl} + mock.recorder = &MockTrimProxyConfigPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTrimProxyConfigPolicyReader) EXPECT() *MockTrimProxyConfigPolicyReaderMockRecorder { + return m.recorder +} + +// GetTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyReader) GetTrimProxyConfigPolicy(ctx context.Context, key client.ObjectKey) (*v2.TrimProxyConfigPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetTrimProxyConfigPolicy", ctx, key) + ret0, _ := ret[0].(*v2.TrimProxyConfigPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetTrimProxyConfigPolicy indicates an expected call of GetTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyReaderMockRecorder) GetTrimProxyConfigPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyReader)(nil).GetTrimProxyConfigPolicy), ctx, key) +} + +// ListTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyReader) ListTrimProxyConfigPolicy(ctx context.Context, opts ...client.ListOption) (*v2.TrimProxyConfigPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(*v2.TrimProxyConfigPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListTrimProxyConfigPolicy indicates an expected call of ListTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyReaderMockRecorder) ListTrimProxyConfigPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyReader)(nil).ListTrimProxyConfigPolicy), varargs...) +} + +// MockTrimProxyConfigPolicyWriter is a mock of TrimProxyConfigPolicyWriter interface. +type MockTrimProxyConfigPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockTrimProxyConfigPolicyWriterMockRecorder +} + +// MockTrimProxyConfigPolicyWriterMockRecorder is the mock recorder for MockTrimProxyConfigPolicyWriter. +type MockTrimProxyConfigPolicyWriterMockRecorder struct { + mock *MockTrimProxyConfigPolicyWriter +} + +// NewMockTrimProxyConfigPolicyWriter creates a new mock instance. +func NewMockTrimProxyConfigPolicyWriter(ctrl *gomock.Controller) *MockTrimProxyConfigPolicyWriter { + mock := &MockTrimProxyConfigPolicyWriter{ctrl: ctrl} + mock.recorder = &MockTrimProxyConfigPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTrimProxyConfigPolicyWriter) EXPECT() *MockTrimProxyConfigPolicyWriterMockRecorder { + return m.recorder +} + +// CreateTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyWriter) CreateTrimProxyConfigPolicy(ctx context.Context, obj *v2.TrimProxyConfigPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateTrimProxyConfigPolicy indicates an expected call of CreateTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyWriterMockRecorder) CreateTrimProxyConfigPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyWriter)(nil).CreateTrimProxyConfigPolicy), varargs...) +} + +// DeleteAllOfTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyWriter) DeleteAllOfTrimProxyConfigPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfTrimProxyConfigPolicy indicates an expected call of DeleteAllOfTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyWriterMockRecorder) DeleteAllOfTrimProxyConfigPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyWriter)(nil).DeleteAllOfTrimProxyConfigPolicy), varargs...) +} + +// DeleteTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyWriter) DeleteTrimProxyConfigPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteTrimProxyConfigPolicy indicates an expected call of DeleteTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyWriterMockRecorder) DeleteTrimProxyConfigPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyWriter)(nil).DeleteTrimProxyConfigPolicy), varargs...) +} + +// PatchTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyWriter) PatchTrimProxyConfigPolicy(ctx context.Context, obj *v2.TrimProxyConfigPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchTrimProxyConfigPolicy indicates an expected call of PatchTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyWriterMockRecorder) PatchTrimProxyConfigPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyWriter)(nil).PatchTrimProxyConfigPolicy), varargs...) +} + +// UpdateTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyWriter) UpdateTrimProxyConfigPolicy(ctx context.Context, obj *v2.TrimProxyConfigPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateTrimProxyConfigPolicy indicates an expected call of UpdateTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyWriterMockRecorder) UpdateTrimProxyConfigPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyWriter)(nil).UpdateTrimProxyConfigPolicy), varargs...) +} + +// UpsertTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyWriter) UpsertTrimProxyConfigPolicy(ctx context.Context, obj *v2.TrimProxyConfigPolicy, transitionFuncs ...v2.TrimProxyConfigPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertTrimProxyConfigPolicy indicates an expected call of UpsertTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyWriterMockRecorder) UpsertTrimProxyConfigPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyWriter)(nil).UpsertTrimProxyConfigPolicy), varargs...) +} + +// MockTrimProxyConfigPolicyStatusWriter is a mock of TrimProxyConfigPolicyStatusWriter interface. +type MockTrimProxyConfigPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockTrimProxyConfigPolicyStatusWriterMockRecorder +} + +// MockTrimProxyConfigPolicyStatusWriterMockRecorder is the mock recorder for MockTrimProxyConfigPolicyStatusWriter. +type MockTrimProxyConfigPolicyStatusWriterMockRecorder struct { + mock *MockTrimProxyConfigPolicyStatusWriter +} + +// NewMockTrimProxyConfigPolicyStatusWriter creates a new mock instance. +func NewMockTrimProxyConfigPolicyStatusWriter(ctrl *gomock.Controller) *MockTrimProxyConfigPolicyStatusWriter { + mock := &MockTrimProxyConfigPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockTrimProxyConfigPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTrimProxyConfigPolicyStatusWriter) EXPECT() *MockTrimProxyConfigPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchTrimProxyConfigPolicyStatus mocks base method. +func (m *MockTrimProxyConfigPolicyStatusWriter) PatchTrimProxyConfigPolicyStatus(ctx context.Context, obj *v2.TrimProxyConfigPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchTrimProxyConfigPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchTrimProxyConfigPolicyStatus indicates an expected call of PatchTrimProxyConfigPolicyStatus. +func (mr *MockTrimProxyConfigPolicyStatusWriterMockRecorder) PatchTrimProxyConfigPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchTrimProxyConfigPolicyStatus", reflect.TypeOf((*MockTrimProxyConfigPolicyStatusWriter)(nil).PatchTrimProxyConfigPolicyStatus), varargs...) +} + +// UpdateTrimProxyConfigPolicyStatus mocks base method. +func (m *MockTrimProxyConfigPolicyStatusWriter) UpdateTrimProxyConfigPolicyStatus(ctx context.Context, obj *v2.TrimProxyConfigPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateTrimProxyConfigPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateTrimProxyConfigPolicyStatus indicates an expected call of UpdateTrimProxyConfigPolicyStatus. +func (mr *MockTrimProxyConfigPolicyStatusWriterMockRecorder) UpdateTrimProxyConfigPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTrimProxyConfigPolicyStatus", reflect.TypeOf((*MockTrimProxyConfigPolicyStatusWriter)(nil).UpdateTrimProxyConfigPolicyStatus), varargs...) +} + +// MockTrimProxyConfigPolicyClient is a mock of TrimProxyConfigPolicyClient interface. +type MockTrimProxyConfigPolicyClient struct { + ctrl *gomock.Controller + recorder *MockTrimProxyConfigPolicyClientMockRecorder +} + +// MockTrimProxyConfigPolicyClientMockRecorder is the mock recorder for MockTrimProxyConfigPolicyClient. +type MockTrimProxyConfigPolicyClientMockRecorder struct { + mock *MockTrimProxyConfigPolicyClient +} + +// NewMockTrimProxyConfigPolicyClient creates a new mock instance. +func NewMockTrimProxyConfigPolicyClient(ctrl *gomock.Controller) *MockTrimProxyConfigPolicyClient { + mock := &MockTrimProxyConfigPolicyClient{ctrl: ctrl} + mock.recorder = &MockTrimProxyConfigPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTrimProxyConfigPolicyClient) EXPECT() *MockTrimProxyConfigPolicyClientMockRecorder { + return m.recorder +} + +// CreateTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyClient) CreateTrimProxyConfigPolicy(ctx context.Context, obj *v2.TrimProxyConfigPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateTrimProxyConfigPolicy indicates an expected call of CreateTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyClientMockRecorder) CreateTrimProxyConfigPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyClient)(nil).CreateTrimProxyConfigPolicy), varargs...) +} + +// DeleteAllOfTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyClient) DeleteAllOfTrimProxyConfigPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfTrimProxyConfigPolicy indicates an expected call of DeleteAllOfTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyClientMockRecorder) DeleteAllOfTrimProxyConfigPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyClient)(nil).DeleteAllOfTrimProxyConfigPolicy), varargs...) +} + +// DeleteTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyClient) DeleteTrimProxyConfigPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteTrimProxyConfigPolicy indicates an expected call of DeleteTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyClientMockRecorder) DeleteTrimProxyConfigPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyClient)(nil).DeleteTrimProxyConfigPolicy), varargs...) +} + +// GetTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyClient) GetTrimProxyConfigPolicy(ctx context.Context, key client.ObjectKey) (*v2.TrimProxyConfigPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetTrimProxyConfigPolicy", ctx, key) + ret0, _ := ret[0].(*v2.TrimProxyConfigPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetTrimProxyConfigPolicy indicates an expected call of GetTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyClientMockRecorder) GetTrimProxyConfigPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyClient)(nil).GetTrimProxyConfigPolicy), ctx, key) +} + +// ListTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyClient) ListTrimProxyConfigPolicy(ctx context.Context, opts ...client.ListOption) (*v2.TrimProxyConfigPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(*v2.TrimProxyConfigPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListTrimProxyConfigPolicy indicates an expected call of ListTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyClientMockRecorder) ListTrimProxyConfigPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyClient)(nil).ListTrimProxyConfigPolicy), varargs...) +} + +// PatchTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyClient) PatchTrimProxyConfigPolicy(ctx context.Context, obj *v2.TrimProxyConfigPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchTrimProxyConfigPolicy indicates an expected call of PatchTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyClientMockRecorder) PatchTrimProxyConfigPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyClient)(nil).PatchTrimProxyConfigPolicy), varargs...) +} + +// PatchTrimProxyConfigPolicyStatus mocks base method. +func (m *MockTrimProxyConfigPolicyClient) PatchTrimProxyConfigPolicyStatus(ctx context.Context, obj *v2.TrimProxyConfigPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchTrimProxyConfigPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchTrimProxyConfigPolicyStatus indicates an expected call of PatchTrimProxyConfigPolicyStatus. +func (mr *MockTrimProxyConfigPolicyClientMockRecorder) PatchTrimProxyConfigPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchTrimProxyConfigPolicyStatus", reflect.TypeOf((*MockTrimProxyConfigPolicyClient)(nil).PatchTrimProxyConfigPolicyStatus), varargs...) +} + +// UpdateTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyClient) UpdateTrimProxyConfigPolicy(ctx context.Context, obj *v2.TrimProxyConfigPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateTrimProxyConfigPolicy indicates an expected call of UpdateTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyClientMockRecorder) UpdateTrimProxyConfigPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyClient)(nil).UpdateTrimProxyConfigPolicy), varargs...) +} + +// UpdateTrimProxyConfigPolicyStatus mocks base method. +func (m *MockTrimProxyConfigPolicyClient) UpdateTrimProxyConfigPolicyStatus(ctx context.Context, obj *v2.TrimProxyConfigPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateTrimProxyConfigPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateTrimProxyConfigPolicyStatus indicates an expected call of UpdateTrimProxyConfigPolicyStatus. +func (mr *MockTrimProxyConfigPolicyClientMockRecorder) UpdateTrimProxyConfigPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTrimProxyConfigPolicyStatus", reflect.TypeOf((*MockTrimProxyConfigPolicyClient)(nil).UpdateTrimProxyConfigPolicyStatus), varargs...) +} + +// UpsertTrimProxyConfigPolicy mocks base method. +func (m *MockTrimProxyConfigPolicyClient) UpsertTrimProxyConfigPolicy(ctx context.Context, obj *v2.TrimProxyConfigPolicy, transitionFuncs ...v2.TrimProxyConfigPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertTrimProxyConfigPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertTrimProxyConfigPolicy indicates an expected call of UpsertTrimProxyConfigPolicy. +func (mr *MockTrimProxyConfigPolicyClientMockRecorder) UpsertTrimProxyConfigPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertTrimProxyConfigPolicy", reflect.TypeOf((*MockTrimProxyConfigPolicyClient)(nil).UpsertTrimProxyConfigPolicy), varargs...) +} + +// MockMulticlusterTrimProxyConfigPolicyClient is a mock of MulticlusterTrimProxyConfigPolicyClient interface. +type MockMulticlusterTrimProxyConfigPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterTrimProxyConfigPolicyClientMockRecorder +} + +// MockMulticlusterTrimProxyConfigPolicyClientMockRecorder is the mock recorder for MockMulticlusterTrimProxyConfigPolicyClient. +type MockMulticlusterTrimProxyConfigPolicyClientMockRecorder struct { + mock *MockMulticlusterTrimProxyConfigPolicyClient +} + +// NewMockMulticlusterTrimProxyConfigPolicyClient creates a new mock instance. +func NewMockMulticlusterTrimProxyConfigPolicyClient(ctrl *gomock.Controller) *MockMulticlusterTrimProxyConfigPolicyClient { + mock := &MockMulticlusterTrimProxyConfigPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterTrimProxyConfigPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterTrimProxyConfigPolicyClient) EXPECT() *MockMulticlusterTrimProxyConfigPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterTrimProxyConfigPolicyClient) Cluster(cluster string) (v2.TrimProxyConfigPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.TrimProxyConfigPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterTrimProxyConfigPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterTrimProxyConfigPolicyClient)(nil).Cluster), cluster) +} + +// MockActiveHealthCheckPolicyReader is a mock of ActiveHealthCheckPolicyReader interface. +type MockActiveHealthCheckPolicyReader struct { + ctrl *gomock.Controller + recorder *MockActiveHealthCheckPolicyReaderMockRecorder +} + +// MockActiveHealthCheckPolicyReaderMockRecorder is the mock recorder for MockActiveHealthCheckPolicyReader. +type MockActiveHealthCheckPolicyReaderMockRecorder struct { + mock *MockActiveHealthCheckPolicyReader +} + +// NewMockActiveHealthCheckPolicyReader creates a new mock instance. +func NewMockActiveHealthCheckPolicyReader(ctrl *gomock.Controller) *MockActiveHealthCheckPolicyReader { + mock := &MockActiveHealthCheckPolicyReader{ctrl: ctrl} + mock.recorder = &MockActiveHealthCheckPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockActiveHealthCheckPolicyReader) EXPECT() *MockActiveHealthCheckPolicyReaderMockRecorder { + return m.recorder +} + +// GetActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyReader) GetActiveHealthCheckPolicy(ctx context.Context, key client.ObjectKey) (*v2.ActiveHealthCheckPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetActiveHealthCheckPolicy", ctx, key) + ret0, _ := ret[0].(*v2.ActiveHealthCheckPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetActiveHealthCheckPolicy indicates an expected call of GetActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyReaderMockRecorder) GetActiveHealthCheckPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyReader)(nil).GetActiveHealthCheckPolicy), ctx, key) +} + +// ListActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyReader) ListActiveHealthCheckPolicy(ctx context.Context, opts ...client.ListOption) (*v2.ActiveHealthCheckPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(*v2.ActiveHealthCheckPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListActiveHealthCheckPolicy indicates an expected call of ListActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyReaderMockRecorder) ListActiveHealthCheckPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyReader)(nil).ListActiveHealthCheckPolicy), varargs...) +} + +// MockActiveHealthCheckPolicyWriter is a mock of ActiveHealthCheckPolicyWriter interface. +type MockActiveHealthCheckPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockActiveHealthCheckPolicyWriterMockRecorder +} + +// MockActiveHealthCheckPolicyWriterMockRecorder is the mock recorder for MockActiveHealthCheckPolicyWriter. +type MockActiveHealthCheckPolicyWriterMockRecorder struct { + mock *MockActiveHealthCheckPolicyWriter +} + +// NewMockActiveHealthCheckPolicyWriter creates a new mock instance. +func NewMockActiveHealthCheckPolicyWriter(ctrl *gomock.Controller) *MockActiveHealthCheckPolicyWriter { + mock := &MockActiveHealthCheckPolicyWriter{ctrl: ctrl} + mock.recorder = &MockActiveHealthCheckPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockActiveHealthCheckPolicyWriter) EXPECT() *MockActiveHealthCheckPolicyWriterMockRecorder { + return m.recorder +} + +// CreateActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyWriter) CreateActiveHealthCheckPolicy(ctx context.Context, obj *v2.ActiveHealthCheckPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateActiveHealthCheckPolicy indicates an expected call of CreateActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyWriterMockRecorder) CreateActiveHealthCheckPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyWriter)(nil).CreateActiveHealthCheckPolicy), varargs...) +} + +// DeleteActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyWriter) DeleteActiveHealthCheckPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteActiveHealthCheckPolicy indicates an expected call of DeleteActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyWriterMockRecorder) DeleteActiveHealthCheckPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyWriter)(nil).DeleteActiveHealthCheckPolicy), varargs...) +} + +// DeleteAllOfActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyWriter) DeleteAllOfActiveHealthCheckPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfActiveHealthCheckPolicy indicates an expected call of DeleteAllOfActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyWriterMockRecorder) DeleteAllOfActiveHealthCheckPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyWriter)(nil).DeleteAllOfActiveHealthCheckPolicy), varargs...) +} + +// PatchActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyWriter) PatchActiveHealthCheckPolicy(ctx context.Context, obj *v2.ActiveHealthCheckPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchActiveHealthCheckPolicy indicates an expected call of PatchActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyWriterMockRecorder) PatchActiveHealthCheckPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyWriter)(nil).PatchActiveHealthCheckPolicy), varargs...) +} + +// UpdateActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyWriter) UpdateActiveHealthCheckPolicy(ctx context.Context, obj *v2.ActiveHealthCheckPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateActiveHealthCheckPolicy indicates an expected call of UpdateActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyWriterMockRecorder) UpdateActiveHealthCheckPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyWriter)(nil).UpdateActiveHealthCheckPolicy), varargs...) +} + +// UpsertActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyWriter) UpsertActiveHealthCheckPolicy(ctx context.Context, obj *v2.ActiveHealthCheckPolicy, transitionFuncs ...v2.ActiveHealthCheckPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertActiveHealthCheckPolicy indicates an expected call of UpsertActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyWriterMockRecorder) UpsertActiveHealthCheckPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyWriter)(nil).UpsertActiveHealthCheckPolicy), varargs...) +} + +// MockActiveHealthCheckPolicyStatusWriter is a mock of ActiveHealthCheckPolicyStatusWriter interface. +type MockActiveHealthCheckPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockActiveHealthCheckPolicyStatusWriterMockRecorder +} + +// MockActiveHealthCheckPolicyStatusWriterMockRecorder is the mock recorder for MockActiveHealthCheckPolicyStatusWriter. +type MockActiveHealthCheckPolicyStatusWriterMockRecorder struct { + mock *MockActiveHealthCheckPolicyStatusWriter +} + +// NewMockActiveHealthCheckPolicyStatusWriter creates a new mock instance. +func NewMockActiveHealthCheckPolicyStatusWriter(ctrl *gomock.Controller) *MockActiveHealthCheckPolicyStatusWriter { + mock := &MockActiveHealthCheckPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockActiveHealthCheckPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockActiveHealthCheckPolicyStatusWriter) EXPECT() *MockActiveHealthCheckPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchActiveHealthCheckPolicyStatus mocks base method. +func (m *MockActiveHealthCheckPolicyStatusWriter) PatchActiveHealthCheckPolicyStatus(ctx context.Context, obj *v2.ActiveHealthCheckPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchActiveHealthCheckPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchActiveHealthCheckPolicyStatus indicates an expected call of PatchActiveHealthCheckPolicyStatus. +func (mr *MockActiveHealthCheckPolicyStatusWriterMockRecorder) PatchActiveHealthCheckPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchActiveHealthCheckPolicyStatus", reflect.TypeOf((*MockActiveHealthCheckPolicyStatusWriter)(nil).PatchActiveHealthCheckPolicyStatus), varargs...) +} + +// UpdateActiveHealthCheckPolicyStatus mocks base method. +func (m *MockActiveHealthCheckPolicyStatusWriter) UpdateActiveHealthCheckPolicyStatus(ctx context.Context, obj *v2.ActiveHealthCheckPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateActiveHealthCheckPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateActiveHealthCheckPolicyStatus indicates an expected call of UpdateActiveHealthCheckPolicyStatus. +func (mr *MockActiveHealthCheckPolicyStatusWriterMockRecorder) UpdateActiveHealthCheckPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateActiveHealthCheckPolicyStatus", reflect.TypeOf((*MockActiveHealthCheckPolicyStatusWriter)(nil).UpdateActiveHealthCheckPolicyStatus), varargs...) +} + +// MockActiveHealthCheckPolicyClient is a mock of ActiveHealthCheckPolicyClient interface. +type MockActiveHealthCheckPolicyClient struct { + ctrl *gomock.Controller + recorder *MockActiveHealthCheckPolicyClientMockRecorder +} + +// MockActiveHealthCheckPolicyClientMockRecorder is the mock recorder for MockActiveHealthCheckPolicyClient. +type MockActiveHealthCheckPolicyClientMockRecorder struct { + mock *MockActiveHealthCheckPolicyClient +} + +// NewMockActiveHealthCheckPolicyClient creates a new mock instance. +func NewMockActiveHealthCheckPolicyClient(ctrl *gomock.Controller) *MockActiveHealthCheckPolicyClient { + mock := &MockActiveHealthCheckPolicyClient{ctrl: ctrl} + mock.recorder = &MockActiveHealthCheckPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockActiveHealthCheckPolicyClient) EXPECT() *MockActiveHealthCheckPolicyClientMockRecorder { + return m.recorder +} + +// CreateActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyClient) CreateActiveHealthCheckPolicy(ctx context.Context, obj *v2.ActiveHealthCheckPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateActiveHealthCheckPolicy indicates an expected call of CreateActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyClientMockRecorder) CreateActiveHealthCheckPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyClient)(nil).CreateActiveHealthCheckPolicy), varargs...) +} + +// DeleteActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyClient) DeleteActiveHealthCheckPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteActiveHealthCheckPolicy indicates an expected call of DeleteActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyClientMockRecorder) DeleteActiveHealthCheckPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyClient)(nil).DeleteActiveHealthCheckPolicy), varargs...) +} + +// DeleteAllOfActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyClient) DeleteAllOfActiveHealthCheckPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfActiveHealthCheckPolicy indicates an expected call of DeleteAllOfActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyClientMockRecorder) DeleteAllOfActiveHealthCheckPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyClient)(nil).DeleteAllOfActiveHealthCheckPolicy), varargs...) +} + +// GetActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyClient) GetActiveHealthCheckPolicy(ctx context.Context, key client.ObjectKey) (*v2.ActiveHealthCheckPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetActiveHealthCheckPolicy", ctx, key) + ret0, _ := ret[0].(*v2.ActiveHealthCheckPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetActiveHealthCheckPolicy indicates an expected call of GetActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyClientMockRecorder) GetActiveHealthCheckPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyClient)(nil).GetActiveHealthCheckPolicy), ctx, key) +} + +// ListActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyClient) ListActiveHealthCheckPolicy(ctx context.Context, opts ...client.ListOption) (*v2.ActiveHealthCheckPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(*v2.ActiveHealthCheckPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListActiveHealthCheckPolicy indicates an expected call of ListActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyClientMockRecorder) ListActiveHealthCheckPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyClient)(nil).ListActiveHealthCheckPolicy), varargs...) +} + +// PatchActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyClient) PatchActiveHealthCheckPolicy(ctx context.Context, obj *v2.ActiveHealthCheckPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchActiveHealthCheckPolicy indicates an expected call of PatchActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyClientMockRecorder) PatchActiveHealthCheckPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyClient)(nil).PatchActiveHealthCheckPolicy), varargs...) +} + +// PatchActiveHealthCheckPolicyStatus mocks base method. +func (m *MockActiveHealthCheckPolicyClient) PatchActiveHealthCheckPolicyStatus(ctx context.Context, obj *v2.ActiveHealthCheckPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchActiveHealthCheckPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchActiveHealthCheckPolicyStatus indicates an expected call of PatchActiveHealthCheckPolicyStatus. +func (mr *MockActiveHealthCheckPolicyClientMockRecorder) PatchActiveHealthCheckPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchActiveHealthCheckPolicyStatus", reflect.TypeOf((*MockActiveHealthCheckPolicyClient)(nil).PatchActiveHealthCheckPolicyStatus), varargs...) +} + +// UpdateActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyClient) UpdateActiveHealthCheckPolicy(ctx context.Context, obj *v2.ActiveHealthCheckPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateActiveHealthCheckPolicy indicates an expected call of UpdateActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyClientMockRecorder) UpdateActiveHealthCheckPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyClient)(nil).UpdateActiveHealthCheckPolicy), varargs...) +} + +// UpdateActiveHealthCheckPolicyStatus mocks base method. +func (m *MockActiveHealthCheckPolicyClient) UpdateActiveHealthCheckPolicyStatus(ctx context.Context, obj *v2.ActiveHealthCheckPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateActiveHealthCheckPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateActiveHealthCheckPolicyStatus indicates an expected call of UpdateActiveHealthCheckPolicyStatus. +func (mr *MockActiveHealthCheckPolicyClientMockRecorder) UpdateActiveHealthCheckPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateActiveHealthCheckPolicyStatus", reflect.TypeOf((*MockActiveHealthCheckPolicyClient)(nil).UpdateActiveHealthCheckPolicyStatus), varargs...) +} + +// UpsertActiveHealthCheckPolicy mocks base method. +func (m *MockActiveHealthCheckPolicyClient) UpsertActiveHealthCheckPolicy(ctx context.Context, obj *v2.ActiveHealthCheckPolicy, transitionFuncs ...v2.ActiveHealthCheckPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertActiveHealthCheckPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertActiveHealthCheckPolicy indicates an expected call of UpsertActiveHealthCheckPolicy. +func (mr *MockActiveHealthCheckPolicyClientMockRecorder) UpsertActiveHealthCheckPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertActiveHealthCheckPolicy", reflect.TypeOf((*MockActiveHealthCheckPolicyClient)(nil).UpsertActiveHealthCheckPolicy), varargs...) +} + +// MockMulticlusterActiveHealthCheckPolicyClient is a mock of MulticlusterActiveHealthCheckPolicyClient interface. +type MockMulticlusterActiveHealthCheckPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterActiveHealthCheckPolicyClientMockRecorder +} + +// MockMulticlusterActiveHealthCheckPolicyClientMockRecorder is the mock recorder for MockMulticlusterActiveHealthCheckPolicyClient. +type MockMulticlusterActiveHealthCheckPolicyClientMockRecorder struct { + mock *MockMulticlusterActiveHealthCheckPolicyClient +} + +// NewMockMulticlusterActiveHealthCheckPolicyClient creates a new mock instance. +func NewMockMulticlusterActiveHealthCheckPolicyClient(ctrl *gomock.Controller) *MockMulticlusterActiveHealthCheckPolicyClient { + mock := &MockMulticlusterActiveHealthCheckPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterActiveHealthCheckPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterActiveHealthCheckPolicyClient) EXPECT() *MockMulticlusterActiveHealthCheckPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterActiveHealthCheckPolicyClient) Cluster(cluster string) (v2.ActiveHealthCheckPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.ActiveHealthCheckPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterActiveHealthCheckPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterActiveHealthCheckPolicyClient)(nil).Cluster), cluster) +} + +// MockListenerConnectionPolicyReader is a mock of ListenerConnectionPolicyReader interface. +type MockListenerConnectionPolicyReader struct { + ctrl *gomock.Controller + recorder *MockListenerConnectionPolicyReaderMockRecorder +} + +// MockListenerConnectionPolicyReaderMockRecorder is the mock recorder for MockListenerConnectionPolicyReader. +type MockListenerConnectionPolicyReaderMockRecorder struct { + mock *MockListenerConnectionPolicyReader +} + +// NewMockListenerConnectionPolicyReader creates a new mock instance. +func NewMockListenerConnectionPolicyReader(ctrl *gomock.Controller) *MockListenerConnectionPolicyReader { + mock := &MockListenerConnectionPolicyReader{ctrl: ctrl} + mock.recorder = &MockListenerConnectionPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockListenerConnectionPolicyReader) EXPECT() *MockListenerConnectionPolicyReaderMockRecorder { + return m.recorder +} + +// GetListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyReader) GetListenerConnectionPolicy(ctx context.Context, key client.ObjectKey) (*v2.ListenerConnectionPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetListenerConnectionPolicy", ctx, key) + ret0, _ := ret[0].(*v2.ListenerConnectionPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetListenerConnectionPolicy indicates an expected call of GetListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyReaderMockRecorder) GetListenerConnectionPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyReader)(nil).GetListenerConnectionPolicy), ctx, key) +} + +// ListListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyReader) ListListenerConnectionPolicy(ctx context.Context, opts ...client.ListOption) (*v2.ListenerConnectionPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(*v2.ListenerConnectionPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListListenerConnectionPolicy indicates an expected call of ListListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyReaderMockRecorder) ListListenerConnectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyReader)(nil).ListListenerConnectionPolicy), varargs...) +} + +// MockListenerConnectionPolicyWriter is a mock of ListenerConnectionPolicyWriter interface. +type MockListenerConnectionPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockListenerConnectionPolicyWriterMockRecorder +} + +// MockListenerConnectionPolicyWriterMockRecorder is the mock recorder for MockListenerConnectionPolicyWriter. +type MockListenerConnectionPolicyWriterMockRecorder struct { + mock *MockListenerConnectionPolicyWriter +} + +// NewMockListenerConnectionPolicyWriter creates a new mock instance. +func NewMockListenerConnectionPolicyWriter(ctrl *gomock.Controller) *MockListenerConnectionPolicyWriter { + mock := &MockListenerConnectionPolicyWriter{ctrl: ctrl} + mock.recorder = &MockListenerConnectionPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockListenerConnectionPolicyWriter) EXPECT() *MockListenerConnectionPolicyWriterMockRecorder { + return m.recorder +} + +// CreateListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyWriter) CreateListenerConnectionPolicy(ctx context.Context, obj *v2.ListenerConnectionPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateListenerConnectionPolicy indicates an expected call of CreateListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyWriterMockRecorder) CreateListenerConnectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyWriter)(nil).CreateListenerConnectionPolicy), varargs...) +} + +// DeleteAllOfListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyWriter) DeleteAllOfListenerConnectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfListenerConnectionPolicy indicates an expected call of DeleteAllOfListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyWriterMockRecorder) DeleteAllOfListenerConnectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyWriter)(nil).DeleteAllOfListenerConnectionPolicy), varargs...) +} + +// DeleteListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyWriter) DeleteListenerConnectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteListenerConnectionPolicy indicates an expected call of DeleteListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyWriterMockRecorder) DeleteListenerConnectionPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyWriter)(nil).DeleteListenerConnectionPolicy), varargs...) +} + +// PatchListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyWriter) PatchListenerConnectionPolicy(ctx context.Context, obj *v2.ListenerConnectionPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchListenerConnectionPolicy indicates an expected call of PatchListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyWriterMockRecorder) PatchListenerConnectionPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyWriter)(nil).PatchListenerConnectionPolicy), varargs...) +} + +// UpdateListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyWriter) UpdateListenerConnectionPolicy(ctx context.Context, obj *v2.ListenerConnectionPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateListenerConnectionPolicy indicates an expected call of UpdateListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyWriterMockRecorder) UpdateListenerConnectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyWriter)(nil).UpdateListenerConnectionPolicy), varargs...) +} + +// UpsertListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyWriter) UpsertListenerConnectionPolicy(ctx context.Context, obj *v2.ListenerConnectionPolicy, transitionFuncs ...v2.ListenerConnectionPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertListenerConnectionPolicy indicates an expected call of UpsertListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyWriterMockRecorder) UpsertListenerConnectionPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyWriter)(nil).UpsertListenerConnectionPolicy), varargs...) +} + +// MockListenerConnectionPolicyStatusWriter is a mock of ListenerConnectionPolicyStatusWriter interface. +type MockListenerConnectionPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockListenerConnectionPolicyStatusWriterMockRecorder +} + +// MockListenerConnectionPolicyStatusWriterMockRecorder is the mock recorder for MockListenerConnectionPolicyStatusWriter. +type MockListenerConnectionPolicyStatusWriterMockRecorder struct { + mock *MockListenerConnectionPolicyStatusWriter +} + +// NewMockListenerConnectionPolicyStatusWriter creates a new mock instance. +func NewMockListenerConnectionPolicyStatusWriter(ctrl *gomock.Controller) *MockListenerConnectionPolicyStatusWriter { + mock := &MockListenerConnectionPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockListenerConnectionPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockListenerConnectionPolicyStatusWriter) EXPECT() *MockListenerConnectionPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchListenerConnectionPolicyStatus mocks base method. +func (m *MockListenerConnectionPolicyStatusWriter) PatchListenerConnectionPolicyStatus(ctx context.Context, obj *v2.ListenerConnectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchListenerConnectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchListenerConnectionPolicyStatus indicates an expected call of PatchListenerConnectionPolicyStatus. +func (mr *MockListenerConnectionPolicyStatusWriterMockRecorder) PatchListenerConnectionPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchListenerConnectionPolicyStatus", reflect.TypeOf((*MockListenerConnectionPolicyStatusWriter)(nil).PatchListenerConnectionPolicyStatus), varargs...) +} + +// UpdateListenerConnectionPolicyStatus mocks base method. +func (m *MockListenerConnectionPolicyStatusWriter) UpdateListenerConnectionPolicyStatus(ctx context.Context, obj *v2.ListenerConnectionPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateListenerConnectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateListenerConnectionPolicyStatus indicates an expected call of UpdateListenerConnectionPolicyStatus. +func (mr *MockListenerConnectionPolicyStatusWriterMockRecorder) UpdateListenerConnectionPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateListenerConnectionPolicyStatus", reflect.TypeOf((*MockListenerConnectionPolicyStatusWriter)(nil).UpdateListenerConnectionPolicyStatus), varargs...) +} + +// MockListenerConnectionPolicyClient is a mock of ListenerConnectionPolicyClient interface. +type MockListenerConnectionPolicyClient struct { + ctrl *gomock.Controller + recorder *MockListenerConnectionPolicyClientMockRecorder +} + +// MockListenerConnectionPolicyClientMockRecorder is the mock recorder for MockListenerConnectionPolicyClient. +type MockListenerConnectionPolicyClientMockRecorder struct { + mock *MockListenerConnectionPolicyClient +} + +// NewMockListenerConnectionPolicyClient creates a new mock instance. +func NewMockListenerConnectionPolicyClient(ctrl *gomock.Controller) *MockListenerConnectionPolicyClient { + mock := &MockListenerConnectionPolicyClient{ctrl: ctrl} + mock.recorder = &MockListenerConnectionPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockListenerConnectionPolicyClient) EXPECT() *MockListenerConnectionPolicyClientMockRecorder { + return m.recorder +} + +// CreateListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyClient) CreateListenerConnectionPolicy(ctx context.Context, obj *v2.ListenerConnectionPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateListenerConnectionPolicy indicates an expected call of CreateListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyClientMockRecorder) CreateListenerConnectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyClient)(nil).CreateListenerConnectionPolicy), varargs...) +} + +// DeleteAllOfListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyClient) DeleteAllOfListenerConnectionPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfListenerConnectionPolicy indicates an expected call of DeleteAllOfListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyClientMockRecorder) DeleteAllOfListenerConnectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyClient)(nil).DeleteAllOfListenerConnectionPolicy), varargs...) +} + +// DeleteListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyClient) DeleteListenerConnectionPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteListenerConnectionPolicy indicates an expected call of DeleteListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyClientMockRecorder) DeleteListenerConnectionPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyClient)(nil).DeleteListenerConnectionPolicy), varargs...) +} + +// GetListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyClient) GetListenerConnectionPolicy(ctx context.Context, key client.ObjectKey) (*v2.ListenerConnectionPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetListenerConnectionPolicy", ctx, key) + ret0, _ := ret[0].(*v2.ListenerConnectionPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetListenerConnectionPolicy indicates an expected call of GetListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyClientMockRecorder) GetListenerConnectionPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyClient)(nil).GetListenerConnectionPolicy), ctx, key) +} + +// ListListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyClient) ListListenerConnectionPolicy(ctx context.Context, opts ...client.ListOption) (*v2.ListenerConnectionPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(*v2.ListenerConnectionPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListListenerConnectionPolicy indicates an expected call of ListListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyClientMockRecorder) ListListenerConnectionPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyClient)(nil).ListListenerConnectionPolicy), varargs...) +} + +// PatchListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyClient) PatchListenerConnectionPolicy(ctx context.Context, obj *v2.ListenerConnectionPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchListenerConnectionPolicy indicates an expected call of PatchListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyClientMockRecorder) PatchListenerConnectionPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyClient)(nil).PatchListenerConnectionPolicy), varargs...) +} + +// PatchListenerConnectionPolicyStatus mocks base method. +func (m *MockListenerConnectionPolicyClient) PatchListenerConnectionPolicyStatus(ctx context.Context, obj *v2.ListenerConnectionPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchListenerConnectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchListenerConnectionPolicyStatus indicates an expected call of PatchListenerConnectionPolicyStatus. +func (mr *MockListenerConnectionPolicyClientMockRecorder) PatchListenerConnectionPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchListenerConnectionPolicyStatus", reflect.TypeOf((*MockListenerConnectionPolicyClient)(nil).PatchListenerConnectionPolicyStatus), varargs...) +} + +// UpdateListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyClient) UpdateListenerConnectionPolicy(ctx context.Context, obj *v2.ListenerConnectionPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateListenerConnectionPolicy indicates an expected call of UpdateListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyClientMockRecorder) UpdateListenerConnectionPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyClient)(nil).UpdateListenerConnectionPolicy), varargs...) +} + +// UpdateListenerConnectionPolicyStatus mocks base method. +func (m *MockListenerConnectionPolicyClient) UpdateListenerConnectionPolicyStatus(ctx context.Context, obj *v2.ListenerConnectionPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateListenerConnectionPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateListenerConnectionPolicyStatus indicates an expected call of UpdateListenerConnectionPolicyStatus. +func (mr *MockListenerConnectionPolicyClientMockRecorder) UpdateListenerConnectionPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateListenerConnectionPolicyStatus", reflect.TypeOf((*MockListenerConnectionPolicyClient)(nil).UpdateListenerConnectionPolicyStatus), varargs...) +} + +// UpsertListenerConnectionPolicy mocks base method. +func (m *MockListenerConnectionPolicyClient) UpsertListenerConnectionPolicy(ctx context.Context, obj *v2.ListenerConnectionPolicy, transitionFuncs ...v2.ListenerConnectionPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertListenerConnectionPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertListenerConnectionPolicy indicates an expected call of UpsertListenerConnectionPolicy. +func (mr *MockListenerConnectionPolicyClientMockRecorder) UpsertListenerConnectionPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertListenerConnectionPolicy", reflect.TypeOf((*MockListenerConnectionPolicyClient)(nil).UpsertListenerConnectionPolicy), varargs...) +} + +// MockMulticlusterListenerConnectionPolicyClient is a mock of MulticlusterListenerConnectionPolicyClient interface. +type MockMulticlusterListenerConnectionPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterListenerConnectionPolicyClientMockRecorder +} + +// MockMulticlusterListenerConnectionPolicyClientMockRecorder is the mock recorder for MockMulticlusterListenerConnectionPolicyClient. +type MockMulticlusterListenerConnectionPolicyClientMockRecorder struct { + mock *MockMulticlusterListenerConnectionPolicyClient +} + +// NewMockMulticlusterListenerConnectionPolicyClient creates a new mock instance. +func NewMockMulticlusterListenerConnectionPolicyClient(ctrl *gomock.Controller) *MockMulticlusterListenerConnectionPolicyClient { + mock := &MockMulticlusterListenerConnectionPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterListenerConnectionPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterListenerConnectionPolicyClient) EXPECT() *MockMulticlusterListenerConnectionPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterListenerConnectionPolicyClient) Cluster(cluster string) (v2.ListenerConnectionPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.ListenerConnectionPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterListenerConnectionPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterListenerConnectionPolicyClient)(nil).Cluster), cluster) +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/outlier_detection_policy.pb.clone.go b/client-go/resilience.policy.gloo.solo.io/v2/outlier_detection_policy.pb.clone.go new file mode 100644 index 000000000..63c1f9cd8 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/outlier_detection_policy.pb.clone.go @@ -0,0 +1,155 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/outlier_detection_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *OutlierDetectionPolicySpec) Clone() proto.Message { + var target *OutlierDetectionPolicySpec + if m == nil { + return target + } + target = &OutlierDetectionPolicySpec{} + + if m.GetApplyToDestinations() != nil { + target.ApplyToDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector, len(m.GetApplyToDestinations())) + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.ApplyToDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*OutlierDetectionPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*OutlierDetectionPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *OutlierDetectionPolicyStatus) Clone() proto.Message { + var target *OutlierDetectionPolicyStatus + if m == nil { + return target + } + target = &OutlierDetectionPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedDestinationPorts = m.GetNumSelectedDestinationPorts() + + return target +} + +// Clone function +func (m *OutlierDetectionPolicyReport) Clone() proto.Message { + var target *OutlierDetectionPolicyReport + if m == nil { + return target + } + target = &OutlierDetectionPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedDestinationPorts() != nil { + target.SelectedDestinationPorts = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetSelectedDestinationPorts())) + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedDestinationPorts[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.SelectedDestinationPorts[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + return target +} + +// Clone function +func (m *OutlierDetectionPolicySpec_Config) Clone() proto.Message { + var target *OutlierDetectionPolicySpec_Config + if m == nil { + return target + } + target = &OutlierDetectionPolicySpec_Config{} + + if h, ok := interface{}(m.GetConsecutiveErrors()).(clone.Cloner); ok { + target.ConsecutiveErrors = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.ConsecutiveErrors = proto.Clone(m.GetConsecutiveErrors()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + if h, ok := interface{}(m.GetInterval()).(clone.Cloner); ok { + target.Interval = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.Interval = proto.Clone(m.GetInterval()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if h, ok := interface{}(m.GetBaseEjectionTime()).(clone.Cloner); ok { + target.BaseEjectionTime = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.BaseEjectionTime = proto.Clone(m.GetBaseEjectionTime()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + target.MaxEjectionPercent = m.GetMaxEjectionPercent() + + if h, ok := interface{}(m.GetConsecutiveGatewayErrors()).(clone.Cloner); ok { + target.ConsecutiveGatewayErrors = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.ConsecutiveGatewayErrors = proto.Clone(m.GetConsecutiveGatewayErrors()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + return target +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/outlier_detection_policy.pb.equal.go b/client-go/resilience.policy.gloo.solo.io/v2/outlier_detection_policy.pb.equal.go new file mode 100644 index 000000000..495bcdb10 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/outlier_detection_policy.pb.equal.go @@ -0,0 +1,241 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/outlier_detection_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *OutlierDetectionPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OutlierDetectionPolicySpec) + if !ok { + that2, ok := that.(OutlierDetectionPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToDestinations()) != len(target.GetApplyToDestinations()) { + return false + } + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToDestinations()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *OutlierDetectionPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OutlierDetectionPolicyStatus) + if !ok { + that2, ok := that.(OutlierDetectionPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedDestinationPorts() != target.GetNumSelectedDestinationPorts() { + return false + } + + return true +} + +// Equal function +func (m *OutlierDetectionPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OutlierDetectionPolicyReport) + if !ok { + that2, ok := that.(OutlierDetectionPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedDestinationPorts()) != len(target.GetSelectedDestinationPorts()) { + return false + } + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedDestinationPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedDestinationPorts()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *OutlierDetectionPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*OutlierDetectionPolicySpec_Config) + if !ok { + that2, ok := that.(OutlierDetectionPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetConsecutiveErrors()).(equality.Equalizer); ok { + if !h.Equal(target.GetConsecutiveErrors()) { + return false + } + } else { + if !proto.Equal(m.GetConsecutiveErrors(), target.GetConsecutiveErrors()) { + return false + } + } + + if h, ok := interface{}(m.GetInterval()).(equality.Equalizer); ok { + if !h.Equal(target.GetInterval()) { + return false + } + } else { + if !proto.Equal(m.GetInterval(), target.GetInterval()) { + return false + } + } + + if h, ok := interface{}(m.GetBaseEjectionTime()).(equality.Equalizer); ok { + if !h.Equal(target.GetBaseEjectionTime()) { + return false + } + } else { + if !proto.Equal(m.GetBaseEjectionTime(), target.GetBaseEjectionTime()) { + return false + } + } + + if m.GetMaxEjectionPercent() != target.GetMaxEjectionPercent() { + return false + } + + if h, ok := interface{}(m.GetConsecutiveGatewayErrors()).(equality.Equalizer); ok { + if !h.Equal(target.GetConsecutiveGatewayErrors()) { + return false + } + } else { + if !proto.Equal(m.GetConsecutiveGatewayErrors(), target.GetConsecutiveGatewayErrors()) { + return false + } + } + + return true +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/outlier_detection_policy.pb.go b/client-go/resilience.policy.gloo.solo.io/v2/outlier_detection_policy.pb.go new file mode 100644 index 000000000..21b5c37d0 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/outlier_detection_policy.pb.go @@ -0,0 +1,538 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/outlier_detection_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// OutlierDetectionPolicy is used to configure [outlier detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier) on the selected destinations. +// Specifying this field requires an empty `source_selector` because it must apply to all traffic. +// OutlierDetectionPolicies are applied at the *Destination* level. +// +// For VirtualDestinations, traffic will not be sent to deployments that are unavailable by default. +// An OutlierDetectionPolicy will add configuration to also eject a deployment that is returning too many 5xx HTTP status codes. +type OutlierDetectionPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Destinations to apply the policy to. + // If empty, the policy applies to all destinations in the workspace. + ApplyToDestinations []*v2.DestinationSelector `protobuf:"bytes,1,rep,name=apply_to_destinations,json=applyToDestinations,proto3" json:"apply_to_destinations,omitempty"` + // The details of the OutlierDetectionPolicy to apply to the selected destinations. + Config *OutlierDetectionPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *OutlierDetectionPolicySpec) Reset() { + *x = OutlierDetectionPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutlierDetectionPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutlierDetectionPolicySpec) ProtoMessage() {} + +func (x *OutlierDetectionPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutlierDetectionPolicySpec.ProtoReflect.Descriptor instead. +func (*OutlierDetectionPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *OutlierDetectionPolicySpec) GetApplyToDestinations() []*v2.DestinationSelector { + if x != nil { + return x.ApplyToDestinations + } + return nil +} + +func (x *OutlierDetectionPolicySpec) GetConfig() *OutlierDetectionPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type OutlierDetectionPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of destination ports selected by the policy. + NumSelectedDestinationPorts uint32 `protobuf:"varint,2,opt,name=num_selected_destination_ports,json=numSelectedDestinationPorts,proto3" json:"num_selected_destination_ports,omitempty"` +} + +func (x *OutlierDetectionPolicyStatus) Reset() { + *x = OutlierDetectionPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutlierDetectionPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutlierDetectionPolicyStatus) ProtoMessage() {} + +func (x *OutlierDetectionPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutlierDetectionPolicyStatus.ProtoReflect.Descriptor instead. +func (*OutlierDetectionPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *OutlierDetectionPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *OutlierDetectionPolicyStatus) GetNumSelectedDestinationPorts() uint32 { + if x != nil { + return x.NumSelectedDestinationPorts + } + return 0 +} + +type OutlierDetectionPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of destination ports selected by the policy. + SelectedDestinationPorts []*v2.DestinationReference `protobuf:"bytes,2,rep,name=selected_destination_ports,json=selectedDestinationPorts,proto3" json:"selected_destination_ports,omitempty"` +} + +func (x *OutlierDetectionPolicyReport) Reset() { + *x = OutlierDetectionPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutlierDetectionPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutlierDetectionPolicyReport) ProtoMessage() {} + +func (x *OutlierDetectionPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutlierDetectionPolicyReport.ProtoReflect.Descriptor instead. +func (*OutlierDetectionPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *OutlierDetectionPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *OutlierDetectionPolicyReport) GetSelectedDestinationPorts() []*v2.DestinationReference { + if x != nil { + return x.SelectedDestinationPorts + } + return nil +} + +type OutlierDetectionPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The number of 5xx errors before a destination is removed from the healthy connection pool. The default, if this field is not set, is 5. + ConsecutiveErrors *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=consecutive_errors,json=consecutiveErrors,proto3" json:"consecutive_errors,omitempty"` + // The amount of time between analyzing destinations for ejection. + // Set this value as an integer plus a unit of time, in the format `1h`, `1m`, `1s`, or `1ms`. The value must be at least `1ms`, and defaults to `10s`. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"` + // The minimum time duration for ejection, or the time when a destination is considered unhealthy and not used for load balancing. + // Set this value as an integer plus a unit of time, in the format `1h`, `1m`, `1s`, or `1ms`. The value must be at least `1ms`, and defaults to `30s`. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + BaseEjectionTime *duration.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"` + // The maximum percentage of destinations that can be removed from the healthy connection pool at a time. + // For example, if you have 10 total destinations that the policy selects, and set this value to 50 percent, 5 destinations can be removed at once. + // At least 1 destination can always be removed, regardless of the value you set. You can set this value between `0` and `100`, with a default of `100`. + MaxEjectionPercent uint32 `protobuf:"varint,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"` + // Number of gateway errors before a host is ejected from the connection pool. + // When the upstream host is accessed over HTTP, a 502, 503, or 504 return + // code qualifies as a gateway error. When the upstream host is accessed over + // an opaque TCP connection, connect timeouts and connection error/failure + // events qualify as a gateway error. + // This feature is disabled by default or when set to the value 0. + // + // Note that consecutive_gateway_errors and consecutive_errors can be + // used separately or together. Because the errors counted by + // consecutive_gateway_errors are also included in consecutive_errors, + // if the value of consecutive_gateway_errors is greater than or equal to + // the value of consecutive_errors, consecutive_gateway_errors will have + // no effect. + ConsecutiveGatewayErrors *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=consecutive_gateway_errors,json=consecutiveGatewayErrors,proto3" json:"consecutive_gateway_errors,omitempty"` +} + +func (x *OutlierDetectionPolicySpec_Config) Reset() { + *x = OutlierDetectionPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutlierDetectionPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutlierDetectionPolicySpec_Config) ProtoMessage() {} + +func (x *OutlierDetectionPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutlierDetectionPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*OutlierDetectionPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *OutlierDetectionPolicySpec_Config) GetConsecutiveErrors() *wrappers.UInt32Value { + if x != nil { + return x.ConsecutiveErrors + } + return nil +} + +func (x *OutlierDetectionPolicySpec_Config) GetInterval() *duration.Duration { + if x != nil { + return x.Interval + } + return nil +} + +func (x *OutlierDetectionPolicySpec_Config) GetBaseEjectionTime() *duration.Duration { + if x != nil { + return x.BaseEjectionTime + } + return nil +} + +func (x *OutlierDetectionPolicySpec_Config) GetMaxEjectionPercent() uint32 { + if x != nil { + return x.MaxEjectionPercent + } + return 0 +} + +func (x *OutlierDetectionPolicySpec_Config) GetConsecutiveGatewayErrors() *wrappers.UInt32Value { + if x != nil { + return x.ConsecutiveGatewayErrors + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDesc = []byte{ + 0x0a, 0x6c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2f, + 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, + 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, + 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x04, 0x0a, + 0x1a, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5c, 0x0a, 0x15, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x06, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x72, 0x65, 0x73, 0x69, + 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, + 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xe3, 0x02, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x4b, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x08, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x12, 0x47, 0x0a, 0x12, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, + 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, + 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x45, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x5a, + 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x1c, 0x4f, + 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x12, 0x43, 0x0a, 0x1e, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x72, 0x74, 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x1c, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, + 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x72, 0x65, 0x73, + 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x75, 0x74, 0x6c, + 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x18, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0x5a, 0x0a, + 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5f, 0x5a, 0x51, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, + 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, + 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_goTypes = []interface{}{ + (*OutlierDetectionPolicySpec)(nil), // 0: resilience.policy.gloo.solo.io.OutlierDetectionPolicySpec + (*OutlierDetectionPolicyStatus)(nil), // 1: resilience.policy.gloo.solo.io.OutlierDetectionPolicyStatus + (*OutlierDetectionPolicyReport)(nil), // 2: resilience.policy.gloo.solo.io.OutlierDetectionPolicyReport + (*OutlierDetectionPolicySpec_Config)(nil), // 3: resilience.policy.gloo.solo.io.OutlierDetectionPolicySpec.Config + nil, // 4: resilience.policy.gloo.solo.io.OutlierDetectionPolicyReport.WorkspacesEntry + (*v2.DestinationSelector)(nil), // 5: common.gloo.solo.io.DestinationSelector + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.DestinationReference)(nil), // 7: common.gloo.solo.io.DestinationReference + (*wrappers.UInt32Value)(nil), // 8: google.protobuf.UInt32Value + (*duration.Duration)(nil), // 9: google.protobuf.Duration + (*v2.Report)(nil), // 10: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_depIdxs = []int32{ + 5, // 0: resilience.policy.gloo.solo.io.OutlierDetectionPolicySpec.apply_to_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 3, // 1: resilience.policy.gloo.solo.io.OutlierDetectionPolicySpec.config:type_name -> resilience.policy.gloo.solo.io.OutlierDetectionPolicySpec.Config + 6, // 2: resilience.policy.gloo.solo.io.OutlierDetectionPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: resilience.policy.gloo.solo.io.OutlierDetectionPolicyReport.workspaces:type_name -> resilience.policy.gloo.solo.io.OutlierDetectionPolicyReport.WorkspacesEntry + 7, // 4: resilience.policy.gloo.solo.io.OutlierDetectionPolicyReport.selected_destination_ports:type_name -> common.gloo.solo.io.DestinationReference + 8, // 5: resilience.policy.gloo.solo.io.OutlierDetectionPolicySpec.Config.consecutive_errors:type_name -> google.protobuf.UInt32Value + 9, // 6: resilience.policy.gloo.solo.io.OutlierDetectionPolicySpec.Config.interval:type_name -> google.protobuf.Duration + 9, // 7: resilience.policy.gloo.solo.io.OutlierDetectionPolicySpec.Config.base_ejection_time:type_name -> google.protobuf.Duration + 8, // 8: resilience.policy.gloo.solo.io.OutlierDetectionPolicySpec.Config.consecutive_gateway_errors:type_name -> google.protobuf.UInt32Value + 10, // 9: resilience.policy.gloo.solo.io.OutlierDetectionPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutlierDetectionPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutlierDetectionPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutlierDetectionPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutlierDetectionPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_outlier_detection_policy_proto_depIdxs = nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/outlier_detection_policy.pb.hash.go b/client-go/resilience.policy.gloo.solo.io/v2/outlier_detection_policy.pb.hash.go new file mode 100644 index 000000000..29ccdc038 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/outlier_detection_policy.pb.hash.go @@ -0,0 +1,307 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/outlier_detection_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *OutlierDetectionPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.OutlierDetectionPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OutlierDetectionPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.OutlierDetectionPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedDestinationPorts()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OutlierDetectionPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.OutlierDetectionPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *OutlierDetectionPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.OutlierDetectionPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetConsecutiveErrors()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ConsecutiveErrors")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConsecutiveErrors(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ConsecutiveErrors")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetInterval()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Interval")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetInterval(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Interval")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetBaseEjectionTime()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("BaseEjectionTime")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetBaseEjectionTime(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("BaseEjectionTime")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetMaxEjectionPercent()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetConsecutiveGatewayErrors()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ConsecutiveGatewayErrors")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConsecutiveGatewayErrors(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ConsecutiveGatewayErrors")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/policy_types.go b/client-go/resilience.policy.gloo.solo.io/v2/policy_types.go new file mode 100644 index 000000000..f72c40e4f --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/policy_types.go @@ -0,0 +1,80 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2 + +import ( + commonv2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// IsPolicy implements Policy interface for GraphQLPersistedQueryCachePolicy +func (o *GraphQLPersistedQueryCachePolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the GraphQLPersistedQueryCachePolicy policy +func (o *GraphQLPersistedQueryCachePolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// IsPolicy implements Policy interface for FailoverPolicy +func (o *FailoverPolicy) IsPolicy() {} + +// GetDestinationSelectors returns the destination selectors of the FailoverPolicy policy +func (o *FailoverPolicy) GetDestinationSelectors() []*commonv2.DestinationSelector { + return o.Spec.ApplyToDestinations +} + +// IsPolicy implements Policy interface for OutlierDetectionPolicy +func (o *OutlierDetectionPolicy) IsPolicy() {} + +// GetDestinationSelectors returns the destination selectors of the OutlierDetectionPolicy policy +func (o *OutlierDetectionPolicy) GetDestinationSelectors() []*commonv2.DestinationSelector { + return o.Spec.ApplyToDestinations +} + +// IsPolicy implements Policy interface for FaultInjectionPolicy +func (o *FaultInjectionPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the FaultInjectionPolicy policy +func (o *FaultInjectionPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// IsPolicy implements Policy interface for RetryTimeoutPolicy +func (o *RetryTimeoutPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the RetryTimeoutPolicy policy +func (o *RetryTimeoutPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// IsPolicy implements Policy interface for ConnectionPolicy +func (o *ConnectionPolicy) IsPolicy() {} + +// GetDestinationSelectors returns the destination selectors of the ConnectionPolicy policy +func (o *ConnectionPolicy) GetDestinationSelectors() []*commonv2.DestinationSelector { + return o.Spec.ApplyToDestinations +} + +// IsPolicy implements Policy interface for TrimProxyConfigPolicy +func (o *TrimProxyConfigPolicy) IsPolicy() {} + +// GetWorkloadSelectors returns the workload selectors of the TrimProxyConfigPolicy policy +func (o *TrimProxyConfigPolicy) GetWorkloadSelectors() []*commonv2.WorkloadSelector { + return o.Spec.ApplyToWorkloads +} + +// IsPolicy implements Policy interface for ActiveHealthCheckPolicy +func (o *ActiveHealthCheckPolicy) IsPolicy() {} + +// GetDestinationSelectors returns the destination selectors of the ActiveHealthCheckPolicy policy +func (o *ActiveHealthCheckPolicy) GetDestinationSelectors() []*commonv2.DestinationSelector { + return o.Spec.ApplyToDestinations +} + +// IsPolicy implements Policy interface for ListenerConnectionPolicy +func (o *ListenerConnectionPolicy) IsPolicy() {} + +// GetApplyToListeners returns the listener selectors of the ListenerConnectionPolicy policy +func (o *ListenerConnectionPolicy) GetApplyToListeners() []*commonv2.ListenerSelector { + return o.Spec.ApplyToListeners +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/proto_deepcopy.go b/client-go/resilience.policy.gloo.solo.io/v2/proto_deepcopy.go new file mode 100644 index 000000000..d5ba5a1ed --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/proto_deepcopy.go @@ -0,0 +1,208 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the GraphQLPersistedQueryCachePolicy.Spec +func (in *GraphQLPersistedQueryCachePolicySpec) DeepCopyInto(out *GraphQLPersistedQueryCachePolicySpec) { + var p *GraphQLPersistedQueryCachePolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*GraphQLPersistedQueryCachePolicySpec) + } else { + p = proto.Clone(in).(*GraphQLPersistedQueryCachePolicySpec) + } + *out = *p +} + +// DeepCopyInto for the GraphQLPersistedQueryCachePolicy.Status +func (in *GraphQLPersistedQueryCachePolicyStatus) DeepCopyInto(out *GraphQLPersistedQueryCachePolicyStatus) { + var p *GraphQLPersistedQueryCachePolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*GraphQLPersistedQueryCachePolicyStatus) + } else { + p = proto.Clone(in).(*GraphQLPersistedQueryCachePolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the FailoverPolicy.Spec +func (in *FailoverPolicySpec) DeepCopyInto(out *FailoverPolicySpec) { + var p *FailoverPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*FailoverPolicySpec) + } else { + p = proto.Clone(in).(*FailoverPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the FailoverPolicy.Status +func (in *FailoverPolicyStatus) DeepCopyInto(out *FailoverPolicyStatus) { + var p *FailoverPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*FailoverPolicyStatus) + } else { + p = proto.Clone(in).(*FailoverPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the OutlierDetectionPolicy.Spec +func (in *OutlierDetectionPolicySpec) DeepCopyInto(out *OutlierDetectionPolicySpec) { + var p *OutlierDetectionPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*OutlierDetectionPolicySpec) + } else { + p = proto.Clone(in).(*OutlierDetectionPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the OutlierDetectionPolicy.Status +func (in *OutlierDetectionPolicyStatus) DeepCopyInto(out *OutlierDetectionPolicyStatus) { + var p *OutlierDetectionPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*OutlierDetectionPolicyStatus) + } else { + p = proto.Clone(in).(*OutlierDetectionPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the FaultInjectionPolicy.Spec +func (in *FaultInjectionPolicySpec) DeepCopyInto(out *FaultInjectionPolicySpec) { + var p *FaultInjectionPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*FaultInjectionPolicySpec) + } else { + p = proto.Clone(in).(*FaultInjectionPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the FaultInjectionPolicy.Status +func (in *FaultInjectionPolicyStatus) DeepCopyInto(out *FaultInjectionPolicyStatus) { + var p *FaultInjectionPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*FaultInjectionPolicyStatus) + } else { + p = proto.Clone(in).(*FaultInjectionPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the RetryTimeoutPolicy.Spec +func (in *RetryTimeoutPolicySpec) DeepCopyInto(out *RetryTimeoutPolicySpec) { + var p *RetryTimeoutPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RetryTimeoutPolicySpec) + } else { + p = proto.Clone(in).(*RetryTimeoutPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the RetryTimeoutPolicy.Status +func (in *RetryTimeoutPolicyStatus) DeepCopyInto(out *RetryTimeoutPolicyStatus) { + var p *RetryTimeoutPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RetryTimeoutPolicyStatus) + } else { + p = proto.Clone(in).(*RetryTimeoutPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the ConnectionPolicy.Spec +func (in *ConnectionPolicySpec) DeepCopyInto(out *ConnectionPolicySpec) { + var p *ConnectionPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ConnectionPolicySpec) + } else { + p = proto.Clone(in).(*ConnectionPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the ConnectionPolicy.Status +func (in *ConnectionPolicyStatus) DeepCopyInto(out *ConnectionPolicyStatus) { + var p *ConnectionPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ConnectionPolicyStatus) + } else { + p = proto.Clone(in).(*ConnectionPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the TrimProxyConfigPolicy.Spec +func (in *TrimProxyConfigPolicySpec) DeepCopyInto(out *TrimProxyConfigPolicySpec) { + var p *TrimProxyConfigPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*TrimProxyConfigPolicySpec) + } else { + p = proto.Clone(in).(*TrimProxyConfigPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the TrimProxyConfigPolicy.Status +func (in *TrimProxyConfigPolicyStatus) DeepCopyInto(out *TrimProxyConfigPolicyStatus) { + var p *TrimProxyConfigPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*TrimProxyConfigPolicyStatus) + } else { + p = proto.Clone(in).(*TrimProxyConfigPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the ActiveHealthCheckPolicy.Spec +func (in *ActiveHealthCheckPolicySpec) DeepCopyInto(out *ActiveHealthCheckPolicySpec) { + var p *ActiveHealthCheckPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ActiveHealthCheckPolicySpec) + } else { + p = proto.Clone(in).(*ActiveHealthCheckPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the ActiveHealthCheckPolicy.Status +func (in *ActiveHealthCheckPolicyStatus) DeepCopyInto(out *ActiveHealthCheckPolicyStatus) { + var p *ActiveHealthCheckPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ActiveHealthCheckPolicyStatus) + } else { + p = proto.Clone(in).(*ActiveHealthCheckPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the ListenerConnectionPolicy.Spec +func (in *ListenerConnectionPolicySpec) DeepCopyInto(out *ListenerConnectionPolicySpec) { + var p *ListenerConnectionPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ListenerConnectionPolicySpec) + } else { + p = proto.Clone(in).(*ListenerConnectionPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the ListenerConnectionPolicy.Status +func (in *ListenerConnectionPolicyStatus) DeepCopyInto(out *ListenerConnectionPolicyStatus) { + var p *ListenerConnectionPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ListenerConnectionPolicyStatus) + } else { + p = proto.Clone(in).(*ListenerConnectionPolicyStatus) + } + *out = *p +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/providers/client_providers.go b/client-go/resilience.policy.gloo.solo.io/v2/providers/client_providers.go new file mode 100644 index 000000000..6b7b955ef --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/providers/client_providers.go @@ -0,0 +1,270 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2 + +import ( + resilience_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for GraphQLPersistedQueryCachePolicyClient from Clientset +func GraphQLPersistedQueryCachePolicyClientFromClientsetProvider(clients resilience_policy_gloo_solo_io_v2.Clientset) resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicyClient { + return clients.GraphQLPersistedQueryCachePolicies() +} + +// Provider for GraphQLPersistedQueryCachePolicy Client from Client +func GraphQLPersistedQueryCachePolicyClientProvider(client client.Client) resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicyClient { + return resilience_policy_gloo_solo_io_v2.NewGraphQLPersistedQueryCachePolicyClient(client) +} + +type GraphQLPersistedQueryCachePolicyClientFactory func(client client.Client) resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicyClient + +func GraphQLPersistedQueryCachePolicyClientFactoryProvider() GraphQLPersistedQueryCachePolicyClientFactory { + return GraphQLPersistedQueryCachePolicyClientProvider +} + +type GraphQLPersistedQueryCachePolicyClientFromConfigFactory func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicyClient, error) + +func GraphQLPersistedQueryCachePolicyClientFromConfigFactoryProvider() GraphQLPersistedQueryCachePolicyClientFromConfigFactory { + return func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicyClient, error) { + clients, err := resilience_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.GraphQLPersistedQueryCachePolicies(), nil + } +} + +// Provider for FailoverPolicyClient from Clientset +func FailoverPolicyClientFromClientsetProvider(clients resilience_policy_gloo_solo_io_v2.Clientset) resilience_policy_gloo_solo_io_v2.FailoverPolicyClient { + return clients.FailoverPolicies() +} + +// Provider for FailoverPolicy Client from Client +func FailoverPolicyClientProvider(client client.Client) resilience_policy_gloo_solo_io_v2.FailoverPolicyClient { + return resilience_policy_gloo_solo_io_v2.NewFailoverPolicyClient(client) +} + +type FailoverPolicyClientFactory func(client client.Client) resilience_policy_gloo_solo_io_v2.FailoverPolicyClient + +func FailoverPolicyClientFactoryProvider() FailoverPolicyClientFactory { + return FailoverPolicyClientProvider +} + +type FailoverPolicyClientFromConfigFactory func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.FailoverPolicyClient, error) + +func FailoverPolicyClientFromConfigFactoryProvider() FailoverPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.FailoverPolicyClient, error) { + clients, err := resilience_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.FailoverPolicies(), nil + } +} + +// Provider for OutlierDetectionPolicyClient from Clientset +func OutlierDetectionPolicyClientFromClientsetProvider(clients resilience_policy_gloo_solo_io_v2.Clientset) resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicyClient { + return clients.OutlierDetectionPolicies() +} + +// Provider for OutlierDetectionPolicy Client from Client +func OutlierDetectionPolicyClientProvider(client client.Client) resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicyClient { + return resilience_policy_gloo_solo_io_v2.NewOutlierDetectionPolicyClient(client) +} + +type OutlierDetectionPolicyClientFactory func(client client.Client) resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicyClient + +func OutlierDetectionPolicyClientFactoryProvider() OutlierDetectionPolicyClientFactory { + return OutlierDetectionPolicyClientProvider +} + +type OutlierDetectionPolicyClientFromConfigFactory func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicyClient, error) + +func OutlierDetectionPolicyClientFromConfigFactoryProvider() OutlierDetectionPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicyClient, error) { + clients, err := resilience_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.OutlierDetectionPolicies(), nil + } +} + +// Provider for FaultInjectionPolicyClient from Clientset +func FaultInjectionPolicyClientFromClientsetProvider(clients resilience_policy_gloo_solo_io_v2.Clientset) resilience_policy_gloo_solo_io_v2.FaultInjectionPolicyClient { + return clients.FaultInjectionPolicies() +} + +// Provider for FaultInjectionPolicy Client from Client +func FaultInjectionPolicyClientProvider(client client.Client) resilience_policy_gloo_solo_io_v2.FaultInjectionPolicyClient { + return resilience_policy_gloo_solo_io_v2.NewFaultInjectionPolicyClient(client) +} + +type FaultInjectionPolicyClientFactory func(client client.Client) resilience_policy_gloo_solo_io_v2.FaultInjectionPolicyClient + +func FaultInjectionPolicyClientFactoryProvider() FaultInjectionPolicyClientFactory { + return FaultInjectionPolicyClientProvider +} + +type FaultInjectionPolicyClientFromConfigFactory func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.FaultInjectionPolicyClient, error) + +func FaultInjectionPolicyClientFromConfigFactoryProvider() FaultInjectionPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.FaultInjectionPolicyClient, error) { + clients, err := resilience_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.FaultInjectionPolicies(), nil + } +} + +// Provider for RetryTimeoutPolicyClient from Clientset +func RetryTimeoutPolicyClientFromClientsetProvider(clients resilience_policy_gloo_solo_io_v2.Clientset) resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicyClient { + return clients.RetryTimeoutPolicies() +} + +// Provider for RetryTimeoutPolicy Client from Client +func RetryTimeoutPolicyClientProvider(client client.Client) resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicyClient { + return resilience_policy_gloo_solo_io_v2.NewRetryTimeoutPolicyClient(client) +} + +type RetryTimeoutPolicyClientFactory func(client client.Client) resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicyClient + +func RetryTimeoutPolicyClientFactoryProvider() RetryTimeoutPolicyClientFactory { + return RetryTimeoutPolicyClientProvider +} + +type RetryTimeoutPolicyClientFromConfigFactory func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicyClient, error) + +func RetryTimeoutPolicyClientFromConfigFactoryProvider() RetryTimeoutPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicyClient, error) { + clients, err := resilience_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.RetryTimeoutPolicies(), nil + } +} + +// Provider for ConnectionPolicyClient from Clientset +func ConnectionPolicyClientFromClientsetProvider(clients resilience_policy_gloo_solo_io_v2.Clientset) resilience_policy_gloo_solo_io_v2.ConnectionPolicyClient { + return clients.ConnectionPolicies() +} + +// Provider for ConnectionPolicy Client from Client +func ConnectionPolicyClientProvider(client client.Client) resilience_policy_gloo_solo_io_v2.ConnectionPolicyClient { + return resilience_policy_gloo_solo_io_v2.NewConnectionPolicyClient(client) +} + +type ConnectionPolicyClientFactory func(client client.Client) resilience_policy_gloo_solo_io_v2.ConnectionPolicyClient + +func ConnectionPolicyClientFactoryProvider() ConnectionPolicyClientFactory { + return ConnectionPolicyClientProvider +} + +type ConnectionPolicyClientFromConfigFactory func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.ConnectionPolicyClient, error) + +func ConnectionPolicyClientFromConfigFactoryProvider() ConnectionPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.ConnectionPolicyClient, error) { + clients, err := resilience_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ConnectionPolicies(), nil + } +} + +// Provider for TrimProxyConfigPolicyClient from Clientset +func TrimProxyConfigPolicyClientFromClientsetProvider(clients resilience_policy_gloo_solo_io_v2.Clientset) resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicyClient { + return clients.TrimProxyConfigPolicies() +} + +// Provider for TrimProxyConfigPolicy Client from Client +func TrimProxyConfigPolicyClientProvider(client client.Client) resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicyClient { + return resilience_policy_gloo_solo_io_v2.NewTrimProxyConfigPolicyClient(client) +} + +type TrimProxyConfigPolicyClientFactory func(client client.Client) resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicyClient + +func TrimProxyConfigPolicyClientFactoryProvider() TrimProxyConfigPolicyClientFactory { + return TrimProxyConfigPolicyClientProvider +} + +type TrimProxyConfigPolicyClientFromConfigFactory func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicyClient, error) + +func TrimProxyConfigPolicyClientFromConfigFactoryProvider() TrimProxyConfigPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicyClient, error) { + clients, err := resilience_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.TrimProxyConfigPolicies(), nil + } +} + +// Provider for ActiveHealthCheckPolicyClient from Clientset +func ActiveHealthCheckPolicyClientFromClientsetProvider(clients resilience_policy_gloo_solo_io_v2.Clientset) resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicyClient { + return clients.ActiveHealthCheckPolicies() +} + +// Provider for ActiveHealthCheckPolicy Client from Client +func ActiveHealthCheckPolicyClientProvider(client client.Client) resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicyClient { + return resilience_policy_gloo_solo_io_v2.NewActiveHealthCheckPolicyClient(client) +} + +type ActiveHealthCheckPolicyClientFactory func(client client.Client) resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicyClient + +func ActiveHealthCheckPolicyClientFactoryProvider() ActiveHealthCheckPolicyClientFactory { + return ActiveHealthCheckPolicyClientProvider +} + +type ActiveHealthCheckPolicyClientFromConfigFactory func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicyClient, error) + +func ActiveHealthCheckPolicyClientFromConfigFactoryProvider() ActiveHealthCheckPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicyClient, error) { + clients, err := resilience_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ActiveHealthCheckPolicies(), nil + } +} + +// Provider for ListenerConnectionPolicyClient from Clientset +func ListenerConnectionPolicyClientFromClientsetProvider(clients resilience_policy_gloo_solo_io_v2.Clientset) resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicyClient { + return clients.ListenerConnectionPolicies() +} + +// Provider for ListenerConnectionPolicy Client from Client +func ListenerConnectionPolicyClientProvider(client client.Client) resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicyClient { + return resilience_policy_gloo_solo_io_v2.NewListenerConnectionPolicyClient(client) +} + +type ListenerConnectionPolicyClientFactory func(client client.Client) resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicyClient + +func ListenerConnectionPolicyClientFactoryProvider() ListenerConnectionPolicyClientFactory { + return ListenerConnectionPolicyClientProvider +} + +type ListenerConnectionPolicyClientFromConfigFactory func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicyClient, error) + +func ListenerConnectionPolicyClientFromConfigFactoryProvider() ListenerConnectionPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicyClient, error) { + clients, err := resilience_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ListenerConnectionPolicies(), nil + } +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/register.go b/client-go/resilience.policy.gloo.solo.io/v2/register.go new file mode 100644 index 000000000..904326b4c --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "resilience.policy.gloo.solo.io", Version: "v2"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/report_types.go b/client-go/resilience.policy.gloo.solo.io/v2/report_types.go new file mode 100644 index 000000000..875943954 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/report_types.go @@ -0,0 +1,31 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2 + +// IsReport implements Reportable interface for GraphQLPersistedQueryCachePolicyReport +func (o *GraphQLPersistedQueryCachePolicyReport) IsReport() {} + +// IsReport implements Reportable interface for FailoverPolicyReport +func (o *FailoverPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for OutlierDetectionPolicyReport +func (o *OutlierDetectionPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for FaultInjectionPolicyReport +func (o *FaultInjectionPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for RetryTimeoutPolicyReport +func (o *RetryTimeoutPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for ConnectionPolicyReport +func (o *ConnectionPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for TrimProxyConfigPolicyReport +func (o *TrimProxyConfigPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for ActiveHealthCheckPolicyReport +func (o *ActiveHealthCheckPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for ListenerConnectionPolicyReport +func (o *ListenerConnectionPolicyReport) IsReport() {} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/retry_timeout_policy.pb.clone.go b/client-go/resilience.policy.gloo.solo.io/v2/retry_timeout_policy.pb.clone.go new file mode 100644 index 000000000..95f8df077 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/retry_timeout_policy.pb.clone.go @@ -0,0 +1,172 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/retry_timeout_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *RetryTimeoutPolicySpec) Clone() proto.Message { + var target *RetryTimeoutPolicySpec + if m == nil { + return target + } + target = &RetryTimeoutPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*RetryTimeoutPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*RetryTimeoutPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *RetryTimeoutPolicyStatus) Clone() proto.Message { + var target *RetryTimeoutPolicyStatus + if m == nil { + return target + } + target = &RetryTimeoutPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *RetryTimeoutPolicyReport) Clone() proto.Message { + var target *RetryTimeoutPolicyReport + if m == nil { + return target + } + target = &RetryTimeoutPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *RetryTimeoutPolicySpec_Config) Clone() proto.Message { + var target *RetryTimeoutPolicySpec_Config + if m == nil { + return target + } + target = &RetryTimeoutPolicySpec_Config{} + + if h, ok := interface{}(m.GetRetries()).(clone.Cloner); ok { + target.Retries = h.Clone().(*RetryTimeoutPolicySpec_Config_RetryPolicy) + } else { + target.Retries = proto.Clone(m.GetRetries()).(*RetryTimeoutPolicySpec_Config_RetryPolicy) + } + + if h, ok := interface{}(m.GetRequestTimeout()).(clone.Cloner); ok { + target.RequestTimeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.RequestTimeout = proto.Clone(m.GetRequestTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + return target +} + +// Clone function +func (m *RetryTimeoutPolicySpec_Config_RetryPolicy) Clone() proto.Message { + var target *RetryTimeoutPolicySpec_Config_RetryPolicy + if m == nil { + return target + } + target = &RetryTimeoutPolicySpec_Config_RetryPolicy{} + + if h, ok := interface{}(m.GetAttempts()).(clone.Cloner); ok { + target.Attempts = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.Int32Value) + } else { + target.Attempts = proto.Clone(m.GetAttempts()).(*github_com_golang_protobuf_ptypes_wrappers.Int32Value) + } + + if h, ok := interface{}(m.GetPerTryTimeout()).(clone.Cloner); ok { + target.PerTryTimeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.PerTryTimeout = proto.Clone(m.GetPerTryTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + target.RetryOn = m.GetRetryOn() + + if h, ok := interface{}(m.GetRetryRemoteLocalities()).(clone.Cloner); ok { + target.RetryRemoteLocalities = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.RetryRemoteLocalities = proto.Clone(m.GetRetryRemoteLocalities()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + return target +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/retry_timeout_policy.pb.equal.go b/client-go/resilience.policy.gloo.solo.io/v2/retry_timeout_policy.pb.equal.go new file mode 100644 index 000000000..d1d37c16d --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/retry_timeout_policy.pb.equal.go @@ -0,0 +1,275 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/retry_timeout_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *RetryTimeoutPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RetryTimeoutPolicySpec) + if !ok { + that2, ok := that.(RetryTimeoutPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *RetryTimeoutPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RetryTimeoutPolicyStatus) + if !ok { + that2, ok := that.(RetryTimeoutPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *RetryTimeoutPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RetryTimeoutPolicyReport) + if !ok { + that2, ok := that.(RetryTimeoutPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *RetryTimeoutPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RetryTimeoutPolicySpec_Config) + if !ok { + that2, ok := that.(RetryTimeoutPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetRetries()).(equality.Equalizer); ok { + if !h.Equal(target.GetRetries()) { + return false + } + } else { + if !proto.Equal(m.GetRetries(), target.GetRetries()) { + return false + } + } + + if h, ok := interface{}(m.GetRequestTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequestTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetRequestTimeout(), target.GetRequestTimeout()) { + return false + } + } + + return true +} + +// Equal function +func (m *RetryTimeoutPolicySpec_Config_RetryPolicy) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RetryTimeoutPolicySpec_Config_RetryPolicy) + if !ok { + that2, ok := that.(RetryTimeoutPolicySpec_Config_RetryPolicy) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetAttempts()).(equality.Equalizer); ok { + if !h.Equal(target.GetAttempts()) { + return false + } + } else { + if !proto.Equal(m.GetAttempts(), target.GetAttempts()) { + return false + } + } + + if h, ok := interface{}(m.GetPerTryTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetPerTryTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetPerTryTimeout(), target.GetPerTryTimeout()) { + return false + } + } + + if strings.Compare(m.GetRetryOn(), target.GetRetryOn()) != 0 { + return false + } + + if h, ok := interface{}(m.GetRetryRemoteLocalities()).(equality.Equalizer); ok { + if !h.Equal(target.GetRetryRemoteLocalities()) { + return false + } + } else { + if !proto.Equal(m.GetRetryRemoteLocalities(), target.GetRetryRemoteLocalities()) { + return false + } + } + + return true +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/retry_timeout_policy.pb.go b/client-go/resilience.policy.gloo.solo.io/v2/retry_timeout_policy.pb.go new file mode 100644 index 000000000..c0d4d58e7 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/retry_timeout_policy.pb.go @@ -0,0 +1,590 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/retry_timeout_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// RetryTimeoutPolicy is used to add automatic retries and timeouts to requests matching selected routes. +// RetryTimeoutPolicies are applied at the *Route* level. +type RetryTimeoutPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Routes to apply the policy to. + // If empty, the policy applies to all workloads in the workspace. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // The details of the retry/timeout policy to apply to the selected routes. + Config *RetryTimeoutPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *RetryTimeoutPolicySpec) Reset() { + *x = RetryTimeoutPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RetryTimeoutPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetryTimeoutPolicySpec) ProtoMessage() {} + +func (x *RetryTimeoutPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetryTimeoutPolicySpec.ProtoReflect.Descriptor instead. +func (*RetryTimeoutPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *RetryTimeoutPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *RetryTimeoutPolicySpec) GetConfig() *RetryTimeoutPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type RetryTimeoutPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of routes selected by the policy. + NumSelectedRoutes uint32 `protobuf:"varint,2,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *RetryTimeoutPolicyStatus) Reset() { + *x = RetryTimeoutPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RetryTimeoutPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetryTimeoutPolicyStatus) ProtoMessage() {} + +func (x *RetryTimeoutPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetryTimeoutPolicyStatus.ProtoReflect.Descriptor instead. +func (*RetryTimeoutPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *RetryTimeoutPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *RetryTimeoutPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type RetryTimeoutPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of references to all routes selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *RetryTimeoutPolicyReport) Reset() { + *x = RetryTimeoutPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RetryTimeoutPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetryTimeoutPolicyReport) ProtoMessage() {} + +func (x *RetryTimeoutPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetryTimeoutPolicyReport.ProtoReflect.Descriptor instead. +func (*RetryTimeoutPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *RetryTimeoutPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *RetryTimeoutPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +type RetryTimeoutPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Set a retry policy on requests matched on the selected routes. + Retries *RetryTimeoutPolicySpec_Config_RetryPolicy `protobuf:"bytes,3,opt,name=retries,proto3" json:"retries,omitempty"` + // Set a timeout on requests matched on the selected routes. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + RequestTimeout *duration.Duration `protobuf:"bytes,4,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"` +} + +func (x *RetryTimeoutPolicySpec_Config) Reset() { + *x = RetryTimeoutPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RetryTimeoutPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetryTimeoutPolicySpec_Config) ProtoMessage() {} + +func (x *RetryTimeoutPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetryTimeoutPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*RetryTimeoutPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *RetryTimeoutPolicySpec_Config) GetRetries() *RetryTimeoutPolicySpec_Config_RetryPolicy { + if x != nil { + return x.Retries + } + return nil +} + +func (x *RetryTimeoutPolicySpec_Config) GetRequestTimeout() *duration.Duration { + if x != nil { + return x.RequestTimeout + } + return nil +} + +// Specify retries for failed requests. +type RetryTimeoutPolicySpec_Config_RetryPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Number of retries for a given request + // The interval between retries will be determined automatically (25ms+). When request + // `timeout` of the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute) + // or `per_try_timeout` is configured, the actual number of retries attempted also depends on + // the specified request `timeout` and `per_try_timeout` values. + // Defaults to 2 retries. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/int32-value). + Attempts *wrappers.Int32Value `protobuf:"bytes,1,opt,name=attempts,proto3" json:"attempts,omitempty"` + // Timeout per retry attempt for a given request. Format: `1h`/`1m`/`1s`/`1ms`. *Must be >= 1ms*. + // Default is same value as request `timeout` of + // the [HTTP route](https://istio.io/docs/reference/config/networking/virtual-service/#HTTPRoute), + // which means no timeout. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + PerTryTimeout *duration.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"` + // Specifies the conditions under which retry takes place. + // One or more policies can be specified using a ‘,’ delimited list. + // If `retry_on` specifies a valid HTTP status, it will be added to retriable_status_codes retry policy. + // See the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on) + // and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) for more details. + RetryOn string `protobuf:"bytes,3,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"` + // Flag to specify whether the retries should retry to other localities. + // See the [retry plugin configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#retry-plugin-configuration) for more details. + // Defaults to false. + RetryRemoteLocalities *wrappers.BoolValue `protobuf:"bytes,4,opt,name=retry_remote_localities,json=retryRemoteLocalities,proto3" json:"retry_remote_localities,omitempty"` +} + +func (x *RetryTimeoutPolicySpec_Config_RetryPolicy) Reset() { + *x = RetryTimeoutPolicySpec_Config_RetryPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RetryTimeoutPolicySpec_Config_RetryPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetryTimeoutPolicySpec_Config_RetryPolicy) ProtoMessage() {} + +func (x *RetryTimeoutPolicySpec_Config_RetryPolicy) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetryTimeoutPolicySpec_Config_RetryPolicy.ProtoReflect.Descriptor instead. +func (*RetryTimeoutPolicySpec_Config_RetryPolicy) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *RetryTimeoutPolicySpec_Config_RetryPolicy) GetAttempts() *wrappers.Int32Value { + if x != nil { + return x.Attempts + } + return nil +} + +func (x *RetryTimeoutPolicySpec_Config_RetryPolicy) GetPerTryTimeout() *duration.Duration { + if x != nil { + return x.PerTryTimeout + } + return nil +} + +func (x *RetryTimeoutPolicySpec_Config_RetryPolicy) GetRetryOn() string { + if x != nil { + return x.RetryOn + } + return "" +} + +func (x *RetryTimeoutPolicySpec_Config_RetryPolicy) GetRetryRemoteLocalities() *wrappers.BoolValue { + if x != nil { + return x.RetryRemoteLocalities + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDesc = []byte{ + 0x0a, 0x68, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2f, + 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x72, 0x65, 0x73, 0x69, + 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xea, 0x04, 0x0a, 0x16, 0x52, 0x65, 0x74, 0x72, 0x79, 0x54, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, + 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x72, 0x65, 0x73, + 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x74, 0x72, + 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x1a, 0xac, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x63, 0x0a, 0x07, + 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, + 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, + 0x65, 0x74, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x74, + 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0xf8, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x41, + 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x54, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x79, 0x4f, 0x6e, 0x12, 0x52, 0x0a, 0x17, + 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x74, 0x72, 0x79, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x22, 0x7f, 0x0a, 0x18, 0x52, 0x65, 0x74, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, + 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x22, 0xae, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x74, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x68, + 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x5f, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, + 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_goTypes = []interface{}{ + (*RetryTimeoutPolicySpec)(nil), // 0: resilience.policy.gloo.solo.io.RetryTimeoutPolicySpec + (*RetryTimeoutPolicyStatus)(nil), // 1: resilience.policy.gloo.solo.io.RetryTimeoutPolicyStatus + (*RetryTimeoutPolicyReport)(nil), // 2: resilience.policy.gloo.solo.io.RetryTimeoutPolicyReport + (*RetryTimeoutPolicySpec_Config)(nil), // 3: resilience.policy.gloo.solo.io.RetryTimeoutPolicySpec.Config + (*RetryTimeoutPolicySpec_Config_RetryPolicy)(nil), // 4: resilience.policy.gloo.solo.io.RetryTimeoutPolicySpec.Config.RetryPolicy + nil, // 5: resilience.policy.gloo.solo.io.RetryTimeoutPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 6: common.gloo.solo.io.RouteSelector + (*v2.Status)(nil), // 7: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 8: common.gloo.solo.io.RouteReference + (*duration.Duration)(nil), // 9: google.protobuf.Duration + (*wrappers.Int32Value)(nil), // 10: google.protobuf.Int32Value + (*wrappers.BoolValue)(nil), // 11: google.protobuf.BoolValue + (*v2.Report)(nil), // 12: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_depIdxs = []int32{ + 6, // 0: resilience.policy.gloo.solo.io.RetryTimeoutPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 3, // 1: resilience.policy.gloo.solo.io.RetryTimeoutPolicySpec.config:type_name -> resilience.policy.gloo.solo.io.RetryTimeoutPolicySpec.Config + 7, // 2: resilience.policy.gloo.solo.io.RetryTimeoutPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 5, // 3: resilience.policy.gloo.solo.io.RetryTimeoutPolicyReport.workspaces:type_name -> resilience.policy.gloo.solo.io.RetryTimeoutPolicyReport.WorkspacesEntry + 8, // 4: resilience.policy.gloo.solo.io.RetryTimeoutPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 4, // 5: resilience.policy.gloo.solo.io.RetryTimeoutPolicySpec.Config.retries:type_name -> resilience.policy.gloo.solo.io.RetryTimeoutPolicySpec.Config.RetryPolicy + 9, // 6: resilience.policy.gloo.solo.io.RetryTimeoutPolicySpec.Config.request_timeout:type_name -> google.protobuf.Duration + 10, // 7: resilience.policy.gloo.solo.io.RetryTimeoutPolicySpec.Config.RetryPolicy.attempts:type_name -> google.protobuf.Int32Value + 9, // 8: resilience.policy.gloo.solo.io.RetryTimeoutPolicySpec.Config.RetryPolicy.per_try_timeout:type_name -> google.protobuf.Duration + 11, // 9: resilience.policy.gloo.solo.io.RetryTimeoutPolicySpec.Config.RetryPolicy.retry_remote_localities:type_name -> google.protobuf.BoolValue + 12, // 10: resilience.policy.gloo.solo.io.RetryTimeoutPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RetryTimeoutPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RetryTimeoutPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RetryTimeoutPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RetryTimeoutPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RetryTimeoutPolicySpec_Config_RetryPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_retry_timeout_policy_proto_depIdxs = nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/retry_timeout_policy.pb.hash.go b/client-go/resilience.policy.gloo.solo.io/v2/retry_timeout_policy.pb.hash.go new file mode 100644 index 000000000..36c0309e6 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/retry_timeout_policy.pb.hash.go @@ -0,0 +1,342 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/retry_timeout_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *RetryTimeoutPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.RetryTimeoutPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RetryTimeoutPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.RetryTimeoutPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RetryTimeoutPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.RetryTimeoutPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RetryTimeoutPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.RetryTimeoutPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRetries()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Retries")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRetries(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Retries")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetRequestTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RequestTimeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequestTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RequestTimeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RetryTimeoutPolicySpec_Config_RetryPolicy) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.RetryTimeoutPolicySpec_Config_RetryPolicy")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetAttempts()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Attempts")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAttempts(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Attempts")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPerTryTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PerTryTimeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPerTryTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PerTryTimeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetRetryOn())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRetryRemoteLocalities()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RetryRemoteLocalities")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRetryRemoteLocalities(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RetryRemoteLocalities")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/sets/mocks/sets.go b/client-go/resilience.policy.gloo.solo.io/v2/sets/mocks/sets.go new file mode 100644 index 000000000..c88346ed3 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/sets/mocks/sets.go @@ -0,0 +1,2321 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2sets is a generated GoMock package. +package mock_v2sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2 "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2" + v2sets "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2/sets" +) + +// MockGraphQLPersistedQueryCachePolicySet is a mock of GraphQLPersistedQueryCachePolicySet interface. +type MockGraphQLPersistedQueryCachePolicySet struct { + ctrl *gomock.Controller + recorder *MockGraphQLPersistedQueryCachePolicySetMockRecorder +} + +// MockGraphQLPersistedQueryCachePolicySetMockRecorder is the mock recorder for MockGraphQLPersistedQueryCachePolicySet. +type MockGraphQLPersistedQueryCachePolicySetMockRecorder struct { + mock *MockGraphQLPersistedQueryCachePolicySet +} + +// NewMockGraphQLPersistedQueryCachePolicySet creates a new mock instance. +func NewMockGraphQLPersistedQueryCachePolicySet(ctrl *gomock.Controller) *MockGraphQLPersistedQueryCachePolicySet { + mock := &MockGraphQLPersistedQueryCachePolicySet{ctrl: ctrl} + mock.recorder = &MockGraphQLPersistedQueryCachePolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLPersistedQueryCachePolicySet) EXPECT() *MockGraphQLPersistedQueryCachePolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Clone() v2sets.GraphQLPersistedQueryCachePolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.GraphQLPersistedQueryCachePolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Delete(graphQLPersistedQueryCachePolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", graphQLPersistedQueryCachePolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Delete(graphQLPersistedQueryCachePolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Delete), graphQLPersistedQueryCachePolicy) +} + +// Delta mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Delta(newSet v2sets.GraphQLPersistedQueryCachePolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Difference(set v2sets.GraphQLPersistedQueryCachePolicySet) v2sets.GraphQLPersistedQueryCachePolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.GraphQLPersistedQueryCachePolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Equal(graphQLPersistedQueryCachePolicySet v2sets.GraphQLPersistedQueryCachePolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", graphQLPersistedQueryCachePolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Equal(graphQLPersistedQueryCachePolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Equal), graphQLPersistedQueryCachePolicySet) +} + +// Find mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Find(id ezkube.ResourceId) (*v2.GraphQLPersistedQueryCachePolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.GraphQLPersistedQueryCachePolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Has(graphQLPersistedQueryCachePolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", graphQLPersistedQueryCachePolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Has(graphQLPersistedQueryCachePolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Has), graphQLPersistedQueryCachePolicy) +} + +// Insert mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Insert(graphQLPersistedQueryCachePolicy ...*v2.GraphQLPersistedQueryCachePolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range graphQLPersistedQueryCachePolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Insert(graphQLPersistedQueryCachePolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Insert), graphQLPersistedQueryCachePolicy...) +} + +// Intersection mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Intersection(set v2sets.GraphQLPersistedQueryCachePolicySet) v2sets.GraphQLPersistedQueryCachePolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.GraphQLPersistedQueryCachePolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) List(filterResource ...func(*v2.GraphQLPersistedQueryCachePolicy) bool) []*v2.GraphQLPersistedQueryCachePolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.GraphQLPersistedQueryCachePolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Map() map[string]*v2.GraphQLPersistedQueryCachePolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.GraphQLPersistedQueryCachePolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) Union(set v2sets.GraphQLPersistedQueryCachePolicySet) v2sets.GraphQLPersistedQueryCachePolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.GraphQLPersistedQueryCachePolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockGraphQLPersistedQueryCachePolicySet) UnsortedList(filterResource ...func(*v2.GraphQLPersistedQueryCachePolicy) bool) []*v2.GraphQLPersistedQueryCachePolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.GraphQLPersistedQueryCachePolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockGraphQLPersistedQueryCachePolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockGraphQLPersistedQueryCachePolicySet)(nil).UnsortedList), filterResource...) +} + +// MockFailoverPolicySet is a mock of FailoverPolicySet interface. +type MockFailoverPolicySet struct { + ctrl *gomock.Controller + recorder *MockFailoverPolicySetMockRecorder +} + +// MockFailoverPolicySetMockRecorder is the mock recorder for MockFailoverPolicySet. +type MockFailoverPolicySetMockRecorder struct { + mock *MockFailoverPolicySet +} + +// NewMockFailoverPolicySet creates a new mock instance. +func NewMockFailoverPolicySet(ctrl *gomock.Controller) *MockFailoverPolicySet { + mock := &MockFailoverPolicySet{ctrl: ctrl} + mock.recorder = &MockFailoverPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFailoverPolicySet) EXPECT() *MockFailoverPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockFailoverPolicySet) Clone() v2sets.FailoverPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.FailoverPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockFailoverPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockFailoverPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockFailoverPolicySet) Delete(failoverPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", failoverPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockFailoverPolicySetMockRecorder) Delete(failoverPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockFailoverPolicySet)(nil).Delete), failoverPolicy) +} + +// Delta mocks base method. +func (m *MockFailoverPolicySet) Delta(newSet v2sets.FailoverPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockFailoverPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockFailoverPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockFailoverPolicySet) Difference(set v2sets.FailoverPolicySet) v2sets.FailoverPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.FailoverPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockFailoverPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockFailoverPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockFailoverPolicySet) Equal(failoverPolicySet v2sets.FailoverPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", failoverPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockFailoverPolicySetMockRecorder) Equal(failoverPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockFailoverPolicySet)(nil).Equal), failoverPolicySet) +} + +// Find mocks base method. +func (m *MockFailoverPolicySet) Find(id ezkube.ResourceId) (*v2.FailoverPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.FailoverPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockFailoverPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockFailoverPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockFailoverPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockFailoverPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockFailoverPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockFailoverPolicySet) Has(failoverPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", failoverPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockFailoverPolicySetMockRecorder) Has(failoverPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockFailoverPolicySet)(nil).Has), failoverPolicy) +} + +// Insert mocks base method. +func (m *MockFailoverPolicySet) Insert(failoverPolicy ...*v2.FailoverPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range failoverPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockFailoverPolicySetMockRecorder) Insert(failoverPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockFailoverPolicySet)(nil).Insert), failoverPolicy...) +} + +// Intersection mocks base method. +func (m *MockFailoverPolicySet) Intersection(set v2sets.FailoverPolicySet) v2sets.FailoverPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.FailoverPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockFailoverPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockFailoverPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockFailoverPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockFailoverPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockFailoverPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockFailoverPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockFailoverPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockFailoverPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockFailoverPolicySet) List(filterResource ...func(*v2.FailoverPolicy) bool) []*v2.FailoverPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.FailoverPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockFailoverPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockFailoverPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockFailoverPolicySet) Map() map[string]*v2.FailoverPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.FailoverPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockFailoverPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockFailoverPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockFailoverPolicySet) Union(set v2sets.FailoverPolicySet) v2sets.FailoverPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.FailoverPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockFailoverPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockFailoverPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockFailoverPolicySet) UnsortedList(filterResource ...func(*v2.FailoverPolicy) bool) []*v2.FailoverPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.FailoverPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockFailoverPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockFailoverPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockOutlierDetectionPolicySet is a mock of OutlierDetectionPolicySet interface. +type MockOutlierDetectionPolicySet struct { + ctrl *gomock.Controller + recorder *MockOutlierDetectionPolicySetMockRecorder +} + +// MockOutlierDetectionPolicySetMockRecorder is the mock recorder for MockOutlierDetectionPolicySet. +type MockOutlierDetectionPolicySetMockRecorder struct { + mock *MockOutlierDetectionPolicySet +} + +// NewMockOutlierDetectionPolicySet creates a new mock instance. +func NewMockOutlierDetectionPolicySet(ctrl *gomock.Controller) *MockOutlierDetectionPolicySet { + mock := &MockOutlierDetectionPolicySet{ctrl: ctrl} + mock.recorder = &MockOutlierDetectionPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOutlierDetectionPolicySet) EXPECT() *MockOutlierDetectionPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockOutlierDetectionPolicySet) Clone() v2sets.OutlierDetectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.OutlierDetectionPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockOutlierDetectionPolicySet) Delete(outlierDetectionPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", outlierDetectionPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Delete(outlierDetectionPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Delete), outlierDetectionPolicy) +} + +// Delta mocks base method. +func (m *MockOutlierDetectionPolicySet) Delta(newSet v2sets.OutlierDetectionPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockOutlierDetectionPolicySet) Difference(set v2sets.OutlierDetectionPolicySet) v2sets.OutlierDetectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.OutlierDetectionPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockOutlierDetectionPolicySet) Equal(outlierDetectionPolicySet v2sets.OutlierDetectionPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", outlierDetectionPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Equal(outlierDetectionPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Equal), outlierDetectionPolicySet) +} + +// Find mocks base method. +func (m *MockOutlierDetectionPolicySet) Find(id ezkube.ResourceId) (*v2.OutlierDetectionPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.OutlierDetectionPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockOutlierDetectionPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockOutlierDetectionPolicySet) Has(outlierDetectionPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", outlierDetectionPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Has(outlierDetectionPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Has), outlierDetectionPolicy) +} + +// Insert mocks base method. +func (m *MockOutlierDetectionPolicySet) Insert(outlierDetectionPolicy ...*v2.OutlierDetectionPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range outlierDetectionPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Insert(outlierDetectionPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Insert), outlierDetectionPolicy...) +} + +// Intersection mocks base method. +func (m *MockOutlierDetectionPolicySet) Intersection(set v2sets.OutlierDetectionPolicySet) v2sets.OutlierDetectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.OutlierDetectionPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockOutlierDetectionPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockOutlierDetectionPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockOutlierDetectionPolicySet) List(filterResource ...func(*v2.OutlierDetectionPolicy) bool) []*v2.OutlierDetectionPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.OutlierDetectionPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockOutlierDetectionPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockOutlierDetectionPolicySet) Map() map[string]*v2.OutlierDetectionPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.OutlierDetectionPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockOutlierDetectionPolicySet) Union(set v2sets.OutlierDetectionPolicySet) v2sets.OutlierDetectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.OutlierDetectionPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockOutlierDetectionPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockOutlierDetectionPolicySet) UnsortedList(filterResource ...func(*v2.OutlierDetectionPolicy) bool) []*v2.OutlierDetectionPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.OutlierDetectionPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockOutlierDetectionPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockOutlierDetectionPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockFaultInjectionPolicySet is a mock of FaultInjectionPolicySet interface. +type MockFaultInjectionPolicySet struct { + ctrl *gomock.Controller + recorder *MockFaultInjectionPolicySetMockRecorder +} + +// MockFaultInjectionPolicySetMockRecorder is the mock recorder for MockFaultInjectionPolicySet. +type MockFaultInjectionPolicySetMockRecorder struct { + mock *MockFaultInjectionPolicySet +} + +// NewMockFaultInjectionPolicySet creates a new mock instance. +func NewMockFaultInjectionPolicySet(ctrl *gomock.Controller) *MockFaultInjectionPolicySet { + mock := &MockFaultInjectionPolicySet{ctrl: ctrl} + mock.recorder = &MockFaultInjectionPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockFaultInjectionPolicySet) EXPECT() *MockFaultInjectionPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockFaultInjectionPolicySet) Clone() v2sets.FaultInjectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.FaultInjectionPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockFaultInjectionPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockFaultInjectionPolicySet) Delete(faultInjectionPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", faultInjectionPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockFaultInjectionPolicySetMockRecorder) Delete(faultInjectionPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Delete), faultInjectionPolicy) +} + +// Delta mocks base method. +func (m *MockFaultInjectionPolicySet) Delta(newSet v2sets.FaultInjectionPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockFaultInjectionPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockFaultInjectionPolicySet) Difference(set v2sets.FaultInjectionPolicySet) v2sets.FaultInjectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.FaultInjectionPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockFaultInjectionPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockFaultInjectionPolicySet) Equal(faultInjectionPolicySet v2sets.FaultInjectionPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", faultInjectionPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockFaultInjectionPolicySetMockRecorder) Equal(faultInjectionPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Equal), faultInjectionPolicySet) +} + +// Find mocks base method. +func (m *MockFaultInjectionPolicySet) Find(id ezkube.ResourceId) (*v2.FaultInjectionPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.FaultInjectionPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockFaultInjectionPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockFaultInjectionPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockFaultInjectionPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockFaultInjectionPolicySet) Has(faultInjectionPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", faultInjectionPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockFaultInjectionPolicySetMockRecorder) Has(faultInjectionPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Has), faultInjectionPolicy) +} + +// Insert mocks base method. +func (m *MockFaultInjectionPolicySet) Insert(faultInjectionPolicy ...*v2.FaultInjectionPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range faultInjectionPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockFaultInjectionPolicySetMockRecorder) Insert(faultInjectionPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Insert), faultInjectionPolicy...) +} + +// Intersection mocks base method. +func (m *MockFaultInjectionPolicySet) Intersection(set v2sets.FaultInjectionPolicySet) v2sets.FaultInjectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.FaultInjectionPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockFaultInjectionPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockFaultInjectionPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockFaultInjectionPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockFaultInjectionPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockFaultInjectionPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockFaultInjectionPolicySet) List(filterResource ...func(*v2.FaultInjectionPolicy) bool) []*v2.FaultInjectionPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.FaultInjectionPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockFaultInjectionPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockFaultInjectionPolicySet) Map() map[string]*v2.FaultInjectionPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.FaultInjectionPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockFaultInjectionPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockFaultInjectionPolicySet) Union(set v2sets.FaultInjectionPolicySet) v2sets.FaultInjectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.FaultInjectionPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockFaultInjectionPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockFaultInjectionPolicySet) UnsortedList(filterResource ...func(*v2.FaultInjectionPolicy) bool) []*v2.FaultInjectionPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.FaultInjectionPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockFaultInjectionPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockFaultInjectionPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockRetryTimeoutPolicySet is a mock of RetryTimeoutPolicySet interface. +type MockRetryTimeoutPolicySet struct { + ctrl *gomock.Controller + recorder *MockRetryTimeoutPolicySetMockRecorder +} + +// MockRetryTimeoutPolicySetMockRecorder is the mock recorder for MockRetryTimeoutPolicySet. +type MockRetryTimeoutPolicySetMockRecorder struct { + mock *MockRetryTimeoutPolicySet +} + +// NewMockRetryTimeoutPolicySet creates a new mock instance. +func NewMockRetryTimeoutPolicySet(ctrl *gomock.Controller) *MockRetryTimeoutPolicySet { + mock := &MockRetryTimeoutPolicySet{ctrl: ctrl} + mock.recorder = &MockRetryTimeoutPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRetryTimeoutPolicySet) EXPECT() *MockRetryTimeoutPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockRetryTimeoutPolicySet) Clone() v2sets.RetryTimeoutPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.RetryTimeoutPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockRetryTimeoutPolicySet) Delete(retryTimeoutPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", retryTimeoutPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Delete(retryTimeoutPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Delete), retryTimeoutPolicy) +} + +// Delta mocks base method. +func (m *MockRetryTimeoutPolicySet) Delta(newSet v2sets.RetryTimeoutPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockRetryTimeoutPolicySet) Difference(set v2sets.RetryTimeoutPolicySet) v2sets.RetryTimeoutPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.RetryTimeoutPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockRetryTimeoutPolicySet) Equal(retryTimeoutPolicySet v2sets.RetryTimeoutPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", retryTimeoutPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Equal(retryTimeoutPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Equal), retryTimeoutPolicySet) +} + +// Find mocks base method. +func (m *MockRetryTimeoutPolicySet) Find(id ezkube.ResourceId) (*v2.RetryTimeoutPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.RetryTimeoutPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockRetryTimeoutPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockRetryTimeoutPolicySet) Has(retryTimeoutPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", retryTimeoutPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Has(retryTimeoutPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Has), retryTimeoutPolicy) +} + +// Insert mocks base method. +func (m *MockRetryTimeoutPolicySet) Insert(retryTimeoutPolicy ...*v2.RetryTimeoutPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range retryTimeoutPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Insert(retryTimeoutPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Insert), retryTimeoutPolicy...) +} + +// Intersection mocks base method. +func (m *MockRetryTimeoutPolicySet) Intersection(set v2sets.RetryTimeoutPolicySet) v2sets.RetryTimeoutPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.RetryTimeoutPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockRetryTimeoutPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockRetryTimeoutPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockRetryTimeoutPolicySet) List(filterResource ...func(*v2.RetryTimeoutPolicy) bool) []*v2.RetryTimeoutPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.RetryTimeoutPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockRetryTimeoutPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockRetryTimeoutPolicySet) Map() map[string]*v2.RetryTimeoutPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.RetryTimeoutPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockRetryTimeoutPolicySet) Union(set v2sets.RetryTimeoutPolicySet) v2sets.RetryTimeoutPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.RetryTimeoutPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockRetryTimeoutPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockRetryTimeoutPolicySet) UnsortedList(filterResource ...func(*v2.RetryTimeoutPolicy) bool) []*v2.RetryTimeoutPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.RetryTimeoutPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockRetryTimeoutPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockRetryTimeoutPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockConnectionPolicySet is a mock of ConnectionPolicySet interface. +type MockConnectionPolicySet struct { + ctrl *gomock.Controller + recorder *MockConnectionPolicySetMockRecorder +} + +// MockConnectionPolicySetMockRecorder is the mock recorder for MockConnectionPolicySet. +type MockConnectionPolicySetMockRecorder struct { + mock *MockConnectionPolicySet +} + +// NewMockConnectionPolicySet creates a new mock instance. +func NewMockConnectionPolicySet(ctrl *gomock.Controller) *MockConnectionPolicySet { + mock := &MockConnectionPolicySet{ctrl: ctrl} + mock.recorder = &MockConnectionPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockConnectionPolicySet) EXPECT() *MockConnectionPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockConnectionPolicySet) Clone() v2sets.ConnectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.ConnectionPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockConnectionPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockConnectionPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockConnectionPolicySet) Delete(connectionPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", connectionPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockConnectionPolicySetMockRecorder) Delete(connectionPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockConnectionPolicySet)(nil).Delete), connectionPolicy) +} + +// Delta mocks base method. +func (m *MockConnectionPolicySet) Delta(newSet v2sets.ConnectionPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockConnectionPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockConnectionPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockConnectionPolicySet) Difference(set v2sets.ConnectionPolicySet) v2sets.ConnectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.ConnectionPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockConnectionPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockConnectionPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockConnectionPolicySet) Equal(connectionPolicySet v2sets.ConnectionPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", connectionPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockConnectionPolicySetMockRecorder) Equal(connectionPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockConnectionPolicySet)(nil).Equal), connectionPolicySet) +} + +// Find mocks base method. +func (m *MockConnectionPolicySet) Find(id ezkube.ResourceId) (*v2.ConnectionPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.ConnectionPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockConnectionPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockConnectionPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockConnectionPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockConnectionPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockConnectionPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockConnectionPolicySet) Has(connectionPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", connectionPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockConnectionPolicySetMockRecorder) Has(connectionPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockConnectionPolicySet)(nil).Has), connectionPolicy) +} + +// Insert mocks base method. +func (m *MockConnectionPolicySet) Insert(connectionPolicy ...*v2.ConnectionPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range connectionPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockConnectionPolicySetMockRecorder) Insert(connectionPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockConnectionPolicySet)(nil).Insert), connectionPolicy...) +} + +// Intersection mocks base method. +func (m *MockConnectionPolicySet) Intersection(set v2sets.ConnectionPolicySet) v2sets.ConnectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.ConnectionPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockConnectionPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockConnectionPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockConnectionPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockConnectionPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockConnectionPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockConnectionPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockConnectionPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockConnectionPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockConnectionPolicySet) List(filterResource ...func(*v2.ConnectionPolicy) bool) []*v2.ConnectionPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.ConnectionPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockConnectionPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockConnectionPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockConnectionPolicySet) Map() map[string]*v2.ConnectionPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.ConnectionPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockConnectionPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockConnectionPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockConnectionPolicySet) Union(set v2sets.ConnectionPolicySet) v2sets.ConnectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.ConnectionPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockConnectionPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockConnectionPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockConnectionPolicySet) UnsortedList(filterResource ...func(*v2.ConnectionPolicy) bool) []*v2.ConnectionPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.ConnectionPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockConnectionPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockConnectionPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockTrimProxyConfigPolicySet is a mock of TrimProxyConfigPolicySet interface. +type MockTrimProxyConfigPolicySet struct { + ctrl *gomock.Controller + recorder *MockTrimProxyConfigPolicySetMockRecorder +} + +// MockTrimProxyConfigPolicySetMockRecorder is the mock recorder for MockTrimProxyConfigPolicySet. +type MockTrimProxyConfigPolicySetMockRecorder struct { + mock *MockTrimProxyConfigPolicySet +} + +// NewMockTrimProxyConfigPolicySet creates a new mock instance. +func NewMockTrimProxyConfigPolicySet(ctrl *gomock.Controller) *MockTrimProxyConfigPolicySet { + mock := &MockTrimProxyConfigPolicySet{ctrl: ctrl} + mock.recorder = &MockTrimProxyConfigPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTrimProxyConfigPolicySet) EXPECT() *MockTrimProxyConfigPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockTrimProxyConfigPolicySet) Clone() v2sets.TrimProxyConfigPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.TrimProxyConfigPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockTrimProxyConfigPolicySet) Delete(trimProxyConfigPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", trimProxyConfigPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Delete(trimProxyConfigPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Delete), trimProxyConfigPolicy) +} + +// Delta mocks base method. +func (m *MockTrimProxyConfigPolicySet) Delta(newSet v2sets.TrimProxyConfigPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockTrimProxyConfigPolicySet) Difference(set v2sets.TrimProxyConfigPolicySet) v2sets.TrimProxyConfigPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.TrimProxyConfigPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockTrimProxyConfigPolicySet) Equal(trimProxyConfigPolicySet v2sets.TrimProxyConfigPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", trimProxyConfigPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Equal(trimProxyConfigPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Equal), trimProxyConfigPolicySet) +} + +// Find mocks base method. +func (m *MockTrimProxyConfigPolicySet) Find(id ezkube.ResourceId) (*v2.TrimProxyConfigPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.TrimProxyConfigPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockTrimProxyConfigPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockTrimProxyConfigPolicySet) Has(trimProxyConfigPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", trimProxyConfigPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Has(trimProxyConfigPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Has), trimProxyConfigPolicy) +} + +// Insert mocks base method. +func (m *MockTrimProxyConfigPolicySet) Insert(trimProxyConfigPolicy ...*v2.TrimProxyConfigPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range trimProxyConfigPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Insert(trimProxyConfigPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Insert), trimProxyConfigPolicy...) +} + +// Intersection mocks base method. +func (m *MockTrimProxyConfigPolicySet) Intersection(set v2sets.TrimProxyConfigPolicySet) v2sets.TrimProxyConfigPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.TrimProxyConfigPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockTrimProxyConfigPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockTrimProxyConfigPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockTrimProxyConfigPolicySet) List(filterResource ...func(*v2.TrimProxyConfigPolicy) bool) []*v2.TrimProxyConfigPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.TrimProxyConfigPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockTrimProxyConfigPolicySet) Map() map[string]*v2.TrimProxyConfigPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.TrimProxyConfigPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockTrimProxyConfigPolicySet) Union(set v2sets.TrimProxyConfigPolicySet) v2sets.TrimProxyConfigPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.TrimProxyConfigPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockTrimProxyConfigPolicySet) UnsortedList(filterResource ...func(*v2.TrimProxyConfigPolicy) bool) []*v2.TrimProxyConfigPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.TrimProxyConfigPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockTrimProxyConfigPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockTrimProxyConfigPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockActiveHealthCheckPolicySet is a mock of ActiveHealthCheckPolicySet interface. +type MockActiveHealthCheckPolicySet struct { + ctrl *gomock.Controller + recorder *MockActiveHealthCheckPolicySetMockRecorder +} + +// MockActiveHealthCheckPolicySetMockRecorder is the mock recorder for MockActiveHealthCheckPolicySet. +type MockActiveHealthCheckPolicySetMockRecorder struct { + mock *MockActiveHealthCheckPolicySet +} + +// NewMockActiveHealthCheckPolicySet creates a new mock instance. +func NewMockActiveHealthCheckPolicySet(ctrl *gomock.Controller) *MockActiveHealthCheckPolicySet { + mock := &MockActiveHealthCheckPolicySet{ctrl: ctrl} + mock.recorder = &MockActiveHealthCheckPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockActiveHealthCheckPolicySet) EXPECT() *MockActiveHealthCheckPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockActiveHealthCheckPolicySet) Clone() v2sets.ActiveHealthCheckPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.ActiveHealthCheckPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockActiveHealthCheckPolicySet) Delete(activeHealthCheckPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", activeHealthCheckPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Delete(activeHealthCheckPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Delete), activeHealthCheckPolicy) +} + +// Delta mocks base method. +func (m *MockActiveHealthCheckPolicySet) Delta(newSet v2sets.ActiveHealthCheckPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockActiveHealthCheckPolicySet) Difference(set v2sets.ActiveHealthCheckPolicySet) v2sets.ActiveHealthCheckPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.ActiveHealthCheckPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockActiveHealthCheckPolicySet) Equal(activeHealthCheckPolicySet v2sets.ActiveHealthCheckPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", activeHealthCheckPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Equal(activeHealthCheckPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Equal), activeHealthCheckPolicySet) +} + +// Find mocks base method. +func (m *MockActiveHealthCheckPolicySet) Find(id ezkube.ResourceId) (*v2.ActiveHealthCheckPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.ActiveHealthCheckPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockActiveHealthCheckPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockActiveHealthCheckPolicySet) Has(activeHealthCheckPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", activeHealthCheckPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Has(activeHealthCheckPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Has), activeHealthCheckPolicy) +} + +// Insert mocks base method. +func (m *MockActiveHealthCheckPolicySet) Insert(activeHealthCheckPolicy ...*v2.ActiveHealthCheckPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range activeHealthCheckPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Insert(activeHealthCheckPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Insert), activeHealthCheckPolicy...) +} + +// Intersection mocks base method. +func (m *MockActiveHealthCheckPolicySet) Intersection(set v2sets.ActiveHealthCheckPolicySet) v2sets.ActiveHealthCheckPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.ActiveHealthCheckPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockActiveHealthCheckPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockActiveHealthCheckPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockActiveHealthCheckPolicySet) List(filterResource ...func(*v2.ActiveHealthCheckPolicy) bool) []*v2.ActiveHealthCheckPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.ActiveHealthCheckPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockActiveHealthCheckPolicySet) Map() map[string]*v2.ActiveHealthCheckPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.ActiveHealthCheckPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockActiveHealthCheckPolicySet) Union(set v2sets.ActiveHealthCheckPolicySet) v2sets.ActiveHealthCheckPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.ActiveHealthCheckPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockActiveHealthCheckPolicySet) UnsortedList(filterResource ...func(*v2.ActiveHealthCheckPolicy) bool) []*v2.ActiveHealthCheckPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.ActiveHealthCheckPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockActiveHealthCheckPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockActiveHealthCheckPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockListenerConnectionPolicySet is a mock of ListenerConnectionPolicySet interface. +type MockListenerConnectionPolicySet struct { + ctrl *gomock.Controller + recorder *MockListenerConnectionPolicySetMockRecorder +} + +// MockListenerConnectionPolicySetMockRecorder is the mock recorder for MockListenerConnectionPolicySet. +type MockListenerConnectionPolicySetMockRecorder struct { + mock *MockListenerConnectionPolicySet +} + +// NewMockListenerConnectionPolicySet creates a new mock instance. +func NewMockListenerConnectionPolicySet(ctrl *gomock.Controller) *MockListenerConnectionPolicySet { + mock := &MockListenerConnectionPolicySet{ctrl: ctrl} + mock.recorder = &MockListenerConnectionPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockListenerConnectionPolicySet) EXPECT() *MockListenerConnectionPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockListenerConnectionPolicySet) Clone() v2sets.ListenerConnectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.ListenerConnectionPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockListenerConnectionPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockListenerConnectionPolicySet) Delete(listenerConnectionPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", listenerConnectionPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockListenerConnectionPolicySetMockRecorder) Delete(listenerConnectionPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Delete), listenerConnectionPolicy) +} + +// Delta mocks base method. +func (m *MockListenerConnectionPolicySet) Delta(newSet v2sets.ListenerConnectionPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockListenerConnectionPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockListenerConnectionPolicySet) Difference(set v2sets.ListenerConnectionPolicySet) v2sets.ListenerConnectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.ListenerConnectionPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockListenerConnectionPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockListenerConnectionPolicySet) Equal(listenerConnectionPolicySet v2sets.ListenerConnectionPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", listenerConnectionPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockListenerConnectionPolicySetMockRecorder) Equal(listenerConnectionPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Equal), listenerConnectionPolicySet) +} + +// Find mocks base method. +func (m *MockListenerConnectionPolicySet) Find(id ezkube.ResourceId) (*v2.ListenerConnectionPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.ListenerConnectionPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockListenerConnectionPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockListenerConnectionPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockListenerConnectionPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockListenerConnectionPolicySet) Has(listenerConnectionPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", listenerConnectionPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockListenerConnectionPolicySetMockRecorder) Has(listenerConnectionPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Has), listenerConnectionPolicy) +} + +// Insert mocks base method. +func (m *MockListenerConnectionPolicySet) Insert(listenerConnectionPolicy ...*v2.ListenerConnectionPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range listenerConnectionPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockListenerConnectionPolicySetMockRecorder) Insert(listenerConnectionPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Insert), listenerConnectionPolicy...) +} + +// Intersection mocks base method. +func (m *MockListenerConnectionPolicySet) Intersection(set v2sets.ListenerConnectionPolicySet) v2sets.ListenerConnectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.ListenerConnectionPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockListenerConnectionPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockListenerConnectionPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockListenerConnectionPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockListenerConnectionPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockListenerConnectionPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockListenerConnectionPolicySet) List(filterResource ...func(*v2.ListenerConnectionPolicy) bool) []*v2.ListenerConnectionPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.ListenerConnectionPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockListenerConnectionPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockListenerConnectionPolicySet) Map() map[string]*v2.ListenerConnectionPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.ListenerConnectionPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockListenerConnectionPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockListenerConnectionPolicySet) Union(set v2sets.ListenerConnectionPolicySet) v2sets.ListenerConnectionPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.ListenerConnectionPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockListenerConnectionPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockListenerConnectionPolicySet) UnsortedList(filterResource ...func(*v2.ListenerConnectionPolicy) bool) []*v2.ListenerConnectionPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.ListenerConnectionPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockListenerConnectionPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockListenerConnectionPolicySet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/sets/sets.go b/client-go/resilience.policy.gloo.solo.io/v2/sets/sets.go new file mode 100644 index 000000000..fd0175937 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/sets/sets.go @@ -0,0 +1,2021 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2sets + +import ( + resilience_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type GraphQLPersistedQueryCachePolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) bool) []*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) bool) []*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy + // Return the Set as a map of key to resource. + Map() map[string]*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy + // Insert a resource into the set. + Insert(graphQLPersistedQueryCachePolicy ...*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(graphQLPersistedQueryCachePolicySet GraphQLPersistedQueryCachePolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(graphQLPersistedQueryCachePolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(graphQLPersistedQueryCachePolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set GraphQLPersistedQueryCachePolicySet) GraphQLPersistedQueryCachePolicySet + // Return the difference with the provided set + Difference(set GraphQLPersistedQueryCachePolicySet) GraphQLPersistedQueryCachePolicySet + // Return the intersection with the provided set + Intersection(set GraphQLPersistedQueryCachePolicySet) GraphQLPersistedQueryCachePolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another GraphQLPersistedQueryCachePolicySet + Delta(newSet GraphQLPersistedQueryCachePolicySet) sksets.ResourceDelta + // Create a deep copy of the current GraphQLPersistedQueryCachePolicySet + Clone() GraphQLPersistedQueryCachePolicySet +} + +func makeGenericGraphQLPersistedQueryCachePolicySet(graphQLPersistedQueryCachePolicyList []*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range graphQLPersistedQueryCachePolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type graphQLPersistedQueryCachePolicySet struct { + set sksets.ResourceSet +} + +func NewGraphQLPersistedQueryCachePolicySet(graphQLPersistedQueryCachePolicyList ...*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) GraphQLPersistedQueryCachePolicySet { + return &graphQLPersistedQueryCachePolicySet{set: makeGenericGraphQLPersistedQueryCachePolicySet(graphQLPersistedQueryCachePolicyList)} +} + +func NewGraphQLPersistedQueryCachePolicySetFromList(graphQLPersistedQueryCachePolicyList *resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicyList) GraphQLPersistedQueryCachePolicySet { + list := make([]*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy, 0, len(graphQLPersistedQueryCachePolicyList.Items)) + for idx := range graphQLPersistedQueryCachePolicyList.Items { + list = append(list, &graphQLPersistedQueryCachePolicyList.Items[idx]) + } + return &graphQLPersistedQueryCachePolicySet{set: makeGenericGraphQLPersistedQueryCachePolicySet(list)} +} + +func (s *graphQLPersistedQueryCachePolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *graphQLPersistedQueryCachePolicySet) List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) bool) []*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + graphQLPersistedQueryCachePolicyList := make([]*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy, 0, len(objs)) + for _, obj := range objs { + graphQLPersistedQueryCachePolicyList = append(graphQLPersistedQueryCachePolicyList, obj.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy)) + } + return graphQLPersistedQueryCachePolicyList +} + +func (s *graphQLPersistedQueryCachePolicySet) UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) bool) []*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy)) + }) + } + + var graphQLPersistedQueryCachePolicyList []*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + graphQLPersistedQueryCachePolicyList = append(graphQLPersistedQueryCachePolicyList, obj.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy)) + } + return graphQLPersistedQueryCachePolicyList +} + +func (s *graphQLPersistedQueryCachePolicySet) Map() map[string]*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy { + if s == nil { + return nil + } + + newMap := map[string]*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy) + } + return newMap +} + +func (s *graphQLPersistedQueryCachePolicySet) Insert( + graphQLPersistedQueryCachePolicyList ...*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range graphQLPersistedQueryCachePolicyList { + s.Generic().Insert(obj) + } +} + +func (s *graphQLPersistedQueryCachePolicySet) Has(graphQLPersistedQueryCachePolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(graphQLPersistedQueryCachePolicy) +} + +func (s *graphQLPersistedQueryCachePolicySet) Equal( + graphQLPersistedQueryCachePolicySet GraphQLPersistedQueryCachePolicySet, +) bool { + if s == nil { + return graphQLPersistedQueryCachePolicySet == nil + } + return s.Generic().Equal(graphQLPersistedQueryCachePolicySet.Generic()) +} + +func (s *graphQLPersistedQueryCachePolicySet) Delete(GraphQLPersistedQueryCachePolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(GraphQLPersistedQueryCachePolicy) +} + +func (s *graphQLPersistedQueryCachePolicySet) Union(set GraphQLPersistedQueryCachePolicySet) GraphQLPersistedQueryCachePolicySet { + if s == nil { + return set + } + return NewGraphQLPersistedQueryCachePolicySet(append(s.List(), set.List()...)...) +} + +func (s *graphQLPersistedQueryCachePolicySet) Difference(set GraphQLPersistedQueryCachePolicySet) GraphQLPersistedQueryCachePolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &graphQLPersistedQueryCachePolicySet{set: newSet} +} + +func (s *graphQLPersistedQueryCachePolicySet) Intersection(set GraphQLPersistedQueryCachePolicySet) GraphQLPersistedQueryCachePolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var graphQLPersistedQueryCachePolicyList []*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy + for _, obj := range newSet.List() { + graphQLPersistedQueryCachePolicyList = append(graphQLPersistedQueryCachePolicyList, obj.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy)) + } + return NewGraphQLPersistedQueryCachePolicySet(graphQLPersistedQueryCachePolicyList...) +} + +func (s *graphQLPersistedQueryCachePolicySet) Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find GraphQLPersistedQueryCachePolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*resilience_policy_gloo_solo_io_v2.GraphQLPersistedQueryCachePolicy), nil +} + +func (s *graphQLPersistedQueryCachePolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *graphQLPersistedQueryCachePolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *graphQLPersistedQueryCachePolicySet) Delta(newSet GraphQLPersistedQueryCachePolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *graphQLPersistedQueryCachePolicySet) Clone() GraphQLPersistedQueryCachePolicySet { + if s == nil { + return nil + } + return &graphQLPersistedQueryCachePolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type FailoverPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) bool) []*resilience_policy_gloo_solo_io_v2.FailoverPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) bool) []*resilience_policy_gloo_solo_io_v2.FailoverPolicy + // Return the Set as a map of key to resource. + Map() map[string]*resilience_policy_gloo_solo_io_v2.FailoverPolicy + // Insert a resource into the set. + Insert(failoverPolicy ...*resilience_policy_gloo_solo_io_v2.FailoverPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(failoverPolicySet FailoverPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(failoverPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(failoverPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set FailoverPolicySet) FailoverPolicySet + // Return the difference with the provided set + Difference(set FailoverPolicySet) FailoverPolicySet + // Return the intersection with the provided set + Intersection(set FailoverPolicySet) FailoverPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.FailoverPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another FailoverPolicySet + Delta(newSet FailoverPolicySet) sksets.ResourceDelta + // Create a deep copy of the current FailoverPolicySet + Clone() FailoverPolicySet +} + +func makeGenericFailoverPolicySet(failoverPolicyList []*resilience_policy_gloo_solo_io_v2.FailoverPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range failoverPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type failoverPolicySet struct { + set sksets.ResourceSet +} + +func NewFailoverPolicySet(failoverPolicyList ...*resilience_policy_gloo_solo_io_v2.FailoverPolicy) FailoverPolicySet { + return &failoverPolicySet{set: makeGenericFailoverPolicySet(failoverPolicyList)} +} + +func NewFailoverPolicySetFromList(failoverPolicyList *resilience_policy_gloo_solo_io_v2.FailoverPolicyList) FailoverPolicySet { + list := make([]*resilience_policy_gloo_solo_io_v2.FailoverPolicy, 0, len(failoverPolicyList.Items)) + for idx := range failoverPolicyList.Items { + list = append(list, &failoverPolicyList.Items[idx]) + } + return &failoverPolicySet{set: makeGenericFailoverPolicySet(list)} +} + +func (s *failoverPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *failoverPolicySet) List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) bool) []*resilience_policy_gloo_solo_io_v2.FailoverPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + failoverPolicyList := make([]*resilience_policy_gloo_solo_io_v2.FailoverPolicy, 0, len(objs)) + for _, obj := range objs { + failoverPolicyList = append(failoverPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy)) + } + return failoverPolicyList +} + +func (s *failoverPolicySet) UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) bool) []*resilience_policy_gloo_solo_io_v2.FailoverPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy)) + }) + } + + var failoverPolicyList []*resilience_policy_gloo_solo_io_v2.FailoverPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + failoverPolicyList = append(failoverPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy)) + } + return failoverPolicyList +} + +func (s *failoverPolicySet) Map() map[string]*resilience_policy_gloo_solo_io_v2.FailoverPolicy { + if s == nil { + return nil + } + + newMap := map[string]*resilience_policy_gloo_solo_io_v2.FailoverPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy) + } + return newMap +} + +func (s *failoverPolicySet) Insert( + failoverPolicyList ...*resilience_policy_gloo_solo_io_v2.FailoverPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range failoverPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *failoverPolicySet) Has(failoverPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(failoverPolicy) +} + +func (s *failoverPolicySet) Equal( + failoverPolicySet FailoverPolicySet, +) bool { + if s == nil { + return failoverPolicySet == nil + } + return s.Generic().Equal(failoverPolicySet.Generic()) +} + +func (s *failoverPolicySet) Delete(FailoverPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(FailoverPolicy) +} + +func (s *failoverPolicySet) Union(set FailoverPolicySet) FailoverPolicySet { + if s == nil { + return set + } + return NewFailoverPolicySet(append(s.List(), set.List()...)...) +} + +func (s *failoverPolicySet) Difference(set FailoverPolicySet) FailoverPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &failoverPolicySet{set: newSet} +} + +func (s *failoverPolicySet) Intersection(set FailoverPolicySet) FailoverPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var failoverPolicyList []*resilience_policy_gloo_solo_io_v2.FailoverPolicy + for _, obj := range newSet.List() { + failoverPolicyList = append(failoverPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy)) + } + return NewFailoverPolicySet(failoverPolicyList...) +} + +func (s *failoverPolicySet) Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.FailoverPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find FailoverPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&resilience_policy_gloo_solo_io_v2.FailoverPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*resilience_policy_gloo_solo_io_v2.FailoverPolicy), nil +} + +func (s *failoverPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *failoverPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *failoverPolicySet) Delta(newSet FailoverPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *failoverPolicySet) Clone() FailoverPolicySet { + if s == nil { + return nil + } + return &failoverPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type OutlierDetectionPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy + // Return the Set as a map of key to resource. + Map() map[string]*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy + // Insert a resource into the set. + Insert(outlierDetectionPolicy ...*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(outlierDetectionPolicySet OutlierDetectionPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(outlierDetectionPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(outlierDetectionPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set OutlierDetectionPolicySet) OutlierDetectionPolicySet + // Return the difference with the provided set + Difference(set OutlierDetectionPolicySet) OutlierDetectionPolicySet + // Return the intersection with the provided set + Intersection(set OutlierDetectionPolicySet) OutlierDetectionPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another OutlierDetectionPolicySet + Delta(newSet OutlierDetectionPolicySet) sksets.ResourceDelta + // Create a deep copy of the current OutlierDetectionPolicySet + Clone() OutlierDetectionPolicySet +} + +func makeGenericOutlierDetectionPolicySet(outlierDetectionPolicyList []*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range outlierDetectionPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type outlierDetectionPolicySet struct { + set sksets.ResourceSet +} + +func NewOutlierDetectionPolicySet(outlierDetectionPolicyList ...*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) OutlierDetectionPolicySet { + return &outlierDetectionPolicySet{set: makeGenericOutlierDetectionPolicySet(outlierDetectionPolicyList)} +} + +func NewOutlierDetectionPolicySetFromList(outlierDetectionPolicyList *resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicyList) OutlierDetectionPolicySet { + list := make([]*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy, 0, len(outlierDetectionPolicyList.Items)) + for idx := range outlierDetectionPolicyList.Items { + list = append(list, &outlierDetectionPolicyList.Items[idx]) + } + return &outlierDetectionPolicySet{set: makeGenericOutlierDetectionPolicySet(list)} +} + +func (s *outlierDetectionPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *outlierDetectionPolicySet) List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + outlierDetectionPolicyList := make([]*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy, 0, len(objs)) + for _, obj := range objs { + outlierDetectionPolicyList = append(outlierDetectionPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy)) + } + return outlierDetectionPolicyList +} + +func (s *outlierDetectionPolicySet) UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy)) + }) + } + + var outlierDetectionPolicyList []*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + outlierDetectionPolicyList = append(outlierDetectionPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy)) + } + return outlierDetectionPolicyList +} + +func (s *outlierDetectionPolicySet) Map() map[string]*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy { + if s == nil { + return nil + } + + newMap := map[string]*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy) + } + return newMap +} + +func (s *outlierDetectionPolicySet) Insert( + outlierDetectionPolicyList ...*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range outlierDetectionPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *outlierDetectionPolicySet) Has(outlierDetectionPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(outlierDetectionPolicy) +} + +func (s *outlierDetectionPolicySet) Equal( + outlierDetectionPolicySet OutlierDetectionPolicySet, +) bool { + if s == nil { + return outlierDetectionPolicySet == nil + } + return s.Generic().Equal(outlierDetectionPolicySet.Generic()) +} + +func (s *outlierDetectionPolicySet) Delete(OutlierDetectionPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(OutlierDetectionPolicy) +} + +func (s *outlierDetectionPolicySet) Union(set OutlierDetectionPolicySet) OutlierDetectionPolicySet { + if s == nil { + return set + } + return NewOutlierDetectionPolicySet(append(s.List(), set.List()...)...) +} + +func (s *outlierDetectionPolicySet) Difference(set OutlierDetectionPolicySet) OutlierDetectionPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &outlierDetectionPolicySet{set: newSet} +} + +func (s *outlierDetectionPolicySet) Intersection(set OutlierDetectionPolicySet) OutlierDetectionPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var outlierDetectionPolicyList []*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy + for _, obj := range newSet.List() { + outlierDetectionPolicyList = append(outlierDetectionPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy)) + } + return NewOutlierDetectionPolicySet(outlierDetectionPolicyList...) +} + +func (s *outlierDetectionPolicySet) Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find OutlierDetectionPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*resilience_policy_gloo_solo_io_v2.OutlierDetectionPolicy), nil +} + +func (s *outlierDetectionPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *outlierDetectionPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *outlierDetectionPolicySet) Delta(newSet OutlierDetectionPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *outlierDetectionPolicySet) Clone() OutlierDetectionPolicySet { + if s == nil { + return nil + } + return &outlierDetectionPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type FaultInjectionPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy + // Return the Set as a map of key to resource. + Map() map[string]*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy + // Insert a resource into the set. + Insert(faultInjectionPolicy ...*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(faultInjectionPolicySet FaultInjectionPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(faultInjectionPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(faultInjectionPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set FaultInjectionPolicySet) FaultInjectionPolicySet + // Return the difference with the provided set + Difference(set FaultInjectionPolicySet) FaultInjectionPolicySet + // Return the intersection with the provided set + Intersection(set FaultInjectionPolicySet) FaultInjectionPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another FaultInjectionPolicySet + Delta(newSet FaultInjectionPolicySet) sksets.ResourceDelta + // Create a deep copy of the current FaultInjectionPolicySet + Clone() FaultInjectionPolicySet +} + +func makeGenericFaultInjectionPolicySet(faultInjectionPolicyList []*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range faultInjectionPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type faultInjectionPolicySet struct { + set sksets.ResourceSet +} + +func NewFaultInjectionPolicySet(faultInjectionPolicyList ...*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) FaultInjectionPolicySet { + return &faultInjectionPolicySet{set: makeGenericFaultInjectionPolicySet(faultInjectionPolicyList)} +} + +func NewFaultInjectionPolicySetFromList(faultInjectionPolicyList *resilience_policy_gloo_solo_io_v2.FaultInjectionPolicyList) FaultInjectionPolicySet { + list := make([]*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy, 0, len(faultInjectionPolicyList.Items)) + for idx := range faultInjectionPolicyList.Items { + list = append(list, &faultInjectionPolicyList.Items[idx]) + } + return &faultInjectionPolicySet{set: makeGenericFaultInjectionPolicySet(list)} +} + +func (s *faultInjectionPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *faultInjectionPolicySet) List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + faultInjectionPolicyList := make([]*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy, 0, len(objs)) + for _, obj := range objs { + faultInjectionPolicyList = append(faultInjectionPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy)) + } + return faultInjectionPolicyList +} + +func (s *faultInjectionPolicySet) UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy)) + }) + } + + var faultInjectionPolicyList []*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + faultInjectionPolicyList = append(faultInjectionPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy)) + } + return faultInjectionPolicyList +} + +func (s *faultInjectionPolicySet) Map() map[string]*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy { + if s == nil { + return nil + } + + newMap := map[string]*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy) + } + return newMap +} + +func (s *faultInjectionPolicySet) Insert( + faultInjectionPolicyList ...*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range faultInjectionPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *faultInjectionPolicySet) Has(faultInjectionPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(faultInjectionPolicy) +} + +func (s *faultInjectionPolicySet) Equal( + faultInjectionPolicySet FaultInjectionPolicySet, +) bool { + if s == nil { + return faultInjectionPolicySet == nil + } + return s.Generic().Equal(faultInjectionPolicySet.Generic()) +} + +func (s *faultInjectionPolicySet) Delete(FaultInjectionPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(FaultInjectionPolicy) +} + +func (s *faultInjectionPolicySet) Union(set FaultInjectionPolicySet) FaultInjectionPolicySet { + if s == nil { + return set + } + return NewFaultInjectionPolicySet(append(s.List(), set.List()...)...) +} + +func (s *faultInjectionPolicySet) Difference(set FaultInjectionPolicySet) FaultInjectionPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &faultInjectionPolicySet{set: newSet} +} + +func (s *faultInjectionPolicySet) Intersection(set FaultInjectionPolicySet) FaultInjectionPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var faultInjectionPolicyList []*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy + for _, obj := range newSet.List() { + faultInjectionPolicyList = append(faultInjectionPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy)) + } + return NewFaultInjectionPolicySet(faultInjectionPolicyList...) +} + +func (s *faultInjectionPolicySet) Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find FaultInjectionPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*resilience_policy_gloo_solo_io_v2.FaultInjectionPolicy), nil +} + +func (s *faultInjectionPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *faultInjectionPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *faultInjectionPolicySet) Delta(newSet FaultInjectionPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *faultInjectionPolicySet) Clone() FaultInjectionPolicySet { + if s == nil { + return nil + } + return &faultInjectionPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type RetryTimeoutPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) bool) []*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) bool) []*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy + // Return the Set as a map of key to resource. + Map() map[string]*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy + // Insert a resource into the set. + Insert(retryTimeoutPolicy ...*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(retryTimeoutPolicySet RetryTimeoutPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(retryTimeoutPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(retryTimeoutPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set RetryTimeoutPolicySet) RetryTimeoutPolicySet + // Return the difference with the provided set + Difference(set RetryTimeoutPolicySet) RetryTimeoutPolicySet + // Return the intersection with the provided set + Intersection(set RetryTimeoutPolicySet) RetryTimeoutPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another RetryTimeoutPolicySet + Delta(newSet RetryTimeoutPolicySet) sksets.ResourceDelta + // Create a deep copy of the current RetryTimeoutPolicySet + Clone() RetryTimeoutPolicySet +} + +func makeGenericRetryTimeoutPolicySet(retryTimeoutPolicyList []*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range retryTimeoutPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type retryTimeoutPolicySet struct { + set sksets.ResourceSet +} + +func NewRetryTimeoutPolicySet(retryTimeoutPolicyList ...*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) RetryTimeoutPolicySet { + return &retryTimeoutPolicySet{set: makeGenericRetryTimeoutPolicySet(retryTimeoutPolicyList)} +} + +func NewRetryTimeoutPolicySetFromList(retryTimeoutPolicyList *resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicyList) RetryTimeoutPolicySet { + list := make([]*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy, 0, len(retryTimeoutPolicyList.Items)) + for idx := range retryTimeoutPolicyList.Items { + list = append(list, &retryTimeoutPolicyList.Items[idx]) + } + return &retryTimeoutPolicySet{set: makeGenericRetryTimeoutPolicySet(list)} +} + +func (s *retryTimeoutPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *retryTimeoutPolicySet) List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) bool) []*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + retryTimeoutPolicyList := make([]*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy, 0, len(objs)) + for _, obj := range objs { + retryTimeoutPolicyList = append(retryTimeoutPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy)) + } + return retryTimeoutPolicyList +} + +func (s *retryTimeoutPolicySet) UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) bool) []*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy)) + }) + } + + var retryTimeoutPolicyList []*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + retryTimeoutPolicyList = append(retryTimeoutPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy)) + } + return retryTimeoutPolicyList +} + +func (s *retryTimeoutPolicySet) Map() map[string]*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy { + if s == nil { + return nil + } + + newMap := map[string]*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy) + } + return newMap +} + +func (s *retryTimeoutPolicySet) Insert( + retryTimeoutPolicyList ...*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range retryTimeoutPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *retryTimeoutPolicySet) Has(retryTimeoutPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(retryTimeoutPolicy) +} + +func (s *retryTimeoutPolicySet) Equal( + retryTimeoutPolicySet RetryTimeoutPolicySet, +) bool { + if s == nil { + return retryTimeoutPolicySet == nil + } + return s.Generic().Equal(retryTimeoutPolicySet.Generic()) +} + +func (s *retryTimeoutPolicySet) Delete(RetryTimeoutPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(RetryTimeoutPolicy) +} + +func (s *retryTimeoutPolicySet) Union(set RetryTimeoutPolicySet) RetryTimeoutPolicySet { + if s == nil { + return set + } + return NewRetryTimeoutPolicySet(append(s.List(), set.List()...)...) +} + +func (s *retryTimeoutPolicySet) Difference(set RetryTimeoutPolicySet) RetryTimeoutPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &retryTimeoutPolicySet{set: newSet} +} + +func (s *retryTimeoutPolicySet) Intersection(set RetryTimeoutPolicySet) RetryTimeoutPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var retryTimeoutPolicyList []*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy + for _, obj := range newSet.List() { + retryTimeoutPolicyList = append(retryTimeoutPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy)) + } + return NewRetryTimeoutPolicySet(retryTimeoutPolicyList...) +} + +func (s *retryTimeoutPolicySet) Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find RetryTimeoutPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*resilience_policy_gloo_solo_io_v2.RetryTimeoutPolicy), nil +} + +func (s *retryTimeoutPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *retryTimeoutPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *retryTimeoutPolicySet) Delta(newSet RetryTimeoutPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *retryTimeoutPolicySet) Clone() RetryTimeoutPolicySet { + if s == nil { + return nil + } + return &retryTimeoutPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type ConnectionPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.ConnectionPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.ConnectionPolicy + // Return the Set as a map of key to resource. + Map() map[string]*resilience_policy_gloo_solo_io_v2.ConnectionPolicy + // Insert a resource into the set. + Insert(connectionPolicy ...*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(connectionPolicySet ConnectionPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(connectionPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(connectionPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set ConnectionPolicySet) ConnectionPolicySet + // Return the difference with the provided set + Difference(set ConnectionPolicySet) ConnectionPolicySet + // Return the intersection with the provided set + Intersection(set ConnectionPolicySet) ConnectionPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.ConnectionPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ConnectionPolicySet + Delta(newSet ConnectionPolicySet) sksets.ResourceDelta + // Create a deep copy of the current ConnectionPolicySet + Clone() ConnectionPolicySet +} + +func makeGenericConnectionPolicySet(connectionPolicyList []*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range connectionPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type connectionPolicySet struct { + set sksets.ResourceSet +} + +func NewConnectionPolicySet(connectionPolicyList ...*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) ConnectionPolicySet { + return &connectionPolicySet{set: makeGenericConnectionPolicySet(connectionPolicyList)} +} + +func NewConnectionPolicySetFromList(connectionPolicyList *resilience_policy_gloo_solo_io_v2.ConnectionPolicyList) ConnectionPolicySet { + list := make([]*resilience_policy_gloo_solo_io_v2.ConnectionPolicy, 0, len(connectionPolicyList.Items)) + for idx := range connectionPolicyList.Items { + list = append(list, &connectionPolicyList.Items[idx]) + } + return &connectionPolicySet{set: makeGenericConnectionPolicySet(list)} +} + +func (s *connectionPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *connectionPolicySet) List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.ConnectionPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + connectionPolicyList := make([]*resilience_policy_gloo_solo_io_v2.ConnectionPolicy, 0, len(objs)) + for _, obj := range objs { + connectionPolicyList = append(connectionPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy)) + } + return connectionPolicyList +} + +func (s *connectionPolicySet) UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.ConnectionPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy)) + }) + } + + var connectionPolicyList []*resilience_policy_gloo_solo_io_v2.ConnectionPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + connectionPolicyList = append(connectionPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy)) + } + return connectionPolicyList +} + +func (s *connectionPolicySet) Map() map[string]*resilience_policy_gloo_solo_io_v2.ConnectionPolicy { + if s == nil { + return nil + } + + newMap := map[string]*resilience_policy_gloo_solo_io_v2.ConnectionPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy) + } + return newMap +} + +func (s *connectionPolicySet) Insert( + connectionPolicyList ...*resilience_policy_gloo_solo_io_v2.ConnectionPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range connectionPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *connectionPolicySet) Has(connectionPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(connectionPolicy) +} + +func (s *connectionPolicySet) Equal( + connectionPolicySet ConnectionPolicySet, +) bool { + if s == nil { + return connectionPolicySet == nil + } + return s.Generic().Equal(connectionPolicySet.Generic()) +} + +func (s *connectionPolicySet) Delete(ConnectionPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ConnectionPolicy) +} + +func (s *connectionPolicySet) Union(set ConnectionPolicySet) ConnectionPolicySet { + if s == nil { + return set + } + return NewConnectionPolicySet(append(s.List(), set.List()...)...) +} + +func (s *connectionPolicySet) Difference(set ConnectionPolicySet) ConnectionPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &connectionPolicySet{set: newSet} +} + +func (s *connectionPolicySet) Intersection(set ConnectionPolicySet) ConnectionPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var connectionPolicyList []*resilience_policy_gloo_solo_io_v2.ConnectionPolicy + for _, obj := range newSet.List() { + connectionPolicyList = append(connectionPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy)) + } + return NewConnectionPolicySet(connectionPolicyList...) +} + +func (s *connectionPolicySet) Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.ConnectionPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ConnectionPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&resilience_policy_gloo_solo_io_v2.ConnectionPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*resilience_policy_gloo_solo_io_v2.ConnectionPolicy), nil +} + +func (s *connectionPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *connectionPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *connectionPolicySet) Delta(newSet ConnectionPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *connectionPolicySet) Clone() ConnectionPolicySet { + if s == nil { + return nil + } + return &connectionPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type TrimProxyConfigPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) bool) []*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) bool) []*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy + // Return the Set as a map of key to resource. + Map() map[string]*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy + // Insert a resource into the set. + Insert(trimProxyConfigPolicy ...*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(trimProxyConfigPolicySet TrimProxyConfigPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(trimProxyConfigPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(trimProxyConfigPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set TrimProxyConfigPolicySet) TrimProxyConfigPolicySet + // Return the difference with the provided set + Difference(set TrimProxyConfigPolicySet) TrimProxyConfigPolicySet + // Return the intersection with the provided set + Intersection(set TrimProxyConfigPolicySet) TrimProxyConfigPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another TrimProxyConfigPolicySet + Delta(newSet TrimProxyConfigPolicySet) sksets.ResourceDelta + // Create a deep copy of the current TrimProxyConfigPolicySet + Clone() TrimProxyConfigPolicySet +} + +func makeGenericTrimProxyConfigPolicySet(trimProxyConfigPolicyList []*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range trimProxyConfigPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type trimProxyConfigPolicySet struct { + set sksets.ResourceSet +} + +func NewTrimProxyConfigPolicySet(trimProxyConfigPolicyList ...*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) TrimProxyConfigPolicySet { + return &trimProxyConfigPolicySet{set: makeGenericTrimProxyConfigPolicySet(trimProxyConfigPolicyList)} +} + +func NewTrimProxyConfigPolicySetFromList(trimProxyConfigPolicyList *resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicyList) TrimProxyConfigPolicySet { + list := make([]*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy, 0, len(trimProxyConfigPolicyList.Items)) + for idx := range trimProxyConfigPolicyList.Items { + list = append(list, &trimProxyConfigPolicyList.Items[idx]) + } + return &trimProxyConfigPolicySet{set: makeGenericTrimProxyConfigPolicySet(list)} +} + +func (s *trimProxyConfigPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *trimProxyConfigPolicySet) List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) bool) []*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + trimProxyConfigPolicyList := make([]*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy, 0, len(objs)) + for _, obj := range objs { + trimProxyConfigPolicyList = append(trimProxyConfigPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy)) + } + return trimProxyConfigPolicyList +} + +func (s *trimProxyConfigPolicySet) UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) bool) []*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy)) + }) + } + + var trimProxyConfigPolicyList []*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + trimProxyConfigPolicyList = append(trimProxyConfigPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy)) + } + return trimProxyConfigPolicyList +} + +func (s *trimProxyConfigPolicySet) Map() map[string]*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy { + if s == nil { + return nil + } + + newMap := map[string]*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy) + } + return newMap +} + +func (s *trimProxyConfigPolicySet) Insert( + trimProxyConfigPolicyList ...*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range trimProxyConfigPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *trimProxyConfigPolicySet) Has(trimProxyConfigPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(trimProxyConfigPolicy) +} + +func (s *trimProxyConfigPolicySet) Equal( + trimProxyConfigPolicySet TrimProxyConfigPolicySet, +) bool { + if s == nil { + return trimProxyConfigPolicySet == nil + } + return s.Generic().Equal(trimProxyConfigPolicySet.Generic()) +} + +func (s *trimProxyConfigPolicySet) Delete(TrimProxyConfigPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(TrimProxyConfigPolicy) +} + +func (s *trimProxyConfigPolicySet) Union(set TrimProxyConfigPolicySet) TrimProxyConfigPolicySet { + if s == nil { + return set + } + return NewTrimProxyConfigPolicySet(append(s.List(), set.List()...)...) +} + +func (s *trimProxyConfigPolicySet) Difference(set TrimProxyConfigPolicySet) TrimProxyConfigPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &trimProxyConfigPolicySet{set: newSet} +} + +func (s *trimProxyConfigPolicySet) Intersection(set TrimProxyConfigPolicySet) TrimProxyConfigPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var trimProxyConfigPolicyList []*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy + for _, obj := range newSet.List() { + trimProxyConfigPolicyList = append(trimProxyConfigPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy)) + } + return NewTrimProxyConfigPolicySet(trimProxyConfigPolicyList...) +} + +func (s *trimProxyConfigPolicySet) Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find TrimProxyConfigPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*resilience_policy_gloo_solo_io_v2.TrimProxyConfigPolicy), nil +} + +func (s *trimProxyConfigPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *trimProxyConfigPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *trimProxyConfigPolicySet) Delta(newSet TrimProxyConfigPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *trimProxyConfigPolicySet) Clone() TrimProxyConfigPolicySet { + if s == nil { + return nil + } + return &trimProxyConfigPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type ActiveHealthCheckPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) bool) []*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) bool) []*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy + // Return the Set as a map of key to resource. + Map() map[string]*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy + // Insert a resource into the set. + Insert(activeHealthCheckPolicy ...*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(activeHealthCheckPolicySet ActiveHealthCheckPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(activeHealthCheckPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(activeHealthCheckPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set ActiveHealthCheckPolicySet) ActiveHealthCheckPolicySet + // Return the difference with the provided set + Difference(set ActiveHealthCheckPolicySet) ActiveHealthCheckPolicySet + // Return the intersection with the provided set + Intersection(set ActiveHealthCheckPolicySet) ActiveHealthCheckPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ActiveHealthCheckPolicySet + Delta(newSet ActiveHealthCheckPolicySet) sksets.ResourceDelta + // Create a deep copy of the current ActiveHealthCheckPolicySet + Clone() ActiveHealthCheckPolicySet +} + +func makeGenericActiveHealthCheckPolicySet(activeHealthCheckPolicyList []*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range activeHealthCheckPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type activeHealthCheckPolicySet struct { + set sksets.ResourceSet +} + +func NewActiveHealthCheckPolicySet(activeHealthCheckPolicyList ...*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) ActiveHealthCheckPolicySet { + return &activeHealthCheckPolicySet{set: makeGenericActiveHealthCheckPolicySet(activeHealthCheckPolicyList)} +} + +func NewActiveHealthCheckPolicySetFromList(activeHealthCheckPolicyList *resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicyList) ActiveHealthCheckPolicySet { + list := make([]*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy, 0, len(activeHealthCheckPolicyList.Items)) + for idx := range activeHealthCheckPolicyList.Items { + list = append(list, &activeHealthCheckPolicyList.Items[idx]) + } + return &activeHealthCheckPolicySet{set: makeGenericActiveHealthCheckPolicySet(list)} +} + +func (s *activeHealthCheckPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *activeHealthCheckPolicySet) List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) bool) []*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + activeHealthCheckPolicyList := make([]*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy, 0, len(objs)) + for _, obj := range objs { + activeHealthCheckPolicyList = append(activeHealthCheckPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy)) + } + return activeHealthCheckPolicyList +} + +func (s *activeHealthCheckPolicySet) UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) bool) []*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy)) + }) + } + + var activeHealthCheckPolicyList []*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + activeHealthCheckPolicyList = append(activeHealthCheckPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy)) + } + return activeHealthCheckPolicyList +} + +func (s *activeHealthCheckPolicySet) Map() map[string]*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy { + if s == nil { + return nil + } + + newMap := map[string]*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy) + } + return newMap +} + +func (s *activeHealthCheckPolicySet) Insert( + activeHealthCheckPolicyList ...*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range activeHealthCheckPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *activeHealthCheckPolicySet) Has(activeHealthCheckPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(activeHealthCheckPolicy) +} + +func (s *activeHealthCheckPolicySet) Equal( + activeHealthCheckPolicySet ActiveHealthCheckPolicySet, +) bool { + if s == nil { + return activeHealthCheckPolicySet == nil + } + return s.Generic().Equal(activeHealthCheckPolicySet.Generic()) +} + +func (s *activeHealthCheckPolicySet) Delete(ActiveHealthCheckPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ActiveHealthCheckPolicy) +} + +func (s *activeHealthCheckPolicySet) Union(set ActiveHealthCheckPolicySet) ActiveHealthCheckPolicySet { + if s == nil { + return set + } + return NewActiveHealthCheckPolicySet(append(s.List(), set.List()...)...) +} + +func (s *activeHealthCheckPolicySet) Difference(set ActiveHealthCheckPolicySet) ActiveHealthCheckPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &activeHealthCheckPolicySet{set: newSet} +} + +func (s *activeHealthCheckPolicySet) Intersection(set ActiveHealthCheckPolicySet) ActiveHealthCheckPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var activeHealthCheckPolicyList []*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy + for _, obj := range newSet.List() { + activeHealthCheckPolicyList = append(activeHealthCheckPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy)) + } + return NewActiveHealthCheckPolicySet(activeHealthCheckPolicyList...) +} + +func (s *activeHealthCheckPolicySet) Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ActiveHealthCheckPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*resilience_policy_gloo_solo_io_v2.ActiveHealthCheckPolicy), nil +} + +func (s *activeHealthCheckPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *activeHealthCheckPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *activeHealthCheckPolicySet) Delta(newSet ActiveHealthCheckPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *activeHealthCheckPolicySet) Clone() ActiveHealthCheckPolicySet { + if s == nil { + return nil + } + return &activeHealthCheckPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type ListenerConnectionPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy + // Return the Set as a map of key to resource. + Map() map[string]*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy + // Insert a resource into the set. + Insert(listenerConnectionPolicy ...*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(listenerConnectionPolicySet ListenerConnectionPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(listenerConnectionPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(listenerConnectionPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set ListenerConnectionPolicySet) ListenerConnectionPolicySet + // Return the difference with the provided set + Difference(set ListenerConnectionPolicySet) ListenerConnectionPolicySet + // Return the intersection with the provided set + Intersection(set ListenerConnectionPolicySet) ListenerConnectionPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ListenerConnectionPolicySet + Delta(newSet ListenerConnectionPolicySet) sksets.ResourceDelta + // Create a deep copy of the current ListenerConnectionPolicySet + Clone() ListenerConnectionPolicySet +} + +func makeGenericListenerConnectionPolicySet(listenerConnectionPolicyList []*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range listenerConnectionPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type listenerConnectionPolicySet struct { + set sksets.ResourceSet +} + +func NewListenerConnectionPolicySet(listenerConnectionPolicyList ...*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) ListenerConnectionPolicySet { + return &listenerConnectionPolicySet{set: makeGenericListenerConnectionPolicySet(listenerConnectionPolicyList)} +} + +func NewListenerConnectionPolicySetFromList(listenerConnectionPolicyList *resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicyList) ListenerConnectionPolicySet { + list := make([]*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy, 0, len(listenerConnectionPolicyList.Items)) + for idx := range listenerConnectionPolicyList.Items { + list = append(list, &listenerConnectionPolicyList.Items[idx]) + } + return &listenerConnectionPolicySet{set: makeGenericListenerConnectionPolicySet(list)} +} + +func (s *listenerConnectionPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *listenerConnectionPolicySet) List(filterResource ...func(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + listenerConnectionPolicyList := make([]*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy, 0, len(objs)) + for _, obj := range objs { + listenerConnectionPolicyList = append(listenerConnectionPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy)) + } + return listenerConnectionPolicyList +} + +func (s *listenerConnectionPolicySet) UnsortedList(filterResource ...func(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) bool) []*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy)) + }) + } + + var listenerConnectionPolicyList []*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + listenerConnectionPolicyList = append(listenerConnectionPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy)) + } + return listenerConnectionPolicyList +} + +func (s *listenerConnectionPolicySet) Map() map[string]*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy { + if s == nil { + return nil + } + + newMap := map[string]*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy) + } + return newMap +} + +func (s *listenerConnectionPolicySet) Insert( + listenerConnectionPolicyList ...*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range listenerConnectionPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *listenerConnectionPolicySet) Has(listenerConnectionPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(listenerConnectionPolicy) +} + +func (s *listenerConnectionPolicySet) Equal( + listenerConnectionPolicySet ListenerConnectionPolicySet, +) bool { + if s == nil { + return listenerConnectionPolicySet == nil + } + return s.Generic().Equal(listenerConnectionPolicySet.Generic()) +} + +func (s *listenerConnectionPolicySet) Delete(ListenerConnectionPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ListenerConnectionPolicy) +} + +func (s *listenerConnectionPolicySet) Union(set ListenerConnectionPolicySet) ListenerConnectionPolicySet { + if s == nil { + return set + } + return NewListenerConnectionPolicySet(append(s.List(), set.List()...)...) +} + +func (s *listenerConnectionPolicySet) Difference(set ListenerConnectionPolicySet) ListenerConnectionPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &listenerConnectionPolicySet{set: newSet} +} + +func (s *listenerConnectionPolicySet) Intersection(set ListenerConnectionPolicySet) ListenerConnectionPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var listenerConnectionPolicyList []*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy + for _, obj := range newSet.List() { + listenerConnectionPolicyList = append(listenerConnectionPolicyList, obj.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy)) + } + return NewListenerConnectionPolicySet(listenerConnectionPolicyList...) +} + +func (s *listenerConnectionPolicySet) Find(id ezkube.ResourceId) (*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ListenerConnectionPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*resilience_policy_gloo_solo_io_v2.ListenerConnectionPolicy), nil +} + +func (s *listenerConnectionPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *listenerConnectionPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *listenerConnectionPolicySet) Delta(newSet ListenerConnectionPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *listenerConnectionPolicySet) Clone() ListenerConnectionPolicySet { + if s == nil { + return nil + } + return &listenerConnectionPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/trim_proxy_config_policy.pb.clone.go b/client-go/resilience.policy.gloo.solo.io/v2/trim_proxy_config_policy.pb.clone.go new file mode 100644 index 000000000..45d809690 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/trim_proxy_config_policy.pb.clone.go @@ -0,0 +1,149 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/trim_proxy_config_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *TrimProxyConfigPolicySpec) Clone() proto.Message { + var target *TrimProxyConfigPolicySpec + if m == nil { + return target + } + target = &TrimProxyConfigPolicySpec{} + + if m.GetApplyToWorkloads() != nil { + target.ApplyToWorkloads = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector, len(m.GetApplyToWorkloads())) + for idx, v := range m.GetApplyToWorkloads() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToWorkloads[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector) + } else { + target.ApplyToWorkloads[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*TrimProxyConfigPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*TrimProxyConfigPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *TrimProxyConfigPolicyStatus) Clone() proto.Message { + var target *TrimProxyConfigPolicyStatus + if m == nil { + return target + } + target = &TrimProxyConfigPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedWorkloads = m.GetNumSelectedWorkloads() + + target.NumIncludedHosts = m.GetNumIncludedHosts() + + return target +} + +// Clone function +func (m *TrimProxyConfigPolicyReport) Clone() proto.Message { + var target *TrimProxyConfigPolicyReport + if m == nil { + return target + } + target = &TrimProxyConfigPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedWorkloads() != nil { + target.SelectedWorkloads = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadReference, len(m.GetSelectedWorkloads())) + for idx, v := range m.GetSelectedWorkloads() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedWorkloads[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadReference) + } else { + target.SelectedWorkloads[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.WorkloadReference) + } + + } + } + + if m.GetIncludedHosts() != nil { + target.IncludedHosts = make([]string, len(m.GetIncludedHosts())) + for idx, v := range m.GetIncludedHosts() { + + target.IncludedHosts[idx] = v + + } + } + + return target +} + +// Clone function +func (m *TrimProxyConfigPolicySpec_Config) Clone() proto.Message { + var target *TrimProxyConfigPolicySpec_Config + if m == nil { + return target + } + target = &TrimProxyConfigPolicySpec_Config{} + + if m.GetIncludedDestinations() != nil { + target.IncludedDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector, len(m.GetIncludedDestinations())) + for idx, v := range m.GetIncludedDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.IncludedDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.IncludedDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + } + } + + return target +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/trim_proxy_config_policy.pb.equal.go b/client-go/resilience.policy.gloo.solo.io/v2/trim_proxy_config_policy.pb.equal.go new file mode 100644 index 000000000..5dae60bbf --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/trim_proxy_config_policy.pb.equal.go @@ -0,0 +1,229 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/trim_proxy_config_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *TrimProxyConfigPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TrimProxyConfigPolicySpec) + if !ok { + that2, ok := that.(TrimProxyConfigPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToWorkloads()) != len(target.GetApplyToWorkloads()) { + return false + } + for idx, v := range m.GetApplyToWorkloads() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToWorkloads()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToWorkloads()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *TrimProxyConfigPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TrimProxyConfigPolicyStatus) + if !ok { + that2, ok := that.(TrimProxyConfigPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedWorkloads() != target.GetNumSelectedWorkloads() { + return false + } + + if m.GetNumIncludedHosts() != target.GetNumIncludedHosts() { + return false + } + + return true +} + +// Equal function +func (m *TrimProxyConfigPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TrimProxyConfigPolicyReport) + if !ok { + that2, ok := that.(TrimProxyConfigPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedWorkloads()) != len(target.GetSelectedWorkloads()) { + return false + } + for idx, v := range m.GetSelectedWorkloads() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedWorkloads()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedWorkloads()[idx]) { + return false + } + } + + } + + if len(m.GetIncludedHosts()) != len(target.GetIncludedHosts()) { + return false + } + for idx, v := range m.GetIncludedHosts() { + + if strings.Compare(v, target.GetIncludedHosts()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *TrimProxyConfigPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TrimProxyConfigPolicySpec_Config) + if !ok { + that2, ok := that.(TrimProxyConfigPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetIncludedDestinations()) != len(target.GetIncludedDestinations()) { + return false + } + for idx, v := range m.GetIncludedDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetIncludedDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetIncludedDestinations()[idx]) { + return false + } + } + + } + + return true +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/trim_proxy_config_policy.pb.go b/client-go/resilience.policy.gloo.solo.io/v2/trim_proxy_config_policy.pb.go new file mode 100644 index 000000000..b17b103a6 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/trim_proxy_config_policy.pb.go @@ -0,0 +1,481 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/trim_proxy_config_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Use the TrimConfigProxyPolicy to select workloads and their corresponding allowed destinations. Then, the Istio +// sidecar of the workloads keeps only the configuration of those allowed destinations instead of all the destinations +// in the Istio service mesh. Otherwise, the extra config can lead to memory pressure issues. +type TrimProxyConfigPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the workloads for the policy to trim the Istio sidecar config. If omitted, all workloads are selected. + ApplyToWorkloads []*v2.WorkloadSelector `protobuf:"bytes,1,rep,name=apply_to_workloads,json=applyToWorkloads,proto3" json:"apply_to_workloads,omitempty"` + // Trim Proxy Config + Config *TrimProxyConfigPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *TrimProxyConfigPolicySpec) Reset() { + *x = TrimProxyConfigPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TrimProxyConfigPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrimProxyConfigPolicySpec) ProtoMessage() {} + +func (x *TrimProxyConfigPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TrimProxyConfigPolicySpec.ProtoReflect.Descriptor instead. +func (*TrimProxyConfigPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *TrimProxyConfigPolicySpec) GetApplyToWorkloads() []*v2.WorkloadSelector { + if x != nil { + return x.ApplyToWorkloads + } + return nil +} + +func (x *TrimProxyConfigPolicySpec) GetConfig() *TrimProxyConfigPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +type TrimProxyConfigPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of workloads selected by the policy. + NumSelectedWorkloads uint32 `protobuf:"varint,2,opt,name=num_selected_workloads,json=numSelectedWorkloads,proto3" json:"num_selected_workloads,omitempty"` + // The number of hosts of destinations included by the policy. + NumIncludedHosts uint32 `protobuf:"varint,3,opt,name=num_included_hosts,json=numIncludedHosts,proto3" json:"num_included_hosts,omitempty"` +} + +func (x *TrimProxyConfigPolicyStatus) Reset() { + *x = TrimProxyConfigPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TrimProxyConfigPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrimProxyConfigPolicyStatus) ProtoMessage() {} + +func (x *TrimProxyConfigPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TrimProxyConfigPolicyStatus.ProtoReflect.Descriptor instead. +func (*TrimProxyConfigPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *TrimProxyConfigPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *TrimProxyConfigPolicyStatus) GetNumSelectedWorkloads() uint32 { + if x != nil { + return x.NumSelectedWorkloads + } + return 0 +} + +func (x *TrimProxyConfigPolicyStatus) GetNumIncludedHosts() uint32 { + if x != nil { + return x.NumIncludedHosts + } + return 0 +} + +type TrimProxyConfigPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of workloads selected by the policy. + SelectedWorkloads []*v2.WorkloadReference `protobuf:"bytes,2,rep,name=selected_workloads,json=selectedWorkloads,proto3" json:"selected_workloads,omitempty"` + // A list of hosts of destinations included by the policy. + IncludedHosts []string `protobuf:"bytes,3,rep,name=included_hosts,json=includedHosts,proto3" json:"included_hosts,omitempty"` +} + +func (x *TrimProxyConfigPolicyReport) Reset() { + *x = TrimProxyConfigPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TrimProxyConfigPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrimProxyConfigPolicyReport) ProtoMessage() {} + +func (x *TrimProxyConfigPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TrimProxyConfigPolicyReport.ProtoReflect.Descriptor instead. +func (*TrimProxyConfigPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *TrimProxyConfigPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *TrimProxyConfigPolicyReport) GetSelectedWorkloads() []*v2.WorkloadReference { + if x != nil { + return x.SelectedWorkloads + } + return nil +} + +func (x *TrimProxyConfigPolicyReport) GetIncludedHosts() []string { + if x != nil { + return x.IncludedHosts + } + return nil +} + +type TrimProxyConfigPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select which destinations to include in the trimmed sidecar proxy configuration of the workloads that this policy + // applies to. You can select destinations by Kubernetes label. Destinations can be a Kubernetes service, + // VirtualDestination, or ExternalService. To select all destinations, specify {}. If omitted or if the selection + // does not match any destination, no destinations are selected and the sidecar proxy configurations of the + // workloads are not trimmed. The destinations must be within the same workspace as the policy, or imported to the + // workspace. + IncludedDestinations []*v2.DestinationSelector `protobuf:"bytes,1,rep,name=included_destinations,json=includedDestinations,proto3" json:"included_destinations,omitempty"` +} + +func (x *TrimProxyConfigPolicySpec_Config) Reset() { + *x = TrimProxyConfigPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TrimProxyConfigPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrimProxyConfigPolicySpec_Config) ProtoMessage() {} + +func (x *TrimProxyConfigPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TrimProxyConfigPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*TrimProxyConfigPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *TrimProxyConfigPolicySpec_Config) GetIncludedDestinations() []*v2.DestinationSelector { + if x != nil { + return x.IncludedDestinations + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDesc = []byte{ + 0x0a, 0x6c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2f, + 0x74, 0x72, 0x69, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, + 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, + 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, + 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x02, 0x0a, + 0x19, 0x54, 0x72, 0x69, 0x6d, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, 0x0a, 0x12, 0x61, 0x70, + 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, + 0x58, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x40, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x54, 0x72, 0x69, 0x6d, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x67, 0x0a, 0x06, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x5d, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x14, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x1b, 0x54, 0x72, 0x69, 0x6d, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x75, 0x6d, 0x5f, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x2c, 0x0a, + 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x68, 0x6f, + 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x49, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x22, 0xe4, 0x02, 0x0a, 0x1b, + 0x54, 0x72, 0x69, 0x6d, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6b, 0x0a, 0x0a, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x4b, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x54, 0x72, 0x69, 0x6d, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x12, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x73, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x64, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x5f, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, + 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_goTypes = []interface{}{ + (*TrimProxyConfigPolicySpec)(nil), // 0: resilience.policy.gloo.solo.io.TrimProxyConfigPolicySpec + (*TrimProxyConfigPolicyStatus)(nil), // 1: resilience.policy.gloo.solo.io.TrimProxyConfigPolicyStatus + (*TrimProxyConfigPolicyReport)(nil), // 2: resilience.policy.gloo.solo.io.TrimProxyConfigPolicyReport + (*TrimProxyConfigPolicySpec_Config)(nil), // 3: resilience.policy.gloo.solo.io.TrimProxyConfigPolicySpec.Config + nil, // 4: resilience.policy.gloo.solo.io.TrimProxyConfigPolicyReport.WorkspacesEntry + (*v2.WorkloadSelector)(nil), // 5: common.gloo.solo.io.WorkloadSelector + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.WorkloadReference)(nil), // 7: common.gloo.solo.io.WorkloadReference + (*v2.DestinationSelector)(nil), // 8: common.gloo.solo.io.DestinationSelector + (*v2.Report)(nil), // 9: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_depIdxs = []int32{ + 5, // 0: resilience.policy.gloo.solo.io.TrimProxyConfigPolicySpec.apply_to_workloads:type_name -> common.gloo.solo.io.WorkloadSelector + 3, // 1: resilience.policy.gloo.solo.io.TrimProxyConfigPolicySpec.config:type_name -> resilience.policy.gloo.solo.io.TrimProxyConfigPolicySpec.Config + 6, // 2: resilience.policy.gloo.solo.io.TrimProxyConfigPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: resilience.policy.gloo.solo.io.TrimProxyConfigPolicyReport.workspaces:type_name -> resilience.policy.gloo.solo.io.TrimProxyConfigPolicyReport.WorkspacesEntry + 7, // 4: resilience.policy.gloo.solo.io.TrimProxyConfigPolicyReport.selected_workloads:type_name -> common.gloo.solo.io.WorkloadReference + 8, // 5: resilience.policy.gloo.solo.io.TrimProxyConfigPolicySpec.Config.included_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 9, // 6: resilience.policy.gloo.solo.io.TrimProxyConfigPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrimProxyConfigPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrimProxyConfigPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrimProxyConfigPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrimProxyConfigPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_resilience_trim_proxy_config_policy_proto_depIdxs = nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/trim_proxy_config_policy.pb.hash.go b/client-go/resilience.policy.gloo.solo.io/v2/trim_proxy_config_policy.pb.hash.go new file mode 100644 index 000000000..fe1ead1f4 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/trim_proxy_config_policy.pb.hash.go @@ -0,0 +1,259 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/resilience/trim_proxy_config_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *TrimProxyConfigPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.TrimProxyConfigPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToWorkloads() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TrimProxyConfigPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.TrimProxyConfigPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedWorkloads()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumIncludedHosts()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TrimProxyConfigPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.TrimProxyConfigPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedWorkloads() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetIncludedHosts() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TrimProxyConfigPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("resilience.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/resilience.policy.gloo.solo.io/v2.TrimProxyConfigPolicySpec_Config")); err != nil { + return 0, err + } + + for _, v := range m.GetIncludedDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/type_helpers.go b/client-go/resilience.policy.gloo.solo.io/v2/type_helpers.go new file mode 100644 index 000000000..b67d30c10 --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/type_helpers.go @@ -0,0 +1,31 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +// GraphQLPersistedQueryCachePolicySlice represents a slice of *GraphQLPersistedQueryCachePolicy +type GraphQLPersistedQueryCachePolicySlice []*GraphQLPersistedQueryCachePolicy + +// FailoverPolicySlice represents a slice of *FailoverPolicy +type FailoverPolicySlice []*FailoverPolicy + +// OutlierDetectionPolicySlice represents a slice of *OutlierDetectionPolicy +type OutlierDetectionPolicySlice []*OutlierDetectionPolicy + +// FaultInjectionPolicySlice represents a slice of *FaultInjectionPolicy +type FaultInjectionPolicySlice []*FaultInjectionPolicy + +// RetryTimeoutPolicySlice represents a slice of *RetryTimeoutPolicy +type RetryTimeoutPolicySlice []*RetryTimeoutPolicy + +// ConnectionPolicySlice represents a slice of *ConnectionPolicy +type ConnectionPolicySlice []*ConnectionPolicy + +// TrimProxyConfigPolicySlice represents a slice of *TrimProxyConfigPolicy +type TrimProxyConfigPolicySlice []*TrimProxyConfigPolicy + +// ActiveHealthCheckPolicySlice represents a slice of *ActiveHealthCheckPolicy +type ActiveHealthCheckPolicySlice []*ActiveHealthCheckPolicy + +// ListenerConnectionPolicySlice represents a slice of *ListenerConnectionPolicy +type ListenerConnectionPolicySlice []*ListenerConnectionPolicy diff --git a/client-go/resilience.policy.gloo.solo.io/v2/types.go b/client-go/resilience.policy.gloo.solo.io/v2/types.go new file mode 100644 index 000000000..c3440fefa --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/types.go @@ -0,0 +1,336 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for GraphQLPersistedQueryCachePolicy +var GraphQLPersistedQueryCachePolicyGVK = schema.GroupVersionKind{ + Group: "resilience.policy.gloo.solo.io", + Version: "v2", + Kind: "GraphQLPersistedQueryCachePolicy", +} + +// GraphQLPersistedQueryCachePolicy is the Schema for the graphQLPersistedQueryCachePolicy API +type GraphQLPersistedQueryCachePolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec GraphQLPersistedQueryCachePolicySpec `json:"spec,omitempty"` + Status GraphQLPersistedQueryCachePolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (GraphQLPersistedQueryCachePolicy) GVK() schema.GroupVersionKind { + return GraphQLPersistedQueryCachePolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GraphQLPersistedQueryCachePolicyList contains a list of GraphQLPersistedQueryCachePolicy +type GraphQLPersistedQueryCachePolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GraphQLPersistedQueryCachePolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for FailoverPolicy +var FailoverPolicyGVK = schema.GroupVersionKind{ + Group: "resilience.policy.gloo.solo.io", + Version: "v2", + Kind: "FailoverPolicy", +} + +// FailoverPolicy is the Schema for the failoverPolicy API +type FailoverPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec FailoverPolicySpec `json:"spec,omitempty"` + Status FailoverPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (FailoverPolicy) GVK() schema.GroupVersionKind { + return FailoverPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// FailoverPolicyList contains a list of FailoverPolicy +type FailoverPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FailoverPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for OutlierDetectionPolicy +var OutlierDetectionPolicyGVK = schema.GroupVersionKind{ + Group: "resilience.policy.gloo.solo.io", + Version: "v2", + Kind: "OutlierDetectionPolicy", +} + +// OutlierDetectionPolicy is the Schema for the outlierDetectionPolicy API +type OutlierDetectionPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec OutlierDetectionPolicySpec `json:"spec,omitempty"` + Status OutlierDetectionPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (OutlierDetectionPolicy) GVK() schema.GroupVersionKind { + return OutlierDetectionPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OutlierDetectionPolicyList contains a list of OutlierDetectionPolicy +type OutlierDetectionPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OutlierDetectionPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for FaultInjectionPolicy +var FaultInjectionPolicyGVK = schema.GroupVersionKind{ + Group: "resilience.policy.gloo.solo.io", + Version: "v2", + Kind: "FaultInjectionPolicy", +} + +// FaultInjectionPolicy is the Schema for the faultInjectionPolicy API +type FaultInjectionPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec FaultInjectionPolicySpec `json:"spec,omitempty"` + Status FaultInjectionPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (FaultInjectionPolicy) GVK() schema.GroupVersionKind { + return FaultInjectionPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// FaultInjectionPolicyList contains a list of FaultInjectionPolicy +type FaultInjectionPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FaultInjectionPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for RetryTimeoutPolicy +var RetryTimeoutPolicyGVK = schema.GroupVersionKind{ + Group: "resilience.policy.gloo.solo.io", + Version: "v2", + Kind: "RetryTimeoutPolicy", +} + +// RetryTimeoutPolicy is the Schema for the retryTimeoutPolicy API +type RetryTimeoutPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec RetryTimeoutPolicySpec `json:"spec,omitempty"` + Status RetryTimeoutPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (RetryTimeoutPolicy) GVK() schema.GroupVersionKind { + return RetryTimeoutPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RetryTimeoutPolicyList contains a list of RetryTimeoutPolicy +type RetryTimeoutPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RetryTimeoutPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ConnectionPolicy +var ConnectionPolicyGVK = schema.GroupVersionKind{ + Group: "resilience.policy.gloo.solo.io", + Version: "v2", + Kind: "ConnectionPolicy", +} + +// ConnectionPolicy is the Schema for the connectionPolicy API +type ConnectionPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ConnectionPolicySpec `json:"spec,omitempty"` + Status ConnectionPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ConnectionPolicy) GVK() schema.GroupVersionKind { + return ConnectionPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ConnectionPolicyList contains a list of ConnectionPolicy +type ConnectionPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ConnectionPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for TrimProxyConfigPolicy +var TrimProxyConfigPolicyGVK = schema.GroupVersionKind{ + Group: "resilience.policy.gloo.solo.io", + Version: "v2", + Kind: "TrimProxyConfigPolicy", +} + +// TrimProxyConfigPolicy is the Schema for the trimProxyConfigPolicy API +type TrimProxyConfigPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec TrimProxyConfigPolicySpec `json:"spec,omitempty"` + Status TrimProxyConfigPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (TrimProxyConfigPolicy) GVK() schema.GroupVersionKind { + return TrimProxyConfigPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// TrimProxyConfigPolicyList contains a list of TrimProxyConfigPolicy +type TrimProxyConfigPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TrimProxyConfigPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ActiveHealthCheckPolicy +var ActiveHealthCheckPolicyGVK = schema.GroupVersionKind{ + Group: "resilience.policy.gloo.solo.io", + Version: "v2", + Kind: "ActiveHealthCheckPolicy", +} + +// ActiveHealthCheckPolicy is the Schema for the activeHealthCheckPolicy API +type ActiveHealthCheckPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ActiveHealthCheckPolicySpec `json:"spec,omitempty"` + Status ActiveHealthCheckPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ActiveHealthCheckPolicy) GVK() schema.GroupVersionKind { + return ActiveHealthCheckPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ActiveHealthCheckPolicyList contains a list of ActiveHealthCheckPolicy +type ActiveHealthCheckPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ActiveHealthCheckPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ListenerConnectionPolicy +var ListenerConnectionPolicyGVK = schema.GroupVersionKind{ + Group: "resilience.policy.gloo.solo.io", + Version: "v2", + Kind: "ListenerConnectionPolicy", +} + +// ListenerConnectionPolicy is the Schema for the listenerConnectionPolicy API +type ListenerConnectionPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ListenerConnectionPolicySpec `json:"spec,omitempty"` + Status ListenerConnectionPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ListenerConnectionPolicy) GVK() schema.GroupVersionKind { + return ListenerConnectionPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ListenerConnectionPolicyList contains a list of ListenerConnectionPolicy +type ListenerConnectionPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ListenerConnectionPolicy `json:"items"` +} + +func init() { + SchemeBuilder.Register(&GraphQLPersistedQueryCachePolicy{}, &GraphQLPersistedQueryCachePolicyList{}) + SchemeBuilder.Register(&FailoverPolicy{}, &FailoverPolicyList{}) + SchemeBuilder.Register(&OutlierDetectionPolicy{}, &OutlierDetectionPolicyList{}) + SchemeBuilder.Register(&FaultInjectionPolicy{}, &FaultInjectionPolicyList{}) + SchemeBuilder.Register(&RetryTimeoutPolicy{}, &RetryTimeoutPolicyList{}) + SchemeBuilder.Register(&ConnectionPolicy{}, &ConnectionPolicyList{}) + SchemeBuilder.Register(&TrimProxyConfigPolicy{}, &TrimProxyConfigPolicyList{}) + SchemeBuilder.Register(&ActiveHealthCheckPolicy{}, &ActiveHealthCheckPolicyList{}) + SchemeBuilder.Register(&ListenerConnectionPolicy{}, &ListenerConnectionPolicyList{}) +} diff --git a/client-go/resilience.policy.gloo.solo.io/v2/zz_generated.deepcopy.go b/client-go/resilience.policy.gloo.solo.io/v2/zz_generated.deepcopy.go new file mode 100644 index 000000000..19512a67b --- /dev/null +++ b/client-go/resilience.policy.gloo.solo.io/v2/zz_generated.deepcopy.go @@ -0,0 +1,549 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for resilience.policy.gloo.solo.io/v2 resources + +package v2 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for GraphQLPersistedQueryCachePolicy + +func (in *GraphQLPersistedQueryCachePolicy) DeepCopyInto(out *GraphQLPersistedQueryCachePolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *GraphQLPersistedQueryCachePolicy) DeepCopy() *GraphQLPersistedQueryCachePolicy { + if in == nil { + return nil + } + out := new(GraphQLPersistedQueryCachePolicy) + in.DeepCopyInto(out) + return out +} + +func (in *GraphQLPersistedQueryCachePolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *GraphQLPersistedQueryCachePolicyList) DeepCopyInto(out *GraphQLPersistedQueryCachePolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GraphQLPersistedQueryCachePolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *GraphQLPersistedQueryCachePolicyList) DeepCopy() *GraphQLPersistedQueryCachePolicyList { + if in == nil { + return nil + } + out := new(GraphQLPersistedQueryCachePolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *GraphQLPersistedQueryCachePolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for FailoverPolicy + +func (in *FailoverPolicy) DeepCopyInto(out *FailoverPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *FailoverPolicy) DeepCopy() *FailoverPolicy { + if in == nil { + return nil + } + out := new(FailoverPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *FailoverPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *FailoverPolicyList) DeepCopyInto(out *FailoverPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FailoverPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *FailoverPolicyList) DeepCopy() *FailoverPolicyList { + if in == nil { + return nil + } + out := new(FailoverPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *FailoverPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for OutlierDetectionPolicy + +func (in *OutlierDetectionPolicy) DeepCopyInto(out *OutlierDetectionPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *OutlierDetectionPolicy) DeepCopy() *OutlierDetectionPolicy { + if in == nil { + return nil + } + out := new(OutlierDetectionPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *OutlierDetectionPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *OutlierDetectionPolicyList) DeepCopyInto(out *OutlierDetectionPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OutlierDetectionPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *OutlierDetectionPolicyList) DeepCopy() *OutlierDetectionPolicyList { + if in == nil { + return nil + } + out := new(OutlierDetectionPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *OutlierDetectionPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for FaultInjectionPolicy + +func (in *FaultInjectionPolicy) DeepCopyInto(out *FaultInjectionPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *FaultInjectionPolicy) DeepCopy() *FaultInjectionPolicy { + if in == nil { + return nil + } + out := new(FaultInjectionPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *FaultInjectionPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *FaultInjectionPolicyList) DeepCopyInto(out *FaultInjectionPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FaultInjectionPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *FaultInjectionPolicyList) DeepCopy() *FaultInjectionPolicyList { + if in == nil { + return nil + } + out := new(FaultInjectionPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *FaultInjectionPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for RetryTimeoutPolicy + +func (in *RetryTimeoutPolicy) DeepCopyInto(out *RetryTimeoutPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *RetryTimeoutPolicy) DeepCopy() *RetryTimeoutPolicy { + if in == nil { + return nil + } + out := new(RetryTimeoutPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *RetryTimeoutPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *RetryTimeoutPolicyList) DeepCopyInto(out *RetryTimeoutPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RetryTimeoutPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *RetryTimeoutPolicyList) DeepCopy() *RetryTimeoutPolicyList { + if in == nil { + return nil + } + out := new(RetryTimeoutPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *RetryTimeoutPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for ConnectionPolicy + +func (in *ConnectionPolicy) DeepCopyInto(out *ConnectionPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ConnectionPolicy) DeepCopy() *ConnectionPolicy { + if in == nil { + return nil + } + out := new(ConnectionPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *ConnectionPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ConnectionPolicyList) DeepCopyInto(out *ConnectionPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ConnectionPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ConnectionPolicyList) DeepCopy() *ConnectionPolicyList { + if in == nil { + return nil + } + out := new(ConnectionPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *ConnectionPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for TrimProxyConfigPolicy + +func (in *TrimProxyConfigPolicy) DeepCopyInto(out *TrimProxyConfigPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *TrimProxyConfigPolicy) DeepCopy() *TrimProxyConfigPolicy { + if in == nil { + return nil + } + out := new(TrimProxyConfigPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *TrimProxyConfigPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *TrimProxyConfigPolicyList) DeepCopyInto(out *TrimProxyConfigPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TrimProxyConfigPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *TrimProxyConfigPolicyList) DeepCopy() *TrimProxyConfigPolicyList { + if in == nil { + return nil + } + out := new(TrimProxyConfigPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *TrimProxyConfigPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for ActiveHealthCheckPolicy + +func (in *ActiveHealthCheckPolicy) DeepCopyInto(out *ActiveHealthCheckPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ActiveHealthCheckPolicy) DeepCopy() *ActiveHealthCheckPolicy { + if in == nil { + return nil + } + out := new(ActiveHealthCheckPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *ActiveHealthCheckPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ActiveHealthCheckPolicyList) DeepCopyInto(out *ActiveHealthCheckPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ActiveHealthCheckPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ActiveHealthCheckPolicyList) DeepCopy() *ActiveHealthCheckPolicyList { + if in == nil { + return nil + } + out := new(ActiveHealthCheckPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *ActiveHealthCheckPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for ListenerConnectionPolicy + +func (in *ListenerConnectionPolicy) DeepCopyInto(out *ListenerConnectionPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ListenerConnectionPolicy) DeepCopy() *ListenerConnectionPolicy { + if in == nil { + return nil + } + out := new(ListenerConnectionPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *ListenerConnectionPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ListenerConnectionPolicyList) DeepCopyInto(out *ListenerConnectionPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ListenerConnectionPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ListenerConnectionPolicyList) DeepCopy() *ListenerConnectionPolicyList { + if in == nil { + return nil + } + out := new(ListenerConnectionPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *ListenerConnectionPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/rpc.solo.io/v2/internal_admin.pb.go b/client-go/rpc.solo.io/v2/internal_admin.pb.go new file mode 100644 index 000000000..e6e64cd86 --- /dev/null +++ b/client-go/rpc.solo.io/v2/internal_admin.pb.go @@ -0,0 +1,592 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/rpc.solo.io/v2/internal_admin.proto + +package v2 + +import ( + context "context" + reflect "reflect" + sync "sync" + + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + v1alpha1 "istio.io/api/mesh/v1alpha1" + v1alpha3 "istio.io/api/networking/v1alpha3" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ExtWorkloadBootstrapRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IstioNamespace string `protobuf:"bytes,1,opt,name=istio_namespace,json=istioNamespace,proto3" json:"istio_namespace,omitempty"` + IstioRevision string `protobuf:"bytes,2,opt,name=istio_revision,json=istioRevision,proto3" json:"istio_revision,omitempty"` + Workload *ExtWorkloadBootstrapRequest_Workload `protobuf:"bytes,3,opt,name=workload,proto3" json:"workload,omitempty"` +} + +func (x *ExtWorkloadBootstrapRequest) Reset() { + *x = ExtWorkloadBootstrapRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtWorkloadBootstrapRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtWorkloadBootstrapRequest) ProtoMessage() {} + +func (x *ExtWorkloadBootstrapRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtWorkloadBootstrapRequest.ProtoReflect.Descriptor instead. +func (*ExtWorkloadBootstrapRequest) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDescGZIP(), []int{0} +} + +func (x *ExtWorkloadBootstrapRequest) GetIstioNamespace() string { + if x != nil { + return x.IstioNamespace + } + return "" +} + +func (x *ExtWorkloadBootstrapRequest) GetIstioRevision() string { + if x != nil { + return x.IstioRevision + } + return "" +} + +func (x *ExtWorkloadBootstrapRequest) GetWorkload() *ExtWorkloadBootstrapRequest_Workload { + if x != nil { + return x.Workload + } + return nil +} + +type ExtWorkloadBootstrapResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MeshConfig *v1alpha1.MeshConfig `protobuf:"bytes,1,opt,name=mesh_config,json=meshConfig,proto3" json:"mesh_config,omitempty"` + WorkloadGroup *v1alpha3.WorkloadGroup `protobuf:"bytes,2,opt,name=workload_group,json=workloadGroup,proto3" json:"workload_group,omitempty"` +} + +func (x *ExtWorkloadBootstrapResponse) Reset() { + *x = ExtWorkloadBootstrapResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtWorkloadBootstrapResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtWorkloadBootstrapResponse) ProtoMessage() {} + +func (x *ExtWorkloadBootstrapResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtWorkloadBootstrapResponse.ProtoReflect.Descriptor instead. +func (*ExtWorkloadBootstrapResponse) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDescGZIP(), []int{1} +} + +func (x *ExtWorkloadBootstrapResponse) GetMeshConfig() *v1alpha1.MeshConfig { + if x != nil { + return x.MeshConfig + } + return nil +} + +func (x *ExtWorkloadBootstrapResponse) GetWorkloadGroup() *v1alpha3.WorkloadGroup { + if x != nil { + return x.WorkloadGroup + } + return nil +} + +type CaCertRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CaCertRequest) Reset() { + *x = CaCertRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CaCertRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CaCertRequest) ProtoMessage() {} + +func (x *CaCertRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CaCertRequest.ProtoReflect.Descriptor instead. +func (*CaCertRequest) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDescGZIP(), []int{2} +} + +type CaCertResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CaCert string `protobuf:"bytes,1,opt,name=ca_cert,json=caCert,proto3" json:"ca_cert,omitempty"` +} + +func (x *CaCertResponse) Reset() { + *x = CaCertResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CaCertResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CaCertResponse) ProtoMessage() {} + +func (x *CaCertResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CaCertResponse.ProtoReflect.Descriptor instead. +func (*CaCertResponse) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDescGZIP(), []int{3} +} + +func (x *CaCertResponse) GetCaCert() string { + if x != nil { + return x.CaCert + } + return "" +} + +type ExtWorkloadBootstrapRequest_Workload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` +} + +func (x *ExtWorkloadBootstrapRequest_Workload) Reset() { + *x = ExtWorkloadBootstrapRequest_Workload{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtWorkloadBootstrapRequest_Workload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtWorkloadBootstrapRequest_Workload) ProtoMessage() {} + +func (x *ExtWorkloadBootstrapRequest_Workload) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtWorkloadBootstrapRequest_Workload.ProtoReflect.Descriptor instead. +func (*ExtWorkloadBootstrapRequest_Workload) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ExtWorkloadBootstrapRequest_Workload) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExtWorkloadBootstrapRequest_Workload) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDesc = []byte{ + 0x0a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x0b, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1a, + 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, + 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa, 0x01, 0x0a, 0x1b, 0x45, 0x78, 0x74, 0x57, 0x6f, 0x72, 0x6b, + 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, + 0x73, 0x74, 0x69, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x52, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x1a, 0x3c, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x1c, 0x45, 0x78, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, + 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, + 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, + 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x0f, 0x0a, 0x0d, 0x43, 0x61, 0x43, 0x65, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x29, 0x0a, 0x0e, 0x43, 0x61, 0x43, 0x65, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x5f, 0x63, + 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x43, 0x65, 0x72, + 0x74, 0x32, 0xc3, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x12, 0x6d, 0x0a, 0x14, 0x45, 0x78, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, 0x28, 0x2e, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x42, + 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x43, 0x0a, 0x06, 0x43, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x1a, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x61, 0x43, 0x65, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x61, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x40, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_goTypes = []interface{}{ + (*ExtWorkloadBootstrapRequest)(nil), // 0: rpc.solo.io.ExtWorkloadBootstrapRequest + (*ExtWorkloadBootstrapResponse)(nil), // 1: rpc.solo.io.ExtWorkloadBootstrapResponse + (*CaCertRequest)(nil), // 2: rpc.solo.io.CaCertRequest + (*CaCertResponse)(nil), // 3: rpc.solo.io.CaCertResponse + (*ExtWorkloadBootstrapRequest_Workload)(nil), // 4: rpc.solo.io.ExtWorkloadBootstrapRequest.Workload + (*v1alpha1.MeshConfig)(nil), // 5: istio.mesh.v1alpha1.MeshConfig + (*v1alpha3.WorkloadGroup)(nil), // 6: istio.networking.v1alpha3.WorkloadGroup +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_depIdxs = []int32{ + 4, // 0: rpc.solo.io.ExtWorkloadBootstrapRequest.workload:type_name -> rpc.solo.io.ExtWorkloadBootstrapRequest.Workload + 5, // 1: rpc.solo.io.ExtWorkloadBootstrapResponse.mesh_config:type_name -> istio.mesh.v1alpha1.MeshConfig + 6, // 2: rpc.solo.io.ExtWorkloadBootstrapResponse.workload_group:type_name -> istio.networking.v1alpha3.WorkloadGroup + 0, // 3: rpc.solo.io.InternalAdmin.ExtWorkloadBootstrap:input_type -> rpc.solo.io.ExtWorkloadBootstrapRequest + 2, // 4: rpc.solo.io.InternalAdmin.CaCert:input_type -> rpc.solo.io.CaCertRequest + 1, // 5: rpc.solo.io.InternalAdmin.ExtWorkloadBootstrap:output_type -> rpc.solo.io.ExtWorkloadBootstrapResponse + 3, // 6: rpc.solo.io.InternalAdmin.CaCert:output_type -> rpc.solo.io.CaCertResponse + 5, // [5:7] is the sub-list for method output_type + 3, // [3:5] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtWorkloadBootstrapRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtWorkloadBootstrapResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CaCertRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CaCertResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtWorkloadBootstrapRequest_Workload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_rpc_solo_io_v2_internal_admin_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// InternalAdminClient is the client API for InternalAdmin service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type InternalAdminClient interface { + ExtWorkloadBootstrap(ctx context.Context, in *ExtWorkloadBootstrapRequest, opts ...grpc.CallOption) (*ExtWorkloadBootstrapResponse, error) + CaCert(ctx context.Context, in *CaCertRequest, opts ...grpc.CallOption) (*CaCertResponse, error) +} + +type internalAdminClient struct { + cc grpc.ClientConnInterface +} + +func NewInternalAdminClient(cc grpc.ClientConnInterface) InternalAdminClient { + return &internalAdminClient{cc} +} + +func (c *internalAdminClient) ExtWorkloadBootstrap(ctx context.Context, in *ExtWorkloadBootstrapRequest, opts ...grpc.CallOption) (*ExtWorkloadBootstrapResponse, error) { + out := new(ExtWorkloadBootstrapResponse) + err := c.cc.Invoke(ctx, "/rpc.solo.io.InternalAdmin/ExtWorkloadBootstrap", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *internalAdminClient) CaCert(ctx context.Context, in *CaCertRequest, opts ...grpc.CallOption) (*CaCertResponse, error) { + out := new(CaCertResponse) + err := c.cc.Invoke(ctx, "/rpc.solo.io.InternalAdmin/CaCert", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// InternalAdminServer is the server API for InternalAdmin service. +type InternalAdminServer interface { + ExtWorkloadBootstrap(context.Context, *ExtWorkloadBootstrapRequest) (*ExtWorkloadBootstrapResponse, error) + CaCert(context.Context, *CaCertRequest) (*CaCertResponse, error) +} + +// UnimplementedInternalAdminServer can be embedded to have forward compatible implementations. +type UnimplementedInternalAdminServer struct { +} + +func (*UnimplementedInternalAdminServer) ExtWorkloadBootstrap(context.Context, *ExtWorkloadBootstrapRequest) (*ExtWorkloadBootstrapResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExtWorkloadBootstrap not implemented") +} +func (*UnimplementedInternalAdminServer) CaCert(context.Context, *CaCertRequest) (*CaCertResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CaCert not implemented") +} + +func RegisterInternalAdminServer(s *grpc.Server, srv InternalAdminServer) { + s.RegisterService(&_InternalAdmin_serviceDesc, srv) +} + +func _InternalAdmin_ExtWorkloadBootstrap_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExtWorkloadBootstrapRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InternalAdminServer).ExtWorkloadBootstrap(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/rpc.solo.io.InternalAdmin/ExtWorkloadBootstrap", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InternalAdminServer).ExtWorkloadBootstrap(ctx, req.(*ExtWorkloadBootstrapRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InternalAdmin_CaCert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CaCertRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InternalAdminServer).CaCert(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/rpc.solo.io.InternalAdmin/CaCert", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InternalAdminServer).CaCert(ctx, req.(*CaCertRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _InternalAdmin_serviceDesc = grpc.ServiceDesc{ + ServiceName: "rpc.solo.io.InternalAdmin", + HandlerType: (*InternalAdminServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ExtWorkloadBootstrap", + Handler: _InternalAdmin_ExtWorkloadBootstrap_Handler, + }, + { + MethodName: "CaCert", + Handler: _InternalAdmin_CaCert_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "github.com/solo-io/solo-apis/api/rpc.solo.io/v2/internal_admin.proto", +} diff --git a/client-go/security.policy.gloo.solo.io/v2/access_policy.pb.clone.go b/client-go/security.policy.gloo.solo.io/v2/access_policy.pb.clone.go new file mode 100644 index 000000000..64bd58def --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/access_policy.pb.clone.go @@ -0,0 +1,414 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/access_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *AccessPolicySpec) Clone() proto.Message { + var target *AccessPolicySpec + if m == nil { + return target + } + target = &AccessPolicySpec{} + + if m.GetApplyToDestinations() != nil { + target.ApplyToDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector, len(m.GetApplyToDestinations())) + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.ApplyToDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + } + } + + if m.GetApplyToWorkloads() != nil { + target.ApplyToWorkloads = make([]*AccessPolicySpec_NamespaceWorkloadSelector, len(m.GetApplyToWorkloads())) + for idx, v := range m.GetApplyToWorkloads() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToWorkloads[idx] = h.Clone().(*AccessPolicySpec_NamespaceWorkloadSelector) + } else { + target.ApplyToWorkloads[idx] = proto.Clone(v).(*AccessPolicySpec_NamespaceWorkloadSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*AccessPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*AccessPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *AccessPolicyStatus) Clone() proto.Message { + var target *AccessPolicyStatus + if m == nil { + return target + } + target = &AccessPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedDestinationPorts = m.GetNumSelectedDestinationPorts() + + target.NumSelectedNamespaces = m.GetNumSelectedNamespaces() + + target.NumAllowedServiceAccounts = m.GetNumAllowedServiceAccounts() + + return target +} + +// Clone function +func (m *AccessPolicyReport) Clone() proto.Message { + var target *AccessPolicyReport + if m == nil { + return target + } + target = &AccessPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedDestinationPorts() != nil { + target.SelectedDestinationPorts = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetSelectedDestinationPorts())) + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedDestinationPorts[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.SelectedDestinationPorts[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + if m.GetAllowedServiceAccounts() != nil { + target.AllowedServiceAccounts = make([]*AccessPolicyReport_IdentityReference, len(m.GetAllowedServiceAccounts())) + for idx, v := range m.GetAllowedServiceAccounts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AllowedServiceAccounts[idx] = h.Clone().(*AccessPolicyReport_IdentityReference) + } else { + target.AllowedServiceAccounts[idx] = proto.Clone(v).(*AccessPolicyReport_IdentityReference) + } + + } + } + + if m.GetSelectedNamespaces() != nil { + target.SelectedNamespaces = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference, len(m.GetSelectedNamespaces())) + for idx, v := range m.GetSelectedNamespaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedNamespaces[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.SelectedNamespaces[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + } + } + + return target +} + +// Clone function +func (m *AccessPolicySpec_NamespaceWorkloadSelector) Clone() proto.Message { + var target *AccessPolicySpec_NamespaceWorkloadSelector + if m == nil { + return target + } + target = &AccessPolicySpec_NamespaceWorkloadSelector{} + + if h, ok := interface{}(m.GetSelector()).(clone.Cloner); ok { + target.Selector = h.Clone().(*AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) + } else { + target.Selector = proto.Clone(m.GetSelector()).(*AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) + } + + return target +} + +// Clone function +func (m *AccessPolicySpec_Config) Clone() proto.Message { + var target *AccessPolicySpec_Config + if m == nil { + return target + } + target = &AccessPolicySpec_Config{} + + if h, ok := interface{}(m.GetAuthn()).(clone.Cloner); ok { + target.Authn = h.Clone().(*AccessPolicySpec_Config_Authentication) + } else { + target.Authn = proto.Clone(m.GetAuthn()).(*AccessPolicySpec_Config_Authentication) + } + + if h, ok := interface{}(m.GetAuthz()).(clone.Cloner); ok { + target.Authz = h.Clone().(*AccessPolicySpec_Config_Authorization) + } else { + target.Authz = proto.Clone(m.GetAuthz()).(*AccessPolicySpec_Config_Authorization) + } + + if h, ok := interface{}(m.GetEnforcementLayers()).(clone.Cloner); ok { + target.EnforcementLayers = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.EnforcementLayers) + } else { + target.EnforcementLayers = proto.Clone(m.GetEnforcementLayers()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.EnforcementLayers) + } + + if m.GetAuthzList() != nil { + target.AuthzList = make([]*AccessPolicySpec_Config_Authorization, len(m.GetAuthzList())) + for idx, v := range m.GetAuthzList() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AuthzList[idx] = h.Clone().(*AccessPolicySpec_Config_Authorization) + } else { + target.AuthzList[idx] = proto.Clone(v).(*AccessPolicySpec_Config_Authorization) + } + + } + } + + return target +} + +// Clone function +func (m *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) Clone() proto.Message { + var target *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector + if m == nil { + return target + } + target = &AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector{} + + if m.GetLabels() != nil { + target.Labels = make(map[string]string, len(m.GetLabels())) + for k, v := range m.GetLabels() { + + target.Labels[k] = v + + } + } + + target.Namespace = m.GetNamespace() + + target.Cluster = m.GetCluster() + + target.Workspace = m.GetWorkspace() + + return target +} + +// Clone function +func (m *AccessPolicySpec_Config_Authentication) Clone() proto.Message { + var target *AccessPolicySpec_Config_Authentication + if m == nil { + return target + } + target = &AccessPolicySpec_Config_Authentication{} + + target.TlsMode = m.GetTlsMode() + + return target +} + +// Clone function +func (m *AccessPolicySpec_Config_Authorization) Clone() proto.Message { + var target *AccessPolicySpec_Config_Authorization + if m == nil { + return target + } + target = &AccessPolicySpec_Config_Authorization{} + + if m.GetAllowedClients() != nil { + target.AllowedClients = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IdentitySelector, len(m.GetAllowedClients())) + for idx, v := range m.GetAllowedClients() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AllowedClients[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IdentitySelector) + } else { + target.AllowedClients[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.IdentitySelector) + } + + } + } + + if m.GetAllowedPaths() != nil { + target.AllowedPaths = make([]string, len(m.GetAllowedPaths())) + for idx, v := range m.GetAllowedPaths() { + + target.AllowedPaths[idx] = v + + } + } + + if m.GetAllowedMethods() != nil { + target.AllowedMethods = make([]string, len(m.GetAllowedMethods())) + for idx, v := range m.GetAllowedMethods() { + + target.AllowedMethods[idx] = v + + } + } + + if h, ok := interface{}(m.GetMatch()).(clone.Cloner); ok { + target.Match = h.Clone().(*AccessPolicySpec_Config_Authorization_MatchSpec) + } else { + target.Match = proto.Clone(m.GetMatch()).(*AccessPolicySpec_Config_Authorization_MatchSpec) + } + + if m.GetAllowedIpBlocks() != nil { + target.AllowedIpBlocks = make([]string, len(m.GetAllowedIpBlocks())) + for idx, v := range m.GetAllowedIpBlocks() { + + target.AllowedIpBlocks[idx] = v + + } + } + + if m.GetAllowedRemoteIpBlocks() != nil { + target.AllowedRemoteIpBlocks = make([]string, len(m.GetAllowedRemoteIpBlocks())) + for idx, v := range m.GetAllowedRemoteIpBlocks() { + + target.AllowedRemoteIpBlocks[idx] = v + + } + } + + target.DryRun = m.GetDryRun() + + return target +} + +// Clone function +func (m *AccessPolicySpec_Config_Authorization_MatchSpec) Clone() proto.Message { + var target *AccessPolicySpec_Config_Authorization_MatchSpec + if m == nil { + return target + } + target = &AccessPolicySpec_Config_Authorization_MatchSpec{} + + if h, ok := interface{}(m.GetRequest()).(clone.Cloner); ok { + target.Request = h.Clone().(*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) + } else { + target.Request = proto.Clone(m.GetRequest()).(*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) + } + + return target +} + +// Clone function +func (m *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) Clone() proto.Message { + var target *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec + if m == nil { + return target + } + target = &AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec{} + + if m.GetHeaders() != nil { + target.Headers = make(map[string]*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues, len(m.GetHeaders())) + for k, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Headers[k] = h.Clone().(*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) + } else { + target.Headers[k] = proto.Clone(v).(*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) + } + + } + } + + return target +} + +// Clone function +func (m *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) Clone() proto.Message { + var target *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues + if m == nil { + return target + } + target = &AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues{} + + if m.GetValues() != nil { + target.Values = make([]string, len(m.GetValues())) + for idx, v := range m.GetValues() { + + target.Values[idx] = v + + } + } + + if m.GetNotValues() != nil { + target.NotValues = make([]string, len(m.GetNotValues())) + for idx, v := range m.GetNotValues() { + + target.NotValues[idx] = v + + } + } + + return target +} + +// Clone function +func (m *AccessPolicyReport_IdentityReference) Clone() proto.Message { + var target *AccessPolicyReport_IdentityReference + if m == nil { + return target + } + target = &AccessPolicyReport_IdentityReference{} + + target.IdentityIndex = m.GetIdentityIndex() + + if h, ok := interface{}(m.GetServiceAccount()).(clone.Cloner); ok { + target.ServiceAccount = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.ServiceAccount = proto.Clone(m.GetServiceAccount()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + target.AuthzIndex = m.GetAuthzIndex() + + return target +} diff --git a/client-go/security.policy.gloo.solo.io/v2/access_policy.pb.equal.go b/client-go/security.policy.gloo.solo.io/v2/access_policy.pb.equal.go new file mode 100644 index 000000000..81adb4cad --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/access_policy.pb.equal.go @@ -0,0 +1,674 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/access_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *AccessPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessPolicySpec) + if !ok { + that2, ok := that.(AccessPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToDestinations()) != len(target.GetApplyToDestinations()) { + return false + } + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToDestinations()[idx]) { + return false + } + } + + } + + if len(m.GetApplyToWorkloads()) != len(target.GetApplyToWorkloads()) { + return false + } + for idx, v := range m.GetApplyToWorkloads() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToWorkloads()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToWorkloads()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *AccessPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessPolicyStatus) + if !ok { + that2, ok := that.(AccessPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedDestinationPorts() != target.GetNumSelectedDestinationPorts() { + return false + } + + if m.GetNumSelectedNamespaces() != target.GetNumSelectedNamespaces() { + return false + } + + if m.GetNumAllowedServiceAccounts() != target.GetNumAllowedServiceAccounts() { + return false + } + + return true +} + +// Equal function +func (m *AccessPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessPolicyReport) + if !ok { + that2, ok := that.(AccessPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedDestinationPorts()) != len(target.GetSelectedDestinationPorts()) { + return false + } + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedDestinationPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedDestinationPorts()[idx]) { + return false + } + } + + } + + if len(m.GetAllowedServiceAccounts()) != len(target.GetAllowedServiceAccounts()) { + return false + } + for idx, v := range m.GetAllowedServiceAccounts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAllowedServiceAccounts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetAllowedServiceAccounts()[idx]) { + return false + } + } + + } + + if len(m.GetSelectedNamespaces()) != len(target.GetSelectedNamespaces()) { + return false + } + for idx, v := range m.GetSelectedNamespaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedNamespaces()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedNamespaces()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *AccessPolicySpec_NamespaceWorkloadSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessPolicySpec_NamespaceWorkloadSelector) + if !ok { + that2, ok := that.(AccessPolicySpec_NamespaceWorkloadSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetSelector()).(equality.Equalizer); ok { + if !h.Equal(target.GetSelector()) { + return false + } + } else { + if !proto.Equal(m.GetSelector(), target.GetSelector()) { + return false + } + } + + return true +} + +// Equal function +func (m *AccessPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessPolicySpec_Config) + if !ok { + that2, ok := that.(AccessPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetAuthn()).(equality.Equalizer); ok { + if !h.Equal(target.GetAuthn()) { + return false + } + } else { + if !proto.Equal(m.GetAuthn(), target.GetAuthn()) { + return false + } + } + + if h, ok := interface{}(m.GetAuthz()).(equality.Equalizer); ok { + if !h.Equal(target.GetAuthz()) { + return false + } + } else { + if !proto.Equal(m.GetAuthz(), target.GetAuthz()) { + return false + } + } + + if h, ok := interface{}(m.GetEnforcementLayers()).(equality.Equalizer); ok { + if !h.Equal(target.GetEnforcementLayers()) { + return false + } + } else { + if !proto.Equal(m.GetEnforcementLayers(), target.GetEnforcementLayers()) { + return false + } + } + + if len(m.GetAuthzList()) != len(target.GetAuthzList()) { + return false + } + for idx, v := range m.GetAuthzList() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAuthzList()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetAuthzList()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) + if !ok { + that2, ok := that.(AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetLabels()) != len(target.GetLabels()) { + return false + } + for k, v := range m.GetLabels() { + + if strings.Compare(v, target.GetLabels()[k]) != 0 { + return false + } + + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + if strings.Compare(m.GetCluster(), target.GetCluster()) != 0 { + return false + } + + if strings.Compare(m.GetWorkspace(), target.GetWorkspace()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *AccessPolicySpec_Config_Authentication) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessPolicySpec_Config_Authentication) + if !ok { + that2, ok := that.(AccessPolicySpec_Config_Authentication) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetTlsMode() != target.GetTlsMode() { + return false + } + + return true +} + +// Equal function +func (m *AccessPolicySpec_Config_Authorization) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessPolicySpec_Config_Authorization) + if !ok { + that2, ok := that.(AccessPolicySpec_Config_Authorization) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetAllowedClients()) != len(target.GetAllowedClients()) { + return false + } + for idx, v := range m.GetAllowedClients() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAllowedClients()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetAllowedClients()[idx]) { + return false + } + } + + } + + if len(m.GetAllowedPaths()) != len(target.GetAllowedPaths()) { + return false + } + for idx, v := range m.GetAllowedPaths() { + + if strings.Compare(v, target.GetAllowedPaths()[idx]) != 0 { + return false + } + + } + + if len(m.GetAllowedMethods()) != len(target.GetAllowedMethods()) { + return false + } + for idx, v := range m.GetAllowedMethods() { + + if strings.Compare(v, target.GetAllowedMethods()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetMatch()).(equality.Equalizer); ok { + if !h.Equal(target.GetMatch()) { + return false + } + } else { + if !proto.Equal(m.GetMatch(), target.GetMatch()) { + return false + } + } + + if len(m.GetAllowedIpBlocks()) != len(target.GetAllowedIpBlocks()) { + return false + } + for idx, v := range m.GetAllowedIpBlocks() { + + if strings.Compare(v, target.GetAllowedIpBlocks()[idx]) != 0 { + return false + } + + } + + if len(m.GetAllowedRemoteIpBlocks()) != len(target.GetAllowedRemoteIpBlocks()) { + return false + } + for idx, v := range m.GetAllowedRemoteIpBlocks() { + + if strings.Compare(v, target.GetAllowedRemoteIpBlocks()[idx]) != 0 { + return false + } + + } + + if m.GetDryRun() != target.GetDryRun() { + return false + } + + return true +} + +// Equal function +func (m *AccessPolicySpec_Config_Authorization_MatchSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessPolicySpec_Config_Authorization_MatchSpec) + if !ok { + that2, ok := that.(AccessPolicySpec_Config_Authorization_MatchSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetRequest()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequest()) { + return false + } + } else { + if !proto.Equal(m.GetRequest(), target.GetRequest()) { + return false + } + } + + return true +} + +// Equal function +func (m *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) + if !ok { + that2, ok := that.(AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetHeaders()) != len(target.GetHeaders()) { + return false + } + for k, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetHeaders()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetHeaders()[k]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) + if !ok { + that2, ok := that.(AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetValues()) != len(target.GetValues()) { + return false + } + for idx, v := range m.GetValues() { + + if strings.Compare(v, target.GetValues()[idx]) != 0 { + return false + } + + } + + if len(m.GetNotValues()) != len(target.GetNotValues()) { + return false + } + for idx, v := range m.GetNotValues() { + + if strings.Compare(v, target.GetNotValues()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *AccessPolicyReport_IdentityReference) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AccessPolicyReport_IdentityReference) + if !ok { + that2, ok := that.(AccessPolicyReport_IdentityReference) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetIdentityIndex() != target.GetIdentityIndex() { + return false + } + + if h, ok := interface{}(m.GetServiceAccount()).(equality.Equalizer); ok { + if !h.Equal(target.GetServiceAccount()) { + return false + } + } else { + if !proto.Equal(m.GetServiceAccount(), target.GetServiceAccount()) { + return false + } + } + + if m.GetAuthzIndex() != target.GetAuthzIndex() { + return false + } + + return true +} diff --git a/client-go/security.policy.gloo.solo.io/v2/access_policy.pb.go b/client-go/security.policy.gloo.solo.io/v2/access_policy.pb.go new file mode 100644 index 000000000..e60571a64 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/access_policy.pb.go @@ -0,0 +1,1582 @@ +// {{% readfile file="static/content/policies/ov_access" markdown="true"%}} +// An access policy describes how clients should be authenticated and authorized +// to access a service. For more information about cross-origin resource sharing, +// see [this article](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS). +// AccessPolicies can be applied at the workload or destination level. +// +// **Note**: +// Workload selectors are considered more secure than destination selectors +// and are therefore recommended to be used whenever possible. While workload +// selectors are applied to the translated Istio AuthorizationPolicy resource directly, +// destination selectors require the translation of the selected destination first +// before the access policy is enforced. This can lead to a window where traffic is unsecured +// if a new destination is added to the cluster. However, keep in mind that workloads selectors +// cannot be used when service isolation is enabled in your workspace. +// If service isolation is enabled, you must use destination selectors +// instead. +// +// **Examples**: +// The following example is for a simple access policy that allows +// the productpage app to access the ratings app. +// ```yaml +// apiVersion: security.policy.gloo.solo.io/v2 +// kind: AccessPolicy +// metadata: +// name: ratings-access +// namespace: bookinfo +// spec: +// applyToWorkloads: +// - selector: +// labels: +// app: ratings +// config: +// authn: +// tlsMode: STRICT +// authzList: +// - allowedClients: +// - serviceAccountSelector: +// labels: +// app: productpage +// allowedPaths: +// - /ratings* +// ``` +// +// The following example specifies the IP address that you want to +// allow access to the ratings app. When a client sends a request to ratings, +// the client's IP address is matched against the IP addresses that are defined +// in the access policy. If the IP address matches, the request is forwarded +// to the ratings app. If the IP does not match, access to ratings is denied. +// ```yaml +// apiVersion: security.policy.gloo.solo.io/v2 +// kind: AccessPolicy +// metadata: +// name: ratings-access +// namespace: bookinfo +// spec: +// applyToWorkloads: +// - selector: +// labels: +// app: ratings +// config: +// authn: +// tlsMode: STRICT +// authzList: +// - allowedIpBlocks: +// - 112.114.230.1 +// allowedPaths: +// - /ratings* +// ``` +// +// The following access policy uses a destination selector and specifies the request +// headers that must be sent to allow or deny the communication between the productpage +// and ratings apps. For example, if you send a request with the `X-Test-Header: match` +// header from the productpage app to the ratings app, the request is matched and the +// communication between productpage and ratings is allowed. If you send the same request +// without a header or with the `X-Test-Header: noMatch` header, the request is not matched +// and the communication between the apps is denied. +// ```yaml +// apiVersion: security.policy.gloo.solo.io/v2 +// kind: AccessPolicy +// metadata: +// name: ratings-access +// namespace: bookinfo +// spec: +// applyToDestinations: +// - port: +// number: 9080 +// selector: +// labels: +// app: ratings +// config: +// authn: +// tlsMode: STRICT +// authzList: +// - allowedClients: +// - serviceAccountSelector: +// labels: +// app: productpage +// allowedPaths: +// - /ratings* +// match: +// request: +// headers: +// X-Test-Header: +// notValues: +// - noMatch +// - partial-blocked +// values: +// - match +// - partial* +// ``` +// +// You can have multiple `authzList` entries to control access to workloads. +// A request is allowed when it matches at least one of the `authzList` entries (logically OR'd together). +// +// For each entry, you can specify different requirements for allowed clients, paths, methods, IP blocks, and other configuration settings. +// Then, a request is allowed only when ALL of the requirements are met (logically AND'd together). +// +// In the following example: +// * The product page app is allowed to send GET requests to the ratings app along the `/ratings*` wildcard path. +// * The product page app is allowed to send PATCH requests to the ratings app along the `/ratings/2*` wildcard path. +// * The reviews app is allowed to access the ratings app. +// +// ```yaml +// apiVersion: security.policy.gloo.solo.io/v2 +// kind: AccessPolicy +// metadata: +// name: ratings-access +// namespace: bookinfo +// spec: +// applyToWorkloads: +// - selector: +// labels: +// app: ratings +// config: +// authn: +// tlsMode: STRICT +// authzList: +// - allowedClients: +// - serviceAccountSelector: +// labels: +// app: productpage +// allowedPaths: +// - /ratings* +// allowedMethods: +// - GET +// - allowedClients: +// - serviceAccountSelector: +// labels: +// app: productpage +// allowedPaths: +// - /ratings/2* +// allowedMethods: +// - PATCH +// - allowedClients: +// - serviceAccountSelector: +// labels: +// app: reviews +// ``` + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/access_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The mutual TLS (mTLS) connection mode. The following enums correspond to the +// [modes defined by Istio](https://github.com/istio/api/blob/master/security/v1beta1/peer_authentication.proto#L129). +type AccessPolicySpec_Config_Authentication_TLSmode int32 + +const ( + // Do not originate mTLS connections to the upstream workload, + // and instead use unencrypted plaintext. + AccessPolicySpec_Config_Authentication_DISABLE AccessPolicySpec_Config_Authentication_TLSmode = 0 + // Permit both unencrypted plaintext and mTLS-secured connections to the upstream workload. + // Use this mode only when you migrate workloads to your service mesh. + // After the workload is onboarded to the service mesh, using the `STRICT` mode is recommended. + AccessPolicySpec_Config_Authentication_PERMISSIVE AccessPolicySpec_Config_Authentication_TLSmode = 1 + // Secure connections to the upstream workload with mTLS by presenting + // client certificates for authentication. + // This mode uses certificates generated + // automatically by Istio for mTLS authentication. When you use + // this mode, keep all other fields in `ClientTLSSettings` empty. + AccessPolicySpec_Config_Authentication_STRICT AccessPolicySpec_Config_Authentication_TLSmode = 2 +) + +// Enum value maps for AccessPolicySpec_Config_Authentication_TLSmode. +var ( + AccessPolicySpec_Config_Authentication_TLSmode_name = map[int32]string{ + 0: "DISABLE", + 1: "PERMISSIVE", + 2: "STRICT", + } + AccessPolicySpec_Config_Authentication_TLSmode_value = map[string]int32{ + "DISABLE": 0, + "PERMISSIVE": 1, + "STRICT": 2, + } +) + +func (x AccessPolicySpec_Config_Authentication_TLSmode) Enum() *AccessPolicySpec_Config_Authentication_TLSmode { + p := new(AccessPolicySpec_Config_Authentication_TLSmode) + *p = x + return p +} + +func (x AccessPolicySpec_Config_Authentication_TLSmode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AccessPolicySpec_Config_Authentication_TLSmode) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_enumTypes[0].Descriptor() +} + +func (AccessPolicySpec_Config_Authentication_TLSmode) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_enumTypes[0] +} + +func (x AccessPolicySpec_Config_Authentication_TLSmode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AccessPolicySpec_Config_Authentication_TLSmode.Descriptor instead. +func (AccessPolicySpec_Config_Authentication_TLSmode) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{0, 1, 0, 0} +} + +// Specifications for the policy. +type AccessPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Destinations to apply the policy to. If `applyToWorkloads` is non-empty, + // this field is ignored. If this field and `applyToWorkloads` are both empty, + // the policy applies to all ports on all destinations in the workspace. + // {{% notice note %}} + // For security reasons, `applyToWorkloads` is preferred. + // {{% /notice %}} + ApplyToDestinations []*v2.DestinationSelector `protobuf:"bytes,1,rep,name=apply_to_destinations,json=applyToDestinations,proto3" json:"apply_to_destinations,omitempty"` + // Workloads to apply the policy to. For security reasons, + // this field is prefered over `applyToDestinations`. If an empty selector is + // provided in the list, the policy applies to all workloads in a namespace, cluster, + // and workspace that are available in the parent object's workspace. + ApplyToWorkloads []*AccessPolicySpec_NamespaceWorkloadSelector `protobuf:"bytes,3,rep,name=apply_to_workloads,json=applyToWorkloads,proto3" json:"apply_to_workloads,omitempty"` + // Details of the access policy to apply to the selected workloads. + Config *AccessPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *AccessPolicySpec) Reset() { + *x = AccessPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicySpec) ProtoMessage() {} + +func (x *AccessPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessPolicySpec.ProtoReflect.Descriptor instead. +func (*AccessPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *AccessPolicySpec) GetApplyToDestinations() []*v2.DestinationSelector { + if x != nil { + return x.ApplyToDestinations + } + return nil +} + +func (x *AccessPolicySpec) GetApplyToWorkloads() []*AccessPolicySpec_NamespaceWorkloadSelector { + if x != nil { + return x.ApplyToWorkloads + } + return nil +} + +func (x *AccessPolicySpec) GetConfig() *AccessPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type AccessPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied policy. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of destination ports selected by the policy. + NumSelectedDestinationPorts uint32 `protobuf:"varint,5,opt,name=num_selected_destination_ports,json=numSelectedDestinationPorts,proto3" json:"num_selected_destination_ports,omitempty"` + // The number of namespaces containing selected workloads by the policy. + NumSelectedNamespaces uint32 `protobuf:"varint,2,opt,name=num_selected_namespaces,json=numSelectedNamespaces,proto3" json:"num_selected_namespaces,omitempty"` + // The number of service accounts allowed to access the selected destinations. + NumAllowedServiceAccounts uint32 `protobuf:"varint,3,opt,name=num_allowed_service_accounts,json=numAllowedServiceAccounts,proto3" json:"num_allowed_service_accounts,omitempty"` +} + +func (x *AccessPolicyStatus) Reset() { + *x = AccessPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicyStatus) ProtoMessage() {} + +func (x *AccessPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessPolicyStatus.ProtoReflect.Descriptor instead. +func (*AccessPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *AccessPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *AccessPolicyStatus) GetNumSelectedDestinationPorts() uint32 { + if x != nil { + return x.NumSelectedDestinationPorts + } + return 0 +} + +func (x *AccessPolicyStatus) GetNumSelectedNamespaces() uint32 { + if x != nil { + return x.NumSelectedNamespaces + } + return 0 +} + +func (x *AccessPolicyStatus) GetNumAllowedServiceAccounts() uint32 { + if x != nil { + return x.NumAllowedServiceAccounts + } + return 0 +} + +// The report shows the resources that the policy selects after the policy is successfully applied. +type AccessPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to destinations. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of destination ports selected by the policy. + SelectedDestinationPorts []*v2.DestinationReference `protobuf:"bytes,2,rep,name=selected_destination_ports,json=selectedDestinationPorts,proto3" json:"selected_destination_ports,omitempty"` + // A list of the service accounts whose workloads are allowed + // to send requests to the selected destinations. + AllowedServiceAccounts []*AccessPolicyReport_IdentityReference `protobuf:"bytes,3,rep,name=allowed_service_accounts,json=allowedServiceAccounts,proto3" json:"allowed_service_accounts,omitempty"` + // A list of namespaces that contain workloads selected by the policy. + SelectedNamespaces []*v2.ObjectReference `protobuf:"bytes,4,rep,name=selected_namespaces,json=selectedNamespaces,proto3" json:"selected_namespaces,omitempty"` +} + +func (x *AccessPolicyReport) Reset() { + *x = AccessPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicyReport) ProtoMessage() {} + +func (x *AccessPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessPolicyReport.ProtoReflect.Descriptor instead. +func (*AccessPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *AccessPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *AccessPolicyReport) GetSelectedDestinationPorts() []*v2.DestinationReference { + if x != nil { + return x.SelectedDestinationPorts + } + return nil +} + +func (x *AccessPolicyReport) GetAllowedServiceAccounts() []*AccessPolicyReport_IdentityReference { + if x != nil { + return x.AllowedServiceAccounts + } + return nil +} + +func (x *AccessPolicyReport) GetSelectedNamespaces() []*v2.ObjectReference { + if x != nil { + return x.SelectedNamespaces + } + return nil +} + +// Select individual namespaces and workloads within the namespaces by label. +// Workloads must have injected (sidecars) or be standalone proxies (gateways) +// to be selected by Gloo policies. +type AccessPolicySpec_NamespaceWorkloadSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Selector to match workload objects by their metadata. + Selector *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"` +} + +func (x *AccessPolicySpec_NamespaceWorkloadSelector) Reset() { + *x = AccessPolicySpec_NamespaceWorkloadSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicySpec_NamespaceWorkloadSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicySpec_NamespaceWorkloadSelector) ProtoMessage() {} + +func (x *AccessPolicySpec_NamespaceWorkloadSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessPolicySpec_NamespaceWorkloadSelector.ProtoReflect.Descriptor instead. +func (*AccessPolicySpec_NamespaceWorkloadSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *AccessPolicySpec_NamespaceWorkloadSelector) GetSelector() *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector { + if x != nil { + return x.Selector + } + return nil +} + +// Details of the access policy to apply to the selected workloads. +type AccessPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // How clients are authenticated to the workload. + Authn *AccessPolicySpec_Config_Authentication `protobuf:"bytes,1,opt,name=authn,proto3" json:"authn,omitempty"` + // Deprecated; Use authzList instead. If authzList is set, it takes precedence and this field is ignored. + // How clients are authorized to access the workload. + Authz *AccessPolicySpec_Config_Authorization `protobuf:"bytes,2,opt,name=authz,proto3" json:"authz,omitempty"` + // Optional: When NetworkPolicy translation is enabled, all available layers are used to enforce AccessPolicies by default. + // If you want to explicitly define which layers to use to enforce this AccessPolicy, you can set them by using this field. + // Note that the layer that you define in this field must be available to be configured. + EnforcementLayers *v2.EnforcementLayers `protobuf:"bytes,3,opt,name=enforcement_layers,json=enforcementLayers,proto3" json:"enforcement_layers,omitempty"` + // How clients are authorized to access the workload. + // A request is allowed when it matches at least one authz entry in the list (logically OR'd together). + AuthzList []*AccessPolicySpec_Config_Authorization `protobuf:"bytes,4,rep,name=authz_list,json=authzList,proto3" json:"authz_list,omitempty"` +} + +func (x *AccessPolicySpec_Config) Reset() { + *x = AccessPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicySpec_Config) ProtoMessage() {} + +func (x *AccessPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*AccessPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *AccessPolicySpec_Config) GetAuthn() *AccessPolicySpec_Config_Authentication { + if x != nil { + return x.Authn + } + return nil +} + +func (x *AccessPolicySpec_Config) GetAuthz() *AccessPolicySpec_Config_Authorization { + if x != nil { + return x.Authz + } + return nil +} + +func (x *AccessPolicySpec_Config) GetEnforcementLayers() *v2.EnforcementLayers { + if x != nil { + return x.EnforcementLayers + } + return nil +} + +func (x *AccessPolicySpec_Config) GetAuthzList() []*AccessPolicySpec_Config_Authorization { + if x != nil { + return x.AuthzList + } + return nil +} + +// Selects zero or more Kubernetes workloads by matching on labels, namespace, cluster, and workspace. +type AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Only select workloads with matching labels. + Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Only select objects in the matching namespace. If empty, Gloo selects + // matching objects across all namespaces available in the parent object's workspace. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Only select objects in the matching cluster. If empty, Gloo selects + // matching objects across all clusters available in the parent object's workspace. + Cluster string `protobuf:"bytes,3,opt,name=cluster,proto3" json:"cluster,omitempty"` + // Only select objects in the given workspace. If empty, Gloo selects + // matching objects across all workspaces available in the parent object's workspace. + Workspace string `protobuf:"bytes,4,opt,name=workspace,proto3" json:"workspace,omitempty"` +} + +func (x *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) Reset() { + *x = AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) ProtoMessage() {} + +func (x *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector.ProtoReflect.Descriptor instead. +func (*AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) GetCluster() string { + if x != nil { + return x.Cluster + } + return "" +} + +func (x *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) GetWorkspace() string { + if x != nil { + return x.Workspace + } + return "" +} + +// How clients are authenticated to the workload. +type AccessPolicySpec_Config_Authentication struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of TLS policy that is enforced on clients connecting to the workload. + // If service isolation is enabled for the workspace, this field is treated as 'STRICT'. + TlsMode AccessPolicySpec_Config_Authentication_TLSmode `protobuf:"varint,1,opt,name=tls_mode,json=tlsMode,proto3,enum=security.policy.gloo.solo.io.AccessPolicySpec_Config_Authentication_TLSmode" json:"tls_mode,omitempty"` +} + +func (x *AccessPolicySpec_Config_Authentication) Reset() { + *x = AccessPolicySpec_Config_Authentication{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicySpec_Config_Authentication) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicySpec_Config_Authentication) ProtoMessage() {} + +func (x *AccessPolicySpec_Config_Authentication) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessPolicySpec_Config_Authentication.ProtoReflect.Descriptor instead. +func (*AccessPolicySpec_Config_Authentication) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{0, 1, 0} +} + +func (x *AccessPolicySpec_Config_Authentication) GetTlsMode() AccessPolicySpec_Config_Authentication_TLSmode { + if x != nil { + return x.TlsMode + } + return AccessPolicySpec_Config_Authentication_DISABLE +} + +// Configure access to workloads. +// +// You can have multiple `authzList` entries. +// A request is allowed when it matches at least one of the `authzList` entries (logically OR'd together). +// +// For each entry, you can specify different requirements for allowed clients, paths, methods, IP blocks, and other configuration settings. +// Then, a request is allowed only when ALL of the requirements are met (logically AND'd together). +// +// If the policy uses `applyToWorkloads`, you can also allow NO requests by setting this value to the empty object `{}`, +// which will serve as a fallback when requests do not match another `authz` case for the given workload. +type AccessPolicySpec_Config_Authorization struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Client identities that are permitted to access the workload. + // To allow access for all client identities, provide a single empty selector. + AllowedClients []*v2.IdentitySelector `protobuf:"bytes,1,rep,name=allowed_clients,json=allowedClients,proto3" json:"allowed_clients,omitempty"` + // Optional: A list of HTTP paths or gRPC methods to allow. + // gRPC methods must be presented as fully-qualified name in the form of + // "/packageName.serviceName/methodName", and are case sensitive. + // Exact match, prefix match, and suffix match are supported for paths. + // For example, the path `/books/review` matches + // `/books/review` (exact match), `*books/` (suffix match), or `/books*` (prefix match). + // + // If empty, any path is allowed. + AllowedPaths []string `protobuf:"bytes,2,rep,name=allowed_paths,json=allowedPaths,proto3" json:"allowed_paths,omitempty"` + // Optional: A list of HTTP methods to allow (e.g., "GET", "POST"). + // If empty, any method is allowed. + // This field is ignored for gRPC, because the value is always "POST". + AllowedMethods []string `protobuf:"bytes,3,rep,name=allowed_methods,json=allowedMethods,proto3" json:"allowed_methods,omitempty"` + // Optional: Additional request matching conditions. + Match *AccessPolicySpec_Config_Authorization_MatchSpec `protobuf:"bytes,4,opt,name=match,proto3" json:"match,omitempty"` + // Optional: A list of IP blocks, populated from the source address of the IP packet. + // Single IP addresses (e.g. “1.2.3.4”) and CIDRs (e.g. “1.2.3.0/24”) are supported. If empty, + // any IP address is allowed. + AllowedIpBlocks []string `protobuf:"bytes,5,rep,name=allowed_ip_blocks,json=allowedIpBlocks,proto3" json:"allowed_ip_blocks,omitempty"` + // Optional: A list of IP blocks, populated from X-Forwarded-For header or proxy protocol. + // Single IP addresses (e.g. “1.2.3.4”) and CIDRs (e.g. “1.2.3.0/24”) are supported. This field + // is equivalent to the remote.ip attribute. If empty, any IP address is allowed. + // {{% notice note %}} + // To use this field, you must configure the `meshConfig.defaultConfig.gatewayTopology.numTrustedProxies` + // field in your Istio installation. For more info, see the + // [Istio documentation](https://istio.io/latest/docs/ops/configuration/traffic-management/network-topologies/#configuring-network-topologies). + // {{% /notice %}} + AllowedRemoteIpBlocks []string `protobuf:"bytes,6,rep,name=allowed_remote_ip_blocks,json=allowedRemoteIpBlocks,proto3" json:"allowed_remote_ip_blocks,omitempty"` + // Set to true to enable a dry run of the access policy for L7 Istio service mesh authorization only. Then, you can check the sidecar proxy logs, metrics, and tracing to determine if traffic would be allowed or denied. However, the authorization is not enforced until you disable the dry run and re-apply the access policy. + // Note that when there are both dry run and enforced policies, dry run policies are considered independently of enforced policies; + // i.e. the logs, metrics, and tracing results indicating if traffic would be allowed or denied is based on the behavior if all dry run policies were enforced but all currently enforced policies were deleted. + // Note that dry run cannot be used to review allow or deny decisions for L4 traffic. Even if you enable the dry run feature with a Gloo Network setup, no Cilium network policy and decision logs are created or enforced. + DryRun bool `protobuf:"varint,7,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"` +} + +func (x *AccessPolicySpec_Config_Authorization) Reset() { + *x = AccessPolicySpec_Config_Authorization{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicySpec_Config_Authorization) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicySpec_Config_Authorization) ProtoMessage() {} + +func (x *AccessPolicySpec_Config_Authorization) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessPolicySpec_Config_Authorization.ProtoReflect.Descriptor instead. +func (*AccessPolicySpec_Config_Authorization) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{0, 1, 1} +} + +func (x *AccessPolicySpec_Config_Authorization) GetAllowedClients() []*v2.IdentitySelector { + if x != nil { + return x.AllowedClients + } + return nil +} + +func (x *AccessPolicySpec_Config_Authorization) GetAllowedPaths() []string { + if x != nil { + return x.AllowedPaths + } + return nil +} + +func (x *AccessPolicySpec_Config_Authorization) GetAllowedMethods() []string { + if x != nil { + return x.AllowedMethods + } + return nil +} + +func (x *AccessPolicySpec_Config_Authorization) GetMatch() *AccessPolicySpec_Config_Authorization_MatchSpec { + if x != nil { + return x.Match + } + return nil +} + +func (x *AccessPolicySpec_Config_Authorization) GetAllowedIpBlocks() []string { + if x != nil { + return x.AllowedIpBlocks + } + return nil +} + +func (x *AccessPolicySpec_Config_Authorization) GetAllowedRemoteIpBlocks() []string { + if x != nil { + return x.AllowedRemoteIpBlocks + } + return nil +} + +func (x *AccessPolicySpec_Config_Authorization) GetDryRun() bool { + if x != nil { + return x.DryRun + } + return false +} + +// Optional: Additional request matching conditions. +type AccessPolicySpec_Config_Authorization_MatchSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: HTTP request header matching conditions. + Request *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` +} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec) Reset() { + *x = AccessPolicySpec_Config_Authorization_MatchSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicySpec_Config_Authorization_MatchSpec) ProtoMessage() {} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessPolicySpec_Config_Authorization_MatchSpec.ProtoReflect.Descriptor instead. +func (*AccessPolicySpec_Config_Authorization_MatchSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{0, 1, 1, 0} +} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec) GetRequest() *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec { + if x != nil { + return x.Request + } + return nil +} + +type AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: HTTP request header matching conditions. + Headers map[string]*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) Reset() { + *x = AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) ProtoMessage() {} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec.ProtoReflect.Descriptor instead. +func (*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{0, 1, 1, 0, 0} +} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) GetHeaders() map[string]*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues { + if x != nil { + return x.Headers + } + return nil +} + +// A value matching condition for HTTP request headers. +// At least one of `values` or `notValues` must be set. +type AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of match values for the header. A request must match at least one value. + // Supports wildcards. For example, to + // match a request with header values containing `exact-books` OR `partial-matched-books`, + // set `values` to `exact-books` and `partial-*-books`. + Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + // A list of negative match values for the header. A request must not match any values. + // Supports wildcards. For example, to + // _not_ match a request with header values containing `ignore-books` or `partial-ignored-books`, + // set `notValues` to `ignore-books` and `partial-ig*-books`. + NotValues []string `protobuf:"bytes,2,rep,name=not_values,json=notValues,proto3" json:"not_values,omitempty"` +} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) Reset() { + *x = AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) ProtoMessage() {} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues.ProtoReflect.Descriptor instead. +func (*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{0, 1, 1, 0, 0, 1} +} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + +func (x *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) GetNotValues() []string { + if x != nil { + return x.NotValues + } + return nil +} + +// A list of the service accounts whose workloads are allowed +// to send requests to the selected destinations. +type AccessPolicyReport_IdentityReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The index of the identity in the list of identity selectors. + IdentityIndex int32 `protobuf:"varint,1,opt,name=identity_index,json=identityIndex,proto3" json:"identity_index,omitempty"` + // The reference to the service account backing the identity. + ServiceAccount *v2.ObjectReference `protobuf:"bytes,2,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // The index of the authz in the authzList. + AuthzIndex int32 `protobuf:"varint,3,opt,name=authz_index,json=authzIndex,proto3" json:"authz_index,omitempty"` +} + +func (x *AccessPolicyReport_IdentityReference) Reset() { + *x = AccessPolicyReport_IdentityReference{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicyReport_IdentityReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicyReport_IdentityReference) ProtoMessage() {} + +func (x *AccessPolicyReport_IdentityReference) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccessPolicyReport_IdentityReference.ProtoReflect.Descriptor instead. +func (*AccessPolicyReport_IdentityReference) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *AccessPolicyReport_IdentityReference) GetIdentityIndex() int32 { + if x != nil { + return x.IdentityIndex + } + return 0 +} + +func (x *AccessPolicyReport_IdentityReference) GetServiceAccount() *v2.ObjectReference { + if x != nil { + return x.ServiceAccount + } + return nil +} + +func (x *AccessPolicyReport_IdentityReference) GetAuthzIndex() int32 { + if x != nil { + return x.AuthzIndex + } + return 0 +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDesc = []byte{ + 0x0a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x1c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, + 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x5b, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x11, 0x0a, 0x10, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x5c, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, + 0x6f, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x76, 0x0a, + 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x57, 0x6f, 0x72, 0x6b, + 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x4d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xb1, 0x03, 0x0a, 0x19, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x12, 0x73, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x57, 0x6f, + 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0x9e, 0x02, 0x0a, 0x0e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x7b, 0x0a, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x63, 0x2e, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x1c, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x39, 0x0a, + 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xbf, 0x0b, 0x0a, 0x06, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x05, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, + 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x61, 0x75, 0x74, 0x68, 0x6e, 0x12, + 0x59, 0x0a, 0x05, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, + 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x12, 0x55, 0x0a, 0x12, 0x65, 0x6e, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x6e, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x11, + 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, + 0x73, 0x12, 0x62, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0xad, 0x01, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, + 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x08, 0x74, 0x6c, 0x73, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4c, 0x2e, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x54, 0x4c, 0x53, 0x6d, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x74, 0x6c, 0x73, 0x4d, 0x6f, 0x64, + 0x65, 0x22, 0x32, 0x0a, 0x07, 0x54, 0x4c, 0x53, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, + 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, 0x52, + 0x4d, 0x49, 0x53, 0x53, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, + 0x49, 0x43, 0x54, 0x10, 0x02, 0x1a, 0x92, 0x07, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x27, 0x0a, 0x0f, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x4d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x63, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, + 0x70, 0x65, 0x63, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x49, 0x70, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, + 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x1a, 0xff, 0x03, 0x0a, 0x09, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x73, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0xfc, 0x02, 0x0a, 0x0b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x80, 0x01, 0x0a, 0x07, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x66, 0x2e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xa2, + 0x01, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x7c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x66, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x45, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, + 0x6f, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x6f, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x12, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1e, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, + 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x6e, + 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x6e, 0x75, + 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x6e, 0x75, 0x6d, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x22, 0xbd, 0x05, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x60, 0x0a, 0x0a, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x40, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x67, 0x0a, + 0x1a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x18, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x7c, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x16, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xaa, 0x01, 0x0a, 0x11, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4d, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x42, 0x5d, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, + 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_goTypes = []interface{}{ + (AccessPolicySpec_Config_Authentication_TLSmode)(0), // 0: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authentication.TLSmode + (*AccessPolicySpec)(nil), // 1: security.policy.gloo.solo.io.AccessPolicySpec + (*AccessPolicyStatus)(nil), // 2: security.policy.gloo.solo.io.AccessPolicyStatus + (*AccessPolicyReport)(nil), // 3: security.policy.gloo.solo.io.AccessPolicyReport + (*AccessPolicySpec_NamespaceWorkloadSelector)(nil), // 4: security.policy.gloo.solo.io.AccessPolicySpec.NamespaceWorkloadSelector + (*AccessPolicySpec_Config)(nil), // 5: security.policy.gloo.solo.io.AccessPolicySpec.Config + (*AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector)(nil), // 6: security.policy.gloo.solo.io.AccessPolicySpec.NamespaceWorkloadSelector.ObjectSelector + nil, // 7: security.policy.gloo.solo.io.AccessPolicySpec.NamespaceWorkloadSelector.ObjectSelector.LabelsEntry + (*AccessPolicySpec_Config_Authentication)(nil), // 8: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authentication + (*AccessPolicySpec_Config_Authorization)(nil), // 9: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization + (*AccessPolicySpec_Config_Authorization_MatchSpec)(nil), // 10: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.MatchSpec + (*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec)(nil), // 11: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.MatchSpec.RequestSpec + nil, // 12: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.MatchSpec.RequestSpec.HeadersEntry + (*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues)(nil), // 13: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.MatchSpec.RequestSpec.HeaderValues + nil, // 14: security.policy.gloo.solo.io.AccessPolicyReport.WorkspacesEntry + (*AccessPolicyReport_IdentityReference)(nil), // 15: security.policy.gloo.solo.io.AccessPolicyReport.IdentityReference + (*v2.DestinationSelector)(nil), // 16: common.gloo.solo.io.DestinationSelector + (*v2.Status)(nil), // 17: common.gloo.solo.io.Status + (*v2.DestinationReference)(nil), // 18: common.gloo.solo.io.DestinationReference + (*v2.ObjectReference)(nil), // 19: common.gloo.solo.io.ObjectReference + (*v2.EnforcementLayers)(nil), // 20: common.gloo.solo.io.EnforcementLayers + (*v2.IdentitySelector)(nil), // 21: common.gloo.solo.io.IdentitySelector + (*v2.Report)(nil), // 22: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_depIdxs = []int32{ + 16, // 0: security.policy.gloo.solo.io.AccessPolicySpec.apply_to_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 4, // 1: security.policy.gloo.solo.io.AccessPolicySpec.apply_to_workloads:type_name -> security.policy.gloo.solo.io.AccessPolicySpec.NamespaceWorkloadSelector + 5, // 2: security.policy.gloo.solo.io.AccessPolicySpec.config:type_name -> security.policy.gloo.solo.io.AccessPolicySpec.Config + 17, // 3: security.policy.gloo.solo.io.AccessPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 14, // 4: security.policy.gloo.solo.io.AccessPolicyReport.workspaces:type_name -> security.policy.gloo.solo.io.AccessPolicyReport.WorkspacesEntry + 18, // 5: security.policy.gloo.solo.io.AccessPolicyReport.selected_destination_ports:type_name -> common.gloo.solo.io.DestinationReference + 15, // 6: security.policy.gloo.solo.io.AccessPolicyReport.allowed_service_accounts:type_name -> security.policy.gloo.solo.io.AccessPolicyReport.IdentityReference + 19, // 7: security.policy.gloo.solo.io.AccessPolicyReport.selected_namespaces:type_name -> common.gloo.solo.io.ObjectReference + 6, // 8: security.policy.gloo.solo.io.AccessPolicySpec.NamespaceWorkloadSelector.selector:type_name -> security.policy.gloo.solo.io.AccessPolicySpec.NamespaceWorkloadSelector.ObjectSelector + 8, // 9: security.policy.gloo.solo.io.AccessPolicySpec.Config.authn:type_name -> security.policy.gloo.solo.io.AccessPolicySpec.Config.Authentication + 9, // 10: security.policy.gloo.solo.io.AccessPolicySpec.Config.authz:type_name -> security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization + 20, // 11: security.policy.gloo.solo.io.AccessPolicySpec.Config.enforcement_layers:type_name -> common.gloo.solo.io.EnforcementLayers + 9, // 12: security.policy.gloo.solo.io.AccessPolicySpec.Config.authz_list:type_name -> security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization + 7, // 13: security.policy.gloo.solo.io.AccessPolicySpec.NamespaceWorkloadSelector.ObjectSelector.labels:type_name -> security.policy.gloo.solo.io.AccessPolicySpec.NamespaceWorkloadSelector.ObjectSelector.LabelsEntry + 0, // 14: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authentication.tls_mode:type_name -> security.policy.gloo.solo.io.AccessPolicySpec.Config.Authentication.TLSmode + 21, // 15: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.allowed_clients:type_name -> common.gloo.solo.io.IdentitySelector + 10, // 16: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.match:type_name -> security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.MatchSpec + 11, // 17: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.MatchSpec.request:type_name -> security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.MatchSpec.RequestSpec + 12, // 18: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.MatchSpec.RequestSpec.headers:type_name -> security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.MatchSpec.RequestSpec.HeadersEntry + 13, // 19: security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.MatchSpec.RequestSpec.HeadersEntry.value:type_name -> security.policy.gloo.solo.io.AccessPolicySpec.Config.Authorization.MatchSpec.RequestSpec.HeaderValues + 22, // 20: security.policy.gloo.solo.io.AccessPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 19, // 21: security.policy.gloo.solo.io.AccessPolicyReport.IdentityReference.service_account:type_name -> common.gloo.solo.io.ObjectReference + 22, // [22:22] is the sub-list for method output_type + 22, // [22:22] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicySpec_NamespaceWorkloadSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicySpec_Config_Authentication); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicySpec_Config_Authorization); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicySpec_Config_Authorization_MatchSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicyReport_IdentityReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDesc, + NumEnums: 1, + NumMessages: 15, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_access_policy_proto_depIdxs = nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/access_policy.pb.hash.go b/client-go/security.policy.gloo.solo.io/v2/access_policy.pb.hash.go new file mode 100644 index 000000000..7185ac0fd --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/access_policy.pb.hash.go @@ -0,0 +1,762 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/access_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *AccessPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.AccessPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetApplyToWorkloads() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.AccessPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedDestinationPorts()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedNamespaces()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumAllowedServiceAccounts()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.AccessPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetAllowedServiceAccounts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetSelectedNamespaces() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessPolicySpec_NamespaceWorkloadSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.AccessPolicySpec_NamespaceWorkloadSelector")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSelector()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSelector(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Selector")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.AccessPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetAuthn()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Authn")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAuthn(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Authn")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetAuthz()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Authz")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAuthz(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Authz")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetEnforcementLayers()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("EnforcementLayers")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetEnforcementLayers(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("EnforcementLayers")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetAuthzList() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.AccessPolicySpec_NamespaceWorkloadSelector_ObjectSelector")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetLabels() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetNamespace())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetCluster())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetWorkspace())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessPolicySpec_Config_Authentication) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.AccessPolicySpec_Config_Authentication")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetTlsMode()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessPolicySpec_Config_Authorization) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.AccessPolicySpec_Config_Authorization")); err != nil { + return 0, err + } + + for _, v := range m.GetAllowedClients() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetAllowedPaths() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetAllowedMethods() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetMatch()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Match")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMatch(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Match")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetAllowedIpBlocks() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetAllowedRemoteIpBlocks() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetDryRun()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessPolicySpec_Config_Authorization_MatchSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.AccessPolicySpec_Config_Authorization_MatchSpec")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetRequest()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequest(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetHeaders() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.AccessPolicySpec_Config_Authorization_MatchSpec_RequestSpec_HeaderValues")); err != nil { + return 0, err + } + + for _, v := range m.GetValues() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetNotValues() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *AccessPolicyReport_IdentityReference) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.AccessPolicyReport_IdentityReference")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetIdentityIndex()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetServiceAccount()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ServiceAccount")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetServiceAccount(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ServiceAccount")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAuthzIndex()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/client_tls_policy.pb.clone.go b/client-go/security.policy.gloo.solo.io/v2/client_tls_policy.pb.clone.go new file mode 100644 index 000000000..d2b76a5b6 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/client_tls_policy.pb.clone.go @@ -0,0 +1,237 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/client_tls_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ClientTLSPolicySpec) Clone() proto.Message { + var target *ClientTLSPolicySpec + if m == nil { + return target + } + target = &ClientTLSPolicySpec{} + + if m.GetApplyToDestinations() != nil { + target.ApplyToDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector, len(m.GetApplyToDestinations())) + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.ApplyToDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + } + } + + switch m.Mode.(type) { + + case *ClientTLSPolicySpec_Disable_: + + if h, ok := interface{}(m.GetDisable()).(clone.Cloner); ok { + target.Mode = &ClientTLSPolicySpec_Disable_{ + Disable: h.Clone().(*ClientTLSPolicySpec_Disable), + } + } else { + target.Mode = &ClientTLSPolicySpec_Disable_{ + Disable: proto.Clone(m.GetDisable()).(*ClientTLSPolicySpec_Disable), + } + } + + case *ClientTLSPolicySpec_Simple_: + + if h, ok := interface{}(m.GetSimple()).(clone.Cloner); ok { + target.Mode = &ClientTLSPolicySpec_Simple_{ + Simple: h.Clone().(*ClientTLSPolicySpec_Simple), + } + } else { + target.Mode = &ClientTLSPolicySpec_Simple_{ + Simple: proto.Clone(m.GetSimple()).(*ClientTLSPolicySpec_Simple), + } + } + + case *ClientTLSPolicySpec_Mutual_: + + if h, ok := interface{}(m.GetMutual()).(clone.Cloner); ok { + target.Mode = &ClientTLSPolicySpec_Mutual_{ + Mutual: h.Clone().(*ClientTLSPolicySpec_Mutual), + } + } else { + target.Mode = &ClientTLSPolicySpec_Mutual_{ + Mutual: proto.Clone(m.GetMutual()).(*ClientTLSPolicySpec_Mutual), + } + } + + case *ClientTLSPolicySpec_IstioMutual_: + + if h, ok := interface{}(m.GetIstioMutual()).(clone.Cloner); ok { + target.Mode = &ClientTLSPolicySpec_IstioMutual_{ + IstioMutual: h.Clone().(*ClientTLSPolicySpec_IstioMutual), + } + } else { + target.Mode = &ClientTLSPolicySpec_IstioMutual_{ + IstioMutual: proto.Clone(m.GetIstioMutual()).(*ClientTLSPolicySpec_IstioMutual), + } + } + + } + + return target +} + +// Clone function +func (m *TLSConfig) Clone() proto.Message { + var target *TLSConfig + if m == nil { + return target + } + target = &TLSConfig{} + + if h, ok := interface{}(m.GetSni()).(clone.Cloner); ok { + target.Sni = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.Sni = proto.Clone(m.GetSni()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + target.CredentialName = m.GetCredentialName() + + return target +} + +// Clone function +func (m *ClientTLSPolicyStatus) Clone() proto.Message { + var target *ClientTLSPolicyStatus + if m == nil { + return target + } + target = &ClientTLSPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedDestinationPorts = m.GetNumSelectedDestinationPorts() + + return target +} + +// Clone function +func (m *ClientTLSPolicyReport) Clone() proto.Message { + var target *ClientTLSPolicyReport + if m == nil { + return target + } + target = &ClientTLSPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedDestinationPorts() != nil { + target.SelectedDestinationPorts = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetSelectedDestinationPorts())) + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedDestinationPorts[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.SelectedDestinationPorts[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + return target +} + +// Clone function +func (m *ClientTLSPolicySpec_Disable) Clone() proto.Message { + var target *ClientTLSPolicySpec_Disable + if m == nil { + return target + } + target = &ClientTLSPolicySpec_Disable{} + + return target +} + +// Clone function +func (m *ClientTLSPolicySpec_IstioMutual) Clone() proto.Message { + var target *ClientTLSPolicySpec_IstioMutual + if m == nil { + return target + } + target = &ClientTLSPolicySpec_IstioMutual{} + + return target +} + +// Clone function +func (m *ClientTLSPolicySpec_Mutual) Clone() proto.Message { + var target *ClientTLSPolicySpec_Mutual + if m == nil { + return target + } + target = &ClientTLSPolicySpec_Mutual{} + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*TLSConfig) + } else { + target.Config = proto.Clone(m.GetConfig()).(*TLSConfig) + } + + return target +} + +// Clone function +func (m *ClientTLSPolicySpec_Simple) Clone() proto.Message { + var target *ClientTLSPolicySpec_Simple + if m == nil { + return target + } + target = &ClientTLSPolicySpec_Simple{} + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*TLSConfig) + } else { + target.Config = proto.Clone(m.GetConfig()).(*TLSConfig) + } + + return target +} diff --git a/client-go/security.policy.gloo.solo.io/v2/client_tls_policy.pb.equal.go b/client-go/security.policy.gloo.solo.io/v2/client_tls_policy.pb.equal.go new file mode 100644 index 000000000..7c164d742 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/client_tls_policy.pb.equal.go @@ -0,0 +1,386 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/client_tls_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ClientTLSPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClientTLSPolicySpec) + if !ok { + that2, ok := that.(ClientTLSPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToDestinations()) != len(target.GetApplyToDestinations()) { + return false + } + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToDestinations()[idx]) { + return false + } + } + + } + + switch m.Mode.(type) { + + case *ClientTLSPolicySpec_Disable_: + if _, ok := target.Mode.(*ClientTLSPolicySpec_Disable_); !ok { + return false + } + + if h, ok := interface{}(m.GetDisable()).(equality.Equalizer); ok { + if !h.Equal(target.GetDisable()) { + return false + } + } else { + if !proto.Equal(m.GetDisable(), target.GetDisable()) { + return false + } + } + + case *ClientTLSPolicySpec_Simple_: + if _, ok := target.Mode.(*ClientTLSPolicySpec_Simple_); !ok { + return false + } + + if h, ok := interface{}(m.GetSimple()).(equality.Equalizer); ok { + if !h.Equal(target.GetSimple()) { + return false + } + } else { + if !proto.Equal(m.GetSimple(), target.GetSimple()) { + return false + } + } + + case *ClientTLSPolicySpec_Mutual_: + if _, ok := target.Mode.(*ClientTLSPolicySpec_Mutual_); !ok { + return false + } + + if h, ok := interface{}(m.GetMutual()).(equality.Equalizer); ok { + if !h.Equal(target.GetMutual()) { + return false + } + } else { + if !proto.Equal(m.GetMutual(), target.GetMutual()) { + return false + } + } + + case *ClientTLSPolicySpec_IstioMutual_: + if _, ok := target.Mode.(*ClientTLSPolicySpec_IstioMutual_); !ok { + return false + } + + if h, ok := interface{}(m.GetIstioMutual()).(equality.Equalizer); ok { + if !h.Equal(target.GetIstioMutual()) { + return false + } + } else { + if !proto.Equal(m.GetIstioMutual(), target.GetIstioMutual()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Mode != target.Mode { + return false + } + } + + return true +} + +// Equal function +func (m *TLSConfig) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TLSConfig) + if !ok { + that2, ok := that.(TLSConfig) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetSni()).(equality.Equalizer); ok { + if !h.Equal(target.GetSni()) { + return false + } + } else { + if !proto.Equal(m.GetSni(), target.GetSni()) { + return false + } + } + + if strings.Compare(m.GetCredentialName(), target.GetCredentialName()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *ClientTLSPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClientTLSPolicyStatus) + if !ok { + that2, ok := that.(ClientTLSPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedDestinationPorts() != target.GetNumSelectedDestinationPorts() { + return false + } + + return true +} + +// Equal function +func (m *ClientTLSPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClientTLSPolicyReport) + if !ok { + that2, ok := that.(ClientTLSPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedDestinationPorts()) != len(target.GetSelectedDestinationPorts()) { + return false + } + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedDestinationPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedDestinationPorts()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ClientTLSPolicySpec_Disable) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClientTLSPolicySpec_Disable) + if !ok { + that2, ok := that.(ClientTLSPolicySpec_Disable) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *ClientTLSPolicySpec_IstioMutual) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClientTLSPolicySpec_IstioMutual) + if !ok { + that2, ok := that.(ClientTLSPolicySpec_IstioMutual) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + return true +} + +// Equal function +func (m *ClientTLSPolicySpec_Mutual) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClientTLSPolicySpec_Mutual) + if !ok { + that2, ok := that.(ClientTLSPolicySpec_Mutual) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *ClientTLSPolicySpec_Simple) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ClientTLSPolicySpec_Simple) + if !ok { + that2, ok := that.(ClientTLSPolicySpec_Simple) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} diff --git a/client-go/security.policy.gloo.solo.io/v2/client_tls_policy.pb.go b/client-go/security.policy.gloo.solo.io/v2/client_tls_policy.pb.go new file mode 100644 index 000000000..209c37fbd --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/client_tls_policy.pb.go @@ -0,0 +1,801 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/client_tls_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ClientTLSPolicy explicitly controls the TLS/mTLS configuration for upstream connections +type ClientTLSPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApplyToDestinations []*v2.DestinationSelector `protobuf:"bytes,1,rep,name=apply_to_destinations,json=applyToDestinations,proto3" json:"apply_to_destinations,omitempty"` + // Type of TLS used when establishing connections to the selected destinations. + // Note that this mode will override any inherited TLS configuration when connecting to the destination, + // for example it will override a mesh-wide mTLS configured via Istio PeerAuthentication. + // + // Types that are assignable to Mode: + // + // *ClientTLSPolicySpec_Disable_ + // *ClientTLSPolicySpec_Simple_ + // *ClientTLSPolicySpec_Mutual_ + // *ClientTLSPolicySpec_IstioMutual_ + Mode isClientTLSPolicySpec_Mode `protobuf_oneof:"mode"` +} + +func (x *ClientTLSPolicySpec) Reset() { + *x = ClientTLSPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientTLSPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientTLSPolicySpec) ProtoMessage() {} + +func (x *ClientTLSPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientTLSPolicySpec.ProtoReflect.Descriptor instead. +func (*ClientTLSPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *ClientTLSPolicySpec) GetApplyToDestinations() []*v2.DestinationSelector { + if x != nil { + return x.ApplyToDestinations + } + return nil +} + +func (m *ClientTLSPolicySpec) GetMode() isClientTLSPolicySpec_Mode { + if m != nil { + return m.Mode + } + return nil +} + +func (x *ClientTLSPolicySpec) GetDisable() *ClientTLSPolicySpec_Disable { + if x, ok := x.GetMode().(*ClientTLSPolicySpec_Disable_); ok { + return x.Disable + } + return nil +} + +func (x *ClientTLSPolicySpec) GetSimple() *ClientTLSPolicySpec_Simple { + if x, ok := x.GetMode().(*ClientTLSPolicySpec_Simple_); ok { + return x.Simple + } + return nil +} + +func (x *ClientTLSPolicySpec) GetMutual() *ClientTLSPolicySpec_Mutual { + if x, ok := x.GetMode().(*ClientTLSPolicySpec_Mutual_); ok { + return x.Mutual + } + return nil +} + +func (x *ClientTLSPolicySpec) GetIstioMutual() *ClientTLSPolicySpec_IstioMutual { + if x, ok := x.GetMode().(*ClientTLSPolicySpec_IstioMutual_); ok { + return x.IstioMutual + } + return nil +} + +type isClientTLSPolicySpec_Mode interface { + isClientTLSPolicySpec_Mode() +} + +type ClientTLSPolicySpec_Disable_ struct { + Disable *ClientTLSPolicySpec_Disable `protobuf:"bytes,2,opt,name=disable,proto3,oneof"` +} + +type ClientTLSPolicySpec_Simple_ struct { + Simple *ClientTLSPolicySpec_Simple `protobuf:"bytes,3,opt,name=simple,proto3,oneof"` +} + +type ClientTLSPolicySpec_Mutual_ struct { + Mutual *ClientTLSPolicySpec_Mutual `protobuf:"bytes,4,opt,name=mutual,proto3,oneof"` +} + +type ClientTLSPolicySpec_IstioMutual_ struct { + IstioMutual *ClientTLSPolicySpec_IstioMutual `protobuf:"bytes,5,opt,name=istioMutual,proto3,oneof"` +} + +func (*ClientTLSPolicySpec_Disable_) isClientTLSPolicySpec_Mode() {} + +func (*ClientTLSPolicySpec_Simple_) isClientTLSPolicySpec_Mode() {} + +func (*ClientTLSPolicySpec_Mutual_) isClientTLSPolicySpec_Mode() {} + +func (*ClientTLSPolicySpec_IstioMutual_) isClientTLSPolicySpec_Mode() {} + +type TLSConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SNI string to present to the server during TLS handshake. + // Recommended to be set, however if omitted, the first hostname associated with the destination + // will be used + Sni *wrappers.StringValue `protobuf:"bytes,1,opt,name=sni,proto3" json:"sni,omitempty"` + // The name of the secret that holds the TLS certs for the client including the CA certificates. + // Secret must exist in the same namespace with the proxy using the certificates. + // The secret (of type generic) should contain the following keys and values: + // key: , cert: , cacert: . + // Here CACertificate is used to verify the server certificate. + // Secret of type tls for client certificates along with ca.crt key for CA certificates is also supported. + // see: https://istio.io/latest/docs/reference/config/networking/destination-rule/#ClientTLSSettings + CredentialName string `protobuf:"bytes,2,opt,name=credentialName,proto3" json:"credentialName,omitempty"` +} + +func (x *TLSConfig) Reset() { + *x = TLSConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TLSConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TLSConfig) ProtoMessage() {} + +func (x *TLSConfig) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TLSConfig.ProtoReflect.Descriptor instead. +func (*TLSConfig) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *TLSConfig) GetSni() *wrappers.StringValue { + if x != nil { + return x.Sni + } + return nil +} + +func (x *TLSConfig) GetCredentialName() string { + if x != nil { + return x.CredentialName + } + return "" +} + +type ClientTLSPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of destination ports selected by the policy. + NumSelectedDestinationPorts uint32 `protobuf:"varint,2,opt,name=num_selected_destination_ports,json=numSelectedDestinationPorts,proto3" json:"num_selected_destination_ports,omitempty"` +} + +func (x *ClientTLSPolicyStatus) Reset() { + *x = ClientTLSPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientTLSPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientTLSPolicyStatus) ProtoMessage() {} + +func (x *ClientTLSPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientTLSPolicyStatus.ProtoReflect.Descriptor instead. +func (*ClientTLSPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *ClientTLSPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *ClientTLSPolicyStatus) GetNumSelectedDestinationPorts() uint32 { + if x != nil { + return x.NumSelectedDestinationPorts + } + return 0 +} + +type ClientTLSPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status of the resource in each workspace that it exists in. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of destination ports selected by the policy. + SelectedDestinationPorts []*v2.DestinationReference `protobuf:"bytes,2,rep,name=selected_destination_ports,json=selectedDestinationPorts,proto3" json:"selected_destination_ports,omitempty"` +} + +func (x *ClientTLSPolicyReport) Reset() { + *x = ClientTLSPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientTLSPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientTLSPolicyReport) ProtoMessage() {} + +func (x *ClientTLSPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientTLSPolicyReport.ProtoReflect.Descriptor instead. +func (*ClientTLSPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescGZIP(), []int{3} +} + +func (x *ClientTLSPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *ClientTLSPolicyReport) GetSelectedDestinationPorts() []*v2.DestinationReference { + if x != nil { + return x.SelectedDestinationPorts + } + return nil +} + +// Explicitly do not establish a TLS connection to the destination +type ClientTLSPolicySpec_Disable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ClientTLSPolicySpec_Disable) Reset() { + *x = ClientTLSPolicySpec_Disable{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientTLSPolicySpec_Disable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientTLSPolicySpec_Disable) ProtoMessage() {} + +func (x *ClientTLSPolicySpec_Disable) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientTLSPolicySpec_Disable.ProtoReflect.Descriptor instead. +func (*ClientTLSPolicySpec_Disable) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescGZIP(), []int{0, 0} +} + +// Initiate a mutual TLS connection using the Istio provided certificates. This is useful +// if a more broad policy/configuration has disabled Istio mTLS but you need it enabled +// for a specific destination. +type ClientTLSPolicySpec_IstioMutual struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ClientTLSPolicySpec_IstioMutual) Reset() { + *x = ClientTLSPolicySpec_IstioMutual{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientTLSPolicySpec_IstioMutual) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientTLSPolicySpec_IstioMutual) ProtoMessage() {} + +func (x *ClientTLSPolicySpec_IstioMutual) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientTLSPolicySpec_IstioMutual.ProtoReflect.Descriptor instead. +func (*ClientTLSPolicySpec_IstioMutual) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescGZIP(), []int{0, 1} +} + +// Initiate a mutual TLS connection and present client certificates via the provided credential/secret. +// This is separate from any TLS/mTLS provided by Istio. +type ClientTLSPolicySpec_Mutual struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *TLSConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *ClientTLSPolicySpec_Mutual) Reset() { + *x = ClientTLSPolicySpec_Mutual{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientTLSPolicySpec_Mutual) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientTLSPolicySpec_Mutual) ProtoMessage() {} + +func (x *ClientTLSPolicySpec_Mutual) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientTLSPolicySpec_Mutual.ProtoReflect.Descriptor instead. +func (*ClientTLSPolicySpec_Mutual) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *ClientTLSPolicySpec_Mutual) GetConfig() *TLSConfig { + if x != nil { + return x.Config + } + return nil +} + +// Initiate a basic TLS connection, and possibly verify the server certificate if provided a CA via credential/secret. +// This is separate from any TLS/mTLS provided by Istio. +type ClientTLSPolicySpec_Simple struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *TLSConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *ClientTLSPolicySpec_Simple) Reset() { + *x = ClientTLSPolicySpec_Simple{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientTLSPolicySpec_Simple) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientTLSPolicySpec_Simple) ProtoMessage() {} + +func (x *ClientTLSPolicySpec_Simple) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientTLSPolicySpec_Simple.ProtoReflect.Descriptor instead. +func (*ClientTLSPolicySpec_Simple) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *ClientTLSPolicySpec_Simple) GetConfig() *TLSConfig { + if x != nil { + return x.Config + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDesc = []byte{ + 0x0a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, + 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, + 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x8d, 0x05, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5c, 0x0a, 0x15, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, + 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x52, + 0x0a, 0x06, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, + 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x69, 0x6d, 0x70, + 0x6c, 0x65, 0x12, 0x52, 0x0a, 0x06, 0x6d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x06, + 0x6d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x12, 0x61, 0x0a, 0x0b, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x4d, + 0x75, 0x74, 0x75, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x4c, 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x49, + 0x73, 0x74, 0x69, 0x6f, 0x4d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x73, + 0x74, 0x69, 0x6f, 0x4d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x1a, 0x09, 0x0a, 0x07, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x0d, 0x0a, 0x0b, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x4d, 0x75, 0x74, + 0x75, 0x61, 0x6c, 0x1a, 0x49, 0x0a, 0x06, 0x4d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x12, 0x3f, 0x0a, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x4c, 0x53, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x49, + 0x0a, 0x06, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, + 0x65, 0x22, 0x63, 0x0a, 0x09, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, + 0x0a, 0x03, 0x73, 0x6e, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x73, 0x6e, 0x69, 0x12, 0x26, + 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x4c, 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1e, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x6e, + 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x22, 0xc1, 0x02, 0x0a, 0x15, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x12, 0x63, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, + 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x18, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, + 0x74, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5d, + 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, + 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_goTypes = []interface{}{ + (*ClientTLSPolicySpec)(nil), // 0: security.policy.gloo.solo.io.ClientTLSPolicySpec + (*TLSConfig)(nil), // 1: security.policy.gloo.solo.io.TLSConfig + (*ClientTLSPolicyStatus)(nil), // 2: security.policy.gloo.solo.io.ClientTLSPolicyStatus + (*ClientTLSPolicyReport)(nil), // 3: security.policy.gloo.solo.io.ClientTLSPolicyReport + (*ClientTLSPolicySpec_Disable)(nil), // 4: security.policy.gloo.solo.io.ClientTLSPolicySpec.Disable + (*ClientTLSPolicySpec_IstioMutual)(nil), // 5: security.policy.gloo.solo.io.ClientTLSPolicySpec.IstioMutual + (*ClientTLSPolicySpec_Mutual)(nil), // 6: security.policy.gloo.solo.io.ClientTLSPolicySpec.Mutual + (*ClientTLSPolicySpec_Simple)(nil), // 7: security.policy.gloo.solo.io.ClientTLSPolicySpec.Simple + nil, // 8: security.policy.gloo.solo.io.ClientTLSPolicyReport.WorkspacesEntry + (*v2.DestinationSelector)(nil), // 9: common.gloo.solo.io.DestinationSelector + (*wrappers.StringValue)(nil), // 10: google.protobuf.StringValue + (*v2.Status)(nil), // 11: common.gloo.solo.io.Status + (*v2.DestinationReference)(nil), // 12: common.gloo.solo.io.DestinationReference + (*v2.Report)(nil), // 13: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_depIdxs = []int32{ + 9, // 0: security.policy.gloo.solo.io.ClientTLSPolicySpec.apply_to_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 4, // 1: security.policy.gloo.solo.io.ClientTLSPolicySpec.disable:type_name -> security.policy.gloo.solo.io.ClientTLSPolicySpec.Disable + 7, // 2: security.policy.gloo.solo.io.ClientTLSPolicySpec.simple:type_name -> security.policy.gloo.solo.io.ClientTLSPolicySpec.Simple + 6, // 3: security.policy.gloo.solo.io.ClientTLSPolicySpec.mutual:type_name -> security.policy.gloo.solo.io.ClientTLSPolicySpec.Mutual + 5, // 4: security.policy.gloo.solo.io.ClientTLSPolicySpec.istioMutual:type_name -> security.policy.gloo.solo.io.ClientTLSPolicySpec.IstioMutual + 10, // 5: security.policy.gloo.solo.io.TLSConfig.sni:type_name -> google.protobuf.StringValue + 11, // 6: security.policy.gloo.solo.io.ClientTLSPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 8, // 7: security.policy.gloo.solo.io.ClientTLSPolicyReport.workspaces:type_name -> security.policy.gloo.solo.io.ClientTLSPolicyReport.WorkspacesEntry + 12, // 8: security.policy.gloo.solo.io.ClientTLSPolicyReport.selected_destination_ports:type_name -> common.gloo.solo.io.DestinationReference + 1, // 9: security.policy.gloo.solo.io.ClientTLSPolicySpec.Mutual.config:type_name -> security.policy.gloo.solo.io.TLSConfig + 1, // 10: security.policy.gloo.solo.io.ClientTLSPolicySpec.Simple.config:type_name -> security.policy.gloo.solo.io.TLSConfig + 13, // 11: security.policy.gloo.solo.io.ClientTLSPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientTLSPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TLSConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientTLSPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientTLSPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientTLSPolicySpec_Disable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientTLSPolicySpec_IstioMutual); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientTLSPolicySpec_Mutual); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientTLSPolicySpec_Simple); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*ClientTLSPolicySpec_Disable_)(nil), + (*ClientTLSPolicySpec_Simple_)(nil), + (*ClientTLSPolicySpec_Mutual_)(nil), + (*ClientTLSPolicySpec_IstioMutual_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_client_tls_policy_proto_depIdxs = nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/client_tls_policy.pb.hash.go b/client-go/security.policy.gloo.solo.io/v2/client_tls_policy.pb.hash.go new file mode 100644 index 000000000..9beddfb5e --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/client_tls_policy.pb.hash.go @@ -0,0 +1,422 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/client_tls_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ClientTLSPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.ClientTLSPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + switch m.Mode.(type) { + + case *ClientTLSPolicySpec_Disable_: + + if h, ok := interface{}(m.GetDisable()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Disable")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDisable(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Disable")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ClientTLSPolicySpec_Simple_: + + if h, ok := interface{}(m.GetSimple()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Simple")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSimple(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Simple")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ClientTLSPolicySpec_Mutual_: + + if h, ok := interface{}(m.GetMutual()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Mutual")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMutual(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Mutual")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ClientTLSPolicySpec_IstioMutual_: + + if h, ok := interface{}(m.GetIstioMutual()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("IstioMutual")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetIstioMutual(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("IstioMutual")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TLSConfig) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.TLSConfig")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetSni()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Sni")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSni(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Sni")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetCredentialName())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ClientTLSPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.ClientTLSPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedDestinationPorts()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ClientTLSPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.ClientTLSPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ClientTLSPolicySpec_Disable) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.ClientTLSPolicySpec_Disable")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ClientTLSPolicySpec_IstioMutual) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.ClientTLSPolicySpec_IstioMutual")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ClientTLSPolicySpec_Mutual) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.ClientTLSPolicySpec_Mutual")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ClientTLSPolicySpec_Simple) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.ClientTLSPolicySpec_Simple")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/clients.go b/client-go/security.policy.gloo.solo.io/v2/clients.go new file mode 100644 index 000000000..f9189d9a7 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/clients.go @@ -0,0 +1,1405 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the security.policy.gloo.solo.io/v2 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the security.policy.gloo.solo.io/v2 APIs +type Clientset interface { + // clienset for the security.policy.gloo.solo.io/v2/v2 APIs + AccessPolicies() AccessPolicyClient + // clienset for the security.policy.gloo.solo.io/v2/v2 APIs + CORSPolicies() CORSPolicyClient + // clienset for the security.policy.gloo.solo.io/v2/v2 APIs + CSRFPolicies() CSRFPolicyClient + // clienset for the security.policy.gloo.solo.io/v2/v2 APIs + ExtAuthPolicies() ExtAuthPolicyClient + // clienset for the security.policy.gloo.solo.io/v2/v2 APIs + WAFPolicies() WAFPolicyClient + // clienset for the security.policy.gloo.solo.io/v2/v2 APIs + JWTPolicies() JWTPolicyClient + // clienset for the security.policy.gloo.solo.io/v2/v2 APIs + ClientTLSPolicies() ClientTLSPolicyClient + // clienset for the security.policy.gloo.solo.io/v2/v2 APIs + GraphQLAllowedQueryPolicies() GraphQLAllowedQueryPolicyClient + // clienset for the security.policy.gloo.solo.io/v2/v2 APIs + DLPPolicies() DLPPolicyClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the security.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) AccessPolicies() AccessPolicyClient { + return NewAccessPolicyClient(c.client) +} + +// clienset for the security.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) CORSPolicies() CORSPolicyClient { + return NewCORSPolicyClient(c.client) +} + +// clienset for the security.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) CSRFPolicies() CSRFPolicyClient { + return NewCSRFPolicyClient(c.client) +} + +// clienset for the security.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) ExtAuthPolicies() ExtAuthPolicyClient { + return NewExtAuthPolicyClient(c.client) +} + +// clienset for the security.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) WAFPolicies() WAFPolicyClient { + return NewWAFPolicyClient(c.client) +} + +// clienset for the security.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) JWTPolicies() JWTPolicyClient { + return NewJWTPolicyClient(c.client) +} + +// clienset for the security.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) ClientTLSPolicies() ClientTLSPolicyClient { + return NewClientTLSPolicyClient(c.client) +} + +// clienset for the security.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) GraphQLAllowedQueryPolicies() GraphQLAllowedQueryPolicyClient { + return NewGraphQLAllowedQueryPolicyClient(c.client) +} + +// clienset for the security.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) DLPPolicies() DLPPolicyClient { + return NewDLPPolicyClient(c.client) +} + +// Reader knows how to read and list AccessPolicys. +type AccessPolicyReader interface { + // Get retrieves a AccessPolicy for the given object key + GetAccessPolicy(ctx context.Context, key client.ObjectKey) (*AccessPolicy, error) + + // List retrieves list of AccessPolicys for a given namespace and list options. + ListAccessPolicy(ctx context.Context, opts ...client.ListOption) (*AccessPolicyList, error) +} + +// AccessPolicyTransitionFunction instructs the AccessPolicyWriter how to transition between an existing +// AccessPolicy object and a desired on an Upsert +type AccessPolicyTransitionFunction func(existing, desired *AccessPolicy) error + +// Writer knows how to create, delete, and update AccessPolicys. +type AccessPolicyWriter interface { + // Create saves the AccessPolicy object. + CreateAccessPolicy(ctx context.Context, obj *AccessPolicy, opts ...client.CreateOption) error + + // Delete deletes the AccessPolicy object. + DeleteAccessPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given AccessPolicy object. + UpdateAccessPolicy(ctx context.Context, obj *AccessPolicy, opts ...client.UpdateOption) error + + // Patch patches the given AccessPolicy object. + PatchAccessPolicy(ctx context.Context, obj *AccessPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all AccessPolicy objects matching the given options. + DeleteAllOfAccessPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the AccessPolicy object. + UpsertAccessPolicy(ctx context.Context, obj *AccessPolicy, transitionFuncs ...AccessPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a AccessPolicy object. +type AccessPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given AccessPolicy object. + UpdateAccessPolicyStatus(ctx context.Context, obj *AccessPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given AccessPolicy object's subresource. + PatchAccessPolicyStatus(ctx context.Context, obj *AccessPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on AccessPolicys. +type AccessPolicyClient interface { + AccessPolicyReader + AccessPolicyWriter + AccessPolicyStatusWriter +} + +type accessPolicyClient struct { + client client.Client +} + +func NewAccessPolicyClient(client client.Client) *accessPolicyClient { + return &accessPolicyClient{client: client} +} + +func (c *accessPolicyClient) GetAccessPolicy(ctx context.Context, key client.ObjectKey) (*AccessPolicy, error) { + obj := &AccessPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *accessPolicyClient) ListAccessPolicy(ctx context.Context, opts ...client.ListOption) (*AccessPolicyList, error) { + list := &AccessPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *accessPolicyClient) CreateAccessPolicy(ctx context.Context, obj *AccessPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *accessPolicyClient) DeleteAccessPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &AccessPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *accessPolicyClient) UpdateAccessPolicy(ctx context.Context, obj *AccessPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *accessPolicyClient) PatchAccessPolicy(ctx context.Context, obj *AccessPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *accessPolicyClient) DeleteAllOfAccessPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &AccessPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *accessPolicyClient) UpsertAccessPolicy(ctx context.Context, obj *AccessPolicy, transitionFuncs ...AccessPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*AccessPolicy), desired.(*AccessPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *accessPolicyClient) UpdateAccessPolicyStatus(ctx context.Context, obj *AccessPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *accessPolicyClient) PatchAccessPolicyStatus(ctx context.Context, obj *AccessPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides AccessPolicyClients for multiple clusters. +type MulticlusterAccessPolicyClient interface { + // Cluster returns a AccessPolicyClient for the given cluster + Cluster(cluster string) (AccessPolicyClient, error) +} + +type multiclusterAccessPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterAccessPolicyClient(client multicluster.Client) MulticlusterAccessPolicyClient { + return &multiclusterAccessPolicyClient{client: client} +} + +func (m *multiclusterAccessPolicyClient) Cluster(cluster string) (AccessPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewAccessPolicyClient(client), nil +} + +// Reader knows how to read and list CORSPolicys. +type CORSPolicyReader interface { + // Get retrieves a CORSPolicy for the given object key + GetCORSPolicy(ctx context.Context, key client.ObjectKey) (*CORSPolicy, error) + + // List retrieves list of CORSPolicys for a given namespace and list options. + ListCORSPolicy(ctx context.Context, opts ...client.ListOption) (*CORSPolicyList, error) +} + +// CORSPolicyTransitionFunction instructs the CORSPolicyWriter how to transition between an existing +// CORSPolicy object and a desired on an Upsert +type CORSPolicyTransitionFunction func(existing, desired *CORSPolicy) error + +// Writer knows how to create, delete, and update CORSPolicys. +type CORSPolicyWriter interface { + // Create saves the CORSPolicy object. + CreateCORSPolicy(ctx context.Context, obj *CORSPolicy, opts ...client.CreateOption) error + + // Delete deletes the CORSPolicy object. + DeleteCORSPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given CORSPolicy object. + UpdateCORSPolicy(ctx context.Context, obj *CORSPolicy, opts ...client.UpdateOption) error + + // Patch patches the given CORSPolicy object. + PatchCORSPolicy(ctx context.Context, obj *CORSPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all CORSPolicy objects matching the given options. + DeleteAllOfCORSPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the CORSPolicy object. + UpsertCORSPolicy(ctx context.Context, obj *CORSPolicy, transitionFuncs ...CORSPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a CORSPolicy object. +type CORSPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given CORSPolicy object. + UpdateCORSPolicyStatus(ctx context.Context, obj *CORSPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given CORSPolicy object's subresource. + PatchCORSPolicyStatus(ctx context.Context, obj *CORSPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on CORSPolicys. +type CORSPolicyClient interface { + CORSPolicyReader + CORSPolicyWriter + CORSPolicyStatusWriter +} + +type cORSPolicyClient struct { + client client.Client +} + +func NewCORSPolicyClient(client client.Client) *cORSPolicyClient { + return &cORSPolicyClient{client: client} +} + +func (c *cORSPolicyClient) GetCORSPolicy(ctx context.Context, key client.ObjectKey) (*CORSPolicy, error) { + obj := &CORSPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *cORSPolicyClient) ListCORSPolicy(ctx context.Context, opts ...client.ListOption) (*CORSPolicyList, error) { + list := &CORSPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *cORSPolicyClient) CreateCORSPolicy(ctx context.Context, obj *CORSPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *cORSPolicyClient) DeleteCORSPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &CORSPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *cORSPolicyClient) UpdateCORSPolicy(ctx context.Context, obj *CORSPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *cORSPolicyClient) PatchCORSPolicy(ctx context.Context, obj *CORSPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *cORSPolicyClient) DeleteAllOfCORSPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &CORSPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *cORSPolicyClient) UpsertCORSPolicy(ctx context.Context, obj *CORSPolicy, transitionFuncs ...CORSPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*CORSPolicy), desired.(*CORSPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *cORSPolicyClient) UpdateCORSPolicyStatus(ctx context.Context, obj *CORSPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *cORSPolicyClient) PatchCORSPolicyStatus(ctx context.Context, obj *CORSPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides CORSPolicyClients for multiple clusters. +type MulticlusterCORSPolicyClient interface { + // Cluster returns a CORSPolicyClient for the given cluster + Cluster(cluster string) (CORSPolicyClient, error) +} + +type multiclusterCORSPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterCORSPolicyClient(client multicluster.Client) MulticlusterCORSPolicyClient { + return &multiclusterCORSPolicyClient{client: client} +} + +func (m *multiclusterCORSPolicyClient) Cluster(cluster string) (CORSPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewCORSPolicyClient(client), nil +} + +// Reader knows how to read and list CSRFPolicys. +type CSRFPolicyReader interface { + // Get retrieves a CSRFPolicy for the given object key + GetCSRFPolicy(ctx context.Context, key client.ObjectKey) (*CSRFPolicy, error) + + // List retrieves list of CSRFPolicys for a given namespace and list options. + ListCSRFPolicy(ctx context.Context, opts ...client.ListOption) (*CSRFPolicyList, error) +} + +// CSRFPolicyTransitionFunction instructs the CSRFPolicyWriter how to transition between an existing +// CSRFPolicy object and a desired on an Upsert +type CSRFPolicyTransitionFunction func(existing, desired *CSRFPolicy) error + +// Writer knows how to create, delete, and update CSRFPolicys. +type CSRFPolicyWriter interface { + // Create saves the CSRFPolicy object. + CreateCSRFPolicy(ctx context.Context, obj *CSRFPolicy, opts ...client.CreateOption) error + + // Delete deletes the CSRFPolicy object. + DeleteCSRFPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given CSRFPolicy object. + UpdateCSRFPolicy(ctx context.Context, obj *CSRFPolicy, opts ...client.UpdateOption) error + + // Patch patches the given CSRFPolicy object. + PatchCSRFPolicy(ctx context.Context, obj *CSRFPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all CSRFPolicy objects matching the given options. + DeleteAllOfCSRFPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the CSRFPolicy object. + UpsertCSRFPolicy(ctx context.Context, obj *CSRFPolicy, transitionFuncs ...CSRFPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a CSRFPolicy object. +type CSRFPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given CSRFPolicy object. + UpdateCSRFPolicyStatus(ctx context.Context, obj *CSRFPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given CSRFPolicy object's subresource. + PatchCSRFPolicyStatus(ctx context.Context, obj *CSRFPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on CSRFPolicys. +type CSRFPolicyClient interface { + CSRFPolicyReader + CSRFPolicyWriter + CSRFPolicyStatusWriter +} + +type cSRFPolicyClient struct { + client client.Client +} + +func NewCSRFPolicyClient(client client.Client) *cSRFPolicyClient { + return &cSRFPolicyClient{client: client} +} + +func (c *cSRFPolicyClient) GetCSRFPolicy(ctx context.Context, key client.ObjectKey) (*CSRFPolicy, error) { + obj := &CSRFPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *cSRFPolicyClient) ListCSRFPolicy(ctx context.Context, opts ...client.ListOption) (*CSRFPolicyList, error) { + list := &CSRFPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *cSRFPolicyClient) CreateCSRFPolicy(ctx context.Context, obj *CSRFPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *cSRFPolicyClient) DeleteCSRFPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &CSRFPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *cSRFPolicyClient) UpdateCSRFPolicy(ctx context.Context, obj *CSRFPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *cSRFPolicyClient) PatchCSRFPolicy(ctx context.Context, obj *CSRFPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *cSRFPolicyClient) DeleteAllOfCSRFPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &CSRFPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *cSRFPolicyClient) UpsertCSRFPolicy(ctx context.Context, obj *CSRFPolicy, transitionFuncs ...CSRFPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*CSRFPolicy), desired.(*CSRFPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *cSRFPolicyClient) UpdateCSRFPolicyStatus(ctx context.Context, obj *CSRFPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *cSRFPolicyClient) PatchCSRFPolicyStatus(ctx context.Context, obj *CSRFPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides CSRFPolicyClients for multiple clusters. +type MulticlusterCSRFPolicyClient interface { + // Cluster returns a CSRFPolicyClient for the given cluster + Cluster(cluster string) (CSRFPolicyClient, error) +} + +type multiclusterCSRFPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterCSRFPolicyClient(client multicluster.Client) MulticlusterCSRFPolicyClient { + return &multiclusterCSRFPolicyClient{client: client} +} + +func (m *multiclusterCSRFPolicyClient) Cluster(cluster string) (CSRFPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewCSRFPolicyClient(client), nil +} + +// Reader knows how to read and list ExtAuthPolicys. +type ExtAuthPolicyReader interface { + // Get retrieves a ExtAuthPolicy for the given object key + GetExtAuthPolicy(ctx context.Context, key client.ObjectKey) (*ExtAuthPolicy, error) + + // List retrieves list of ExtAuthPolicys for a given namespace and list options. + ListExtAuthPolicy(ctx context.Context, opts ...client.ListOption) (*ExtAuthPolicyList, error) +} + +// ExtAuthPolicyTransitionFunction instructs the ExtAuthPolicyWriter how to transition between an existing +// ExtAuthPolicy object and a desired on an Upsert +type ExtAuthPolicyTransitionFunction func(existing, desired *ExtAuthPolicy) error + +// Writer knows how to create, delete, and update ExtAuthPolicys. +type ExtAuthPolicyWriter interface { + // Create saves the ExtAuthPolicy object. + CreateExtAuthPolicy(ctx context.Context, obj *ExtAuthPolicy, opts ...client.CreateOption) error + + // Delete deletes the ExtAuthPolicy object. + DeleteExtAuthPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ExtAuthPolicy object. + UpdateExtAuthPolicy(ctx context.Context, obj *ExtAuthPolicy, opts ...client.UpdateOption) error + + // Patch patches the given ExtAuthPolicy object. + PatchExtAuthPolicy(ctx context.Context, obj *ExtAuthPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ExtAuthPolicy objects matching the given options. + DeleteAllOfExtAuthPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ExtAuthPolicy object. + UpsertExtAuthPolicy(ctx context.Context, obj *ExtAuthPolicy, transitionFuncs ...ExtAuthPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ExtAuthPolicy object. +type ExtAuthPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ExtAuthPolicy object. + UpdateExtAuthPolicyStatus(ctx context.Context, obj *ExtAuthPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ExtAuthPolicy object's subresource. + PatchExtAuthPolicyStatus(ctx context.Context, obj *ExtAuthPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ExtAuthPolicys. +type ExtAuthPolicyClient interface { + ExtAuthPolicyReader + ExtAuthPolicyWriter + ExtAuthPolicyStatusWriter +} + +type extAuthPolicyClient struct { + client client.Client +} + +func NewExtAuthPolicyClient(client client.Client) *extAuthPolicyClient { + return &extAuthPolicyClient{client: client} +} + +func (c *extAuthPolicyClient) GetExtAuthPolicy(ctx context.Context, key client.ObjectKey) (*ExtAuthPolicy, error) { + obj := &ExtAuthPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *extAuthPolicyClient) ListExtAuthPolicy(ctx context.Context, opts ...client.ListOption) (*ExtAuthPolicyList, error) { + list := &ExtAuthPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *extAuthPolicyClient) CreateExtAuthPolicy(ctx context.Context, obj *ExtAuthPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *extAuthPolicyClient) DeleteExtAuthPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ExtAuthPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *extAuthPolicyClient) UpdateExtAuthPolicy(ctx context.Context, obj *ExtAuthPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *extAuthPolicyClient) PatchExtAuthPolicy(ctx context.Context, obj *ExtAuthPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *extAuthPolicyClient) DeleteAllOfExtAuthPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ExtAuthPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *extAuthPolicyClient) UpsertExtAuthPolicy(ctx context.Context, obj *ExtAuthPolicy, transitionFuncs ...ExtAuthPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ExtAuthPolicy), desired.(*ExtAuthPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *extAuthPolicyClient) UpdateExtAuthPolicyStatus(ctx context.Context, obj *ExtAuthPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *extAuthPolicyClient) PatchExtAuthPolicyStatus(ctx context.Context, obj *ExtAuthPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ExtAuthPolicyClients for multiple clusters. +type MulticlusterExtAuthPolicyClient interface { + // Cluster returns a ExtAuthPolicyClient for the given cluster + Cluster(cluster string) (ExtAuthPolicyClient, error) +} + +type multiclusterExtAuthPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterExtAuthPolicyClient(client multicluster.Client) MulticlusterExtAuthPolicyClient { + return &multiclusterExtAuthPolicyClient{client: client} +} + +func (m *multiclusterExtAuthPolicyClient) Cluster(cluster string) (ExtAuthPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewExtAuthPolicyClient(client), nil +} + +// Reader knows how to read and list WAFPolicys. +type WAFPolicyReader interface { + // Get retrieves a WAFPolicy for the given object key + GetWAFPolicy(ctx context.Context, key client.ObjectKey) (*WAFPolicy, error) + + // List retrieves list of WAFPolicys for a given namespace and list options. + ListWAFPolicy(ctx context.Context, opts ...client.ListOption) (*WAFPolicyList, error) +} + +// WAFPolicyTransitionFunction instructs the WAFPolicyWriter how to transition between an existing +// WAFPolicy object and a desired on an Upsert +type WAFPolicyTransitionFunction func(existing, desired *WAFPolicy) error + +// Writer knows how to create, delete, and update WAFPolicys. +type WAFPolicyWriter interface { + // Create saves the WAFPolicy object. + CreateWAFPolicy(ctx context.Context, obj *WAFPolicy, opts ...client.CreateOption) error + + // Delete deletes the WAFPolicy object. + DeleteWAFPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given WAFPolicy object. + UpdateWAFPolicy(ctx context.Context, obj *WAFPolicy, opts ...client.UpdateOption) error + + // Patch patches the given WAFPolicy object. + PatchWAFPolicy(ctx context.Context, obj *WAFPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all WAFPolicy objects matching the given options. + DeleteAllOfWAFPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the WAFPolicy object. + UpsertWAFPolicy(ctx context.Context, obj *WAFPolicy, transitionFuncs ...WAFPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a WAFPolicy object. +type WAFPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given WAFPolicy object. + UpdateWAFPolicyStatus(ctx context.Context, obj *WAFPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given WAFPolicy object's subresource. + PatchWAFPolicyStatus(ctx context.Context, obj *WAFPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on WAFPolicys. +type WAFPolicyClient interface { + WAFPolicyReader + WAFPolicyWriter + WAFPolicyStatusWriter +} + +type wAFPolicyClient struct { + client client.Client +} + +func NewWAFPolicyClient(client client.Client) *wAFPolicyClient { + return &wAFPolicyClient{client: client} +} + +func (c *wAFPolicyClient) GetWAFPolicy(ctx context.Context, key client.ObjectKey) (*WAFPolicy, error) { + obj := &WAFPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *wAFPolicyClient) ListWAFPolicy(ctx context.Context, opts ...client.ListOption) (*WAFPolicyList, error) { + list := &WAFPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *wAFPolicyClient) CreateWAFPolicy(ctx context.Context, obj *WAFPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *wAFPolicyClient) DeleteWAFPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &WAFPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *wAFPolicyClient) UpdateWAFPolicy(ctx context.Context, obj *WAFPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *wAFPolicyClient) PatchWAFPolicy(ctx context.Context, obj *WAFPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *wAFPolicyClient) DeleteAllOfWAFPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &WAFPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *wAFPolicyClient) UpsertWAFPolicy(ctx context.Context, obj *WAFPolicy, transitionFuncs ...WAFPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*WAFPolicy), desired.(*WAFPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *wAFPolicyClient) UpdateWAFPolicyStatus(ctx context.Context, obj *WAFPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *wAFPolicyClient) PatchWAFPolicyStatus(ctx context.Context, obj *WAFPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides WAFPolicyClients for multiple clusters. +type MulticlusterWAFPolicyClient interface { + // Cluster returns a WAFPolicyClient for the given cluster + Cluster(cluster string) (WAFPolicyClient, error) +} + +type multiclusterWAFPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterWAFPolicyClient(client multicluster.Client) MulticlusterWAFPolicyClient { + return &multiclusterWAFPolicyClient{client: client} +} + +func (m *multiclusterWAFPolicyClient) Cluster(cluster string) (WAFPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewWAFPolicyClient(client), nil +} + +// Reader knows how to read and list JWTPolicys. +type JWTPolicyReader interface { + // Get retrieves a JWTPolicy for the given object key + GetJWTPolicy(ctx context.Context, key client.ObjectKey) (*JWTPolicy, error) + + // List retrieves list of JWTPolicys for a given namespace and list options. + ListJWTPolicy(ctx context.Context, opts ...client.ListOption) (*JWTPolicyList, error) +} + +// JWTPolicyTransitionFunction instructs the JWTPolicyWriter how to transition between an existing +// JWTPolicy object and a desired on an Upsert +type JWTPolicyTransitionFunction func(existing, desired *JWTPolicy) error + +// Writer knows how to create, delete, and update JWTPolicys. +type JWTPolicyWriter interface { + // Create saves the JWTPolicy object. + CreateJWTPolicy(ctx context.Context, obj *JWTPolicy, opts ...client.CreateOption) error + + // Delete deletes the JWTPolicy object. + DeleteJWTPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given JWTPolicy object. + UpdateJWTPolicy(ctx context.Context, obj *JWTPolicy, opts ...client.UpdateOption) error + + // Patch patches the given JWTPolicy object. + PatchJWTPolicy(ctx context.Context, obj *JWTPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all JWTPolicy objects matching the given options. + DeleteAllOfJWTPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the JWTPolicy object. + UpsertJWTPolicy(ctx context.Context, obj *JWTPolicy, transitionFuncs ...JWTPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a JWTPolicy object. +type JWTPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given JWTPolicy object. + UpdateJWTPolicyStatus(ctx context.Context, obj *JWTPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given JWTPolicy object's subresource. + PatchJWTPolicyStatus(ctx context.Context, obj *JWTPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on JWTPolicys. +type JWTPolicyClient interface { + JWTPolicyReader + JWTPolicyWriter + JWTPolicyStatusWriter +} + +type jWTPolicyClient struct { + client client.Client +} + +func NewJWTPolicyClient(client client.Client) *jWTPolicyClient { + return &jWTPolicyClient{client: client} +} + +func (c *jWTPolicyClient) GetJWTPolicy(ctx context.Context, key client.ObjectKey) (*JWTPolicy, error) { + obj := &JWTPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *jWTPolicyClient) ListJWTPolicy(ctx context.Context, opts ...client.ListOption) (*JWTPolicyList, error) { + list := &JWTPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *jWTPolicyClient) CreateJWTPolicy(ctx context.Context, obj *JWTPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *jWTPolicyClient) DeleteJWTPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &JWTPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *jWTPolicyClient) UpdateJWTPolicy(ctx context.Context, obj *JWTPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *jWTPolicyClient) PatchJWTPolicy(ctx context.Context, obj *JWTPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *jWTPolicyClient) DeleteAllOfJWTPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &JWTPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *jWTPolicyClient) UpsertJWTPolicy(ctx context.Context, obj *JWTPolicy, transitionFuncs ...JWTPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*JWTPolicy), desired.(*JWTPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *jWTPolicyClient) UpdateJWTPolicyStatus(ctx context.Context, obj *JWTPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *jWTPolicyClient) PatchJWTPolicyStatus(ctx context.Context, obj *JWTPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides JWTPolicyClients for multiple clusters. +type MulticlusterJWTPolicyClient interface { + // Cluster returns a JWTPolicyClient for the given cluster + Cluster(cluster string) (JWTPolicyClient, error) +} + +type multiclusterJWTPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterJWTPolicyClient(client multicluster.Client) MulticlusterJWTPolicyClient { + return &multiclusterJWTPolicyClient{client: client} +} + +func (m *multiclusterJWTPolicyClient) Cluster(cluster string) (JWTPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewJWTPolicyClient(client), nil +} + +// Reader knows how to read and list ClientTLSPolicys. +type ClientTLSPolicyReader interface { + // Get retrieves a ClientTLSPolicy for the given object key + GetClientTLSPolicy(ctx context.Context, key client.ObjectKey) (*ClientTLSPolicy, error) + + // List retrieves list of ClientTLSPolicys for a given namespace and list options. + ListClientTLSPolicy(ctx context.Context, opts ...client.ListOption) (*ClientTLSPolicyList, error) +} + +// ClientTLSPolicyTransitionFunction instructs the ClientTLSPolicyWriter how to transition between an existing +// ClientTLSPolicy object and a desired on an Upsert +type ClientTLSPolicyTransitionFunction func(existing, desired *ClientTLSPolicy) error + +// Writer knows how to create, delete, and update ClientTLSPolicys. +type ClientTLSPolicyWriter interface { + // Create saves the ClientTLSPolicy object. + CreateClientTLSPolicy(ctx context.Context, obj *ClientTLSPolicy, opts ...client.CreateOption) error + + // Delete deletes the ClientTLSPolicy object. + DeleteClientTLSPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ClientTLSPolicy object. + UpdateClientTLSPolicy(ctx context.Context, obj *ClientTLSPolicy, opts ...client.UpdateOption) error + + // Patch patches the given ClientTLSPolicy object. + PatchClientTLSPolicy(ctx context.Context, obj *ClientTLSPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ClientTLSPolicy objects matching the given options. + DeleteAllOfClientTLSPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ClientTLSPolicy object. + UpsertClientTLSPolicy(ctx context.Context, obj *ClientTLSPolicy, transitionFuncs ...ClientTLSPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ClientTLSPolicy object. +type ClientTLSPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ClientTLSPolicy object. + UpdateClientTLSPolicyStatus(ctx context.Context, obj *ClientTLSPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ClientTLSPolicy object's subresource. + PatchClientTLSPolicyStatus(ctx context.Context, obj *ClientTLSPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ClientTLSPolicys. +type ClientTLSPolicyClient interface { + ClientTLSPolicyReader + ClientTLSPolicyWriter + ClientTLSPolicyStatusWriter +} + +type clientTLSPolicyClient struct { + client client.Client +} + +func NewClientTLSPolicyClient(client client.Client) *clientTLSPolicyClient { + return &clientTLSPolicyClient{client: client} +} + +func (c *clientTLSPolicyClient) GetClientTLSPolicy(ctx context.Context, key client.ObjectKey) (*ClientTLSPolicy, error) { + obj := &ClientTLSPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *clientTLSPolicyClient) ListClientTLSPolicy(ctx context.Context, opts ...client.ListOption) (*ClientTLSPolicyList, error) { + list := &ClientTLSPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *clientTLSPolicyClient) CreateClientTLSPolicy(ctx context.Context, obj *ClientTLSPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *clientTLSPolicyClient) DeleteClientTLSPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ClientTLSPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *clientTLSPolicyClient) UpdateClientTLSPolicy(ctx context.Context, obj *ClientTLSPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *clientTLSPolicyClient) PatchClientTLSPolicy(ctx context.Context, obj *ClientTLSPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *clientTLSPolicyClient) DeleteAllOfClientTLSPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ClientTLSPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *clientTLSPolicyClient) UpsertClientTLSPolicy(ctx context.Context, obj *ClientTLSPolicy, transitionFuncs ...ClientTLSPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ClientTLSPolicy), desired.(*ClientTLSPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *clientTLSPolicyClient) UpdateClientTLSPolicyStatus(ctx context.Context, obj *ClientTLSPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *clientTLSPolicyClient) PatchClientTLSPolicyStatus(ctx context.Context, obj *ClientTLSPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ClientTLSPolicyClients for multiple clusters. +type MulticlusterClientTLSPolicyClient interface { + // Cluster returns a ClientTLSPolicyClient for the given cluster + Cluster(cluster string) (ClientTLSPolicyClient, error) +} + +type multiclusterClientTLSPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterClientTLSPolicyClient(client multicluster.Client) MulticlusterClientTLSPolicyClient { + return &multiclusterClientTLSPolicyClient{client: client} +} + +func (m *multiclusterClientTLSPolicyClient) Cluster(cluster string) (ClientTLSPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientTLSPolicyClient(client), nil +} + +// Reader knows how to read and list GraphQLAllowedQueryPolicys. +type GraphQLAllowedQueryPolicyReader interface { + // Get retrieves a GraphQLAllowedQueryPolicy for the given object key + GetGraphQLAllowedQueryPolicy(ctx context.Context, key client.ObjectKey) (*GraphQLAllowedQueryPolicy, error) + + // List retrieves list of GraphQLAllowedQueryPolicys for a given namespace and list options. + ListGraphQLAllowedQueryPolicy(ctx context.Context, opts ...client.ListOption) (*GraphQLAllowedQueryPolicyList, error) +} + +// GraphQLAllowedQueryPolicyTransitionFunction instructs the GraphQLAllowedQueryPolicyWriter how to transition between an existing +// GraphQLAllowedQueryPolicy object and a desired on an Upsert +type GraphQLAllowedQueryPolicyTransitionFunction func(existing, desired *GraphQLAllowedQueryPolicy) error + +// Writer knows how to create, delete, and update GraphQLAllowedQueryPolicys. +type GraphQLAllowedQueryPolicyWriter interface { + // Create saves the GraphQLAllowedQueryPolicy object. + CreateGraphQLAllowedQueryPolicy(ctx context.Context, obj *GraphQLAllowedQueryPolicy, opts ...client.CreateOption) error + + // Delete deletes the GraphQLAllowedQueryPolicy object. + DeleteGraphQLAllowedQueryPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given GraphQLAllowedQueryPolicy object. + UpdateGraphQLAllowedQueryPolicy(ctx context.Context, obj *GraphQLAllowedQueryPolicy, opts ...client.UpdateOption) error + + // Patch patches the given GraphQLAllowedQueryPolicy object. + PatchGraphQLAllowedQueryPolicy(ctx context.Context, obj *GraphQLAllowedQueryPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all GraphQLAllowedQueryPolicy objects matching the given options. + DeleteAllOfGraphQLAllowedQueryPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the GraphQLAllowedQueryPolicy object. + UpsertGraphQLAllowedQueryPolicy(ctx context.Context, obj *GraphQLAllowedQueryPolicy, transitionFuncs ...GraphQLAllowedQueryPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a GraphQLAllowedQueryPolicy object. +type GraphQLAllowedQueryPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given GraphQLAllowedQueryPolicy object. + UpdateGraphQLAllowedQueryPolicyStatus(ctx context.Context, obj *GraphQLAllowedQueryPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given GraphQLAllowedQueryPolicy object's subresource. + PatchGraphQLAllowedQueryPolicyStatus(ctx context.Context, obj *GraphQLAllowedQueryPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on GraphQLAllowedQueryPolicys. +type GraphQLAllowedQueryPolicyClient interface { + GraphQLAllowedQueryPolicyReader + GraphQLAllowedQueryPolicyWriter + GraphQLAllowedQueryPolicyStatusWriter +} + +type graphQLAllowedQueryPolicyClient struct { + client client.Client +} + +func NewGraphQLAllowedQueryPolicyClient(client client.Client) *graphQLAllowedQueryPolicyClient { + return &graphQLAllowedQueryPolicyClient{client: client} +} + +func (c *graphQLAllowedQueryPolicyClient) GetGraphQLAllowedQueryPolicy(ctx context.Context, key client.ObjectKey) (*GraphQLAllowedQueryPolicy, error) { + obj := &GraphQLAllowedQueryPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *graphQLAllowedQueryPolicyClient) ListGraphQLAllowedQueryPolicy(ctx context.Context, opts ...client.ListOption) (*GraphQLAllowedQueryPolicyList, error) { + list := &GraphQLAllowedQueryPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *graphQLAllowedQueryPolicyClient) CreateGraphQLAllowedQueryPolicy(ctx context.Context, obj *GraphQLAllowedQueryPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *graphQLAllowedQueryPolicyClient) DeleteGraphQLAllowedQueryPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &GraphQLAllowedQueryPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *graphQLAllowedQueryPolicyClient) UpdateGraphQLAllowedQueryPolicy(ctx context.Context, obj *GraphQLAllowedQueryPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *graphQLAllowedQueryPolicyClient) PatchGraphQLAllowedQueryPolicy(ctx context.Context, obj *GraphQLAllowedQueryPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *graphQLAllowedQueryPolicyClient) DeleteAllOfGraphQLAllowedQueryPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &GraphQLAllowedQueryPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *graphQLAllowedQueryPolicyClient) UpsertGraphQLAllowedQueryPolicy(ctx context.Context, obj *GraphQLAllowedQueryPolicy, transitionFuncs ...GraphQLAllowedQueryPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*GraphQLAllowedQueryPolicy), desired.(*GraphQLAllowedQueryPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *graphQLAllowedQueryPolicyClient) UpdateGraphQLAllowedQueryPolicyStatus(ctx context.Context, obj *GraphQLAllowedQueryPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *graphQLAllowedQueryPolicyClient) PatchGraphQLAllowedQueryPolicyStatus(ctx context.Context, obj *GraphQLAllowedQueryPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides GraphQLAllowedQueryPolicyClients for multiple clusters. +type MulticlusterGraphQLAllowedQueryPolicyClient interface { + // Cluster returns a GraphQLAllowedQueryPolicyClient for the given cluster + Cluster(cluster string) (GraphQLAllowedQueryPolicyClient, error) +} + +type multiclusterGraphQLAllowedQueryPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterGraphQLAllowedQueryPolicyClient(client multicluster.Client) MulticlusterGraphQLAllowedQueryPolicyClient { + return &multiclusterGraphQLAllowedQueryPolicyClient{client: client} +} + +func (m *multiclusterGraphQLAllowedQueryPolicyClient) Cluster(cluster string) (GraphQLAllowedQueryPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewGraphQLAllowedQueryPolicyClient(client), nil +} + +// Reader knows how to read and list DLPPolicys. +type DLPPolicyReader interface { + // Get retrieves a DLPPolicy for the given object key + GetDLPPolicy(ctx context.Context, key client.ObjectKey) (*DLPPolicy, error) + + // List retrieves list of DLPPolicys for a given namespace and list options. + ListDLPPolicy(ctx context.Context, opts ...client.ListOption) (*DLPPolicyList, error) +} + +// DLPPolicyTransitionFunction instructs the DLPPolicyWriter how to transition between an existing +// DLPPolicy object and a desired on an Upsert +type DLPPolicyTransitionFunction func(existing, desired *DLPPolicy) error + +// Writer knows how to create, delete, and update DLPPolicys. +type DLPPolicyWriter interface { + // Create saves the DLPPolicy object. + CreateDLPPolicy(ctx context.Context, obj *DLPPolicy, opts ...client.CreateOption) error + + // Delete deletes the DLPPolicy object. + DeleteDLPPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given DLPPolicy object. + UpdateDLPPolicy(ctx context.Context, obj *DLPPolicy, opts ...client.UpdateOption) error + + // Patch patches the given DLPPolicy object. + PatchDLPPolicy(ctx context.Context, obj *DLPPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all DLPPolicy objects matching the given options. + DeleteAllOfDLPPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the DLPPolicy object. + UpsertDLPPolicy(ctx context.Context, obj *DLPPolicy, transitionFuncs ...DLPPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a DLPPolicy object. +type DLPPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given DLPPolicy object. + UpdateDLPPolicyStatus(ctx context.Context, obj *DLPPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given DLPPolicy object's subresource. + PatchDLPPolicyStatus(ctx context.Context, obj *DLPPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on DLPPolicys. +type DLPPolicyClient interface { + DLPPolicyReader + DLPPolicyWriter + DLPPolicyStatusWriter +} + +type dLPPolicyClient struct { + client client.Client +} + +func NewDLPPolicyClient(client client.Client) *dLPPolicyClient { + return &dLPPolicyClient{client: client} +} + +func (c *dLPPolicyClient) GetDLPPolicy(ctx context.Context, key client.ObjectKey) (*DLPPolicy, error) { + obj := &DLPPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *dLPPolicyClient) ListDLPPolicy(ctx context.Context, opts ...client.ListOption) (*DLPPolicyList, error) { + list := &DLPPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *dLPPolicyClient) CreateDLPPolicy(ctx context.Context, obj *DLPPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *dLPPolicyClient) DeleteDLPPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &DLPPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *dLPPolicyClient) UpdateDLPPolicy(ctx context.Context, obj *DLPPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *dLPPolicyClient) PatchDLPPolicy(ctx context.Context, obj *DLPPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *dLPPolicyClient) DeleteAllOfDLPPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &DLPPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *dLPPolicyClient) UpsertDLPPolicy(ctx context.Context, obj *DLPPolicy, transitionFuncs ...DLPPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*DLPPolicy), desired.(*DLPPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *dLPPolicyClient) UpdateDLPPolicyStatus(ctx context.Context, obj *DLPPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *dLPPolicyClient) PatchDLPPolicyStatus(ctx context.Context, obj *DLPPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides DLPPolicyClients for multiple clusters. +type MulticlusterDLPPolicyClient interface { + // Cluster returns a DLPPolicyClient for the given cluster + Cluster(cluster string) (DLPPolicyClient, error) +} + +type multiclusterDLPPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterDLPPolicyClient(client multicluster.Client) MulticlusterDLPPolicyClient { + return &multiclusterDLPPolicyClient{client: client} +} + +func (m *multiclusterDLPPolicyClient) Cluster(cluster string) (DLPPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewDLPPolicyClient(client), nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/config_types.go b/client-go/security.policy.gloo.solo.io/v2/config_types.go new file mode 100644 index 000000000..52343b7ca --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/config_types.go @@ -0,0 +1,31 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2 + +// IsConfigObject implements ConfigObject interface for AccessPolicy +func (o *AccessPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for CORSPolicy +func (o *CORSPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for CSRFPolicy +func (o *CSRFPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for ExtAuthPolicy +func (o *ExtAuthPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for WAFPolicy +func (o *WAFPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for JWTPolicy +func (o *JWTPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for ClientTLSPolicy +func (o *ClientTLSPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for GraphQLAllowedQueryPolicy +func (o *GraphQLAllowedQueryPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for DLPPolicy +func (o *DLPPolicy) IsConfigObject() {} diff --git a/client-go/security.policy.gloo.solo.io/v2/controller/event_handlers.go b/client-go/security.policy.gloo.solo.io/v2/controller/event_handlers.go new file mode 100644 index 000000000..2b0a6e1ad --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/controller/event_handlers.go @@ -0,0 +1,981 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + security_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the AccessPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type AccessPolicyEventHandler interface { + CreateAccessPolicy(obj *security_policy_gloo_solo_io_v2.AccessPolicy) error + UpdateAccessPolicy(old, new *security_policy_gloo_solo_io_v2.AccessPolicy) error + DeleteAccessPolicy(obj *security_policy_gloo_solo_io_v2.AccessPolicy) error + GenericAccessPolicy(obj *security_policy_gloo_solo_io_v2.AccessPolicy) error +} + +type AccessPolicyEventHandlerFuncs struct { + OnCreate func(obj *security_policy_gloo_solo_io_v2.AccessPolicy) error + OnUpdate func(old, new *security_policy_gloo_solo_io_v2.AccessPolicy) error + OnDelete func(obj *security_policy_gloo_solo_io_v2.AccessPolicy) error + OnGeneric func(obj *security_policy_gloo_solo_io_v2.AccessPolicy) error +} + +func (f *AccessPolicyEventHandlerFuncs) CreateAccessPolicy(obj *security_policy_gloo_solo_io_v2.AccessPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *AccessPolicyEventHandlerFuncs) DeleteAccessPolicy(obj *security_policy_gloo_solo_io_v2.AccessPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *AccessPolicyEventHandlerFuncs) UpdateAccessPolicy(objOld, objNew *security_policy_gloo_solo_io_v2.AccessPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *AccessPolicyEventHandlerFuncs) GenericAccessPolicy(obj *security_policy_gloo_solo_io_v2.AccessPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type AccessPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h AccessPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type accessPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewAccessPolicyEventWatcher(name string, mgr manager.Manager) AccessPolicyEventWatcher { + return &accessPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &security_policy_gloo_solo_io_v2.AccessPolicy{}), + } +} + +func (c *accessPolicyEventWatcher) AddEventHandler(ctx context.Context, h AccessPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericAccessPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericAccessPolicyHandler implements a generic events.EventHandler +type genericAccessPolicyHandler struct { + handler AccessPolicyEventHandler +} + +func (h genericAccessPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.AccessPolicy) + if !ok { + return errors.Errorf("internal error: AccessPolicy handler received event for %T", object) + } + return h.handler.CreateAccessPolicy(obj) +} + +func (h genericAccessPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.AccessPolicy) + if !ok { + return errors.Errorf("internal error: AccessPolicy handler received event for %T", object) + } + return h.handler.DeleteAccessPolicy(obj) +} + +func (h genericAccessPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*security_policy_gloo_solo_io_v2.AccessPolicy) + if !ok { + return errors.Errorf("internal error: AccessPolicy handler received event for %T", old) + } + objNew, ok := new.(*security_policy_gloo_solo_io_v2.AccessPolicy) + if !ok { + return errors.Errorf("internal error: AccessPolicy handler received event for %T", new) + } + return h.handler.UpdateAccessPolicy(objOld, objNew) +} + +func (h genericAccessPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.AccessPolicy) + if !ok { + return errors.Errorf("internal error: AccessPolicy handler received event for %T", object) + } + return h.handler.GenericAccessPolicy(obj) +} + +// Handle events for the CORSPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type CORSPolicyEventHandler interface { + CreateCORSPolicy(obj *security_policy_gloo_solo_io_v2.CORSPolicy) error + UpdateCORSPolicy(old, new *security_policy_gloo_solo_io_v2.CORSPolicy) error + DeleteCORSPolicy(obj *security_policy_gloo_solo_io_v2.CORSPolicy) error + GenericCORSPolicy(obj *security_policy_gloo_solo_io_v2.CORSPolicy) error +} + +type CORSPolicyEventHandlerFuncs struct { + OnCreate func(obj *security_policy_gloo_solo_io_v2.CORSPolicy) error + OnUpdate func(old, new *security_policy_gloo_solo_io_v2.CORSPolicy) error + OnDelete func(obj *security_policy_gloo_solo_io_v2.CORSPolicy) error + OnGeneric func(obj *security_policy_gloo_solo_io_v2.CORSPolicy) error +} + +func (f *CORSPolicyEventHandlerFuncs) CreateCORSPolicy(obj *security_policy_gloo_solo_io_v2.CORSPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *CORSPolicyEventHandlerFuncs) DeleteCORSPolicy(obj *security_policy_gloo_solo_io_v2.CORSPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *CORSPolicyEventHandlerFuncs) UpdateCORSPolicy(objOld, objNew *security_policy_gloo_solo_io_v2.CORSPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *CORSPolicyEventHandlerFuncs) GenericCORSPolicy(obj *security_policy_gloo_solo_io_v2.CORSPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type CORSPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h CORSPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type cORSPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewCORSPolicyEventWatcher(name string, mgr manager.Manager) CORSPolicyEventWatcher { + return &cORSPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &security_policy_gloo_solo_io_v2.CORSPolicy{}), + } +} + +func (c *cORSPolicyEventWatcher) AddEventHandler(ctx context.Context, h CORSPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericCORSPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericCORSPolicyHandler implements a generic events.EventHandler +type genericCORSPolicyHandler struct { + handler CORSPolicyEventHandler +} + +func (h genericCORSPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.CORSPolicy) + if !ok { + return errors.Errorf("internal error: CORSPolicy handler received event for %T", object) + } + return h.handler.CreateCORSPolicy(obj) +} + +func (h genericCORSPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.CORSPolicy) + if !ok { + return errors.Errorf("internal error: CORSPolicy handler received event for %T", object) + } + return h.handler.DeleteCORSPolicy(obj) +} + +func (h genericCORSPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*security_policy_gloo_solo_io_v2.CORSPolicy) + if !ok { + return errors.Errorf("internal error: CORSPolicy handler received event for %T", old) + } + objNew, ok := new.(*security_policy_gloo_solo_io_v2.CORSPolicy) + if !ok { + return errors.Errorf("internal error: CORSPolicy handler received event for %T", new) + } + return h.handler.UpdateCORSPolicy(objOld, objNew) +} + +func (h genericCORSPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.CORSPolicy) + if !ok { + return errors.Errorf("internal error: CORSPolicy handler received event for %T", object) + } + return h.handler.GenericCORSPolicy(obj) +} + +// Handle events for the CSRFPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type CSRFPolicyEventHandler interface { + CreateCSRFPolicy(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) error + UpdateCSRFPolicy(old, new *security_policy_gloo_solo_io_v2.CSRFPolicy) error + DeleteCSRFPolicy(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) error + GenericCSRFPolicy(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) error +} + +type CSRFPolicyEventHandlerFuncs struct { + OnCreate func(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) error + OnUpdate func(old, new *security_policy_gloo_solo_io_v2.CSRFPolicy) error + OnDelete func(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) error + OnGeneric func(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) error +} + +func (f *CSRFPolicyEventHandlerFuncs) CreateCSRFPolicy(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *CSRFPolicyEventHandlerFuncs) DeleteCSRFPolicy(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *CSRFPolicyEventHandlerFuncs) UpdateCSRFPolicy(objOld, objNew *security_policy_gloo_solo_io_v2.CSRFPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *CSRFPolicyEventHandlerFuncs) GenericCSRFPolicy(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type CSRFPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h CSRFPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type cSRFPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewCSRFPolicyEventWatcher(name string, mgr manager.Manager) CSRFPolicyEventWatcher { + return &cSRFPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &security_policy_gloo_solo_io_v2.CSRFPolicy{}), + } +} + +func (c *cSRFPolicyEventWatcher) AddEventHandler(ctx context.Context, h CSRFPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericCSRFPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericCSRFPolicyHandler implements a generic events.EventHandler +type genericCSRFPolicyHandler struct { + handler CSRFPolicyEventHandler +} + +func (h genericCSRFPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.CSRFPolicy) + if !ok { + return errors.Errorf("internal error: CSRFPolicy handler received event for %T", object) + } + return h.handler.CreateCSRFPolicy(obj) +} + +func (h genericCSRFPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.CSRFPolicy) + if !ok { + return errors.Errorf("internal error: CSRFPolicy handler received event for %T", object) + } + return h.handler.DeleteCSRFPolicy(obj) +} + +func (h genericCSRFPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*security_policy_gloo_solo_io_v2.CSRFPolicy) + if !ok { + return errors.Errorf("internal error: CSRFPolicy handler received event for %T", old) + } + objNew, ok := new.(*security_policy_gloo_solo_io_v2.CSRFPolicy) + if !ok { + return errors.Errorf("internal error: CSRFPolicy handler received event for %T", new) + } + return h.handler.UpdateCSRFPolicy(objOld, objNew) +} + +func (h genericCSRFPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.CSRFPolicy) + if !ok { + return errors.Errorf("internal error: CSRFPolicy handler received event for %T", object) + } + return h.handler.GenericCSRFPolicy(obj) +} + +// Handle events for the ExtAuthPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type ExtAuthPolicyEventHandler interface { + CreateExtAuthPolicy(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error + UpdateExtAuthPolicy(old, new *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error + DeleteExtAuthPolicy(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error + GenericExtAuthPolicy(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error +} + +type ExtAuthPolicyEventHandlerFuncs struct { + OnCreate func(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error + OnUpdate func(old, new *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error + OnDelete func(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error + OnGeneric func(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error +} + +func (f *ExtAuthPolicyEventHandlerFuncs) CreateExtAuthPolicy(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ExtAuthPolicyEventHandlerFuncs) DeleteExtAuthPolicy(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ExtAuthPolicyEventHandlerFuncs) UpdateExtAuthPolicy(objOld, objNew *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ExtAuthPolicyEventHandlerFuncs) GenericExtAuthPolicy(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ExtAuthPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h ExtAuthPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type extAuthPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewExtAuthPolicyEventWatcher(name string, mgr manager.Manager) ExtAuthPolicyEventWatcher { + return &extAuthPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &security_policy_gloo_solo_io_v2.ExtAuthPolicy{}), + } +} + +func (c *extAuthPolicyEventWatcher) AddEventHandler(ctx context.Context, h ExtAuthPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericExtAuthPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericExtAuthPolicyHandler implements a generic events.EventHandler +type genericExtAuthPolicyHandler struct { + handler ExtAuthPolicyEventHandler +} + +func (h genericExtAuthPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) + if !ok { + return errors.Errorf("internal error: ExtAuthPolicy handler received event for %T", object) + } + return h.handler.CreateExtAuthPolicy(obj) +} + +func (h genericExtAuthPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) + if !ok { + return errors.Errorf("internal error: ExtAuthPolicy handler received event for %T", object) + } + return h.handler.DeleteExtAuthPolicy(obj) +} + +func (h genericExtAuthPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) + if !ok { + return errors.Errorf("internal error: ExtAuthPolicy handler received event for %T", old) + } + objNew, ok := new.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) + if !ok { + return errors.Errorf("internal error: ExtAuthPolicy handler received event for %T", new) + } + return h.handler.UpdateExtAuthPolicy(objOld, objNew) +} + +func (h genericExtAuthPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) + if !ok { + return errors.Errorf("internal error: ExtAuthPolicy handler received event for %T", object) + } + return h.handler.GenericExtAuthPolicy(obj) +} + +// Handle events for the WAFPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type WAFPolicyEventHandler interface { + CreateWAFPolicy(obj *security_policy_gloo_solo_io_v2.WAFPolicy) error + UpdateWAFPolicy(old, new *security_policy_gloo_solo_io_v2.WAFPolicy) error + DeleteWAFPolicy(obj *security_policy_gloo_solo_io_v2.WAFPolicy) error + GenericWAFPolicy(obj *security_policy_gloo_solo_io_v2.WAFPolicy) error +} + +type WAFPolicyEventHandlerFuncs struct { + OnCreate func(obj *security_policy_gloo_solo_io_v2.WAFPolicy) error + OnUpdate func(old, new *security_policy_gloo_solo_io_v2.WAFPolicy) error + OnDelete func(obj *security_policy_gloo_solo_io_v2.WAFPolicy) error + OnGeneric func(obj *security_policy_gloo_solo_io_v2.WAFPolicy) error +} + +func (f *WAFPolicyEventHandlerFuncs) CreateWAFPolicy(obj *security_policy_gloo_solo_io_v2.WAFPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *WAFPolicyEventHandlerFuncs) DeleteWAFPolicy(obj *security_policy_gloo_solo_io_v2.WAFPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *WAFPolicyEventHandlerFuncs) UpdateWAFPolicy(objOld, objNew *security_policy_gloo_solo_io_v2.WAFPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *WAFPolicyEventHandlerFuncs) GenericWAFPolicy(obj *security_policy_gloo_solo_io_v2.WAFPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type WAFPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h WAFPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type wAFPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewWAFPolicyEventWatcher(name string, mgr manager.Manager) WAFPolicyEventWatcher { + return &wAFPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &security_policy_gloo_solo_io_v2.WAFPolicy{}), + } +} + +func (c *wAFPolicyEventWatcher) AddEventHandler(ctx context.Context, h WAFPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericWAFPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericWAFPolicyHandler implements a generic events.EventHandler +type genericWAFPolicyHandler struct { + handler WAFPolicyEventHandler +} + +func (h genericWAFPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.WAFPolicy) + if !ok { + return errors.Errorf("internal error: WAFPolicy handler received event for %T", object) + } + return h.handler.CreateWAFPolicy(obj) +} + +func (h genericWAFPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.WAFPolicy) + if !ok { + return errors.Errorf("internal error: WAFPolicy handler received event for %T", object) + } + return h.handler.DeleteWAFPolicy(obj) +} + +func (h genericWAFPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*security_policy_gloo_solo_io_v2.WAFPolicy) + if !ok { + return errors.Errorf("internal error: WAFPolicy handler received event for %T", old) + } + objNew, ok := new.(*security_policy_gloo_solo_io_v2.WAFPolicy) + if !ok { + return errors.Errorf("internal error: WAFPolicy handler received event for %T", new) + } + return h.handler.UpdateWAFPolicy(objOld, objNew) +} + +func (h genericWAFPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.WAFPolicy) + if !ok { + return errors.Errorf("internal error: WAFPolicy handler received event for %T", object) + } + return h.handler.GenericWAFPolicy(obj) +} + +// Handle events for the JWTPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type JWTPolicyEventHandler interface { + CreateJWTPolicy(obj *security_policy_gloo_solo_io_v2.JWTPolicy) error + UpdateJWTPolicy(old, new *security_policy_gloo_solo_io_v2.JWTPolicy) error + DeleteJWTPolicy(obj *security_policy_gloo_solo_io_v2.JWTPolicy) error + GenericJWTPolicy(obj *security_policy_gloo_solo_io_v2.JWTPolicy) error +} + +type JWTPolicyEventHandlerFuncs struct { + OnCreate func(obj *security_policy_gloo_solo_io_v2.JWTPolicy) error + OnUpdate func(old, new *security_policy_gloo_solo_io_v2.JWTPolicy) error + OnDelete func(obj *security_policy_gloo_solo_io_v2.JWTPolicy) error + OnGeneric func(obj *security_policy_gloo_solo_io_v2.JWTPolicy) error +} + +func (f *JWTPolicyEventHandlerFuncs) CreateJWTPolicy(obj *security_policy_gloo_solo_io_v2.JWTPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *JWTPolicyEventHandlerFuncs) DeleteJWTPolicy(obj *security_policy_gloo_solo_io_v2.JWTPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *JWTPolicyEventHandlerFuncs) UpdateJWTPolicy(objOld, objNew *security_policy_gloo_solo_io_v2.JWTPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *JWTPolicyEventHandlerFuncs) GenericJWTPolicy(obj *security_policy_gloo_solo_io_v2.JWTPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type JWTPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h JWTPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type jWTPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewJWTPolicyEventWatcher(name string, mgr manager.Manager) JWTPolicyEventWatcher { + return &jWTPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &security_policy_gloo_solo_io_v2.JWTPolicy{}), + } +} + +func (c *jWTPolicyEventWatcher) AddEventHandler(ctx context.Context, h JWTPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericJWTPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericJWTPolicyHandler implements a generic events.EventHandler +type genericJWTPolicyHandler struct { + handler JWTPolicyEventHandler +} + +func (h genericJWTPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.JWTPolicy) + if !ok { + return errors.Errorf("internal error: JWTPolicy handler received event for %T", object) + } + return h.handler.CreateJWTPolicy(obj) +} + +func (h genericJWTPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.JWTPolicy) + if !ok { + return errors.Errorf("internal error: JWTPolicy handler received event for %T", object) + } + return h.handler.DeleteJWTPolicy(obj) +} + +func (h genericJWTPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*security_policy_gloo_solo_io_v2.JWTPolicy) + if !ok { + return errors.Errorf("internal error: JWTPolicy handler received event for %T", old) + } + objNew, ok := new.(*security_policy_gloo_solo_io_v2.JWTPolicy) + if !ok { + return errors.Errorf("internal error: JWTPolicy handler received event for %T", new) + } + return h.handler.UpdateJWTPolicy(objOld, objNew) +} + +func (h genericJWTPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.JWTPolicy) + if !ok { + return errors.Errorf("internal error: JWTPolicy handler received event for %T", object) + } + return h.handler.GenericJWTPolicy(obj) +} + +// Handle events for the ClientTLSPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type ClientTLSPolicyEventHandler interface { + CreateClientTLSPolicy(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error + UpdateClientTLSPolicy(old, new *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error + DeleteClientTLSPolicy(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error + GenericClientTLSPolicy(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error +} + +type ClientTLSPolicyEventHandlerFuncs struct { + OnCreate func(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error + OnUpdate func(old, new *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error + OnDelete func(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error + OnGeneric func(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error +} + +func (f *ClientTLSPolicyEventHandlerFuncs) CreateClientTLSPolicy(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ClientTLSPolicyEventHandlerFuncs) DeleteClientTLSPolicy(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ClientTLSPolicyEventHandlerFuncs) UpdateClientTLSPolicy(objOld, objNew *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ClientTLSPolicyEventHandlerFuncs) GenericClientTLSPolicy(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ClientTLSPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h ClientTLSPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type clientTLSPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewClientTLSPolicyEventWatcher(name string, mgr manager.Manager) ClientTLSPolicyEventWatcher { + return &clientTLSPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &security_policy_gloo_solo_io_v2.ClientTLSPolicy{}), + } +} + +func (c *clientTLSPolicyEventWatcher) AddEventHandler(ctx context.Context, h ClientTLSPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericClientTLSPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericClientTLSPolicyHandler implements a generic events.EventHandler +type genericClientTLSPolicyHandler struct { + handler ClientTLSPolicyEventHandler +} + +func (h genericClientTLSPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) + if !ok { + return errors.Errorf("internal error: ClientTLSPolicy handler received event for %T", object) + } + return h.handler.CreateClientTLSPolicy(obj) +} + +func (h genericClientTLSPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) + if !ok { + return errors.Errorf("internal error: ClientTLSPolicy handler received event for %T", object) + } + return h.handler.DeleteClientTLSPolicy(obj) +} + +func (h genericClientTLSPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) + if !ok { + return errors.Errorf("internal error: ClientTLSPolicy handler received event for %T", old) + } + objNew, ok := new.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) + if !ok { + return errors.Errorf("internal error: ClientTLSPolicy handler received event for %T", new) + } + return h.handler.UpdateClientTLSPolicy(objOld, objNew) +} + +func (h genericClientTLSPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) + if !ok { + return errors.Errorf("internal error: ClientTLSPolicy handler received event for %T", object) + } + return h.handler.GenericClientTLSPolicy(obj) +} + +// Handle events for the GraphQLAllowedQueryPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type GraphQLAllowedQueryPolicyEventHandler interface { + CreateGraphQLAllowedQueryPolicy(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error + UpdateGraphQLAllowedQueryPolicy(old, new *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error + DeleteGraphQLAllowedQueryPolicy(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error + GenericGraphQLAllowedQueryPolicy(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error +} + +type GraphQLAllowedQueryPolicyEventHandlerFuncs struct { + OnCreate func(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error + OnUpdate func(old, new *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error + OnDelete func(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error + OnGeneric func(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error +} + +func (f *GraphQLAllowedQueryPolicyEventHandlerFuncs) CreateGraphQLAllowedQueryPolicy(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *GraphQLAllowedQueryPolicyEventHandlerFuncs) DeleteGraphQLAllowedQueryPolicy(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *GraphQLAllowedQueryPolicyEventHandlerFuncs) UpdateGraphQLAllowedQueryPolicy(objOld, objNew *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *GraphQLAllowedQueryPolicyEventHandlerFuncs) GenericGraphQLAllowedQueryPolicy(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type GraphQLAllowedQueryPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h GraphQLAllowedQueryPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type graphQLAllowedQueryPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewGraphQLAllowedQueryPolicyEventWatcher(name string, mgr manager.Manager) GraphQLAllowedQueryPolicyEventWatcher { + return &graphQLAllowedQueryPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy{}), + } +} + +func (c *graphQLAllowedQueryPolicyEventWatcher) AddEventHandler(ctx context.Context, h GraphQLAllowedQueryPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericGraphQLAllowedQueryPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericGraphQLAllowedQueryPolicyHandler implements a generic events.EventHandler +type genericGraphQLAllowedQueryPolicyHandler struct { + handler GraphQLAllowedQueryPolicyEventHandler +} + +func (h genericGraphQLAllowedQueryPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) + if !ok { + return errors.Errorf("internal error: GraphQLAllowedQueryPolicy handler received event for %T", object) + } + return h.handler.CreateGraphQLAllowedQueryPolicy(obj) +} + +func (h genericGraphQLAllowedQueryPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) + if !ok { + return errors.Errorf("internal error: GraphQLAllowedQueryPolicy handler received event for %T", object) + } + return h.handler.DeleteGraphQLAllowedQueryPolicy(obj) +} + +func (h genericGraphQLAllowedQueryPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) + if !ok { + return errors.Errorf("internal error: GraphQLAllowedQueryPolicy handler received event for %T", old) + } + objNew, ok := new.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) + if !ok { + return errors.Errorf("internal error: GraphQLAllowedQueryPolicy handler received event for %T", new) + } + return h.handler.UpdateGraphQLAllowedQueryPolicy(objOld, objNew) +} + +func (h genericGraphQLAllowedQueryPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) + if !ok { + return errors.Errorf("internal error: GraphQLAllowedQueryPolicy handler received event for %T", object) + } + return h.handler.GenericGraphQLAllowedQueryPolicy(obj) +} + +// Handle events for the DLPPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type DLPPolicyEventHandler interface { + CreateDLPPolicy(obj *security_policy_gloo_solo_io_v2.DLPPolicy) error + UpdateDLPPolicy(old, new *security_policy_gloo_solo_io_v2.DLPPolicy) error + DeleteDLPPolicy(obj *security_policy_gloo_solo_io_v2.DLPPolicy) error + GenericDLPPolicy(obj *security_policy_gloo_solo_io_v2.DLPPolicy) error +} + +type DLPPolicyEventHandlerFuncs struct { + OnCreate func(obj *security_policy_gloo_solo_io_v2.DLPPolicy) error + OnUpdate func(old, new *security_policy_gloo_solo_io_v2.DLPPolicy) error + OnDelete func(obj *security_policy_gloo_solo_io_v2.DLPPolicy) error + OnGeneric func(obj *security_policy_gloo_solo_io_v2.DLPPolicy) error +} + +func (f *DLPPolicyEventHandlerFuncs) CreateDLPPolicy(obj *security_policy_gloo_solo_io_v2.DLPPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *DLPPolicyEventHandlerFuncs) DeleteDLPPolicy(obj *security_policy_gloo_solo_io_v2.DLPPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *DLPPolicyEventHandlerFuncs) UpdateDLPPolicy(objOld, objNew *security_policy_gloo_solo_io_v2.DLPPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *DLPPolicyEventHandlerFuncs) GenericDLPPolicy(obj *security_policy_gloo_solo_io_v2.DLPPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type DLPPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h DLPPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type dLPPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewDLPPolicyEventWatcher(name string, mgr manager.Manager) DLPPolicyEventWatcher { + return &dLPPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &security_policy_gloo_solo_io_v2.DLPPolicy{}), + } +} + +func (c *dLPPolicyEventWatcher) AddEventHandler(ctx context.Context, h DLPPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericDLPPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericDLPPolicyHandler implements a generic events.EventHandler +type genericDLPPolicyHandler struct { + handler DLPPolicyEventHandler +} + +func (h genericDLPPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.DLPPolicy) + if !ok { + return errors.Errorf("internal error: DLPPolicy handler received event for %T", object) + } + return h.handler.CreateDLPPolicy(obj) +} + +func (h genericDLPPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.DLPPolicy) + if !ok { + return errors.Errorf("internal error: DLPPolicy handler received event for %T", object) + } + return h.handler.DeleteDLPPolicy(obj) +} + +func (h genericDLPPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*security_policy_gloo_solo_io_v2.DLPPolicy) + if !ok { + return errors.Errorf("internal error: DLPPolicy handler received event for %T", old) + } + objNew, ok := new.(*security_policy_gloo_solo_io_v2.DLPPolicy) + if !ok { + return errors.Errorf("internal error: DLPPolicy handler received event for %T", new) + } + return h.handler.UpdateDLPPolicy(objOld, objNew) +} + +func (h genericDLPPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.DLPPolicy) + if !ok { + return errors.Errorf("internal error: DLPPolicy handler received event for %T", object) + } + return h.handler.GenericDLPPolicy(obj) +} diff --git a/client-go/security.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go b/client-go/security.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go new file mode 100644 index 000000000..2a2104d9d --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go @@ -0,0 +1,1105 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2/controller" +) + +// MockAccessPolicyEventHandler is a mock of AccessPolicyEventHandler interface. +type MockAccessPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockAccessPolicyEventHandlerMockRecorder +} + +// MockAccessPolicyEventHandlerMockRecorder is the mock recorder for MockAccessPolicyEventHandler. +type MockAccessPolicyEventHandlerMockRecorder struct { + mock *MockAccessPolicyEventHandler +} + +// NewMockAccessPolicyEventHandler creates a new mock instance. +func NewMockAccessPolicyEventHandler(ctrl *gomock.Controller) *MockAccessPolicyEventHandler { + mock := &MockAccessPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockAccessPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessPolicyEventHandler) EXPECT() *MockAccessPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateAccessPolicy mocks base method. +func (m *MockAccessPolicyEventHandler) CreateAccessPolicy(obj *v2.AccessPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateAccessPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateAccessPolicy indicates an expected call of CreateAccessPolicy. +func (mr *MockAccessPolicyEventHandlerMockRecorder) CreateAccessPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccessPolicy", reflect.TypeOf((*MockAccessPolicyEventHandler)(nil).CreateAccessPolicy), obj) +} + +// DeleteAccessPolicy mocks base method. +func (m *MockAccessPolicyEventHandler) DeleteAccessPolicy(obj *v2.AccessPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteAccessPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAccessPolicy indicates an expected call of DeleteAccessPolicy. +func (mr *MockAccessPolicyEventHandlerMockRecorder) DeleteAccessPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccessPolicy", reflect.TypeOf((*MockAccessPolicyEventHandler)(nil).DeleteAccessPolicy), obj) +} + +// GenericAccessPolicy mocks base method. +func (m *MockAccessPolicyEventHandler) GenericAccessPolicy(obj *v2.AccessPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericAccessPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericAccessPolicy indicates an expected call of GenericAccessPolicy. +func (mr *MockAccessPolicyEventHandlerMockRecorder) GenericAccessPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericAccessPolicy", reflect.TypeOf((*MockAccessPolicyEventHandler)(nil).GenericAccessPolicy), obj) +} + +// UpdateAccessPolicy mocks base method. +func (m *MockAccessPolicyEventHandler) UpdateAccessPolicy(old, new *v2.AccessPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateAccessPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateAccessPolicy indicates an expected call of UpdateAccessPolicy. +func (mr *MockAccessPolicyEventHandlerMockRecorder) UpdateAccessPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccessPolicy", reflect.TypeOf((*MockAccessPolicyEventHandler)(nil).UpdateAccessPolicy), old, new) +} + +// MockAccessPolicyEventWatcher is a mock of AccessPolicyEventWatcher interface. +type MockAccessPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockAccessPolicyEventWatcherMockRecorder +} + +// MockAccessPolicyEventWatcherMockRecorder is the mock recorder for MockAccessPolicyEventWatcher. +type MockAccessPolicyEventWatcherMockRecorder struct { + mock *MockAccessPolicyEventWatcher +} + +// NewMockAccessPolicyEventWatcher creates a new mock instance. +func NewMockAccessPolicyEventWatcher(ctrl *gomock.Controller) *MockAccessPolicyEventWatcher { + mock := &MockAccessPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockAccessPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessPolicyEventWatcher) EXPECT() *MockAccessPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockAccessPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.AccessPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockAccessPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockAccessPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockCORSPolicyEventHandler is a mock of CORSPolicyEventHandler interface. +type MockCORSPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockCORSPolicyEventHandlerMockRecorder +} + +// MockCORSPolicyEventHandlerMockRecorder is the mock recorder for MockCORSPolicyEventHandler. +type MockCORSPolicyEventHandlerMockRecorder struct { + mock *MockCORSPolicyEventHandler +} + +// NewMockCORSPolicyEventHandler creates a new mock instance. +func NewMockCORSPolicyEventHandler(ctrl *gomock.Controller) *MockCORSPolicyEventHandler { + mock := &MockCORSPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockCORSPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCORSPolicyEventHandler) EXPECT() *MockCORSPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateCORSPolicy mocks base method. +func (m *MockCORSPolicyEventHandler) CreateCORSPolicy(obj *v2.CORSPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateCORSPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCORSPolicy indicates an expected call of CreateCORSPolicy. +func (mr *MockCORSPolicyEventHandlerMockRecorder) CreateCORSPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCORSPolicy", reflect.TypeOf((*MockCORSPolicyEventHandler)(nil).CreateCORSPolicy), obj) +} + +// DeleteCORSPolicy mocks base method. +func (m *MockCORSPolicyEventHandler) DeleteCORSPolicy(obj *v2.CORSPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteCORSPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCORSPolicy indicates an expected call of DeleteCORSPolicy. +func (mr *MockCORSPolicyEventHandlerMockRecorder) DeleteCORSPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCORSPolicy", reflect.TypeOf((*MockCORSPolicyEventHandler)(nil).DeleteCORSPolicy), obj) +} + +// GenericCORSPolicy mocks base method. +func (m *MockCORSPolicyEventHandler) GenericCORSPolicy(obj *v2.CORSPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericCORSPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericCORSPolicy indicates an expected call of GenericCORSPolicy. +func (mr *MockCORSPolicyEventHandlerMockRecorder) GenericCORSPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericCORSPolicy", reflect.TypeOf((*MockCORSPolicyEventHandler)(nil).GenericCORSPolicy), obj) +} + +// UpdateCORSPolicy mocks base method. +func (m *MockCORSPolicyEventHandler) UpdateCORSPolicy(old, new *v2.CORSPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateCORSPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCORSPolicy indicates an expected call of UpdateCORSPolicy. +func (mr *MockCORSPolicyEventHandlerMockRecorder) UpdateCORSPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCORSPolicy", reflect.TypeOf((*MockCORSPolicyEventHandler)(nil).UpdateCORSPolicy), old, new) +} + +// MockCORSPolicyEventWatcher is a mock of CORSPolicyEventWatcher interface. +type MockCORSPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockCORSPolicyEventWatcherMockRecorder +} + +// MockCORSPolicyEventWatcherMockRecorder is the mock recorder for MockCORSPolicyEventWatcher. +type MockCORSPolicyEventWatcherMockRecorder struct { + mock *MockCORSPolicyEventWatcher +} + +// NewMockCORSPolicyEventWatcher creates a new mock instance. +func NewMockCORSPolicyEventWatcher(ctrl *gomock.Controller) *MockCORSPolicyEventWatcher { + mock := &MockCORSPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockCORSPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCORSPolicyEventWatcher) EXPECT() *MockCORSPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockCORSPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.CORSPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockCORSPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockCORSPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockCSRFPolicyEventHandler is a mock of CSRFPolicyEventHandler interface. +type MockCSRFPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockCSRFPolicyEventHandlerMockRecorder +} + +// MockCSRFPolicyEventHandlerMockRecorder is the mock recorder for MockCSRFPolicyEventHandler. +type MockCSRFPolicyEventHandlerMockRecorder struct { + mock *MockCSRFPolicyEventHandler +} + +// NewMockCSRFPolicyEventHandler creates a new mock instance. +func NewMockCSRFPolicyEventHandler(ctrl *gomock.Controller) *MockCSRFPolicyEventHandler { + mock := &MockCSRFPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockCSRFPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCSRFPolicyEventHandler) EXPECT() *MockCSRFPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateCSRFPolicy mocks base method. +func (m *MockCSRFPolicyEventHandler) CreateCSRFPolicy(obj *v2.CSRFPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateCSRFPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCSRFPolicy indicates an expected call of CreateCSRFPolicy. +func (mr *MockCSRFPolicyEventHandlerMockRecorder) CreateCSRFPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyEventHandler)(nil).CreateCSRFPolicy), obj) +} + +// DeleteCSRFPolicy mocks base method. +func (m *MockCSRFPolicyEventHandler) DeleteCSRFPolicy(obj *v2.CSRFPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteCSRFPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCSRFPolicy indicates an expected call of DeleteCSRFPolicy. +func (mr *MockCSRFPolicyEventHandlerMockRecorder) DeleteCSRFPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyEventHandler)(nil).DeleteCSRFPolicy), obj) +} + +// GenericCSRFPolicy mocks base method. +func (m *MockCSRFPolicyEventHandler) GenericCSRFPolicy(obj *v2.CSRFPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericCSRFPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericCSRFPolicy indicates an expected call of GenericCSRFPolicy. +func (mr *MockCSRFPolicyEventHandlerMockRecorder) GenericCSRFPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyEventHandler)(nil).GenericCSRFPolicy), obj) +} + +// UpdateCSRFPolicy mocks base method. +func (m *MockCSRFPolicyEventHandler) UpdateCSRFPolicy(old, new *v2.CSRFPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateCSRFPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCSRFPolicy indicates an expected call of UpdateCSRFPolicy. +func (mr *MockCSRFPolicyEventHandlerMockRecorder) UpdateCSRFPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyEventHandler)(nil).UpdateCSRFPolicy), old, new) +} + +// MockCSRFPolicyEventWatcher is a mock of CSRFPolicyEventWatcher interface. +type MockCSRFPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockCSRFPolicyEventWatcherMockRecorder +} + +// MockCSRFPolicyEventWatcherMockRecorder is the mock recorder for MockCSRFPolicyEventWatcher. +type MockCSRFPolicyEventWatcherMockRecorder struct { + mock *MockCSRFPolicyEventWatcher +} + +// NewMockCSRFPolicyEventWatcher creates a new mock instance. +func NewMockCSRFPolicyEventWatcher(ctrl *gomock.Controller) *MockCSRFPolicyEventWatcher { + mock := &MockCSRFPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockCSRFPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCSRFPolicyEventWatcher) EXPECT() *MockCSRFPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockCSRFPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.CSRFPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockCSRFPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockCSRFPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockExtAuthPolicyEventHandler is a mock of ExtAuthPolicyEventHandler interface. +type MockExtAuthPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockExtAuthPolicyEventHandlerMockRecorder +} + +// MockExtAuthPolicyEventHandlerMockRecorder is the mock recorder for MockExtAuthPolicyEventHandler. +type MockExtAuthPolicyEventHandlerMockRecorder struct { + mock *MockExtAuthPolicyEventHandler +} + +// NewMockExtAuthPolicyEventHandler creates a new mock instance. +func NewMockExtAuthPolicyEventHandler(ctrl *gomock.Controller) *MockExtAuthPolicyEventHandler { + mock := &MockExtAuthPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockExtAuthPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthPolicyEventHandler) EXPECT() *MockExtAuthPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyEventHandler) CreateExtAuthPolicy(obj *v2.ExtAuthPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateExtAuthPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExtAuthPolicy indicates an expected call of CreateExtAuthPolicy. +func (mr *MockExtAuthPolicyEventHandlerMockRecorder) CreateExtAuthPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyEventHandler)(nil).CreateExtAuthPolicy), obj) +} + +// DeleteExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyEventHandler) DeleteExtAuthPolicy(obj *v2.ExtAuthPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteExtAuthPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExtAuthPolicy indicates an expected call of DeleteExtAuthPolicy. +func (mr *MockExtAuthPolicyEventHandlerMockRecorder) DeleteExtAuthPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyEventHandler)(nil).DeleteExtAuthPolicy), obj) +} + +// GenericExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyEventHandler) GenericExtAuthPolicy(obj *v2.ExtAuthPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericExtAuthPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericExtAuthPolicy indicates an expected call of GenericExtAuthPolicy. +func (mr *MockExtAuthPolicyEventHandlerMockRecorder) GenericExtAuthPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyEventHandler)(nil).GenericExtAuthPolicy), obj) +} + +// UpdateExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyEventHandler) UpdateExtAuthPolicy(old, new *v2.ExtAuthPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateExtAuthPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExtAuthPolicy indicates an expected call of UpdateExtAuthPolicy. +func (mr *MockExtAuthPolicyEventHandlerMockRecorder) UpdateExtAuthPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyEventHandler)(nil).UpdateExtAuthPolicy), old, new) +} + +// MockExtAuthPolicyEventWatcher is a mock of ExtAuthPolicyEventWatcher interface. +type MockExtAuthPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockExtAuthPolicyEventWatcherMockRecorder +} + +// MockExtAuthPolicyEventWatcherMockRecorder is the mock recorder for MockExtAuthPolicyEventWatcher. +type MockExtAuthPolicyEventWatcherMockRecorder struct { + mock *MockExtAuthPolicyEventWatcher +} + +// NewMockExtAuthPolicyEventWatcher creates a new mock instance. +func NewMockExtAuthPolicyEventWatcher(ctrl *gomock.Controller) *MockExtAuthPolicyEventWatcher { + mock := &MockExtAuthPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockExtAuthPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthPolicyEventWatcher) EXPECT() *MockExtAuthPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockExtAuthPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.ExtAuthPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockExtAuthPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockExtAuthPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockWAFPolicyEventHandler is a mock of WAFPolicyEventHandler interface. +type MockWAFPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockWAFPolicyEventHandlerMockRecorder +} + +// MockWAFPolicyEventHandlerMockRecorder is the mock recorder for MockWAFPolicyEventHandler. +type MockWAFPolicyEventHandlerMockRecorder struct { + mock *MockWAFPolicyEventHandler +} + +// NewMockWAFPolicyEventHandler creates a new mock instance. +func NewMockWAFPolicyEventHandler(ctrl *gomock.Controller) *MockWAFPolicyEventHandler { + mock := &MockWAFPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockWAFPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWAFPolicyEventHandler) EXPECT() *MockWAFPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateWAFPolicy mocks base method. +func (m *MockWAFPolicyEventHandler) CreateWAFPolicy(obj *v2.WAFPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateWAFPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWAFPolicy indicates an expected call of CreateWAFPolicy. +func (mr *MockWAFPolicyEventHandlerMockRecorder) CreateWAFPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWAFPolicy", reflect.TypeOf((*MockWAFPolicyEventHandler)(nil).CreateWAFPolicy), obj) +} + +// DeleteWAFPolicy mocks base method. +func (m *MockWAFPolicyEventHandler) DeleteWAFPolicy(obj *v2.WAFPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteWAFPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWAFPolicy indicates an expected call of DeleteWAFPolicy. +func (mr *MockWAFPolicyEventHandlerMockRecorder) DeleteWAFPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWAFPolicy", reflect.TypeOf((*MockWAFPolicyEventHandler)(nil).DeleteWAFPolicy), obj) +} + +// GenericWAFPolicy mocks base method. +func (m *MockWAFPolicyEventHandler) GenericWAFPolicy(obj *v2.WAFPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericWAFPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericWAFPolicy indicates an expected call of GenericWAFPolicy. +func (mr *MockWAFPolicyEventHandlerMockRecorder) GenericWAFPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericWAFPolicy", reflect.TypeOf((*MockWAFPolicyEventHandler)(nil).GenericWAFPolicy), obj) +} + +// UpdateWAFPolicy mocks base method. +func (m *MockWAFPolicyEventHandler) UpdateWAFPolicy(old, new *v2.WAFPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateWAFPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWAFPolicy indicates an expected call of UpdateWAFPolicy. +func (mr *MockWAFPolicyEventHandlerMockRecorder) UpdateWAFPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWAFPolicy", reflect.TypeOf((*MockWAFPolicyEventHandler)(nil).UpdateWAFPolicy), old, new) +} + +// MockWAFPolicyEventWatcher is a mock of WAFPolicyEventWatcher interface. +type MockWAFPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockWAFPolicyEventWatcherMockRecorder +} + +// MockWAFPolicyEventWatcherMockRecorder is the mock recorder for MockWAFPolicyEventWatcher. +type MockWAFPolicyEventWatcherMockRecorder struct { + mock *MockWAFPolicyEventWatcher +} + +// NewMockWAFPolicyEventWatcher creates a new mock instance. +func NewMockWAFPolicyEventWatcher(ctrl *gomock.Controller) *MockWAFPolicyEventWatcher { + mock := &MockWAFPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockWAFPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWAFPolicyEventWatcher) EXPECT() *MockWAFPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockWAFPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.WAFPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockWAFPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockWAFPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockJWTPolicyEventHandler is a mock of JWTPolicyEventHandler interface. +type MockJWTPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockJWTPolicyEventHandlerMockRecorder +} + +// MockJWTPolicyEventHandlerMockRecorder is the mock recorder for MockJWTPolicyEventHandler. +type MockJWTPolicyEventHandlerMockRecorder struct { + mock *MockJWTPolicyEventHandler +} + +// NewMockJWTPolicyEventHandler creates a new mock instance. +func NewMockJWTPolicyEventHandler(ctrl *gomock.Controller) *MockJWTPolicyEventHandler { + mock := &MockJWTPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockJWTPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockJWTPolicyEventHandler) EXPECT() *MockJWTPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateJWTPolicy mocks base method. +func (m *MockJWTPolicyEventHandler) CreateJWTPolicy(obj *v2.JWTPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateJWTPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateJWTPolicy indicates an expected call of CreateJWTPolicy. +func (mr *MockJWTPolicyEventHandlerMockRecorder) CreateJWTPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateJWTPolicy", reflect.TypeOf((*MockJWTPolicyEventHandler)(nil).CreateJWTPolicy), obj) +} + +// DeleteJWTPolicy mocks base method. +func (m *MockJWTPolicyEventHandler) DeleteJWTPolicy(obj *v2.JWTPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteJWTPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteJWTPolicy indicates an expected call of DeleteJWTPolicy. +func (mr *MockJWTPolicyEventHandlerMockRecorder) DeleteJWTPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteJWTPolicy", reflect.TypeOf((*MockJWTPolicyEventHandler)(nil).DeleteJWTPolicy), obj) +} + +// GenericJWTPolicy mocks base method. +func (m *MockJWTPolicyEventHandler) GenericJWTPolicy(obj *v2.JWTPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericJWTPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericJWTPolicy indicates an expected call of GenericJWTPolicy. +func (mr *MockJWTPolicyEventHandlerMockRecorder) GenericJWTPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericJWTPolicy", reflect.TypeOf((*MockJWTPolicyEventHandler)(nil).GenericJWTPolicy), obj) +} + +// UpdateJWTPolicy mocks base method. +func (m *MockJWTPolicyEventHandler) UpdateJWTPolicy(old, new *v2.JWTPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateJWTPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateJWTPolicy indicates an expected call of UpdateJWTPolicy. +func (mr *MockJWTPolicyEventHandlerMockRecorder) UpdateJWTPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateJWTPolicy", reflect.TypeOf((*MockJWTPolicyEventHandler)(nil).UpdateJWTPolicy), old, new) +} + +// MockJWTPolicyEventWatcher is a mock of JWTPolicyEventWatcher interface. +type MockJWTPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockJWTPolicyEventWatcherMockRecorder +} + +// MockJWTPolicyEventWatcherMockRecorder is the mock recorder for MockJWTPolicyEventWatcher. +type MockJWTPolicyEventWatcherMockRecorder struct { + mock *MockJWTPolicyEventWatcher +} + +// NewMockJWTPolicyEventWatcher creates a new mock instance. +func NewMockJWTPolicyEventWatcher(ctrl *gomock.Controller) *MockJWTPolicyEventWatcher { + mock := &MockJWTPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockJWTPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockJWTPolicyEventWatcher) EXPECT() *MockJWTPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockJWTPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.JWTPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockJWTPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockJWTPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockClientTLSPolicyEventHandler is a mock of ClientTLSPolicyEventHandler interface. +type MockClientTLSPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockClientTLSPolicyEventHandlerMockRecorder +} + +// MockClientTLSPolicyEventHandlerMockRecorder is the mock recorder for MockClientTLSPolicyEventHandler. +type MockClientTLSPolicyEventHandlerMockRecorder struct { + mock *MockClientTLSPolicyEventHandler +} + +// NewMockClientTLSPolicyEventHandler creates a new mock instance. +func NewMockClientTLSPolicyEventHandler(ctrl *gomock.Controller) *MockClientTLSPolicyEventHandler { + mock := &MockClientTLSPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockClientTLSPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientTLSPolicyEventHandler) EXPECT() *MockClientTLSPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyEventHandler) CreateClientTLSPolicy(obj *v2.ClientTLSPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateClientTLSPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateClientTLSPolicy indicates an expected call of CreateClientTLSPolicy. +func (mr *MockClientTLSPolicyEventHandlerMockRecorder) CreateClientTLSPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyEventHandler)(nil).CreateClientTLSPolicy), obj) +} + +// DeleteClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyEventHandler) DeleteClientTLSPolicy(obj *v2.ClientTLSPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteClientTLSPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteClientTLSPolicy indicates an expected call of DeleteClientTLSPolicy. +func (mr *MockClientTLSPolicyEventHandlerMockRecorder) DeleteClientTLSPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyEventHandler)(nil).DeleteClientTLSPolicy), obj) +} + +// GenericClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyEventHandler) GenericClientTLSPolicy(obj *v2.ClientTLSPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericClientTLSPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericClientTLSPolicy indicates an expected call of GenericClientTLSPolicy. +func (mr *MockClientTLSPolicyEventHandlerMockRecorder) GenericClientTLSPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyEventHandler)(nil).GenericClientTLSPolicy), obj) +} + +// UpdateClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyEventHandler) UpdateClientTLSPolicy(old, new *v2.ClientTLSPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateClientTLSPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateClientTLSPolicy indicates an expected call of UpdateClientTLSPolicy. +func (mr *MockClientTLSPolicyEventHandlerMockRecorder) UpdateClientTLSPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyEventHandler)(nil).UpdateClientTLSPolicy), old, new) +} + +// MockClientTLSPolicyEventWatcher is a mock of ClientTLSPolicyEventWatcher interface. +type MockClientTLSPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockClientTLSPolicyEventWatcherMockRecorder +} + +// MockClientTLSPolicyEventWatcherMockRecorder is the mock recorder for MockClientTLSPolicyEventWatcher. +type MockClientTLSPolicyEventWatcherMockRecorder struct { + mock *MockClientTLSPolicyEventWatcher +} + +// NewMockClientTLSPolicyEventWatcher creates a new mock instance. +func NewMockClientTLSPolicyEventWatcher(ctrl *gomock.Controller) *MockClientTLSPolicyEventWatcher { + mock := &MockClientTLSPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockClientTLSPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientTLSPolicyEventWatcher) EXPECT() *MockClientTLSPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockClientTLSPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.ClientTLSPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockClientTLSPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockClientTLSPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockGraphQLAllowedQueryPolicyEventHandler is a mock of GraphQLAllowedQueryPolicyEventHandler interface. +type MockGraphQLAllowedQueryPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockGraphQLAllowedQueryPolicyEventHandlerMockRecorder +} + +// MockGraphQLAllowedQueryPolicyEventHandlerMockRecorder is the mock recorder for MockGraphQLAllowedQueryPolicyEventHandler. +type MockGraphQLAllowedQueryPolicyEventHandlerMockRecorder struct { + mock *MockGraphQLAllowedQueryPolicyEventHandler +} + +// NewMockGraphQLAllowedQueryPolicyEventHandler creates a new mock instance. +func NewMockGraphQLAllowedQueryPolicyEventHandler(ctrl *gomock.Controller) *MockGraphQLAllowedQueryPolicyEventHandler { + mock := &MockGraphQLAllowedQueryPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockGraphQLAllowedQueryPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLAllowedQueryPolicyEventHandler) EXPECT() *MockGraphQLAllowedQueryPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyEventHandler) CreateGraphQLAllowedQueryPolicy(obj *v2.GraphQLAllowedQueryPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateGraphQLAllowedQueryPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLAllowedQueryPolicy indicates an expected call of CreateGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyEventHandlerMockRecorder) CreateGraphQLAllowedQueryPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyEventHandler)(nil).CreateGraphQLAllowedQueryPolicy), obj) +} + +// DeleteGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyEventHandler) DeleteGraphQLAllowedQueryPolicy(obj *v2.GraphQLAllowedQueryPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteGraphQLAllowedQueryPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLAllowedQueryPolicy indicates an expected call of DeleteGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyEventHandlerMockRecorder) DeleteGraphQLAllowedQueryPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyEventHandler)(nil).DeleteGraphQLAllowedQueryPolicy), obj) +} + +// GenericGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyEventHandler) GenericGraphQLAllowedQueryPolicy(obj *v2.GraphQLAllowedQueryPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericGraphQLAllowedQueryPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericGraphQLAllowedQueryPolicy indicates an expected call of GenericGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyEventHandlerMockRecorder) GenericGraphQLAllowedQueryPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyEventHandler)(nil).GenericGraphQLAllowedQueryPolicy), obj) +} + +// UpdateGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyEventHandler) UpdateGraphQLAllowedQueryPolicy(old, new *v2.GraphQLAllowedQueryPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateGraphQLAllowedQueryPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLAllowedQueryPolicy indicates an expected call of UpdateGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyEventHandlerMockRecorder) UpdateGraphQLAllowedQueryPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyEventHandler)(nil).UpdateGraphQLAllowedQueryPolicy), old, new) +} + +// MockGraphQLAllowedQueryPolicyEventWatcher is a mock of GraphQLAllowedQueryPolicyEventWatcher interface. +type MockGraphQLAllowedQueryPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockGraphQLAllowedQueryPolicyEventWatcherMockRecorder +} + +// MockGraphQLAllowedQueryPolicyEventWatcherMockRecorder is the mock recorder for MockGraphQLAllowedQueryPolicyEventWatcher. +type MockGraphQLAllowedQueryPolicyEventWatcherMockRecorder struct { + mock *MockGraphQLAllowedQueryPolicyEventWatcher +} + +// NewMockGraphQLAllowedQueryPolicyEventWatcher creates a new mock instance. +func NewMockGraphQLAllowedQueryPolicyEventWatcher(ctrl *gomock.Controller) *MockGraphQLAllowedQueryPolicyEventWatcher { + mock := &MockGraphQLAllowedQueryPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockGraphQLAllowedQueryPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLAllowedQueryPolicyEventWatcher) EXPECT() *MockGraphQLAllowedQueryPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockGraphQLAllowedQueryPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.GraphQLAllowedQueryPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockGraphQLAllowedQueryPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockDLPPolicyEventHandler is a mock of DLPPolicyEventHandler interface. +type MockDLPPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockDLPPolicyEventHandlerMockRecorder +} + +// MockDLPPolicyEventHandlerMockRecorder is the mock recorder for MockDLPPolicyEventHandler. +type MockDLPPolicyEventHandlerMockRecorder struct { + mock *MockDLPPolicyEventHandler +} + +// NewMockDLPPolicyEventHandler creates a new mock instance. +func NewMockDLPPolicyEventHandler(ctrl *gomock.Controller) *MockDLPPolicyEventHandler { + mock := &MockDLPPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockDLPPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDLPPolicyEventHandler) EXPECT() *MockDLPPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateDLPPolicy mocks base method. +func (m *MockDLPPolicyEventHandler) CreateDLPPolicy(obj *v2.DLPPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateDLPPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateDLPPolicy indicates an expected call of CreateDLPPolicy. +func (mr *MockDLPPolicyEventHandlerMockRecorder) CreateDLPPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDLPPolicy", reflect.TypeOf((*MockDLPPolicyEventHandler)(nil).CreateDLPPolicy), obj) +} + +// DeleteDLPPolicy mocks base method. +func (m *MockDLPPolicyEventHandler) DeleteDLPPolicy(obj *v2.DLPPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteDLPPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteDLPPolicy indicates an expected call of DeleteDLPPolicy. +func (mr *MockDLPPolicyEventHandlerMockRecorder) DeleteDLPPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteDLPPolicy", reflect.TypeOf((*MockDLPPolicyEventHandler)(nil).DeleteDLPPolicy), obj) +} + +// GenericDLPPolicy mocks base method. +func (m *MockDLPPolicyEventHandler) GenericDLPPolicy(obj *v2.DLPPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericDLPPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericDLPPolicy indicates an expected call of GenericDLPPolicy. +func (mr *MockDLPPolicyEventHandlerMockRecorder) GenericDLPPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericDLPPolicy", reflect.TypeOf((*MockDLPPolicyEventHandler)(nil).GenericDLPPolicy), obj) +} + +// UpdateDLPPolicy mocks base method. +func (m *MockDLPPolicyEventHandler) UpdateDLPPolicy(old, new *v2.DLPPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateDLPPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDLPPolicy indicates an expected call of UpdateDLPPolicy. +func (mr *MockDLPPolicyEventHandlerMockRecorder) UpdateDLPPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDLPPolicy", reflect.TypeOf((*MockDLPPolicyEventHandler)(nil).UpdateDLPPolicy), old, new) +} + +// MockDLPPolicyEventWatcher is a mock of DLPPolicyEventWatcher interface. +type MockDLPPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockDLPPolicyEventWatcherMockRecorder +} + +// MockDLPPolicyEventWatcherMockRecorder is the mock recorder for MockDLPPolicyEventWatcher. +type MockDLPPolicyEventWatcherMockRecorder struct { + mock *MockDLPPolicyEventWatcher +} + +// NewMockDLPPolicyEventWatcher creates a new mock instance. +func NewMockDLPPolicyEventWatcher(ctrl *gomock.Controller) *MockDLPPolicyEventWatcher { + mock := &MockDLPPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockDLPPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDLPPolicyEventWatcher) EXPECT() *MockDLPPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockDLPPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.DLPPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockDLPPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockDLPPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/security.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go b/client-go/security.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..5cb82a959 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,1052 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2/controller" +) + +// MockMulticlusterAccessPolicyReconciler is a mock of MulticlusterAccessPolicyReconciler interface. +type MockMulticlusterAccessPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterAccessPolicyReconcilerMockRecorder +} + +// MockMulticlusterAccessPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterAccessPolicyReconciler. +type MockMulticlusterAccessPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterAccessPolicyReconciler +} + +// NewMockMulticlusterAccessPolicyReconciler creates a new mock instance. +func NewMockMulticlusterAccessPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterAccessPolicyReconciler { + mock := &MockMulticlusterAccessPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterAccessPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterAccessPolicyReconciler) EXPECT() *MockMulticlusterAccessPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileAccessPolicy mocks base method. +func (m *MockMulticlusterAccessPolicyReconciler) ReconcileAccessPolicy(clusterName string, obj *v2.AccessPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileAccessPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileAccessPolicy indicates an expected call of ReconcileAccessPolicy. +func (mr *MockMulticlusterAccessPolicyReconcilerMockRecorder) ReconcileAccessPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileAccessPolicy", reflect.TypeOf((*MockMulticlusterAccessPolicyReconciler)(nil).ReconcileAccessPolicy), clusterName, obj) +} + +// MockMulticlusterAccessPolicyDeletionReconciler is a mock of MulticlusterAccessPolicyDeletionReconciler interface. +type MockMulticlusterAccessPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterAccessPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterAccessPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterAccessPolicyDeletionReconciler. +type MockMulticlusterAccessPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterAccessPolicyDeletionReconciler +} + +// NewMockMulticlusterAccessPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterAccessPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterAccessPolicyDeletionReconciler { + mock := &MockMulticlusterAccessPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterAccessPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterAccessPolicyDeletionReconciler) EXPECT() *MockMulticlusterAccessPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileAccessPolicyDeletion mocks base method. +func (m *MockMulticlusterAccessPolicyDeletionReconciler) ReconcileAccessPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileAccessPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileAccessPolicyDeletion indicates an expected call of ReconcileAccessPolicyDeletion. +func (mr *MockMulticlusterAccessPolicyDeletionReconcilerMockRecorder) ReconcileAccessPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileAccessPolicyDeletion", reflect.TypeOf((*MockMulticlusterAccessPolicyDeletionReconciler)(nil).ReconcileAccessPolicyDeletion), clusterName, req) +} + +// MockMulticlusterAccessPolicyReconcileLoop is a mock of MulticlusterAccessPolicyReconcileLoop interface. +type MockMulticlusterAccessPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterAccessPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterAccessPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterAccessPolicyReconcileLoop. +type MockMulticlusterAccessPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterAccessPolicyReconcileLoop +} + +// NewMockMulticlusterAccessPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterAccessPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterAccessPolicyReconcileLoop { + mock := &MockMulticlusterAccessPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterAccessPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterAccessPolicyReconcileLoop) EXPECT() *MockMulticlusterAccessPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterAccessPolicyReconciler mocks base method. +func (m *MockMulticlusterAccessPolicyReconcileLoop) AddMulticlusterAccessPolicyReconciler(ctx context.Context, rec controller.MulticlusterAccessPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterAccessPolicyReconciler", varargs...) +} + +// AddMulticlusterAccessPolicyReconciler indicates an expected call of AddMulticlusterAccessPolicyReconciler. +func (mr *MockMulticlusterAccessPolicyReconcileLoopMockRecorder) AddMulticlusterAccessPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterAccessPolicyReconciler", reflect.TypeOf((*MockMulticlusterAccessPolicyReconcileLoop)(nil).AddMulticlusterAccessPolicyReconciler), varargs...) +} + +// MockMulticlusterCORSPolicyReconciler is a mock of MulticlusterCORSPolicyReconciler interface. +type MockMulticlusterCORSPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCORSPolicyReconcilerMockRecorder +} + +// MockMulticlusterCORSPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterCORSPolicyReconciler. +type MockMulticlusterCORSPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterCORSPolicyReconciler +} + +// NewMockMulticlusterCORSPolicyReconciler creates a new mock instance. +func NewMockMulticlusterCORSPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterCORSPolicyReconciler { + mock := &MockMulticlusterCORSPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterCORSPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCORSPolicyReconciler) EXPECT() *MockMulticlusterCORSPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCORSPolicy mocks base method. +func (m *MockMulticlusterCORSPolicyReconciler) ReconcileCORSPolicy(clusterName string, obj *v2.CORSPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCORSPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCORSPolicy indicates an expected call of ReconcileCORSPolicy. +func (mr *MockMulticlusterCORSPolicyReconcilerMockRecorder) ReconcileCORSPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCORSPolicy", reflect.TypeOf((*MockMulticlusterCORSPolicyReconciler)(nil).ReconcileCORSPolicy), clusterName, obj) +} + +// MockMulticlusterCORSPolicyDeletionReconciler is a mock of MulticlusterCORSPolicyDeletionReconciler interface. +type MockMulticlusterCORSPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCORSPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterCORSPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterCORSPolicyDeletionReconciler. +type MockMulticlusterCORSPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterCORSPolicyDeletionReconciler +} + +// NewMockMulticlusterCORSPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterCORSPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterCORSPolicyDeletionReconciler { + mock := &MockMulticlusterCORSPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterCORSPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCORSPolicyDeletionReconciler) EXPECT() *MockMulticlusterCORSPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCORSPolicyDeletion mocks base method. +func (m *MockMulticlusterCORSPolicyDeletionReconciler) ReconcileCORSPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCORSPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileCORSPolicyDeletion indicates an expected call of ReconcileCORSPolicyDeletion. +func (mr *MockMulticlusterCORSPolicyDeletionReconcilerMockRecorder) ReconcileCORSPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCORSPolicyDeletion", reflect.TypeOf((*MockMulticlusterCORSPolicyDeletionReconciler)(nil).ReconcileCORSPolicyDeletion), clusterName, req) +} + +// MockMulticlusterCORSPolicyReconcileLoop is a mock of MulticlusterCORSPolicyReconcileLoop interface. +type MockMulticlusterCORSPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCORSPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterCORSPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterCORSPolicyReconcileLoop. +type MockMulticlusterCORSPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterCORSPolicyReconcileLoop +} + +// NewMockMulticlusterCORSPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterCORSPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterCORSPolicyReconcileLoop { + mock := &MockMulticlusterCORSPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterCORSPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCORSPolicyReconcileLoop) EXPECT() *MockMulticlusterCORSPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterCORSPolicyReconciler mocks base method. +func (m *MockMulticlusterCORSPolicyReconcileLoop) AddMulticlusterCORSPolicyReconciler(ctx context.Context, rec controller.MulticlusterCORSPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterCORSPolicyReconciler", varargs...) +} + +// AddMulticlusterCORSPolicyReconciler indicates an expected call of AddMulticlusterCORSPolicyReconciler. +func (mr *MockMulticlusterCORSPolicyReconcileLoopMockRecorder) AddMulticlusterCORSPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterCORSPolicyReconciler", reflect.TypeOf((*MockMulticlusterCORSPolicyReconcileLoop)(nil).AddMulticlusterCORSPolicyReconciler), varargs...) +} + +// MockMulticlusterCSRFPolicyReconciler is a mock of MulticlusterCSRFPolicyReconciler interface. +type MockMulticlusterCSRFPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCSRFPolicyReconcilerMockRecorder +} + +// MockMulticlusterCSRFPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterCSRFPolicyReconciler. +type MockMulticlusterCSRFPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterCSRFPolicyReconciler +} + +// NewMockMulticlusterCSRFPolicyReconciler creates a new mock instance. +func NewMockMulticlusterCSRFPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterCSRFPolicyReconciler { + mock := &MockMulticlusterCSRFPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterCSRFPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCSRFPolicyReconciler) EXPECT() *MockMulticlusterCSRFPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCSRFPolicy mocks base method. +func (m *MockMulticlusterCSRFPolicyReconciler) ReconcileCSRFPolicy(clusterName string, obj *v2.CSRFPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCSRFPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCSRFPolicy indicates an expected call of ReconcileCSRFPolicy. +func (mr *MockMulticlusterCSRFPolicyReconcilerMockRecorder) ReconcileCSRFPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCSRFPolicy", reflect.TypeOf((*MockMulticlusterCSRFPolicyReconciler)(nil).ReconcileCSRFPolicy), clusterName, obj) +} + +// MockMulticlusterCSRFPolicyDeletionReconciler is a mock of MulticlusterCSRFPolicyDeletionReconciler interface. +type MockMulticlusterCSRFPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCSRFPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterCSRFPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterCSRFPolicyDeletionReconciler. +type MockMulticlusterCSRFPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterCSRFPolicyDeletionReconciler +} + +// NewMockMulticlusterCSRFPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterCSRFPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterCSRFPolicyDeletionReconciler { + mock := &MockMulticlusterCSRFPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterCSRFPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCSRFPolicyDeletionReconciler) EXPECT() *MockMulticlusterCSRFPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCSRFPolicyDeletion mocks base method. +func (m *MockMulticlusterCSRFPolicyDeletionReconciler) ReconcileCSRFPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCSRFPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileCSRFPolicyDeletion indicates an expected call of ReconcileCSRFPolicyDeletion. +func (mr *MockMulticlusterCSRFPolicyDeletionReconcilerMockRecorder) ReconcileCSRFPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCSRFPolicyDeletion", reflect.TypeOf((*MockMulticlusterCSRFPolicyDeletionReconciler)(nil).ReconcileCSRFPolicyDeletion), clusterName, req) +} + +// MockMulticlusterCSRFPolicyReconcileLoop is a mock of MulticlusterCSRFPolicyReconcileLoop interface. +type MockMulticlusterCSRFPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCSRFPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterCSRFPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterCSRFPolicyReconcileLoop. +type MockMulticlusterCSRFPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterCSRFPolicyReconcileLoop +} + +// NewMockMulticlusterCSRFPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterCSRFPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterCSRFPolicyReconcileLoop { + mock := &MockMulticlusterCSRFPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterCSRFPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCSRFPolicyReconcileLoop) EXPECT() *MockMulticlusterCSRFPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterCSRFPolicyReconciler mocks base method. +func (m *MockMulticlusterCSRFPolicyReconcileLoop) AddMulticlusterCSRFPolicyReconciler(ctx context.Context, rec controller.MulticlusterCSRFPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterCSRFPolicyReconciler", varargs...) +} + +// AddMulticlusterCSRFPolicyReconciler indicates an expected call of AddMulticlusterCSRFPolicyReconciler. +func (mr *MockMulticlusterCSRFPolicyReconcileLoopMockRecorder) AddMulticlusterCSRFPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterCSRFPolicyReconciler", reflect.TypeOf((*MockMulticlusterCSRFPolicyReconcileLoop)(nil).AddMulticlusterCSRFPolicyReconciler), varargs...) +} + +// MockMulticlusterExtAuthPolicyReconciler is a mock of MulticlusterExtAuthPolicyReconciler interface. +type MockMulticlusterExtAuthPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExtAuthPolicyReconcilerMockRecorder +} + +// MockMulticlusterExtAuthPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterExtAuthPolicyReconciler. +type MockMulticlusterExtAuthPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterExtAuthPolicyReconciler +} + +// NewMockMulticlusterExtAuthPolicyReconciler creates a new mock instance. +func NewMockMulticlusterExtAuthPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterExtAuthPolicyReconciler { + mock := &MockMulticlusterExtAuthPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterExtAuthPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExtAuthPolicyReconciler) EXPECT() *MockMulticlusterExtAuthPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExtAuthPolicy mocks base method. +func (m *MockMulticlusterExtAuthPolicyReconciler) ReconcileExtAuthPolicy(clusterName string, obj *v2.ExtAuthPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExtAuthPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExtAuthPolicy indicates an expected call of ReconcileExtAuthPolicy. +func (mr *MockMulticlusterExtAuthPolicyReconcilerMockRecorder) ReconcileExtAuthPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExtAuthPolicy", reflect.TypeOf((*MockMulticlusterExtAuthPolicyReconciler)(nil).ReconcileExtAuthPolicy), clusterName, obj) +} + +// MockMulticlusterExtAuthPolicyDeletionReconciler is a mock of MulticlusterExtAuthPolicyDeletionReconciler interface. +type MockMulticlusterExtAuthPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExtAuthPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterExtAuthPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterExtAuthPolicyDeletionReconciler. +type MockMulticlusterExtAuthPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterExtAuthPolicyDeletionReconciler +} + +// NewMockMulticlusterExtAuthPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterExtAuthPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterExtAuthPolicyDeletionReconciler { + mock := &MockMulticlusterExtAuthPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterExtAuthPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExtAuthPolicyDeletionReconciler) EXPECT() *MockMulticlusterExtAuthPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExtAuthPolicyDeletion mocks base method. +func (m *MockMulticlusterExtAuthPolicyDeletionReconciler) ReconcileExtAuthPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExtAuthPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileExtAuthPolicyDeletion indicates an expected call of ReconcileExtAuthPolicyDeletion. +func (mr *MockMulticlusterExtAuthPolicyDeletionReconcilerMockRecorder) ReconcileExtAuthPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExtAuthPolicyDeletion", reflect.TypeOf((*MockMulticlusterExtAuthPolicyDeletionReconciler)(nil).ReconcileExtAuthPolicyDeletion), clusterName, req) +} + +// MockMulticlusterExtAuthPolicyReconcileLoop is a mock of MulticlusterExtAuthPolicyReconcileLoop interface. +type MockMulticlusterExtAuthPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExtAuthPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterExtAuthPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterExtAuthPolicyReconcileLoop. +type MockMulticlusterExtAuthPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterExtAuthPolicyReconcileLoop +} + +// NewMockMulticlusterExtAuthPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterExtAuthPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterExtAuthPolicyReconcileLoop { + mock := &MockMulticlusterExtAuthPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterExtAuthPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExtAuthPolicyReconcileLoop) EXPECT() *MockMulticlusterExtAuthPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterExtAuthPolicyReconciler mocks base method. +func (m *MockMulticlusterExtAuthPolicyReconcileLoop) AddMulticlusterExtAuthPolicyReconciler(ctx context.Context, rec controller.MulticlusterExtAuthPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterExtAuthPolicyReconciler", varargs...) +} + +// AddMulticlusterExtAuthPolicyReconciler indicates an expected call of AddMulticlusterExtAuthPolicyReconciler. +func (mr *MockMulticlusterExtAuthPolicyReconcileLoopMockRecorder) AddMulticlusterExtAuthPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterExtAuthPolicyReconciler", reflect.TypeOf((*MockMulticlusterExtAuthPolicyReconcileLoop)(nil).AddMulticlusterExtAuthPolicyReconciler), varargs...) +} + +// MockMulticlusterWAFPolicyReconciler is a mock of MulticlusterWAFPolicyReconciler interface. +type MockMulticlusterWAFPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWAFPolicyReconcilerMockRecorder +} + +// MockMulticlusterWAFPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterWAFPolicyReconciler. +type MockMulticlusterWAFPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterWAFPolicyReconciler +} + +// NewMockMulticlusterWAFPolicyReconciler creates a new mock instance. +func NewMockMulticlusterWAFPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterWAFPolicyReconciler { + mock := &MockMulticlusterWAFPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterWAFPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWAFPolicyReconciler) EXPECT() *MockMulticlusterWAFPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWAFPolicy mocks base method. +func (m *MockMulticlusterWAFPolicyReconciler) ReconcileWAFPolicy(clusterName string, obj *v2.WAFPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWAFPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWAFPolicy indicates an expected call of ReconcileWAFPolicy. +func (mr *MockMulticlusterWAFPolicyReconcilerMockRecorder) ReconcileWAFPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWAFPolicy", reflect.TypeOf((*MockMulticlusterWAFPolicyReconciler)(nil).ReconcileWAFPolicy), clusterName, obj) +} + +// MockMulticlusterWAFPolicyDeletionReconciler is a mock of MulticlusterWAFPolicyDeletionReconciler interface. +type MockMulticlusterWAFPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWAFPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterWAFPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterWAFPolicyDeletionReconciler. +type MockMulticlusterWAFPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterWAFPolicyDeletionReconciler +} + +// NewMockMulticlusterWAFPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterWAFPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterWAFPolicyDeletionReconciler { + mock := &MockMulticlusterWAFPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterWAFPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWAFPolicyDeletionReconciler) EXPECT() *MockMulticlusterWAFPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWAFPolicyDeletion mocks base method. +func (m *MockMulticlusterWAFPolicyDeletionReconciler) ReconcileWAFPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWAFPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileWAFPolicyDeletion indicates an expected call of ReconcileWAFPolicyDeletion. +func (mr *MockMulticlusterWAFPolicyDeletionReconcilerMockRecorder) ReconcileWAFPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWAFPolicyDeletion", reflect.TypeOf((*MockMulticlusterWAFPolicyDeletionReconciler)(nil).ReconcileWAFPolicyDeletion), clusterName, req) +} + +// MockMulticlusterWAFPolicyReconcileLoop is a mock of MulticlusterWAFPolicyReconcileLoop interface. +type MockMulticlusterWAFPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWAFPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterWAFPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterWAFPolicyReconcileLoop. +type MockMulticlusterWAFPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterWAFPolicyReconcileLoop +} + +// NewMockMulticlusterWAFPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterWAFPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterWAFPolicyReconcileLoop { + mock := &MockMulticlusterWAFPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterWAFPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWAFPolicyReconcileLoop) EXPECT() *MockMulticlusterWAFPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterWAFPolicyReconciler mocks base method. +func (m *MockMulticlusterWAFPolicyReconcileLoop) AddMulticlusterWAFPolicyReconciler(ctx context.Context, rec controller.MulticlusterWAFPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterWAFPolicyReconciler", varargs...) +} + +// AddMulticlusterWAFPolicyReconciler indicates an expected call of AddMulticlusterWAFPolicyReconciler. +func (mr *MockMulticlusterWAFPolicyReconcileLoopMockRecorder) AddMulticlusterWAFPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterWAFPolicyReconciler", reflect.TypeOf((*MockMulticlusterWAFPolicyReconcileLoop)(nil).AddMulticlusterWAFPolicyReconciler), varargs...) +} + +// MockMulticlusterJWTPolicyReconciler is a mock of MulticlusterJWTPolicyReconciler interface. +type MockMulticlusterJWTPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterJWTPolicyReconcilerMockRecorder +} + +// MockMulticlusterJWTPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterJWTPolicyReconciler. +type MockMulticlusterJWTPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterJWTPolicyReconciler +} + +// NewMockMulticlusterJWTPolicyReconciler creates a new mock instance. +func NewMockMulticlusterJWTPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterJWTPolicyReconciler { + mock := &MockMulticlusterJWTPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterJWTPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterJWTPolicyReconciler) EXPECT() *MockMulticlusterJWTPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileJWTPolicy mocks base method. +func (m *MockMulticlusterJWTPolicyReconciler) ReconcileJWTPolicy(clusterName string, obj *v2.JWTPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileJWTPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileJWTPolicy indicates an expected call of ReconcileJWTPolicy. +func (mr *MockMulticlusterJWTPolicyReconcilerMockRecorder) ReconcileJWTPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileJWTPolicy", reflect.TypeOf((*MockMulticlusterJWTPolicyReconciler)(nil).ReconcileJWTPolicy), clusterName, obj) +} + +// MockMulticlusterJWTPolicyDeletionReconciler is a mock of MulticlusterJWTPolicyDeletionReconciler interface. +type MockMulticlusterJWTPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterJWTPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterJWTPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterJWTPolicyDeletionReconciler. +type MockMulticlusterJWTPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterJWTPolicyDeletionReconciler +} + +// NewMockMulticlusterJWTPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterJWTPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterJWTPolicyDeletionReconciler { + mock := &MockMulticlusterJWTPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterJWTPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterJWTPolicyDeletionReconciler) EXPECT() *MockMulticlusterJWTPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileJWTPolicyDeletion mocks base method. +func (m *MockMulticlusterJWTPolicyDeletionReconciler) ReconcileJWTPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileJWTPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileJWTPolicyDeletion indicates an expected call of ReconcileJWTPolicyDeletion. +func (mr *MockMulticlusterJWTPolicyDeletionReconcilerMockRecorder) ReconcileJWTPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileJWTPolicyDeletion", reflect.TypeOf((*MockMulticlusterJWTPolicyDeletionReconciler)(nil).ReconcileJWTPolicyDeletion), clusterName, req) +} + +// MockMulticlusterJWTPolicyReconcileLoop is a mock of MulticlusterJWTPolicyReconcileLoop interface. +type MockMulticlusterJWTPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterJWTPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterJWTPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterJWTPolicyReconcileLoop. +type MockMulticlusterJWTPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterJWTPolicyReconcileLoop +} + +// NewMockMulticlusterJWTPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterJWTPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterJWTPolicyReconcileLoop { + mock := &MockMulticlusterJWTPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterJWTPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterJWTPolicyReconcileLoop) EXPECT() *MockMulticlusterJWTPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterJWTPolicyReconciler mocks base method. +func (m *MockMulticlusterJWTPolicyReconcileLoop) AddMulticlusterJWTPolicyReconciler(ctx context.Context, rec controller.MulticlusterJWTPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterJWTPolicyReconciler", varargs...) +} + +// AddMulticlusterJWTPolicyReconciler indicates an expected call of AddMulticlusterJWTPolicyReconciler. +func (mr *MockMulticlusterJWTPolicyReconcileLoopMockRecorder) AddMulticlusterJWTPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterJWTPolicyReconciler", reflect.TypeOf((*MockMulticlusterJWTPolicyReconcileLoop)(nil).AddMulticlusterJWTPolicyReconciler), varargs...) +} + +// MockMulticlusterClientTLSPolicyReconciler is a mock of MulticlusterClientTLSPolicyReconciler interface. +type MockMulticlusterClientTLSPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientTLSPolicyReconcilerMockRecorder +} + +// MockMulticlusterClientTLSPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterClientTLSPolicyReconciler. +type MockMulticlusterClientTLSPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterClientTLSPolicyReconciler +} + +// NewMockMulticlusterClientTLSPolicyReconciler creates a new mock instance. +func NewMockMulticlusterClientTLSPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterClientTLSPolicyReconciler { + mock := &MockMulticlusterClientTLSPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientTLSPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientTLSPolicyReconciler) EXPECT() *MockMulticlusterClientTLSPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileClientTLSPolicy mocks base method. +func (m *MockMulticlusterClientTLSPolicyReconciler) ReconcileClientTLSPolicy(clusterName string, obj *v2.ClientTLSPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileClientTLSPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileClientTLSPolicy indicates an expected call of ReconcileClientTLSPolicy. +func (mr *MockMulticlusterClientTLSPolicyReconcilerMockRecorder) ReconcileClientTLSPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileClientTLSPolicy", reflect.TypeOf((*MockMulticlusterClientTLSPolicyReconciler)(nil).ReconcileClientTLSPolicy), clusterName, obj) +} + +// MockMulticlusterClientTLSPolicyDeletionReconciler is a mock of MulticlusterClientTLSPolicyDeletionReconciler interface. +type MockMulticlusterClientTLSPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientTLSPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterClientTLSPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterClientTLSPolicyDeletionReconciler. +type MockMulticlusterClientTLSPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterClientTLSPolicyDeletionReconciler +} + +// NewMockMulticlusterClientTLSPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterClientTLSPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterClientTLSPolicyDeletionReconciler { + mock := &MockMulticlusterClientTLSPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientTLSPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientTLSPolicyDeletionReconciler) EXPECT() *MockMulticlusterClientTLSPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileClientTLSPolicyDeletion mocks base method. +func (m *MockMulticlusterClientTLSPolicyDeletionReconciler) ReconcileClientTLSPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileClientTLSPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileClientTLSPolicyDeletion indicates an expected call of ReconcileClientTLSPolicyDeletion. +func (mr *MockMulticlusterClientTLSPolicyDeletionReconcilerMockRecorder) ReconcileClientTLSPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileClientTLSPolicyDeletion", reflect.TypeOf((*MockMulticlusterClientTLSPolicyDeletionReconciler)(nil).ReconcileClientTLSPolicyDeletion), clusterName, req) +} + +// MockMulticlusterClientTLSPolicyReconcileLoop is a mock of MulticlusterClientTLSPolicyReconcileLoop interface. +type MockMulticlusterClientTLSPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientTLSPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterClientTLSPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterClientTLSPolicyReconcileLoop. +type MockMulticlusterClientTLSPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterClientTLSPolicyReconcileLoop +} + +// NewMockMulticlusterClientTLSPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterClientTLSPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterClientTLSPolicyReconcileLoop { + mock := &MockMulticlusterClientTLSPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientTLSPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientTLSPolicyReconcileLoop) EXPECT() *MockMulticlusterClientTLSPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterClientTLSPolicyReconciler mocks base method. +func (m *MockMulticlusterClientTLSPolicyReconcileLoop) AddMulticlusterClientTLSPolicyReconciler(ctx context.Context, rec controller.MulticlusterClientTLSPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterClientTLSPolicyReconciler", varargs...) +} + +// AddMulticlusterClientTLSPolicyReconciler indicates an expected call of AddMulticlusterClientTLSPolicyReconciler. +func (mr *MockMulticlusterClientTLSPolicyReconcileLoopMockRecorder) AddMulticlusterClientTLSPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterClientTLSPolicyReconciler", reflect.TypeOf((*MockMulticlusterClientTLSPolicyReconcileLoop)(nil).AddMulticlusterClientTLSPolicyReconciler), varargs...) +} + +// MockMulticlusterGraphQLAllowedQueryPolicyReconciler is a mock of MulticlusterGraphQLAllowedQueryPolicyReconciler interface. +type MockMulticlusterGraphQLAllowedQueryPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLAllowedQueryPolicyReconcilerMockRecorder +} + +// MockMulticlusterGraphQLAllowedQueryPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterGraphQLAllowedQueryPolicyReconciler. +type MockMulticlusterGraphQLAllowedQueryPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterGraphQLAllowedQueryPolicyReconciler +} + +// NewMockMulticlusterGraphQLAllowedQueryPolicyReconciler creates a new mock instance. +func NewMockMulticlusterGraphQLAllowedQueryPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterGraphQLAllowedQueryPolicyReconciler { + mock := &MockMulticlusterGraphQLAllowedQueryPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLAllowedQueryPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLAllowedQueryPolicyReconciler) EXPECT() *MockMulticlusterGraphQLAllowedQueryPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLAllowedQueryPolicy mocks base method. +func (m *MockMulticlusterGraphQLAllowedQueryPolicyReconciler) ReconcileGraphQLAllowedQueryPolicy(clusterName string, obj *v2.GraphQLAllowedQueryPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLAllowedQueryPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLAllowedQueryPolicy indicates an expected call of ReconcileGraphQLAllowedQueryPolicy. +func (mr *MockMulticlusterGraphQLAllowedQueryPolicyReconcilerMockRecorder) ReconcileGraphQLAllowedQueryPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockMulticlusterGraphQLAllowedQueryPolicyReconciler)(nil).ReconcileGraphQLAllowedQueryPolicy), clusterName, obj) +} + +// MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconciler is a mock of MulticlusterGraphQLAllowedQueryPolicyDeletionReconciler interface. +type MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconciler. +type MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconciler +} + +// NewMockMulticlusterGraphQLAllowedQueryPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterGraphQLAllowedQueryPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconciler { + mock := &MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconciler) EXPECT() *MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLAllowedQueryPolicyDeletion mocks base method. +func (m *MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconciler) ReconcileGraphQLAllowedQueryPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLAllowedQueryPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileGraphQLAllowedQueryPolicyDeletion indicates an expected call of ReconcileGraphQLAllowedQueryPolicyDeletion. +func (mr *MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconcilerMockRecorder) ReconcileGraphQLAllowedQueryPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLAllowedQueryPolicyDeletion", reflect.TypeOf((*MockMulticlusterGraphQLAllowedQueryPolicyDeletionReconciler)(nil).ReconcileGraphQLAllowedQueryPolicyDeletion), clusterName, req) +} + +// MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoop is a mock of MulticlusterGraphQLAllowedQueryPolicyReconcileLoop interface. +type MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoop. +type MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoop +} + +// NewMockMulticlusterGraphQLAllowedQueryPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterGraphQLAllowedQueryPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoop { + mock := &MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoop) EXPECT() *MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterGraphQLAllowedQueryPolicyReconciler mocks base method. +func (m *MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoop) AddMulticlusterGraphQLAllowedQueryPolicyReconciler(ctx context.Context, rec controller.MulticlusterGraphQLAllowedQueryPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterGraphQLAllowedQueryPolicyReconciler", varargs...) +} + +// AddMulticlusterGraphQLAllowedQueryPolicyReconciler indicates an expected call of AddMulticlusterGraphQLAllowedQueryPolicyReconciler. +func (mr *MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoopMockRecorder) AddMulticlusterGraphQLAllowedQueryPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterGraphQLAllowedQueryPolicyReconciler", reflect.TypeOf((*MockMulticlusterGraphQLAllowedQueryPolicyReconcileLoop)(nil).AddMulticlusterGraphQLAllowedQueryPolicyReconciler), varargs...) +} + +// MockMulticlusterDLPPolicyReconciler is a mock of MulticlusterDLPPolicyReconciler interface. +type MockMulticlusterDLPPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDLPPolicyReconcilerMockRecorder +} + +// MockMulticlusterDLPPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterDLPPolicyReconciler. +type MockMulticlusterDLPPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterDLPPolicyReconciler +} + +// NewMockMulticlusterDLPPolicyReconciler creates a new mock instance. +func NewMockMulticlusterDLPPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterDLPPolicyReconciler { + mock := &MockMulticlusterDLPPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterDLPPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDLPPolicyReconciler) EXPECT() *MockMulticlusterDLPPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDLPPolicy mocks base method. +func (m *MockMulticlusterDLPPolicyReconciler) ReconcileDLPPolicy(clusterName string, obj *v2.DLPPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDLPPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileDLPPolicy indicates an expected call of ReconcileDLPPolicy. +func (mr *MockMulticlusterDLPPolicyReconcilerMockRecorder) ReconcileDLPPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDLPPolicy", reflect.TypeOf((*MockMulticlusterDLPPolicyReconciler)(nil).ReconcileDLPPolicy), clusterName, obj) +} + +// MockMulticlusterDLPPolicyDeletionReconciler is a mock of MulticlusterDLPPolicyDeletionReconciler interface. +type MockMulticlusterDLPPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDLPPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterDLPPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterDLPPolicyDeletionReconciler. +type MockMulticlusterDLPPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterDLPPolicyDeletionReconciler +} + +// NewMockMulticlusterDLPPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterDLPPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterDLPPolicyDeletionReconciler { + mock := &MockMulticlusterDLPPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterDLPPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDLPPolicyDeletionReconciler) EXPECT() *MockMulticlusterDLPPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDLPPolicyDeletion mocks base method. +func (m *MockMulticlusterDLPPolicyDeletionReconciler) ReconcileDLPPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDLPPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileDLPPolicyDeletion indicates an expected call of ReconcileDLPPolicyDeletion. +func (mr *MockMulticlusterDLPPolicyDeletionReconcilerMockRecorder) ReconcileDLPPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDLPPolicyDeletion", reflect.TypeOf((*MockMulticlusterDLPPolicyDeletionReconciler)(nil).ReconcileDLPPolicyDeletion), clusterName, req) +} + +// MockMulticlusterDLPPolicyReconcileLoop is a mock of MulticlusterDLPPolicyReconcileLoop interface. +type MockMulticlusterDLPPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDLPPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterDLPPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterDLPPolicyReconcileLoop. +type MockMulticlusterDLPPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterDLPPolicyReconcileLoop +} + +// NewMockMulticlusterDLPPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterDLPPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterDLPPolicyReconcileLoop { + mock := &MockMulticlusterDLPPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterDLPPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDLPPolicyReconcileLoop) EXPECT() *MockMulticlusterDLPPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterDLPPolicyReconciler mocks base method. +func (m *MockMulticlusterDLPPolicyReconcileLoop) AddMulticlusterDLPPolicyReconciler(ctx context.Context, rec controller.MulticlusterDLPPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterDLPPolicyReconciler", varargs...) +} + +// AddMulticlusterDLPPolicyReconciler indicates an expected call of AddMulticlusterDLPPolicyReconciler. +func (mr *MockMulticlusterDLPPolicyReconcileLoopMockRecorder) AddMulticlusterDLPPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterDLPPolicyReconciler", reflect.TypeOf((*MockMulticlusterDLPPolicyReconcileLoop)(nil).AddMulticlusterDLPPolicyReconciler), varargs...) +} diff --git a/client-go/security.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go b/client-go/security.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go new file mode 100644 index 000000000..583098241 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go @@ -0,0 +1,1664 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2/controller" +) + +// MockAccessPolicyReconciler is a mock of AccessPolicyReconciler interface. +type MockAccessPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockAccessPolicyReconcilerMockRecorder +} + +// MockAccessPolicyReconcilerMockRecorder is the mock recorder for MockAccessPolicyReconciler. +type MockAccessPolicyReconcilerMockRecorder struct { + mock *MockAccessPolicyReconciler +} + +// NewMockAccessPolicyReconciler creates a new mock instance. +func NewMockAccessPolicyReconciler(ctrl *gomock.Controller) *MockAccessPolicyReconciler { + mock := &MockAccessPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockAccessPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessPolicyReconciler) EXPECT() *MockAccessPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileAccessPolicy mocks base method. +func (m *MockAccessPolicyReconciler) ReconcileAccessPolicy(obj *v2.AccessPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileAccessPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileAccessPolicy indicates an expected call of ReconcileAccessPolicy. +func (mr *MockAccessPolicyReconcilerMockRecorder) ReconcileAccessPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileAccessPolicy", reflect.TypeOf((*MockAccessPolicyReconciler)(nil).ReconcileAccessPolicy), obj) +} + +// MockAccessPolicyDeletionReconciler is a mock of AccessPolicyDeletionReconciler interface. +type MockAccessPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockAccessPolicyDeletionReconcilerMockRecorder +} + +// MockAccessPolicyDeletionReconcilerMockRecorder is the mock recorder for MockAccessPolicyDeletionReconciler. +type MockAccessPolicyDeletionReconcilerMockRecorder struct { + mock *MockAccessPolicyDeletionReconciler +} + +// NewMockAccessPolicyDeletionReconciler creates a new mock instance. +func NewMockAccessPolicyDeletionReconciler(ctrl *gomock.Controller) *MockAccessPolicyDeletionReconciler { + mock := &MockAccessPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockAccessPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessPolicyDeletionReconciler) EXPECT() *MockAccessPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileAccessPolicyDeletion mocks base method. +func (m *MockAccessPolicyDeletionReconciler) ReconcileAccessPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileAccessPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileAccessPolicyDeletion indicates an expected call of ReconcileAccessPolicyDeletion. +func (mr *MockAccessPolicyDeletionReconcilerMockRecorder) ReconcileAccessPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileAccessPolicyDeletion", reflect.TypeOf((*MockAccessPolicyDeletionReconciler)(nil).ReconcileAccessPolicyDeletion), req) +} + +// MockAccessPolicyFinalizer is a mock of AccessPolicyFinalizer interface. +type MockAccessPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockAccessPolicyFinalizerMockRecorder +} + +// MockAccessPolicyFinalizerMockRecorder is the mock recorder for MockAccessPolicyFinalizer. +type MockAccessPolicyFinalizerMockRecorder struct { + mock *MockAccessPolicyFinalizer +} + +// NewMockAccessPolicyFinalizer creates a new mock instance. +func NewMockAccessPolicyFinalizer(ctrl *gomock.Controller) *MockAccessPolicyFinalizer { + mock := &MockAccessPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockAccessPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessPolicyFinalizer) EXPECT() *MockAccessPolicyFinalizerMockRecorder { + return m.recorder +} + +// AccessPolicyFinalizerName mocks base method. +func (m *MockAccessPolicyFinalizer) AccessPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AccessPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// AccessPolicyFinalizerName indicates an expected call of AccessPolicyFinalizerName. +func (mr *MockAccessPolicyFinalizerMockRecorder) AccessPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AccessPolicyFinalizerName", reflect.TypeOf((*MockAccessPolicyFinalizer)(nil).AccessPolicyFinalizerName)) +} + +// FinalizeAccessPolicy mocks base method. +func (m *MockAccessPolicyFinalizer) FinalizeAccessPolicy(obj *v2.AccessPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeAccessPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeAccessPolicy indicates an expected call of FinalizeAccessPolicy. +func (mr *MockAccessPolicyFinalizerMockRecorder) FinalizeAccessPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeAccessPolicy", reflect.TypeOf((*MockAccessPolicyFinalizer)(nil).FinalizeAccessPolicy), obj) +} + +// ReconcileAccessPolicy mocks base method. +func (m *MockAccessPolicyFinalizer) ReconcileAccessPolicy(obj *v2.AccessPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileAccessPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileAccessPolicy indicates an expected call of ReconcileAccessPolicy. +func (mr *MockAccessPolicyFinalizerMockRecorder) ReconcileAccessPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileAccessPolicy", reflect.TypeOf((*MockAccessPolicyFinalizer)(nil).ReconcileAccessPolicy), obj) +} + +// MockAccessPolicyReconcileLoop is a mock of AccessPolicyReconcileLoop interface. +type MockAccessPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockAccessPolicyReconcileLoopMockRecorder +} + +// MockAccessPolicyReconcileLoopMockRecorder is the mock recorder for MockAccessPolicyReconcileLoop. +type MockAccessPolicyReconcileLoopMockRecorder struct { + mock *MockAccessPolicyReconcileLoop +} + +// NewMockAccessPolicyReconcileLoop creates a new mock instance. +func NewMockAccessPolicyReconcileLoop(ctrl *gomock.Controller) *MockAccessPolicyReconcileLoop { + mock := &MockAccessPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockAccessPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessPolicyReconcileLoop) EXPECT() *MockAccessPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunAccessPolicyReconciler mocks base method. +func (m *MockAccessPolicyReconcileLoop) RunAccessPolicyReconciler(ctx context.Context, rec controller.AccessPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunAccessPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunAccessPolicyReconciler indicates an expected call of RunAccessPolicyReconciler. +func (mr *MockAccessPolicyReconcileLoopMockRecorder) RunAccessPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunAccessPolicyReconciler", reflect.TypeOf((*MockAccessPolicyReconcileLoop)(nil).RunAccessPolicyReconciler), varargs...) +} + +// MockCORSPolicyReconciler is a mock of CORSPolicyReconciler interface. +type MockCORSPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockCORSPolicyReconcilerMockRecorder +} + +// MockCORSPolicyReconcilerMockRecorder is the mock recorder for MockCORSPolicyReconciler. +type MockCORSPolicyReconcilerMockRecorder struct { + mock *MockCORSPolicyReconciler +} + +// NewMockCORSPolicyReconciler creates a new mock instance. +func NewMockCORSPolicyReconciler(ctrl *gomock.Controller) *MockCORSPolicyReconciler { + mock := &MockCORSPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockCORSPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCORSPolicyReconciler) EXPECT() *MockCORSPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCORSPolicy mocks base method. +func (m *MockCORSPolicyReconciler) ReconcileCORSPolicy(obj *v2.CORSPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCORSPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCORSPolicy indicates an expected call of ReconcileCORSPolicy. +func (mr *MockCORSPolicyReconcilerMockRecorder) ReconcileCORSPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCORSPolicy", reflect.TypeOf((*MockCORSPolicyReconciler)(nil).ReconcileCORSPolicy), obj) +} + +// MockCORSPolicyDeletionReconciler is a mock of CORSPolicyDeletionReconciler interface. +type MockCORSPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockCORSPolicyDeletionReconcilerMockRecorder +} + +// MockCORSPolicyDeletionReconcilerMockRecorder is the mock recorder for MockCORSPolicyDeletionReconciler. +type MockCORSPolicyDeletionReconcilerMockRecorder struct { + mock *MockCORSPolicyDeletionReconciler +} + +// NewMockCORSPolicyDeletionReconciler creates a new mock instance. +func NewMockCORSPolicyDeletionReconciler(ctrl *gomock.Controller) *MockCORSPolicyDeletionReconciler { + mock := &MockCORSPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockCORSPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCORSPolicyDeletionReconciler) EXPECT() *MockCORSPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCORSPolicyDeletion mocks base method. +func (m *MockCORSPolicyDeletionReconciler) ReconcileCORSPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCORSPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileCORSPolicyDeletion indicates an expected call of ReconcileCORSPolicyDeletion. +func (mr *MockCORSPolicyDeletionReconcilerMockRecorder) ReconcileCORSPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCORSPolicyDeletion", reflect.TypeOf((*MockCORSPolicyDeletionReconciler)(nil).ReconcileCORSPolicyDeletion), req) +} + +// MockCORSPolicyFinalizer is a mock of CORSPolicyFinalizer interface. +type MockCORSPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockCORSPolicyFinalizerMockRecorder +} + +// MockCORSPolicyFinalizerMockRecorder is the mock recorder for MockCORSPolicyFinalizer. +type MockCORSPolicyFinalizerMockRecorder struct { + mock *MockCORSPolicyFinalizer +} + +// NewMockCORSPolicyFinalizer creates a new mock instance. +func NewMockCORSPolicyFinalizer(ctrl *gomock.Controller) *MockCORSPolicyFinalizer { + mock := &MockCORSPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockCORSPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCORSPolicyFinalizer) EXPECT() *MockCORSPolicyFinalizerMockRecorder { + return m.recorder +} + +// CORSPolicyFinalizerName mocks base method. +func (m *MockCORSPolicyFinalizer) CORSPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CORSPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// CORSPolicyFinalizerName indicates an expected call of CORSPolicyFinalizerName. +func (mr *MockCORSPolicyFinalizerMockRecorder) CORSPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CORSPolicyFinalizerName", reflect.TypeOf((*MockCORSPolicyFinalizer)(nil).CORSPolicyFinalizerName)) +} + +// FinalizeCORSPolicy mocks base method. +func (m *MockCORSPolicyFinalizer) FinalizeCORSPolicy(obj *v2.CORSPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeCORSPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeCORSPolicy indicates an expected call of FinalizeCORSPolicy. +func (mr *MockCORSPolicyFinalizerMockRecorder) FinalizeCORSPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeCORSPolicy", reflect.TypeOf((*MockCORSPolicyFinalizer)(nil).FinalizeCORSPolicy), obj) +} + +// ReconcileCORSPolicy mocks base method. +func (m *MockCORSPolicyFinalizer) ReconcileCORSPolicy(obj *v2.CORSPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCORSPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCORSPolicy indicates an expected call of ReconcileCORSPolicy. +func (mr *MockCORSPolicyFinalizerMockRecorder) ReconcileCORSPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCORSPolicy", reflect.TypeOf((*MockCORSPolicyFinalizer)(nil).ReconcileCORSPolicy), obj) +} + +// MockCORSPolicyReconcileLoop is a mock of CORSPolicyReconcileLoop interface. +type MockCORSPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockCORSPolicyReconcileLoopMockRecorder +} + +// MockCORSPolicyReconcileLoopMockRecorder is the mock recorder for MockCORSPolicyReconcileLoop. +type MockCORSPolicyReconcileLoopMockRecorder struct { + mock *MockCORSPolicyReconcileLoop +} + +// NewMockCORSPolicyReconcileLoop creates a new mock instance. +func NewMockCORSPolicyReconcileLoop(ctrl *gomock.Controller) *MockCORSPolicyReconcileLoop { + mock := &MockCORSPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockCORSPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCORSPolicyReconcileLoop) EXPECT() *MockCORSPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunCORSPolicyReconciler mocks base method. +func (m *MockCORSPolicyReconcileLoop) RunCORSPolicyReconciler(ctx context.Context, rec controller.CORSPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunCORSPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunCORSPolicyReconciler indicates an expected call of RunCORSPolicyReconciler. +func (mr *MockCORSPolicyReconcileLoopMockRecorder) RunCORSPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunCORSPolicyReconciler", reflect.TypeOf((*MockCORSPolicyReconcileLoop)(nil).RunCORSPolicyReconciler), varargs...) +} + +// MockCSRFPolicyReconciler is a mock of CSRFPolicyReconciler interface. +type MockCSRFPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockCSRFPolicyReconcilerMockRecorder +} + +// MockCSRFPolicyReconcilerMockRecorder is the mock recorder for MockCSRFPolicyReconciler. +type MockCSRFPolicyReconcilerMockRecorder struct { + mock *MockCSRFPolicyReconciler +} + +// NewMockCSRFPolicyReconciler creates a new mock instance. +func NewMockCSRFPolicyReconciler(ctrl *gomock.Controller) *MockCSRFPolicyReconciler { + mock := &MockCSRFPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockCSRFPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCSRFPolicyReconciler) EXPECT() *MockCSRFPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCSRFPolicy mocks base method. +func (m *MockCSRFPolicyReconciler) ReconcileCSRFPolicy(obj *v2.CSRFPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCSRFPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCSRFPolicy indicates an expected call of ReconcileCSRFPolicy. +func (mr *MockCSRFPolicyReconcilerMockRecorder) ReconcileCSRFPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyReconciler)(nil).ReconcileCSRFPolicy), obj) +} + +// MockCSRFPolicyDeletionReconciler is a mock of CSRFPolicyDeletionReconciler interface. +type MockCSRFPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockCSRFPolicyDeletionReconcilerMockRecorder +} + +// MockCSRFPolicyDeletionReconcilerMockRecorder is the mock recorder for MockCSRFPolicyDeletionReconciler. +type MockCSRFPolicyDeletionReconcilerMockRecorder struct { + mock *MockCSRFPolicyDeletionReconciler +} + +// NewMockCSRFPolicyDeletionReconciler creates a new mock instance. +func NewMockCSRFPolicyDeletionReconciler(ctrl *gomock.Controller) *MockCSRFPolicyDeletionReconciler { + mock := &MockCSRFPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockCSRFPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCSRFPolicyDeletionReconciler) EXPECT() *MockCSRFPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileCSRFPolicyDeletion mocks base method. +func (m *MockCSRFPolicyDeletionReconciler) ReconcileCSRFPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCSRFPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileCSRFPolicyDeletion indicates an expected call of ReconcileCSRFPolicyDeletion. +func (mr *MockCSRFPolicyDeletionReconcilerMockRecorder) ReconcileCSRFPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCSRFPolicyDeletion", reflect.TypeOf((*MockCSRFPolicyDeletionReconciler)(nil).ReconcileCSRFPolicyDeletion), req) +} + +// MockCSRFPolicyFinalizer is a mock of CSRFPolicyFinalizer interface. +type MockCSRFPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockCSRFPolicyFinalizerMockRecorder +} + +// MockCSRFPolicyFinalizerMockRecorder is the mock recorder for MockCSRFPolicyFinalizer. +type MockCSRFPolicyFinalizerMockRecorder struct { + mock *MockCSRFPolicyFinalizer +} + +// NewMockCSRFPolicyFinalizer creates a new mock instance. +func NewMockCSRFPolicyFinalizer(ctrl *gomock.Controller) *MockCSRFPolicyFinalizer { + mock := &MockCSRFPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockCSRFPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCSRFPolicyFinalizer) EXPECT() *MockCSRFPolicyFinalizerMockRecorder { + return m.recorder +} + +// CSRFPolicyFinalizerName mocks base method. +func (m *MockCSRFPolicyFinalizer) CSRFPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CSRFPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// CSRFPolicyFinalizerName indicates an expected call of CSRFPolicyFinalizerName. +func (mr *MockCSRFPolicyFinalizerMockRecorder) CSRFPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CSRFPolicyFinalizerName", reflect.TypeOf((*MockCSRFPolicyFinalizer)(nil).CSRFPolicyFinalizerName)) +} + +// FinalizeCSRFPolicy mocks base method. +func (m *MockCSRFPolicyFinalizer) FinalizeCSRFPolicy(obj *v2.CSRFPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeCSRFPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeCSRFPolicy indicates an expected call of FinalizeCSRFPolicy. +func (mr *MockCSRFPolicyFinalizerMockRecorder) FinalizeCSRFPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyFinalizer)(nil).FinalizeCSRFPolicy), obj) +} + +// ReconcileCSRFPolicy mocks base method. +func (m *MockCSRFPolicyFinalizer) ReconcileCSRFPolicy(obj *v2.CSRFPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileCSRFPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileCSRFPolicy indicates an expected call of ReconcileCSRFPolicy. +func (mr *MockCSRFPolicyFinalizerMockRecorder) ReconcileCSRFPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyFinalizer)(nil).ReconcileCSRFPolicy), obj) +} + +// MockCSRFPolicyReconcileLoop is a mock of CSRFPolicyReconcileLoop interface. +type MockCSRFPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockCSRFPolicyReconcileLoopMockRecorder +} + +// MockCSRFPolicyReconcileLoopMockRecorder is the mock recorder for MockCSRFPolicyReconcileLoop. +type MockCSRFPolicyReconcileLoopMockRecorder struct { + mock *MockCSRFPolicyReconcileLoop +} + +// NewMockCSRFPolicyReconcileLoop creates a new mock instance. +func NewMockCSRFPolicyReconcileLoop(ctrl *gomock.Controller) *MockCSRFPolicyReconcileLoop { + mock := &MockCSRFPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockCSRFPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCSRFPolicyReconcileLoop) EXPECT() *MockCSRFPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunCSRFPolicyReconciler mocks base method. +func (m *MockCSRFPolicyReconcileLoop) RunCSRFPolicyReconciler(ctx context.Context, rec controller.CSRFPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunCSRFPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunCSRFPolicyReconciler indicates an expected call of RunCSRFPolicyReconciler. +func (mr *MockCSRFPolicyReconcileLoopMockRecorder) RunCSRFPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunCSRFPolicyReconciler", reflect.TypeOf((*MockCSRFPolicyReconcileLoop)(nil).RunCSRFPolicyReconciler), varargs...) +} + +// MockExtAuthPolicyReconciler is a mock of ExtAuthPolicyReconciler interface. +type MockExtAuthPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockExtAuthPolicyReconcilerMockRecorder +} + +// MockExtAuthPolicyReconcilerMockRecorder is the mock recorder for MockExtAuthPolicyReconciler. +type MockExtAuthPolicyReconcilerMockRecorder struct { + mock *MockExtAuthPolicyReconciler +} + +// NewMockExtAuthPolicyReconciler creates a new mock instance. +func NewMockExtAuthPolicyReconciler(ctrl *gomock.Controller) *MockExtAuthPolicyReconciler { + mock := &MockExtAuthPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockExtAuthPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthPolicyReconciler) EXPECT() *MockExtAuthPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyReconciler) ReconcileExtAuthPolicy(obj *v2.ExtAuthPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExtAuthPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExtAuthPolicy indicates an expected call of ReconcileExtAuthPolicy. +func (mr *MockExtAuthPolicyReconcilerMockRecorder) ReconcileExtAuthPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyReconciler)(nil).ReconcileExtAuthPolicy), obj) +} + +// MockExtAuthPolicyDeletionReconciler is a mock of ExtAuthPolicyDeletionReconciler interface. +type MockExtAuthPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockExtAuthPolicyDeletionReconcilerMockRecorder +} + +// MockExtAuthPolicyDeletionReconcilerMockRecorder is the mock recorder for MockExtAuthPolicyDeletionReconciler. +type MockExtAuthPolicyDeletionReconcilerMockRecorder struct { + mock *MockExtAuthPolicyDeletionReconciler +} + +// NewMockExtAuthPolicyDeletionReconciler creates a new mock instance. +func NewMockExtAuthPolicyDeletionReconciler(ctrl *gomock.Controller) *MockExtAuthPolicyDeletionReconciler { + mock := &MockExtAuthPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockExtAuthPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthPolicyDeletionReconciler) EXPECT() *MockExtAuthPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileExtAuthPolicyDeletion mocks base method. +func (m *MockExtAuthPolicyDeletionReconciler) ReconcileExtAuthPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExtAuthPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileExtAuthPolicyDeletion indicates an expected call of ReconcileExtAuthPolicyDeletion. +func (mr *MockExtAuthPolicyDeletionReconcilerMockRecorder) ReconcileExtAuthPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExtAuthPolicyDeletion", reflect.TypeOf((*MockExtAuthPolicyDeletionReconciler)(nil).ReconcileExtAuthPolicyDeletion), req) +} + +// MockExtAuthPolicyFinalizer is a mock of ExtAuthPolicyFinalizer interface. +type MockExtAuthPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockExtAuthPolicyFinalizerMockRecorder +} + +// MockExtAuthPolicyFinalizerMockRecorder is the mock recorder for MockExtAuthPolicyFinalizer. +type MockExtAuthPolicyFinalizerMockRecorder struct { + mock *MockExtAuthPolicyFinalizer +} + +// NewMockExtAuthPolicyFinalizer creates a new mock instance. +func NewMockExtAuthPolicyFinalizer(ctrl *gomock.Controller) *MockExtAuthPolicyFinalizer { + mock := &MockExtAuthPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockExtAuthPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthPolicyFinalizer) EXPECT() *MockExtAuthPolicyFinalizerMockRecorder { + return m.recorder +} + +// ExtAuthPolicyFinalizerName mocks base method. +func (m *MockExtAuthPolicyFinalizer) ExtAuthPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExtAuthPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ExtAuthPolicyFinalizerName indicates an expected call of ExtAuthPolicyFinalizerName. +func (mr *MockExtAuthPolicyFinalizerMockRecorder) ExtAuthPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExtAuthPolicyFinalizerName", reflect.TypeOf((*MockExtAuthPolicyFinalizer)(nil).ExtAuthPolicyFinalizerName)) +} + +// FinalizeExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyFinalizer) FinalizeExtAuthPolicy(obj *v2.ExtAuthPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeExtAuthPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeExtAuthPolicy indicates an expected call of FinalizeExtAuthPolicy. +func (mr *MockExtAuthPolicyFinalizerMockRecorder) FinalizeExtAuthPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyFinalizer)(nil).FinalizeExtAuthPolicy), obj) +} + +// ReconcileExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyFinalizer) ReconcileExtAuthPolicy(obj *v2.ExtAuthPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileExtAuthPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileExtAuthPolicy indicates an expected call of ReconcileExtAuthPolicy. +func (mr *MockExtAuthPolicyFinalizerMockRecorder) ReconcileExtAuthPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyFinalizer)(nil).ReconcileExtAuthPolicy), obj) +} + +// MockExtAuthPolicyReconcileLoop is a mock of ExtAuthPolicyReconcileLoop interface. +type MockExtAuthPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockExtAuthPolicyReconcileLoopMockRecorder +} + +// MockExtAuthPolicyReconcileLoopMockRecorder is the mock recorder for MockExtAuthPolicyReconcileLoop. +type MockExtAuthPolicyReconcileLoopMockRecorder struct { + mock *MockExtAuthPolicyReconcileLoop +} + +// NewMockExtAuthPolicyReconcileLoop creates a new mock instance. +func NewMockExtAuthPolicyReconcileLoop(ctrl *gomock.Controller) *MockExtAuthPolicyReconcileLoop { + mock := &MockExtAuthPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockExtAuthPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthPolicyReconcileLoop) EXPECT() *MockExtAuthPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunExtAuthPolicyReconciler mocks base method. +func (m *MockExtAuthPolicyReconcileLoop) RunExtAuthPolicyReconciler(ctx context.Context, rec controller.ExtAuthPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunExtAuthPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunExtAuthPolicyReconciler indicates an expected call of RunExtAuthPolicyReconciler. +func (mr *MockExtAuthPolicyReconcileLoopMockRecorder) RunExtAuthPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunExtAuthPolicyReconciler", reflect.TypeOf((*MockExtAuthPolicyReconcileLoop)(nil).RunExtAuthPolicyReconciler), varargs...) +} + +// MockWAFPolicyReconciler is a mock of WAFPolicyReconciler interface. +type MockWAFPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockWAFPolicyReconcilerMockRecorder +} + +// MockWAFPolicyReconcilerMockRecorder is the mock recorder for MockWAFPolicyReconciler. +type MockWAFPolicyReconcilerMockRecorder struct { + mock *MockWAFPolicyReconciler +} + +// NewMockWAFPolicyReconciler creates a new mock instance. +func NewMockWAFPolicyReconciler(ctrl *gomock.Controller) *MockWAFPolicyReconciler { + mock := &MockWAFPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockWAFPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWAFPolicyReconciler) EXPECT() *MockWAFPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWAFPolicy mocks base method. +func (m *MockWAFPolicyReconciler) ReconcileWAFPolicy(obj *v2.WAFPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWAFPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWAFPolicy indicates an expected call of ReconcileWAFPolicy. +func (mr *MockWAFPolicyReconcilerMockRecorder) ReconcileWAFPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWAFPolicy", reflect.TypeOf((*MockWAFPolicyReconciler)(nil).ReconcileWAFPolicy), obj) +} + +// MockWAFPolicyDeletionReconciler is a mock of WAFPolicyDeletionReconciler interface. +type MockWAFPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockWAFPolicyDeletionReconcilerMockRecorder +} + +// MockWAFPolicyDeletionReconcilerMockRecorder is the mock recorder for MockWAFPolicyDeletionReconciler. +type MockWAFPolicyDeletionReconcilerMockRecorder struct { + mock *MockWAFPolicyDeletionReconciler +} + +// NewMockWAFPolicyDeletionReconciler creates a new mock instance. +func NewMockWAFPolicyDeletionReconciler(ctrl *gomock.Controller) *MockWAFPolicyDeletionReconciler { + mock := &MockWAFPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockWAFPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWAFPolicyDeletionReconciler) EXPECT() *MockWAFPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileWAFPolicyDeletion mocks base method. +func (m *MockWAFPolicyDeletionReconciler) ReconcileWAFPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWAFPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileWAFPolicyDeletion indicates an expected call of ReconcileWAFPolicyDeletion. +func (mr *MockWAFPolicyDeletionReconcilerMockRecorder) ReconcileWAFPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWAFPolicyDeletion", reflect.TypeOf((*MockWAFPolicyDeletionReconciler)(nil).ReconcileWAFPolicyDeletion), req) +} + +// MockWAFPolicyFinalizer is a mock of WAFPolicyFinalizer interface. +type MockWAFPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockWAFPolicyFinalizerMockRecorder +} + +// MockWAFPolicyFinalizerMockRecorder is the mock recorder for MockWAFPolicyFinalizer. +type MockWAFPolicyFinalizerMockRecorder struct { + mock *MockWAFPolicyFinalizer +} + +// NewMockWAFPolicyFinalizer creates a new mock instance. +func NewMockWAFPolicyFinalizer(ctrl *gomock.Controller) *MockWAFPolicyFinalizer { + mock := &MockWAFPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockWAFPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWAFPolicyFinalizer) EXPECT() *MockWAFPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeWAFPolicy mocks base method. +func (m *MockWAFPolicyFinalizer) FinalizeWAFPolicy(obj *v2.WAFPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeWAFPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeWAFPolicy indicates an expected call of FinalizeWAFPolicy. +func (mr *MockWAFPolicyFinalizerMockRecorder) FinalizeWAFPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeWAFPolicy", reflect.TypeOf((*MockWAFPolicyFinalizer)(nil).FinalizeWAFPolicy), obj) +} + +// ReconcileWAFPolicy mocks base method. +func (m *MockWAFPolicyFinalizer) ReconcileWAFPolicy(obj *v2.WAFPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileWAFPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileWAFPolicy indicates an expected call of ReconcileWAFPolicy. +func (mr *MockWAFPolicyFinalizerMockRecorder) ReconcileWAFPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileWAFPolicy", reflect.TypeOf((*MockWAFPolicyFinalizer)(nil).ReconcileWAFPolicy), obj) +} + +// WAFPolicyFinalizerName mocks base method. +func (m *MockWAFPolicyFinalizer) WAFPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "WAFPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// WAFPolicyFinalizerName indicates an expected call of WAFPolicyFinalizerName. +func (mr *MockWAFPolicyFinalizerMockRecorder) WAFPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WAFPolicyFinalizerName", reflect.TypeOf((*MockWAFPolicyFinalizer)(nil).WAFPolicyFinalizerName)) +} + +// MockWAFPolicyReconcileLoop is a mock of WAFPolicyReconcileLoop interface. +type MockWAFPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockWAFPolicyReconcileLoopMockRecorder +} + +// MockWAFPolicyReconcileLoopMockRecorder is the mock recorder for MockWAFPolicyReconcileLoop. +type MockWAFPolicyReconcileLoopMockRecorder struct { + mock *MockWAFPolicyReconcileLoop +} + +// NewMockWAFPolicyReconcileLoop creates a new mock instance. +func NewMockWAFPolicyReconcileLoop(ctrl *gomock.Controller) *MockWAFPolicyReconcileLoop { + mock := &MockWAFPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockWAFPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWAFPolicyReconcileLoop) EXPECT() *MockWAFPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunWAFPolicyReconciler mocks base method. +func (m *MockWAFPolicyReconcileLoop) RunWAFPolicyReconciler(ctx context.Context, rec controller.WAFPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunWAFPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunWAFPolicyReconciler indicates an expected call of RunWAFPolicyReconciler. +func (mr *MockWAFPolicyReconcileLoopMockRecorder) RunWAFPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunWAFPolicyReconciler", reflect.TypeOf((*MockWAFPolicyReconcileLoop)(nil).RunWAFPolicyReconciler), varargs...) +} + +// MockJWTPolicyReconciler is a mock of JWTPolicyReconciler interface. +type MockJWTPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockJWTPolicyReconcilerMockRecorder +} + +// MockJWTPolicyReconcilerMockRecorder is the mock recorder for MockJWTPolicyReconciler. +type MockJWTPolicyReconcilerMockRecorder struct { + mock *MockJWTPolicyReconciler +} + +// NewMockJWTPolicyReconciler creates a new mock instance. +func NewMockJWTPolicyReconciler(ctrl *gomock.Controller) *MockJWTPolicyReconciler { + mock := &MockJWTPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockJWTPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockJWTPolicyReconciler) EXPECT() *MockJWTPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileJWTPolicy mocks base method. +func (m *MockJWTPolicyReconciler) ReconcileJWTPolicy(obj *v2.JWTPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileJWTPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileJWTPolicy indicates an expected call of ReconcileJWTPolicy. +func (mr *MockJWTPolicyReconcilerMockRecorder) ReconcileJWTPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileJWTPolicy", reflect.TypeOf((*MockJWTPolicyReconciler)(nil).ReconcileJWTPolicy), obj) +} + +// MockJWTPolicyDeletionReconciler is a mock of JWTPolicyDeletionReconciler interface. +type MockJWTPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockJWTPolicyDeletionReconcilerMockRecorder +} + +// MockJWTPolicyDeletionReconcilerMockRecorder is the mock recorder for MockJWTPolicyDeletionReconciler. +type MockJWTPolicyDeletionReconcilerMockRecorder struct { + mock *MockJWTPolicyDeletionReconciler +} + +// NewMockJWTPolicyDeletionReconciler creates a new mock instance. +func NewMockJWTPolicyDeletionReconciler(ctrl *gomock.Controller) *MockJWTPolicyDeletionReconciler { + mock := &MockJWTPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockJWTPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockJWTPolicyDeletionReconciler) EXPECT() *MockJWTPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileJWTPolicyDeletion mocks base method. +func (m *MockJWTPolicyDeletionReconciler) ReconcileJWTPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileJWTPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileJWTPolicyDeletion indicates an expected call of ReconcileJWTPolicyDeletion. +func (mr *MockJWTPolicyDeletionReconcilerMockRecorder) ReconcileJWTPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileJWTPolicyDeletion", reflect.TypeOf((*MockJWTPolicyDeletionReconciler)(nil).ReconcileJWTPolicyDeletion), req) +} + +// MockJWTPolicyFinalizer is a mock of JWTPolicyFinalizer interface. +type MockJWTPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockJWTPolicyFinalizerMockRecorder +} + +// MockJWTPolicyFinalizerMockRecorder is the mock recorder for MockJWTPolicyFinalizer. +type MockJWTPolicyFinalizerMockRecorder struct { + mock *MockJWTPolicyFinalizer +} + +// NewMockJWTPolicyFinalizer creates a new mock instance. +func NewMockJWTPolicyFinalizer(ctrl *gomock.Controller) *MockJWTPolicyFinalizer { + mock := &MockJWTPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockJWTPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockJWTPolicyFinalizer) EXPECT() *MockJWTPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeJWTPolicy mocks base method. +func (m *MockJWTPolicyFinalizer) FinalizeJWTPolicy(obj *v2.JWTPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeJWTPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeJWTPolicy indicates an expected call of FinalizeJWTPolicy. +func (mr *MockJWTPolicyFinalizerMockRecorder) FinalizeJWTPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeJWTPolicy", reflect.TypeOf((*MockJWTPolicyFinalizer)(nil).FinalizeJWTPolicy), obj) +} + +// JWTPolicyFinalizerName mocks base method. +func (m *MockJWTPolicyFinalizer) JWTPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "JWTPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// JWTPolicyFinalizerName indicates an expected call of JWTPolicyFinalizerName. +func (mr *MockJWTPolicyFinalizerMockRecorder) JWTPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "JWTPolicyFinalizerName", reflect.TypeOf((*MockJWTPolicyFinalizer)(nil).JWTPolicyFinalizerName)) +} + +// ReconcileJWTPolicy mocks base method. +func (m *MockJWTPolicyFinalizer) ReconcileJWTPolicy(obj *v2.JWTPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileJWTPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileJWTPolicy indicates an expected call of ReconcileJWTPolicy. +func (mr *MockJWTPolicyFinalizerMockRecorder) ReconcileJWTPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileJWTPolicy", reflect.TypeOf((*MockJWTPolicyFinalizer)(nil).ReconcileJWTPolicy), obj) +} + +// MockJWTPolicyReconcileLoop is a mock of JWTPolicyReconcileLoop interface. +type MockJWTPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockJWTPolicyReconcileLoopMockRecorder +} + +// MockJWTPolicyReconcileLoopMockRecorder is the mock recorder for MockJWTPolicyReconcileLoop. +type MockJWTPolicyReconcileLoopMockRecorder struct { + mock *MockJWTPolicyReconcileLoop +} + +// NewMockJWTPolicyReconcileLoop creates a new mock instance. +func NewMockJWTPolicyReconcileLoop(ctrl *gomock.Controller) *MockJWTPolicyReconcileLoop { + mock := &MockJWTPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockJWTPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockJWTPolicyReconcileLoop) EXPECT() *MockJWTPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunJWTPolicyReconciler mocks base method. +func (m *MockJWTPolicyReconcileLoop) RunJWTPolicyReconciler(ctx context.Context, rec controller.JWTPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunJWTPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunJWTPolicyReconciler indicates an expected call of RunJWTPolicyReconciler. +func (mr *MockJWTPolicyReconcileLoopMockRecorder) RunJWTPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunJWTPolicyReconciler", reflect.TypeOf((*MockJWTPolicyReconcileLoop)(nil).RunJWTPolicyReconciler), varargs...) +} + +// MockClientTLSPolicyReconciler is a mock of ClientTLSPolicyReconciler interface. +type MockClientTLSPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockClientTLSPolicyReconcilerMockRecorder +} + +// MockClientTLSPolicyReconcilerMockRecorder is the mock recorder for MockClientTLSPolicyReconciler. +type MockClientTLSPolicyReconcilerMockRecorder struct { + mock *MockClientTLSPolicyReconciler +} + +// NewMockClientTLSPolicyReconciler creates a new mock instance. +func NewMockClientTLSPolicyReconciler(ctrl *gomock.Controller) *MockClientTLSPolicyReconciler { + mock := &MockClientTLSPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockClientTLSPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientTLSPolicyReconciler) EXPECT() *MockClientTLSPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyReconciler) ReconcileClientTLSPolicy(obj *v2.ClientTLSPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileClientTLSPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileClientTLSPolicy indicates an expected call of ReconcileClientTLSPolicy. +func (mr *MockClientTLSPolicyReconcilerMockRecorder) ReconcileClientTLSPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyReconciler)(nil).ReconcileClientTLSPolicy), obj) +} + +// MockClientTLSPolicyDeletionReconciler is a mock of ClientTLSPolicyDeletionReconciler interface. +type MockClientTLSPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockClientTLSPolicyDeletionReconcilerMockRecorder +} + +// MockClientTLSPolicyDeletionReconcilerMockRecorder is the mock recorder for MockClientTLSPolicyDeletionReconciler. +type MockClientTLSPolicyDeletionReconcilerMockRecorder struct { + mock *MockClientTLSPolicyDeletionReconciler +} + +// NewMockClientTLSPolicyDeletionReconciler creates a new mock instance. +func NewMockClientTLSPolicyDeletionReconciler(ctrl *gomock.Controller) *MockClientTLSPolicyDeletionReconciler { + mock := &MockClientTLSPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockClientTLSPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientTLSPolicyDeletionReconciler) EXPECT() *MockClientTLSPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileClientTLSPolicyDeletion mocks base method. +func (m *MockClientTLSPolicyDeletionReconciler) ReconcileClientTLSPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileClientTLSPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileClientTLSPolicyDeletion indicates an expected call of ReconcileClientTLSPolicyDeletion. +func (mr *MockClientTLSPolicyDeletionReconcilerMockRecorder) ReconcileClientTLSPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileClientTLSPolicyDeletion", reflect.TypeOf((*MockClientTLSPolicyDeletionReconciler)(nil).ReconcileClientTLSPolicyDeletion), req) +} + +// MockClientTLSPolicyFinalizer is a mock of ClientTLSPolicyFinalizer interface. +type MockClientTLSPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockClientTLSPolicyFinalizerMockRecorder +} + +// MockClientTLSPolicyFinalizerMockRecorder is the mock recorder for MockClientTLSPolicyFinalizer. +type MockClientTLSPolicyFinalizerMockRecorder struct { + mock *MockClientTLSPolicyFinalizer +} + +// NewMockClientTLSPolicyFinalizer creates a new mock instance. +func NewMockClientTLSPolicyFinalizer(ctrl *gomock.Controller) *MockClientTLSPolicyFinalizer { + mock := &MockClientTLSPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockClientTLSPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientTLSPolicyFinalizer) EXPECT() *MockClientTLSPolicyFinalizerMockRecorder { + return m.recorder +} + +// ClientTLSPolicyFinalizerName mocks base method. +func (m *MockClientTLSPolicyFinalizer) ClientTLSPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ClientTLSPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ClientTLSPolicyFinalizerName indicates an expected call of ClientTLSPolicyFinalizerName. +func (mr *MockClientTLSPolicyFinalizerMockRecorder) ClientTLSPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClientTLSPolicyFinalizerName", reflect.TypeOf((*MockClientTLSPolicyFinalizer)(nil).ClientTLSPolicyFinalizerName)) +} + +// FinalizeClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyFinalizer) FinalizeClientTLSPolicy(obj *v2.ClientTLSPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeClientTLSPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeClientTLSPolicy indicates an expected call of FinalizeClientTLSPolicy. +func (mr *MockClientTLSPolicyFinalizerMockRecorder) FinalizeClientTLSPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyFinalizer)(nil).FinalizeClientTLSPolicy), obj) +} + +// ReconcileClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyFinalizer) ReconcileClientTLSPolicy(obj *v2.ClientTLSPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileClientTLSPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileClientTLSPolicy indicates an expected call of ReconcileClientTLSPolicy. +func (mr *MockClientTLSPolicyFinalizerMockRecorder) ReconcileClientTLSPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyFinalizer)(nil).ReconcileClientTLSPolicy), obj) +} + +// MockClientTLSPolicyReconcileLoop is a mock of ClientTLSPolicyReconcileLoop interface. +type MockClientTLSPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockClientTLSPolicyReconcileLoopMockRecorder +} + +// MockClientTLSPolicyReconcileLoopMockRecorder is the mock recorder for MockClientTLSPolicyReconcileLoop. +type MockClientTLSPolicyReconcileLoopMockRecorder struct { + mock *MockClientTLSPolicyReconcileLoop +} + +// NewMockClientTLSPolicyReconcileLoop creates a new mock instance. +func NewMockClientTLSPolicyReconcileLoop(ctrl *gomock.Controller) *MockClientTLSPolicyReconcileLoop { + mock := &MockClientTLSPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockClientTLSPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientTLSPolicyReconcileLoop) EXPECT() *MockClientTLSPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunClientTLSPolicyReconciler mocks base method. +func (m *MockClientTLSPolicyReconcileLoop) RunClientTLSPolicyReconciler(ctx context.Context, rec controller.ClientTLSPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunClientTLSPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunClientTLSPolicyReconciler indicates an expected call of RunClientTLSPolicyReconciler. +func (mr *MockClientTLSPolicyReconcileLoopMockRecorder) RunClientTLSPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunClientTLSPolicyReconciler", reflect.TypeOf((*MockClientTLSPolicyReconcileLoop)(nil).RunClientTLSPolicyReconciler), varargs...) +} + +// MockGraphQLAllowedQueryPolicyReconciler is a mock of GraphQLAllowedQueryPolicyReconciler interface. +type MockGraphQLAllowedQueryPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockGraphQLAllowedQueryPolicyReconcilerMockRecorder +} + +// MockGraphQLAllowedQueryPolicyReconcilerMockRecorder is the mock recorder for MockGraphQLAllowedQueryPolicyReconciler. +type MockGraphQLAllowedQueryPolicyReconcilerMockRecorder struct { + mock *MockGraphQLAllowedQueryPolicyReconciler +} + +// NewMockGraphQLAllowedQueryPolicyReconciler creates a new mock instance. +func NewMockGraphQLAllowedQueryPolicyReconciler(ctrl *gomock.Controller) *MockGraphQLAllowedQueryPolicyReconciler { + mock := &MockGraphQLAllowedQueryPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockGraphQLAllowedQueryPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLAllowedQueryPolicyReconciler) EXPECT() *MockGraphQLAllowedQueryPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyReconciler) ReconcileGraphQLAllowedQueryPolicy(obj *v2.GraphQLAllowedQueryPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLAllowedQueryPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLAllowedQueryPolicy indicates an expected call of ReconcileGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyReconcilerMockRecorder) ReconcileGraphQLAllowedQueryPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyReconciler)(nil).ReconcileGraphQLAllowedQueryPolicy), obj) +} + +// MockGraphQLAllowedQueryPolicyDeletionReconciler is a mock of GraphQLAllowedQueryPolicyDeletionReconciler interface. +type MockGraphQLAllowedQueryPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockGraphQLAllowedQueryPolicyDeletionReconcilerMockRecorder +} + +// MockGraphQLAllowedQueryPolicyDeletionReconcilerMockRecorder is the mock recorder for MockGraphQLAllowedQueryPolicyDeletionReconciler. +type MockGraphQLAllowedQueryPolicyDeletionReconcilerMockRecorder struct { + mock *MockGraphQLAllowedQueryPolicyDeletionReconciler +} + +// NewMockGraphQLAllowedQueryPolicyDeletionReconciler creates a new mock instance. +func NewMockGraphQLAllowedQueryPolicyDeletionReconciler(ctrl *gomock.Controller) *MockGraphQLAllowedQueryPolicyDeletionReconciler { + mock := &MockGraphQLAllowedQueryPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockGraphQLAllowedQueryPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLAllowedQueryPolicyDeletionReconciler) EXPECT() *MockGraphQLAllowedQueryPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileGraphQLAllowedQueryPolicyDeletion mocks base method. +func (m *MockGraphQLAllowedQueryPolicyDeletionReconciler) ReconcileGraphQLAllowedQueryPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLAllowedQueryPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileGraphQLAllowedQueryPolicyDeletion indicates an expected call of ReconcileGraphQLAllowedQueryPolicyDeletion. +func (mr *MockGraphQLAllowedQueryPolicyDeletionReconcilerMockRecorder) ReconcileGraphQLAllowedQueryPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLAllowedQueryPolicyDeletion", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyDeletionReconciler)(nil).ReconcileGraphQLAllowedQueryPolicyDeletion), req) +} + +// MockGraphQLAllowedQueryPolicyFinalizer is a mock of GraphQLAllowedQueryPolicyFinalizer interface. +type MockGraphQLAllowedQueryPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockGraphQLAllowedQueryPolicyFinalizerMockRecorder +} + +// MockGraphQLAllowedQueryPolicyFinalizerMockRecorder is the mock recorder for MockGraphQLAllowedQueryPolicyFinalizer. +type MockGraphQLAllowedQueryPolicyFinalizerMockRecorder struct { + mock *MockGraphQLAllowedQueryPolicyFinalizer +} + +// NewMockGraphQLAllowedQueryPolicyFinalizer creates a new mock instance. +func NewMockGraphQLAllowedQueryPolicyFinalizer(ctrl *gomock.Controller) *MockGraphQLAllowedQueryPolicyFinalizer { + mock := &MockGraphQLAllowedQueryPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockGraphQLAllowedQueryPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLAllowedQueryPolicyFinalizer) EXPECT() *MockGraphQLAllowedQueryPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyFinalizer) FinalizeGraphQLAllowedQueryPolicy(obj *v2.GraphQLAllowedQueryPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeGraphQLAllowedQueryPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeGraphQLAllowedQueryPolicy indicates an expected call of FinalizeGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyFinalizerMockRecorder) FinalizeGraphQLAllowedQueryPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyFinalizer)(nil).FinalizeGraphQLAllowedQueryPolicy), obj) +} + +// GraphQLAllowedQueryPolicyFinalizerName mocks base method. +func (m *MockGraphQLAllowedQueryPolicyFinalizer) GraphQLAllowedQueryPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GraphQLAllowedQueryPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// GraphQLAllowedQueryPolicyFinalizerName indicates an expected call of GraphQLAllowedQueryPolicyFinalizerName. +func (mr *MockGraphQLAllowedQueryPolicyFinalizerMockRecorder) GraphQLAllowedQueryPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GraphQLAllowedQueryPolicyFinalizerName", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyFinalizer)(nil).GraphQLAllowedQueryPolicyFinalizerName)) +} + +// ReconcileGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyFinalizer) ReconcileGraphQLAllowedQueryPolicy(obj *v2.GraphQLAllowedQueryPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileGraphQLAllowedQueryPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileGraphQLAllowedQueryPolicy indicates an expected call of ReconcileGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyFinalizerMockRecorder) ReconcileGraphQLAllowedQueryPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyFinalizer)(nil).ReconcileGraphQLAllowedQueryPolicy), obj) +} + +// MockGraphQLAllowedQueryPolicyReconcileLoop is a mock of GraphQLAllowedQueryPolicyReconcileLoop interface. +type MockGraphQLAllowedQueryPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockGraphQLAllowedQueryPolicyReconcileLoopMockRecorder +} + +// MockGraphQLAllowedQueryPolicyReconcileLoopMockRecorder is the mock recorder for MockGraphQLAllowedQueryPolicyReconcileLoop. +type MockGraphQLAllowedQueryPolicyReconcileLoopMockRecorder struct { + mock *MockGraphQLAllowedQueryPolicyReconcileLoop +} + +// NewMockGraphQLAllowedQueryPolicyReconcileLoop creates a new mock instance. +func NewMockGraphQLAllowedQueryPolicyReconcileLoop(ctrl *gomock.Controller) *MockGraphQLAllowedQueryPolicyReconcileLoop { + mock := &MockGraphQLAllowedQueryPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockGraphQLAllowedQueryPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLAllowedQueryPolicyReconcileLoop) EXPECT() *MockGraphQLAllowedQueryPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunGraphQLAllowedQueryPolicyReconciler mocks base method. +func (m *MockGraphQLAllowedQueryPolicyReconcileLoop) RunGraphQLAllowedQueryPolicyReconciler(ctx context.Context, rec controller.GraphQLAllowedQueryPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunGraphQLAllowedQueryPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunGraphQLAllowedQueryPolicyReconciler indicates an expected call of RunGraphQLAllowedQueryPolicyReconciler. +func (mr *MockGraphQLAllowedQueryPolicyReconcileLoopMockRecorder) RunGraphQLAllowedQueryPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunGraphQLAllowedQueryPolicyReconciler", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyReconcileLoop)(nil).RunGraphQLAllowedQueryPolicyReconciler), varargs...) +} + +// MockDLPPolicyReconciler is a mock of DLPPolicyReconciler interface. +type MockDLPPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockDLPPolicyReconcilerMockRecorder +} + +// MockDLPPolicyReconcilerMockRecorder is the mock recorder for MockDLPPolicyReconciler. +type MockDLPPolicyReconcilerMockRecorder struct { + mock *MockDLPPolicyReconciler +} + +// NewMockDLPPolicyReconciler creates a new mock instance. +func NewMockDLPPolicyReconciler(ctrl *gomock.Controller) *MockDLPPolicyReconciler { + mock := &MockDLPPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockDLPPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDLPPolicyReconciler) EXPECT() *MockDLPPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDLPPolicy mocks base method. +func (m *MockDLPPolicyReconciler) ReconcileDLPPolicy(obj *v2.DLPPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDLPPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileDLPPolicy indicates an expected call of ReconcileDLPPolicy. +func (mr *MockDLPPolicyReconcilerMockRecorder) ReconcileDLPPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDLPPolicy", reflect.TypeOf((*MockDLPPolicyReconciler)(nil).ReconcileDLPPolicy), obj) +} + +// MockDLPPolicyDeletionReconciler is a mock of DLPPolicyDeletionReconciler interface. +type MockDLPPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockDLPPolicyDeletionReconcilerMockRecorder +} + +// MockDLPPolicyDeletionReconcilerMockRecorder is the mock recorder for MockDLPPolicyDeletionReconciler. +type MockDLPPolicyDeletionReconcilerMockRecorder struct { + mock *MockDLPPolicyDeletionReconciler +} + +// NewMockDLPPolicyDeletionReconciler creates a new mock instance. +func NewMockDLPPolicyDeletionReconciler(ctrl *gomock.Controller) *MockDLPPolicyDeletionReconciler { + mock := &MockDLPPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockDLPPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDLPPolicyDeletionReconciler) EXPECT() *MockDLPPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileDLPPolicyDeletion mocks base method. +func (m *MockDLPPolicyDeletionReconciler) ReconcileDLPPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDLPPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileDLPPolicyDeletion indicates an expected call of ReconcileDLPPolicyDeletion. +func (mr *MockDLPPolicyDeletionReconcilerMockRecorder) ReconcileDLPPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDLPPolicyDeletion", reflect.TypeOf((*MockDLPPolicyDeletionReconciler)(nil).ReconcileDLPPolicyDeletion), req) +} + +// MockDLPPolicyFinalizer is a mock of DLPPolicyFinalizer interface. +type MockDLPPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockDLPPolicyFinalizerMockRecorder +} + +// MockDLPPolicyFinalizerMockRecorder is the mock recorder for MockDLPPolicyFinalizer. +type MockDLPPolicyFinalizerMockRecorder struct { + mock *MockDLPPolicyFinalizer +} + +// NewMockDLPPolicyFinalizer creates a new mock instance. +func NewMockDLPPolicyFinalizer(ctrl *gomock.Controller) *MockDLPPolicyFinalizer { + mock := &MockDLPPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockDLPPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDLPPolicyFinalizer) EXPECT() *MockDLPPolicyFinalizerMockRecorder { + return m.recorder +} + +// DLPPolicyFinalizerName mocks base method. +func (m *MockDLPPolicyFinalizer) DLPPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DLPPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// DLPPolicyFinalizerName indicates an expected call of DLPPolicyFinalizerName. +func (mr *MockDLPPolicyFinalizerMockRecorder) DLPPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DLPPolicyFinalizerName", reflect.TypeOf((*MockDLPPolicyFinalizer)(nil).DLPPolicyFinalizerName)) +} + +// FinalizeDLPPolicy mocks base method. +func (m *MockDLPPolicyFinalizer) FinalizeDLPPolicy(obj *v2.DLPPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeDLPPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeDLPPolicy indicates an expected call of FinalizeDLPPolicy. +func (mr *MockDLPPolicyFinalizerMockRecorder) FinalizeDLPPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeDLPPolicy", reflect.TypeOf((*MockDLPPolicyFinalizer)(nil).FinalizeDLPPolicy), obj) +} + +// ReconcileDLPPolicy mocks base method. +func (m *MockDLPPolicyFinalizer) ReconcileDLPPolicy(obj *v2.DLPPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileDLPPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileDLPPolicy indicates an expected call of ReconcileDLPPolicy. +func (mr *MockDLPPolicyFinalizerMockRecorder) ReconcileDLPPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileDLPPolicy", reflect.TypeOf((*MockDLPPolicyFinalizer)(nil).ReconcileDLPPolicy), obj) +} + +// MockDLPPolicyReconcileLoop is a mock of DLPPolicyReconcileLoop interface. +type MockDLPPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockDLPPolicyReconcileLoopMockRecorder +} + +// MockDLPPolicyReconcileLoopMockRecorder is the mock recorder for MockDLPPolicyReconcileLoop. +type MockDLPPolicyReconcileLoopMockRecorder struct { + mock *MockDLPPolicyReconcileLoop +} + +// NewMockDLPPolicyReconcileLoop creates a new mock instance. +func NewMockDLPPolicyReconcileLoop(ctrl *gomock.Controller) *MockDLPPolicyReconcileLoop { + mock := &MockDLPPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockDLPPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDLPPolicyReconcileLoop) EXPECT() *MockDLPPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunDLPPolicyReconciler mocks base method. +func (m *MockDLPPolicyReconcileLoop) RunDLPPolicyReconciler(ctx context.Context, rec controller.DLPPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunDLPPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunDLPPolicyReconciler indicates an expected call of RunDLPPolicyReconciler. +func (mr *MockDLPPolicyReconcileLoopMockRecorder) RunDLPPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunDLPPolicyReconciler", reflect.TypeOf((*MockDLPPolicyReconcileLoop)(nil).RunDLPPolicyReconciler), varargs...) +} diff --git a/client-go/security.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go b/client-go/security.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..64f6039d7 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go @@ -0,0 +1,658 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + security_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the AccessPolicy Resource across clusters. +// implemented by the user +type MulticlusterAccessPolicyReconciler interface { + ReconcileAccessPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.AccessPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the AccessPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterAccessPolicyDeletionReconciler interface { + ReconcileAccessPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterAccessPolicyReconcilerFuncs struct { + OnReconcileAccessPolicy func(clusterName string, obj *security_policy_gloo_solo_io_v2.AccessPolicy) (reconcile.Result, error) + OnReconcileAccessPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterAccessPolicyReconcilerFuncs) ReconcileAccessPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.AccessPolicy) (reconcile.Result, error) { + if f.OnReconcileAccessPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileAccessPolicy(clusterName, obj) +} + +func (f *MulticlusterAccessPolicyReconcilerFuncs) ReconcileAccessPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileAccessPolicyDeletion == nil { + return nil + } + return f.OnReconcileAccessPolicyDeletion(clusterName, req) +} + +type MulticlusterAccessPolicyReconcileLoop interface { + // AddMulticlusterAccessPolicyReconciler adds a MulticlusterAccessPolicyReconciler to the MulticlusterAccessPolicyReconcileLoop. + AddMulticlusterAccessPolicyReconciler(ctx context.Context, rec MulticlusterAccessPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterAccessPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterAccessPolicyReconcileLoop) AddMulticlusterAccessPolicyReconciler(ctx context.Context, rec MulticlusterAccessPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericAccessPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterAccessPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterAccessPolicyReconcileLoop { + return &multiclusterAccessPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &security_policy_gloo_solo_io_v2.AccessPolicy{}, options)} +} + +type genericAccessPolicyMulticlusterReconciler struct { + reconciler MulticlusterAccessPolicyReconciler +} + +func (g genericAccessPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterAccessPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileAccessPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericAccessPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.AccessPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: AccessPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileAccessPolicy(cluster, obj) +} + +// Reconcile Upsert events for the CORSPolicy Resource across clusters. +// implemented by the user +type MulticlusterCORSPolicyReconciler interface { + ReconcileCORSPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.CORSPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the CORSPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterCORSPolicyDeletionReconciler interface { + ReconcileCORSPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterCORSPolicyReconcilerFuncs struct { + OnReconcileCORSPolicy func(clusterName string, obj *security_policy_gloo_solo_io_v2.CORSPolicy) (reconcile.Result, error) + OnReconcileCORSPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterCORSPolicyReconcilerFuncs) ReconcileCORSPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.CORSPolicy) (reconcile.Result, error) { + if f.OnReconcileCORSPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileCORSPolicy(clusterName, obj) +} + +func (f *MulticlusterCORSPolicyReconcilerFuncs) ReconcileCORSPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileCORSPolicyDeletion == nil { + return nil + } + return f.OnReconcileCORSPolicyDeletion(clusterName, req) +} + +type MulticlusterCORSPolicyReconcileLoop interface { + // AddMulticlusterCORSPolicyReconciler adds a MulticlusterCORSPolicyReconciler to the MulticlusterCORSPolicyReconcileLoop. + AddMulticlusterCORSPolicyReconciler(ctx context.Context, rec MulticlusterCORSPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterCORSPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterCORSPolicyReconcileLoop) AddMulticlusterCORSPolicyReconciler(ctx context.Context, rec MulticlusterCORSPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericCORSPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterCORSPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterCORSPolicyReconcileLoop { + return &multiclusterCORSPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &security_policy_gloo_solo_io_v2.CORSPolicy{}, options)} +} + +type genericCORSPolicyMulticlusterReconciler struct { + reconciler MulticlusterCORSPolicyReconciler +} + +func (g genericCORSPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterCORSPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileCORSPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericCORSPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.CORSPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: CORSPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileCORSPolicy(cluster, obj) +} + +// Reconcile Upsert events for the CSRFPolicy Resource across clusters. +// implemented by the user +type MulticlusterCSRFPolicyReconciler interface { + ReconcileCSRFPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.CSRFPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the CSRFPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterCSRFPolicyDeletionReconciler interface { + ReconcileCSRFPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterCSRFPolicyReconcilerFuncs struct { + OnReconcileCSRFPolicy func(clusterName string, obj *security_policy_gloo_solo_io_v2.CSRFPolicy) (reconcile.Result, error) + OnReconcileCSRFPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterCSRFPolicyReconcilerFuncs) ReconcileCSRFPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.CSRFPolicy) (reconcile.Result, error) { + if f.OnReconcileCSRFPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileCSRFPolicy(clusterName, obj) +} + +func (f *MulticlusterCSRFPolicyReconcilerFuncs) ReconcileCSRFPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileCSRFPolicyDeletion == nil { + return nil + } + return f.OnReconcileCSRFPolicyDeletion(clusterName, req) +} + +type MulticlusterCSRFPolicyReconcileLoop interface { + // AddMulticlusterCSRFPolicyReconciler adds a MulticlusterCSRFPolicyReconciler to the MulticlusterCSRFPolicyReconcileLoop. + AddMulticlusterCSRFPolicyReconciler(ctx context.Context, rec MulticlusterCSRFPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterCSRFPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterCSRFPolicyReconcileLoop) AddMulticlusterCSRFPolicyReconciler(ctx context.Context, rec MulticlusterCSRFPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericCSRFPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterCSRFPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterCSRFPolicyReconcileLoop { + return &multiclusterCSRFPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &security_policy_gloo_solo_io_v2.CSRFPolicy{}, options)} +} + +type genericCSRFPolicyMulticlusterReconciler struct { + reconciler MulticlusterCSRFPolicyReconciler +} + +func (g genericCSRFPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterCSRFPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileCSRFPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericCSRFPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.CSRFPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: CSRFPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileCSRFPolicy(cluster, obj) +} + +// Reconcile Upsert events for the ExtAuthPolicy Resource across clusters. +// implemented by the user +type MulticlusterExtAuthPolicyReconciler interface { + ReconcileExtAuthPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the ExtAuthPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterExtAuthPolicyDeletionReconciler interface { + ReconcileExtAuthPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterExtAuthPolicyReconcilerFuncs struct { + OnReconcileExtAuthPolicy func(clusterName string, obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) (reconcile.Result, error) + OnReconcileExtAuthPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterExtAuthPolicyReconcilerFuncs) ReconcileExtAuthPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) (reconcile.Result, error) { + if f.OnReconcileExtAuthPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileExtAuthPolicy(clusterName, obj) +} + +func (f *MulticlusterExtAuthPolicyReconcilerFuncs) ReconcileExtAuthPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileExtAuthPolicyDeletion == nil { + return nil + } + return f.OnReconcileExtAuthPolicyDeletion(clusterName, req) +} + +type MulticlusterExtAuthPolicyReconcileLoop interface { + // AddMulticlusterExtAuthPolicyReconciler adds a MulticlusterExtAuthPolicyReconciler to the MulticlusterExtAuthPolicyReconcileLoop. + AddMulticlusterExtAuthPolicyReconciler(ctx context.Context, rec MulticlusterExtAuthPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterExtAuthPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterExtAuthPolicyReconcileLoop) AddMulticlusterExtAuthPolicyReconciler(ctx context.Context, rec MulticlusterExtAuthPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericExtAuthPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterExtAuthPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterExtAuthPolicyReconcileLoop { + return &multiclusterExtAuthPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &security_policy_gloo_solo_io_v2.ExtAuthPolicy{}, options)} +} + +type genericExtAuthPolicyMulticlusterReconciler struct { + reconciler MulticlusterExtAuthPolicyReconciler +} + +func (g genericExtAuthPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterExtAuthPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileExtAuthPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericExtAuthPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ExtAuthPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileExtAuthPolicy(cluster, obj) +} + +// Reconcile Upsert events for the WAFPolicy Resource across clusters. +// implemented by the user +type MulticlusterWAFPolicyReconciler interface { + ReconcileWAFPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.WAFPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the WAFPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterWAFPolicyDeletionReconciler interface { + ReconcileWAFPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterWAFPolicyReconcilerFuncs struct { + OnReconcileWAFPolicy func(clusterName string, obj *security_policy_gloo_solo_io_v2.WAFPolicy) (reconcile.Result, error) + OnReconcileWAFPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterWAFPolicyReconcilerFuncs) ReconcileWAFPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.WAFPolicy) (reconcile.Result, error) { + if f.OnReconcileWAFPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileWAFPolicy(clusterName, obj) +} + +func (f *MulticlusterWAFPolicyReconcilerFuncs) ReconcileWAFPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileWAFPolicyDeletion == nil { + return nil + } + return f.OnReconcileWAFPolicyDeletion(clusterName, req) +} + +type MulticlusterWAFPolicyReconcileLoop interface { + // AddMulticlusterWAFPolicyReconciler adds a MulticlusterWAFPolicyReconciler to the MulticlusterWAFPolicyReconcileLoop. + AddMulticlusterWAFPolicyReconciler(ctx context.Context, rec MulticlusterWAFPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterWAFPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterWAFPolicyReconcileLoop) AddMulticlusterWAFPolicyReconciler(ctx context.Context, rec MulticlusterWAFPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericWAFPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterWAFPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterWAFPolicyReconcileLoop { + return &multiclusterWAFPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &security_policy_gloo_solo_io_v2.WAFPolicy{}, options)} +} + +type genericWAFPolicyMulticlusterReconciler struct { + reconciler MulticlusterWAFPolicyReconciler +} + +func (g genericWAFPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterWAFPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileWAFPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericWAFPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.WAFPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: WAFPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileWAFPolicy(cluster, obj) +} + +// Reconcile Upsert events for the JWTPolicy Resource across clusters. +// implemented by the user +type MulticlusterJWTPolicyReconciler interface { + ReconcileJWTPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.JWTPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the JWTPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterJWTPolicyDeletionReconciler interface { + ReconcileJWTPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterJWTPolicyReconcilerFuncs struct { + OnReconcileJWTPolicy func(clusterName string, obj *security_policy_gloo_solo_io_v2.JWTPolicy) (reconcile.Result, error) + OnReconcileJWTPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterJWTPolicyReconcilerFuncs) ReconcileJWTPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.JWTPolicy) (reconcile.Result, error) { + if f.OnReconcileJWTPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileJWTPolicy(clusterName, obj) +} + +func (f *MulticlusterJWTPolicyReconcilerFuncs) ReconcileJWTPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileJWTPolicyDeletion == nil { + return nil + } + return f.OnReconcileJWTPolicyDeletion(clusterName, req) +} + +type MulticlusterJWTPolicyReconcileLoop interface { + // AddMulticlusterJWTPolicyReconciler adds a MulticlusterJWTPolicyReconciler to the MulticlusterJWTPolicyReconcileLoop. + AddMulticlusterJWTPolicyReconciler(ctx context.Context, rec MulticlusterJWTPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterJWTPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterJWTPolicyReconcileLoop) AddMulticlusterJWTPolicyReconciler(ctx context.Context, rec MulticlusterJWTPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericJWTPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterJWTPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterJWTPolicyReconcileLoop { + return &multiclusterJWTPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &security_policy_gloo_solo_io_v2.JWTPolicy{}, options)} +} + +type genericJWTPolicyMulticlusterReconciler struct { + reconciler MulticlusterJWTPolicyReconciler +} + +func (g genericJWTPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterJWTPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileJWTPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericJWTPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.JWTPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: JWTPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileJWTPolicy(cluster, obj) +} + +// Reconcile Upsert events for the ClientTLSPolicy Resource across clusters. +// implemented by the user +type MulticlusterClientTLSPolicyReconciler interface { + ReconcileClientTLSPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the ClientTLSPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterClientTLSPolicyDeletionReconciler interface { + ReconcileClientTLSPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterClientTLSPolicyReconcilerFuncs struct { + OnReconcileClientTLSPolicy func(clusterName string, obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) (reconcile.Result, error) + OnReconcileClientTLSPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterClientTLSPolicyReconcilerFuncs) ReconcileClientTLSPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) (reconcile.Result, error) { + if f.OnReconcileClientTLSPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileClientTLSPolicy(clusterName, obj) +} + +func (f *MulticlusterClientTLSPolicyReconcilerFuncs) ReconcileClientTLSPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileClientTLSPolicyDeletion == nil { + return nil + } + return f.OnReconcileClientTLSPolicyDeletion(clusterName, req) +} + +type MulticlusterClientTLSPolicyReconcileLoop interface { + // AddMulticlusterClientTLSPolicyReconciler adds a MulticlusterClientTLSPolicyReconciler to the MulticlusterClientTLSPolicyReconcileLoop. + AddMulticlusterClientTLSPolicyReconciler(ctx context.Context, rec MulticlusterClientTLSPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterClientTLSPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterClientTLSPolicyReconcileLoop) AddMulticlusterClientTLSPolicyReconciler(ctx context.Context, rec MulticlusterClientTLSPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericClientTLSPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterClientTLSPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterClientTLSPolicyReconcileLoop { + return &multiclusterClientTLSPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &security_policy_gloo_solo_io_v2.ClientTLSPolicy{}, options)} +} + +type genericClientTLSPolicyMulticlusterReconciler struct { + reconciler MulticlusterClientTLSPolicyReconciler +} + +func (g genericClientTLSPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterClientTLSPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileClientTLSPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericClientTLSPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ClientTLSPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileClientTLSPolicy(cluster, obj) +} + +// Reconcile Upsert events for the GraphQLAllowedQueryPolicy Resource across clusters. +// implemented by the user +type MulticlusterGraphQLAllowedQueryPolicyReconciler interface { + ReconcileGraphQLAllowedQueryPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the GraphQLAllowedQueryPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterGraphQLAllowedQueryPolicyDeletionReconciler interface { + ReconcileGraphQLAllowedQueryPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterGraphQLAllowedQueryPolicyReconcilerFuncs struct { + OnReconcileGraphQLAllowedQueryPolicy func(clusterName string, obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) (reconcile.Result, error) + OnReconcileGraphQLAllowedQueryPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterGraphQLAllowedQueryPolicyReconcilerFuncs) ReconcileGraphQLAllowedQueryPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) (reconcile.Result, error) { + if f.OnReconcileGraphQLAllowedQueryPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileGraphQLAllowedQueryPolicy(clusterName, obj) +} + +func (f *MulticlusterGraphQLAllowedQueryPolicyReconcilerFuncs) ReconcileGraphQLAllowedQueryPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileGraphQLAllowedQueryPolicyDeletion == nil { + return nil + } + return f.OnReconcileGraphQLAllowedQueryPolicyDeletion(clusterName, req) +} + +type MulticlusterGraphQLAllowedQueryPolicyReconcileLoop interface { + // AddMulticlusterGraphQLAllowedQueryPolicyReconciler adds a MulticlusterGraphQLAllowedQueryPolicyReconciler to the MulticlusterGraphQLAllowedQueryPolicyReconcileLoop. + AddMulticlusterGraphQLAllowedQueryPolicyReconciler(ctx context.Context, rec MulticlusterGraphQLAllowedQueryPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterGraphQLAllowedQueryPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterGraphQLAllowedQueryPolicyReconcileLoop) AddMulticlusterGraphQLAllowedQueryPolicyReconciler(ctx context.Context, rec MulticlusterGraphQLAllowedQueryPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericGraphQLAllowedQueryPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterGraphQLAllowedQueryPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterGraphQLAllowedQueryPolicyReconcileLoop { + return &multiclusterGraphQLAllowedQueryPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy{}, options)} +} + +type genericGraphQLAllowedQueryPolicyMulticlusterReconciler struct { + reconciler MulticlusterGraphQLAllowedQueryPolicyReconciler +} + +func (g genericGraphQLAllowedQueryPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterGraphQLAllowedQueryPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileGraphQLAllowedQueryPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericGraphQLAllowedQueryPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: GraphQLAllowedQueryPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileGraphQLAllowedQueryPolicy(cluster, obj) +} + +// Reconcile Upsert events for the DLPPolicy Resource across clusters. +// implemented by the user +type MulticlusterDLPPolicyReconciler interface { + ReconcileDLPPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.DLPPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the DLPPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterDLPPolicyDeletionReconciler interface { + ReconcileDLPPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterDLPPolicyReconcilerFuncs struct { + OnReconcileDLPPolicy func(clusterName string, obj *security_policy_gloo_solo_io_v2.DLPPolicy) (reconcile.Result, error) + OnReconcileDLPPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterDLPPolicyReconcilerFuncs) ReconcileDLPPolicy(clusterName string, obj *security_policy_gloo_solo_io_v2.DLPPolicy) (reconcile.Result, error) { + if f.OnReconcileDLPPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileDLPPolicy(clusterName, obj) +} + +func (f *MulticlusterDLPPolicyReconcilerFuncs) ReconcileDLPPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileDLPPolicyDeletion == nil { + return nil + } + return f.OnReconcileDLPPolicyDeletion(clusterName, req) +} + +type MulticlusterDLPPolicyReconcileLoop interface { + // AddMulticlusterDLPPolicyReconciler adds a MulticlusterDLPPolicyReconciler to the MulticlusterDLPPolicyReconcileLoop. + AddMulticlusterDLPPolicyReconciler(ctx context.Context, rec MulticlusterDLPPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterDLPPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterDLPPolicyReconcileLoop) AddMulticlusterDLPPolicyReconciler(ctx context.Context, rec MulticlusterDLPPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericDLPPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterDLPPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterDLPPolicyReconcileLoop { + return &multiclusterDLPPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &security_policy_gloo_solo_io_v2.DLPPolicy{}, options)} +} + +type genericDLPPolicyMulticlusterReconciler struct { + reconciler MulticlusterDLPPolicyReconciler +} + +func (g genericDLPPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterDLPPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileDLPPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericDLPPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.DLPPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: DLPPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileDLPPolicy(cluster, obj) +} diff --git a/client-go/security.policy.gloo.solo.io/v2/controller/reconcilers.go b/client-go/security.policy.gloo.solo.io/v2/controller/reconcilers.go new file mode 100644 index 000000000..42854ee90 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/controller/reconcilers.go @@ -0,0 +1,1071 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + security_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the AccessPolicy Resource. +// implemented by the user +type AccessPolicyReconciler interface { + ReconcileAccessPolicy(obj *security_policy_gloo_solo_io_v2.AccessPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the AccessPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type AccessPolicyDeletionReconciler interface { + ReconcileAccessPolicyDeletion(req reconcile.Request) error +} + +type AccessPolicyReconcilerFuncs struct { + OnReconcileAccessPolicy func(obj *security_policy_gloo_solo_io_v2.AccessPolicy) (reconcile.Result, error) + OnReconcileAccessPolicyDeletion func(req reconcile.Request) error +} + +func (f *AccessPolicyReconcilerFuncs) ReconcileAccessPolicy(obj *security_policy_gloo_solo_io_v2.AccessPolicy) (reconcile.Result, error) { + if f.OnReconcileAccessPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileAccessPolicy(obj) +} + +func (f *AccessPolicyReconcilerFuncs) ReconcileAccessPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileAccessPolicyDeletion == nil { + return nil + } + return f.OnReconcileAccessPolicyDeletion(req) +} + +// Reconcile and finalize the AccessPolicy Resource +// implemented by the user +type AccessPolicyFinalizer interface { + AccessPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + AccessPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeAccessPolicy(obj *security_policy_gloo_solo_io_v2.AccessPolicy) error +} + +type AccessPolicyReconcileLoop interface { + RunAccessPolicyReconciler(ctx context.Context, rec AccessPolicyReconciler, predicates ...predicate.Predicate) error +} + +type accessPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewAccessPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) AccessPolicyReconcileLoop { + return &accessPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &security_policy_gloo_solo_io_v2.AccessPolicy{}, options), + } +} + +func (c *accessPolicyReconcileLoop) RunAccessPolicyReconciler(ctx context.Context, reconciler AccessPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericAccessPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(AccessPolicyFinalizer); ok { + reconcilerWrapper = genericAccessPolicyFinalizer{ + genericAccessPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericAccessPolicyHandler implements a generic reconcile.Reconciler +type genericAccessPolicyReconciler struct { + reconciler AccessPolicyReconciler +} + +func (r genericAccessPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.AccessPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: AccessPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileAccessPolicy(obj) +} + +func (r genericAccessPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(AccessPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileAccessPolicyDeletion(request) + } + return nil +} + +// genericAccessPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericAccessPolicyFinalizer struct { + genericAccessPolicyReconciler + finalizingReconciler AccessPolicyFinalizer +} + +func (r genericAccessPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.AccessPolicyFinalizerName() +} + +func (r genericAccessPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.AccessPolicy) + if !ok { + return errors.Errorf("internal error: AccessPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeAccessPolicy(obj) +} + +// Reconcile Upsert events for the CORSPolicy Resource. +// implemented by the user +type CORSPolicyReconciler interface { + ReconcileCORSPolicy(obj *security_policy_gloo_solo_io_v2.CORSPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the CORSPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type CORSPolicyDeletionReconciler interface { + ReconcileCORSPolicyDeletion(req reconcile.Request) error +} + +type CORSPolicyReconcilerFuncs struct { + OnReconcileCORSPolicy func(obj *security_policy_gloo_solo_io_v2.CORSPolicy) (reconcile.Result, error) + OnReconcileCORSPolicyDeletion func(req reconcile.Request) error +} + +func (f *CORSPolicyReconcilerFuncs) ReconcileCORSPolicy(obj *security_policy_gloo_solo_io_v2.CORSPolicy) (reconcile.Result, error) { + if f.OnReconcileCORSPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileCORSPolicy(obj) +} + +func (f *CORSPolicyReconcilerFuncs) ReconcileCORSPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileCORSPolicyDeletion == nil { + return nil + } + return f.OnReconcileCORSPolicyDeletion(req) +} + +// Reconcile and finalize the CORSPolicy Resource +// implemented by the user +type CORSPolicyFinalizer interface { + CORSPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + CORSPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeCORSPolicy(obj *security_policy_gloo_solo_io_v2.CORSPolicy) error +} + +type CORSPolicyReconcileLoop interface { + RunCORSPolicyReconciler(ctx context.Context, rec CORSPolicyReconciler, predicates ...predicate.Predicate) error +} + +type cORSPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewCORSPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) CORSPolicyReconcileLoop { + return &cORSPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &security_policy_gloo_solo_io_v2.CORSPolicy{}, options), + } +} + +func (c *cORSPolicyReconcileLoop) RunCORSPolicyReconciler(ctx context.Context, reconciler CORSPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericCORSPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(CORSPolicyFinalizer); ok { + reconcilerWrapper = genericCORSPolicyFinalizer{ + genericCORSPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericCORSPolicyHandler implements a generic reconcile.Reconciler +type genericCORSPolicyReconciler struct { + reconciler CORSPolicyReconciler +} + +func (r genericCORSPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.CORSPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: CORSPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileCORSPolicy(obj) +} + +func (r genericCORSPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(CORSPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileCORSPolicyDeletion(request) + } + return nil +} + +// genericCORSPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericCORSPolicyFinalizer struct { + genericCORSPolicyReconciler + finalizingReconciler CORSPolicyFinalizer +} + +func (r genericCORSPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.CORSPolicyFinalizerName() +} + +func (r genericCORSPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.CORSPolicy) + if !ok { + return errors.Errorf("internal error: CORSPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeCORSPolicy(obj) +} + +// Reconcile Upsert events for the CSRFPolicy Resource. +// implemented by the user +type CSRFPolicyReconciler interface { + ReconcileCSRFPolicy(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the CSRFPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type CSRFPolicyDeletionReconciler interface { + ReconcileCSRFPolicyDeletion(req reconcile.Request) error +} + +type CSRFPolicyReconcilerFuncs struct { + OnReconcileCSRFPolicy func(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) (reconcile.Result, error) + OnReconcileCSRFPolicyDeletion func(req reconcile.Request) error +} + +func (f *CSRFPolicyReconcilerFuncs) ReconcileCSRFPolicy(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) (reconcile.Result, error) { + if f.OnReconcileCSRFPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileCSRFPolicy(obj) +} + +func (f *CSRFPolicyReconcilerFuncs) ReconcileCSRFPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileCSRFPolicyDeletion == nil { + return nil + } + return f.OnReconcileCSRFPolicyDeletion(req) +} + +// Reconcile and finalize the CSRFPolicy Resource +// implemented by the user +type CSRFPolicyFinalizer interface { + CSRFPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + CSRFPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeCSRFPolicy(obj *security_policy_gloo_solo_io_v2.CSRFPolicy) error +} + +type CSRFPolicyReconcileLoop interface { + RunCSRFPolicyReconciler(ctx context.Context, rec CSRFPolicyReconciler, predicates ...predicate.Predicate) error +} + +type cSRFPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewCSRFPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) CSRFPolicyReconcileLoop { + return &cSRFPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &security_policy_gloo_solo_io_v2.CSRFPolicy{}, options), + } +} + +func (c *cSRFPolicyReconcileLoop) RunCSRFPolicyReconciler(ctx context.Context, reconciler CSRFPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericCSRFPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(CSRFPolicyFinalizer); ok { + reconcilerWrapper = genericCSRFPolicyFinalizer{ + genericCSRFPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericCSRFPolicyHandler implements a generic reconcile.Reconciler +type genericCSRFPolicyReconciler struct { + reconciler CSRFPolicyReconciler +} + +func (r genericCSRFPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.CSRFPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: CSRFPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileCSRFPolicy(obj) +} + +func (r genericCSRFPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(CSRFPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileCSRFPolicyDeletion(request) + } + return nil +} + +// genericCSRFPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericCSRFPolicyFinalizer struct { + genericCSRFPolicyReconciler + finalizingReconciler CSRFPolicyFinalizer +} + +func (r genericCSRFPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.CSRFPolicyFinalizerName() +} + +func (r genericCSRFPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.CSRFPolicy) + if !ok { + return errors.Errorf("internal error: CSRFPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeCSRFPolicy(obj) +} + +// Reconcile Upsert events for the ExtAuthPolicy Resource. +// implemented by the user +type ExtAuthPolicyReconciler interface { + ReconcileExtAuthPolicy(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the ExtAuthPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ExtAuthPolicyDeletionReconciler interface { + ReconcileExtAuthPolicyDeletion(req reconcile.Request) error +} + +type ExtAuthPolicyReconcilerFuncs struct { + OnReconcileExtAuthPolicy func(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) (reconcile.Result, error) + OnReconcileExtAuthPolicyDeletion func(req reconcile.Request) error +} + +func (f *ExtAuthPolicyReconcilerFuncs) ReconcileExtAuthPolicy(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) (reconcile.Result, error) { + if f.OnReconcileExtAuthPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileExtAuthPolicy(obj) +} + +func (f *ExtAuthPolicyReconcilerFuncs) ReconcileExtAuthPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileExtAuthPolicyDeletion == nil { + return nil + } + return f.OnReconcileExtAuthPolicyDeletion(req) +} + +// Reconcile and finalize the ExtAuthPolicy Resource +// implemented by the user +type ExtAuthPolicyFinalizer interface { + ExtAuthPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ExtAuthPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeExtAuthPolicy(obj *security_policy_gloo_solo_io_v2.ExtAuthPolicy) error +} + +type ExtAuthPolicyReconcileLoop interface { + RunExtAuthPolicyReconciler(ctx context.Context, rec ExtAuthPolicyReconciler, predicates ...predicate.Predicate) error +} + +type extAuthPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewExtAuthPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ExtAuthPolicyReconcileLoop { + return &extAuthPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &security_policy_gloo_solo_io_v2.ExtAuthPolicy{}, options), + } +} + +func (c *extAuthPolicyReconcileLoop) RunExtAuthPolicyReconciler(ctx context.Context, reconciler ExtAuthPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericExtAuthPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ExtAuthPolicyFinalizer); ok { + reconcilerWrapper = genericExtAuthPolicyFinalizer{ + genericExtAuthPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericExtAuthPolicyHandler implements a generic reconcile.Reconciler +type genericExtAuthPolicyReconciler struct { + reconciler ExtAuthPolicyReconciler +} + +func (r genericExtAuthPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ExtAuthPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileExtAuthPolicy(obj) +} + +func (r genericExtAuthPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ExtAuthPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileExtAuthPolicyDeletion(request) + } + return nil +} + +// genericExtAuthPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericExtAuthPolicyFinalizer struct { + genericExtAuthPolicyReconciler + finalizingReconciler ExtAuthPolicyFinalizer +} + +func (r genericExtAuthPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.ExtAuthPolicyFinalizerName() +} + +func (r genericExtAuthPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) + if !ok { + return errors.Errorf("internal error: ExtAuthPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeExtAuthPolicy(obj) +} + +// Reconcile Upsert events for the WAFPolicy Resource. +// implemented by the user +type WAFPolicyReconciler interface { + ReconcileWAFPolicy(obj *security_policy_gloo_solo_io_v2.WAFPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the WAFPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type WAFPolicyDeletionReconciler interface { + ReconcileWAFPolicyDeletion(req reconcile.Request) error +} + +type WAFPolicyReconcilerFuncs struct { + OnReconcileWAFPolicy func(obj *security_policy_gloo_solo_io_v2.WAFPolicy) (reconcile.Result, error) + OnReconcileWAFPolicyDeletion func(req reconcile.Request) error +} + +func (f *WAFPolicyReconcilerFuncs) ReconcileWAFPolicy(obj *security_policy_gloo_solo_io_v2.WAFPolicy) (reconcile.Result, error) { + if f.OnReconcileWAFPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileWAFPolicy(obj) +} + +func (f *WAFPolicyReconcilerFuncs) ReconcileWAFPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileWAFPolicyDeletion == nil { + return nil + } + return f.OnReconcileWAFPolicyDeletion(req) +} + +// Reconcile and finalize the WAFPolicy Resource +// implemented by the user +type WAFPolicyFinalizer interface { + WAFPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + WAFPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeWAFPolicy(obj *security_policy_gloo_solo_io_v2.WAFPolicy) error +} + +type WAFPolicyReconcileLoop interface { + RunWAFPolicyReconciler(ctx context.Context, rec WAFPolicyReconciler, predicates ...predicate.Predicate) error +} + +type wAFPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewWAFPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) WAFPolicyReconcileLoop { + return &wAFPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &security_policy_gloo_solo_io_v2.WAFPolicy{}, options), + } +} + +func (c *wAFPolicyReconcileLoop) RunWAFPolicyReconciler(ctx context.Context, reconciler WAFPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericWAFPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(WAFPolicyFinalizer); ok { + reconcilerWrapper = genericWAFPolicyFinalizer{ + genericWAFPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericWAFPolicyHandler implements a generic reconcile.Reconciler +type genericWAFPolicyReconciler struct { + reconciler WAFPolicyReconciler +} + +func (r genericWAFPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.WAFPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: WAFPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileWAFPolicy(obj) +} + +func (r genericWAFPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(WAFPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileWAFPolicyDeletion(request) + } + return nil +} + +// genericWAFPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericWAFPolicyFinalizer struct { + genericWAFPolicyReconciler + finalizingReconciler WAFPolicyFinalizer +} + +func (r genericWAFPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.WAFPolicyFinalizerName() +} + +func (r genericWAFPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.WAFPolicy) + if !ok { + return errors.Errorf("internal error: WAFPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeWAFPolicy(obj) +} + +// Reconcile Upsert events for the JWTPolicy Resource. +// implemented by the user +type JWTPolicyReconciler interface { + ReconcileJWTPolicy(obj *security_policy_gloo_solo_io_v2.JWTPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the JWTPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type JWTPolicyDeletionReconciler interface { + ReconcileJWTPolicyDeletion(req reconcile.Request) error +} + +type JWTPolicyReconcilerFuncs struct { + OnReconcileJWTPolicy func(obj *security_policy_gloo_solo_io_v2.JWTPolicy) (reconcile.Result, error) + OnReconcileJWTPolicyDeletion func(req reconcile.Request) error +} + +func (f *JWTPolicyReconcilerFuncs) ReconcileJWTPolicy(obj *security_policy_gloo_solo_io_v2.JWTPolicy) (reconcile.Result, error) { + if f.OnReconcileJWTPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileJWTPolicy(obj) +} + +func (f *JWTPolicyReconcilerFuncs) ReconcileJWTPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileJWTPolicyDeletion == nil { + return nil + } + return f.OnReconcileJWTPolicyDeletion(req) +} + +// Reconcile and finalize the JWTPolicy Resource +// implemented by the user +type JWTPolicyFinalizer interface { + JWTPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + JWTPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeJWTPolicy(obj *security_policy_gloo_solo_io_v2.JWTPolicy) error +} + +type JWTPolicyReconcileLoop interface { + RunJWTPolicyReconciler(ctx context.Context, rec JWTPolicyReconciler, predicates ...predicate.Predicate) error +} + +type jWTPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewJWTPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) JWTPolicyReconcileLoop { + return &jWTPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &security_policy_gloo_solo_io_v2.JWTPolicy{}, options), + } +} + +func (c *jWTPolicyReconcileLoop) RunJWTPolicyReconciler(ctx context.Context, reconciler JWTPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericJWTPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(JWTPolicyFinalizer); ok { + reconcilerWrapper = genericJWTPolicyFinalizer{ + genericJWTPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericJWTPolicyHandler implements a generic reconcile.Reconciler +type genericJWTPolicyReconciler struct { + reconciler JWTPolicyReconciler +} + +func (r genericJWTPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.JWTPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: JWTPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileJWTPolicy(obj) +} + +func (r genericJWTPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(JWTPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileJWTPolicyDeletion(request) + } + return nil +} + +// genericJWTPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericJWTPolicyFinalizer struct { + genericJWTPolicyReconciler + finalizingReconciler JWTPolicyFinalizer +} + +func (r genericJWTPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.JWTPolicyFinalizerName() +} + +func (r genericJWTPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.JWTPolicy) + if !ok { + return errors.Errorf("internal error: JWTPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeJWTPolicy(obj) +} + +// Reconcile Upsert events for the ClientTLSPolicy Resource. +// implemented by the user +type ClientTLSPolicyReconciler interface { + ReconcileClientTLSPolicy(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the ClientTLSPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ClientTLSPolicyDeletionReconciler interface { + ReconcileClientTLSPolicyDeletion(req reconcile.Request) error +} + +type ClientTLSPolicyReconcilerFuncs struct { + OnReconcileClientTLSPolicy func(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) (reconcile.Result, error) + OnReconcileClientTLSPolicyDeletion func(req reconcile.Request) error +} + +func (f *ClientTLSPolicyReconcilerFuncs) ReconcileClientTLSPolicy(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) (reconcile.Result, error) { + if f.OnReconcileClientTLSPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileClientTLSPolicy(obj) +} + +func (f *ClientTLSPolicyReconcilerFuncs) ReconcileClientTLSPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileClientTLSPolicyDeletion == nil { + return nil + } + return f.OnReconcileClientTLSPolicyDeletion(req) +} + +// Reconcile and finalize the ClientTLSPolicy Resource +// implemented by the user +type ClientTLSPolicyFinalizer interface { + ClientTLSPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ClientTLSPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeClientTLSPolicy(obj *security_policy_gloo_solo_io_v2.ClientTLSPolicy) error +} + +type ClientTLSPolicyReconcileLoop interface { + RunClientTLSPolicyReconciler(ctx context.Context, rec ClientTLSPolicyReconciler, predicates ...predicate.Predicate) error +} + +type clientTLSPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewClientTLSPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ClientTLSPolicyReconcileLoop { + return &clientTLSPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &security_policy_gloo_solo_io_v2.ClientTLSPolicy{}, options), + } +} + +func (c *clientTLSPolicyReconcileLoop) RunClientTLSPolicyReconciler(ctx context.Context, reconciler ClientTLSPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericClientTLSPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ClientTLSPolicyFinalizer); ok { + reconcilerWrapper = genericClientTLSPolicyFinalizer{ + genericClientTLSPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericClientTLSPolicyHandler implements a generic reconcile.Reconciler +type genericClientTLSPolicyReconciler struct { + reconciler ClientTLSPolicyReconciler +} + +func (r genericClientTLSPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ClientTLSPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileClientTLSPolicy(obj) +} + +func (r genericClientTLSPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ClientTLSPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileClientTLSPolicyDeletion(request) + } + return nil +} + +// genericClientTLSPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericClientTLSPolicyFinalizer struct { + genericClientTLSPolicyReconciler + finalizingReconciler ClientTLSPolicyFinalizer +} + +func (r genericClientTLSPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.ClientTLSPolicyFinalizerName() +} + +func (r genericClientTLSPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) + if !ok { + return errors.Errorf("internal error: ClientTLSPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeClientTLSPolicy(obj) +} + +// Reconcile Upsert events for the GraphQLAllowedQueryPolicy Resource. +// implemented by the user +type GraphQLAllowedQueryPolicyReconciler interface { + ReconcileGraphQLAllowedQueryPolicy(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the GraphQLAllowedQueryPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type GraphQLAllowedQueryPolicyDeletionReconciler interface { + ReconcileGraphQLAllowedQueryPolicyDeletion(req reconcile.Request) error +} + +type GraphQLAllowedQueryPolicyReconcilerFuncs struct { + OnReconcileGraphQLAllowedQueryPolicy func(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) (reconcile.Result, error) + OnReconcileGraphQLAllowedQueryPolicyDeletion func(req reconcile.Request) error +} + +func (f *GraphQLAllowedQueryPolicyReconcilerFuncs) ReconcileGraphQLAllowedQueryPolicy(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) (reconcile.Result, error) { + if f.OnReconcileGraphQLAllowedQueryPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileGraphQLAllowedQueryPolicy(obj) +} + +func (f *GraphQLAllowedQueryPolicyReconcilerFuncs) ReconcileGraphQLAllowedQueryPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileGraphQLAllowedQueryPolicyDeletion == nil { + return nil + } + return f.OnReconcileGraphQLAllowedQueryPolicyDeletion(req) +} + +// Reconcile and finalize the GraphQLAllowedQueryPolicy Resource +// implemented by the user +type GraphQLAllowedQueryPolicyFinalizer interface { + GraphQLAllowedQueryPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + GraphQLAllowedQueryPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeGraphQLAllowedQueryPolicy(obj *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) error +} + +type GraphQLAllowedQueryPolicyReconcileLoop interface { + RunGraphQLAllowedQueryPolicyReconciler(ctx context.Context, rec GraphQLAllowedQueryPolicyReconciler, predicates ...predicate.Predicate) error +} + +type graphQLAllowedQueryPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewGraphQLAllowedQueryPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) GraphQLAllowedQueryPolicyReconcileLoop { + return &graphQLAllowedQueryPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy{}, options), + } +} + +func (c *graphQLAllowedQueryPolicyReconcileLoop) RunGraphQLAllowedQueryPolicyReconciler(ctx context.Context, reconciler GraphQLAllowedQueryPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericGraphQLAllowedQueryPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(GraphQLAllowedQueryPolicyFinalizer); ok { + reconcilerWrapper = genericGraphQLAllowedQueryPolicyFinalizer{ + genericGraphQLAllowedQueryPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericGraphQLAllowedQueryPolicyHandler implements a generic reconcile.Reconciler +type genericGraphQLAllowedQueryPolicyReconciler struct { + reconciler GraphQLAllowedQueryPolicyReconciler +} + +func (r genericGraphQLAllowedQueryPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: GraphQLAllowedQueryPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileGraphQLAllowedQueryPolicy(obj) +} + +func (r genericGraphQLAllowedQueryPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(GraphQLAllowedQueryPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileGraphQLAllowedQueryPolicyDeletion(request) + } + return nil +} + +// genericGraphQLAllowedQueryPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericGraphQLAllowedQueryPolicyFinalizer struct { + genericGraphQLAllowedQueryPolicyReconciler + finalizingReconciler GraphQLAllowedQueryPolicyFinalizer +} + +func (r genericGraphQLAllowedQueryPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.GraphQLAllowedQueryPolicyFinalizerName() +} + +func (r genericGraphQLAllowedQueryPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) + if !ok { + return errors.Errorf("internal error: GraphQLAllowedQueryPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeGraphQLAllowedQueryPolicy(obj) +} + +// Reconcile Upsert events for the DLPPolicy Resource. +// implemented by the user +type DLPPolicyReconciler interface { + ReconcileDLPPolicy(obj *security_policy_gloo_solo_io_v2.DLPPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the DLPPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type DLPPolicyDeletionReconciler interface { + ReconcileDLPPolicyDeletion(req reconcile.Request) error +} + +type DLPPolicyReconcilerFuncs struct { + OnReconcileDLPPolicy func(obj *security_policy_gloo_solo_io_v2.DLPPolicy) (reconcile.Result, error) + OnReconcileDLPPolicyDeletion func(req reconcile.Request) error +} + +func (f *DLPPolicyReconcilerFuncs) ReconcileDLPPolicy(obj *security_policy_gloo_solo_io_v2.DLPPolicy) (reconcile.Result, error) { + if f.OnReconcileDLPPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileDLPPolicy(obj) +} + +func (f *DLPPolicyReconcilerFuncs) ReconcileDLPPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileDLPPolicyDeletion == nil { + return nil + } + return f.OnReconcileDLPPolicyDeletion(req) +} + +// Reconcile and finalize the DLPPolicy Resource +// implemented by the user +type DLPPolicyFinalizer interface { + DLPPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + DLPPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeDLPPolicy(obj *security_policy_gloo_solo_io_v2.DLPPolicy) error +} + +type DLPPolicyReconcileLoop interface { + RunDLPPolicyReconciler(ctx context.Context, rec DLPPolicyReconciler, predicates ...predicate.Predicate) error +} + +type dLPPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewDLPPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) DLPPolicyReconcileLoop { + return &dLPPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &security_policy_gloo_solo_io_v2.DLPPolicy{}, options), + } +} + +func (c *dLPPolicyReconcileLoop) RunDLPPolicyReconciler(ctx context.Context, reconciler DLPPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericDLPPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(DLPPolicyFinalizer); ok { + reconcilerWrapper = genericDLPPolicyFinalizer{ + genericDLPPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericDLPPolicyHandler implements a generic reconcile.Reconciler +type genericDLPPolicyReconciler struct { + reconciler DLPPolicyReconciler +} + +func (r genericDLPPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*security_policy_gloo_solo_io_v2.DLPPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: DLPPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileDLPPolicy(obj) +} + +func (r genericDLPPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(DLPPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileDLPPolicyDeletion(request) + } + return nil +} + +// genericDLPPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericDLPPolicyFinalizer struct { + genericDLPPolicyReconciler + finalizingReconciler DLPPolicyFinalizer +} + +func (r genericDLPPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.DLPPolicyFinalizerName() +} + +func (r genericDLPPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*security_policy_gloo_solo_io_v2.DLPPolicy) + if !ok { + return errors.Errorf("internal error: DLPPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeDLPPolicy(obj) +} diff --git a/client-go/security.policy.gloo.solo.io/v2/cors_policy.pb.clone.go b/client-go/security.policy.gloo.solo.io/v2/cors_policy.pb.clone.go new file mode 100644 index 000000000..5fa68dc47 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/cors_policy.pb.clone.go @@ -0,0 +1,181 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/cors_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *CORSPolicySpec) Clone() proto.Message { + var target *CORSPolicySpec + if m == nil { + return target + } + target = &CORSPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*CORSPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*CORSPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *CORSPolicyStatus) Clone() proto.Message { + var target *CORSPolicyStatus + if m == nil { + return target + } + target = &CORSPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *CORSPolicyReport) Clone() proto.Message { + var target *CORSPolicyReport + if m == nil { + return target + } + target = &CORSPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *CORSPolicySpec_Config) Clone() proto.Message { + var target *CORSPolicySpec_Config + if m == nil { + return target + } + target = &CORSPolicySpec_Config{} + + if m.GetAllowOrigins() != nil { + target.AllowOrigins = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.StringMatch, len(m.GetAllowOrigins())) + for idx, v := range m.GetAllowOrigins() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AllowOrigins[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.StringMatch) + } else { + target.AllowOrigins[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.StringMatch) + } + + } + } + + if m.GetAllowMethods() != nil { + target.AllowMethods = make([]string, len(m.GetAllowMethods())) + for idx, v := range m.GetAllowMethods() { + + target.AllowMethods[idx] = v + + } + } + + if m.GetAllowHeaders() != nil { + target.AllowHeaders = make([]string, len(m.GetAllowHeaders())) + for idx, v := range m.GetAllowHeaders() { + + target.AllowHeaders[idx] = v + + } + } + + if m.GetExposeHeaders() != nil { + target.ExposeHeaders = make([]string, len(m.GetExposeHeaders())) + for idx, v := range m.GetExposeHeaders() { + + target.ExposeHeaders[idx] = v + + } + } + + if h, ok := interface{}(m.GetMaxAge()).(clone.Cloner); ok { + target.MaxAge = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.MaxAge = proto.Clone(m.GetMaxAge()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if h, ok := interface{}(m.GetAllowCredentials()).(clone.Cloner); ok { + target.AllowCredentials = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.AllowCredentials = proto.Clone(m.GetAllowCredentials()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + return target +} diff --git a/client-go/security.policy.gloo.solo.io/v2/cors_policy.pb.equal.go b/client-go/security.policy.gloo.solo.io/v2/cors_policy.pb.equal.go new file mode 100644 index 000000000..dbb46ab00 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/cors_policy.pb.equal.go @@ -0,0 +1,267 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/cors_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *CORSPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CORSPolicySpec) + if !ok { + that2, ok := that.(CORSPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *CORSPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CORSPolicyStatus) + if !ok { + that2, ok := that.(CORSPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *CORSPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CORSPolicyReport) + if !ok { + that2, ok := that.(CORSPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *CORSPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CORSPolicySpec_Config) + if !ok { + that2, ok := that.(CORSPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetAllowOrigins()) != len(target.GetAllowOrigins()) { + return false + } + for idx, v := range m.GetAllowOrigins() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAllowOrigins()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetAllowOrigins()[idx]) { + return false + } + } + + } + + if len(m.GetAllowMethods()) != len(target.GetAllowMethods()) { + return false + } + for idx, v := range m.GetAllowMethods() { + + if strings.Compare(v, target.GetAllowMethods()[idx]) != 0 { + return false + } + + } + + if len(m.GetAllowHeaders()) != len(target.GetAllowHeaders()) { + return false + } + for idx, v := range m.GetAllowHeaders() { + + if strings.Compare(v, target.GetAllowHeaders()[idx]) != 0 { + return false + } + + } + + if len(m.GetExposeHeaders()) != len(target.GetExposeHeaders()) { + return false + } + for idx, v := range m.GetExposeHeaders() { + + if strings.Compare(v, target.GetExposeHeaders()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetMaxAge()).(equality.Equalizer); ok { + if !h.Equal(target.GetMaxAge()) { + return false + } + } else { + if !proto.Equal(m.GetMaxAge(), target.GetMaxAge()) { + return false + } + } + + if h, ok := interface{}(m.GetAllowCredentials()).(equality.Equalizer); ok { + if !h.Equal(target.GetAllowCredentials()) { + return false + } + } else { + if !proto.Equal(m.GetAllowCredentials(), target.GetAllowCredentials()) { + return false + } + } + + return true +} diff --git a/client-go/security.policy.gloo.solo.io/v2/cors_policy.pb.go b/client-go/security.policy.gloo.solo.io/v2/cors_policy.pb.go new file mode 100644 index 000000000..1e3896384 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/cors_policy.pb.go @@ -0,0 +1,522 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/cors_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// CORSPolicy is used to set a Cross-Origin Resource Sharing policy (CORS) for requests matching selected routes. +// Refer to [this link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS +// for further details about cross origin resource sharing. +// CORSPolicies are applied at the *Route* level. +type CORSPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the routes where the policy will be applied. + // If empty, will apply to all routes in the workspace. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // The details of the CORS policy to apply to the selected routes. + Config *CORSPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *CORSPolicySpec) Reset() { + *x = CORSPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CORSPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CORSPolicySpec) ProtoMessage() {} + +func (x *CORSPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CORSPolicySpec.ProtoReflect.Descriptor instead. +func (*CORSPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *CORSPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *CORSPolicySpec) GetConfig() *CORSPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type CORSPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of routes selected by the policy. + NumSelectedRoutes uint32 `protobuf:"varint,2,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *CORSPolicyStatus) Reset() { + *x = CORSPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CORSPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CORSPolicyStatus) ProtoMessage() {} + +func (x *CORSPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CORSPolicyStatus.ProtoReflect.Descriptor instead. +func (*CORSPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *CORSPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *CORSPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type CORSPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of references to all routes selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *CORSPolicyReport) Reset() { + *x = CORSPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CORSPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CORSPolicyReport) ProtoMessage() {} + +func (x *CORSPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CORSPolicyReport.ProtoReflect.Descriptor instead. +func (*CORSPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *CORSPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *CORSPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +type CORSPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // String patterns that match allowed origins. An origin is allowed if any of the string matchers match. + AllowOrigins []*v2.StringMatch `protobuf:"bytes,7,rep,name=allow_origins,json=allowOrigins,proto3" json:"allow_origins,omitempty"` + // List of HTTP methods allowed to access the resource. The content will + // be serialized to the `Access-Control-Allow-Methods` header. + AllowMethods []string `protobuf:"bytes,2,rep,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"` + // List of HTTP headers that can be used when requesting the + // resource. Serialized to the `Access-Control-Allow-Headers` header. + AllowHeaders []string `protobuf:"bytes,3,rep,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"` + // A list of HTTP headers that browsers are allowed to + // access. Serialized to the `Access-Control-Expose-Headers` header. + ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"` + // Specify how long the results of a preflight request can be + // cached. Serialized to the `Access-Control-Max-Age` header. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + MaxAge *duration.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"` + // Indicates whether the caller is allowed to send the actual request + // (not the preflight) using credentials. Translates to the + // `Access-Control-Allow-Credentials` header. + AllowCredentials *wrappers.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"` +} + +func (x *CORSPolicySpec_Config) Reset() { + *x = CORSPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CORSPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CORSPolicySpec_Config) ProtoMessage() {} + +func (x *CORSPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CORSPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*CORSPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *CORSPolicySpec_Config) GetAllowOrigins() []*v2.StringMatch { + if x != nil { + return x.AllowOrigins + } + return nil +} + +func (x *CORSPolicySpec_Config) GetAllowMethods() []string { + if x != nil { + return x.AllowMethods + } + return nil +} + +func (x *CORSPolicySpec_Config) GetAllowHeaders() []string { + if x != nil { + return x.AllowHeaders + } + return nil +} + +func (x *CORSPolicySpec_Config) GetExposeHeaders() []string { + if x != nil { + return x.ExposeHeaders + } + return nil +} + +func (x *CORSPolicySpec_Config) GetMaxAge() *duration.Duration { + if x != nil { + return x.MaxAge + } + return nil +} + +func (x *CORSPolicySpec_Config) GetAllowCredentials() *wrappers.BoolValue { + if x != nil { + return x.AllowCredentials + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDesc = []byte{ + 0x0a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x63, 0x6f, + 0x72, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x1c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, + 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, + 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x03, + 0x0a, 0x0e, 0x43, 0x4f, 0x52, 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x4a, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x4f, 0x52, 0x53, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xbd, 0x02, 0x0a, 0x06, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0c, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, + 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x5f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, + 0x78, 0x70, 0x6f, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x07, + 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, + 0x12, 0x47, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, + 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, 0x77, 0x0a, 0x10, 0x43, 0x4f, 0x52, + 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, + 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x11, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x22, 0x9c, 0x02, 0x0a, 0x10, 0x43, 0x4f, 0x52, 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x4f, 0x52, 0x53, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x42, 0x5d, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_goTypes = []interface{}{ + (*CORSPolicySpec)(nil), // 0: security.policy.gloo.solo.io.CORSPolicySpec + (*CORSPolicyStatus)(nil), // 1: security.policy.gloo.solo.io.CORSPolicyStatus + (*CORSPolicyReport)(nil), // 2: security.policy.gloo.solo.io.CORSPolicyReport + (*CORSPolicySpec_Config)(nil), // 3: security.policy.gloo.solo.io.CORSPolicySpec.Config + nil, // 4: security.policy.gloo.solo.io.CORSPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 5: common.gloo.solo.io.RouteSelector + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 7: common.gloo.solo.io.RouteReference + (*v2.StringMatch)(nil), // 8: common.gloo.solo.io.StringMatch + (*duration.Duration)(nil), // 9: google.protobuf.Duration + (*wrappers.BoolValue)(nil), // 10: google.protobuf.BoolValue + (*v2.Report)(nil), // 11: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_depIdxs = []int32{ + 5, // 0: security.policy.gloo.solo.io.CORSPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 3, // 1: security.policy.gloo.solo.io.CORSPolicySpec.config:type_name -> security.policy.gloo.solo.io.CORSPolicySpec.Config + 6, // 2: security.policy.gloo.solo.io.CORSPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: security.policy.gloo.solo.io.CORSPolicyReport.workspaces:type_name -> security.policy.gloo.solo.io.CORSPolicyReport.WorkspacesEntry + 7, // 4: security.policy.gloo.solo.io.CORSPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 8, // 5: security.policy.gloo.solo.io.CORSPolicySpec.Config.allow_origins:type_name -> common.gloo.solo.io.StringMatch + 9, // 6: security.policy.gloo.solo.io.CORSPolicySpec.Config.max_age:type_name -> google.protobuf.Duration + 10, // 7: security.policy.gloo.solo.io.CORSPolicySpec.Config.allow_credentials:type_name -> google.protobuf.BoolValue + 11, // 8: security.policy.gloo.solo.io.CORSPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CORSPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CORSPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CORSPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CORSPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_cors_policy_proto_depIdxs = nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/cors_policy.pb.hash.go b/client-go/security.policy.gloo.solo.io/v2/cors_policy.pb.hash.go new file mode 100644 index 000000000..81bee1604 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/cors_policy.pb.hash.go @@ -0,0 +1,310 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/cors_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *CORSPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.CORSPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CORSPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.CORSPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CORSPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.CORSPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CORSPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.CORSPolicySpec_Config")); err != nil { + return 0, err + } + + for _, v := range m.GetAllowOrigins() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetAllowMethods() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetAllowHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetExposeHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetMaxAge()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MaxAge")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMaxAge(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MaxAge")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetAllowCredentials()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AllowCredentials")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAllowCredentials(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AllowCredentials")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/csrf_policy.pb.clone.go b/client-go/security.policy.gloo.solo.io/v2/csrf_policy.pb.clone.go new file mode 100644 index 000000000..ed4bb3cf8 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/csrf_policy.pb.clone.go @@ -0,0 +1,150 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/csrf_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *CSRFPolicySpec) Clone() proto.Message { + var target *CSRFPolicySpec + if m == nil { + return target + } + target = &CSRFPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*CSRFPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*CSRFPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *CSRFPolicyStatus) Clone() proto.Message { + var target *CSRFPolicyStatus + if m == nil { + return target + } + target = &CSRFPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *CSRFPolicyReport) Clone() proto.Message { + var target *CSRFPolicyReport + if m == nil { + return target + } + target = &CSRFPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *CSRFPolicySpec_Config) Clone() proto.Message { + var target *CSRFPolicySpec_Config + if m == nil { + return target + } + target = &CSRFPolicySpec_Config{} + + target.FilterEnabled = m.GetFilterEnabled() + + target.ShadowEnabled = m.GetShadowEnabled() + + if h, ok := interface{}(m.GetPercentage()).(clone.Cloner); ok { + target.Percentage = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.DoubleValue) + } else { + target.Percentage = proto.Clone(m.GetPercentage()).(*github_com_golang_protobuf_ptypes_wrappers.DoubleValue) + } + + if m.GetAdditionalOrigins() != nil { + target.AdditionalOrigins = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.StringMatch, len(m.GetAdditionalOrigins())) + for idx, v := range m.GetAdditionalOrigins() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.AdditionalOrigins[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.StringMatch) + } else { + target.AdditionalOrigins[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.StringMatch) + } + + } + } + + return target +} diff --git a/client-go/security.policy.gloo.solo.io/v2/csrf_policy.pb.equal.go b/client-go/security.policy.gloo.solo.io/v2/csrf_policy.pb.equal.go new file mode 100644 index 000000000..cba84098d --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/csrf_policy.pb.equal.go @@ -0,0 +1,232 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/csrf_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *CSRFPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CSRFPolicySpec) + if !ok { + that2, ok := that.(CSRFPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *CSRFPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CSRFPolicyStatus) + if !ok { + that2, ok := that.(CSRFPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *CSRFPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CSRFPolicyReport) + if !ok { + that2, ok := that.(CSRFPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *CSRFPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CSRFPolicySpec_Config) + if !ok { + that2, ok := that.(CSRFPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetFilterEnabled() != target.GetFilterEnabled() { + return false + } + + if m.GetShadowEnabled() != target.GetShadowEnabled() { + return false + } + + if h, ok := interface{}(m.GetPercentage()).(equality.Equalizer); ok { + if !h.Equal(target.GetPercentage()) { + return false + } + } else { + if !proto.Equal(m.GetPercentage(), target.GetPercentage()) { + return false + } + } + + if len(m.GetAdditionalOrigins()) != len(target.GetAdditionalOrigins()) { + return false + } + for idx, v := range m.GetAdditionalOrigins() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetAdditionalOrigins()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetAdditionalOrigins()[idx]) { + return false + } + } + + } + + return true +} diff --git a/client-go/security.policy.gloo.solo.io/v2/csrf_policy.pb.go b/client-go/security.policy.gloo.solo.io/v2/csrf_policy.pb.go new file mode 100644 index 000000000..dfa5f6c14 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/csrf_policy.pb.go @@ -0,0 +1,494 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/csrf_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// CSRFPolicy is used to set safeguard to prevent CSRF (cross-site request forgery) attacks in requests matching selected routes. +// CSRFPolicies are applied at the *Route* level. +type CSRFPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Routes to apply the policy to. + // If empty, the policy applies to all workloads in the workspace. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // The details of the CSRF policy to apply to the selected routes. + Config *CSRFPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *CSRFPolicySpec) Reset() { + *x = CSRFPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSRFPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSRFPolicySpec) ProtoMessage() {} + +func (x *CSRFPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSRFPolicySpec.ProtoReflect.Descriptor instead. +func (*CSRFPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *CSRFPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *CSRFPolicySpec) GetConfig() *CSRFPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type CSRFPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // Count of routes selected by the policy + NumSelectedRoutes uint32 `protobuf:"varint,2,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *CSRFPolicyStatus) Reset() { + *x = CSRFPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSRFPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSRFPolicyStatus) ProtoMessage() {} + +func (x *CSRFPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSRFPolicyStatus.ProtoReflect.Descriptor instead. +func (*CSRFPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *CSRFPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *CSRFPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type CSRFPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Routes selected by the policy + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *CSRFPolicyReport) Reset() { + *x = CSRFPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSRFPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSRFPolicyReport) ProtoMessage() {} + +func (x *CSRFPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSRFPolicyReport.ProtoReflect.Descriptor instead. +func (*CSRFPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *CSRFPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *CSRFPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +type CSRFPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specifies that CSRF policies will be evaluated, tracked and enforced. + FilterEnabled bool `protobuf:"varint,1,opt,name=filter_enabled,json=filterEnabled,proto3" json:"filter_enabled,omitempty"` + // Specifies that CSRF policies will be evaluated and tracked, but not enforced. + // + // This is intended to be used when “filter_enabled“ is false and will be ignored otherwise. + ShadowEnabled bool `protobuf:"varint,2,opt,name=shadow_enabled,json=shadowEnabled,proto3" json:"shadow_enabled,omitempty"` + // Specifies the % of requests for which the CSRF filter is enabled or when shadow mode is enabled the % of requests + // evaluated and tracked, but not enforced. + // + // If filter_enabled or shadow_enabled is true. + // Envoy will lookup the runtime key to get the percentage of requests to filter. + // + // .. note:: This field defaults to 100 + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/double-value). + Percentage *wrappers.DoubleValue `protobuf:"bytes,3,opt,name=percentage,proto3" json:"percentage,omitempty"` + // Specifies additional source origins that will be allowed in addition to + // the destination origin. + AdditionalOrigins []*v2.StringMatch `protobuf:"bytes,4,rep,name=additional_origins,json=additionalOrigins,proto3" json:"additional_origins,omitempty"` +} + +func (x *CSRFPolicySpec_Config) Reset() { + *x = CSRFPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSRFPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSRFPolicySpec_Config) ProtoMessage() {} + +func (x *CSRFPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSRFPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*CSRFPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *CSRFPolicySpec_Config) GetFilterEnabled() bool { + if x != nil { + return x.FilterEnabled + } + return false +} + +func (x *CSRFPolicySpec_Config) GetShadowEnabled() bool { + if x != nil { + return x.ShadowEnabled + } + return false +} + +func (x *CSRFPolicySpec_Config) GetPercentage() *wrappers.DoubleValue { + if x != nil { + return x.Percentage + } + return nil +} + +func (x *CSRFPolicySpec_Config) GetAdditionalOrigins() []*v2.StringMatch { + if x != nil { + return x.AdditionalOrigins + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDesc = []byte{ + 0x0a, 0x5d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x63, 0x73, + 0x72, 0x66, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x1c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, + 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, + 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x03, + 0x0a, 0x0e, 0x43, 0x53, 0x52, 0x46, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x4a, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x53, 0x52, 0x46, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xe5, 0x01, 0x0a, 0x06, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, + 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, + 0x12, 0x4f, 0x0a, 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x11, + 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x73, 0x22, 0x77, 0x0a, 0x10, 0x43, 0x53, 0x52, 0x46, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, + 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x9c, 0x02, 0x0a, 0x10, 0x43, + 0x53, 0x52, 0x46, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x5e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x43, 0x53, 0x52, 0x46, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, + 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x5a, 0x0a, + 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5d, 0x5a, 0x4f, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, + 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_goTypes = []interface{}{ + (*CSRFPolicySpec)(nil), // 0: security.policy.gloo.solo.io.CSRFPolicySpec + (*CSRFPolicyStatus)(nil), // 1: security.policy.gloo.solo.io.CSRFPolicyStatus + (*CSRFPolicyReport)(nil), // 2: security.policy.gloo.solo.io.CSRFPolicyReport + (*CSRFPolicySpec_Config)(nil), // 3: security.policy.gloo.solo.io.CSRFPolicySpec.Config + nil, // 4: security.policy.gloo.solo.io.CSRFPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 5: common.gloo.solo.io.RouteSelector + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 7: common.gloo.solo.io.RouteReference + (*wrappers.DoubleValue)(nil), // 8: google.protobuf.DoubleValue + (*v2.StringMatch)(nil), // 9: common.gloo.solo.io.StringMatch + (*v2.Report)(nil), // 10: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_depIdxs = []int32{ + 5, // 0: security.policy.gloo.solo.io.CSRFPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 3, // 1: security.policy.gloo.solo.io.CSRFPolicySpec.config:type_name -> security.policy.gloo.solo.io.CSRFPolicySpec.Config + 6, // 2: security.policy.gloo.solo.io.CSRFPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: security.policy.gloo.solo.io.CSRFPolicyReport.workspaces:type_name -> security.policy.gloo.solo.io.CSRFPolicyReport.WorkspacesEntry + 7, // 4: security.policy.gloo.solo.io.CSRFPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 8, // 5: security.policy.gloo.solo.io.CSRFPolicySpec.Config.percentage:type_name -> google.protobuf.DoubleValue + 9, // 6: security.policy.gloo.solo.io.CSRFPolicySpec.Config.additional_origins:type_name -> common.gloo.solo.io.StringMatch + 10, // 7: security.policy.gloo.solo.io.CSRFPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSRFPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSRFPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSRFPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSRFPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_csrf_policy_proto_depIdxs = nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/csrf_policy.pb.hash.go b/client-go/security.policy.gloo.solo.io/v2/csrf_policy.pb.hash.go new file mode 100644 index 000000000..001e84ad9 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/csrf_policy.pb.hash.go @@ -0,0 +1,276 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/csrf_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *CSRFPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.CSRFPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CSRFPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.CSRFPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CSRFPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.CSRFPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *CSRFPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.CSRFPolicySpec_Config")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetFilterEnabled()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetShadowEnabled()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPercentage()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Percentage")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPercentage(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Percentage")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetAdditionalOrigins() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/dlp_policy.pb.clone.go b/client-go/security.policy.gloo.solo.io/v2/dlp_policy.pb.clone.go new file mode 100644 index 000000000..6d6de847f --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/dlp_policy.pb.clone.go @@ -0,0 +1,267 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/dlp_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2 "github.com/solo-io/solo-apis/client-go/envoy-gloo-ee/api/envoy/config/filter/http/transformation_ee/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *DLPPolicySpec) Clone() proto.Message { + var target *DLPPolicySpec + if m == nil { + return target + } + target = &DLPPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*DLPPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*DLPPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *DlpAction) Clone() proto.Message { + var target *DlpAction + if m == nil { + return target + } + target = &DlpAction{} + + if h, ok := interface{}(m.GetShadow()).(clone.Cloner); ok { + target.Shadow = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } else { + target.Shadow = proto.Clone(m.GetShadow()).(*github_com_golang_protobuf_ptypes_wrappers.BoolValue) + } + + switch m.Action.(type) { + + case *DlpAction_PredefinedAction_: + + target.Action = &DlpAction_PredefinedAction_{ + PredefinedAction: m.GetPredefinedAction(), + } + + case *DlpAction_CustomAction: + + if h, ok := interface{}(m.GetCustomAction()).(clone.Cloner); ok { + target.Action = &DlpAction_CustomAction{ + CustomAction: h.Clone().(*DlpCustomAction), + } + } else { + target.Action = &DlpAction_CustomAction{ + CustomAction: proto.Clone(m.GetCustomAction()).(*DlpCustomAction), + } + } + + case *DlpAction_KeyValueAction: + + if h, ok := interface{}(m.GetKeyValueAction()).(clone.Cloner); ok { + target.Action = &DlpAction_KeyValueAction{ + KeyValueAction: h.Clone().(*DlpKeyValueAction), + } + } else { + target.Action = &DlpAction_KeyValueAction{ + KeyValueAction: proto.Clone(m.GetKeyValueAction()).(*DlpKeyValueAction), + } + } + + } + + return target +} + +// Clone function +func (m *DlpCustomAction) Clone() proto.Message { + var target *DlpCustomAction + if m == nil { + return target + } + target = &DlpCustomAction{} + + target.Name = m.GetName() + + if h, ok := interface{}(m.GetMaskChar()).(clone.Cloner); ok { + target.MaskChar = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.MaskChar = proto.Clone(m.GetMaskChar()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + if h, ok := interface{}(m.GetPercent()).(clone.Cloner); ok { + target.Percent = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.FloatValue) + } else { + target.Percent = proto.Clone(m.GetPercent()).(*github_com_golang_protobuf_ptypes_wrappers.FloatValue) + } + + if m.GetRegexActions() != nil { + target.RegexActions = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2.RegexAction, len(m.GetRegexActions())) + for idx, v := range m.GetRegexActions() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.RegexActions[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2.RegexAction) + } else { + target.RegexActions[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_ee_api_envoy_config_filter_http_transformation_ee_v2.RegexAction) + } + + } + } + + return target +} + +// Clone function +func (m *DlpKeyValueAction) Clone() proto.Message { + var target *DlpKeyValueAction + if m == nil { + return target + } + target = &DlpKeyValueAction{} + + target.Name = m.GetName() + + if h, ok := interface{}(m.GetMaskChar()).(clone.Cloner); ok { + target.MaskChar = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } else { + target.MaskChar = proto.Clone(m.GetMaskChar()).(*github_com_golang_protobuf_ptypes_wrappers.StringValue) + } + + if h, ok := interface{}(m.GetPercent()).(clone.Cloner); ok { + target.Percent = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.FloatValue) + } else { + target.Percent = proto.Clone(m.GetPercent()).(*github_com_golang_protobuf_ptypes_wrappers.FloatValue) + } + + if m.GetKeysToMask() != nil { + target.KeysToMask = make([]string, len(m.GetKeysToMask())) + for idx, v := range m.GetKeysToMask() { + + target.KeysToMask[idx] = v + + } + } + + return target +} + +// Clone function +func (m *DLPPolicyStatus) Clone() proto.Message { + var target *DLPPolicyStatus + if m == nil { + return target + } + target = &DLPPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *DLPPolicyReport) Clone() proto.Message { + var target *DLPPolicyReport + if m == nil { + return target + } + target = &DLPPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *DLPPolicySpec_Config) Clone() proto.Message { + var target *DLPPolicySpec_Config + if m == nil { + return target + } + target = &DLPPolicySpec_Config{} + + if m.GetActions() != nil { + target.Actions = make([]*DlpAction, len(m.GetActions())) + for idx, v := range m.GetActions() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Actions[idx] = h.Clone().(*DlpAction) + } else { + target.Actions[idx] = proto.Clone(v).(*DlpAction) + } + + } + } + + target.Sanitize = m.GetSanitize() + + return target +} diff --git a/client-go/security.policy.gloo.solo.io/v2/dlp_policy.pb.equal.go b/client-go/security.policy.gloo.solo.io/v2/dlp_policy.pb.equal.go new file mode 100644 index 000000000..b5e749665 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/dlp_policy.pb.equal.go @@ -0,0 +1,424 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/dlp_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *DLPPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DLPPolicySpec) + if !ok { + that2, ok := that.(DLPPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *DlpAction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DlpAction) + if !ok { + that2, ok := that.(DlpAction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetShadow()).(equality.Equalizer); ok { + if !h.Equal(target.GetShadow()) { + return false + } + } else { + if !proto.Equal(m.GetShadow(), target.GetShadow()) { + return false + } + } + + switch m.Action.(type) { + + case *DlpAction_PredefinedAction_: + if _, ok := target.Action.(*DlpAction_PredefinedAction_); !ok { + return false + } + + if m.GetPredefinedAction() != target.GetPredefinedAction() { + return false + } + + case *DlpAction_CustomAction: + if _, ok := target.Action.(*DlpAction_CustomAction); !ok { + return false + } + + if h, ok := interface{}(m.GetCustomAction()).(equality.Equalizer); ok { + if !h.Equal(target.GetCustomAction()) { + return false + } + } else { + if !proto.Equal(m.GetCustomAction(), target.GetCustomAction()) { + return false + } + } + + case *DlpAction_KeyValueAction: + if _, ok := target.Action.(*DlpAction_KeyValueAction); !ok { + return false + } + + if h, ok := interface{}(m.GetKeyValueAction()).(equality.Equalizer); ok { + if !h.Equal(target.GetKeyValueAction()) { + return false + } + } else { + if !proto.Equal(m.GetKeyValueAction(), target.GetKeyValueAction()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Action != target.Action { + return false + } + } + + return true +} + +// Equal function +func (m *DlpCustomAction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DlpCustomAction) + if !ok { + that2, ok := that.(DlpCustomAction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetMaskChar()).(equality.Equalizer); ok { + if !h.Equal(target.GetMaskChar()) { + return false + } + } else { + if !proto.Equal(m.GetMaskChar(), target.GetMaskChar()) { + return false + } + } + + if h, ok := interface{}(m.GetPercent()).(equality.Equalizer); ok { + if !h.Equal(target.GetPercent()) { + return false + } + } else { + if !proto.Equal(m.GetPercent(), target.GetPercent()) { + return false + } + } + + if len(m.GetRegexActions()) != len(target.GetRegexActions()) { + return false + } + for idx, v := range m.GetRegexActions() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetRegexActions()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetRegexActions()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *DlpKeyValueAction) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DlpKeyValueAction) + if !ok { + that2, ok := that.(DlpKeyValueAction) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if h, ok := interface{}(m.GetMaskChar()).(equality.Equalizer); ok { + if !h.Equal(target.GetMaskChar()) { + return false + } + } else { + if !proto.Equal(m.GetMaskChar(), target.GetMaskChar()) { + return false + } + } + + if h, ok := interface{}(m.GetPercent()).(equality.Equalizer); ok { + if !h.Equal(target.GetPercent()) { + return false + } + } else { + if !proto.Equal(m.GetPercent(), target.GetPercent()) { + return false + } + } + + if len(m.GetKeysToMask()) != len(target.GetKeysToMask()) { + return false + } + for idx, v := range m.GetKeysToMask() { + + if strings.Compare(v, target.GetKeysToMask()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *DLPPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DLPPolicyStatus) + if !ok { + that2, ok := that.(DLPPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *DLPPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DLPPolicyReport) + if !ok { + that2, ok := that.(DLPPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *DLPPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*DLPPolicySpec_Config) + if !ok { + that2, ok := that.(DLPPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetActions()) != len(target.GetActions()) { + return false + } + for idx, v := range m.GetActions() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetActions()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetActions()[idx]) { + return false + } + } + + } + + if m.GetSanitize() != target.GetSanitize() { + return false + } + + return true +} diff --git a/client-go/security.policy.gloo.solo.io/v2/dlp_policy.pb.go b/client-go/security.policy.gloo.solo.io/v2/dlp_policy.pb.go new file mode 100644 index 000000000..289626403 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/dlp_policy.pb.go @@ -0,0 +1,1076 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/dlp_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/envoyproxy/go-control-plane/envoy/type" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + v21 "github.com/solo-io/solo-apis/client-go/envoy-gloo-ee/api/envoy/config/filter/http/transformation_ee/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type DLPPolicySpec_Config_Sanitize int32 + +const ( + // Enable DLP masking for both responses bodies and access logs. Default value. + DLPPolicySpec_Config_ALL DLPPolicySpec_Config_Sanitize = 0 + // Enable DLP masking for access logs only. + DLPPolicySpec_Config_ACCESS_LOGS DLPPolicySpec_Config_Sanitize = 1 + // Enable DLP masking for response bodies only. + DLPPolicySpec_Config_RESPONSE_BODY DLPPolicySpec_Config_Sanitize = 2 +) + +// Enum value maps for DLPPolicySpec_Config_Sanitize. +var ( + DLPPolicySpec_Config_Sanitize_name = map[int32]string{ + 0: "ALL", + 1: "ACCESS_LOGS", + 2: "RESPONSE_BODY", + } + DLPPolicySpec_Config_Sanitize_value = map[string]int32{ + "ALL": 0, + "ACCESS_LOGS": 1, + "RESPONSE_BODY": 2, + } +) + +func (x DLPPolicySpec_Config_Sanitize) Enum() *DLPPolicySpec_Config_Sanitize { + p := new(DLPPolicySpec_Config_Sanitize) + *p = x + return p +} + +func (x DLPPolicySpec_Config_Sanitize) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DLPPolicySpec_Config_Sanitize) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_enumTypes[0].Descriptor() +} + +func (DLPPolicySpec_Config_Sanitize) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_enumTypes[0] +} + +func (x DLPPolicySpec_Config_Sanitize) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DLPPolicySpec_Config_Sanitize.Descriptor instead. +func (DLPPolicySpec_Config_Sanitize) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +// The following pre-defined actions map to subgroup 1 of the listed regex patterns: +// +// SSN: +// - '(?:^|\D)([0-9]{9})(?:\D|$)' +// - '(?:^|\D)([0-9]{3}\-[0-9]{2}\-[0-9]{4})(?:\D|$)' +// - '(?:^|\D)([0-9]{3}\ [0-9]{2}\ [0-9]{4})(?:\D|$)' +// +// MASTERCARD: +// - '(?:^|\D)(5[1-5][0-9]{2}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4})(?:\D|$)' +// +// VISA: +// - '(?:^|\D)(4[0-9]{3}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4})(?:\D|$)' +// +// AMEX: +// - '(?:^|\D)((?:34|37)[0-9]{2}(?:\ |\-|)[0-9]{6}(?:\ |\-|)[0-9]{5})(?:\D|$)' +// +// DISCOVER: +// - '(?:^|\D)(6011(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4})(?:\D|$)' +// +// JCB: +// - '(?:^|\D)(3[0-9]{3}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4}(?:\ |\-|)[0-9]{4})(?:\D|$)' +// - '(?:^|\D)((?:2131|1800)[0-9]{11})(?:\D|$)' +// +// DINERS_CLUB: +// - '(?:^|\D)(30[0-5][0-9](?:\ |\-|)[0-9]{6}(?:\ |\-|)[0-9]{4})(?:\D|$)' +// - '(?:^|\D)((?:36|38)[0-9]{2}(?:\ |\-|)[0-9]{6}(?:\ |\-|)[0-9]{4})(?:\D|$)' +// +// CREDIT_CARD_TRACKERS: +// - '([1-9][0-9]{2}\-[0-9]{2}\-[0-9]{4}\^\d)' +// - '(?:^|\D)(\%?[Bb]\d{13,19}\^[\-\/\.\w\s]{2,26}\^[0-9][0-9][01][0-9][0-9]{3})' +// - '(?:^|\D)(\;\d{13,19}\=(?:\d{3}|)(?:\d{4}|\=))' +// +// ALL_CREDIT_CARDS: +// - (All credit card related regexes from above) +type DlpAction_PredefinedAction int32 + +const ( + DlpAction_ALL_CREDIT_CARDS DlpAction_PredefinedAction = 0 + DlpAction_SSN DlpAction_PredefinedAction = 1 + DlpAction_MASTERCARD DlpAction_PredefinedAction = 2 + DlpAction_VISA DlpAction_PredefinedAction = 3 + DlpAction_AMEX DlpAction_PredefinedAction = 4 + DlpAction_DISCOVER DlpAction_PredefinedAction = 5 + DlpAction_JCB DlpAction_PredefinedAction = 6 + DlpAction_DINERS_CLUB DlpAction_PredefinedAction = 7 + DlpAction_CREDIT_CARD_TRACKERS DlpAction_PredefinedAction = 8 +) + +// Enum value maps for DlpAction_PredefinedAction. +var ( + DlpAction_PredefinedAction_name = map[int32]string{ + 0: "ALL_CREDIT_CARDS", + 1: "SSN", + 2: "MASTERCARD", + 3: "VISA", + 4: "AMEX", + 5: "DISCOVER", + 6: "JCB", + 7: "DINERS_CLUB", + 8: "CREDIT_CARD_TRACKERS", + } + DlpAction_PredefinedAction_value = map[string]int32{ + "ALL_CREDIT_CARDS": 0, + "SSN": 1, + "MASTERCARD": 2, + "VISA": 3, + "AMEX": 4, + "DISCOVER": 5, + "JCB": 6, + "DINERS_CLUB": 7, + "CREDIT_CARD_TRACKERS": 8, + } +) + +func (x DlpAction_PredefinedAction) Enum() *DlpAction_PredefinedAction { + p := new(DlpAction_PredefinedAction) + *p = x + return p +} + +func (x DlpAction_PredefinedAction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DlpAction_PredefinedAction) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_enumTypes[1].Descriptor() +} + +func (DlpAction_PredefinedAction) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_enumTypes[1] +} + +func (x DlpAction_PredefinedAction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DlpAction_PredefinedAction.Descriptor instead. +func (DlpAction_PredefinedAction) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescGZIP(), []int{1, 0} +} + +// Use a DLPPolicy (data loss prevention policy) to prevent sensitive data from being exposed. +// Gloo Gateway completes a series of regex replacements on the body or headers of responses that it processes. +// DLPPolicies are applied at the *Route* level. +type DLPPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the routes that the policy applies to. + // If empty, the policy applies to all routes in the workspace. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // The details of the DLP policy to apply to the selected routes. + Config *DLPPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *DLPPolicySpec) Reset() { + *x = DLPPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DLPPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DLPPolicySpec) ProtoMessage() {} + +func (x *DLPPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DLPPolicySpec.ProtoReflect.Descriptor instead. +func (*DLPPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *DLPPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *DLPPolicySpec) GetConfig() *DLPPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// A single DLP action to mask sensitive data. +// You can apply preconfigured actions, create custom actions, +// and write key-value (header) actions. +// These actions can also be shadowed. A shadowed action is recorded +// in the statistics and debug logs, but is not committed in the response body. +// +// To use a predefined action, set the `predefinedAction` to one of the predefined actions. +// +// ```yaml +// - predefinedAction: VISA +// ``` +// +// To create a custom action, specify the configuration in the `customAction` field. The default enum value +// is custom, so that can be left empty. +// +// ```yaml +// - customAction: +// name: test +// regexActions: +// - regex: "hello" +// - regex: "world" +// maskChar: Y +// percent: 60 +// ``` +// +// To create a key-value action, specify the configuration in the `keyValueAction` field. The default enum value +// is custom, so that can be left empty. +// +// ```yaml +// - keyValueAction: +// keysToMask: +// - x-my-header-01 +// maskChar: _ +// name: kv-action-1 +// percent: 100 +// ``` +type DlpAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The configuration for the action. + // + // Types that are assignable to Action: + // + // *DlpAction_PredefinedAction_ + // *DlpAction_CustomAction + // *DlpAction_KeyValueAction + Action isDlpAction_Action `protobuf_oneof:"action"` + // If enabled, the action is recorded in debug logs, but not applied to response bodies + // or headers. + Shadow *wrappers.BoolValue `protobuf:"bytes,3,opt,name=shadow,proto3" json:"shadow,omitempty"` +} + +func (x *DlpAction) Reset() { + *x = DlpAction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DlpAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DlpAction) ProtoMessage() {} + +func (x *DlpAction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DlpAction.ProtoReflect.Descriptor instead. +func (*DlpAction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescGZIP(), []int{1} +} + +func (m *DlpAction) GetAction() isDlpAction_Action { + if m != nil { + return m.Action + } + return nil +} + +func (x *DlpAction) GetPredefinedAction() DlpAction_PredefinedAction { + if x, ok := x.GetAction().(*DlpAction_PredefinedAction_); ok { + return x.PredefinedAction + } + return DlpAction_ALL_CREDIT_CARDS +} + +func (x *DlpAction) GetCustomAction() *DlpCustomAction { + if x, ok := x.GetAction().(*DlpAction_CustomAction); ok { + return x.CustomAction + } + return nil +} + +func (x *DlpAction) GetKeyValueAction() *DlpKeyValueAction { + if x, ok := x.GetAction().(*DlpAction_KeyValueAction); ok { + return x.KeyValueAction + } + return nil +} + +func (x *DlpAction) GetShadow() *wrappers.BoolValue { + if x != nil { + return x.Shadow + } + return nil +} + +type isDlpAction_Action interface { + isDlpAction_Action() +} + +type DlpAction_PredefinedAction_ struct { + // The predefined action to apply. + PredefinedAction DlpAction_PredefinedAction `protobuf:"varint,1,opt,name=predefined_action,json=predefinedAction,proto3,enum=security.policy.gloo.solo.io.DlpAction_PredefinedAction,oneof"` +} + +type DlpAction_CustomAction struct { + // The custom action to apply. + CustomAction *DlpCustomAction `protobuf:"bytes,2,opt,name=custom_action,json=customAction,proto3,oneof"` +} + +type DlpAction_KeyValueAction struct { + // The key-value action to apply. + // Key-values actions affect access logs and response headers, but not response bodies. + KeyValueAction *DlpKeyValueAction `protobuf:"bytes,4,opt,name=key_value_action,json=keyValueAction,proto3,oneof"` +} + +func (*DlpAction_PredefinedAction_) isDlpAction_Action() {} + +func (*DlpAction_CustomAction) isDlpAction_Action() {} + +func (*DlpAction_KeyValueAction) isDlpAction_Action() {} + +// A custom action that you define to apply to the response body. +// +// The list of regex strings are applied in order. For instance, if the response body contains `hello world`, +// and you define the following custom action: +// ``` yaml +// customAction: +// name: test +// regexActions: +// - regex: "hello" +// - regex: "world" +// maskChar: Y +// percent: 60 +// +// ``` +// +// The result is masked in this way: +// `YYYlo YYYld` +// +// If `mask_char` and `percent` are not defined, the result is masked in this way: +// `XXXXo XXXXd` +type DlpCustomAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the custom action. + // This name is used for logging and debugging purposes. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The masking character to replace the sensitive data. + // Default: `X` + MaskChar *wrappers.StringValue `protobuf:"bytes,2,opt,name=mask_char,json=maskChar,proto3" json:"mask_char,omitempty"` + // The percent of the string to mask with the `mask_char`. + // Rounds the ratio (percent/100) by using [std::round](http://www.cplusplus.com/reference/cmath/round/). + // Default: 75% + Percent *wrappers.FloatValue `protobuf:"bytes,3,opt,name=percent,proto3" json:"percent,omitempty"` + // List of regexes to apply to the response body. Data that matches the regexes + // is masked. Regexes are applied iteratively in the order that they are + // specified. + RegexActions []*v21.RegexAction `protobuf:"bytes,4,rep,name=regex_actions,json=regexActions,proto3" json:"regex_actions,omitempty"` +} + +func (x *DlpCustomAction) Reset() { + *x = DlpCustomAction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DlpCustomAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DlpCustomAction) ProtoMessage() {} + +func (x *DlpCustomAction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DlpCustomAction.ProtoReflect.Descriptor instead. +func (*DlpCustomAction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *DlpCustomAction) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DlpCustomAction) GetMaskChar() *wrappers.StringValue { + if x != nil { + return x.MaskChar + } + return nil +} + +func (x *DlpCustomAction) GetPercent() *wrappers.FloatValue { + if x != nil { + return x.Percent + } + return nil +} + +func (x *DlpCustomAction) GetRegexActions() []*v21.RegexAction { + if x != nil { + return x.RegexActions + } + return nil +} + +// A key-value action to apply to response headers. +type DlpKeyValueAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the key-value action. + // This name is used for logging and debugging purposes. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The masking character to replace the sensitive data. + // Default: `X` + MaskChar *wrappers.StringValue `protobuf:"bytes,2,opt,name=mask_char,json=maskChar,proto3" json:"mask_char,omitempty"` + // The percent of the string to mask with the `mask_char`. + // Rounds the ratio (percent/100) by using [std::round](http://www.cplusplus.com/reference/cmath/round/). + // Default: 75% + Percent *wrappers.FloatValue `protobuf:"bytes,3,opt,name=percent,proto3" json:"percent,omitempty"` + // Required: The keys for which corresponding header names or dynamic metadata values are masked. + KeysToMask []string `protobuf:"bytes,4,rep,name=keys_to_mask,json=keysToMask,proto3" json:"keys_to_mask,omitempty"` +} + +func (x *DlpKeyValueAction) Reset() { + *x = DlpKeyValueAction{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DlpKeyValueAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DlpKeyValueAction) ProtoMessage() {} + +func (x *DlpKeyValueAction) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DlpKeyValueAction.ProtoReflect.Descriptor instead. +func (*DlpKeyValueAction) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescGZIP(), []int{3} +} + +func (x *DlpKeyValueAction) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DlpKeyValueAction) GetMaskChar() *wrappers.StringValue { + if x != nil { + return x.MaskChar + } + return nil +} + +func (x *DlpKeyValueAction) GetPercent() *wrappers.FloatValue { + if x != nil { + return x.Percent + } + return nil +} + +func (x *DlpKeyValueAction) GetKeysToMask() []string { + if x != nil { + return x.KeysToMask + } + return nil +} + +// The status of the DLPPolicy. +type DLPPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // A count of references to all routes selected by the policy. + NumSelectedRoutes uint32 `protobuf:"varint,3,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *DLPPolicyStatus) Reset() { + *x = DLPPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DLPPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DLPPolicyStatus) ProtoMessage() {} + +func (x *DLPPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DLPPolicyStatus.ProtoReflect.Descriptor instead. +func (*DLPPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescGZIP(), []int{4} +} + +func (x *DLPPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *DLPPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type DLPPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status of the resource in each workspace that it exists in. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of references to all routes selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *DLPPolicyReport) Reset() { + *x = DLPPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DLPPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DLPPolicyReport) ProtoMessage() {} + +func (x *DLPPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DLPPolicyReport.ProtoReflect.Descriptor instead. +func (*DLPPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescGZIP(), []int{5} +} + +func (x *DLPPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *DLPPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +// Whether actions apply to responses, access logs, or both. +// If empty, masking is enabled for responses bodies only. +type DLPPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of data loss prevention actions to be applied. + // These actions are applied in order, one at a time. + Actions []*DlpAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` + // Whether actions apply to responses, access logs, or both. + // If empty, masking is enabled for responses bodies only. + Sanitize DLPPolicySpec_Config_Sanitize `protobuf:"varint,2,opt,name=sanitize,proto3,enum=security.policy.gloo.solo.io.DLPPolicySpec_Config_Sanitize" json:"sanitize,omitempty"` +} + +func (x *DLPPolicySpec_Config) Reset() { + *x = DLPPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DLPPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DLPPolicySpec_Config) ProtoMessage() {} + +func (x *DLPPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DLPPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*DLPPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *DLPPolicySpec_Config) GetActions() []*DlpAction { + if x != nil { + return x.Actions + } + return nil +} + +func (x *DLPPolicySpec_Config) GetSanitize() DLPPolicySpec_Config_Sanitize { + if x != nil { + return x.Sanitize + } + return DLPPolicySpec_Config_ALL +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDesc = []byte{ + 0x0a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x64, 0x6c, + 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, + 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x71, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, + 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x87, 0x03, 0x0a, 0x0d, 0x44, 0x4c, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x12, 0x4a, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x44, 0x4c, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xdd, 0x01, 0x0a, + 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x6c, 0x70, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x08, 0x73, 0x61, + 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x4c, 0x50, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x52, 0x08, 0x73, 0x61, 0x6e, 0x69, 0x74, + 0x69, 0x7a, 0x65, 0x22, 0x37, 0x0a, 0x08, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x12, + 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x43, 0x43, 0x45, + 0x53, 0x53, 0x5f, 0x4c, 0x4f, 0x47, 0x53, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x53, + 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x44, 0x59, 0x10, 0x02, 0x22, 0xff, 0x03, 0x0a, + 0x09, 0x44, 0x6c, 0x70, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x11, 0x70, 0x72, + 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x6c, 0x70, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x10, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x6c, 0x70, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x10, 0x6b, 0x65, 0x79, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x44, 0x6c, 0x70, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x06, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x22, 0x97, 0x01, 0x0a, 0x10, 0x50, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x14, 0x0a, 0x10, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x43, 0x41, + 0x52, 0x44, 0x53, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x53, 0x4e, 0x10, 0x01, 0x12, 0x0e, + 0x0a, 0x0a, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x43, 0x41, 0x52, 0x44, 0x10, 0x02, 0x12, 0x08, + 0x0a, 0x04, 0x56, 0x49, 0x53, 0x41, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x4d, 0x45, 0x58, + 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x10, 0x05, + 0x12, 0x07, 0x0a, 0x03, 0x4a, 0x43, 0x42, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x49, 0x4e, + 0x45, 0x52, 0x53, 0x5f, 0x43, 0x4c, 0x55, 0x42, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x52, + 0x45, 0x44, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x45, + 0x52, 0x53, 0x10, 0x08, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, + 0x01, 0x0a, 0x0f, 0x44, 0x6c, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x63, + 0x68, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, + 0x72, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x65, + 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x52, 0x65, 0x67, 0x65, 0x78, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x67, + 0x65, 0x78, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x11, 0x44, 0x6c, + 0x70, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x72, 0x12, 0x35, + 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x74, 0x6f, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x65, 0x79, + 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x76, 0x0a, 0x0f, 0x44, 0x4c, 0x50, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, + 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, + 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, + 0x9a, 0x02, 0x0a, 0x0f, 0x44, 0x4c, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x5d, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x4c, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5d, 0x5a, 0x4f, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, + 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_goTypes = []interface{}{ + (DLPPolicySpec_Config_Sanitize)(0), // 0: security.policy.gloo.solo.io.DLPPolicySpec.Config.Sanitize + (DlpAction_PredefinedAction)(0), // 1: security.policy.gloo.solo.io.DlpAction.PredefinedAction + (*DLPPolicySpec)(nil), // 2: security.policy.gloo.solo.io.DLPPolicySpec + (*DlpAction)(nil), // 3: security.policy.gloo.solo.io.DlpAction + (*DlpCustomAction)(nil), // 4: security.policy.gloo.solo.io.DlpCustomAction + (*DlpKeyValueAction)(nil), // 5: security.policy.gloo.solo.io.DlpKeyValueAction + (*DLPPolicyStatus)(nil), // 6: security.policy.gloo.solo.io.DLPPolicyStatus + (*DLPPolicyReport)(nil), // 7: security.policy.gloo.solo.io.DLPPolicyReport + (*DLPPolicySpec_Config)(nil), // 8: security.policy.gloo.solo.io.DLPPolicySpec.Config + nil, // 9: security.policy.gloo.solo.io.DLPPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 10: common.gloo.solo.io.RouteSelector + (*wrappers.BoolValue)(nil), // 11: google.protobuf.BoolValue + (*wrappers.StringValue)(nil), // 12: google.protobuf.StringValue + (*wrappers.FloatValue)(nil), // 13: google.protobuf.FloatValue + (*v21.RegexAction)(nil), // 14: envoy.config.filter.http.transformation_ee.v2.RegexAction + (*v2.Status)(nil), // 15: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 16: common.gloo.solo.io.RouteReference + (*v2.Report)(nil), // 17: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_depIdxs = []int32{ + 10, // 0: security.policy.gloo.solo.io.DLPPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 8, // 1: security.policy.gloo.solo.io.DLPPolicySpec.config:type_name -> security.policy.gloo.solo.io.DLPPolicySpec.Config + 1, // 2: security.policy.gloo.solo.io.DlpAction.predefined_action:type_name -> security.policy.gloo.solo.io.DlpAction.PredefinedAction + 4, // 3: security.policy.gloo.solo.io.DlpAction.custom_action:type_name -> security.policy.gloo.solo.io.DlpCustomAction + 5, // 4: security.policy.gloo.solo.io.DlpAction.key_value_action:type_name -> security.policy.gloo.solo.io.DlpKeyValueAction + 11, // 5: security.policy.gloo.solo.io.DlpAction.shadow:type_name -> google.protobuf.BoolValue + 12, // 6: security.policy.gloo.solo.io.DlpCustomAction.mask_char:type_name -> google.protobuf.StringValue + 13, // 7: security.policy.gloo.solo.io.DlpCustomAction.percent:type_name -> google.protobuf.FloatValue + 14, // 8: security.policy.gloo.solo.io.DlpCustomAction.regex_actions:type_name -> envoy.config.filter.http.transformation_ee.v2.RegexAction + 12, // 9: security.policy.gloo.solo.io.DlpKeyValueAction.mask_char:type_name -> google.protobuf.StringValue + 13, // 10: security.policy.gloo.solo.io.DlpKeyValueAction.percent:type_name -> google.protobuf.FloatValue + 15, // 11: security.policy.gloo.solo.io.DLPPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 9, // 12: security.policy.gloo.solo.io.DLPPolicyReport.workspaces:type_name -> security.policy.gloo.solo.io.DLPPolicyReport.WorkspacesEntry + 16, // 13: security.policy.gloo.solo.io.DLPPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 3, // 14: security.policy.gloo.solo.io.DLPPolicySpec.Config.actions:type_name -> security.policy.gloo.solo.io.DlpAction + 0, // 15: security.policy.gloo.solo.io.DLPPolicySpec.Config.sanitize:type_name -> security.policy.gloo.solo.io.DLPPolicySpec.Config.Sanitize + 17, // 16: security.policy.gloo.solo.io.DLPPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DLPPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DlpAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DlpCustomAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DlpKeyValueAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DLPPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DLPPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DLPPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*DlpAction_PredefinedAction_)(nil), + (*DlpAction_CustomAction)(nil), + (*DlpAction_KeyValueAction)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDesc, + NumEnums: 2, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_dlp_policy_proto_depIdxs = nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/dlp_policy.pb.hash.go b/client-go/security.policy.gloo.solo.io/v2/dlp_policy.pb.hash.go new file mode 100644 index 000000000..0002aafd1 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/dlp_policy.pb.hash.go @@ -0,0 +1,494 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/dlp_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *DLPPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.DLPPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DlpAction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.DlpAction")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetShadow()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Shadow")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetShadow(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Shadow")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.Action.(type) { + + case *DlpAction_PredefinedAction_: + + err = binary.Write(hasher, binary.LittleEndian, m.GetPredefinedAction()) + if err != nil { + return 0, err + } + + case *DlpAction_CustomAction: + + if h, ok := interface{}(m.GetCustomAction()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CustomAction")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCustomAction(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CustomAction")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *DlpAction_KeyValueAction: + + if h, ok := interface{}(m.GetKeyValueAction()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("KeyValueAction")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetKeyValueAction(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("KeyValueAction")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DlpCustomAction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.DlpCustomAction")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMaskChar()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MaskChar")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMaskChar(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MaskChar")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPercent()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Percent")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPercent(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Percent")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetRegexActions() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DlpKeyValueAction) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.DlpKeyValueAction")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMaskChar()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MaskChar")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMaskChar(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MaskChar")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPercent()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Percent")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPercent(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Percent")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetKeysToMask() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DLPPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.DLPPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DLPPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.DLPPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *DLPPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.DLPPolicySpec_Config")); err != nil { + return 0, err + } + + for _, v := range m.GetActions() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetSanitize()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/doc.go b/client-go/security.policy.gloo.solo.io/v2/doc.go new file mode 100644 index 000000000..2eb133615 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2 contains API Schema definitions for the security.policy.gloo.solo.io v2 API group +// +k8s:deepcopy-gen=package,register +// +groupName=security.policy.gloo.solo.io +package v2 diff --git a/client-go/security.policy.gloo.solo.io/v2/ext_auth_policy.pb.clone.go b/client-go/security.policy.gloo.solo.io/v2/ext_auth_policy.pb.clone.go new file mode 100644 index 000000000..5604b00c4 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/ext_auth_policy.pb.clone.go @@ -0,0 +1,215 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/ext_auth_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_enterprise_gloo_solo_io_v1 "github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ExtAuthPolicySpec) Clone() proto.Message { + var target *ExtAuthPolicySpec + if m == nil { + return target + } + target = &ExtAuthPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if m.GetApplyToDestinations() != nil { + target.ApplyToDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector, len(m.GetApplyToDestinations())) + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.ApplyToDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*ExtAuthPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*ExtAuthPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *ExtAuthPolicyStatus) Clone() proto.Message { + var target *ExtAuthPolicyStatus + if m == nil { + return target + } + target = &ExtAuthPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedDestinationPorts = m.GetNumSelectedDestinationPorts() + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *ExtAuthPolicyReport) Clone() proto.Message { + var target *ExtAuthPolicyReport + if m == nil { + return target + } + target = &ExtAuthPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedDestinationPorts() != nil { + target.SelectedDestinationPorts = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetSelectedDestinationPorts())) + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedDestinationPorts[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.SelectedDestinationPorts[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *ExtAuthPolicySpec_Config) Clone() proto.Message { + var target *ExtAuthPolicySpec_Config + if m == nil { + return target + } + target = &ExtAuthPolicySpec_Config{} + + if h, ok := interface{}(m.GetServer()).(clone.Cloner); ok { + target.Server = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.Server = proto.Clone(m.GetServer()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + switch m.AuthType.(type) { + + case *ExtAuthPolicySpec_Config_Disable: + + target.AuthType = &ExtAuthPolicySpec_Config_Disable{ + Disable: m.GetDisable(), + } + + case *ExtAuthPolicySpec_Config_GlooAuth: + + if h, ok := interface{}(m.GetGlooAuth()).(clone.Cloner); ok { + target.AuthType = &ExtAuthPolicySpec_Config_GlooAuth{ + GlooAuth: h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_enterprise_gloo_solo_io_v1.AuthConfigSpec), + } + } else { + target.AuthType = &ExtAuthPolicySpec_Config_GlooAuth{ + GlooAuth: proto.Clone(m.GetGlooAuth()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_enterprise_gloo_solo_io_v1.AuthConfigSpec), + } + } + + case *ExtAuthPolicySpec_Config_CustomAuth_: + + if h, ok := interface{}(m.GetCustomAuth()).(clone.Cloner); ok { + target.AuthType = &ExtAuthPolicySpec_Config_CustomAuth_{ + CustomAuth: h.Clone().(*ExtAuthPolicySpec_Config_CustomAuth), + } + } else { + target.AuthType = &ExtAuthPolicySpec_Config_CustomAuth_{ + CustomAuth: proto.Clone(m.GetCustomAuth()).(*ExtAuthPolicySpec_Config_CustomAuth), + } + } + + } + + return target +} + +// Clone function +func (m *ExtAuthPolicySpec_Config_CustomAuth) Clone() proto.Message { + var target *ExtAuthPolicySpec_Config_CustomAuth + if m == nil { + return target + } + target = &ExtAuthPolicySpec_Config_CustomAuth{} + + if m.GetContextExtensions() != nil { + target.ContextExtensions = make(map[string]string, len(m.GetContextExtensions())) + for k, v := range m.GetContextExtensions() { + + target.ContextExtensions[k] = v + + } + } + + return target +} diff --git a/client-go/security.policy.gloo.solo.io/v2/ext_auth_policy.pb.equal.go b/client-go/security.policy.gloo.solo.io/v2/ext_auth_policy.pb.equal.go new file mode 100644 index 000000000..d2837efaa --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/ext_auth_policy.pb.equal.go @@ -0,0 +1,328 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/ext_auth_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ExtAuthPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthPolicySpec) + if !ok { + that2, ok := that.(ExtAuthPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if len(m.GetApplyToDestinations()) != len(target.GetApplyToDestinations()) { + return false + } + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToDestinations()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthPolicyStatus) + if !ok { + that2, ok := that.(ExtAuthPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedDestinationPorts() != target.GetNumSelectedDestinationPorts() { + return false + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *ExtAuthPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthPolicyReport) + if !ok { + that2, ok := that.(ExtAuthPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedDestinationPorts()) != len(target.GetSelectedDestinationPorts()) { + return false + } + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedDestinationPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedDestinationPorts()[idx]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ExtAuthPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthPolicySpec_Config) + if !ok { + that2, ok := that.(ExtAuthPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetServer()).(equality.Equalizer); ok { + if !h.Equal(target.GetServer()) { + return false + } + } else { + if !proto.Equal(m.GetServer(), target.GetServer()) { + return false + } + } + + switch m.AuthType.(type) { + + case *ExtAuthPolicySpec_Config_Disable: + if _, ok := target.AuthType.(*ExtAuthPolicySpec_Config_Disable); !ok { + return false + } + + if m.GetDisable() != target.GetDisable() { + return false + } + + case *ExtAuthPolicySpec_Config_GlooAuth: + if _, ok := target.AuthType.(*ExtAuthPolicySpec_Config_GlooAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetGlooAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetGlooAuth()) { + return false + } + } else { + if !proto.Equal(m.GetGlooAuth(), target.GetGlooAuth()) { + return false + } + } + + case *ExtAuthPolicySpec_Config_CustomAuth_: + if _, ok := target.AuthType.(*ExtAuthPolicySpec_Config_CustomAuth_); !ok { + return false + } + + if h, ok := interface{}(m.GetCustomAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetCustomAuth()) { + return false + } + } else { + if !proto.Equal(m.GetCustomAuth(), target.GetCustomAuth()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.AuthType != target.AuthType { + return false + } + } + + return true +} + +// Equal function +func (m *ExtAuthPolicySpec_Config_CustomAuth) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ExtAuthPolicySpec_Config_CustomAuth) + if !ok { + that2, ok := that.(ExtAuthPolicySpec_Config_CustomAuth) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetContextExtensions()) != len(target.GetContextExtensions()) { + return false + } + for k, v := range m.GetContextExtensions() { + + if strings.Compare(v, target.GetContextExtensions()[k]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/security.policy.gloo.solo.io/v2/ext_auth_policy.pb.go b/client-go/security.policy.gloo.solo.io/v2/ext_auth_policy.pb.go new file mode 100644 index 000000000..607b2f060 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/ext_auth_policy.pb.go @@ -0,0 +1,682 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/ext_auth_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + v1 "github.com/solo-io/solo-apis/client-go/enterprise.gloo.solo.io/v1" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ExtAuthPolicy is used to enforce external authorization/authentication of traffic matching selected routes or arriving at selected destinations. +// All ExtAuthPolicies in a workspace require an ExtAuthServer to in order to function. +// If no ExtAuthServer is specified, a default configuration will be used. +// ExtAuthRoutePolicies can be applied at both the *Route* and *Destination* levels. +// Default is to apply policy to all destinations. +type ExtAuthPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the routes where the policy will be applied. + // If empty, no extauth policy will be applied to any routes in the workspace. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // Select the destinations where the policy will be applied. + // Default behavior if no selectors are specified is to apply to all destinations in the workspace. + // If empty and the route selector is set, no extauth policy on destinations will be applied. + ApplyToDestinations []*v2.DestinationSelector `protobuf:"bytes,2,rep,name=apply_to_destinations,json=applyToDestinations,proto3" json:"apply_to_destinations,omitempty"` + // The details of the external auth policy to apply to the selected routes and destinations. + Config *ExtAuthPolicySpec_Config `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *ExtAuthPolicySpec) Reset() { + *x = ExtAuthPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthPolicySpec) ProtoMessage() {} + +func (x *ExtAuthPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthPolicySpec.ProtoReflect.Descriptor instead. +func (*ExtAuthPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *ExtAuthPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *ExtAuthPolicySpec) GetApplyToDestinations() []*v2.DestinationSelector { + if x != nil { + return x.ApplyToDestinations + } + return nil +} + +func (x *ExtAuthPolicySpec) GetConfig() *ExtAuthPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type ExtAuthPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of destination ports selected by the policy. + NumSelectedDestinationPorts uint32 `protobuf:"varint,2,opt,name=num_selected_destination_ports,json=numSelectedDestinationPorts,proto3" json:"num_selected_destination_ports,omitempty"` + // The number of routes selected by the policy. + NumSelectedRoutes uint32 `protobuf:"varint,3,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *ExtAuthPolicyStatus) Reset() { + *x = ExtAuthPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthPolicyStatus) ProtoMessage() {} + +func (x *ExtAuthPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthPolicyStatus.ProtoReflect.Descriptor instead. +func (*ExtAuthPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *ExtAuthPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *ExtAuthPolicyStatus) GetNumSelectedDestinationPorts() uint32 { + if x != nil { + return x.NumSelectedDestinationPorts + } + return 0 +} + +func (x *ExtAuthPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type ExtAuthPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status of the resource in each workspace that it exists in. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of destination ports selected by the policy. + SelectedDestinationPorts []*v2.DestinationReference `protobuf:"bytes,2,rep,name=selected_destination_ports,json=selectedDestinationPorts,proto3" json:"selected_destination_ports,omitempty"` + // A list of references to all route selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,3,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *ExtAuthPolicyReport) Reset() { + *x = ExtAuthPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthPolicyReport) ProtoMessage() {} + +func (x *ExtAuthPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthPolicyReport.ProtoReflect.Descriptor instead. +func (*ExtAuthPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *ExtAuthPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *ExtAuthPolicyReport) GetSelectedDestinationPorts() []*v2.DestinationReference { + if x != nil { + return x.SelectedDestinationPorts + } + return nil +} + +func (x *ExtAuthPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +// Make sure to select the appropriate ExtAuthServer to use, which might be in a different cluster and namespace +// than the ExtAuthPolicy. For auth configurations that require a client secret from the identity provider issuer, +// the secret must be in the same cluster as the ExtAuthServer resource. +type ExtAuthPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to AuthType: + // + // *ExtAuthPolicySpec_Config_Disable + // *ExtAuthPolicySpec_Config_GlooAuth + // *ExtAuthPolicySpec_Config_CustomAuth_ + AuthType isExtAuthPolicySpec_Config_AuthType `protobuf_oneof:"auth_type"` + // Required: Reference to the ExtAuthServer to use for this policy. + // Currently routes on a single gateway must share a single ExtAuthServer. + // To create an ExtAuthServer resource, see [External auth server setup](https://docs.solo.io/gloo-mesh-enterprise/main/policies/external-auth/server/#setup). + Server *v2.ObjectReference `protobuf:"bytes,4,opt,name=server,proto3" json:"server,omitempty"` +} + +func (x *ExtAuthPolicySpec_Config) Reset() { + *x = ExtAuthPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthPolicySpec_Config) ProtoMessage() {} + +func (x *ExtAuthPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*ExtAuthPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (m *ExtAuthPolicySpec_Config) GetAuthType() isExtAuthPolicySpec_Config_AuthType { + if m != nil { + return m.AuthType + } + return nil +} + +func (x *ExtAuthPolicySpec_Config) GetDisable() bool { + if x, ok := x.GetAuthType().(*ExtAuthPolicySpec_Config_Disable); ok { + return x.Disable + } + return false +} + +func (x *ExtAuthPolicySpec_Config) GetGlooAuth() *v1.AuthConfigSpec { + if x, ok := x.GetAuthType().(*ExtAuthPolicySpec_Config_GlooAuth); ok { + return x.GlooAuth + } + return nil +} + +func (x *ExtAuthPolicySpec_Config) GetCustomAuth() *ExtAuthPolicySpec_Config_CustomAuth { + if x, ok := x.GetAuthType().(*ExtAuthPolicySpec_Config_CustomAuth_); ok { + return x.CustomAuth + } + return nil +} + +func (x *ExtAuthPolicySpec_Config) GetServer() *v2.ObjectReference { + if x != nil { + return x.Server + } + return nil +} + +type isExtAuthPolicySpec_Config_AuthType interface { + isExtAuthPolicySpec_Config_AuthType() +} + +type ExtAuthPolicySpec_Config_Disable struct { + // Set to true to disable auth on the route. + Disable bool `protobuf:"varint,1,opt,name=disable,proto3,oneof"` +} + +type ExtAuthPolicySpec_Config_GlooAuth struct { + // Configure the selected route or destination with auth options provided by the Gloo Mesh Ext Auth service. The Ext Auth Service can be specified must be configured to use a Gloo Ext Auth service via a ExtAuthDestinationPolicy. + GlooAuth *v1.AuthConfigSpec `protobuf:"bytes,2,opt,name=gloo_auth,json=glooAuth,proto3,oneof"` +} + +type ExtAuthPolicySpec_Config_CustomAuth_ struct { + // Use this field if you are running your own custom extauth server. The destination service must be configured to use a custom ext auth service via a ExtAuthDestinationPolicy. + CustomAuth *ExtAuthPolicySpec_Config_CustomAuth `protobuf:"bytes,3,opt,name=custom_auth,json=customAuth,proto3,oneof"` +} + +func (*ExtAuthPolicySpec_Config_Disable) isExtAuthPolicySpec_Config_AuthType() {} + +func (*ExtAuthPolicySpec_Config_GlooAuth) isExtAuthPolicySpec_Config_AuthType() {} + +func (*ExtAuthPolicySpec_Config_CustomAuth_) isExtAuthPolicySpec_Config_AuthType() {} + +// Gloo Mesh is not expected to configure the ext auth server in this case. +// This is used with custom auth servers. +type ExtAuthPolicySpec_Config_CustomAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // When a request matches the route or on which this configuration is applied, + // Gloo Mesh will add the given context_extensions to the request that is sent to the external authorization server. + // This allows the server to base the auth decision on metadata that you define on the source of the request. + // + // This attribute is analogous to Envoy's config.filter.http.ext_authz.v2.CheckSettings. See the official + // [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/ext_authz_filter.html?highlight=extauthz#config-filter-http-ext-authz-v2-checksettings) + // for more details. + ContextExtensions map[string]string `protobuf:"bytes,1,rep,name=context_extensions,json=contextExtensions,proto3" json:"context_extensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ExtAuthPolicySpec_Config_CustomAuth) Reset() { + *x = ExtAuthPolicySpec_Config_CustomAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtAuthPolicySpec_Config_CustomAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtAuthPolicySpec_Config_CustomAuth) ProtoMessage() {} + +func (x *ExtAuthPolicySpec_Config_CustomAuth) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtAuthPolicySpec_Config_CustomAuth.ProtoReflect.Descriptor instead. +func (*ExtAuthPolicySpec_Config_CustomAuth) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *ExtAuthPolicySpec_Config_CustomAuth) GetContextExtensions() map[string]string { + if x != nil { + return x.ContextExtensions + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDesc = []byte{ + 0x0a, 0x61, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x65, 0x78, + 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x06, 0x0a, 0x11, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, + 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x0f, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, + 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79, + 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x83, 0x04, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x00, 0x52, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4d, 0x0a, 0x09, + 0x67, 0x6c, 0x6f, 0x6f, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, 0x63, 0x42, 0x05, 0xea, 0x42, 0x02, 0x10, 0x01, 0x48, + 0x00, 0x52, 0x08, 0x67, 0x6c, 0x6f, 0x6f, 0x41, 0x75, 0x74, 0x68, 0x12, 0x64, 0x0a, 0x0b, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x41, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, + 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x75, 0x74, + 0x68, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x1a, + 0xdc, 0x01, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x12, 0x87, + 0x01, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, + 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x44, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, + 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x13, + 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1e, 0x6e, 0x75, 0x6d, 0x5f, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x1b, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x2e, 0x0a, + 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x8b, 0x03, + 0x0a, 0x13, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x61, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x18, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, + 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, + 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5d, 0x5a, 0x4f, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, + 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_goTypes = []interface{}{ + (*ExtAuthPolicySpec)(nil), // 0: security.policy.gloo.solo.io.ExtAuthPolicySpec + (*ExtAuthPolicyStatus)(nil), // 1: security.policy.gloo.solo.io.ExtAuthPolicyStatus + (*ExtAuthPolicyReport)(nil), // 2: security.policy.gloo.solo.io.ExtAuthPolicyReport + (*ExtAuthPolicySpec_Config)(nil), // 3: security.policy.gloo.solo.io.ExtAuthPolicySpec.Config + (*ExtAuthPolicySpec_Config_CustomAuth)(nil), // 4: security.policy.gloo.solo.io.ExtAuthPolicySpec.Config.CustomAuth + nil, // 5: security.policy.gloo.solo.io.ExtAuthPolicySpec.Config.CustomAuth.ContextExtensionsEntry + nil, // 6: security.policy.gloo.solo.io.ExtAuthPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 7: common.gloo.solo.io.RouteSelector + (*v2.DestinationSelector)(nil), // 8: common.gloo.solo.io.DestinationSelector + (*v2.Status)(nil), // 9: common.gloo.solo.io.Status + (*v2.DestinationReference)(nil), // 10: common.gloo.solo.io.DestinationReference + (*v2.RouteReference)(nil), // 11: common.gloo.solo.io.RouteReference + (*v1.AuthConfigSpec)(nil), // 12: enterprise.gloo.solo.io.AuthConfigSpec + (*v2.ObjectReference)(nil), // 13: common.gloo.solo.io.ObjectReference + (*v2.Report)(nil), // 14: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_depIdxs = []int32{ + 7, // 0: security.policy.gloo.solo.io.ExtAuthPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 8, // 1: security.policy.gloo.solo.io.ExtAuthPolicySpec.apply_to_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 3, // 2: security.policy.gloo.solo.io.ExtAuthPolicySpec.config:type_name -> security.policy.gloo.solo.io.ExtAuthPolicySpec.Config + 9, // 3: security.policy.gloo.solo.io.ExtAuthPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 6, // 4: security.policy.gloo.solo.io.ExtAuthPolicyReport.workspaces:type_name -> security.policy.gloo.solo.io.ExtAuthPolicyReport.WorkspacesEntry + 10, // 5: security.policy.gloo.solo.io.ExtAuthPolicyReport.selected_destination_ports:type_name -> common.gloo.solo.io.DestinationReference + 11, // 6: security.policy.gloo.solo.io.ExtAuthPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 12, // 7: security.policy.gloo.solo.io.ExtAuthPolicySpec.Config.gloo_auth:type_name -> enterprise.gloo.solo.io.AuthConfigSpec + 4, // 8: security.policy.gloo.solo.io.ExtAuthPolicySpec.Config.custom_auth:type_name -> security.policy.gloo.solo.io.ExtAuthPolicySpec.Config.CustomAuth + 13, // 9: security.policy.gloo.solo.io.ExtAuthPolicySpec.Config.server:type_name -> common.gloo.solo.io.ObjectReference + 5, // 10: security.policy.gloo.solo.io.ExtAuthPolicySpec.Config.CustomAuth.context_extensions:type_name -> security.policy.gloo.solo.io.ExtAuthPolicySpec.Config.CustomAuth.ContextExtensionsEntry + 14, // 11: security.policy.gloo.solo.io.ExtAuthPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtAuthPolicySpec_Config_CustomAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*ExtAuthPolicySpec_Config_Disable)(nil), + (*ExtAuthPolicySpec_Config_GlooAuth)(nil), + (*ExtAuthPolicySpec_Config_CustomAuth_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_ext_auth_policy_proto_depIdxs = nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/ext_auth_policy.pb.hash.go b/client-go/security.policy.gloo.solo.io/v2/ext_auth_policy.pb.hash.go new file mode 100644 index 000000000..ba3a14ba6 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/ext_auth_policy.pb.hash.go @@ -0,0 +1,389 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/ext_auth_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ExtAuthPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.ExtAuthPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.ExtAuthPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedDestinationPorts()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.ExtAuthPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.ExtAuthPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetServer()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Server")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetServer(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Server")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.AuthType.(type) { + + case *ExtAuthPolicySpec_Config_Disable: + + err = binary.Write(hasher, binary.LittleEndian, m.GetDisable()) + if err != nil { + return 0, err + } + + case *ExtAuthPolicySpec_Config_GlooAuth: + + if h, ok := interface{}(m.GetGlooAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("GlooAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGlooAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("GlooAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *ExtAuthPolicySpec_Config_CustomAuth_: + + if h, ok := interface{}(m.GetCustomAuth()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CustomAuth")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCustomAuth(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CustomAuth")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ExtAuthPolicySpec_Config_CustomAuth) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.ExtAuthPolicySpec_Config_CustomAuth")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetContextExtensions() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/graphql_allowed_query_policy.pb.clone.go b/client-go/security.policy.gloo.solo.io/v2/graphql_allowed_query_policy.pb.clone.go new file mode 100644 index 000000000..aadc03288 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/graphql_allowed_query_policy.pb.clone.go @@ -0,0 +1,134 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/graphql_allowed_query_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *GraphQLAllowedQueryPolicySpec) Clone() proto.Message { + var target *GraphQLAllowedQueryPolicySpec + if m == nil { + return target + } + target = &GraphQLAllowedQueryPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*GraphQLAllowedQueryPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*GraphQLAllowedQueryPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *GraphQLAllowedQueryPolicyStatus) Clone() proto.Message { + var target *GraphQLAllowedQueryPolicyStatus + if m == nil { + return target + } + target = &GraphQLAllowedQueryPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *GraphQLAllowedQueryPolicyReport) Clone() proto.Message { + var target *GraphQLAllowedQueryPolicyReport + if m == nil { + return target + } + target = &GraphQLAllowedQueryPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *GraphQLAllowedQueryPolicySpec_Config) Clone() proto.Message { + var target *GraphQLAllowedQueryPolicySpec_Config + if m == nil { + return target + } + target = &GraphQLAllowedQueryPolicySpec_Config{} + + if m.GetAllowedQueryHashes() != nil { + target.AllowedQueryHashes = make([]string, len(m.GetAllowedQueryHashes())) + for idx, v := range m.GetAllowedQueryHashes() { + + target.AllowedQueryHashes[idx] = v + + } + } + + return target +} diff --git a/client-go/security.policy.gloo.solo.io/v2/graphql_allowed_query_policy.pb.equal.go b/client-go/security.policy.gloo.solo.io/v2/graphql_allowed_query_policy.pb.equal.go new file mode 100644 index 000000000..8ca371421 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/graphql_allowed_query_policy.pb.equal.go @@ -0,0 +1,208 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/graphql_allowed_query_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *GraphQLAllowedQueryPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLAllowedQueryPolicySpec) + if !ok { + that2, ok := that.(GraphQLAllowedQueryPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *GraphQLAllowedQueryPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLAllowedQueryPolicyStatus) + if !ok { + that2, ok := that.(GraphQLAllowedQueryPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *GraphQLAllowedQueryPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLAllowedQueryPolicyReport) + if !ok { + that2, ok := that.(GraphQLAllowedQueryPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *GraphQLAllowedQueryPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*GraphQLAllowedQueryPolicySpec_Config) + if !ok { + that2, ok := that.(GraphQLAllowedQueryPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetAllowedQueryHashes()) != len(target.GetAllowedQueryHashes()) { + return false + } + for idx, v := range m.GetAllowedQueryHashes() { + + if strings.Compare(v, target.GetAllowedQueryHashes()[idx]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/security.policy.gloo.solo.io/v2/graphql_allowed_query_policy.pb.go b/client-go/security.policy.gloo.solo.io/v2/graphql_allowed_query_policy.pb.go new file mode 100644 index 000000000..515b5cba2 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/graphql_allowed_query_policy.pb.go @@ -0,0 +1,458 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/graphql_allowed_query_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/golang/protobuf/ptypes/any" + _ "github.com/golang/protobuf/ptypes/timestamp" + _ "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type GraphQLAllowedQueryPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the graphql routes where the policy will be applied. + // If empty, will apply to no graphql routes. + // selection via Destination selectors will not work for this policy, and only + // route selectors will work. + // If more than one GraphQLAllowedQueryPolicy applies to a GraphQLRoute, the oldest + // one will be applied. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + Config *GraphQLAllowedQueryPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *GraphQLAllowedQueryPolicySpec) Reset() { + *x = GraphQLAllowedQueryPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLAllowedQueryPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLAllowedQueryPolicySpec) ProtoMessage() {} + +func (x *GraphQLAllowedQueryPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLAllowedQueryPolicySpec.ProtoReflect.Descriptor instead. +func (*GraphQLAllowedQueryPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *GraphQLAllowedQueryPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *GraphQLAllowedQueryPolicySpec) GetConfig() *GraphQLAllowedQueryPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +type GraphQLAllowedQueryPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of routes the policy selects. + NumSelectedRoutes uint32 `protobuf:"varint,2,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *GraphQLAllowedQueryPolicyStatus) Reset() { + *x = GraphQLAllowedQueryPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLAllowedQueryPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLAllowedQueryPolicyStatus) ProtoMessage() {} + +func (x *GraphQLAllowedQueryPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLAllowedQueryPolicyStatus.ProtoReflect.Descriptor instead. +func (*GraphQLAllowedQueryPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *GraphQLAllowedQueryPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *GraphQLAllowedQueryPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type GraphQLAllowedQueryPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of references to all routes the policy selects. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *GraphQLAllowedQueryPolicyReport) Reset() { + *x = GraphQLAllowedQueryPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLAllowedQueryPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLAllowedQueryPolicyReport) ProtoMessage() {} + +func (x *GraphQLAllowedQueryPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLAllowedQueryPolicyReport.ProtoReflect.Descriptor instead. +func (*GraphQLAllowedQueryPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *GraphQLAllowedQueryPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *GraphQLAllowedQueryPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +type GraphQLAllowedQueryPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of SHA-256 hashed graphql queries that are allowed to be executed by the server. + // If a query hash is not in this list, the server will return an error. + // If this list is empty, all queries are allowed. Else, all queries must be in this list. + // Queries that are not sent as hashes will be hashed and compared against the list. + // This is useful for preventing malicious queries from being executed. + AllowedQueryHashes []string `protobuf:"bytes,1,rep,name=allowed_query_hashes,json=allowedQueryHashes,proto3" json:"allowed_query_hashes,omitempty"` +} + +func (x *GraphQLAllowedQueryPolicySpec_Config) Reset() { + *x = GraphQLAllowedQueryPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GraphQLAllowedQueryPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GraphQLAllowedQueryPolicySpec_Config) ProtoMessage() {} + +func (x *GraphQLAllowedQueryPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GraphQLAllowedQueryPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*GraphQLAllowedQueryPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *GraphQLAllowedQueryPolicySpec_Config) GetAllowedQueryHashes() []string { + if x != nil { + return x.AllowedQueryHashes + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDesc = []byte{ + 0x0a, 0x6e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x71, 0x6c, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x1c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x53, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, + 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, + 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x02, 0x0a, 0x1d, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x51, 0x4c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x0f, 0x61, 0x70, + 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x1a, 0x3a, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x14, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0x86, + 0x01, 0x0a, 0x1f, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xba, 0x02, 0x0a, 0x1f, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x51, 0x4c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6d, 0x0a, 0x0a, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x4d, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, + 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5d, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, + 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_goTypes = []interface{}{ + (*GraphQLAllowedQueryPolicySpec)(nil), // 0: security.policy.gloo.solo.io.GraphQLAllowedQueryPolicySpec + (*GraphQLAllowedQueryPolicyStatus)(nil), // 1: security.policy.gloo.solo.io.GraphQLAllowedQueryPolicyStatus + (*GraphQLAllowedQueryPolicyReport)(nil), // 2: security.policy.gloo.solo.io.GraphQLAllowedQueryPolicyReport + (*GraphQLAllowedQueryPolicySpec_Config)(nil), // 3: security.policy.gloo.solo.io.GraphQLAllowedQueryPolicySpec.Config + nil, // 4: security.policy.gloo.solo.io.GraphQLAllowedQueryPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 5: common.gloo.solo.io.RouteSelector + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 7: common.gloo.solo.io.RouteReference + (*v2.Report)(nil), // 8: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_depIdxs = []int32{ + 5, // 0: security.policy.gloo.solo.io.GraphQLAllowedQueryPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 3, // 1: security.policy.gloo.solo.io.GraphQLAllowedQueryPolicySpec.config:type_name -> security.policy.gloo.solo.io.GraphQLAllowedQueryPolicySpec.Config + 6, // 2: security.policy.gloo.solo.io.GraphQLAllowedQueryPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: security.policy.gloo.solo.io.GraphQLAllowedQueryPolicyReport.workspaces:type_name -> security.policy.gloo.solo.io.GraphQLAllowedQueryPolicyReport.WorkspacesEntry + 7, // 4: security.policy.gloo.solo.io.GraphQLAllowedQueryPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 8, // 5: security.policy.gloo.solo.io.GraphQLAllowedQueryPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLAllowedQueryPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLAllowedQueryPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLAllowedQueryPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GraphQLAllowedQueryPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_graphql_allowed_query_policy_proto_depIdxs = nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/graphql_allowed_query_policy.pb.hash.go b/client-go/security.policy.gloo.solo.io/v2/graphql_allowed_query_policy.pb.hash.go new file mode 100644 index 000000000..21d2fc04b --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/graphql_allowed_query_policy.pb.hash.go @@ -0,0 +1,230 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/graphql_allowed_query_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *GraphQLAllowedQueryPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.GraphQLAllowedQueryPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLAllowedQueryPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.GraphQLAllowedQueryPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLAllowedQueryPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.GraphQLAllowedQueryPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *GraphQLAllowedQueryPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.GraphQLAllowedQueryPolicySpec_Config")); err != nil { + return 0, err + } + + for _, v := range m.GetAllowedQueryHashes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/json.gen.go b/client-go/security.policy.gloo.solo.io/v2/json.gen.go new file mode 100644 index 000000000..924938d79 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/json.gen.go @@ -0,0 +1,226 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for AccessPolicySpec +func (this *AccessPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for AccessPolicySpec +func (this *AccessPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for AccessPolicyStatus +func (this *AccessPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for AccessPolicyStatus +func (this *AccessPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for CORSPolicySpec +func (this *CORSPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for CORSPolicySpec +func (this *CORSPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for CORSPolicyStatus +func (this *CORSPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for CORSPolicyStatus +func (this *CORSPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for CSRFPolicySpec +func (this *CSRFPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for CSRFPolicySpec +func (this *CSRFPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for CSRFPolicyStatus +func (this *CSRFPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for CSRFPolicyStatus +func (this *CSRFPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ExtAuthPolicySpec +func (this *ExtAuthPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ExtAuthPolicySpec +func (this *ExtAuthPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ExtAuthPolicyStatus +func (this *ExtAuthPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ExtAuthPolicyStatus +func (this *ExtAuthPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for WAFPolicySpec +func (this *WAFPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for WAFPolicySpec +func (this *WAFPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for WAFPolicyStatus +func (this *WAFPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for WAFPolicyStatus +func (this *WAFPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for JWTPolicySpec +func (this *JWTPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for JWTPolicySpec +func (this *JWTPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for JWTPolicyStatus +func (this *JWTPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for JWTPolicyStatus +func (this *JWTPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ClientTLSPolicySpec +func (this *ClientTLSPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ClientTLSPolicySpec +func (this *ClientTLSPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ClientTLSPolicyStatus +func (this *ClientTLSPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ClientTLSPolicyStatus +func (this *ClientTLSPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for GraphQLAllowedQueryPolicySpec +func (this *GraphQLAllowedQueryPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GraphQLAllowedQueryPolicySpec +func (this *GraphQLAllowedQueryPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for GraphQLAllowedQueryPolicyStatus +func (this *GraphQLAllowedQueryPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GraphQLAllowedQueryPolicyStatus +func (this *GraphQLAllowedQueryPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for DLPPolicySpec +func (this *DLPPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for DLPPolicySpec +func (this *DLPPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for DLPPolicyStatus +func (this *DLPPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for DLPPolicyStatus +func (this *DLPPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/security.policy.gloo.solo.io/v2/jwt_policy.pb.clone.go b/client-go/security.policy.gloo.solo.io/v2/jwt_policy.pb.clone.go new file mode 100644 index 000000000..0f35a6da6 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/jwt_policy.pb.clone.go @@ -0,0 +1,466 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/jwt_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *JWTPolicySpec) Clone() proto.Message { + var target *JWTPolicySpec + if m == nil { + return target + } + target = &JWTPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if m.GetApplyToDestinations() != nil { + target.ApplyToDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector, len(m.GetApplyToDestinations())) + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.ApplyToDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*JWTPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*JWTPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *JWTPolicyStatus) Clone() proto.Message { + var target *JWTPolicyStatus + if m == nil { + return target + } + target = &JWTPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + target.NumSelectedDestinationPorts = m.GetNumSelectedDestinationPorts() + + return target +} + +// Clone function +func (m *JWTPolicyReport) Clone() proto.Message { + var target *JWTPolicyReport + if m == nil { + return target + } + target = &JWTPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + if m.GetSelectedDestinationPorts() != nil { + target.SelectedDestinationPorts = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetSelectedDestinationPorts())) + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedDestinationPorts[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.SelectedDestinationPorts[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + return target +} + +// Clone function +func (m *JWTPolicySpec_Config) Clone() proto.Message { + var target *JWTPolicySpec_Config + if m == nil { + return target + } + target = &JWTPolicySpec_Config{} + + if m.GetProviders() != nil { + target.Providers = make(map[string]*JWTPolicySpec_Config_Provider, len(m.GetProviders())) + for k, v := range m.GetProviders() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Providers[k] = h.Clone().(*JWTPolicySpec_Config_Provider) + } else { + target.Providers[k] = proto.Clone(v).(*JWTPolicySpec_Config_Provider) + } + + } + } + + if h, ok := interface{}(m.GetPhase()).(clone.Cloner); ok { + target.Phase = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PrioritizedPhase) + } else { + target.Phase = proto.Clone(m.GetPhase()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PrioritizedPhase) + } + + target.AllowMissingOrFailed = m.GetAllowMissingOrFailed() + + target.ClearRouteCache = m.GetClearRouteCache() + + if m.GetClaims() != nil { + target.Claims = make([]*JWTPolicySpec_Config_ClaimMatcher, len(m.GetClaims())) + for idx, v := range m.GetClaims() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Claims[idx] = h.Clone().(*JWTPolicySpec_Config_ClaimMatcher) + } else { + target.Claims[idx] = proto.Clone(v).(*JWTPolicySpec_Config_ClaimMatcher) + } + + } + } + + if m.GetRequiredScopes() != nil { + target.RequiredScopes = make([]string, len(m.GetRequiredScopes())) + for idx, v := range m.GetRequiredScopes() { + + target.RequiredScopes[idx] = v + + } + } + + target.ValidationPolicy = m.GetValidationPolicy() + + return target +} + +// Clone function +func (m *JWTPolicySpec_Config_Provider) Clone() proto.Message { + var target *JWTPolicySpec_Config_Provider + if m == nil { + return target + } + target = &JWTPolicySpec_Config_Provider{} + + target.Issuer = m.GetIssuer() + + if m.GetAudiences() != nil { + target.Audiences = make([]string, len(m.GetAudiences())) + for idx, v := range m.GetAudiences() { + + target.Audiences[idx] = v + + } + } + + if h, ok := interface{}(m.GetTokenSource()).(clone.Cloner); ok { + target.TokenSource = h.Clone().(*JWTPolicySpec_Config_Provider_TokenSource) + } else { + target.TokenSource = proto.Clone(m.GetTokenSource()).(*JWTPolicySpec_Config_Provider_TokenSource) + } + + if m.GetClaimsToHeaders() != nil { + target.ClaimsToHeaders = make([]*JWTPolicySpec_Config_Provider_ClaimsToHeader, len(m.GetClaimsToHeaders())) + for idx, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ClaimsToHeaders[idx] = h.Clone().(*JWTPolicySpec_Config_Provider_ClaimsToHeader) + } else { + target.ClaimsToHeaders[idx] = proto.Clone(v).(*JWTPolicySpec_Config_Provider_ClaimsToHeader) + } + + } + } + + target.KeepToken = m.GetKeepToken() + + if h, ok := interface{}(m.GetClockSkewSeconds()).(clone.Cloner); ok { + target.ClockSkewSeconds = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.ClockSkewSeconds = proto.Clone(m.GetClockSkewSeconds()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + target.OutputPayloadToHeader = m.GetOutputPayloadToHeader() + + switch m.JwksSource.(type) { + + case *JWTPolicySpec_Config_Provider_Local: + + if h, ok := interface{}(m.GetLocal()).(clone.Cloner); ok { + target.JwksSource = &JWTPolicySpec_Config_Provider_Local{ + Local: h.Clone().(*JWTPolicySpec_Config_Provider_LocalJWKS), + } + } else { + target.JwksSource = &JWTPolicySpec_Config_Provider_Local{ + Local: proto.Clone(m.GetLocal()).(*JWTPolicySpec_Config_Provider_LocalJWKS), + } + } + + case *JWTPolicySpec_Config_Provider_Remote: + + if h, ok := interface{}(m.GetRemote()).(clone.Cloner); ok { + target.JwksSource = &JWTPolicySpec_Config_Provider_Remote{ + Remote: h.Clone().(*JWTPolicySpec_Config_Provider_RemoteJWKS), + } + } else { + target.JwksSource = &JWTPolicySpec_Config_Provider_Remote{ + Remote: proto.Clone(m.GetRemote()).(*JWTPolicySpec_Config_Provider_RemoteJWKS), + } + } + + } + + return target +} + +// Clone function +func (m *JWTPolicySpec_Config_ClaimMatcher) Clone() proto.Message { + var target *JWTPolicySpec_Config_ClaimMatcher + if m == nil { + return target + } + target = &JWTPolicySpec_Config_ClaimMatcher{} + + target.Key = m.GetKey() + + if m.GetValues() != nil { + target.Values = make([]string, len(m.GetValues())) + for idx, v := range m.GetValues() { + + target.Values[idx] = v + + } + } + + if m.GetNotValues() != nil { + target.NotValues = make([]string, len(m.GetNotValues())) + for idx, v := range m.GetNotValues() { + + target.NotValues[idx] = v + + } + } + + target.NestedClaimDelimiter = m.GetNestedClaimDelimiter() + + return target +} + +// Clone function +func (m *JWTPolicySpec_Config_Provider_TokenSource) Clone() proto.Message { + var target *JWTPolicySpec_Config_Provider_TokenSource + if m == nil { + return target + } + target = &JWTPolicySpec_Config_Provider_TokenSource{} + + if m.GetHeaders() != nil { + target.Headers = make([]*JWTPolicySpec_Config_Provider_TokenSourceFromHeader, len(m.GetHeaders())) + for idx, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Headers[idx] = h.Clone().(*JWTPolicySpec_Config_Provider_TokenSourceFromHeader) + } else { + target.Headers[idx] = proto.Clone(v).(*JWTPolicySpec_Config_Provider_TokenSourceFromHeader) + } + + } + } + + if m.GetQueryParams() != nil { + target.QueryParams = make([]string, len(m.GetQueryParams())) + for idx, v := range m.GetQueryParams() { + + target.QueryParams[idx] = v + + } + } + + return target +} + +// Clone function +func (m *JWTPolicySpec_Config_Provider_LocalJWKS) Clone() proto.Message { + var target *JWTPolicySpec_Config_Provider_LocalJWKS + if m == nil { + return target + } + target = &JWTPolicySpec_Config_Provider_LocalJWKS{} + + switch m.Specifier.(type) { + + case *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef_: + + if h, ok := interface{}(m.GetSecretRef()).(clone.Cloner); ok { + target.Specifier = &JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef_{ + SecretRef: h.Clone().(*JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef), + } + } else { + target.Specifier = &JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef_{ + SecretRef: proto.Clone(m.GetSecretRef()).(*JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef), + } + } + + case *JWTPolicySpec_Config_Provider_LocalJWKS_Inline: + + target.Specifier = &JWTPolicySpec_Config_Provider_LocalJWKS_Inline{ + Inline: m.GetInline(), + } + + } + + return target +} + +// Clone function +func (m *JWTPolicySpec_Config_Provider_RemoteJWKS) Clone() proto.Message { + var target *JWTPolicySpec_Config_Provider_RemoteJWKS + if m == nil { + return target + } + target = &JWTPolicySpec_Config_Provider_RemoteJWKS{} + + target.Url = m.GetUrl() + + if h, ok := interface{}(m.GetDestinationRef()).(clone.Cloner); ok { + target.DestinationRef = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.DestinationRef = proto.Clone(m.GetDestinationRef()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + if h, ok := interface{}(m.GetCacheDuration()).(clone.Cloner); ok { + target.CacheDuration = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.CacheDuration = proto.Clone(m.GetCacheDuration()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if h, ok := interface{}(m.GetTimeout()).(clone.Cloner); ok { + target.Timeout = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.Timeout = proto.Clone(m.GetTimeout()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + target.EnableAsyncFetch = m.GetEnableAsyncFetch() + + return target +} + +// Clone function +func (m *JWTPolicySpec_Config_Provider_ClaimsToHeader) Clone() proto.Message { + var target *JWTPolicySpec_Config_Provider_ClaimsToHeader + if m == nil { + return target + } + target = &JWTPolicySpec_Config_Provider_ClaimsToHeader{} + + target.Claim = m.GetClaim() + + target.Header = m.GetHeader() + + target.Append = m.GetAppend() + + return target +} + +// Clone function +func (m *JWTPolicySpec_Config_Provider_TokenSourceFromHeader) Clone() proto.Message { + var target *JWTPolicySpec_Config_Provider_TokenSourceFromHeader + if m == nil { + return target + } + target = &JWTPolicySpec_Config_Provider_TokenSourceFromHeader{} + + target.Name = m.GetName() + + target.Prefix = m.GetPrefix() + + return target +} + +// Clone function +func (m *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef) Clone() proto.Message { + var target *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef + if m == nil { + return target + } + target = &JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef{} + + if h, ok := interface{}(m.GetObjectRef()).(clone.Cloner); ok { + target.ObjectRef = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.ObjectRef = proto.Clone(m.GetObjectRef()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + target.Key = m.GetKey() + + return target +} diff --git a/client-go/security.policy.gloo.solo.io/v2/jwt_policy.pb.equal.go b/client-go/security.policy.gloo.solo.io/v2/jwt_policy.pb.equal.go new file mode 100644 index 000000000..390e6c69f --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/jwt_policy.pb.equal.go @@ -0,0 +1,756 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/jwt_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *JWTPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JWTPolicySpec) + if !ok { + that2, ok := that.(JWTPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if len(m.GetApplyToDestinations()) != len(target.GetApplyToDestinations()) { + return false + } + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToDestinations()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *JWTPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JWTPolicyStatus) + if !ok { + that2, ok := that.(JWTPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + if m.GetNumSelectedDestinationPorts() != target.GetNumSelectedDestinationPorts() { + return false + } + + return true +} + +// Equal function +func (m *JWTPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JWTPolicyReport) + if !ok { + that2, ok := that.(JWTPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + if len(m.GetSelectedDestinationPorts()) != len(target.GetSelectedDestinationPorts()) { + return false + } + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedDestinationPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedDestinationPorts()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *JWTPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JWTPolicySpec_Config) + if !ok { + that2, ok := that.(JWTPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetProviders()) != len(target.GetProviders()) { + return false + } + for k, v := range m.GetProviders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetProviders()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetProviders()[k]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetPhase()).(equality.Equalizer); ok { + if !h.Equal(target.GetPhase()) { + return false + } + } else { + if !proto.Equal(m.GetPhase(), target.GetPhase()) { + return false + } + } + + if m.GetAllowMissingOrFailed() != target.GetAllowMissingOrFailed() { + return false + } + + if m.GetClearRouteCache() != target.GetClearRouteCache() { + return false + } + + if len(m.GetClaims()) != len(target.GetClaims()) { + return false + } + for idx, v := range m.GetClaims() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetClaims()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetClaims()[idx]) { + return false + } + } + + } + + if len(m.GetRequiredScopes()) != len(target.GetRequiredScopes()) { + return false + } + for idx, v := range m.GetRequiredScopes() { + + if strings.Compare(v, target.GetRequiredScopes()[idx]) != 0 { + return false + } + + } + + if m.GetValidationPolicy() != target.GetValidationPolicy() { + return false + } + + return true +} + +// Equal function +func (m *JWTPolicySpec_Config_Provider) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JWTPolicySpec_Config_Provider) + if !ok { + that2, ok := that.(JWTPolicySpec_Config_Provider) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetIssuer(), target.GetIssuer()) != 0 { + return false + } + + if len(m.GetAudiences()) != len(target.GetAudiences()) { + return false + } + for idx, v := range m.GetAudiences() { + + if strings.Compare(v, target.GetAudiences()[idx]) != 0 { + return false + } + + } + + if h, ok := interface{}(m.GetTokenSource()).(equality.Equalizer); ok { + if !h.Equal(target.GetTokenSource()) { + return false + } + } else { + if !proto.Equal(m.GetTokenSource(), target.GetTokenSource()) { + return false + } + } + + if len(m.GetClaimsToHeaders()) != len(target.GetClaimsToHeaders()) { + return false + } + for idx, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetClaimsToHeaders()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetClaimsToHeaders()[idx]) { + return false + } + } + + } + + if m.GetKeepToken() != target.GetKeepToken() { + return false + } + + if h, ok := interface{}(m.GetClockSkewSeconds()).(equality.Equalizer); ok { + if !h.Equal(target.GetClockSkewSeconds()) { + return false + } + } else { + if !proto.Equal(m.GetClockSkewSeconds(), target.GetClockSkewSeconds()) { + return false + } + } + + if strings.Compare(m.GetOutputPayloadToHeader(), target.GetOutputPayloadToHeader()) != 0 { + return false + } + + switch m.JwksSource.(type) { + + case *JWTPolicySpec_Config_Provider_Local: + if _, ok := target.JwksSource.(*JWTPolicySpec_Config_Provider_Local); !ok { + return false + } + + if h, ok := interface{}(m.GetLocal()).(equality.Equalizer); ok { + if !h.Equal(target.GetLocal()) { + return false + } + } else { + if !proto.Equal(m.GetLocal(), target.GetLocal()) { + return false + } + } + + case *JWTPolicySpec_Config_Provider_Remote: + if _, ok := target.JwksSource.(*JWTPolicySpec_Config_Provider_Remote); !ok { + return false + } + + if h, ok := interface{}(m.GetRemote()).(equality.Equalizer); ok { + if !h.Equal(target.GetRemote()) { + return false + } + } else { + if !proto.Equal(m.GetRemote(), target.GetRemote()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.JwksSource != target.JwksSource { + return false + } + } + + return true +} + +// Equal function +func (m *JWTPolicySpec_Config_ClaimMatcher) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JWTPolicySpec_Config_ClaimMatcher) + if !ok { + that2, ok := that.(JWTPolicySpec_Config_ClaimMatcher) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + if len(m.GetValues()) != len(target.GetValues()) { + return false + } + for idx, v := range m.GetValues() { + + if strings.Compare(v, target.GetValues()[idx]) != 0 { + return false + } + + } + + if len(m.GetNotValues()) != len(target.GetNotValues()) { + return false + } + for idx, v := range m.GetNotValues() { + + if strings.Compare(v, target.GetNotValues()[idx]) != 0 { + return false + } + + } + + if strings.Compare(m.GetNestedClaimDelimiter(), target.GetNestedClaimDelimiter()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *JWTPolicySpec_Config_Provider_TokenSource) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JWTPolicySpec_Config_Provider_TokenSource) + if !ok { + that2, ok := that.(JWTPolicySpec_Config_Provider_TokenSource) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetHeaders()) != len(target.GetHeaders()) { + return false + } + for idx, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetHeaders()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetHeaders()[idx]) { + return false + } + } + + } + + if len(m.GetQueryParams()) != len(target.GetQueryParams()) { + return false + } + for idx, v := range m.GetQueryParams() { + + if strings.Compare(v, target.GetQueryParams()[idx]) != 0 { + return false + } + + } + + return true +} + +// Equal function +func (m *JWTPolicySpec_Config_Provider_LocalJWKS) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JWTPolicySpec_Config_Provider_LocalJWKS) + if !ok { + that2, ok := that.(JWTPolicySpec_Config_Provider_LocalJWKS) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Specifier.(type) { + + case *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef_: + if _, ok := target.Specifier.(*JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef_); !ok { + return false + } + + if h, ok := interface{}(m.GetSecretRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetSecretRef()) { + return false + } + } else { + if !proto.Equal(m.GetSecretRef(), target.GetSecretRef()) { + return false + } + } + + case *JWTPolicySpec_Config_Provider_LocalJWKS_Inline: + if _, ok := target.Specifier.(*JWTPolicySpec_Config_Provider_LocalJWKS_Inline); !ok { + return false + } + + if strings.Compare(m.GetInline(), target.GetInline()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.Specifier != target.Specifier { + return false + } + } + + return true +} + +// Equal function +func (m *JWTPolicySpec_Config_Provider_RemoteJWKS) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JWTPolicySpec_Config_Provider_RemoteJWKS) + if !ok { + that2, ok := that.(JWTPolicySpec_Config_Provider_RemoteJWKS) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetUrl(), target.GetUrl()) != 0 { + return false + } + + if h, ok := interface{}(m.GetDestinationRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinationRef()) { + return false + } + } else { + if !proto.Equal(m.GetDestinationRef(), target.GetDestinationRef()) { + return false + } + } + + if h, ok := interface{}(m.GetCacheDuration()).(equality.Equalizer); ok { + if !h.Equal(target.GetCacheDuration()) { + return false + } + } else { + if !proto.Equal(m.GetCacheDuration(), target.GetCacheDuration()) { + return false + } + } + + if h, ok := interface{}(m.GetTimeout()).(equality.Equalizer); ok { + if !h.Equal(target.GetTimeout()) { + return false + } + } else { + if !proto.Equal(m.GetTimeout(), target.GetTimeout()) { + return false + } + } + + if m.GetEnableAsyncFetch() != target.GetEnableAsyncFetch() { + return false + } + + return true +} + +// Equal function +func (m *JWTPolicySpec_Config_Provider_ClaimsToHeader) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JWTPolicySpec_Config_Provider_ClaimsToHeader) + if !ok { + that2, ok := that.(JWTPolicySpec_Config_Provider_ClaimsToHeader) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetClaim(), target.GetClaim()) != 0 { + return false + } + + if strings.Compare(m.GetHeader(), target.GetHeader()) != 0 { + return false + } + + if m.GetAppend() != target.GetAppend() { + return false + } + + return true +} + +// Equal function +func (m *JWTPolicySpec_Config_Provider_TokenSourceFromHeader) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JWTPolicySpec_Config_Provider_TokenSourceFromHeader) + if !ok { + that2, ok := that.(JWTPolicySpec_Config_Provider_TokenSourceFromHeader) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetPrefix(), target.GetPrefix()) != 0 { + return false + } + + return true +} + +// Equal function +func (m *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef) + if !ok { + that2, ok := that.(JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetObjectRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetObjectRef()) { + return false + } + } else { + if !proto.Equal(m.GetObjectRef(), target.GetObjectRef()) { + return false + } + } + + if strings.Compare(m.GetKey(), target.GetKey()) != 0 { + return false + } + + return true +} diff --git a/client-go/security.policy.gloo.solo.io/v2/jwt_policy.pb.go b/client-go/security.policy.gloo.solo.io/v2/jwt_policy.pb.go new file mode 100644 index 000000000..a8981b68d --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/jwt_policy.pb.go @@ -0,0 +1,1776 @@ +// Control access or route traffic based on verified claims in a JSON web token (JWT). +// JWTs follow an open standard for securely sharing information between a client and your apps. +// JWTs are commonly used to support stateless, simple, scalable, and interoperable authentication and authorization flows. +// For more information, see the [RFC 7519 JWT specification](https://datatracker.ietf.org/doc/html/rfc7519). +// +// JWT policies are applied at the route level. +// You can have multiple JWT providers in the same policy, or in different policies. +// Keep in mind that you cannot apply multiple JWT policies to the same route in a route table. +// +// **Examples**: +// The following example is a basic JWT policy with a local JWT issuer and inline public key. +// For more examples of using Gloo JWT policies, see the [JWT guides](https://docs.solo.io/gloo-gateway/latest/policies/jwt/). +// +// Sample JWT payload from the JWT provider: +// ```json +// { +// "org": "solo-io", +// "email": "user@solo.io", +// "iss": "https://localhost", +// "exp": 4804324736, +// "iat": 1648651136 +// } +// ``` +// +// The following policy enables JWT authentication for the selected `httpbin` route. +// It adds the values of the `org` and `email` claims from the JWT payload to the `X-Org` and `X-Email` headers in the request, if present. +// It also checks requests by using the token found in the `X-Auth` header with the prefix `Bearer `, or in a query parameter `auth_token=`. +// Note that if a request has both the header and query parameter, both tokens must be valid for Gloo Gateway to accept the request. +// +// ```yaml +// apiVersion: security.policy.gloo.solo.io/v2 +// kind: JWTPolicy +// metadata: +// annotations: +// cluster.solo.io/cluster: "" +// name: jwt-policy +// namespace: default +// spec: +// applyToRoutes: +// - route: +// labels: +// route: httpbin +// config: +// phase: +// preAuthz: {} +// providers: +// provider1: +// claimsToHeaders: +// - append: true +// claim: org +// header: x-org +// - append: true +// claim: email +// header: x-email +// issuer: https://localhost +// local: +// inline: |- +// -----BEGIN PUBLIC KEY----- +// MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnknfKiIDREaE/vxu8rtz +// oMaPop6rsiX7GANCRcqFks0j96Gb+UssKD8zJs2JBvEe4n0wNKVeLRbOctII+ZEO +// G8b+Dqig/1ubq3xiGbDBbZqHiFKjFQVUnII3Un9VRtDcJdgaaPGHnhlPs79sJNgQ +// e6AWJmfAasdT7i3MVEW7/dXcROiMRGapmxv+nQbKdoeiCJDULRdMSodhg/WJw2sH +// LLVxh4fPSF7cRxj36Y9FKWcGUH+YKe7n4gufAeEsHk+tPBndymYpmcMjb6W9HrJO +// 39vvyMTjLAUyElCEfeMqCpFBCElhaGbF8ZncbV6vvDEkOxMX/m1TYhoJr1E2U8y/ +// NwIDAQAB +// -----END PUBLIC KEY----- +// tokenSource: +// headers: +// - name: X-Auth +// prefix: 'Bearer ' +// queryParams: +// - auth_token +// ``` + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/jwt_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Decide whether to clear the route cache after the JWT filter. +type JWTPolicySpec_Config_ClearRouteCache int32 + +const ( + // The default behavior, which clears the route cache when the auth response is successful or if the JWT policy adds a claim in the 'claimsToHeader' field. This way, the gateway recomputes route matching, such as to route traffic based on the claims you add in the JWT policy. + JWTPolicySpec_Config_AUTO JWTPolicySpec_Config_ClearRouteCache = 0 + // Set to false so that the route cache is not cleared after the JWT filter. This way, you can configure traffic rules based on routing details from both before and after the JWT filter. + // For example, you might want to reject with a direct response any requests that send a header that is also set in the JWT policy's 'claimsToHeader' field. + JWTPolicySpec_Config_FALSE JWTPolicySpec_Config_ClearRouteCache = 1 + // Set to true so that the route cache is always cleared after the JWT filter. This way, the gateway recomputes route matching, such as to route traffic based on the claims you add in the JWT policy. + JWTPolicySpec_Config_TRUE JWTPolicySpec_Config_ClearRouteCache = 2 +) + +// Enum value maps for JWTPolicySpec_Config_ClearRouteCache. +var ( + JWTPolicySpec_Config_ClearRouteCache_name = map[int32]string{ + 0: "AUTO", + 1: "FALSE", + 2: "TRUE", + } + JWTPolicySpec_Config_ClearRouteCache_value = map[string]int32{ + "AUTO": 0, + "FALSE": 1, + "TRUE": 2, + } +) + +func (x JWTPolicySpec_Config_ClearRouteCache) Enum() *JWTPolicySpec_Config_ClearRouteCache { + p := new(JWTPolicySpec_Config_ClearRouteCache) + *p = x + return p +} + +func (x JWTPolicySpec_Config_ClearRouteCache) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JWTPolicySpec_Config_ClearRouteCache) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_enumTypes[0].Descriptor() +} + +func (JWTPolicySpec_Config_ClearRouteCache) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_enumTypes[0] +} + +func (x JWTPolicySpec_Config_ClearRouteCache) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JWTPolicySpec_Config_ClearRouteCache.Descriptor instead. +func (JWTPolicySpec_Config_ClearRouteCache) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +type JWTPolicySpec_Config_ValidationPolicy int32 + +const ( + // Default value. Allow only requests that authenticate with a valid JWT to succeed. + // Note that the `allowMissingOrFailed=true` setting takes precedence. In such a case, even if you explicitly set `validationPolicy=REQUIRE_VALID`, this field is ignored. + JWTPolicySpec_Config_REQUIRE_VALID JWTPolicySpec_Config_ValidationPolicy = 0 + // Allow requests to succeed even if JWT authentication is missing, but fail when an invalid JWT token is presented. + // You might use this setting when later steps depend on input from the JWT. + // For example, you might add claims from the JWT to request headers with the claimsToHeaders field. + // As such, you may want to make sure that any provided JWT is valid. If not, the request fails, + // which informs the requester that their JWT is not valid. + // Requests without a JWT, however, still succeed and skip JWT validation. + JWTPolicySpec_Config_ALLOW_MISSING JWTPolicySpec_Config_ValidationPolicy = 1 + // Allow requests to succeed even when a JWT is missing or JWT verification fails. + // For example, you might apply multiple policies to your routes so that requests can authenticate with either a + // JWT or another method such as external auth. Use this value + // to allow a failed JWT auth request to pass through to the other authentication method. + JWTPolicySpec_Config_ALLOW_MISSING_OR_FAILED JWTPolicySpec_Config_ValidationPolicy = 2 +) + +// Enum value maps for JWTPolicySpec_Config_ValidationPolicy. +var ( + JWTPolicySpec_Config_ValidationPolicy_name = map[int32]string{ + 0: "REQUIRE_VALID", + 1: "ALLOW_MISSING", + 2: "ALLOW_MISSING_OR_FAILED", + } + JWTPolicySpec_Config_ValidationPolicy_value = map[string]int32{ + "REQUIRE_VALID": 0, + "ALLOW_MISSING": 1, + "ALLOW_MISSING_OR_FAILED": 2, + } +) + +func (x JWTPolicySpec_Config_ValidationPolicy) Enum() *JWTPolicySpec_Config_ValidationPolicy { + p := new(JWTPolicySpec_Config_ValidationPolicy) + *p = x + return p +} + +func (x JWTPolicySpec_Config_ValidationPolicy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JWTPolicySpec_Config_ValidationPolicy) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_enumTypes[1].Descriptor() +} + +func (JWTPolicySpec_Config_ValidationPolicy) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_enumTypes[1] +} + +func (x JWTPolicySpec_Config_ValidationPolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JWTPolicySpec_Config_ValidationPolicy.Descriptor instead. +func (JWTPolicySpec_Config_ValidationPolicy) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{0, 0, 1} +} + +// Fill out the spec of the JWT policy to enable JWT authentication. You can apply JWT policies to routes and destinations. +// +// Multiple policies: If multiple JWT policies select the same route or destination, only the oldest policy applies. +// +// Multiple selectors: You can select routes and destinations together in the same policy. +// Using both selectors might impact the other. For example, you might omit a route selector. If you also omit a destination selector, then the policy applies to all routes. If you use a destination selector, the policy applies only to those destinations and no longer to any routes. +// +// If different JWT policies having conflicting rules for the same routes and destinations, then access is blocked. +type JWTPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the routes where the policy will be applied. + // If empty (`{}`), the policy applies to all routes in the workspace. + // If omitted and the policy also does not select any destinations, the policy applies to all routes in the workspace. + // If omitted and the policy selects a destination, the policy does not apply to any routes. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // Select the destinations where the policy will be applied. Only Kubernetes services are supported. + // By default if omitted, the policy does not apply to any destinations. + // If empty (`{}`), the policy applies to all destinations in the workspace. + ApplyToDestinations []*v2.DestinationSelector `protobuf:"bytes,3,rep,name=apply_to_destinations,json=applyToDestinations,proto3" json:"apply_to_destinations,omitempty"` + // The details of the JWT policy to apply to the selected routes. + Config *JWTPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *JWTPolicySpec) Reset() { + *x = JWTPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTPolicySpec) ProtoMessage() {} + +func (x *JWTPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTPolicySpec.ProtoReflect.Descriptor instead. +func (*JWTPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *JWTPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *JWTPolicySpec) GetApplyToDestinations() []*v2.DestinationSelector { + if x != nil { + return x.ApplyToDestinations + } + return nil +} + +func (x *JWTPolicySpec) GetConfig() *JWTPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment.Status +type JWTPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of routes selected by the policy. + NumSelectedRoutes uint32 `protobuf:"varint,2,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` + // The number of destination ports selected by the policy. + NumSelectedDestinationPorts uint32 `protobuf:"varint,3,opt,name=num_selected_destination_ports,json=numSelectedDestinationPorts,proto3" json:"num_selected_destination_ports,omitempty"` +} + +func (x *JWTPolicyStatus) Reset() { + *x = JWTPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTPolicyStatus) ProtoMessage() {} + +func (x *JWTPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTPolicyStatus.ProtoReflect.Descriptor instead. +func (*JWTPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *JWTPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *JWTPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +func (x *JWTPolicyStatus) GetNumSelectedDestinationPorts() uint32 { + if x != nil { + return x.NumSelectedDestinationPorts + } + return 0 +} + +// The report shows the resources that the policy selects after the policy is successfully applied. +type JWTPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status of the resource in each workspace that it exists in. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of references to all routes selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` + // A list of destination ports selected by the policy. + SelectedDestinationPorts []*v2.DestinationReference `protobuf:"bytes,3,rep,name=selected_destination_ports,json=selectedDestinationPorts,proto3" json:"selected_destination_ports,omitempty"` +} + +func (x *JWTPolicyReport) Reset() { + *x = JWTPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTPolicyReport) ProtoMessage() {} + +func (x *JWTPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTPolicyReport.ProtoReflect.Descriptor instead. +func (*JWTPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *JWTPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *JWTPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +func (x *JWTPolicyReport) GetSelectedDestinationPorts() []*v2.DestinationReference { + if x != nil { + return x.SelectedDestinationPorts + } + return nil +} + +// Configure the details of the JWT policy, including the provider, phase, matching claims or scopes, and other settings. +type JWTPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Set up the provider for the JWT configuration. + // You can have multiple providers in the same JWT policy, or create separate policies per provider. + // + // Successfully verified JWT payloads will be written to Envoy Dynamic Metadata in the format `{{ policy generated prefix }}.{{ provider }}`. + // For more info, see the `payload_in_metadata` field + // [here](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/jwt_authn/v3/config.proto.html). + // + // Note: You can name the providers to help you map the provider when viewing logs to debug. + // However, the provider name does not affect the policy's behavior and cannot be used by other resources to select the policy. + Providers map[string]*JWTPolicySpec_Config_Provider `protobuf:"bytes,1,rep,name=providers,proto3" json:"providers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional: Set when to apply the JWT filter in the request chain, + // either before (`preAuthz`) or after (`postAuthz`) authorization to have access to the JWT token. + // If no phase is specified, defaults to `preAuthz`. + Phase *v2.PrioritizedPhase `protobuf:"bytes,2,opt,name=phase,proto3" json:"phase,omitempty"` + // Deprecated: Set the `validationPolicy` field to `ALLOW_MISSING_OR_FAILED` instead of setting this field to "true". + // Note that if `validationPolicy` is set to `ALLOW_MISSING_OR_FAILED` or `ALLOW_MISSING`, it takes precedence and this field is ignored. + // + // Allow requests to succeed even if JWT authentication is missing or fails. + // For example, you might apply multiple policies to your routes so that requests can authenticate with either a + // JWT or another method such as external auth. Set this value to "true" + // to allow a failed JWT auth request to pass through to the other authentication + // method. By default, this value is "false" so that requests that fail JWT + // authentication then fail authorization immediately. + AllowMissingOrFailed bool `protobuf:"varint,3,opt,name=allow_missing_or_failed,json=allowMissingOrFailed,proto3" json:"allow_missing_or_failed,omitempty"` + // Optional: Decide whether to clear the route cache after the JWT filter. By clearing the route cache, the gateway recomputes route matching. This way, you can configure traffic rules after JWT auth, such as claim-based routing on cleared routes or direct response on cached routes. + // Defaults to the `AUTO` option. + ClearRouteCache JWTPolicySpec_Config_ClearRouteCache `protobuf:"varint,4,opt,name=clear_route_cache,json=clearRouteCache,proto3,enum=security.policy.gloo.solo.io.JWTPolicySpec_Config_ClearRouteCache" json:"clear_route_cache,omitempty"` + // Optional: A key-value list of claims to require for JWT authorization. The JWT must meet all of the claims to be allowed (logically AND'd together). + // For each claim, you can specify values that must or must not be present. + Claims []*JWTPolicySpec_Config_ClaimMatcher `protobuf:"bytes,5,rep,name=claims,proto3" json:"claims,omitempty"` + // Optional: An unordered list of required JWT scopes. The JWT "scope" claim must have all of the listed scopes to be allowed (logically AND'd together). + // Scopes typically come from an identity provider and are formatted similar to `":"` or `"is:"`. + // For more information, see the [IETF docs](https://datatracker.ietf.org/doc/html/rfc8693#name-scope-scopes-claim). + // + // For example, you might use this field to set `email` and `is:developer` as required scopes. + // Then the scope claim in the JWT must have all of those required scopes, but could also have others. + // JWTs with scopes such as `"scope":"email is:developer"` or `"scope":"email is:developer phone address"` would be allowed. + // JWTs with only one of the required scopes, such as `"scope":"email address"` would not be allowed. + // + // If you want to set scopes that if present in the claim are not allowed (`notValues`), + // or to allow a request to succeed with just one of many listed scopes (`email OR is:developer`), + // use the claims field instead. + // To skip scope validation, omit this value or leave the list empty. + // Note that nested scopes (a scope with multiple sub scopes) are not supported at this time. + RequiredScopes []string `protobuf:"bytes,6,rep,name=required_scopes,json=requiredScopes,proto3" json:"required_scopes,omitempty"` + // Optional: Configure how JWT validation works, with the flexibility to handle requests with missing or invalid JWTs. + // By default, after applying JWT policy to a route, only requests that authenticate with a valid JWT succeed. + ValidationPolicy JWTPolicySpec_Config_ValidationPolicy `protobuf:"varint,7,opt,name=validation_policy,json=validationPolicy,proto3,enum=security.policy.gloo.solo.io.JWTPolicySpec_Config_ValidationPolicy" json:"validation_policy,omitempty"` +} + +func (x *JWTPolicySpec_Config) Reset() { + *x = JWTPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTPolicySpec_Config) ProtoMessage() {} + +func (x *JWTPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*JWTPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *JWTPolicySpec_Config) GetProviders() map[string]*JWTPolicySpec_Config_Provider { + if x != nil { + return x.Providers + } + return nil +} + +func (x *JWTPolicySpec_Config) GetPhase() *v2.PrioritizedPhase { + if x != nil { + return x.Phase + } + return nil +} + +func (x *JWTPolicySpec_Config) GetAllowMissingOrFailed() bool { + if x != nil { + return x.AllowMissingOrFailed + } + return false +} + +func (x *JWTPolicySpec_Config) GetClearRouteCache() JWTPolicySpec_Config_ClearRouteCache { + if x != nil { + return x.ClearRouteCache + } + return JWTPolicySpec_Config_AUTO +} + +func (x *JWTPolicySpec_Config) GetClaims() []*JWTPolicySpec_Config_ClaimMatcher { + if x != nil { + return x.Claims + } + return nil +} + +func (x *JWTPolicySpec_Config) GetRequiredScopes() []string { + if x != nil { + return x.RequiredScopes + } + return nil +} + +func (x *JWTPolicySpec_Config) GetValidationPolicy() JWTPolicySpec_Config_ValidationPolicy { + if x != nil { + return x.ValidationPolicy + } + return JWTPolicySpec_Config_REQUIRE_VALID +} + +// Configure how to verify the details of a JWT, such as the issuer, source, audience, matching claims or scopes, and other settings. +type JWTPolicySpec_Config_Provider struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional: The principal that issued the JWT, usually a URL or an email address. + // If specified, the `iss` field in JWT token of the incoming request must match this field, or else the request is denied. + // If omitted, the `iss` field in the JWT token is not checked. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // Optional: A list of intended audiences for this JWT token. + // If specified, a JWT token containing any of these `aud` field values is accepted. + // If omitted, the `aud` field in the JWT token is not checked. + Audiences []string `protobuf:"bytes,2,rep,name=audiences,proto3" json:"audiences,omitempty"` + // Optional: Where to extract the JWT from the HTTP request. + // If no explicit token source location is specified, the following default locations are tried in order: + // + // First, the Authorization header using the `Bearer ` prefix, such as: `Authorization: Bearer `. + // + // Second, the `access_token` query parameter, such as: `https:///path?access_token=`. + // + // Gloo can verify multiple JWTs for a request. + // Each JWT is extracted from the location that is specified per provider, or from the default locations previously described. + // Note that if a single request contains multiple sources, + // such as both a header and query parameter, then all tokens found in the request must be valid for the request to be accepted. + // Configured fields are case sensitive and are matched verbatim. + TokenSource *JWTPolicySpec_Config_Provider_TokenSource `protobuf:"bytes,3,opt,name=token_source,json=tokenSource,proto3" json:"token_source,omitempty"` + // Required: Where to find the public keys of the current provider to verify the JWT. + // + // Types that are assignable to JwksSource: + // + // *JWTPolicySpec_Config_Provider_Local + // *JWTPolicySpec_Config_Provider_Remote + JwksSource isJWTPolicySpec_Config_Provider_JwksSource `protobuf_oneof:"jwks_source"` + // Optional: Specify the claims from the JWT payload to copy to individual headers before forwarding the request to the upstream destination. + // To copy the entire payload to a single header instead, use the OutputPayloadToHeader field. + ClaimsToHeaders []*JWTPolicySpec_Config_Provider_ClaimsToHeader `protobuf:"bytes,6,rep,name=claims_to_headers,json=claimsToHeaders,proto3" json:"claims_to_headers,omitempty"` + // Optional: Keep the JWT in the request post verification. + KeepToken bool `protobuf:"varint,7,opt,name=keep_token,json=keepToken,proto3" json:"keep_token,omitempty"` + // Optional: Verify time constraints, such as `exp` and `npf`. Default is 60s. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int32-value). + ClockSkewSeconds *wrappers.UInt32Value `protobuf:"bytes,8,opt,name=clock_skew_seconds,json=clockSkewSeconds,proto3" json:"clock_skew_seconds,omitempty"` + // Optional: Copy the output of the JWT payload to a single header before forwarding the request to the upstream destination. The header is the name that you enter in this field. + // The payload data is base64-encoded before forwarding. + // If this field is omitted or empty, the payload is not forwarded with the request. + // To send select claims in the payload in individual headers, use the ClaimsToHeaders field instead. + OutputPayloadToHeader string `protobuf:"bytes,9,opt,name=output_payload_to_header,json=outputPayloadToHeader,proto3" json:"output_payload_to_header,omitempty"` +} + +func (x *JWTPolicySpec_Config_Provider) Reset() { + *x = JWTPolicySpec_Config_Provider{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTPolicySpec_Config_Provider) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTPolicySpec_Config_Provider) ProtoMessage() {} + +func (x *JWTPolicySpec_Config_Provider) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTPolicySpec_Config_Provider.ProtoReflect.Descriptor instead. +func (*JWTPolicySpec_Config_Provider) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *JWTPolicySpec_Config_Provider) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +func (x *JWTPolicySpec_Config_Provider) GetAudiences() []string { + if x != nil { + return x.Audiences + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider) GetTokenSource() *JWTPolicySpec_Config_Provider_TokenSource { + if x != nil { + return x.TokenSource + } + return nil +} + +func (m *JWTPolicySpec_Config_Provider) GetJwksSource() isJWTPolicySpec_Config_Provider_JwksSource { + if m != nil { + return m.JwksSource + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider) GetLocal() *JWTPolicySpec_Config_Provider_LocalJWKS { + if x, ok := x.GetJwksSource().(*JWTPolicySpec_Config_Provider_Local); ok { + return x.Local + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider) GetRemote() *JWTPolicySpec_Config_Provider_RemoteJWKS { + if x, ok := x.GetJwksSource().(*JWTPolicySpec_Config_Provider_Remote); ok { + return x.Remote + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider) GetClaimsToHeaders() []*JWTPolicySpec_Config_Provider_ClaimsToHeader { + if x != nil { + return x.ClaimsToHeaders + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider) GetKeepToken() bool { + if x != nil { + return x.KeepToken + } + return false +} + +func (x *JWTPolicySpec_Config_Provider) GetClockSkewSeconds() *wrappers.UInt32Value { + if x != nil { + return x.ClockSkewSeconds + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider) GetOutputPayloadToHeader() string { + if x != nil { + return x.OutputPayloadToHeader + } + return "" +} + +type isJWTPolicySpec_Config_Provider_JwksSource interface { + isJWTPolicySpec_Config_Provider_JwksSource() +} + +type JWTPolicySpec_Config_Provider_Local struct { + // Get the public keys to validate the JWT from a local source, + // such as a Kubernetes secret or an inline, raw string JWKS. + Local *JWTPolicySpec_Config_Provider_LocalJWKS `protobuf:"bytes,4,opt,name=local,proto3,oneof"` +} + +type JWTPolicySpec_Config_Provider_Remote struct { + // Get the public keys from a remote JSON Web Key Set (JWKS) server. + // This server must be accessible from your cluster. + Remote *JWTPolicySpec_Config_Provider_RemoteJWKS `protobuf:"bytes,5,opt,name=remote,proto3,oneof"` +} + +func (*JWTPolicySpec_Config_Provider_Local) isJWTPolicySpec_Config_Provider_JwksSource() {} + +func (*JWTPolicySpec_Config_Provider_Remote) isJWTPolicySpec_Config_Provider_JwksSource() {} + +// Optionally configure a list of key-value claims for JWT authorization rules. The JWT must meet all of the claims to be allowed (logically AND'd together). +// For each claim, you can specify values that must or must not be present. If a claim has multiple supported values, any of these values is allowed (logically OR'd together). +// You can also use wildcards, such as `"*"` to allow any value, or for example `"*@solo.io"` to allow any `@solo.io` email. Nested claims are not supported at this time. +type JWTPolicySpec_Config_ClaimMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the JWT claim's key. + // [RFC 7519 spec](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) reserves seven claims, and the [IANA JSON Web Token Claims](https://www.iana.org/assignments/jwt/jwt.xhtml#claims) outline many more registered claims to encourage interoperability across providers. Further, your OIDC provider might have custom claims, such as described in the [Auth0 docs](https://auth0.com/docs/get-started/apis/scopes/sample-use-cases-scopes-and-claims). + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // Optional: A list of allowed values for the JWT claim. If a claim has multiple supported values, any of these values is allowed (logically OR'd together). + // You can also use wildcards, such as `"*"` to allow any value or for example `"*@solo.io"` to allow any `@solo.io` email. Nested claims are not supported at this time. + // Note: You must set at least one of "values" or "not_values". + Values []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` + // Optional: A list of values that are not allowed for the JWT claim. If a claim contains one of these values, the request is denied. + // You can also use wildcards, such as `"*"` to deny any value, or for example `"*@solo.io"` to deny any `@solo.io` email. + // Note: You must set at least one of "values" or "not_values". + NotValues []string `protobuf:"bytes,3,rep,name=not_values,json=notValues,proto3" json:"not_values,omitempty"` + // Optional: Specify a delimiter to enable nested claims, which are claims that are children of top-level claims. The delimiter is the character that separates the nested levels within the claims names of the JWT. + // The delimiter is commonly set to a period ("."), which allows nested claim names of the form parent.child.grandchild. JWTs that match the value you set for the grandchild nested claim are allowed. + NestedClaimDelimiter string `protobuf:"bytes,4,opt,name=nested_claim_delimiter,json=nestedClaimDelimiter,proto3" json:"nested_claim_delimiter,omitempty"` +} + +func (x *JWTPolicySpec_Config_ClaimMatcher) Reset() { + *x = JWTPolicySpec_Config_ClaimMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTPolicySpec_Config_ClaimMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTPolicySpec_Config_ClaimMatcher) ProtoMessage() {} + +func (x *JWTPolicySpec_Config_ClaimMatcher) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTPolicySpec_Config_ClaimMatcher.ProtoReflect.Descriptor instead. +func (*JWTPolicySpec_Config_ClaimMatcher) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{0, 0, 2} +} + +func (x *JWTPolicySpec_Config_ClaimMatcher) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *JWTPolicySpec_Config_ClaimMatcher) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + +func (x *JWTPolicySpec_Config_ClaimMatcher) GetNotValues() []string { + if x != nil { + return x.NotValues + } + return nil +} + +func (x *JWTPolicySpec_Config_ClaimMatcher) GetNestedClaimDelimiter() string { + if x != nil { + return x.NestedClaimDelimiter + } + return "" +} + +// Optional: Where to extract the JWT from the HTTP request. +// +// If omitted, defaults to the header `"Authorization: Bearer "` or the query parameter `"access_token="`. +// Note that if a request has both the header and query parameter, both tokens must be valid for Gloo Gateway to accept the request. +// Configured fields are case sensitive and are matched verbatim. +type JWTPolicySpec_Config_Provider_TokenSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Try to retrieve the token from these headers. + Headers []*JWTPolicySpec_Config_Provider_TokenSourceFromHeader `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` + // Try to retrieve the token from these query parameters. + QueryParams []string `protobuf:"bytes,2,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"` +} + +func (x *JWTPolicySpec_Config_Provider_TokenSource) Reset() { + *x = JWTPolicySpec_Config_Provider_TokenSource{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTPolicySpec_Config_Provider_TokenSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTPolicySpec_Config_Provider_TokenSource) ProtoMessage() {} + +func (x *JWTPolicySpec_Config_Provider_TokenSource) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTPolicySpec_Config_Provider_TokenSource.ProtoReflect.Descriptor instead. +func (*JWTPolicySpec_Config_Provider_TokenSource) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{0, 0, 0, 0} +} + +func (x *JWTPolicySpec_Config_Provider_TokenSource) GetHeaders() []*JWTPolicySpec_Config_Provider_TokenSourceFromHeader { + if x != nil { + return x.Headers + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider_TokenSource) GetQueryParams() []string { + if x != nil { + return x.QueryParams + } + return nil +} + +// Get the public keys to validate the JWT from a local source, +// such as a Kubernetes secret or inline configuration. +type JWTPolicySpec_Config_Provider_LocalJWKS struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Specifier: + // + // *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef_ + // *JWTPolicySpec_Config_Provider_LocalJWKS_Inline + Specifier isJWTPolicySpec_Config_Provider_LocalJWKS_Specifier `protobuf_oneof:"specifier"` +} + +func (x *JWTPolicySpec_Config_Provider_LocalJWKS) Reset() { + *x = JWTPolicySpec_Config_Provider_LocalJWKS{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTPolicySpec_Config_Provider_LocalJWKS) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTPolicySpec_Config_Provider_LocalJWKS) ProtoMessage() {} + +func (x *JWTPolicySpec_Config_Provider_LocalJWKS) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTPolicySpec_Config_Provider_LocalJWKS.ProtoReflect.Descriptor instead. +func (*JWTPolicySpec_Config_Provider_LocalJWKS) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{0, 0, 0, 1} +} + +func (m *JWTPolicySpec_Config_Provider_LocalJWKS) GetSpecifier() isJWTPolicySpec_Config_Provider_LocalJWKS_Specifier { + if m != nil { + return m.Specifier + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider_LocalJWKS) GetSecretRef() *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef { + if x, ok := x.GetSpecifier().(*JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef_); ok { + return x.SecretRef + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider_LocalJWKS) GetInline() string { + if x, ok := x.GetSpecifier().(*JWTPolicySpec_Config_Provider_LocalJWKS_Inline); ok { + return x.Inline + } + return "" +} + +type isJWTPolicySpec_Config_Provider_LocalJWKS_Specifier interface { + isJWTPolicySpec_Config_Provider_LocalJWKS_Specifier() +} + +type JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef_ struct { + // Refer to a secret that has the PEM-formatted public key. + SecretRef *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef `protobuf:"bytes,1,opt,name=secret_ref,json=secretRef,proto3,oneof"` +} + +type JWTPolicySpec_Config_Provider_LocalJWKS_Inline struct { + // Provide an inline PEM-formatted public key in the configuration of this JWT policy. + Inline string `protobuf:"bytes,2,opt,name=inline,proto3,oneof"` +} + +func (*JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef_) isJWTPolicySpec_Config_Provider_LocalJWKS_Specifier() { +} + +func (*JWTPolicySpec_Config_Provider_LocalJWKS_Inline) isJWTPolicySpec_Config_Provider_LocalJWKS_Specifier() { +} + +// Get the public keys from a remote JSON Web Key Set (JWKS) server. +// This server must be accessible from your cluster. +type JWTPolicySpec_Config_Provider_RemoteJWKS struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The URL to access the remote destination for JWKS server. + // This value sets the host and path in the request. + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + // The destination that represents the JWKS server. + // If the JWKS server runs in your cluster, the destination can be a Kubernetes Service or Gloo VirtualDestination. + // If the JWKS server is a remote URL, the destination must be a Gloo ExternalService. + DestinationRef *v2.DestinationReference `protobuf:"bytes,2,opt,name=destination_ref,json=destinationRef,proto3" json:"destination_ref,omitempty"` + // Duration after which the cached JWKS expires. + // + // If omitted, defaults to 5 minutes. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + CacheDuration *duration.Duration `protobuf:"bytes,3,opt,name=cache_duration,json=cacheDuration,proto3" json:"cache_duration,omitempty"` + // Set the maximum duration in seconds that a response can take to arrive upon request. + // + // If omitted, defaults to 5 seconds. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration). + Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"` + // Fetch the JWKS asynchronously in the main thread before activating the listener. + // Then, the fetched JWKS can be used by all worker threads. + // + // When set to false (default): + // The JWKS is fetched on-demand when requests come. The first few requests are paused until the JWKS is fetched. + // Because the JWKS cache is per worker thread, each worker thread fetches its own JWKS. + // You might leave async fetching disabled in simple environments with minimal traffic or resources, + // during testing to simplify debugging issues, or when you want more control over when and how the JWKS is fetched. + // + // When set to true: + // The JWKS is fetched in the main thread before activating the listener. + // Then, the JWKS can be used by all worker threads. Each worker thread doesn't need to fetch its own. + // This way, the JWKS is ready when requests come. + // You might enable async fetching to reduce latency, improve responsiveness, and have consistent JWKS across worker threads + // such as in multi-threaded, concurrent, and large-scale environments. + EnableAsyncFetch bool `protobuf:"varint,5,opt,name=enable_async_fetch,json=enableAsyncFetch,proto3" json:"enable_async_fetch,omitempty"` +} + +func (x *JWTPolicySpec_Config_Provider_RemoteJWKS) Reset() { + *x = JWTPolicySpec_Config_Provider_RemoteJWKS{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTPolicySpec_Config_Provider_RemoteJWKS) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTPolicySpec_Config_Provider_RemoteJWKS) ProtoMessage() {} + +func (x *JWTPolicySpec_Config_Provider_RemoteJWKS) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTPolicySpec_Config_Provider_RemoteJWKS.ProtoReflect.Descriptor instead. +func (*JWTPolicySpec_Config_Provider_RemoteJWKS) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{0, 0, 0, 2} +} + +func (x *JWTPolicySpec_Config_Provider_RemoteJWKS) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *JWTPolicySpec_Config_Provider_RemoteJWKS) GetDestinationRef() *v2.DestinationReference { + if x != nil { + return x.DestinationRef + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider_RemoteJWKS) GetCacheDuration() *duration.Duration { + if x != nil { + return x.CacheDuration + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider_RemoteJWKS) GetTimeout() *duration.Duration { + if x != nil { + return x.Timeout + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider_RemoteJWKS) GetEnableAsyncFetch() bool { + if x != nil { + return x.EnableAsyncFetch + } + return false +} + +// Specify the claims from the JWT payload to copy to individual headers before forwarding the request to the upstream destination. +type JWTPolicySpec_Config_Provider_ClaimsToHeader struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Claim name, such as `"sub"`. + Claim string `protobuf:"bytes,1,opt,name=claim,proto3" json:"claim,omitempty"` + // The request header to copy the claim to, such as `"x-sub"`. + Header string `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"` + // If the header already exists, append this copied value to it (true), or overwrite the existing value (false). + Append bool `protobuf:"varint,3,opt,name=append,proto3" json:"append,omitempty"` +} + +func (x *JWTPolicySpec_Config_Provider_ClaimsToHeader) Reset() { + *x = JWTPolicySpec_Config_Provider_ClaimsToHeader{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTPolicySpec_Config_Provider_ClaimsToHeader) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTPolicySpec_Config_Provider_ClaimsToHeader) ProtoMessage() {} + +func (x *JWTPolicySpec_Config_Provider_ClaimsToHeader) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTPolicySpec_Config_Provider_ClaimsToHeader.ProtoReflect.Descriptor instead. +func (*JWTPolicySpec_Config_Provider_ClaimsToHeader) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{0, 0, 0, 3} +} + +func (x *JWTPolicySpec_Config_Provider_ClaimsToHeader) GetClaim() string { + if x != nil { + return x.Claim + } + return "" +} + +func (x *JWTPolicySpec_Config_Provider_ClaimsToHeader) GetHeader() string { + if x != nil { + return x.Header + } + return "" +} + +func (x *JWTPolicySpec_Config_Provider_ClaimsToHeader) GetAppend() bool { + if x != nil { + return x.Append + } + return false +} + +// Describes how to retrieve the JWT from a header. +type JWTPolicySpec_Config_Provider_TokenSourceFromHeader struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of header, such as `"Authorization"`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The prefix before the token, such as `"Bearer "` (with a space before the token). + Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` +} + +func (x *JWTPolicySpec_Config_Provider_TokenSourceFromHeader) Reset() { + *x = JWTPolicySpec_Config_Provider_TokenSourceFromHeader{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTPolicySpec_Config_Provider_TokenSourceFromHeader) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTPolicySpec_Config_Provider_TokenSourceFromHeader) ProtoMessage() {} + +func (x *JWTPolicySpec_Config_Provider_TokenSourceFromHeader) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTPolicySpec_Config_Provider_TokenSourceFromHeader.ProtoReflect.Descriptor instead. +func (*JWTPolicySpec_Config_Provider_TokenSourceFromHeader) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{0, 0, 0, 0, 0} +} + +func (x *JWTPolicySpec_Config_Provider_TokenSourceFromHeader) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *JWTPolicySpec_Config_Provider_TokenSourceFromHeader) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +type JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Refer to the secret explicitly by the cluster and namespace where the secret is located. + ObjectRef *v2.ObjectReference `protobuf:"bytes,1,opt,name=objectRef,proto3" json:"objectRef,omitempty"` + // Refer to the key of data that has the PEM-formatted public key within the specified secret. + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef) Reset() { + *x = JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef) ProtoMessage() {} + +func (x *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef.ProtoReflect.Descriptor instead. +func (*JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP(), []int{0, 0, 0, 1, 0} +} + +func (x *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef) GetObjectRef() *v2.ObjectReference { + if x != nil { + return x.ObjectRef + } + return nil +} + +func (x *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDesc = []byte{ + 0x0a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x6a, 0x77, + 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, + 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, + 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x15, 0x0a, 0x0d, + 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, 0x0a, + 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x15, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x1a, 0xc7, 0x13, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, + 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x41, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x3b, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, + 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x17, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x72, + 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x46, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x12, 0x6e, 0x0a, 0x11, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, + 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4a, 0x57, + 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x12, 0x57, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x52, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x12, 0x27, 0x0a, 0x0f, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x43, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0xef, 0x0b, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, + 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x6a, 0x0a, 0x0c, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x47, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4a, 0x57, 0x4b, 0x53, 0x48, 0x00, 0x52, 0x05, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x60, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x57, 0x4b, 0x53, 0x48, 0x00, 0x52, + 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x76, 0x0a, 0x11, 0x63, 0x6c, 0x61, 0x69, 0x6d, + 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, + 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0f, + 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4a, + 0x0a, 0x12, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6b, 0x65, 0x77, 0x5f, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x53, + 0x6b, 0x65, 0x77, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x5f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x1a, 0xd8, 0x01, 0x0a, 0x0b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x6c, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x66, 0x72, + 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x87, + 0x02, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4a, 0x57, 0x4b, 0x53, 0x12, 0x70, 0x0a, 0x0a, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x4f, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x4a, 0x57, 0x4b, 0x53, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, + 0x66, 0x48, 0x00, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, 0x18, + 0x0a, 0x06, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x1a, 0x61, 0x0a, 0x09, 0x53, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, 0x42, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0x97, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x4a, 0x57, 0x4b, 0x53, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x40, 0x0a, + 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x74, + 0x63, 0x68, 0x1a, 0x56, 0x0a, 0x0e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x54, 0x6f, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x6a, 0x77, + 0x6b, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x79, 0x0a, 0x0e, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x51, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4a, 0x57, 0x54, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x8d, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, + 0x0a, 0x16, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x64, + 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, + 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x44, 0x65, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x65, 0x72, 0x22, 0x30, 0x0a, 0x0f, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, + 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, + 0x54, 0x52, 0x55, 0x45, 0x10, 0x02, 0x22, 0x55, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, + 0x51, 0x55, 0x49, 0x52, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, + 0x0d, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x01, + 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, + 0x47, 0x5f, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0xbb, 0x01, + 0x0a, 0x0f, 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, + 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x83, 0x03, 0x0a, 0x0f, + 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x5d, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x4a, 0x57, 0x54, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x4c, + 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x1a, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x18, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x42, 0x5d, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_goTypes = []interface{}{ + (JWTPolicySpec_Config_ClearRouteCache)(0), // 0: security.policy.gloo.solo.io.JWTPolicySpec.Config.ClearRouteCache + (JWTPolicySpec_Config_ValidationPolicy)(0), // 1: security.policy.gloo.solo.io.JWTPolicySpec.Config.ValidationPolicy + (*JWTPolicySpec)(nil), // 2: security.policy.gloo.solo.io.JWTPolicySpec + (*JWTPolicyStatus)(nil), // 3: security.policy.gloo.solo.io.JWTPolicyStatus + (*JWTPolicyReport)(nil), // 4: security.policy.gloo.solo.io.JWTPolicyReport + (*JWTPolicySpec_Config)(nil), // 5: security.policy.gloo.solo.io.JWTPolicySpec.Config + (*JWTPolicySpec_Config_Provider)(nil), // 6: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider + nil, // 7: security.policy.gloo.solo.io.JWTPolicySpec.Config.ProvidersEntry + (*JWTPolicySpec_Config_ClaimMatcher)(nil), // 8: security.policy.gloo.solo.io.JWTPolicySpec.Config.ClaimMatcher + (*JWTPolicySpec_Config_Provider_TokenSource)(nil), // 9: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.TokenSource + (*JWTPolicySpec_Config_Provider_LocalJWKS)(nil), // 10: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.LocalJWKS + (*JWTPolicySpec_Config_Provider_RemoteJWKS)(nil), // 11: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.RemoteJWKS + (*JWTPolicySpec_Config_Provider_ClaimsToHeader)(nil), // 12: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.ClaimsToHeader + (*JWTPolicySpec_Config_Provider_TokenSourceFromHeader)(nil), // 13: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.TokenSource.fromHeader + (*JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef)(nil), // 14: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.LocalJWKS.SecretRef + nil, // 15: security.policy.gloo.solo.io.JWTPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 16: common.gloo.solo.io.RouteSelector + (*v2.DestinationSelector)(nil), // 17: common.gloo.solo.io.DestinationSelector + (*v2.Status)(nil), // 18: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 19: common.gloo.solo.io.RouteReference + (*v2.DestinationReference)(nil), // 20: common.gloo.solo.io.DestinationReference + (*v2.PrioritizedPhase)(nil), // 21: common.gloo.solo.io.PrioritizedPhase + (*wrappers.UInt32Value)(nil), // 22: google.protobuf.UInt32Value + (*duration.Duration)(nil), // 23: google.protobuf.Duration + (*v2.ObjectReference)(nil), // 24: common.gloo.solo.io.ObjectReference + (*v2.Report)(nil), // 25: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_depIdxs = []int32{ + 16, // 0: security.policy.gloo.solo.io.JWTPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 17, // 1: security.policy.gloo.solo.io.JWTPolicySpec.apply_to_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 5, // 2: security.policy.gloo.solo.io.JWTPolicySpec.config:type_name -> security.policy.gloo.solo.io.JWTPolicySpec.Config + 18, // 3: security.policy.gloo.solo.io.JWTPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 15, // 4: security.policy.gloo.solo.io.JWTPolicyReport.workspaces:type_name -> security.policy.gloo.solo.io.JWTPolicyReport.WorkspacesEntry + 19, // 5: security.policy.gloo.solo.io.JWTPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 20, // 6: security.policy.gloo.solo.io.JWTPolicyReport.selected_destination_ports:type_name -> common.gloo.solo.io.DestinationReference + 7, // 7: security.policy.gloo.solo.io.JWTPolicySpec.Config.providers:type_name -> security.policy.gloo.solo.io.JWTPolicySpec.Config.ProvidersEntry + 21, // 8: security.policy.gloo.solo.io.JWTPolicySpec.Config.phase:type_name -> common.gloo.solo.io.PrioritizedPhase + 0, // 9: security.policy.gloo.solo.io.JWTPolicySpec.Config.clear_route_cache:type_name -> security.policy.gloo.solo.io.JWTPolicySpec.Config.ClearRouteCache + 8, // 10: security.policy.gloo.solo.io.JWTPolicySpec.Config.claims:type_name -> security.policy.gloo.solo.io.JWTPolicySpec.Config.ClaimMatcher + 1, // 11: security.policy.gloo.solo.io.JWTPolicySpec.Config.validation_policy:type_name -> security.policy.gloo.solo.io.JWTPolicySpec.Config.ValidationPolicy + 9, // 12: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.token_source:type_name -> security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.TokenSource + 10, // 13: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.local:type_name -> security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.LocalJWKS + 11, // 14: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.remote:type_name -> security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.RemoteJWKS + 12, // 15: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.claims_to_headers:type_name -> security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.ClaimsToHeader + 22, // 16: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.clock_skew_seconds:type_name -> google.protobuf.UInt32Value + 6, // 17: security.policy.gloo.solo.io.JWTPolicySpec.Config.ProvidersEntry.value:type_name -> security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider + 13, // 18: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.TokenSource.headers:type_name -> security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.TokenSource.fromHeader + 14, // 19: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.LocalJWKS.secret_ref:type_name -> security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.LocalJWKS.SecretRef + 20, // 20: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.RemoteJWKS.destination_ref:type_name -> common.gloo.solo.io.DestinationReference + 23, // 21: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.RemoteJWKS.cache_duration:type_name -> google.protobuf.Duration + 23, // 22: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.RemoteJWKS.timeout:type_name -> google.protobuf.Duration + 24, // 23: security.policy.gloo.solo.io.JWTPolicySpec.Config.Provider.LocalJWKS.SecretRef.objectRef:type_name -> common.gloo.solo.io.ObjectReference + 25, // 24: security.policy.gloo.solo.io.JWTPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTPolicySpec_Config_Provider); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTPolicySpec_Config_ClaimMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTPolicySpec_Config_Provider_TokenSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTPolicySpec_Config_Provider_LocalJWKS); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTPolicySpec_Config_Provider_RemoteJWKS); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTPolicySpec_Config_Provider_ClaimsToHeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTPolicySpec_Config_Provider_TokenSourceFromHeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*JWTPolicySpec_Config_Provider_Local)(nil), + (*JWTPolicySpec_Config_Provider_Remote)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef_)(nil), + (*JWTPolicySpec_Config_Provider_LocalJWKS_Inline)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDesc, + NumEnums: 2, + NumMessages: 14, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_jwt_policy_proto_depIdxs = nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/jwt_policy.pb.hash.go b/client-go/security.policy.gloo.solo.io/v2/jwt_policy.pb.hash.go new file mode 100644 index 000000000..b4dd2e129 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/jwt_policy.pb.hash.go @@ -0,0 +1,844 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/jwt_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *JWTPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.JWTPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JWTPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.JWTPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedDestinationPorts()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JWTPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.JWTPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JWTPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.JWTPolicySpec_Config")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetProviders() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetPhase()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Phase")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPhase(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Phase")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAllowMissingOrFailed()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetClearRouteCache()) + if err != nil { + return 0, err + } + + for _, v := range m.GetClaims() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetRequiredScopes() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetValidationPolicy()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JWTPolicySpec_Config_Provider) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.JWTPolicySpec_Config_Provider")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetIssuer())); err != nil { + return 0, err + } + + for _, v := range m.GetAudiences() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if h, ok := interface{}(m.GetTokenSource()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TokenSource")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTokenSource(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TokenSource")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetClaimsToHeaders() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetKeepToken()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetClockSkewSeconds()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ClockSkewSeconds")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetClockSkewSeconds(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ClockSkewSeconds")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetOutputPayloadToHeader())); err != nil { + return 0, err + } + + switch m.JwksSource.(type) { + + case *JWTPolicySpec_Config_Provider_Local: + + if h, ok := interface{}(m.GetLocal()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Local")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetLocal(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Local")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *JWTPolicySpec_Config_Provider_Remote: + + if h, ok := interface{}(m.GetRemote()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Remote")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRemote(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Remote")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JWTPolicySpec_Config_ClaimMatcher) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.JWTPolicySpec_Config_ClaimMatcher")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + for _, v := range m.GetValues() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + for _, v := range m.GetNotValues() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte(m.GetNestedClaimDelimiter())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JWTPolicySpec_Config_Provider_TokenSource) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.JWTPolicySpec_Config_Provider_TokenSource")); err != nil { + return 0, err + } + + for _, v := range m.GetHeaders() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetQueryParams() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JWTPolicySpec_Config_Provider_LocalJWKS) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.JWTPolicySpec_Config_Provider_LocalJWKS")); err != nil { + return 0, err + } + + switch m.Specifier.(type) { + + case *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef_: + + if h, ok := interface{}(m.GetSecretRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("SecretRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetSecretRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("SecretRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *JWTPolicySpec_Config_Provider_LocalJWKS_Inline: + + if _, err = hasher.Write([]byte(m.GetInline())); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JWTPolicySpec_Config_Provider_RemoteJWKS) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.JWTPolicySpec_Config_Provider_RemoteJWKS")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetUrl())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetDestinationRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DestinationRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDestinationRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DestinationRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetCacheDuration()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("CacheDuration")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCacheDuration(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("CacheDuration")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetTimeout()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Timeout")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTimeout(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Timeout")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetEnableAsyncFetch()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JWTPolicySpec_Config_Provider_ClaimsToHeader) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.JWTPolicySpec_Config_Provider_ClaimsToHeader")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetClaim())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetHeader())); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetAppend()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JWTPolicySpec_Config_Provider_TokenSourceFromHeader) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.JWTPolicySpec_Config_Provider_TokenSourceFromHeader")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPrefix())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.JWTPolicySpec_Config_Provider_LocalJWKS_SecretRef")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetObjectRef()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ObjectRef")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetObjectRef(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ObjectRef")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte(m.GetKey())); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/mocks/clients.go b/client-go/security.policy.gloo.solo.io/v2/mocks/clients.go new file mode 100644 index 000000000..a040238af --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/mocks/clients.go @@ -0,0 +1,4738 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2 is a generated GoMock package. +package mock_v2 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2 "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// AccessPolicies mocks base method. +func (m *MockClientset) AccessPolicies() v2.AccessPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AccessPolicies") + ret0, _ := ret[0].(v2.AccessPolicyClient) + return ret0 +} + +// AccessPolicies indicates an expected call of AccessPolicies. +func (mr *MockClientsetMockRecorder) AccessPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AccessPolicies", reflect.TypeOf((*MockClientset)(nil).AccessPolicies)) +} + +// CORSPolicies mocks base method. +func (m *MockClientset) CORSPolicies() v2.CORSPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CORSPolicies") + ret0, _ := ret[0].(v2.CORSPolicyClient) + return ret0 +} + +// CORSPolicies indicates an expected call of CORSPolicies. +func (mr *MockClientsetMockRecorder) CORSPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CORSPolicies", reflect.TypeOf((*MockClientset)(nil).CORSPolicies)) +} + +// CSRFPolicies mocks base method. +func (m *MockClientset) CSRFPolicies() v2.CSRFPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CSRFPolicies") + ret0, _ := ret[0].(v2.CSRFPolicyClient) + return ret0 +} + +// CSRFPolicies indicates an expected call of CSRFPolicies. +func (mr *MockClientsetMockRecorder) CSRFPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CSRFPolicies", reflect.TypeOf((*MockClientset)(nil).CSRFPolicies)) +} + +// ClientTLSPolicies mocks base method. +func (m *MockClientset) ClientTLSPolicies() v2.ClientTLSPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ClientTLSPolicies") + ret0, _ := ret[0].(v2.ClientTLSPolicyClient) + return ret0 +} + +// ClientTLSPolicies indicates an expected call of ClientTLSPolicies. +func (mr *MockClientsetMockRecorder) ClientTLSPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClientTLSPolicies", reflect.TypeOf((*MockClientset)(nil).ClientTLSPolicies)) +} + +// DLPPolicies mocks base method. +func (m *MockClientset) DLPPolicies() v2.DLPPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DLPPolicies") + ret0, _ := ret[0].(v2.DLPPolicyClient) + return ret0 +} + +// DLPPolicies indicates an expected call of DLPPolicies. +func (mr *MockClientsetMockRecorder) DLPPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DLPPolicies", reflect.TypeOf((*MockClientset)(nil).DLPPolicies)) +} + +// ExtAuthPolicies mocks base method. +func (m *MockClientset) ExtAuthPolicies() v2.ExtAuthPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExtAuthPolicies") + ret0, _ := ret[0].(v2.ExtAuthPolicyClient) + return ret0 +} + +// ExtAuthPolicies indicates an expected call of ExtAuthPolicies. +func (mr *MockClientsetMockRecorder) ExtAuthPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExtAuthPolicies", reflect.TypeOf((*MockClientset)(nil).ExtAuthPolicies)) +} + +// GraphQLAllowedQueryPolicies mocks base method. +func (m *MockClientset) GraphQLAllowedQueryPolicies() v2.GraphQLAllowedQueryPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GraphQLAllowedQueryPolicies") + ret0, _ := ret[0].(v2.GraphQLAllowedQueryPolicyClient) + return ret0 +} + +// GraphQLAllowedQueryPolicies indicates an expected call of GraphQLAllowedQueryPolicies. +func (mr *MockClientsetMockRecorder) GraphQLAllowedQueryPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GraphQLAllowedQueryPolicies", reflect.TypeOf((*MockClientset)(nil).GraphQLAllowedQueryPolicies)) +} + +// JWTPolicies mocks base method. +func (m *MockClientset) JWTPolicies() v2.JWTPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "JWTPolicies") + ret0, _ := ret[0].(v2.JWTPolicyClient) + return ret0 +} + +// JWTPolicies indicates an expected call of JWTPolicies. +func (mr *MockClientsetMockRecorder) JWTPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "JWTPolicies", reflect.TypeOf((*MockClientset)(nil).JWTPolicies)) +} + +// WAFPolicies mocks base method. +func (m *MockClientset) WAFPolicies() v2.WAFPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "WAFPolicies") + ret0, _ := ret[0].(v2.WAFPolicyClient) + return ret0 +} + +// WAFPolicies indicates an expected call of WAFPolicies. +func (mr *MockClientsetMockRecorder) WAFPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WAFPolicies", reflect.TypeOf((*MockClientset)(nil).WAFPolicies)) +} + +// MockAccessPolicyReader is a mock of AccessPolicyReader interface. +type MockAccessPolicyReader struct { + ctrl *gomock.Controller + recorder *MockAccessPolicyReaderMockRecorder +} + +// MockAccessPolicyReaderMockRecorder is the mock recorder for MockAccessPolicyReader. +type MockAccessPolicyReaderMockRecorder struct { + mock *MockAccessPolicyReader +} + +// NewMockAccessPolicyReader creates a new mock instance. +func NewMockAccessPolicyReader(ctrl *gomock.Controller) *MockAccessPolicyReader { + mock := &MockAccessPolicyReader{ctrl: ctrl} + mock.recorder = &MockAccessPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessPolicyReader) EXPECT() *MockAccessPolicyReaderMockRecorder { + return m.recorder +} + +// GetAccessPolicy mocks base method. +func (m *MockAccessPolicyReader) GetAccessPolicy(ctx context.Context, key client.ObjectKey) (*v2.AccessPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAccessPolicy", ctx, key) + ret0, _ := ret[0].(*v2.AccessPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetAccessPolicy indicates an expected call of GetAccessPolicy. +func (mr *MockAccessPolicyReaderMockRecorder) GetAccessPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessPolicy", reflect.TypeOf((*MockAccessPolicyReader)(nil).GetAccessPolicy), ctx, key) +} + +// ListAccessPolicy mocks base method. +func (m *MockAccessPolicyReader) ListAccessPolicy(ctx context.Context, opts ...client.ListOption) (*v2.AccessPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListAccessPolicy", varargs...) + ret0, _ := ret[0].(*v2.AccessPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListAccessPolicy indicates an expected call of ListAccessPolicy. +func (mr *MockAccessPolicyReaderMockRecorder) ListAccessPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAccessPolicy", reflect.TypeOf((*MockAccessPolicyReader)(nil).ListAccessPolicy), varargs...) +} + +// MockAccessPolicyWriter is a mock of AccessPolicyWriter interface. +type MockAccessPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockAccessPolicyWriterMockRecorder +} + +// MockAccessPolicyWriterMockRecorder is the mock recorder for MockAccessPolicyWriter. +type MockAccessPolicyWriterMockRecorder struct { + mock *MockAccessPolicyWriter +} + +// NewMockAccessPolicyWriter creates a new mock instance. +func NewMockAccessPolicyWriter(ctrl *gomock.Controller) *MockAccessPolicyWriter { + mock := &MockAccessPolicyWriter{ctrl: ctrl} + mock.recorder = &MockAccessPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessPolicyWriter) EXPECT() *MockAccessPolicyWriterMockRecorder { + return m.recorder +} + +// CreateAccessPolicy mocks base method. +func (m *MockAccessPolicyWriter) CreateAccessPolicy(ctx context.Context, obj *v2.AccessPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateAccessPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateAccessPolicy indicates an expected call of CreateAccessPolicy. +func (mr *MockAccessPolicyWriterMockRecorder) CreateAccessPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccessPolicy", reflect.TypeOf((*MockAccessPolicyWriter)(nil).CreateAccessPolicy), varargs...) +} + +// DeleteAccessPolicy mocks base method. +func (m *MockAccessPolicyWriter) DeleteAccessPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAccessPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAccessPolicy indicates an expected call of DeleteAccessPolicy. +func (mr *MockAccessPolicyWriterMockRecorder) DeleteAccessPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccessPolicy", reflect.TypeOf((*MockAccessPolicyWriter)(nil).DeleteAccessPolicy), varargs...) +} + +// DeleteAllOfAccessPolicy mocks base method. +func (m *MockAccessPolicyWriter) DeleteAllOfAccessPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfAccessPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfAccessPolicy indicates an expected call of DeleteAllOfAccessPolicy. +func (mr *MockAccessPolicyWriterMockRecorder) DeleteAllOfAccessPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfAccessPolicy", reflect.TypeOf((*MockAccessPolicyWriter)(nil).DeleteAllOfAccessPolicy), varargs...) +} + +// PatchAccessPolicy mocks base method. +func (m *MockAccessPolicyWriter) PatchAccessPolicy(ctx context.Context, obj *v2.AccessPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchAccessPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchAccessPolicy indicates an expected call of PatchAccessPolicy. +func (mr *MockAccessPolicyWriterMockRecorder) PatchAccessPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchAccessPolicy", reflect.TypeOf((*MockAccessPolicyWriter)(nil).PatchAccessPolicy), varargs...) +} + +// UpdateAccessPolicy mocks base method. +func (m *MockAccessPolicyWriter) UpdateAccessPolicy(ctx context.Context, obj *v2.AccessPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateAccessPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateAccessPolicy indicates an expected call of UpdateAccessPolicy. +func (mr *MockAccessPolicyWriterMockRecorder) UpdateAccessPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccessPolicy", reflect.TypeOf((*MockAccessPolicyWriter)(nil).UpdateAccessPolicy), varargs...) +} + +// UpsertAccessPolicy mocks base method. +func (m *MockAccessPolicyWriter) UpsertAccessPolicy(ctx context.Context, obj *v2.AccessPolicy, transitionFuncs ...v2.AccessPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertAccessPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertAccessPolicy indicates an expected call of UpsertAccessPolicy. +func (mr *MockAccessPolicyWriterMockRecorder) UpsertAccessPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertAccessPolicy", reflect.TypeOf((*MockAccessPolicyWriter)(nil).UpsertAccessPolicy), varargs...) +} + +// MockAccessPolicyStatusWriter is a mock of AccessPolicyStatusWriter interface. +type MockAccessPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockAccessPolicyStatusWriterMockRecorder +} + +// MockAccessPolicyStatusWriterMockRecorder is the mock recorder for MockAccessPolicyStatusWriter. +type MockAccessPolicyStatusWriterMockRecorder struct { + mock *MockAccessPolicyStatusWriter +} + +// NewMockAccessPolicyStatusWriter creates a new mock instance. +func NewMockAccessPolicyStatusWriter(ctrl *gomock.Controller) *MockAccessPolicyStatusWriter { + mock := &MockAccessPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockAccessPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessPolicyStatusWriter) EXPECT() *MockAccessPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchAccessPolicyStatus mocks base method. +func (m *MockAccessPolicyStatusWriter) PatchAccessPolicyStatus(ctx context.Context, obj *v2.AccessPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchAccessPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchAccessPolicyStatus indicates an expected call of PatchAccessPolicyStatus. +func (mr *MockAccessPolicyStatusWriterMockRecorder) PatchAccessPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchAccessPolicyStatus", reflect.TypeOf((*MockAccessPolicyStatusWriter)(nil).PatchAccessPolicyStatus), varargs...) +} + +// UpdateAccessPolicyStatus mocks base method. +func (m *MockAccessPolicyStatusWriter) UpdateAccessPolicyStatus(ctx context.Context, obj *v2.AccessPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateAccessPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateAccessPolicyStatus indicates an expected call of UpdateAccessPolicyStatus. +func (mr *MockAccessPolicyStatusWriterMockRecorder) UpdateAccessPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccessPolicyStatus", reflect.TypeOf((*MockAccessPolicyStatusWriter)(nil).UpdateAccessPolicyStatus), varargs...) +} + +// MockAccessPolicyClient is a mock of AccessPolicyClient interface. +type MockAccessPolicyClient struct { + ctrl *gomock.Controller + recorder *MockAccessPolicyClientMockRecorder +} + +// MockAccessPolicyClientMockRecorder is the mock recorder for MockAccessPolicyClient. +type MockAccessPolicyClientMockRecorder struct { + mock *MockAccessPolicyClient +} + +// NewMockAccessPolicyClient creates a new mock instance. +func NewMockAccessPolicyClient(ctrl *gomock.Controller) *MockAccessPolicyClient { + mock := &MockAccessPolicyClient{ctrl: ctrl} + mock.recorder = &MockAccessPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessPolicyClient) EXPECT() *MockAccessPolicyClientMockRecorder { + return m.recorder +} + +// CreateAccessPolicy mocks base method. +func (m *MockAccessPolicyClient) CreateAccessPolicy(ctx context.Context, obj *v2.AccessPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateAccessPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateAccessPolicy indicates an expected call of CreateAccessPolicy. +func (mr *MockAccessPolicyClientMockRecorder) CreateAccessPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccessPolicy", reflect.TypeOf((*MockAccessPolicyClient)(nil).CreateAccessPolicy), varargs...) +} + +// DeleteAccessPolicy mocks base method. +func (m *MockAccessPolicyClient) DeleteAccessPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAccessPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAccessPolicy indicates an expected call of DeleteAccessPolicy. +func (mr *MockAccessPolicyClientMockRecorder) DeleteAccessPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccessPolicy", reflect.TypeOf((*MockAccessPolicyClient)(nil).DeleteAccessPolicy), varargs...) +} + +// DeleteAllOfAccessPolicy mocks base method. +func (m *MockAccessPolicyClient) DeleteAllOfAccessPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfAccessPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfAccessPolicy indicates an expected call of DeleteAllOfAccessPolicy. +func (mr *MockAccessPolicyClientMockRecorder) DeleteAllOfAccessPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfAccessPolicy", reflect.TypeOf((*MockAccessPolicyClient)(nil).DeleteAllOfAccessPolicy), varargs...) +} + +// GetAccessPolicy mocks base method. +func (m *MockAccessPolicyClient) GetAccessPolicy(ctx context.Context, key client.ObjectKey) (*v2.AccessPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAccessPolicy", ctx, key) + ret0, _ := ret[0].(*v2.AccessPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetAccessPolicy indicates an expected call of GetAccessPolicy. +func (mr *MockAccessPolicyClientMockRecorder) GetAccessPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessPolicy", reflect.TypeOf((*MockAccessPolicyClient)(nil).GetAccessPolicy), ctx, key) +} + +// ListAccessPolicy mocks base method. +func (m *MockAccessPolicyClient) ListAccessPolicy(ctx context.Context, opts ...client.ListOption) (*v2.AccessPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListAccessPolicy", varargs...) + ret0, _ := ret[0].(*v2.AccessPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListAccessPolicy indicates an expected call of ListAccessPolicy. +func (mr *MockAccessPolicyClientMockRecorder) ListAccessPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAccessPolicy", reflect.TypeOf((*MockAccessPolicyClient)(nil).ListAccessPolicy), varargs...) +} + +// PatchAccessPolicy mocks base method. +func (m *MockAccessPolicyClient) PatchAccessPolicy(ctx context.Context, obj *v2.AccessPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchAccessPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchAccessPolicy indicates an expected call of PatchAccessPolicy. +func (mr *MockAccessPolicyClientMockRecorder) PatchAccessPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchAccessPolicy", reflect.TypeOf((*MockAccessPolicyClient)(nil).PatchAccessPolicy), varargs...) +} + +// PatchAccessPolicyStatus mocks base method. +func (m *MockAccessPolicyClient) PatchAccessPolicyStatus(ctx context.Context, obj *v2.AccessPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchAccessPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchAccessPolicyStatus indicates an expected call of PatchAccessPolicyStatus. +func (mr *MockAccessPolicyClientMockRecorder) PatchAccessPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchAccessPolicyStatus", reflect.TypeOf((*MockAccessPolicyClient)(nil).PatchAccessPolicyStatus), varargs...) +} + +// UpdateAccessPolicy mocks base method. +func (m *MockAccessPolicyClient) UpdateAccessPolicy(ctx context.Context, obj *v2.AccessPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateAccessPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateAccessPolicy indicates an expected call of UpdateAccessPolicy. +func (mr *MockAccessPolicyClientMockRecorder) UpdateAccessPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccessPolicy", reflect.TypeOf((*MockAccessPolicyClient)(nil).UpdateAccessPolicy), varargs...) +} + +// UpdateAccessPolicyStatus mocks base method. +func (m *MockAccessPolicyClient) UpdateAccessPolicyStatus(ctx context.Context, obj *v2.AccessPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateAccessPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateAccessPolicyStatus indicates an expected call of UpdateAccessPolicyStatus. +func (mr *MockAccessPolicyClientMockRecorder) UpdateAccessPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccessPolicyStatus", reflect.TypeOf((*MockAccessPolicyClient)(nil).UpdateAccessPolicyStatus), varargs...) +} + +// UpsertAccessPolicy mocks base method. +func (m *MockAccessPolicyClient) UpsertAccessPolicy(ctx context.Context, obj *v2.AccessPolicy, transitionFuncs ...v2.AccessPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertAccessPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertAccessPolicy indicates an expected call of UpsertAccessPolicy. +func (mr *MockAccessPolicyClientMockRecorder) UpsertAccessPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertAccessPolicy", reflect.TypeOf((*MockAccessPolicyClient)(nil).UpsertAccessPolicy), varargs...) +} + +// MockMulticlusterAccessPolicyClient is a mock of MulticlusterAccessPolicyClient interface. +type MockMulticlusterAccessPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterAccessPolicyClientMockRecorder +} + +// MockMulticlusterAccessPolicyClientMockRecorder is the mock recorder for MockMulticlusterAccessPolicyClient. +type MockMulticlusterAccessPolicyClientMockRecorder struct { + mock *MockMulticlusterAccessPolicyClient +} + +// NewMockMulticlusterAccessPolicyClient creates a new mock instance. +func NewMockMulticlusterAccessPolicyClient(ctrl *gomock.Controller) *MockMulticlusterAccessPolicyClient { + mock := &MockMulticlusterAccessPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterAccessPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterAccessPolicyClient) EXPECT() *MockMulticlusterAccessPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterAccessPolicyClient) Cluster(cluster string) (v2.AccessPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.AccessPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterAccessPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterAccessPolicyClient)(nil).Cluster), cluster) +} + +// MockCORSPolicyReader is a mock of CORSPolicyReader interface. +type MockCORSPolicyReader struct { + ctrl *gomock.Controller + recorder *MockCORSPolicyReaderMockRecorder +} + +// MockCORSPolicyReaderMockRecorder is the mock recorder for MockCORSPolicyReader. +type MockCORSPolicyReaderMockRecorder struct { + mock *MockCORSPolicyReader +} + +// NewMockCORSPolicyReader creates a new mock instance. +func NewMockCORSPolicyReader(ctrl *gomock.Controller) *MockCORSPolicyReader { + mock := &MockCORSPolicyReader{ctrl: ctrl} + mock.recorder = &MockCORSPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCORSPolicyReader) EXPECT() *MockCORSPolicyReaderMockRecorder { + return m.recorder +} + +// GetCORSPolicy mocks base method. +func (m *MockCORSPolicyReader) GetCORSPolicy(ctx context.Context, key client.ObjectKey) (*v2.CORSPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetCORSPolicy", ctx, key) + ret0, _ := ret[0].(*v2.CORSPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetCORSPolicy indicates an expected call of GetCORSPolicy. +func (mr *MockCORSPolicyReaderMockRecorder) GetCORSPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCORSPolicy", reflect.TypeOf((*MockCORSPolicyReader)(nil).GetCORSPolicy), ctx, key) +} + +// ListCORSPolicy mocks base method. +func (m *MockCORSPolicyReader) ListCORSPolicy(ctx context.Context, opts ...client.ListOption) (*v2.CORSPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListCORSPolicy", varargs...) + ret0, _ := ret[0].(*v2.CORSPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListCORSPolicy indicates an expected call of ListCORSPolicy. +func (mr *MockCORSPolicyReaderMockRecorder) ListCORSPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCORSPolicy", reflect.TypeOf((*MockCORSPolicyReader)(nil).ListCORSPolicy), varargs...) +} + +// MockCORSPolicyWriter is a mock of CORSPolicyWriter interface. +type MockCORSPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockCORSPolicyWriterMockRecorder +} + +// MockCORSPolicyWriterMockRecorder is the mock recorder for MockCORSPolicyWriter. +type MockCORSPolicyWriterMockRecorder struct { + mock *MockCORSPolicyWriter +} + +// NewMockCORSPolicyWriter creates a new mock instance. +func NewMockCORSPolicyWriter(ctrl *gomock.Controller) *MockCORSPolicyWriter { + mock := &MockCORSPolicyWriter{ctrl: ctrl} + mock.recorder = &MockCORSPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCORSPolicyWriter) EXPECT() *MockCORSPolicyWriterMockRecorder { + return m.recorder +} + +// CreateCORSPolicy mocks base method. +func (m *MockCORSPolicyWriter) CreateCORSPolicy(ctx context.Context, obj *v2.CORSPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateCORSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCORSPolicy indicates an expected call of CreateCORSPolicy. +func (mr *MockCORSPolicyWriterMockRecorder) CreateCORSPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCORSPolicy", reflect.TypeOf((*MockCORSPolicyWriter)(nil).CreateCORSPolicy), varargs...) +} + +// DeleteAllOfCORSPolicy mocks base method. +func (m *MockCORSPolicyWriter) DeleteAllOfCORSPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfCORSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfCORSPolicy indicates an expected call of DeleteAllOfCORSPolicy. +func (mr *MockCORSPolicyWriterMockRecorder) DeleteAllOfCORSPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfCORSPolicy", reflect.TypeOf((*MockCORSPolicyWriter)(nil).DeleteAllOfCORSPolicy), varargs...) +} + +// DeleteCORSPolicy mocks base method. +func (m *MockCORSPolicyWriter) DeleteCORSPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteCORSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCORSPolicy indicates an expected call of DeleteCORSPolicy. +func (mr *MockCORSPolicyWriterMockRecorder) DeleteCORSPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCORSPolicy", reflect.TypeOf((*MockCORSPolicyWriter)(nil).DeleteCORSPolicy), varargs...) +} + +// PatchCORSPolicy mocks base method. +func (m *MockCORSPolicyWriter) PatchCORSPolicy(ctx context.Context, obj *v2.CORSPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCORSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCORSPolicy indicates an expected call of PatchCORSPolicy. +func (mr *MockCORSPolicyWriterMockRecorder) PatchCORSPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCORSPolicy", reflect.TypeOf((*MockCORSPolicyWriter)(nil).PatchCORSPolicy), varargs...) +} + +// UpdateCORSPolicy mocks base method. +func (m *MockCORSPolicyWriter) UpdateCORSPolicy(ctx context.Context, obj *v2.CORSPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCORSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCORSPolicy indicates an expected call of UpdateCORSPolicy. +func (mr *MockCORSPolicyWriterMockRecorder) UpdateCORSPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCORSPolicy", reflect.TypeOf((*MockCORSPolicyWriter)(nil).UpdateCORSPolicy), varargs...) +} + +// UpsertCORSPolicy mocks base method. +func (m *MockCORSPolicyWriter) UpsertCORSPolicy(ctx context.Context, obj *v2.CORSPolicy, transitionFuncs ...v2.CORSPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertCORSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertCORSPolicy indicates an expected call of UpsertCORSPolicy. +func (mr *MockCORSPolicyWriterMockRecorder) UpsertCORSPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertCORSPolicy", reflect.TypeOf((*MockCORSPolicyWriter)(nil).UpsertCORSPolicy), varargs...) +} + +// MockCORSPolicyStatusWriter is a mock of CORSPolicyStatusWriter interface. +type MockCORSPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockCORSPolicyStatusWriterMockRecorder +} + +// MockCORSPolicyStatusWriterMockRecorder is the mock recorder for MockCORSPolicyStatusWriter. +type MockCORSPolicyStatusWriterMockRecorder struct { + mock *MockCORSPolicyStatusWriter +} + +// NewMockCORSPolicyStatusWriter creates a new mock instance. +func NewMockCORSPolicyStatusWriter(ctrl *gomock.Controller) *MockCORSPolicyStatusWriter { + mock := &MockCORSPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockCORSPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCORSPolicyStatusWriter) EXPECT() *MockCORSPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchCORSPolicyStatus mocks base method. +func (m *MockCORSPolicyStatusWriter) PatchCORSPolicyStatus(ctx context.Context, obj *v2.CORSPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCORSPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCORSPolicyStatus indicates an expected call of PatchCORSPolicyStatus. +func (mr *MockCORSPolicyStatusWriterMockRecorder) PatchCORSPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCORSPolicyStatus", reflect.TypeOf((*MockCORSPolicyStatusWriter)(nil).PatchCORSPolicyStatus), varargs...) +} + +// UpdateCORSPolicyStatus mocks base method. +func (m *MockCORSPolicyStatusWriter) UpdateCORSPolicyStatus(ctx context.Context, obj *v2.CORSPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCORSPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCORSPolicyStatus indicates an expected call of UpdateCORSPolicyStatus. +func (mr *MockCORSPolicyStatusWriterMockRecorder) UpdateCORSPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCORSPolicyStatus", reflect.TypeOf((*MockCORSPolicyStatusWriter)(nil).UpdateCORSPolicyStatus), varargs...) +} + +// MockCORSPolicyClient is a mock of CORSPolicyClient interface. +type MockCORSPolicyClient struct { + ctrl *gomock.Controller + recorder *MockCORSPolicyClientMockRecorder +} + +// MockCORSPolicyClientMockRecorder is the mock recorder for MockCORSPolicyClient. +type MockCORSPolicyClientMockRecorder struct { + mock *MockCORSPolicyClient +} + +// NewMockCORSPolicyClient creates a new mock instance. +func NewMockCORSPolicyClient(ctrl *gomock.Controller) *MockCORSPolicyClient { + mock := &MockCORSPolicyClient{ctrl: ctrl} + mock.recorder = &MockCORSPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCORSPolicyClient) EXPECT() *MockCORSPolicyClientMockRecorder { + return m.recorder +} + +// CreateCORSPolicy mocks base method. +func (m *MockCORSPolicyClient) CreateCORSPolicy(ctx context.Context, obj *v2.CORSPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateCORSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCORSPolicy indicates an expected call of CreateCORSPolicy. +func (mr *MockCORSPolicyClientMockRecorder) CreateCORSPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCORSPolicy", reflect.TypeOf((*MockCORSPolicyClient)(nil).CreateCORSPolicy), varargs...) +} + +// DeleteAllOfCORSPolicy mocks base method. +func (m *MockCORSPolicyClient) DeleteAllOfCORSPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfCORSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfCORSPolicy indicates an expected call of DeleteAllOfCORSPolicy. +func (mr *MockCORSPolicyClientMockRecorder) DeleteAllOfCORSPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfCORSPolicy", reflect.TypeOf((*MockCORSPolicyClient)(nil).DeleteAllOfCORSPolicy), varargs...) +} + +// DeleteCORSPolicy mocks base method. +func (m *MockCORSPolicyClient) DeleteCORSPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteCORSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCORSPolicy indicates an expected call of DeleteCORSPolicy. +func (mr *MockCORSPolicyClientMockRecorder) DeleteCORSPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCORSPolicy", reflect.TypeOf((*MockCORSPolicyClient)(nil).DeleteCORSPolicy), varargs...) +} + +// GetCORSPolicy mocks base method. +func (m *MockCORSPolicyClient) GetCORSPolicy(ctx context.Context, key client.ObjectKey) (*v2.CORSPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetCORSPolicy", ctx, key) + ret0, _ := ret[0].(*v2.CORSPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetCORSPolicy indicates an expected call of GetCORSPolicy. +func (mr *MockCORSPolicyClientMockRecorder) GetCORSPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCORSPolicy", reflect.TypeOf((*MockCORSPolicyClient)(nil).GetCORSPolicy), ctx, key) +} + +// ListCORSPolicy mocks base method. +func (m *MockCORSPolicyClient) ListCORSPolicy(ctx context.Context, opts ...client.ListOption) (*v2.CORSPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListCORSPolicy", varargs...) + ret0, _ := ret[0].(*v2.CORSPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListCORSPolicy indicates an expected call of ListCORSPolicy. +func (mr *MockCORSPolicyClientMockRecorder) ListCORSPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCORSPolicy", reflect.TypeOf((*MockCORSPolicyClient)(nil).ListCORSPolicy), varargs...) +} + +// PatchCORSPolicy mocks base method. +func (m *MockCORSPolicyClient) PatchCORSPolicy(ctx context.Context, obj *v2.CORSPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCORSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCORSPolicy indicates an expected call of PatchCORSPolicy. +func (mr *MockCORSPolicyClientMockRecorder) PatchCORSPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCORSPolicy", reflect.TypeOf((*MockCORSPolicyClient)(nil).PatchCORSPolicy), varargs...) +} + +// PatchCORSPolicyStatus mocks base method. +func (m *MockCORSPolicyClient) PatchCORSPolicyStatus(ctx context.Context, obj *v2.CORSPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCORSPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCORSPolicyStatus indicates an expected call of PatchCORSPolicyStatus. +func (mr *MockCORSPolicyClientMockRecorder) PatchCORSPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCORSPolicyStatus", reflect.TypeOf((*MockCORSPolicyClient)(nil).PatchCORSPolicyStatus), varargs...) +} + +// UpdateCORSPolicy mocks base method. +func (m *MockCORSPolicyClient) UpdateCORSPolicy(ctx context.Context, obj *v2.CORSPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCORSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCORSPolicy indicates an expected call of UpdateCORSPolicy. +func (mr *MockCORSPolicyClientMockRecorder) UpdateCORSPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCORSPolicy", reflect.TypeOf((*MockCORSPolicyClient)(nil).UpdateCORSPolicy), varargs...) +} + +// UpdateCORSPolicyStatus mocks base method. +func (m *MockCORSPolicyClient) UpdateCORSPolicyStatus(ctx context.Context, obj *v2.CORSPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCORSPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCORSPolicyStatus indicates an expected call of UpdateCORSPolicyStatus. +func (mr *MockCORSPolicyClientMockRecorder) UpdateCORSPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCORSPolicyStatus", reflect.TypeOf((*MockCORSPolicyClient)(nil).UpdateCORSPolicyStatus), varargs...) +} + +// UpsertCORSPolicy mocks base method. +func (m *MockCORSPolicyClient) UpsertCORSPolicy(ctx context.Context, obj *v2.CORSPolicy, transitionFuncs ...v2.CORSPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertCORSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertCORSPolicy indicates an expected call of UpsertCORSPolicy. +func (mr *MockCORSPolicyClientMockRecorder) UpsertCORSPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertCORSPolicy", reflect.TypeOf((*MockCORSPolicyClient)(nil).UpsertCORSPolicy), varargs...) +} + +// MockMulticlusterCORSPolicyClient is a mock of MulticlusterCORSPolicyClient interface. +type MockMulticlusterCORSPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCORSPolicyClientMockRecorder +} + +// MockMulticlusterCORSPolicyClientMockRecorder is the mock recorder for MockMulticlusterCORSPolicyClient. +type MockMulticlusterCORSPolicyClientMockRecorder struct { + mock *MockMulticlusterCORSPolicyClient +} + +// NewMockMulticlusterCORSPolicyClient creates a new mock instance. +func NewMockMulticlusterCORSPolicyClient(ctrl *gomock.Controller) *MockMulticlusterCORSPolicyClient { + mock := &MockMulticlusterCORSPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterCORSPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCORSPolicyClient) EXPECT() *MockMulticlusterCORSPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterCORSPolicyClient) Cluster(cluster string) (v2.CORSPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.CORSPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterCORSPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterCORSPolicyClient)(nil).Cluster), cluster) +} + +// MockCSRFPolicyReader is a mock of CSRFPolicyReader interface. +type MockCSRFPolicyReader struct { + ctrl *gomock.Controller + recorder *MockCSRFPolicyReaderMockRecorder +} + +// MockCSRFPolicyReaderMockRecorder is the mock recorder for MockCSRFPolicyReader. +type MockCSRFPolicyReaderMockRecorder struct { + mock *MockCSRFPolicyReader +} + +// NewMockCSRFPolicyReader creates a new mock instance. +func NewMockCSRFPolicyReader(ctrl *gomock.Controller) *MockCSRFPolicyReader { + mock := &MockCSRFPolicyReader{ctrl: ctrl} + mock.recorder = &MockCSRFPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCSRFPolicyReader) EXPECT() *MockCSRFPolicyReaderMockRecorder { + return m.recorder +} + +// GetCSRFPolicy mocks base method. +func (m *MockCSRFPolicyReader) GetCSRFPolicy(ctx context.Context, key client.ObjectKey) (*v2.CSRFPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetCSRFPolicy", ctx, key) + ret0, _ := ret[0].(*v2.CSRFPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetCSRFPolicy indicates an expected call of GetCSRFPolicy. +func (mr *MockCSRFPolicyReaderMockRecorder) GetCSRFPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyReader)(nil).GetCSRFPolicy), ctx, key) +} + +// ListCSRFPolicy mocks base method. +func (m *MockCSRFPolicyReader) ListCSRFPolicy(ctx context.Context, opts ...client.ListOption) (*v2.CSRFPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListCSRFPolicy", varargs...) + ret0, _ := ret[0].(*v2.CSRFPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListCSRFPolicy indicates an expected call of ListCSRFPolicy. +func (mr *MockCSRFPolicyReaderMockRecorder) ListCSRFPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyReader)(nil).ListCSRFPolicy), varargs...) +} + +// MockCSRFPolicyWriter is a mock of CSRFPolicyWriter interface. +type MockCSRFPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockCSRFPolicyWriterMockRecorder +} + +// MockCSRFPolicyWriterMockRecorder is the mock recorder for MockCSRFPolicyWriter. +type MockCSRFPolicyWriterMockRecorder struct { + mock *MockCSRFPolicyWriter +} + +// NewMockCSRFPolicyWriter creates a new mock instance. +func NewMockCSRFPolicyWriter(ctrl *gomock.Controller) *MockCSRFPolicyWriter { + mock := &MockCSRFPolicyWriter{ctrl: ctrl} + mock.recorder = &MockCSRFPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCSRFPolicyWriter) EXPECT() *MockCSRFPolicyWriterMockRecorder { + return m.recorder +} + +// CreateCSRFPolicy mocks base method. +func (m *MockCSRFPolicyWriter) CreateCSRFPolicy(ctx context.Context, obj *v2.CSRFPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateCSRFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCSRFPolicy indicates an expected call of CreateCSRFPolicy. +func (mr *MockCSRFPolicyWriterMockRecorder) CreateCSRFPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyWriter)(nil).CreateCSRFPolicy), varargs...) +} + +// DeleteAllOfCSRFPolicy mocks base method. +func (m *MockCSRFPolicyWriter) DeleteAllOfCSRFPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfCSRFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfCSRFPolicy indicates an expected call of DeleteAllOfCSRFPolicy. +func (mr *MockCSRFPolicyWriterMockRecorder) DeleteAllOfCSRFPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyWriter)(nil).DeleteAllOfCSRFPolicy), varargs...) +} + +// DeleteCSRFPolicy mocks base method. +func (m *MockCSRFPolicyWriter) DeleteCSRFPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteCSRFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCSRFPolicy indicates an expected call of DeleteCSRFPolicy. +func (mr *MockCSRFPolicyWriterMockRecorder) DeleteCSRFPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyWriter)(nil).DeleteCSRFPolicy), varargs...) +} + +// PatchCSRFPolicy mocks base method. +func (m *MockCSRFPolicyWriter) PatchCSRFPolicy(ctx context.Context, obj *v2.CSRFPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCSRFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCSRFPolicy indicates an expected call of PatchCSRFPolicy. +func (mr *MockCSRFPolicyWriterMockRecorder) PatchCSRFPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyWriter)(nil).PatchCSRFPolicy), varargs...) +} + +// UpdateCSRFPolicy mocks base method. +func (m *MockCSRFPolicyWriter) UpdateCSRFPolicy(ctx context.Context, obj *v2.CSRFPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCSRFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCSRFPolicy indicates an expected call of UpdateCSRFPolicy. +func (mr *MockCSRFPolicyWriterMockRecorder) UpdateCSRFPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyWriter)(nil).UpdateCSRFPolicy), varargs...) +} + +// UpsertCSRFPolicy mocks base method. +func (m *MockCSRFPolicyWriter) UpsertCSRFPolicy(ctx context.Context, obj *v2.CSRFPolicy, transitionFuncs ...v2.CSRFPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertCSRFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertCSRFPolicy indicates an expected call of UpsertCSRFPolicy. +func (mr *MockCSRFPolicyWriterMockRecorder) UpsertCSRFPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyWriter)(nil).UpsertCSRFPolicy), varargs...) +} + +// MockCSRFPolicyStatusWriter is a mock of CSRFPolicyStatusWriter interface. +type MockCSRFPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockCSRFPolicyStatusWriterMockRecorder +} + +// MockCSRFPolicyStatusWriterMockRecorder is the mock recorder for MockCSRFPolicyStatusWriter. +type MockCSRFPolicyStatusWriterMockRecorder struct { + mock *MockCSRFPolicyStatusWriter +} + +// NewMockCSRFPolicyStatusWriter creates a new mock instance. +func NewMockCSRFPolicyStatusWriter(ctrl *gomock.Controller) *MockCSRFPolicyStatusWriter { + mock := &MockCSRFPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockCSRFPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCSRFPolicyStatusWriter) EXPECT() *MockCSRFPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchCSRFPolicyStatus mocks base method. +func (m *MockCSRFPolicyStatusWriter) PatchCSRFPolicyStatus(ctx context.Context, obj *v2.CSRFPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCSRFPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCSRFPolicyStatus indicates an expected call of PatchCSRFPolicyStatus. +func (mr *MockCSRFPolicyStatusWriterMockRecorder) PatchCSRFPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCSRFPolicyStatus", reflect.TypeOf((*MockCSRFPolicyStatusWriter)(nil).PatchCSRFPolicyStatus), varargs...) +} + +// UpdateCSRFPolicyStatus mocks base method. +func (m *MockCSRFPolicyStatusWriter) UpdateCSRFPolicyStatus(ctx context.Context, obj *v2.CSRFPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCSRFPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCSRFPolicyStatus indicates an expected call of UpdateCSRFPolicyStatus. +func (mr *MockCSRFPolicyStatusWriterMockRecorder) UpdateCSRFPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCSRFPolicyStatus", reflect.TypeOf((*MockCSRFPolicyStatusWriter)(nil).UpdateCSRFPolicyStatus), varargs...) +} + +// MockCSRFPolicyClient is a mock of CSRFPolicyClient interface. +type MockCSRFPolicyClient struct { + ctrl *gomock.Controller + recorder *MockCSRFPolicyClientMockRecorder +} + +// MockCSRFPolicyClientMockRecorder is the mock recorder for MockCSRFPolicyClient. +type MockCSRFPolicyClientMockRecorder struct { + mock *MockCSRFPolicyClient +} + +// NewMockCSRFPolicyClient creates a new mock instance. +func NewMockCSRFPolicyClient(ctrl *gomock.Controller) *MockCSRFPolicyClient { + mock := &MockCSRFPolicyClient{ctrl: ctrl} + mock.recorder = &MockCSRFPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCSRFPolicyClient) EXPECT() *MockCSRFPolicyClientMockRecorder { + return m.recorder +} + +// CreateCSRFPolicy mocks base method. +func (m *MockCSRFPolicyClient) CreateCSRFPolicy(ctx context.Context, obj *v2.CSRFPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateCSRFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateCSRFPolicy indicates an expected call of CreateCSRFPolicy. +func (mr *MockCSRFPolicyClientMockRecorder) CreateCSRFPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyClient)(nil).CreateCSRFPolicy), varargs...) +} + +// DeleteAllOfCSRFPolicy mocks base method. +func (m *MockCSRFPolicyClient) DeleteAllOfCSRFPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfCSRFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfCSRFPolicy indicates an expected call of DeleteAllOfCSRFPolicy. +func (mr *MockCSRFPolicyClientMockRecorder) DeleteAllOfCSRFPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyClient)(nil).DeleteAllOfCSRFPolicy), varargs...) +} + +// DeleteCSRFPolicy mocks base method. +func (m *MockCSRFPolicyClient) DeleteCSRFPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteCSRFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteCSRFPolicy indicates an expected call of DeleteCSRFPolicy. +func (mr *MockCSRFPolicyClientMockRecorder) DeleteCSRFPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyClient)(nil).DeleteCSRFPolicy), varargs...) +} + +// GetCSRFPolicy mocks base method. +func (m *MockCSRFPolicyClient) GetCSRFPolicy(ctx context.Context, key client.ObjectKey) (*v2.CSRFPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetCSRFPolicy", ctx, key) + ret0, _ := ret[0].(*v2.CSRFPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetCSRFPolicy indicates an expected call of GetCSRFPolicy. +func (mr *MockCSRFPolicyClientMockRecorder) GetCSRFPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyClient)(nil).GetCSRFPolicy), ctx, key) +} + +// ListCSRFPolicy mocks base method. +func (m *MockCSRFPolicyClient) ListCSRFPolicy(ctx context.Context, opts ...client.ListOption) (*v2.CSRFPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListCSRFPolicy", varargs...) + ret0, _ := ret[0].(*v2.CSRFPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListCSRFPolicy indicates an expected call of ListCSRFPolicy. +func (mr *MockCSRFPolicyClientMockRecorder) ListCSRFPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyClient)(nil).ListCSRFPolicy), varargs...) +} + +// PatchCSRFPolicy mocks base method. +func (m *MockCSRFPolicyClient) PatchCSRFPolicy(ctx context.Context, obj *v2.CSRFPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCSRFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCSRFPolicy indicates an expected call of PatchCSRFPolicy. +func (mr *MockCSRFPolicyClientMockRecorder) PatchCSRFPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyClient)(nil).PatchCSRFPolicy), varargs...) +} + +// PatchCSRFPolicyStatus mocks base method. +func (m *MockCSRFPolicyClient) PatchCSRFPolicyStatus(ctx context.Context, obj *v2.CSRFPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchCSRFPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchCSRFPolicyStatus indicates an expected call of PatchCSRFPolicyStatus. +func (mr *MockCSRFPolicyClientMockRecorder) PatchCSRFPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchCSRFPolicyStatus", reflect.TypeOf((*MockCSRFPolicyClient)(nil).PatchCSRFPolicyStatus), varargs...) +} + +// UpdateCSRFPolicy mocks base method. +func (m *MockCSRFPolicyClient) UpdateCSRFPolicy(ctx context.Context, obj *v2.CSRFPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCSRFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCSRFPolicy indicates an expected call of UpdateCSRFPolicy. +func (mr *MockCSRFPolicyClientMockRecorder) UpdateCSRFPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyClient)(nil).UpdateCSRFPolicy), varargs...) +} + +// UpdateCSRFPolicyStatus mocks base method. +func (m *MockCSRFPolicyClient) UpdateCSRFPolicyStatus(ctx context.Context, obj *v2.CSRFPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateCSRFPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateCSRFPolicyStatus indicates an expected call of UpdateCSRFPolicyStatus. +func (mr *MockCSRFPolicyClientMockRecorder) UpdateCSRFPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateCSRFPolicyStatus", reflect.TypeOf((*MockCSRFPolicyClient)(nil).UpdateCSRFPolicyStatus), varargs...) +} + +// UpsertCSRFPolicy mocks base method. +func (m *MockCSRFPolicyClient) UpsertCSRFPolicy(ctx context.Context, obj *v2.CSRFPolicy, transitionFuncs ...v2.CSRFPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertCSRFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertCSRFPolicy indicates an expected call of UpsertCSRFPolicy. +func (mr *MockCSRFPolicyClientMockRecorder) UpsertCSRFPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertCSRFPolicy", reflect.TypeOf((*MockCSRFPolicyClient)(nil).UpsertCSRFPolicy), varargs...) +} + +// MockMulticlusterCSRFPolicyClient is a mock of MulticlusterCSRFPolicyClient interface. +type MockMulticlusterCSRFPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterCSRFPolicyClientMockRecorder +} + +// MockMulticlusterCSRFPolicyClientMockRecorder is the mock recorder for MockMulticlusterCSRFPolicyClient. +type MockMulticlusterCSRFPolicyClientMockRecorder struct { + mock *MockMulticlusterCSRFPolicyClient +} + +// NewMockMulticlusterCSRFPolicyClient creates a new mock instance. +func NewMockMulticlusterCSRFPolicyClient(ctrl *gomock.Controller) *MockMulticlusterCSRFPolicyClient { + mock := &MockMulticlusterCSRFPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterCSRFPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterCSRFPolicyClient) EXPECT() *MockMulticlusterCSRFPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterCSRFPolicyClient) Cluster(cluster string) (v2.CSRFPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.CSRFPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterCSRFPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterCSRFPolicyClient)(nil).Cluster), cluster) +} + +// MockExtAuthPolicyReader is a mock of ExtAuthPolicyReader interface. +type MockExtAuthPolicyReader struct { + ctrl *gomock.Controller + recorder *MockExtAuthPolicyReaderMockRecorder +} + +// MockExtAuthPolicyReaderMockRecorder is the mock recorder for MockExtAuthPolicyReader. +type MockExtAuthPolicyReaderMockRecorder struct { + mock *MockExtAuthPolicyReader +} + +// NewMockExtAuthPolicyReader creates a new mock instance. +func NewMockExtAuthPolicyReader(ctrl *gomock.Controller) *MockExtAuthPolicyReader { + mock := &MockExtAuthPolicyReader{ctrl: ctrl} + mock.recorder = &MockExtAuthPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthPolicyReader) EXPECT() *MockExtAuthPolicyReaderMockRecorder { + return m.recorder +} + +// GetExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyReader) GetExtAuthPolicy(ctx context.Context, key client.ObjectKey) (*v2.ExtAuthPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetExtAuthPolicy", ctx, key) + ret0, _ := ret[0].(*v2.ExtAuthPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetExtAuthPolicy indicates an expected call of GetExtAuthPolicy. +func (mr *MockExtAuthPolicyReaderMockRecorder) GetExtAuthPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyReader)(nil).GetExtAuthPolicy), ctx, key) +} + +// ListExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyReader) ListExtAuthPolicy(ctx context.Context, opts ...client.ListOption) (*v2.ExtAuthPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListExtAuthPolicy", varargs...) + ret0, _ := ret[0].(*v2.ExtAuthPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListExtAuthPolicy indicates an expected call of ListExtAuthPolicy. +func (mr *MockExtAuthPolicyReaderMockRecorder) ListExtAuthPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyReader)(nil).ListExtAuthPolicy), varargs...) +} + +// MockExtAuthPolicyWriter is a mock of ExtAuthPolicyWriter interface. +type MockExtAuthPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockExtAuthPolicyWriterMockRecorder +} + +// MockExtAuthPolicyWriterMockRecorder is the mock recorder for MockExtAuthPolicyWriter. +type MockExtAuthPolicyWriterMockRecorder struct { + mock *MockExtAuthPolicyWriter +} + +// NewMockExtAuthPolicyWriter creates a new mock instance. +func NewMockExtAuthPolicyWriter(ctrl *gomock.Controller) *MockExtAuthPolicyWriter { + mock := &MockExtAuthPolicyWriter{ctrl: ctrl} + mock.recorder = &MockExtAuthPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthPolicyWriter) EXPECT() *MockExtAuthPolicyWriterMockRecorder { + return m.recorder +} + +// CreateExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyWriter) CreateExtAuthPolicy(ctx context.Context, obj *v2.ExtAuthPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateExtAuthPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExtAuthPolicy indicates an expected call of CreateExtAuthPolicy. +func (mr *MockExtAuthPolicyWriterMockRecorder) CreateExtAuthPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyWriter)(nil).CreateExtAuthPolicy), varargs...) +} + +// DeleteAllOfExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyWriter) DeleteAllOfExtAuthPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfExtAuthPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfExtAuthPolicy indicates an expected call of DeleteAllOfExtAuthPolicy. +func (mr *MockExtAuthPolicyWriterMockRecorder) DeleteAllOfExtAuthPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyWriter)(nil).DeleteAllOfExtAuthPolicy), varargs...) +} + +// DeleteExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyWriter) DeleteExtAuthPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteExtAuthPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExtAuthPolicy indicates an expected call of DeleteExtAuthPolicy. +func (mr *MockExtAuthPolicyWriterMockRecorder) DeleteExtAuthPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyWriter)(nil).DeleteExtAuthPolicy), varargs...) +} + +// PatchExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyWriter) PatchExtAuthPolicy(ctx context.Context, obj *v2.ExtAuthPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExtAuthPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExtAuthPolicy indicates an expected call of PatchExtAuthPolicy. +func (mr *MockExtAuthPolicyWriterMockRecorder) PatchExtAuthPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyWriter)(nil).PatchExtAuthPolicy), varargs...) +} + +// UpdateExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyWriter) UpdateExtAuthPolicy(ctx context.Context, obj *v2.ExtAuthPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExtAuthPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExtAuthPolicy indicates an expected call of UpdateExtAuthPolicy. +func (mr *MockExtAuthPolicyWriterMockRecorder) UpdateExtAuthPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyWriter)(nil).UpdateExtAuthPolicy), varargs...) +} + +// UpsertExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyWriter) UpsertExtAuthPolicy(ctx context.Context, obj *v2.ExtAuthPolicy, transitionFuncs ...v2.ExtAuthPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertExtAuthPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertExtAuthPolicy indicates an expected call of UpsertExtAuthPolicy. +func (mr *MockExtAuthPolicyWriterMockRecorder) UpsertExtAuthPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyWriter)(nil).UpsertExtAuthPolicy), varargs...) +} + +// MockExtAuthPolicyStatusWriter is a mock of ExtAuthPolicyStatusWriter interface. +type MockExtAuthPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockExtAuthPolicyStatusWriterMockRecorder +} + +// MockExtAuthPolicyStatusWriterMockRecorder is the mock recorder for MockExtAuthPolicyStatusWriter. +type MockExtAuthPolicyStatusWriterMockRecorder struct { + mock *MockExtAuthPolicyStatusWriter +} + +// NewMockExtAuthPolicyStatusWriter creates a new mock instance. +func NewMockExtAuthPolicyStatusWriter(ctrl *gomock.Controller) *MockExtAuthPolicyStatusWriter { + mock := &MockExtAuthPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockExtAuthPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthPolicyStatusWriter) EXPECT() *MockExtAuthPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchExtAuthPolicyStatus mocks base method. +func (m *MockExtAuthPolicyStatusWriter) PatchExtAuthPolicyStatus(ctx context.Context, obj *v2.ExtAuthPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExtAuthPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExtAuthPolicyStatus indicates an expected call of PatchExtAuthPolicyStatus. +func (mr *MockExtAuthPolicyStatusWriterMockRecorder) PatchExtAuthPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExtAuthPolicyStatus", reflect.TypeOf((*MockExtAuthPolicyStatusWriter)(nil).PatchExtAuthPolicyStatus), varargs...) +} + +// UpdateExtAuthPolicyStatus mocks base method. +func (m *MockExtAuthPolicyStatusWriter) UpdateExtAuthPolicyStatus(ctx context.Context, obj *v2.ExtAuthPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExtAuthPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExtAuthPolicyStatus indicates an expected call of UpdateExtAuthPolicyStatus. +func (mr *MockExtAuthPolicyStatusWriterMockRecorder) UpdateExtAuthPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExtAuthPolicyStatus", reflect.TypeOf((*MockExtAuthPolicyStatusWriter)(nil).UpdateExtAuthPolicyStatus), varargs...) +} + +// MockExtAuthPolicyClient is a mock of ExtAuthPolicyClient interface. +type MockExtAuthPolicyClient struct { + ctrl *gomock.Controller + recorder *MockExtAuthPolicyClientMockRecorder +} + +// MockExtAuthPolicyClientMockRecorder is the mock recorder for MockExtAuthPolicyClient. +type MockExtAuthPolicyClientMockRecorder struct { + mock *MockExtAuthPolicyClient +} + +// NewMockExtAuthPolicyClient creates a new mock instance. +func NewMockExtAuthPolicyClient(ctrl *gomock.Controller) *MockExtAuthPolicyClient { + mock := &MockExtAuthPolicyClient{ctrl: ctrl} + mock.recorder = &MockExtAuthPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthPolicyClient) EXPECT() *MockExtAuthPolicyClientMockRecorder { + return m.recorder +} + +// CreateExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyClient) CreateExtAuthPolicy(ctx context.Context, obj *v2.ExtAuthPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateExtAuthPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateExtAuthPolicy indicates an expected call of CreateExtAuthPolicy. +func (mr *MockExtAuthPolicyClientMockRecorder) CreateExtAuthPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyClient)(nil).CreateExtAuthPolicy), varargs...) +} + +// DeleteAllOfExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyClient) DeleteAllOfExtAuthPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfExtAuthPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfExtAuthPolicy indicates an expected call of DeleteAllOfExtAuthPolicy. +func (mr *MockExtAuthPolicyClientMockRecorder) DeleteAllOfExtAuthPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyClient)(nil).DeleteAllOfExtAuthPolicy), varargs...) +} + +// DeleteExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyClient) DeleteExtAuthPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteExtAuthPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteExtAuthPolicy indicates an expected call of DeleteExtAuthPolicy. +func (mr *MockExtAuthPolicyClientMockRecorder) DeleteExtAuthPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyClient)(nil).DeleteExtAuthPolicy), varargs...) +} + +// GetExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyClient) GetExtAuthPolicy(ctx context.Context, key client.ObjectKey) (*v2.ExtAuthPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetExtAuthPolicy", ctx, key) + ret0, _ := ret[0].(*v2.ExtAuthPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetExtAuthPolicy indicates an expected call of GetExtAuthPolicy. +func (mr *MockExtAuthPolicyClientMockRecorder) GetExtAuthPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyClient)(nil).GetExtAuthPolicy), ctx, key) +} + +// ListExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyClient) ListExtAuthPolicy(ctx context.Context, opts ...client.ListOption) (*v2.ExtAuthPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListExtAuthPolicy", varargs...) + ret0, _ := ret[0].(*v2.ExtAuthPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListExtAuthPolicy indicates an expected call of ListExtAuthPolicy. +func (mr *MockExtAuthPolicyClientMockRecorder) ListExtAuthPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyClient)(nil).ListExtAuthPolicy), varargs...) +} + +// PatchExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyClient) PatchExtAuthPolicy(ctx context.Context, obj *v2.ExtAuthPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExtAuthPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExtAuthPolicy indicates an expected call of PatchExtAuthPolicy. +func (mr *MockExtAuthPolicyClientMockRecorder) PatchExtAuthPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyClient)(nil).PatchExtAuthPolicy), varargs...) +} + +// PatchExtAuthPolicyStatus mocks base method. +func (m *MockExtAuthPolicyClient) PatchExtAuthPolicyStatus(ctx context.Context, obj *v2.ExtAuthPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchExtAuthPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchExtAuthPolicyStatus indicates an expected call of PatchExtAuthPolicyStatus. +func (mr *MockExtAuthPolicyClientMockRecorder) PatchExtAuthPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchExtAuthPolicyStatus", reflect.TypeOf((*MockExtAuthPolicyClient)(nil).PatchExtAuthPolicyStatus), varargs...) +} + +// UpdateExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyClient) UpdateExtAuthPolicy(ctx context.Context, obj *v2.ExtAuthPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExtAuthPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExtAuthPolicy indicates an expected call of UpdateExtAuthPolicy. +func (mr *MockExtAuthPolicyClientMockRecorder) UpdateExtAuthPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyClient)(nil).UpdateExtAuthPolicy), varargs...) +} + +// UpdateExtAuthPolicyStatus mocks base method. +func (m *MockExtAuthPolicyClient) UpdateExtAuthPolicyStatus(ctx context.Context, obj *v2.ExtAuthPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateExtAuthPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateExtAuthPolicyStatus indicates an expected call of UpdateExtAuthPolicyStatus. +func (mr *MockExtAuthPolicyClientMockRecorder) UpdateExtAuthPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExtAuthPolicyStatus", reflect.TypeOf((*MockExtAuthPolicyClient)(nil).UpdateExtAuthPolicyStatus), varargs...) +} + +// UpsertExtAuthPolicy mocks base method. +func (m *MockExtAuthPolicyClient) UpsertExtAuthPolicy(ctx context.Context, obj *v2.ExtAuthPolicy, transitionFuncs ...v2.ExtAuthPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertExtAuthPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertExtAuthPolicy indicates an expected call of UpsertExtAuthPolicy. +func (mr *MockExtAuthPolicyClientMockRecorder) UpsertExtAuthPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertExtAuthPolicy", reflect.TypeOf((*MockExtAuthPolicyClient)(nil).UpsertExtAuthPolicy), varargs...) +} + +// MockMulticlusterExtAuthPolicyClient is a mock of MulticlusterExtAuthPolicyClient interface. +type MockMulticlusterExtAuthPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterExtAuthPolicyClientMockRecorder +} + +// MockMulticlusterExtAuthPolicyClientMockRecorder is the mock recorder for MockMulticlusterExtAuthPolicyClient. +type MockMulticlusterExtAuthPolicyClientMockRecorder struct { + mock *MockMulticlusterExtAuthPolicyClient +} + +// NewMockMulticlusterExtAuthPolicyClient creates a new mock instance. +func NewMockMulticlusterExtAuthPolicyClient(ctrl *gomock.Controller) *MockMulticlusterExtAuthPolicyClient { + mock := &MockMulticlusterExtAuthPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterExtAuthPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterExtAuthPolicyClient) EXPECT() *MockMulticlusterExtAuthPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterExtAuthPolicyClient) Cluster(cluster string) (v2.ExtAuthPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.ExtAuthPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterExtAuthPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterExtAuthPolicyClient)(nil).Cluster), cluster) +} + +// MockWAFPolicyReader is a mock of WAFPolicyReader interface. +type MockWAFPolicyReader struct { + ctrl *gomock.Controller + recorder *MockWAFPolicyReaderMockRecorder +} + +// MockWAFPolicyReaderMockRecorder is the mock recorder for MockWAFPolicyReader. +type MockWAFPolicyReaderMockRecorder struct { + mock *MockWAFPolicyReader +} + +// NewMockWAFPolicyReader creates a new mock instance. +func NewMockWAFPolicyReader(ctrl *gomock.Controller) *MockWAFPolicyReader { + mock := &MockWAFPolicyReader{ctrl: ctrl} + mock.recorder = &MockWAFPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWAFPolicyReader) EXPECT() *MockWAFPolicyReaderMockRecorder { + return m.recorder +} + +// GetWAFPolicy mocks base method. +func (m *MockWAFPolicyReader) GetWAFPolicy(ctx context.Context, key client.ObjectKey) (*v2.WAFPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWAFPolicy", ctx, key) + ret0, _ := ret[0].(*v2.WAFPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWAFPolicy indicates an expected call of GetWAFPolicy. +func (mr *MockWAFPolicyReaderMockRecorder) GetWAFPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWAFPolicy", reflect.TypeOf((*MockWAFPolicyReader)(nil).GetWAFPolicy), ctx, key) +} + +// ListWAFPolicy mocks base method. +func (m *MockWAFPolicyReader) ListWAFPolicy(ctx context.Context, opts ...client.ListOption) (*v2.WAFPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWAFPolicy", varargs...) + ret0, _ := ret[0].(*v2.WAFPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWAFPolicy indicates an expected call of ListWAFPolicy. +func (mr *MockWAFPolicyReaderMockRecorder) ListWAFPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWAFPolicy", reflect.TypeOf((*MockWAFPolicyReader)(nil).ListWAFPolicy), varargs...) +} + +// MockWAFPolicyWriter is a mock of WAFPolicyWriter interface. +type MockWAFPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockWAFPolicyWriterMockRecorder +} + +// MockWAFPolicyWriterMockRecorder is the mock recorder for MockWAFPolicyWriter. +type MockWAFPolicyWriterMockRecorder struct { + mock *MockWAFPolicyWriter +} + +// NewMockWAFPolicyWriter creates a new mock instance. +func NewMockWAFPolicyWriter(ctrl *gomock.Controller) *MockWAFPolicyWriter { + mock := &MockWAFPolicyWriter{ctrl: ctrl} + mock.recorder = &MockWAFPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWAFPolicyWriter) EXPECT() *MockWAFPolicyWriterMockRecorder { + return m.recorder +} + +// CreateWAFPolicy mocks base method. +func (m *MockWAFPolicyWriter) CreateWAFPolicy(ctx context.Context, obj *v2.WAFPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWAFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWAFPolicy indicates an expected call of CreateWAFPolicy. +func (mr *MockWAFPolicyWriterMockRecorder) CreateWAFPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWAFPolicy", reflect.TypeOf((*MockWAFPolicyWriter)(nil).CreateWAFPolicy), varargs...) +} + +// DeleteAllOfWAFPolicy mocks base method. +func (m *MockWAFPolicyWriter) DeleteAllOfWAFPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfWAFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfWAFPolicy indicates an expected call of DeleteAllOfWAFPolicy. +func (mr *MockWAFPolicyWriterMockRecorder) DeleteAllOfWAFPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfWAFPolicy", reflect.TypeOf((*MockWAFPolicyWriter)(nil).DeleteAllOfWAFPolicy), varargs...) +} + +// DeleteWAFPolicy mocks base method. +func (m *MockWAFPolicyWriter) DeleteWAFPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWAFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWAFPolicy indicates an expected call of DeleteWAFPolicy. +func (mr *MockWAFPolicyWriterMockRecorder) DeleteWAFPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWAFPolicy", reflect.TypeOf((*MockWAFPolicyWriter)(nil).DeleteWAFPolicy), varargs...) +} + +// PatchWAFPolicy mocks base method. +func (m *MockWAFPolicyWriter) PatchWAFPolicy(ctx context.Context, obj *v2.WAFPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWAFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWAFPolicy indicates an expected call of PatchWAFPolicy. +func (mr *MockWAFPolicyWriterMockRecorder) PatchWAFPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWAFPolicy", reflect.TypeOf((*MockWAFPolicyWriter)(nil).PatchWAFPolicy), varargs...) +} + +// UpdateWAFPolicy mocks base method. +func (m *MockWAFPolicyWriter) UpdateWAFPolicy(ctx context.Context, obj *v2.WAFPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWAFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWAFPolicy indicates an expected call of UpdateWAFPolicy. +func (mr *MockWAFPolicyWriterMockRecorder) UpdateWAFPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWAFPolicy", reflect.TypeOf((*MockWAFPolicyWriter)(nil).UpdateWAFPolicy), varargs...) +} + +// UpsertWAFPolicy mocks base method. +func (m *MockWAFPolicyWriter) UpsertWAFPolicy(ctx context.Context, obj *v2.WAFPolicy, transitionFuncs ...v2.WAFPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertWAFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertWAFPolicy indicates an expected call of UpsertWAFPolicy. +func (mr *MockWAFPolicyWriterMockRecorder) UpsertWAFPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertWAFPolicy", reflect.TypeOf((*MockWAFPolicyWriter)(nil).UpsertWAFPolicy), varargs...) +} + +// MockWAFPolicyStatusWriter is a mock of WAFPolicyStatusWriter interface. +type MockWAFPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockWAFPolicyStatusWriterMockRecorder +} + +// MockWAFPolicyStatusWriterMockRecorder is the mock recorder for MockWAFPolicyStatusWriter. +type MockWAFPolicyStatusWriterMockRecorder struct { + mock *MockWAFPolicyStatusWriter +} + +// NewMockWAFPolicyStatusWriter creates a new mock instance. +func NewMockWAFPolicyStatusWriter(ctrl *gomock.Controller) *MockWAFPolicyStatusWriter { + mock := &MockWAFPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockWAFPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWAFPolicyStatusWriter) EXPECT() *MockWAFPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchWAFPolicyStatus mocks base method. +func (m *MockWAFPolicyStatusWriter) PatchWAFPolicyStatus(ctx context.Context, obj *v2.WAFPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWAFPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWAFPolicyStatus indicates an expected call of PatchWAFPolicyStatus. +func (mr *MockWAFPolicyStatusWriterMockRecorder) PatchWAFPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWAFPolicyStatus", reflect.TypeOf((*MockWAFPolicyStatusWriter)(nil).PatchWAFPolicyStatus), varargs...) +} + +// UpdateWAFPolicyStatus mocks base method. +func (m *MockWAFPolicyStatusWriter) UpdateWAFPolicyStatus(ctx context.Context, obj *v2.WAFPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWAFPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWAFPolicyStatus indicates an expected call of UpdateWAFPolicyStatus. +func (mr *MockWAFPolicyStatusWriterMockRecorder) UpdateWAFPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWAFPolicyStatus", reflect.TypeOf((*MockWAFPolicyStatusWriter)(nil).UpdateWAFPolicyStatus), varargs...) +} + +// MockWAFPolicyClient is a mock of WAFPolicyClient interface. +type MockWAFPolicyClient struct { + ctrl *gomock.Controller + recorder *MockWAFPolicyClientMockRecorder +} + +// MockWAFPolicyClientMockRecorder is the mock recorder for MockWAFPolicyClient. +type MockWAFPolicyClientMockRecorder struct { + mock *MockWAFPolicyClient +} + +// NewMockWAFPolicyClient creates a new mock instance. +func NewMockWAFPolicyClient(ctrl *gomock.Controller) *MockWAFPolicyClient { + mock := &MockWAFPolicyClient{ctrl: ctrl} + mock.recorder = &MockWAFPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWAFPolicyClient) EXPECT() *MockWAFPolicyClientMockRecorder { + return m.recorder +} + +// CreateWAFPolicy mocks base method. +func (m *MockWAFPolicyClient) CreateWAFPolicy(ctx context.Context, obj *v2.WAFPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWAFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateWAFPolicy indicates an expected call of CreateWAFPolicy. +func (mr *MockWAFPolicyClientMockRecorder) CreateWAFPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWAFPolicy", reflect.TypeOf((*MockWAFPolicyClient)(nil).CreateWAFPolicy), varargs...) +} + +// DeleteAllOfWAFPolicy mocks base method. +func (m *MockWAFPolicyClient) DeleteAllOfWAFPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfWAFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfWAFPolicy indicates an expected call of DeleteAllOfWAFPolicy. +func (mr *MockWAFPolicyClientMockRecorder) DeleteAllOfWAFPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfWAFPolicy", reflect.TypeOf((*MockWAFPolicyClient)(nil).DeleteAllOfWAFPolicy), varargs...) +} + +// DeleteWAFPolicy mocks base method. +func (m *MockWAFPolicyClient) DeleteWAFPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWAFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteWAFPolicy indicates an expected call of DeleteWAFPolicy. +func (mr *MockWAFPolicyClientMockRecorder) DeleteWAFPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWAFPolicy", reflect.TypeOf((*MockWAFPolicyClient)(nil).DeleteWAFPolicy), varargs...) +} + +// GetWAFPolicy mocks base method. +func (m *MockWAFPolicyClient) GetWAFPolicy(ctx context.Context, key client.ObjectKey) (*v2.WAFPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWAFPolicy", ctx, key) + ret0, _ := ret[0].(*v2.WAFPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWAFPolicy indicates an expected call of GetWAFPolicy. +func (mr *MockWAFPolicyClientMockRecorder) GetWAFPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWAFPolicy", reflect.TypeOf((*MockWAFPolicyClient)(nil).GetWAFPolicy), ctx, key) +} + +// ListWAFPolicy mocks base method. +func (m *MockWAFPolicyClient) ListWAFPolicy(ctx context.Context, opts ...client.ListOption) (*v2.WAFPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWAFPolicy", varargs...) + ret0, _ := ret[0].(*v2.WAFPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWAFPolicy indicates an expected call of ListWAFPolicy. +func (mr *MockWAFPolicyClientMockRecorder) ListWAFPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWAFPolicy", reflect.TypeOf((*MockWAFPolicyClient)(nil).ListWAFPolicy), varargs...) +} + +// PatchWAFPolicy mocks base method. +func (m *MockWAFPolicyClient) PatchWAFPolicy(ctx context.Context, obj *v2.WAFPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWAFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWAFPolicy indicates an expected call of PatchWAFPolicy. +func (mr *MockWAFPolicyClientMockRecorder) PatchWAFPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWAFPolicy", reflect.TypeOf((*MockWAFPolicyClient)(nil).PatchWAFPolicy), varargs...) +} + +// PatchWAFPolicyStatus mocks base method. +func (m *MockWAFPolicyClient) PatchWAFPolicyStatus(ctx context.Context, obj *v2.WAFPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchWAFPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchWAFPolicyStatus indicates an expected call of PatchWAFPolicyStatus. +func (mr *MockWAFPolicyClientMockRecorder) PatchWAFPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchWAFPolicyStatus", reflect.TypeOf((*MockWAFPolicyClient)(nil).PatchWAFPolicyStatus), varargs...) +} + +// UpdateWAFPolicy mocks base method. +func (m *MockWAFPolicyClient) UpdateWAFPolicy(ctx context.Context, obj *v2.WAFPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWAFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWAFPolicy indicates an expected call of UpdateWAFPolicy. +func (mr *MockWAFPolicyClientMockRecorder) UpdateWAFPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWAFPolicy", reflect.TypeOf((*MockWAFPolicyClient)(nil).UpdateWAFPolicy), varargs...) +} + +// UpdateWAFPolicyStatus mocks base method. +func (m *MockWAFPolicyClient) UpdateWAFPolicyStatus(ctx context.Context, obj *v2.WAFPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWAFPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateWAFPolicyStatus indicates an expected call of UpdateWAFPolicyStatus. +func (mr *MockWAFPolicyClientMockRecorder) UpdateWAFPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWAFPolicyStatus", reflect.TypeOf((*MockWAFPolicyClient)(nil).UpdateWAFPolicyStatus), varargs...) +} + +// UpsertWAFPolicy mocks base method. +func (m *MockWAFPolicyClient) UpsertWAFPolicy(ctx context.Context, obj *v2.WAFPolicy, transitionFuncs ...v2.WAFPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertWAFPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertWAFPolicy indicates an expected call of UpsertWAFPolicy. +func (mr *MockWAFPolicyClientMockRecorder) UpsertWAFPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertWAFPolicy", reflect.TypeOf((*MockWAFPolicyClient)(nil).UpsertWAFPolicy), varargs...) +} + +// MockMulticlusterWAFPolicyClient is a mock of MulticlusterWAFPolicyClient interface. +type MockMulticlusterWAFPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterWAFPolicyClientMockRecorder +} + +// MockMulticlusterWAFPolicyClientMockRecorder is the mock recorder for MockMulticlusterWAFPolicyClient. +type MockMulticlusterWAFPolicyClientMockRecorder struct { + mock *MockMulticlusterWAFPolicyClient +} + +// NewMockMulticlusterWAFPolicyClient creates a new mock instance. +func NewMockMulticlusterWAFPolicyClient(ctrl *gomock.Controller) *MockMulticlusterWAFPolicyClient { + mock := &MockMulticlusterWAFPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterWAFPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterWAFPolicyClient) EXPECT() *MockMulticlusterWAFPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterWAFPolicyClient) Cluster(cluster string) (v2.WAFPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.WAFPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterWAFPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterWAFPolicyClient)(nil).Cluster), cluster) +} + +// MockJWTPolicyReader is a mock of JWTPolicyReader interface. +type MockJWTPolicyReader struct { + ctrl *gomock.Controller + recorder *MockJWTPolicyReaderMockRecorder +} + +// MockJWTPolicyReaderMockRecorder is the mock recorder for MockJWTPolicyReader. +type MockJWTPolicyReaderMockRecorder struct { + mock *MockJWTPolicyReader +} + +// NewMockJWTPolicyReader creates a new mock instance. +func NewMockJWTPolicyReader(ctrl *gomock.Controller) *MockJWTPolicyReader { + mock := &MockJWTPolicyReader{ctrl: ctrl} + mock.recorder = &MockJWTPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockJWTPolicyReader) EXPECT() *MockJWTPolicyReaderMockRecorder { + return m.recorder +} + +// GetJWTPolicy mocks base method. +func (m *MockJWTPolicyReader) GetJWTPolicy(ctx context.Context, key client.ObjectKey) (*v2.JWTPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetJWTPolicy", ctx, key) + ret0, _ := ret[0].(*v2.JWTPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetJWTPolicy indicates an expected call of GetJWTPolicy. +func (mr *MockJWTPolicyReaderMockRecorder) GetJWTPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetJWTPolicy", reflect.TypeOf((*MockJWTPolicyReader)(nil).GetJWTPolicy), ctx, key) +} + +// ListJWTPolicy mocks base method. +func (m *MockJWTPolicyReader) ListJWTPolicy(ctx context.Context, opts ...client.ListOption) (*v2.JWTPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListJWTPolicy", varargs...) + ret0, _ := ret[0].(*v2.JWTPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListJWTPolicy indicates an expected call of ListJWTPolicy. +func (mr *MockJWTPolicyReaderMockRecorder) ListJWTPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListJWTPolicy", reflect.TypeOf((*MockJWTPolicyReader)(nil).ListJWTPolicy), varargs...) +} + +// MockJWTPolicyWriter is a mock of JWTPolicyWriter interface. +type MockJWTPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockJWTPolicyWriterMockRecorder +} + +// MockJWTPolicyWriterMockRecorder is the mock recorder for MockJWTPolicyWriter. +type MockJWTPolicyWriterMockRecorder struct { + mock *MockJWTPolicyWriter +} + +// NewMockJWTPolicyWriter creates a new mock instance. +func NewMockJWTPolicyWriter(ctrl *gomock.Controller) *MockJWTPolicyWriter { + mock := &MockJWTPolicyWriter{ctrl: ctrl} + mock.recorder = &MockJWTPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockJWTPolicyWriter) EXPECT() *MockJWTPolicyWriterMockRecorder { + return m.recorder +} + +// CreateJWTPolicy mocks base method. +func (m *MockJWTPolicyWriter) CreateJWTPolicy(ctx context.Context, obj *v2.JWTPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateJWTPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateJWTPolicy indicates an expected call of CreateJWTPolicy. +func (mr *MockJWTPolicyWriterMockRecorder) CreateJWTPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateJWTPolicy", reflect.TypeOf((*MockJWTPolicyWriter)(nil).CreateJWTPolicy), varargs...) +} + +// DeleteAllOfJWTPolicy mocks base method. +func (m *MockJWTPolicyWriter) DeleteAllOfJWTPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfJWTPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfJWTPolicy indicates an expected call of DeleteAllOfJWTPolicy. +func (mr *MockJWTPolicyWriterMockRecorder) DeleteAllOfJWTPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfJWTPolicy", reflect.TypeOf((*MockJWTPolicyWriter)(nil).DeleteAllOfJWTPolicy), varargs...) +} + +// DeleteJWTPolicy mocks base method. +func (m *MockJWTPolicyWriter) DeleteJWTPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteJWTPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteJWTPolicy indicates an expected call of DeleteJWTPolicy. +func (mr *MockJWTPolicyWriterMockRecorder) DeleteJWTPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteJWTPolicy", reflect.TypeOf((*MockJWTPolicyWriter)(nil).DeleteJWTPolicy), varargs...) +} + +// PatchJWTPolicy mocks base method. +func (m *MockJWTPolicyWriter) PatchJWTPolicy(ctx context.Context, obj *v2.JWTPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchJWTPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchJWTPolicy indicates an expected call of PatchJWTPolicy. +func (mr *MockJWTPolicyWriterMockRecorder) PatchJWTPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchJWTPolicy", reflect.TypeOf((*MockJWTPolicyWriter)(nil).PatchJWTPolicy), varargs...) +} + +// UpdateJWTPolicy mocks base method. +func (m *MockJWTPolicyWriter) UpdateJWTPolicy(ctx context.Context, obj *v2.JWTPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateJWTPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateJWTPolicy indicates an expected call of UpdateJWTPolicy. +func (mr *MockJWTPolicyWriterMockRecorder) UpdateJWTPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateJWTPolicy", reflect.TypeOf((*MockJWTPolicyWriter)(nil).UpdateJWTPolicy), varargs...) +} + +// UpsertJWTPolicy mocks base method. +func (m *MockJWTPolicyWriter) UpsertJWTPolicy(ctx context.Context, obj *v2.JWTPolicy, transitionFuncs ...v2.JWTPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertJWTPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertJWTPolicy indicates an expected call of UpsertJWTPolicy. +func (mr *MockJWTPolicyWriterMockRecorder) UpsertJWTPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertJWTPolicy", reflect.TypeOf((*MockJWTPolicyWriter)(nil).UpsertJWTPolicy), varargs...) +} + +// MockJWTPolicyStatusWriter is a mock of JWTPolicyStatusWriter interface. +type MockJWTPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockJWTPolicyStatusWriterMockRecorder +} + +// MockJWTPolicyStatusWriterMockRecorder is the mock recorder for MockJWTPolicyStatusWriter. +type MockJWTPolicyStatusWriterMockRecorder struct { + mock *MockJWTPolicyStatusWriter +} + +// NewMockJWTPolicyStatusWriter creates a new mock instance. +func NewMockJWTPolicyStatusWriter(ctrl *gomock.Controller) *MockJWTPolicyStatusWriter { + mock := &MockJWTPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockJWTPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockJWTPolicyStatusWriter) EXPECT() *MockJWTPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchJWTPolicyStatus mocks base method. +func (m *MockJWTPolicyStatusWriter) PatchJWTPolicyStatus(ctx context.Context, obj *v2.JWTPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchJWTPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchJWTPolicyStatus indicates an expected call of PatchJWTPolicyStatus. +func (mr *MockJWTPolicyStatusWriterMockRecorder) PatchJWTPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchJWTPolicyStatus", reflect.TypeOf((*MockJWTPolicyStatusWriter)(nil).PatchJWTPolicyStatus), varargs...) +} + +// UpdateJWTPolicyStatus mocks base method. +func (m *MockJWTPolicyStatusWriter) UpdateJWTPolicyStatus(ctx context.Context, obj *v2.JWTPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateJWTPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateJWTPolicyStatus indicates an expected call of UpdateJWTPolicyStatus. +func (mr *MockJWTPolicyStatusWriterMockRecorder) UpdateJWTPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateJWTPolicyStatus", reflect.TypeOf((*MockJWTPolicyStatusWriter)(nil).UpdateJWTPolicyStatus), varargs...) +} + +// MockJWTPolicyClient is a mock of JWTPolicyClient interface. +type MockJWTPolicyClient struct { + ctrl *gomock.Controller + recorder *MockJWTPolicyClientMockRecorder +} + +// MockJWTPolicyClientMockRecorder is the mock recorder for MockJWTPolicyClient. +type MockJWTPolicyClientMockRecorder struct { + mock *MockJWTPolicyClient +} + +// NewMockJWTPolicyClient creates a new mock instance. +func NewMockJWTPolicyClient(ctrl *gomock.Controller) *MockJWTPolicyClient { + mock := &MockJWTPolicyClient{ctrl: ctrl} + mock.recorder = &MockJWTPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockJWTPolicyClient) EXPECT() *MockJWTPolicyClientMockRecorder { + return m.recorder +} + +// CreateJWTPolicy mocks base method. +func (m *MockJWTPolicyClient) CreateJWTPolicy(ctx context.Context, obj *v2.JWTPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateJWTPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateJWTPolicy indicates an expected call of CreateJWTPolicy. +func (mr *MockJWTPolicyClientMockRecorder) CreateJWTPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateJWTPolicy", reflect.TypeOf((*MockJWTPolicyClient)(nil).CreateJWTPolicy), varargs...) +} + +// DeleteAllOfJWTPolicy mocks base method. +func (m *MockJWTPolicyClient) DeleteAllOfJWTPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfJWTPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfJWTPolicy indicates an expected call of DeleteAllOfJWTPolicy. +func (mr *MockJWTPolicyClientMockRecorder) DeleteAllOfJWTPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfJWTPolicy", reflect.TypeOf((*MockJWTPolicyClient)(nil).DeleteAllOfJWTPolicy), varargs...) +} + +// DeleteJWTPolicy mocks base method. +func (m *MockJWTPolicyClient) DeleteJWTPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteJWTPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteJWTPolicy indicates an expected call of DeleteJWTPolicy. +func (mr *MockJWTPolicyClientMockRecorder) DeleteJWTPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteJWTPolicy", reflect.TypeOf((*MockJWTPolicyClient)(nil).DeleteJWTPolicy), varargs...) +} + +// GetJWTPolicy mocks base method. +func (m *MockJWTPolicyClient) GetJWTPolicy(ctx context.Context, key client.ObjectKey) (*v2.JWTPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetJWTPolicy", ctx, key) + ret0, _ := ret[0].(*v2.JWTPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetJWTPolicy indicates an expected call of GetJWTPolicy. +func (mr *MockJWTPolicyClientMockRecorder) GetJWTPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetJWTPolicy", reflect.TypeOf((*MockJWTPolicyClient)(nil).GetJWTPolicy), ctx, key) +} + +// ListJWTPolicy mocks base method. +func (m *MockJWTPolicyClient) ListJWTPolicy(ctx context.Context, opts ...client.ListOption) (*v2.JWTPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListJWTPolicy", varargs...) + ret0, _ := ret[0].(*v2.JWTPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListJWTPolicy indicates an expected call of ListJWTPolicy. +func (mr *MockJWTPolicyClientMockRecorder) ListJWTPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListJWTPolicy", reflect.TypeOf((*MockJWTPolicyClient)(nil).ListJWTPolicy), varargs...) +} + +// PatchJWTPolicy mocks base method. +func (m *MockJWTPolicyClient) PatchJWTPolicy(ctx context.Context, obj *v2.JWTPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchJWTPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchJWTPolicy indicates an expected call of PatchJWTPolicy. +func (mr *MockJWTPolicyClientMockRecorder) PatchJWTPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchJWTPolicy", reflect.TypeOf((*MockJWTPolicyClient)(nil).PatchJWTPolicy), varargs...) +} + +// PatchJWTPolicyStatus mocks base method. +func (m *MockJWTPolicyClient) PatchJWTPolicyStatus(ctx context.Context, obj *v2.JWTPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchJWTPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchJWTPolicyStatus indicates an expected call of PatchJWTPolicyStatus. +func (mr *MockJWTPolicyClientMockRecorder) PatchJWTPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchJWTPolicyStatus", reflect.TypeOf((*MockJWTPolicyClient)(nil).PatchJWTPolicyStatus), varargs...) +} + +// UpdateJWTPolicy mocks base method. +func (m *MockJWTPolicyClient) UpdateJWTPolicy(ctx context.Context, obj *v2.JWTPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateJWTPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateJWTPolicy indicates an expected call of UpdateJWTPolicy. +func (mr *MockJWTPolicyClientMockRecorder) UpdateJWTPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateJWTPolicy", reflect.TypeOf((*MockJWTPolicyClient)(nil).UpdateJWTPolicy), varargs...) +} + +// UpdateJWTPolicyStatus mocks base method. +func (m *MockJWTPolicyClient) UpdateJWTPolicyStatus(ctx context.Context, obj *v2.JWTPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateJWTPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateJWTPolicyStatus indicates an expected call of UpdateJWTPolicyStatus. +func (mr *MockJWTPolicyClientMockRecorder) UpdateJWTPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateJWTPolicyStatus", reflect.TypeOf((*MockJWTPolicyClient)(nil).UpdateJWTPolicyStatus), varargs...) +} + +// UpsertJWTPolicy mocks base method. +func (m *MockJWTPolicyClient) UpsertJWTPolicy(ctx context.Context, obj *v2.JWTPolicy, transitionFuncs ...v2.JWTPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertJWTPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertJWTPolicy indicates an expected call of UpsertJWTPolicy. +func (mr *MockJWTPolicyClientMockRecorder) UpsertJWTPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertJWTPolicy", reflect.TypeOf((*MockJWTPolicyClient)(nil).UpsertJWTPolicy), varargs...) +} + +// MockMulticlusterJWTPolicyClient is a mock of MulticlusterJWTPolicyClient interface. +type MockMulticlusterJWTPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterJWTPolicyClientMockRecorder +} + +// MockMulticlusterJWTPolicyClientMockRecorder is the mock recorder for MockMulticlusterJWTPolicyClient. +type MockMulticlusterJWTPolicyClientMockRecorder struct { + mock *MockMulticlusterJWTPolicyClient +} + +// NewMockMulticlusterJWTPolicyClient creates a new mock instance. +func NewMockMulticlusterJWTPolicyClient(ctrl *gomock.Controller) *MockMulticlusterJWTPolicyClient { + mock := &MockMulticlusterJWTPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterJWTPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterJWTPolicyClient) EXPECT() *MockMulticlusterJWTPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterJWTPolicyClient) Cluster(cluster string) (v2.JWTPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.JWTPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterJWTPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterJWTPolicyClient)(nil).Cluster), cluster) +} + +// MockClientTLSPolicyReader is a mock of ClientTLSPolicyReader interface. +type MockClientTLSPolicyReader struct { + ctrl *gomock.Controller + recorder *MockClientTLSPolicyReaderMockRecorder +} + +// MockClientTLSPolicyReaderMockRecorder is the mock recorder for MockClientTLSPolicyReader. +type MockClientTLSPolicyReaderMockRecorder struct { + mock *MockClientTLSPolicyReader +} + +// NewMockClientTLSPolicyReader creates a new mock instance. +func NewMockClientTLSPolicyReader(ctrl *gomock.Controller) *MockClientTLSPolicyReader { + mock := &MockClientTLSPolicyReader{ctrl: ctrl} + mock.recorder = &MockClientTLSPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientTLSPolicyReader) EXPECT() *MockClientTLSPolicyReaderMockRecorder { + return m.recorder +} + +// GetClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyReader) GetClientTLSPolicy(ctx context.Context, key client.ObjectKey) (*v2.ClientTLSPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetClientTLSPolicy", ctx, key) + ret0, _ := ret[0].(*v2.ClientTLSPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetClientTLSPolicy indicates an expected call of GetClientTLSPolicy. +func (mr *MockClientTLSPolicyReaderMockRecorder) GetClientTLSPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyReader)(nil).GetClientTLSPolicy), ctx, key) +} + +// ListClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyReader) ListClientTLSPolicy(ctx context.Context, opts ...client.ListOption) (*v2.ClientTLSPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListClientTLSPolicy", varargs...) + ret0, _ := ret[0].(*v2.ClientTLSPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListClientTLSPolicy indicates an expected call of ListClientTLSPolicy. +func (mr *MockClientTLSPolicyReaderMockRecorder) ListClientTLSPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyReader)(nil).ListClientTLSPolicy), varargs...) +} + +// MockClientTLSPolicyWriter is a mock of ClientTLSPolicyWriter interface. +type MockClientTLSPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockClientTLSPolicyWriterMockRecorder +} + +// MockClientTLSPolicyWriterMockRecorder is the mock recorder for MockClientTLSPolicyWriter. +type MockClientTLSPolicyWriterMockRecorder struct { + mock *MockClientTLSPolicyWriter +} + +// NewMockClientTLSPolicyWriter creates a new mock instance. +func NewMockClientTLSPolicyWriter(ctrl *gomock.Controller) *MockClientTLSPolicyWriter { + mock := &MockClientTLSPolicyWriter{ctrl: ctrl} + mock.recorder = &MockClientTLSPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientTLSPolicyWriter) EXPECT() *MockClientTLSPolicyWriterMockRecorder { + return m.recorder +} + +// CreateClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyWriter) CreateClientTLSPolicy(ctx context.Context, obj *v2.ClientTLSPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateClientTLSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateClientTLSPolicy indicates an expected call of CreateClientTLSPolicy. +func (mr *MockClientTLSPolicyWriterMockRecorder) CreateClientTLSPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyWriter)(nil).CreateClientTLSPolicy), varargs...) +} + +// DeleteAllOfClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyWriter) DeleteAllOfClientTLSPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfClientTLSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfClientTLSPolicy indicates an expected call of DeleteAllOfClientTLSPolicy. +func (mr *MockClientTLSPolicyWriterMockRecorder) DeleteAllOfClientTLSPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyWriter)(nil).DeleteAllOfClientTLSPolicy), varargs...) +} + +// DeleteClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyWriter) DeleteClientTLSPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteClientTLSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteClientTLSPolicy indicates an expected call of DeleteClientTLSPolicy. +func (mr *MockClientTLSPolicyWriterMockRecorder) DeleteClientTLSPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyWriter)(nil).DeleteClientTLSPolicy), varargs...) +} + +// PatchClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyWriter) PatchClientTLSPolicy(ctx context.Context, obj *v2.ClientTLSPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchClientTLSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchClientTLSPolicy indicates an expected call of PatchClientTLSPolicy. +func (mr *MockClientTLSPolicyWriterMockRecorder) PatchClientTLSPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyWriter)(nil).PatchClientTLSPolicy), varargs...) +} + +// UpdateClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyWriter) UpdateClientTLSPolicy(ctx context.Context, obj *v2.ClientTLSPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateClientTLSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateClientTLSPolicy indicates an expected call of UpdateClientTLSPolicy. +func (mr *MockClientTLSPolicyWriterMockRecorder) UpdateClientTLSPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyWriter)(nil).UpdateClientTLSPolicy), varargs...) +} + +// UpsertClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyWriter) UpsertClientTLSPolicy(ctx context.Context, obj *v2.ClientTLSPolicy, transitionFuncs ...v2.ClientTLSPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertClientTLSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertClientTLSPolicy indicates an expected call of UpsertClientTLSPolicy. +func (mr *MockClientTLSPolicyWriterMockRecorder) UpsertClientTLSPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyWriter)(nil).UpsertClientTLSPolicy), varargs...) +} + +// MockClientTLSPolicyStatusWriter is a mock of ClientTLSPolicyStatusWriter interface. +type MockClientTLSPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockClientTLSPolicyStatusWriterMockRecorder +} + +// MockClientTLSPolicyStatusWriterMockRecorder is the mock recorder for MockClientTLSPolicyStatusWriter. +type MockClientTLSPolicyStatusWriterMockRecorder struct { + mock *MockClientTLSPolicyStatusWriter +} + +// NewMockClientTLSPolicyStatusWriter creates a new mock instance. +func NewMockClientTLSPolicyStatusWriter(ctrl *gomock.Controller) *MockClientTLSPolicyStatusWriter { + mock := &MockClientTLSPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockClientTLSPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientTLSPolicyStatusWriter) EXPECT() *MockClientTLSPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchClientTLSPolicyStatus mocks base method. +func (m *MockClientTLSPolicyStatusWriter) PatchClientTLSPolicyStatus(ctx context.Context, obj *v2.ClientTLSPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchClientTLSPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchClientTLSPolicyStatus indicates an expected call of PatchClientTLSPolicyStatus. +func (mr *MockClientTLSPolicyStatusWriterMockRecorder) PatchClientTLSPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchClientTLSPolicyStatus", reflect.TypeOf((*MockClientTLSPolicyStatusWriter)(nil).PatchClientTLSPolicyStatus), varargs...) +} + +// UpdateClientTLSPolicyStatus mocks base method. +func (m *MockClientTLSPolicyStatusWriter) UpdateClientTLSPolicyStatus(ctx context.Context, obj *v2.ClientTLSPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateClientTLSPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateClientTLSPolicyStatus indicates an expected call of UpdateClientTLSPolicyStatus. +func (mr *MockClientTLSPolicyStatusWriterMockRecorder) UpdateClientTLSPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateClientTLSPolicyStatus", reflect.TypeOf((*MockClientTLSPolicyStatusWriter)(nil).UpdateClientTLSPolicyStatus), varargs...) +} + +// MockClientTLSPolicyClient is a mock of ClientTLSPolicyClient interface. +type MockClientTLSPolicyClient struct { + ctrl *gomock.Controller + recorder *MockClientTLSPolicyClientMockRecorder +} + +// MockClientTLSPolicyClientMockRecorder is the mock recorder for MockClientTLSPolicyClient. +type MockClientTLSPolicyClientMockRecorder struct { + mock *MockClientTLSPolicyClient +} + +// NewMockClientTLSPolicyClient creates a new mock instance. +func NewMockClientTLSPolicyClient(ctrl *gomock.Controller) *MockClientTLSPolicyClient { + mock := &MockClientTLSPolicyClient{ctrl: ctrl} + mock.recorder = &MockClientTLSPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientTLSPolicyClient) EXPECT() *MockClientTLSPolicyClientMockRecorder { + return m.recorder +} + +// CreateClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyClient) CreateClientTLSPolicy(ctx context.Context, obj *v2.ClientTLSPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateClientTLSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateClientTLSPolicy indicates an expected call of CreateClientTLSPolicy. +func (mr *MockClientTLSPolicyClientMockRecorder) CreateClientTLSPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyClient)(nil).CreateClientTLSPolicy), varargs...) +} + +// DeleteAllOfClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyClient) DeleteAllOfClientTLSPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfClientTLSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfClientTLSPolicy indicates an expected call of DeleteAllOfClientTLSPolicy. +func (mr *MockClientTLSPolicyClientMockRecorder) DeleteAllOfClientTLSPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyClient)(nil).DeleteAllOfClientTLSPolicy), varargs...) +} + +// DeleteClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyClient) DeleteClientTLSPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteClientTLSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteClientTLSPolicy indicates an expected call of DeleteClientTLSPolicy. +func (mr *MockClientTLSPolicyClientMockRecorder) DeleteClientTLSPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyClient)(nil).DeleteClientTLSPolicy), varargs...) +} + +// GetClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyClient) GetClientTLSPolicy(ctx context.Context, key client.ObjectKey) (*v2.ClientTLSPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetClientTLSPolicy", ctx, key) + ret0, _ := ret[0].(*v2.ClientTLSPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetClientTLSPolicy indicates an expected call of GetClientTLSPolicy. +func (mr *MockClientTLSPolicyClientMockRecorder) GetClientTLSPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyClient)(nil).GetClientTLSPolicy), ctx, key) +} + +// ListClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyClient) ListClientTLSPolicy(ctx context.Context, opts ...client.ListOption) (*v2.ClientTLSPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListClientTLSPolicy", varargs...) + ret0, _ := ret[0].(*v2.ClientTLSPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListClientTLSPolicy indicates an expected call of ListClientTLSPolicy. +func (mr *MockClientTLSPolicyClientMockRecorder) ListClientTLSPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyClient)(nil).ListClientTLSPolicy), varargs...) +} + +// PatchClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyClient) PatchClientTLSPolicy(ctx context.Context, obj *v2.ClientTLSPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchClientTLSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchClientTLSPolicy indicates an expected call of PatchClientTLSPolicy. +func (mr *MockClientTLSPolicyClientMockRecorder) PatchClientTLSPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyClient)(nil).PatchClientTLSPolicy), varargs...) +} + +// PatchClientTLSPolicyStatus mocks base method. +func (m *MockClientTLSPolicyClient) PatchClientTLSPolicyStatus(ctx context.Context, obj *v2.ClientTLSPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchClientTLSPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchClientTLSPolicyStatus indicates an expected call of PatchClientTLSPolicyStatus. +func (mr *MockClientTLSPolicyClientMockRecorder) PatchClientTLSPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchClientTLSPolicyStatus", reflect.TypeOf((*MockClientTLSPolicyClient)(nil).PatchClientTLSPolicyStatus), varargs...) +} + +// UpdateClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyClient) UpdateClientTLSPolicy(ctx context.Context, obj *v2.ClientTLSPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateClientTLSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateClientTLSPolicy indicates an expected call of UpdateClientTLSPolicy. +func (mr *MockClientTLSPolicyClientMockRecorder) UpdateClientTLSPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyClient)(nil).UpdateClientTLSPolicy), varargs...) +} + +// UpdateClientTLSPolicyStatus mocks base method. +func (m *MockClientTLSPolicyClient) UpdateClientTLSPolicyStatus(ctx context.Context, obj *v2.ClientTLSPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateClientTLSPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateClientTLSPolicyStatus indicates an expected call of UpdateClientTLSPolicyStatus. +func (mr *MockClientTLSPolicyClientMockRecorder) UpdateClientTLSPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateClientTLSPolicyStatus", reflect.TypeOf((*MockClientTLSPolicyClient)(nil).UpdateClientTLSPolicyStatus), varargs...) +} + +// UpsertClientTLSPolicy mocks base method. +func (m *MockClientTLSPolicyClient) UpsertClientTLSPolicy(ctx context.Context, obj *v2.ClientTLSPolicy, transitionFuncs ...v2.ClientTLSPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertClientTLSPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertClientTLSPolicy indicates an expected call of UpsertClientTLSPolicy. +func (mr *MockClientTLSPolicyClientMockRecorder) UpsertClientTLSPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertClientTLSPolicy", reflect.TypeOf((*MockClientTLSPolicyClient)(nil).UpsertClientTLSPolicy), varargs...) +} + +// MockMulticlusterClientTLSPolicyClient is a mock of MulticlusterClientTLSPolicyClient interface. +type MockMulticlusterClientTLSPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientTLSPolicyClientMockRecorder +} + +// MockMulticlusterClientTLSPolicyClientMockRecorder is the mock recorder for MockMulticlusterClientTLSPolicyClient. +type MockMulticlusterClientTLSPolicyClientMockRecorder struct { + mock *MockMulticlusterClientTLSPolicyClient +} + +// NewMockMulticlusterClientTLSPolicyClient creates a new mock instance. +func NewMockMulticlusterClientTLSPolicyClient(ctrl *gomock.Controller) *MockMulticlusterClientTLSPolicyClient { + mock := &MockMulticlusterClientTLSPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientTLSPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientTLSPolicyClient) EXPECT() *MockMulticlusterClientTLSPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientTLSPolicyClient) Cluster(cluster string) (v2.ClientTLSPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.ClientTLSPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientTLSPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientTLSPolicyClient)(nil).Cluster), cluster) +} + +// MockGraphQLAllowedQueryPolicyReader is a mock of GraphQLAllowedQueryPolicyReader interface. +type MockGraphQLAllowedQueryPolicyReader struct { + ctrl *gomock.Controller + recorder *MockGraphQLAllowedQueryPolicyReaderMockRecorder +} + +// MockGraphQLAllowedQueryPolicyReaderMockRecorder is the mock recorder for MockGraphQLAllowedQueryPolicyReader. +type MockGraphQLAllowedQueryPolicyReaderMockRecorder struct { + mock *MockGraphQLAllowedQueryPolicyReader +} + +// NewMockGraphQLAllowedQueryPolicyReader creates a new mock instance. +func NewMockGraphQLAllowedQueryPolicyReader(ctrl *gomock.Controller) *MockGraphQLAllowedQueryPolicyReader { + mock := &MockGraphQLAllowedQueryPolicyReader{ctrl: ctrl} + mock.recorder = &MockGraphQLAllowedQueryPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLAllowedQueryPolicyReader) EXPECT() *MockGraphQLAllowedQueryPolicyReaderMockRecorder { + return m.recorder +} + +// GetGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyReader) GetGraphQLAllowedQueryPolicy(ctx context.Context, key client.ObjectKey) (*v2.GraphQLAllowedQueryPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetGraphQLAllowedQueryPolicy", ctx, key) + ret0, _ := ret[0].(*v2.GraphQLAllowedQueryPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGraphQLAllowedQueryPolicy indicates an expected call of GetGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyReaderMockRecorder) GetGraphQLAllowedQueryPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyReader)(nil).GetGraphQLAllowedQueryPolicy), ctx, key) +} + +// ListGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyReader) ListGraphQLAllowedQueryPolicy(ctx context.Context, opts ...client.ListOption) (*v2.GraphQLAllowedQueryPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(*v2.GraphQLAllowedQueryPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListGraphQLAllowedQueryPolicy indicates an expected call of ListGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyReaderMockRecorder) ListGraphQLAllowedQueryPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyReader)(nil).ListGraphQLAllowedQueryPolicy), varargs...) +} + +// MockGraphQLAllowedQueryPolicyWriter is a mock of GraphQLAllowedQueryPolicyWriter interface. +type MockGraphQLAllowedQueryPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockGraphQLAllowedQueryPolicyWriterMockRecorder +} + +// MockGraphQLAllowedQueryPolicyWriterMockRecorder is the mock recorder for MockGraphQLAllowedQueryPolicyWriter. +type MockGraphQLAllowedQueryPolicyWriterMockRecorder struct { + mock *MockGraphQLAllowedQueryPolicyWriter +} + +// NewMockGraphQLAllowedQueryPolicyWriter creates a new mock instance. +func NewMockGraphQLAllowedQueryPolicyWriter(ctrl *gomock.Controller) *MockGraphQLAllowedQueryPolicyWriter { + mock := &MockGraphQLAllowedQueryPolicyWriter{ctrl: ctrl} + mock.recorder = &MockGraphQLAllowedQueryPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLAllowedQueryPolicyWriter) EXPECT() *MockGraphQLAllowedQueryPolicyWriterMockRecorder { + return m.recorder +} + +// CreateGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyWriter) CreateGraphQLAllowedQueryPolicy(ctx context.Context, obj *v2.GraphQLAllowedQueryPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLAllowedQueryPolicy indicates an expected call of CreateGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyWriterMockRecorder) CreateGraphQLAllowedQueryPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyWriter)(nil).CreateGraphQLAllowedQueryPolicy), varargs...) +} + +// DeleteAllOfGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyWriter) DeleteAllOfGraphQLAllowedQueryPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfGraphQLAllowedQueryPolicy indicates an expected call of DeleteAllOfGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyWriterMockRecorder) DeleteAllOfGraphQLAllowedQueryPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyWriter)(nil).DeleteAllOfGraphQLAllowedQueryPolicy), varargs...) +} + +// DeleteGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyWriter) DeleteGraphQLAllowedQueryPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLAllowedQueryPolicy indicates an expected call of DeleteGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyWriterMockRecorder) DeleteGraphQLAllowedQueryPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyWriter)(nil).DeleteGraphQLAllowedQueryPolicy), varargs...) +} + +// PatchGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyWriter) PatchGraphQLAllowedQueryPolicy(ctx context.Context, obj *v2.GraphQLAllowedQueryPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLAllowedQueryPolicy indicates an expected call of PatchGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyWriterMockRecorder) PatchGraphQLAllowedQueryPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyWriter)(nil).PatchGraphQLAllowedQueryPolicy), varargs...) +} + +// UpdateGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyWriter) UpdateGraphQLAllowedQueryPolicy(ctx context.Context, obj *v2.GraphQLAllowedQueryPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLAllowedQueryPolicy indicates an expected call of UpdateGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyWriterMockRecorder) UpdateGraphQLAllowedQueryPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyWriter)(nil).UpdateGraphQLAllowedQueryPolicy), varargs...) +} + +// UpsertGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyWriter) UpsertGraphQLAllowedQueryPolicy(ctx context.Context, obj *v2.GraphQLAllowedQueryPolicy, transitionFuncs ...v2.GraphQLAllowedQueryPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertGraphQLAllowedQueryPolicy indicates an expected call of UpsertGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyWriterMockRecorder) UpsertGraphQLAllowedQueryPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyWriter)(nil).UpsertGraphQLAllowedQueryPolicy), varargs...) +} + +// MockGraphQLAllowedQueryPolicyStatusWriter is a mock of GraphQLAllowedQueryPolicyStatusWriter interface. +type MockGraphQLAllowedQueryPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockGraphQLAllowedQueryPolicyStatusWriterMockRecorder +} + +// MockGraphQLAllowedQueryPolicyStatusWriterMockRecorder is the mock recorder for MockGraphQLAllowedQueryPolicyStatusWriter. +type MockGraphQLAllowedQueryPolicyStatusWriterMockRecorder struct { + mock *MockGraphQLAllowedQueryPolicyStatusWriter +} + +// NewMockGraphQLAllowedQueryPolicyStatusWriter creates a new mock instance. +func NewMockGraphQLAllowedQueryPolicyStatusWriter(ctrl *gomock.Controller) *MockGraphQLAllowedQueryPolicyStatusWriter { + mock := &MockGraphQLAllowedQueryPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockGraphQLAllowedQueryPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLAllowedQueryPolicyStatusWriter) EXPECT() *MockGraphQLAllowedQueryPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchGraphQLAllowedQueryPolicyStatus mocks base method. +func (m *MockGraphQLAllowedQueryPolicyStatusWriter) PatchGraphQLAllowedQueryPolicyStatus(ctx context.Context, obj *v2.GraphQLAllowedQueryPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLAllowedQueryPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLAllowedQueryPolicyStatus indicates an expected call of PatchGraphQLAllowedQueryPolicyStatus. +func (mr *MockGraphQLAllowedQueryPolicyStatusWriterMockRecorder) PatchGraphQLAllowedQueryPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLAllowedQueryPolicyStatus", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyStatusWriter)(nil).PatchGraphQLAllowedQueryPolicyStatus), varargs...) +} + +// UpdateGraphQLAllowedQueryPolicyStatus mocks base method. +func (m *MockGraphQLAllowedQueryPolicyStatusWriter) UpdateGraphQLAllowedQueryPolicyStatus(ctx context.Context, obj *v2.GraphQLAllowedQueryPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLAllowedQueryPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLAllowedQueryPolicyStatus indicates an expected call of UpdateGraphQLAllowedQueryPolicyStatus. +func (mr *MockGraphQLAllowedQueryPolicyStatusWriterMockRecorder) UpdateGraphQLAllowedQueryPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLAllowedQueryPolicyStatus", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyStatusWriter)(nil).UpdateGraphQLAllowedQueryPolicyStatus), varargs...) +} + +// MockGraphQLAllowedQueryPolicyClient is a mock of GraphQLAllowedQueryPolicyClient interface. +type MockGraphQLAllowedQueryPolicyClient struct { + ctrl *gomock.Controller + recorder *MockGraphQLAllowedQueryPolicyClientMockRecorder +} + +// MockGraphQLAllowedQueryPolicyClientMockRecorder is the mock recorder for MockGraphQLAllowedQueryPolicyClient. +type MockGraphQLAllowedQueryPolicyClientMockRecorder struct { + mock *MockGraphQLAllowedQueryPolicyClient +} + +// NewMockGraphQLAllowedQueryPolicyClient creates a new mock instance. +func NewMockGraphQLAllowedQueryPolicyClient(ctrl *gomock.Controller) *MockGraphQLAllowedQueryPolicyClient { + mock := &MockGraphQLAllowedQueryPolicyClient{ctrl: ctrl} + mock.recorder = &MockGraphQLAllowedQueryPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLAllowedQueryPolicyClient) EXPECT() *MockGraphQLAllowedQueryPolicyClientMockRecorder { + return m.recorder +} + +// CreateGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyClient) CreateGraphQLAllowedQueryPolicy(ctx context.Context, obj *v2.GraphQLAllowedQueryPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateGraphQLAllowedQueryPolicy indicates an expected call of CreateGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyClientMockRecorder) CreateGraphQLAllowedQueryPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyClient)(nil).CreateGraphQLAllowedQueryPolicy), varargs...) +} + +// DeleteAllOfGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyClient) DeleteAllOfGraphQLAllowedQueryPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfGraphQLAllowedQueryPolicy indicates an expected call of DeleteAllOfGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyClientMockRecorder) DeleteAllOfGraphQLAllowedQueryPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyClient)(nil).DeleteAllOfGraphQLAllowedQueryPolicy), varargs...) +} + +// DeleteGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyClient) DeleteGraphQLAllowedQueryPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteGraphQLAllowedQueryPolicy indicates an expected call of DeleteGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyClientMockRecorder) DeleteGraphQLAllowedQueryPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyClient)(nil).DeleteGraphQLAllowedQueryPolicy), varargs...) +} + +// GetGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyClient) GetGraphQLAllowedQueryPolicy(ctx context.Context, key client.ObjectKey) (*v2.GraphQLAllowedQueryPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetGraphQLAllowedQueryPolicy", ctx, key) + ret0, _ := ret[0].(*v2.GraphQLAllowedQueryPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetGraphQLAllowedQueryPolicy indicates an expected call of GetGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyClientMockRecorder) GetGraphQLAllowedQueryPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyClient)(nil).GetGraphQLAllowedQueryPolicy), ctx, key) +} + +// ListGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyClient) ListGraphQLAllowedQueryPolicy(ctx context.Context, opts ...client.ListOption) (*v2.GraphQLAllowedQueryPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(*v2.GraphQLAllowedQueryPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListGraphQLAllowedQueryPolicy indicates an expected call of ListGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyClientMockRecorder) ListGraphQLAllowedQueryPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyClient)(nil).ListGraphQLAllowedQueryPolicy), varargs...) +} + +// PatchGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyClient) PatchGraphQLAllowedQueryPolicy(ctx context.Context, obj *v2.GraphQLAllowedQueryPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLAllowedQueryPolicy indicates an expected call of PatchGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyClientMockRecorder) PatchGraphQLAllowedQueryPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyClient)(nil).PatchGraphQLAllowedQueryPolicy), varargs...) +} + +// PatchGraphQLAllowedQueryPolicyStatus mocks base method. +func (m *MockGraphQLAllowedQueryPolicyClient) PatchGraphQLAllowedQueryPolicyStatus(ctx context.Context, obj *v2.GraphQLAllowedQueryPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchGraphQLAllowedQueryPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchGraphQLAllowedQueryPolicyStatus indicates an expected call of PatchGraphQLAllowedQueryPolicyStatus. +func (mr *MockGraphQLAllowedQueryPolicyClientMockRecorder) PatchGraphQLAllowedQueryPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchGraphQLAllowedQueryPolicyStatus", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyClient)(nil).PatchGraphQLAllowedQueryPolicyStatus), varargs...) +} + +// UpdateGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyClient) UpdateGraphQLAllowedQueryPolicy(ctx context.Context, obj *v2.GraphQLAllowedQueryPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLAllowedQueryPolicy indicates an expected call of UpdateGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyClientMockRecorder) UpdateGraphQLAllowedQueryPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyClient)(nil).UpdateGraphQLAllowedQueryPolicy), varargs...) +} + +// UpdateGraphQLAllowedQueryPolicyStatus mocks base method. +func (m *MockGraphQLAllowedQueryPolicyClient) UpdateGraphQLAllowedQueryPolicyStatus(ctx context.Context, obj *v2.GraphQLAllowedQueryPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateGraphQLAllowedQueryPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateGraphQLAllowedQueryPolicyStatus indicates an expected call of UpdateGraphQLAllowedQueryPolicyStatus. +func (mr *MockGraphQLAllowedQueryPolicyClientMockRecorder) UpdateGraphQLAllowedQueryPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGraphQLAllowedQueryPolicyStatus", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyClient)(nil).UpdateGraphQLAllowedQueryPolicyStatus), varargs...) +} + +// UpsertGraphQLAllowedQueryPolicy mocks base method. +func (m *MockGraphQLAllowedQueryPolicyClient) UpsertGraphQLAllowedQueryPolicy(ctx context.Context, obj *v2.GraphQLAllowedQueryPolicy, transitionFuncs ...v2.GraphQLAllowedQueryPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertGraphQLAllowedQueryPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertGraphQLAllowedQueryPolicy indicates an expected call of UpsertGraphQLAllowedQueryPolicy. +func (mr *MockGraphQLAllowedQueryPolicyClientMockRecorder) UpsertGraphQLAllowedQueryPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertGraphQLAllowedQueryPolicy", reflect.TypeOf((*MockGraphQLAllowedQueryPolicyClient)(nil).UpsertGraphQLAllowedQueryPolicy), varargs...) +} + +// MockMulticlusterGraphQLAllowedQueryPolicyClient is a mock of MulticlusterGraphQLAllowedQueryPolicyClient interface. +type MockMulticlusterGraphQLAllowedQueryPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterGraphQLAllowedQueryPolicyClientMockRecorder +} + +// MockMulticlusterGraphQLAllowedQueryPolicyClientMockRecorder is the mock recorder for MockMulticlusterGraphQLAllowedQueryPolicyClient. +type MockMulticlusterGraphQLAllowedQueryPolicyClientMockRecorder struct { + mock *MockMulticlusterGraphQLAllowedQueryPolicyClient +} + +// NewMockMulticlusterGraphQLAllowedQueryPolicyClient creates a new mock instance. +func NewMockMulticlusterGraphQLAllowedQueryPolicyClient(ctrl *gomock.Controller) *MockMulticlusterGraphQLAllowedQueryPolicyClient { + mock := &MockMulticlusterGraphQLAllowedQueryPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterGraphQLAllowedQueryPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterGraphQLAllowedQueryPolicyClient) EXPECT() *MockMulticlusterGraphQLAllowedQueryPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterGraphQLAllowedQueryPolicyClient) Cluster(cluster string) (v2.GraphQLAllowedQueryPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.GraphQLAllowedQueryPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterGraphQLAllowedQueryPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterGraphQLAllowedQueryPolicyClient)(nil).Cluster), cluster) +} + +// MockDLPPolicyReader is a mock of DLPPolicyReader interface. +type MockDLPPolicyReader struct { + ctrl *gomock.Controller + recorder *MockDLPPolicyReaderMockRecorder +} + +// MockDLPPolicyReaderMockRecorder is the mock recorder for MockDLPPolicyReader. +type MockDLPPolicyReaderMockRecorder struct { + mock *MockDLPPolicyReader +} + +// NewMockDLPPolicyReader creates a new mock instance. +func NewMockDLPPolicyReader(ctrl *gomock.Controller) *MockDLPPolicyReader { + mock := &MockDLPPolicyReader{ctrl: ctrl} + mock.recorder = &MockDLPPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDLPPolicyReader) EXPECT() *MockDLPPolicyReaderMockRecorder { + return m.recorder +} + +// GetDLPPolicy mocks base method. +func (m *MockDLPPolicyReader) GetDLPPolicy(ctx context.Context, key client.ObjectKey) (*v2.DLPPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetDLPPolicy", ctx, key) + ret0, _ := ret[0].(*v2.DLPPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetDLPPolicy indicates an expected call of GetDLPPolicy. +func (mr *MockDLPPolicyReaderMockRecorder) GetDLPPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDLPPolicy", reflect.TypeOf((*MockDLPPolicyReader)(nil).GetDLPPolicy), ctx, key) +} + +// ListDLPPolicy mocks base method. +func (m *MockDLPPolicyReader) ListDLPPolicy(ctx context.Context, opts ...client.ListOption) (*v2.DLPPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListDLPPolicy", varargs...) + ret0, _ := ret[0].(*v2.DLPPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListDLPPolicy indicates an expected call of ListDLPPolicy. +func (mr *MockDLPPolicyReaderMockRecorder) ListDLPPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListDLPPolicy", reflect.TypeOf((*MockDLPPolicyReader)(nil).ListDLPPolicy), varargs...) +} + +// MockDLPPolicyWriter is a mock of DLPPolicyWriter interface. +type MockDLPPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockDLPPolicyWriterMockRecorder +} + +// MockDLPPolicyWriterMockRecorder is the mock recorder for MockDLPPolicyWriter. +type MockDLPPolicyWriterMockRecorder struct { + mock *MockDLPPolicyWriter +} + +// NewMockDLPPolicyWriter creates a new mock instance. +func NewMockDLPPolicyWriter(ctrl *gomock.Controller) *MockDLPPolicyWriter { + mock := &MockDLPPolicyWriter{ctrl: ctrl} + mock.recorder = &MockDLPPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDLPPolicyWriter) EXPECT() *MockDLPPolicyWriterMockRecorder { + return m.recorder +} + +// CreateDLPPolicy mocks base method. +func (m *MockDLPPolicyWriter) CreateDLPPolicy(ctx context.Context, obj *v2.DLPPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateDLPPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateDLPPolicy indicates an expected call of CreateDLPPolicy. +func (mr *MockDLPPolicyWriterMockRecorder) CreateDLPPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDLPPolicy", reflect.TypeOf((*MockDLPPolicyWriter)(nil).CreateDLPPolicy), varargs...) +} + +// DeleteAllOfDLPPolicy mocks base method. +func (m *MockDLPPolicyWriter) DeleteAllOfDLPPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfDLPPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfDLPPolicy indicates an expected call of DeleteAllOfDLPPolicy. +func (mr *MockDLPPolicyWriterMockRecorder) DeleteAllOfDLPPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfDLPPolicy", reflect.TypeOf((*MockDLPPolicyWriter)(nil).DeleteAllOfDLPPolicy), varargs...) +} + +// DeleteDLPPolicy mocks base method. +func (m *MockDLPPolicyWriter) DeleteDLPPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteDLPPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteDLPPolicy indicates an expected call of DeleteDLPPolicy. +func (mr *MockDLPPolicyWriterMockRecorder) DeleteDLPPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteDLPPolicy", reflect.TypeOf((*MockDLPPolicyWriter)(nil).DeleteDLPPolicy), varargs...) +} + +// PatchDLPPolicy mocks base method. +func (m *MockDLPPolicyWriter) PatchDLPPolicy(ctx context.Context, obj *v2.DLPPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDLPPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDLPPolicy indicates an expected call of PatchDLPPolicy. +func (mr *MockDLPPolicyWriterMockRecorder) PatchDLPPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDLPPolicy", reflect.TypeOf((*MockDLPPolicyWriter)(nil).PatchDLPPolicy), varargs...) +} + +// UpdateDLPPolicy mocks base method. +func (m *MockDLPPolicyWriter) UpdateDLPPolicy(ctx context.Context, obj *v2.DLPPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDLPPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDLPPolicy indicates an expected call of UpdateDLPPolicy. +func (mr *MockDLPPolicyWriterMockRecorder) UpdateDLPPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDLPPolicy", reflect.TypeOf((*MockDLPPolicyWriter)(nil).UpdateDLPPolicy), varargs...) +} + +// UpsertDLPPolicy mocks base method. +func (m *MockDLPPolicyWriter) UpsertDLPPolicy(ctx context.Context, obj *v2.DLPPolicy, transitionFuncs ...v2.DLPPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertDLPPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertDLPPolicy indicates an expected call of UpsertDLPPolicy. +func (mr *MockDLPPolicyWriterMockRecorder) UpsertDLPPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertDLPPolicy", reflect.TypeOf((*MockDLPPolicyWriter)(nil).UpsertDLPPolicy), varargs...) +} + +// MockDLPPolicyStatusWriter is a mock of DLPPolicyStatusWriter interface. +type MockDLPPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockDLPPolicyStatusWriterMockRecorder +} + +// MockDLPPolicyStatusWriterMockRecorder is the mock recorder for MockDLPPolicyStatusWriter. +type MockDLPPolicyStatusWriterMockRecorder struct { + mock *MockDLPPolicyStatusWriter +} + +// NewMockDLPPolicyStatusWriter creates a new mock instance. +func NewMockDLPPolicyStatusWriter(ctrl *gomock.Controller) *MockDLPPolicyStatusWriter { + mock := &MockDLPPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockDLPPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDLPPolicyStatusWriter) EXPECT() *MockDLPPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchDLPPolicyStatus mocks base method. +func (m *MockDLPPolicyStatusWriter) PatchDLPPolicyStatus(ctx context.Context, obj *v2.DLPPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDLPPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDLPPolicyStatus indicates an expected call of PatchDLPPolicyStatus. +func (mr *MockDLPPolicyStatusWriterMockRecorder) PatchDLPPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDLPPolicyStatus", reflect.TypeOf((*MockDLPPolicyStatusWriter)(nil).PatchDLPPolicyStatus), varargs...) +} + +// UpdateDLPPolicyStatus mocks base method. +func (m *MockDLPPolicyStatusWriter) UpdateDLPPolicyStatus(ctx context.Context, obj *v2.DLPPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDLPPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDLPPolicyStatus indicates an expected call of UpdateDLPPolicyStatus. +func (mr *MockDLPPolicyStatusWriterMockRecorder) UpdateDLPPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDLPPolicyStatus", reflect.TypeOf((*MockDLPPolicyStatusWriter)(nil).UpdateDLPPolicyStatus), varargs...) +} + +// MockDLPPolicyClient is a mock of DLPPolicyClient interface. +type MockDLPPolicyClient struct { + ctrl *gomock.Controller + recorder *MockDLPPolicyClientMockRecorder +} + +// MockDLPPolicyClientMockRecorder is the mock recorder for MockDLPPolicyClient. +type MockDLPPolicyClientMockRecorder struct { + mock *MockDLPPolicyClient +} + +// NewMockDLPPolicyClient creates a new mock instance. +func NewMockDLPPolicyClient(ctrl *gomock.Controller) *MockDLPPolicyClient { + mock := &MockDLPPolicyClient{ctrl: ctrl} + mock.recorder = &MockDLPPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDLPPolicyClient) EXPECT() *MockDLPPolicyClientMockRecorder { + return m.recorder +} + +// CreateDLPPolicy mocks base method. +func (m *MockDLPPolicyClient) CreateDLPPolicy(ctx context.Context, obj *v2.DLPPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateDLPPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateDLPPolicy indicates an expected call of CreateDLPPolicy. +func (mr *MockDLPPolicyClientMockRecorder) CreateDLPPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateDLPPolicy", reflect.TypeOf((*MockDLPPolicyClient)(nil).CreateDLPPolicy), varargs...) +} + +// DeleteAllOfDLPPolicy mocks base method. +func (m *MockDLPPolicyClient) DeleteAllOfDLPPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfDLPPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfDLPPolicy indicates an expected call of DeleteAllOfDLPPolicy. +func (mr *MockDLPPolicyClientMockRecorder) DeleteAllOfDLPPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfDLPPolicy", reflect.TypeOf((*MockDLPPolicyClient)(nil).DeleteAllOfDLPPolicy), varargs...) +} + +// DeleteDLPPolicy mocks base method. +func (m *MockDLPPolicyClient) DeleteDLPPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteDLPPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteDLPPolicy indicates an expected call of DeleteDLPPolicy. +func (mr *MockDLPPolicyClientMockRecorder) DeleteDLPPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteDLPPolicy", reflect.TypeOf((*MockDLPPolicyClient)(nil).DeleteDLPPolicy), varargs...) +} + +// GetDLPPolicy mocks base method. +func (m *MockDLPPolicyClient) GetDLPPolicy(ctx context.Context, key client.ObjectKey) (*v2.DLPPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetDLPPolicy", ctx, key) + ret0, _ := ret[0].(*v2.DLPPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetDLPPolicy indicates an expected call of GetDLPPolicy. +func (mr *MockDLPPolicyClientMockRecorder) GetDLPPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDLPPolicy", reflect.TypeOf((*MockDLPPolicyClient)(nil).GetDLPPolicy), ctx, key) +} + +// ListDLPPolicy mocks base method. +func (m *MockDLPPolicyClient) ListDLPPolicy(ctx context.Context, opts ...client.ListOption) (*v2.DLPPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListDLPPolicy", varargs...) + ret0, _ := ret[0].(*v2.DLPPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListDLPPolicy indicates an expected call of ListDLPPolicy. +func (mr *MockDLPPolicyClientMockRecorder) ListDLPPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListDLPPolicy", reflect.TypeOf((*MockDLPPolicyClient)(nil).ListDLPPolicy), varargs...) +} + +// PatchDLPPolicy mocks base method. +func (m *MockDLPPolicyClient) PatchDLPPolicy(ctx context.Context, obj *v2.DLPPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDLPPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDLPPolicy indicates an expected call of PatchDLPPolicy. +func (mr *MockDLPPolicyClientMockRecorder) PatchDLPPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDLPPolicy", reflect.TypeOf((*MockDLPPolicyClient)(nil).PatchDLPPolicy), varargs...) +} + +// PatchDLPPolicyStatus mocks base method. +func (m *MockDLPPolicyClient) PatchDLPPolicyStatus(ctx context.Context, obj *v2.DLPPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchDLPPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchDLPPolicyStatus indicates an expected call of PatchDLPPolicyStatus. +func (mr *MockDLPPolicyClientMockRecorder) PatchDLPPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchDLPPolicyStatus", reflect.TypeOf((*MockDLPPolicyClient)(nil).PatchDLPPolicyStatus), varargs...) +} + +// UpdateDLPPolicy mocks base method. +func (m *MockDLPPolicyClient) UpdateDLPPolicy(ctx context.Context, obj *v2.DLPPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDLPPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDLPPolicy indicates an expected call of UpdateDLPPolicy. +func (mr *MockDLPPolicyClientMockRecorder) UpdateDLPPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDLPPolicy", reflect.TypeOf((*MockDLPPolicyClient)(nil).UpdateDLPPolicy), varargs...) +} + +// UpdateDLPPolicyStatus mocks base method. +func (m *MockDLPPolicyClient) UpdateDLPPolicyStatus(ctx context.Context, obj *v2.DLPPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateDLPPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDLPPolicyStatus indicates an expected call of UpdateDLPPolicyStatus. +func (mr *MockDLPPolicyClientMockRecorder) UpdateDLPPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDLPPolicyStatus", reflect.TypeOf((*MockDLPPolicyClient)(nil).UpdateDLPPolicyStatus), varargs...) +} + +// UpsertDLPPolicy mocks base method. +func (m *MockDLPPolicyClient) UpsertDLPPolicy(ctx context.Context, obj *v2.DLPPolicy, transitionFuncs ...v2.DLPPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertDLPPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertDLPPolicy indicates an expected call of UpsertDLPPolicy. +func (mr *MockDLPPolicyClientMockRecorder) UpsertDLPPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertDLPPolicy", reflect.TypeOf((*MockDLPPolicyClient)(nil).UpsertDLPPolicy), varargs...) +} + +// MockMulticlusterDLPPolicyClient is a mock of MulticlusterDLPPolicyClient interface. +type MockMulticlusterDLPPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterDLPPolicyClientMockRecorder +} + +// MockMulticlusterDLPPolicyClientMockRecorder is the mock recorder for MockMulticlusterDLPPolicyClient. +type MockMulticlusterDLPPolicyClientMockRecorder struct { + mock *MockMulticlusterDLPPolicyClient +} + +// NewMockMulticlusterDLPPolicyClient creates a new mock instance. +func NewMockMulticlusterDLPPolicyClient(ctrl *gomock.Controller) *MockMulticlusterDLPPolicyClient { + mock := &MockMulticlusterDLPPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterDLPPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterDLPPolicyClient) EXPECT() *MockMulticlusterDLPPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterDLPPolicyClient) Cluster(cluster string) (v2.DLPPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.DLPPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterDLPPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterDLPPolicyClient)(nil).Cluster), cluster) +} diff --git a/client-go/security.policy.gloo.solo.io/v2/policy_types.go b/client-go/security.policy.gloo.solo.io/v2/policy_types.go new file mode 100644 index 000000000..e90574967 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/policy_types.go @@ -0,0 +1,95 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2 + +import ( + commonv2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// IsPolicy implements Policy interface for AccessPolicy +func (o *AccessPolicy) IsPolicy() {} + +// GetDestinationSelectors returns the destination selectors of the AccessPolicy policy +func (o *AccessPolicy) GetDestinationSelectors() []*commonv2.DestinationSelector { + return o.Spec.ApplyToDestinations +} + +// GetNamespaceWorkloadSelectors returns the namespace workload selectors of the AccessPolicy policy +func (o *AccessPolicy) GetNamespaceWorkloadSelectors() []*AccessPolicySpec_NamespaceWorkloadSelector { + return o.Spec.ApplyToWorkloads +} + +// IsPolicy implements Policy interface for CORSPolicy +func (o *CORSPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the CORSPolicy policy +func (o *CORSPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// IsPolicy implements Policy interface for CSRFPolicy +func (o *CSRFPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the CSRFPolicy policy +func (o *CSRFPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// IsPolicy implements Policy interface for ExtAuthPolicy +func (o *ExtAuthPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the ExtAuthPolicy policy +func (o *ExtAuthPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// GetDestinationSelectors returns the destination selectors of the ExtAuthPolicy policy +func (o *ExtAuthPolicy) GetDestinationSelectors() []*commonv2.DestinationSelector { + return o.Spec.ApplyToDestinations +} + +// IsPolicy implements Policy interface for WAFPolicy +func (o *WAFPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the WAFPolicy policy +func (o *WAFPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// IsPolicy implements Policy interface for JWTPolicy +func (o *JWTPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the JWTPolicy policy +func (o *JWTPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// GetDestinationSelectors returns the destination selectors of the JWTPolicy policy +func (o *JWTPolicy) GetDestinationSelectors() []*commonv2.DestinationSelector { + return o.Spec.ApplyToDestinations +} + +// IsPolicy implements Policy interface for ClientTLSPolicy +func (o *ClientTLSPolicy) IsPolicy() {} + +// GetDestinationSelectors returns the destination selectors of the ClientTLSPolicy policy +func (o *ClientTLSPolicy) GetDestinationSelectors() []*commonv2.DestinationSelector { + return o.Spec.ApplyToDestinations +} + +// IsPolicy implements Policy interface for GraphQLAllowedQueryPolicy +func (o *GraphQLAllowedQueryPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the GraphQLAllowedQueryPolicy policy +func (o *GraphQLAllowedQueryPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// IsPolicy implements Policy interface for DLPPolicy +func (o *DLPPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the DLPPolicy policy +func (o *DLPPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} diff --git a/client-go/security.policy.gloo.solo.io/v2/proto_deepcopy.go b/client-go/security.policy.gloo.solo.io/v2/proto_deepcopy.go new file mode 100644 index 000000000..12553a66c --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/proto_deepcopy.go @@ -0,0 +1,208 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the AccessPolicy.Spec +func (in *AccessPolicySpec) DeepCopyInto(out *AccessPolicySpec) { + var p *AccessPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*AccessPolicySpec) + } else { + p = proto.Clone(in).(*AccessPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the AccessPolicy.Status +func (in *AccessPolicyStatus) DeepCopyInto(out *AccessPolicyStatus) { + var p *AccessPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*AccessPolicyStatus) + } else { + p = proto.Clone(in).(*AccessPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the CORSPolicy.Spec +func (in *CORSPolicySpec) DeepCopyInto(out *CORSPolicySpec) { + var p *CORSPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*CORSPolicySpec) + } else { + p = proto.Clone(in).(*CORSPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the CORSPolicy.Status +func (in *CORSPolicyStatus) DeepCopyInto(out *CORSPolicyStatus) { + var p *CORSPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*CORSPolicyStatus) + } else { + p = proto.Clone(in).(*CORSPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the CSRFPolicy.Spec +func (in *CSRFPolicySpec) DeepCopyInto(out *CSRFPolicySpec) { + var p *CSRFPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*CSRFPolicySpec) + } else { + p = proto.Clone(in).(*CSRFPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the CSRFPolicy.Status +func (in *CSRFPolicyStatus) DeepCopyInto(out *CSRFPolicyStatus) { + var p *CSRFPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*CSRFPolicyStatus) + } else { + p = proto.Clone(in).(*CSRFPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the ExtAuthPolicy.Spec +func (in *ExtAuthPolicySpec) DeepCopyInto(out *ExtAuthPolicySpec) { + var p *ExtAuthPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ExtAuthPolicySpec) + } else { + p = proto.Clone(in).(*ExtAuthPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the ExtAuthPolicy.Status +func (in *ExtAuthPolicyStatus) DeepCopyInto(out *ExtAuthPolicyStatus) { + var p *ExtAuthPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ExtAuthPolicyStatus) + } else { + p = proto.Clone(in).(*ExtAuthPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the WAFPolicy.Spec +func (in *WAFPolicySpec) DeepCopyInto(out *WAFPolicySpec) { + var p *WAFPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*WAFPolicySpec) + } else { + p = proto.Clone(in).(*WAFPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the WAFPolicy.Status +func (in *WAFPolicyStatus) DeepCopyInto(out *WAFPolicyStatus) { + var p *WAFPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*WAFPolicyStatus) + } else { + p = proto.Clone(in).(*WAFPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the JWTPolicy.Spec +func (in *JWTPolicySpec) DeepCopyInto(out *JWTPolicySpec) { + var p *JWTPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*JWTPolicySpec) + } else { + p = proto.Clone(in).(*JWTPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the JWTPolicy.Status +func (in *JWTPolicyStatus) DeepCopyInto(out *JWTPolicyStatus) { + var p *JWTPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*JWTPolicyStatus) + } else { + p = proto.Clone(in).(*JWTPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the ClientTLSPolicy.Spec +func (in *ClientTLSPolicySpec) DeepCopyInto(out *ClientTLSPolicySpec) { + var p *ClientTLSPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ClientTLSPolicySpec) + } else { + p = proto.Clone(in).(*ClientTLSPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the ClientTLSPolicy.Status +func (in *ClientTLSPolicyStatus) DeepCopyInto(out *ClientTLSPolicyStatus) { + var p *ClientTLSPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ClientTLSPolicyStatus) + } else { + p = proto.Clone(in).(*ClientTLSPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the GraphQLAllowedQueryPolicy.Spec +func (in *GraphQLAllowedQueryPolicySpec) DeepCopyInto(out *GraphQLAllowedQueryPolicySpec) { + var p *GraphQLAllowedQueryPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*GraphQLAllowedQueryPolicySpec) + } else { + p = proto.Clone(in).(*GraphQLAllowedQueryPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the GraphQLAllowedQueryPolicy.Status +func (in *GraphQLAllowedQueryPolicyStatus) DeepCopyInto(out *GraphQLAllowedQueryPolicyStatus) { + var p *GraphQLAllowedQueryPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*GraphQLAllowedQueryPolicyStatus) + } else { + p = proto.Clone(in).(*GraphQLAllowedQueryPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the DLPPolicy.Spec +func (in *DLPPolicySpec) DeepCopyInto(out *DLPPolicySpec) { + var p *DLPPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*DLPPolicySpec) + } else { + p = proto.Clone(in).(*DLPPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the DLPPolicy.Status +func (in *DLPPolicyStatus) DeepCopyInto(out *DLPPolicyStatus) { + var p *DLPPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*DLPPolicyStatus) + } else { + p = proto.Clone(in).(*DLPPolicyStatus) + } + *out = *p +} diff --git a/client-go/security.policy.gloo.solo.io/v2/providers/client_providers.go b/client-go/security.policy.gloo.solo.io/v2/providers/client_providers.go new file mode 100644 index 000000000..9340adb05 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/providers/client_providers.go @@ -0,0 +1,270 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2 + +import ( + security_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for AccessPolicyClient from Clientset +func AccessPolicyClientFromClientsetProvider(clients security_policy_gloo_solo_io_v2.Clientset) security_policy_gloo_solo_io_v2.AccessPolicyClient { + return clients.AccessPolicies() +} + +// Provider for AccessPolicy Client from Client +func AccessPolicyClientProvider(client client.Client) security_policy_gloo_solo_io_v2.AccessPolicyClient { + return security_policy_gloo_solo_io_v2.NewAccessPolicyClient(client) +} + +type AccessPolicyClientFactory func(client client.Client) security_policy_gloo_solo_io_v2.AccessPolicyClient + +func AccessPolicyClientFactoryProvider() AccessPolicyClientFactory { + return AccessPolicyClientProvider +} + +type AccessPolicyClientFromConfigFactory func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.AccessPolicyClient, error) + +func AccessPolicyClientFromConfigFactoryProvider() AccessPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.AccessPolicyClient, error) { + clients, err := security_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.AccessPolicies(), nil + } +} + +// Provider for CORSPolicyClient from Clientset +func CORSPolicyClientFromClientsetProvider(clients security_policy_gloo_solo_io_v2.Clientset) security_policy_gloo_solo_io_v2.CORSPolicyClient { + return clients.CORSPolicies() +} + +// Provider for CORSPolicy Client from Client +func CORSPolicyClientProvider(client client.Client) security_policy_gloo_solo_io_v2.CORSPolicyClient { + return security_policy_gloo_solo_io_v2.NewCORSPolicyClient(client) +} + +type CORSPolicyClientFactory func(client client.Client) security_policy_gloo_solo_io_v2.CORSPolicyClient + +func CORSPolicyClientFactoryProvider() CORSPolicyClientFactory { + return CORSPolicyClientProvider +} + +type CORSPolicyClientFromConfigFactory func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.CORSPolicyClient, error) + +func CORSPolicyClientFromConfigFactoryProvider() CORSPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.CORSPolicyClient, error) { + clients, err := security_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.CORSPolicies(), nil + } +} + +// Provider for CSRFPolicyClient from Clientset +func CSRFPolicyClientFromClientsetProvider(clients security_policy_gloo_solo_io_v2.Clientset) security_policy_gloo_solo_io_v2.CSRFPolicyClient { + return clients.CSRFPolicies() +} + +// Provider for CSRFPolicy Client from Client +func CSRFPolicyClientProvider(client client.Client) security_policy_gloo_solo_io_v2.CSRFPolicyClient { + return security_policy_gloo_solo_io_v2.NewCSRFPolicyClient(client) +} + +type CSRFPolicyClientFactory func(client client.Client) security_policy_gloo_solo_io_v2.CSRFPolicyClient + +func CSRFPolicyClientFactoryProvider() CSRFPolicyClientFactory { + return CSRFPolicyClientProvider +} + +type CSRFPolicyClientFromConfigFactory func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.CSRFPolicyClient, error) + +func CSRFPolicyClientFromConfigFactoryProvider() CSRFPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.CSRFPolicyClient, error) { + clients, err := security_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.CSRFPolicies(), nil + } +} + +// Provider for ExtAuthPolicyClient from Clientset +func ExtAuthPolicyClientFromClientsetProvider(clients security_policy_gloo_solo_io_v2.Clientset) security_policy_gloo_solo_io_v2.ExtAuthPolicyClient { + return clients.ExtAuthPolicies() +} + +// Provider for ExtAuthPolicy Client from Client +func ExtAuthPolicyClientProvider(client client.Client) security_policy_gloo_solo_io_v2.ExtAuthPolicyClient { + return security_policy_gloo_solo_io_v2.NewExtAuthPolicyClient(client) +} + +type ExtAuthPolicyClientFactory func(client client.Client) security_policy_gloo_solo_io_v2.ExtAuthPolicyClient + +func ExtAuthPolicyClientFactoryProvider() ExtAuthPolicyClientFactory { + return ExtAuthPolicyClientProvider +} + +type ExtAuthPolicyClientFromConfigFactory func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.ExtAuthPolicyClient, error) + +func ExtAuthPolicyClientFromConfigFactoryProvider() ExtAuthPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.ExtAuthPolicyClient, error) { + clients, err := security_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ExtAuthPolicies(), nil + } +} + +// Provider for WAFPolicyClient from Clientset +func WAFPolicyClientFromClientsetProvider(clients security_policy_gloo_solo_io_v2.Clientset) security_policy_gloo_solo_io_v2.WAFPolicyClient { + return clients.WAFPolicies() +} + +// Provider for WAFPolicy Client from Client +func WAFPolicyClientProvider(client client.Client) security_policy_gloo_solo_io_v2.WAFPolicyClient { + return security_policy_gloo_solo_io_v2.NewWAFPolicyClient(client) +} + +type WAFPolicyClientFactory func(client client.Client) security_policy_gloo_solo_io_v2.WAFPolicyClient + +func WAFPolicyClientFactoryProvider() WAFPolicyClientFactory { + return WAFPolicyClientProvider +} + +type WAFPolicyClientFromConfigFactory func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.WAFPolicyClient, error) + +func WAFPolicyClientFromConfigFactoryProvider() WAFPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.WAFPolicyClient, error) { + clients, err := security_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.WAFPolicies(), nil + } +} + +// Provider for JWTPolicyClient from Clientset +func JWTPolicyClientFromClientsetProvider(clients security_policy_gloo_solo_io_v2.Clientset) security_policy_gloo_solo_io_v2.JWTPolicyClient { + return clients.JWTPolicies() +} + +// Provider for JWTPolicy Client from Client +func JWTPolicyClientProvider(client client.Client) security_policy_gloo_solo_io_v2.JWTPolicyClient { + return security_policy_gloo_solo_io_v2.NewJWTPolicyClient(client) +} + +type JWTPolicyClientFactory func(client client.Client) security_policy_gloo_solo_io_v2.JWTPolicyClient + +func JWTPolicyClientFactoryProvider() JWTPolicyClientFactory { + return JWTPolicyClientProvider +} + +type JWTPolicyClientFromConfigFactory func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.JWTPolicyClient, error) + +func JWTPolicyClientFromConfigFactoryProvider() JWTPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.JWTPolicyClient, error) { + clients, err := security_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.JWTPolicies(), nil + } +} + +// Provider for ClientTLSPolicyClient from Clientset +func ClientTLSPolicyClientFromClientsetProvider(clients security_policy_gloo_solo_io_v2.Clientset) security_policy_gloo_solo_io_v2.ClientTLSPolicyClient { + return clients.ClientTLSPolicies() +} + +// Provider for ClientTLSPolicy Client from Client +func ClientTLSPolicyClientProvider(client client.Client) security_policy_gloo_solo_io_v2.ClientTLSPolicyClient { + return security_policy_gloo_solo_io_v2.NewClientTLSPolicyClient(client) +} + +type ClientTLSPolicyClientFactory func(client client.Client) security_policy_gloo_solo_io_v2.ClientTLSPolicyClient + +func ClientTLSPolicyClientFactoryProvider() ClientTLSPolicyClientFactory { + return ClientTLSPolicyClientProvider +} + +type ClientTLSPolicyClientFromConfigFactory func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.ClientTLSPolicyClient, error) + +func ClientTLSPolicyClientFromConfigFactoryProvider() ClientTLSPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.ClientTLSPolicyClient, error) { + clients, err := security_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ClientTLSPolicies(), nil + } +} + +// Provider for GraphQLAllowedQueryPolicyClient from Clientset +func GraphQLAllowedQueryPolicyClientFromClientsetProvider(clients security_policy_gloo_solo_io_v2.Clientset) security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicyClient { + return clients.GraphQLAllowedQueryPolicies() +} + +// Provider for GraphQLAllowedQueryPolicy Client from Client +func GraphQLAllowedQueryPolicyClientProvider(client client.Client) security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicyClient { + return security_policy_gloo_solo_io_v2.NewGraphQLAllowedQueryPolicyClient(client) +} + +type GraphQLAllowedQueryPolicyClientFactory func(client client.Client) security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicyClient + +func GraphQLAllowedQueryPolicyClientFactoryProvider() GraphQLAllowedQueryPolicyClientFactory { + return GraphQLAllowedQueryPolicyClientProvider +} + +type GraphQLAllowedQueryPolicyClientFromConfigFactory func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicyClient, error) + +func GraphQLAllowedQueryPolicyClientFromConfigFactoryProvider() GraphQLAllowedQueryPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicyClient, error) { + clients, err := security_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.GraphQLAllowedQueryPolicies(), nil + } +} + +// Provider for DLPPolicyClient from Clientset +func DLPPolicyClientFromClientsetProvider(clients security_policy_gloo_solo_io_v2.Clientset) security_policy_gloo_solo_io_v2.DLPPolicyClient { + return clients.DLPPolicies() +} + +// Provider for DLPPolicy Client from Client +func DLPPolicyClientProvider(client client.Client) security_policy_gloo_solo_io_v2.DLPPolicyClient { + return security_policy_gloo_solo_io_v2.NewDLPPolicyClient(client) +} + +type DLPPolicyClientFactory func(client client.Client) security_policy_gloo_solo_io_v2.DLPPolicyClient + +func DLPPolicyClientFactoryProvider() DLPPolicyClientFactory { + return DLPPolicyClientProvider +} + +type DLPPolicyClientFromConfigFactory func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.DLPPolicyClient, error) + +func DLPPolicyClientFromConfigFactoryProvider() DLPPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (security_policy_gloo_solo_io_v2.DLPPolicyClient, error) { + clients, err := security_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.DLPPolicies(), nil + } +} diff --git a/client-go/security.policy.gloo.solo.io/v2/register.go b/client-go/security.policy.gloo.solo.io/v2/register.go new file mode 100644 index 000000000..fa868130d --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "security.policy.gloo.solo.io", Version: "v2"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/security.policy.gloo.solo.io/v2/report_types.go b/client-go/security.policy.gloo.solo.io/v2/report_types.go new file mode 100644 index 000000000..27208f5a9 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/report_types.go @@ -0,0 +1,31 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2 + +// IsReport implements Reportable interface for AccessPolicyReport +func (o *AccessPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for CORSPolicyReport +func (o *CORSPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for CSRFPolicyReport +func (o *CSRFPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for ExtAuthPolicyReport +func (o *ExtAuthPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for WAFPolicyReport +func (o *WAFPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for JWTPolicyReport +func (o *JWTPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for ClientTLSPolicyReport +func (o *ClientTLSPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for GraphQLAllowedQueryPolicyReport +func (o *GraphQLAllowedQueryPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for DLPPolicyReport +func (o *DLPPolicyReport) IsReport() {} diff --git a/client-go/security.policy.gloo.solo.io/v2/sets/mocks/sets.go b/client-go/security.policy.gloo.solo.io/v2/sets/mocks/sets.go new file mode 100644 index 000000000..aa7dfe90b --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/sets/mocks/sets.go @@ -0,0 +1,2321 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2sets is a generated GoMock package. +package mock_v2sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2 "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2" + v2sets "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2/sets" +) + +// MockAccessPolicySet is a mock of AccessPolicySet interface. +type MockAccessPolicySet struct { + ctrl *gomock.Controller + recorder *MockAccessPolicySetMockRecorder +} + +// MockAccessPolicySetMockRecorder is the mock recorder for MockAccessPolicySet. +type MockAccessPolicySetMockRecorder struct { + mock *MockAccessPolicySet +} + +// NewMockAccessPolicySet creates a new mock instance. +func NewMockAccessPolicySet(ctrl *gomock.Controller) *MockAccessPolicySet { + mock := &MockAccessPolicySet{ctrl: ctrl} + mock.recorder = &MockAccessPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockAccessPolicySet) EXPECT() *MockAccessPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockAccessPolicySet) Clone() v2sets.AccessPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.AccessPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockAccessPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockAccessPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockAccessPolicySet) Delete(accessPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", accessPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockAccessPolicySetMockRecorder) Delete(accessPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockAccessPolicySet)(nil).Delete), accessPolicy) +} + +// Delta mocks base method. +func (m *MockAccessPolicySet) Delta(newSet v2sets.AccessPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockAccessPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockAccessPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockAccessPolicySet) Difference(set v2sets.AccessPolicySet) v2sets.AccessPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.AccessPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockAccessPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockAccessPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockAccessPolicySet) Equal(accessPolicySet v2sets.AccessPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", accessPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockAccessPolicySetMockRecorder) Equal(accessPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockAccessPolicySet)(nil).Equal), accessPolicySet) +} + +// Find mocks base method. +func (m *MockAccessPolicySet) Find(id ezkube.ResourceId) (*v2.AccessPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.AccessPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockAccessPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockAccessPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockAccessPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockAccessPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockAccessPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockAccessPolicySet) Has(accessPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", accessPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockAccessPolicySetMockRecorder) Has(accessPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockAccessPolicySet)(nil).Has), accessPolicy) +} + +// Insert mocks base method. +func (m *MockAccessPolicySet) Insert(accessPolicy ...*v2.AccessPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range accessPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockAccessPolicySetMockRecorder) Insert(accessPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockAccessPolicySet)(nil).Insert), accessPolicy...) +} + +// Intersection mocks base method. +func (m *MockAccessPolicySet) Intersection(set v2sets.AccessPolicySet) v2sets.AccessPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.AccessPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockAccessPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockAccessPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockAccessPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockAccessPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockAccessPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockAccessPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockAccessPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockAccessPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockAccessPolicySet) List(filterResource ...func(*v2.AccessPolicy) bool) []*v2.AccessPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.AccessPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockAccessPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockAccessPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockAccessPolicySet) Map() map[string]*v2.AccessPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.AccessPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockAccessPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockAccessPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockAccessPolicySet) Union(set v2sets.AccessPolicySet) v2sets.AccessPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.AccessPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockAccessPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockAccessPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockAccessPolicySet) UnsortedList(filterResource ...func(*v2.AccessPolicy) bool) []*v2.AccessPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.AccessPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockAccessPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockAccessPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockCORSPolicySet is a mock of CORSPolicySet interface. +type MockCORSPolicySet struct { + ctrl *gomock.Controller + recorder *MockCORSPolicySetMockRecorder +} + +// MockCORSPolicySetMockRecorder is the mock recorder for MockCORSPolicySet. +type MockCORSPolicySetMockRecorder struct { + mock *MockCORSPolicySet +} + +// NewMockCORSPolicySet creates a new mock instance. +func NewMockCORSPolicySet(ctrl *gomock.Controller) *MockCORSPolicySet { + mock := &MockCORSPolicySet{ctrl: ctrl} + mock.recorder = &MockCORSPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCORSPolicySet) EXPECT() *MockCORSPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockCORSPolicySet) Clone() v2sets.CORSPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.CORSPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockCORSPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockCORSPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockCORSPolicySet) Delete(cORSPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", cORSPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockCORSPolicySetMockRecorder) Delete(cORSPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockCORSPolicySet)(nil).Delete), cORSPolicy) +} + +// Delta mocks base method. +func (m *MockCORSPolicySet) Delta(newSet v2sets.CORSPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockCORSPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockCORSPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockCORSPolicySet) Difference(set v2sets.CORSPolicySet) v2sets.CORSPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.CORSPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockCORSPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockCORSPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockCORSPolicySet) Equal(cORSPolicySet v2sets.CORSPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", cORSPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockCORSPolicySetMockRecorder) Equal(cORSPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockCORSPolicySet)(nil).Equal), cORSPolicySet) +} + +// Find mocks base method. +func (m *MockCORSPolicySet) Find(id ezkube.ResourceId) (*v2.CORSPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.CORSPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockCORSPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockCORSPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockCORSPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockCORSPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockCORSPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockCORSPolicySet) Has(cORSPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", cORSPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockCORSPolicySetMockRecorder) Has(cORSPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockCORSPolicySet)(nil).Has), cORSPolicy) +} + +// Insert mocks base method. +func (m *MockCORSPolicySet) Insert(cORSPolicy ...*v2.CORSPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range cORSPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockCORSPolicySetMockRecorder) Insert(cORSPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockCORSPolicySet)(nil).Insert), cORSPolicy...) +} + +// Intersection mocks base method. +func (m *MockCORSPolicySet) Intersection(set v2sets.CORSPolicySet) v2sets.CORSPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.CORSPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockCORSPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockCORSPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockCORSPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockCORSPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockCORSPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockCORSPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockCORSPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockCORSPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockCORSPolicySet) List(filterResource ...func(*v2.CORSPolicy) bool) []*v2.CORSPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.CORSPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockCORSPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockCORSPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockCORSPolicySet) Map() map[string]*v2.CORSPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.CORSPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockCORSPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockCORSPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockCORSPolicySet) Union(set v2sets.CORSPolicySet) v2sets.CORSPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.CORSPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockCORSPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockCORSPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockCORSPolicySet) UnsortedList(filterResource ...func(*v2.CORSPolicy) bool) []*v2.CORSPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.CORSPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockCORSPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockCORSPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockCSRFPolicySet is a mock of CSRFPolicySet interface. +type MockCSRFPolicySet struct { + ctrl *gomock.Controller + recorder *MockCSRFPolicySetMockRecorder +} + +// MockCSRFPolicySetMockRecorder is the mock recorder for MockCSRFPolicySet. +type MockCSRFPolicySetMockRecorder struct { + mock *MockCSRFPolicySet +} + +// NewMockCSRFPolicySet creates a new mock instance. +func NewMockCSRFPolicySet(ctrl *gomock.Controller) *MockCSRFPolicySet { + mock := &MockCSRFPolicySet{ctrl: ctrl} + mock.recorder = &MockCSRFPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCSRFPolicySet) EXPECT() *MockCSRFPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockCSRFPolicySet) Clone() v2sets.CSRFPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.CSRFPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockCSRFPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockCSRFPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockCSRFPolicySet) Delete(cSRFPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", cSRFPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockCSRFPolicySetMockRecorder) Delete(cSRFPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockCSRFPolicySet)(nil).Delete), cSRFPolicy) +} + +// Delta mocks base method. +func (m *MockCSRFPolicySet) Delta(newSet v2sets.CSRFPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockCSRFPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockCSRFPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockCSRFPolicySet) Difference(set v2sets.CSRFPolicySet) v2sets.CSRFPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.CSRFPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockCSRFPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockCSRFPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockCSRFPolicySet) Equal(cSRFPolicySet v2sets.CSRFPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", cSRFPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockCSRFPolicySetMockRecorder) Equal(cSRFPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockCSRFPolicySet)(nil).Equal), cSRFPolicySet) +} + +// Find mocks base method. +func (m *MockCSRFPolicySet) Find(id ezkube.ResourceId) (*v2.CSRFPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.CSRFPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockCSRFPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockCSRFPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockCSRFPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockCSRFPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockCSRFPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockCSRFPolicySet) Has(cSRFPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", cSRFPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockCSRFPolicySetMockRecorder) Has(cSRFPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockCSRFPolicySet)(nil).Has), cSRFPolicy) +} + +// Insert mocks base method. +func (m *MockCSRFPolicySet) Insert(cSRFPolicy ...*v2.CSRFPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range cSRFPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockCSRFPolicySetMockRecorder) Insert(cSRFPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockCSRFPolicySet)(nil).Insert), cSRFPolicy...) +} + +// Intersection mocks base method. +func (m *MockCSRFPolicySet) Intersection(set v2sets.CSRFPolicySet) v2sets.CSRFPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.CSRFPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockCSRFPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockCSRFPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockCSRFPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockCSRFPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockCSRFPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockCSRFPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockCSRFPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockCSRFPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockCSRFPolicySet) List(filterResource ...func(*v2.CSRFPolicy) bool) []*v2.CSRFPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.CSRFPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockCSRFPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockCSRFPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockCSRFPolicySet) Map() map[string]*v2.CSRFPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.CSRFPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockCSRFPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockCSRFPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockCSRFPolicySet) Union(set v2sets.CSRFPolicySet) v2sets.CSRFPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.CSRFPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockCSRFPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockCSRFPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockCSRFPolicySet) UnsortedList(filterResource ...func(*v2.CSRFPolicy) bool) []*v2.CSRFPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.CSRFPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockCSRFPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockCSRFPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockExtAuthPolicySet is a mock of ExtAuthPolicySet interface. +type MockExtAuthPolicySet struct { + ctrl *gomock.Controller + recorder *MockExtAuthPolicySetMockRecorder +} + +// MockExtAuthPolicySetMockRecorder is the mock recorder for MockExtAuthPolicySet. +type MockExtAuthPolicySetMockRecorder struct { + mock *MockExtAuthPolicySet +} + +// NewMockExtAuthPolicySet creates a new mock instance. +func NewMockExtAuthPolicySet(ctrl *gomock.Controller) *MockExtAuthPolicySet { + mock := &MockExtAuthPolicySet{ctrl: ctrl} + mock.recorder = &MockExtAuthPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockExtAuthPolicySet) EXPECT() *MockExtAuthPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockExtAuthPolicySet) Clone() v2sets.ExtAuthPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.ExtAuthPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockExtAuthPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockExtAuthPolicySet) Delete(extAuthPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", extAuthPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockExtAuthPolicySetMockRecorder) Delete(extAuthPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Delete), extAuthPolicy) +} + +// Delta mocks base method. +func (m *MockExtAuthPolicySet) Delta(newSet v2sets.ExtAuthPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockExtAuthPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockExtAuthPolicySet) Difference(set v2sets.ExtAuthPolicySet) v2sets.ExtAuthPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.ExtAuthPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockExtAuthPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockExtAuthPolicySet) Equal(extAuthPolicySet v2sets.ExtAuthPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", extAuthPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockExtAuthPolicySetMockRecorder) Equal(extAuthPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Equal), extAuthPolicySet) +} + +// Find mocks base method. +func (m *MockExtAuthPolicySet) Find(id ezkube.ResourceId) (*v2.ExtAuthPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.ExtAuthPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockExtAuthPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockExtAuthPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockExtAuthPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockExtAuthPolicySet) Has(extAuthPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", extAuthPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockExtAuthPolicySetMockRecorder) Has(extAuthPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Has), extAuthPolicy) +} + +// Insert mocks base method. +func (m *MockExtAuthPolicySet) Insert(extAuthPolicy ...*v2.ExtAuthPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range extAuthPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockExtAuthPolicySetMockRecorder) Insert(extAuthPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Insert), extAuthPolicy...) +} + +// Intersection mocks base method. +func (m *MockExtAuthPolicySet) Intersection(set v2sets.ExtAuthPolicySet) v2sets.ExtAuthPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.ExtAuthPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockExtAuthPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockExtAuthPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockExtAuthPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockExtAuthPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockExtAuthPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockExtAuthPolicySet) List(filterResource ...func(*v2.ExtAuthPolicy) bool) []*v2.ExtAuthPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.ExtAuthPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockExtAuthPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockExtAuthPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockExtAuthPolicySet) Map() map[string]*v2.ExtAuthPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.ExtAuthPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockExtAuthPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockExtAuthPolicySet) Union(set v2sets.ExtAuthPolicySet) v2sets.ExtAuthPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.ExtAuthPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockExtAuthPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockExtAuthPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockExtAuthPolicySet) UnsortedList(filterResource ...func(*v2.ExtAuthPolicy) bool) []*v2.ExtAuthPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.ExtAuthPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockExtAuthPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockExtAuthPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockWAFPolicySet is a mock of WAFPolicySet interface. +type MockWAFPolicySet struct { + ctrl *gomock.Controller + recorder *MockWAFPolicySetMockRecorder +} + +// MockWAFPolicySetMockRecorder is the mock recorder for MockWAFPolicySet. +type MockWAFPolicySetMockRecorder struct { + mock *MockWAFPolicySet +} + +// NewMockWAFPolicySet creates a new mock instance. +func NewMockWAFPolicySet(ctrl *gomock.Controller) *MockWAFPolicySet { + mock := &MockWAFPolicySet{ctrl: ctrl} + mock.recorder = &MockWAFPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWAFPolicySet) EXPECT() *MockWAFPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockWAFPolicySet) Clone() v2sets.WAFPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.WAFPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockWAFPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockWAFPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockWAFPolicySet) Delete(wAFPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", wAFPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockWAFPolicySetMockRecorder) Delete(wAFPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockWAFPolicySet)(nil).Delete), wAFPolicy) +} + +// Delta mocks base method. +func (m *MockWAFPolicySet) Delta(newSet v2sets.WAFPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockWAFPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockWAFPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockWAFPolicySet) Difference(set v2sets.WAFPolicySet) v2sets.WAFPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.WAFPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockWAFPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockWAFPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockWAFPolicySet) Equal(wAFPolicySet v2sets.WAFPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", wAFPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockWAFPolicySetMockRecorder) Equal(wAFPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockWAFPolicySet)(nil).Equal), wAFPolicySet) +} + +// Find mocks base method. +func (m *MockWAFPolicySet) Find(id ezkube.ResourceId) (*v2.WAFPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.WAFPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockWAFPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockWAFPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockWAFPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockWAFPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockWAFPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockWAFPolicySet) Has(wAFPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", wAFPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockWAFPolicySetMockRecorder) Has(wAFPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockWAFPolicySet)(nil).Has), wAFPolicy) +} + +// Insert mocks base method. +func (m *MockWAFPolicySet) Insert(wAFPolicy ...*v2.WAFPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range wAFPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockWAFPolicySetMockRecorder) Insert(wAFPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockWAFPolicySet)(nil).Insert), wAFPolicy...) +} + +// Intersection mocks base method. +func (m *MockWAFPolicySet) Intersection(set v2sets.WAFPolicySet) v2sets.WAFPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.WAFPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockWAFPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockWAFPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockWAFPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockWAFPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockWAFPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockWAFPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockWAFPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockWAFPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockWAFPolicySet) List(filterResource ...func(*v2.WAFPolicy) bool) []*v2.WAFPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.WAFPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockWAFPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockWAFPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockWAFPolicySet) Map() map[string]*v2.WAFPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.WAFPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockWAFPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockWAFPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockWAFPolicySet) Union(set v2sets.WAFPolicySet) v2sets.WAFPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.WAFPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockWAFPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockWAFPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockWAFPolicySet) UnsortedList(filterResource ...func(*v2.WAFPolicy) bool) []*v2.WAFPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.WAFPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockWAFPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockWAFPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockJWTPolicySet is a mock of JWTPolicySet interface. +type MockJWTPolicySet struct { + ctrl *gomock.Controller + recorder *MockJWTPolicySetMockRecorder +} + +// MockJWTPolicySetMockRecorder is the mock recorder for MockJWTPolicySet. +type MockJWTPolicySetMockRecorder struct { + mock *MockJWTPolicySet +} + +// NewMockJWTPolicySet creates a new mock instance. +func NewMockJWTPolicySet(ctrl *gomock.Controller) *MockJWTPolicySet { + mock := &MockJWTPolicySet{ctrl: ctrl} + mock.recorder = &MockJWTPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockJWTPolicySet) EXPECT() *MockJWTPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockJWTPolicySet) Clone() v2sets.JWTPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.JWTPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockJWTPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockJWTPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockJWTPolicySet) Delete(jWTPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", jWTPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockJWTPolicySetMockRecorder) Delete(jWTPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockJWTPolicySet)(nil).Delete), jWTPolicy) +} + +// Delta mocks base method. +func (m *MockJWTPolicySet) Delta(newSet v2sets.JWTPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockJWTPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockJWTPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockJWTPolicySet) Difference(set v2sets.JWTPolicySet) v2sets.JWTPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.JWTPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockJWTPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockJWTPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockJWTPolicySet) Equal(jWTPolicySet v2sets.JWTPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", jWTPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockJWTPolicySetMockRecorder) Equal(jWTPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockJWTPolicySet)(nil).Equal), jWTPolicySet) +} + +// Find mocks base method. +func (m *MockJWTPolicySet) Find(id ezkube.ResourceId) (*v2.JWTPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.JWTPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockJWTPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockJWTPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockJWTPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockJWTPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockJWTPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockJWTPolicySet) Has(jWTPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", jWTPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockJWTPolicySetMockRecorder) Has(jWTPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockJWTPolicySet)(nil).Has), jWTPolicy) +} + +// Insert mocks base method. +func (m *MockJWTPolicySet) Insert(jWTPolicy ...*v2.JWTPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range jWTPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockJWTPolicySetMockRecorder) Insert(jWTPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockJWTPolicySet)(nil).Insert), jWTPolicy...) +} + +// Intersection mocks base method. +func (m *MockJWTPolicySet) Intersection(set v2sets.JWTPolicySet) v2sets.JWTPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.JWTPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockJWTPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockJWTPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockJWTPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockJWTPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockJWTPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockJWTPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockJWTPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockJWTPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockJWTPolicySet) List(filterResource ...func(*v2.JWTPolicy) bool) []*v2.JWTPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.JWTPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockJWTPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockJWTPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockJWTPolicySet) Map() map[string]*v2.JWTPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.JWTPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockJWTPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockJWTPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockJWTPolicySet) Union(set v2sets.JWTPolicySet) v2sets.JWTPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.JWTPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockJWTPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockJWTPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockJWTPolicySet) UnsortedList(filterResource ...func(*v2.JWTPolicy) bool) []*v2.JWTPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.JWTPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockJWTPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockJWTPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockClientTLSPolicySet is a mock of ClientTLSPolicySet interface. +type MockClientTLSPolicySet struct { + ctrl *gomock.Controller + recorder *MockClientTLSPolicySetMockRecorder +} + +// MockClientTLSPolicySetMockRecorder is the mock recorder for MockClientTLSPolicySet. +type MockClientTLSPolicySetMockRecorder struct { + mock *MockClientTLSPolicySet +} + +// NewMockClientTLSPolicySet creates a new mock instance. +func NewMockClientTLSPolicySet(ctrl *gomock.Controller) *MockClientTLSPolicySet { + mock := &MockClientTLSPolicySet{ctrl: ctrl} + mock.recorder = &MockClientTLSPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientTLSPolicySet) EXPECT() *MockClientTLSPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockClientTLSPolicySet) Clone() v2sets.ClientTLSPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.ClientTLSPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockClientTLSPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockClientTLSPolicySet) Delete(clientTLSPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", clientTLSPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockClientTLSPolicySetMockRecorder) Delete(clientTLSPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Delete), clientTLSPolicy) +} + +// Delta mocks base method. +func (m *MockClientTLSPolicySet) Delta(newSet v2sets.ClientTLSPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockClientTLSPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockClientTLSPolicySet) Difference(set v2sets.ClientTLSPolicySet) v2sets.ClientTLSPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.ClientTLSPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockClientTLSPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockClientTLSPolicySet) Equal(clientTLSPolicySet v2sets.ClientTLSPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", clientTLSPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockClientTLSPolicySetMockRecorder) Equal(clientTLSPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Equal), clientTLSPolicySet) +} + +// Find mocks base method. +func (m *MockClientTLSPolicySet) Find(id ezkube.ResourceId) (*v2.ClientTLSPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.ClientTLSPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockClientTLSPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockClientTLSPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockClientTLSPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockClientTLSPolicySet) Has(clientTLSPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", clientTLSPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockClientTLSPolicySetMockRecorder) Has(clientTLSPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Has), clientTLSPolicy) +} + +// Insert mocks base method. +func (m *MockClientTLSPolicySet) Insert(clientTLSPolicy ...*v2.ClientTLSPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range clientTLSPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockClientTLSPolicySetMockRecorder) Insert(clientTLSPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Insert), clientTLSPolicy...) +} + +// Intersection mocks base method. +func (m *MockClientTLSPolicySet) Intersection(set v2sets.ClientTLSPolicySet) v2sets.ClientTLSPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.ClientTLSPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockClientTLSPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockClientTLSPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockClientTLSPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockClientTLSPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockClientTLSPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockClientTLSPolicySet) List(filterResource ...func(*v2.ClientTLSPolicy) bool) []*v2.ClientTLSPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.ClientTLSPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockClientTLSPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockClientTLSPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockClientTLSPolicySet) Map() map[string]*v2.ClientTLSPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.ClientTLSPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockClientTLSPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockClientTLSPolicySet) Union(set v2sets.ClientTLSPolicySet) v2sets.ClientTLSPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.ClientTLSPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockClientTLSPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockClientTLSPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockClientTLSPolicySet) UnsortedList(filterResource ...func(*v2.ClientTLSPolicy) bool) []*v2.ClientTLSPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.ClientTLSPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockClientTLSPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockClientTLSPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockGraphQLAllowedQueryPolicySet is a mock of GraphQLAllowedQueryPolicySet interface. +type MockGraphQLAllowedQueryPolicySet struct { + ctrl *gomock.Controller + recorder *MockGraphQLAllowedQueryPolicySetMockRecorder +} + +// MockGraphQLAllowedQueryPolicySetMockRecorder is the mock recorder for MockGraphQLAllowedQueryPolicySet. +type MockGraphQLAllowedQueryPolicySetMockRecorder struct { + mock *MockGraphQLAllowedQueryPolicySet +} + +// NewMockGraphQLAllowedQueryPolicySet creates a new mock instance. +func NewMockGraphQLAllowedQueryPolicySet(ctrl *gomock.Controller) *MockGraphQLAllowedQueryPolicySet { + mock := &MockGraphQLAllowedQueryPolicySet{ctrl: ctrl} + mock.recorder = &MockGraphQLAllowedQueryPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockGraphQLAllowedQueryPolicySet) EXPECT() *MockGraphQLAllowedQueryPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Clone() v2sets.GraphQLAllowedQueryPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.GraphQLAllowedQueryPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Delete(graphQLAllowedQueryPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", graphQLAllowedQueryPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Delete(graphQLAllowedQueryPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Delete), graphQLAllowedQueryPolicy) +} + +// Delta mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Delta(newSet v2sets.GraphQLAllowedQueryPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Difference(set v2sets.GraphQLAllowedQueryPolicySet) v2sets.GraphQLAllowedQueryPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.GraphQLAllowedQueryPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Equal(graphQLAllowedQueryPolicySet v2sets.GraphQLAllowedQueryPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", graphQLAllowedQueryPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Equal(graphQLAllowedQueryPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Equal), graphQLAllowedQueryPolicySet) +} + +// Find mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Find(id ezkube.ResourceId) (*v2.GraphQLAllowedQueryPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.GraphQLAllowedQueryPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Has(graphQLAllowedQueryPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", graphQLAllowedQueryPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Has(graphQLAllowedQueryPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Has), graphQLAllowedQueryPolicy) +} + +// Insert mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Insert(graphQLAllowedQueryPolicy ...*v2.GraphQLAllowedQueryPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range graphQLAllowedQueryPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Insert(graphQLAllowedQueryPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Insert), graphQLAllowedQueryPolicy...) +} + +// Intersection mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Intersection(set v2sets.GraphQLAllowedQueryPolicySet) v2sets.GraphQLAllowedQueryPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.GraphQLAllowedQueryPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) List(filterResource ...func(*v2.GraphQLAllowedQueryPolicy) bool) []*v2.GraphQLAllowedQueryPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.GraphQLAllowedQueryPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Map() map[string]*v2.GraphQLAllowedQueryPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.GraphQLAllowedQueryPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) Union(set v2sets.GraphQLAllowedQueryPolicySet) v2sets.GraphQLAllowedQueryPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.GraphQLAllowedQueryPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockGraphQLAllowedQueryPolicySet) UnsortedList(filterResource ...func(*v2.GraphQLAllowedQueryPolicy) bool) []*v2.GraphQLAllowedQueryPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.GraphQLAllowedQueryPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockGraphQLAllowedQueryPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockGraphQLAllowedQueryPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockDLPPolicySet is a mock of DLPPolicySet interface. +type MockDLPPolicySet struct { + ctrl *gomock.Controller + recorder *MockDLPPolicySetMockRecorder +} + +// MockDLPPolicySetMockRecorder is the mock recorder for MockDLPPolicySet. +type MockDLPPolicySetMockRecorder struct { + mock *MockDLPPolicySet +} + +// NewMockDLPPolicySet creates a new mock instance. +func NewMockDLPPolicySet(ctrl *gomock.Controller) *MockDLPPolicySet { + mock := &MockDLPPolicySet{ctrl: ctrl} + mock.recorder = &MockDLPPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDLPPolicySet) EXPECT() *MockDLPPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockDLPPolicySet) Clone() v2sets.DLPPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.DLPPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockDLPPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockDLPPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockDLPPolicySet) Delete(dLPPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", dLPPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockDLPPolicySetMockRecorder) Delete(dLPPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockDLPPolicySet)(nil).Delete), dLPPolicy) +} + +// Delta mocks base method. +func (m *MockDLPPolicySet) Delta(newSet v2sets.DLPPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockDLPPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockDLPPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockDLPPolicySet) Difference(set v2sets.DLPPolicySet) v2sets.DLPPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.DLPPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockDLPPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockDLPPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockDLPPolicySet) Equal(dLPPolicySet v2sets.DLPPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", dLPPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockDLPPolicySetMockRecorder) Equal(dLPPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockDLPPolicySet)(nil).Equal), dLPPolicySet) +} + +// Find mocks base method. +func (m *MockDLPPolicySet) Find(id ezkube.ResourceId) (*v2.DLPPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.DLPPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockDLPPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockDLPPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockDLPPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockDLPPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockDLPPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockDLPPolicySet) Has(dLPPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", dLPPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockDLPPolicySetMockRecorder) Has(dLPPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockDLPPolicySet)(nil).Has), dLPPolicy) +} + +// Insert mocks base method. +func (m *MockDLPPolicySet) Insert(dLPPolicy ...*v2.DLPPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range dLPPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockDLPPolicySetMockRecorder) Insert(dLPPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockDLPPolicySet)(nil).Insert), dLPPolicy...) +} + +// Intersection mocks base method. +func (m *MockDLPPolicySet) Intersection(set v2sets.DLPPolicySet) v2sets.DLPPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.DLPPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockDLPPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockDLPPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockDLPPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockDLPPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockDLPPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockDLPPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockDLPPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockDLPPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockDLPPolicySet) List(filterResource ...func(*v2.DLPPolicy) bool) []*v2.DLPPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.DLPPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockDLPPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockDLPPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockDLPPolicySet) Map() map[string]*v2.DLPPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.DLPPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockDLPPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockDLPPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockDLPPolicySet) Union(set v2sets.DLPPolicySet) v2sets.DLPPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.DLPPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockDLPPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockDLPPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockDLPPolicySet) UnsortedList(filterResource ...func(*v2.DLPPolicy) bool) []*v2.DLPPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.DLPPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockDLPPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockDLPPolicySet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/security.policy.gloo.solo.io/v2/sets/sets.go b/client-go/security.policy.gloo.solo.io/v2/sets/sets.go new file mode 100644 index 000000000..ae8b04975 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/sets/sets.go @@ -0,0 +1,2021 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2sets + +import ( + security_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type AccessPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*security_policy_gloo_solo_io_v2.AccessPolicy) bool) []*security_policy_gloo_solo_io_v2.AccessPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.AccessPolicy) bool) []*security_policy_gloo_solo_io_v2.AccessPolicy + // Return the Set as a map of key to resource. + Map() map[string]*security_policy_gloo_solo_io_v2.AccessPolicy + // Insert a resource into the set. + Insert(accessPolicy ...*security_policy_gloo_solo_io_v2.AccessPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(accessPolicySet AccessPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(accessPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(accessPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set AccessPolicySet) AccessPolicySet + // Return the difference with the provided set + Difference(set AccessPolicySet) AccessPolicySet + // Return the intersection with the provided set + Intersection(set AccessPolicySet) AccessPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.AccessPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another AccessPolicySet + Delta(newSet AccessPolicySet) sksets.ResourceDelta + // Create a deep copy of the current AccessPolicySet + Clone() AccessPolicySet +} + +func makeGenericAccessPolicySet(accessPolicyList []*security_policy_gloo_solo_io_v2.AccessPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range accessPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type accessPolicySet struct { + set sksets.ResourceSet +} + +func NewAccessPolicySet(accessPolicyList ...*security_policy_gloo_solo_io_v2.AccessPolicy) AccessPolicySet { + return &accessPolicySet{set: makeGenericAccessPolicySet(accessPolicyList)} +} + +func NewAccessPolicySetFromList(accessPolicyList *security_policy_gloo_solo_io_v2.AccessPolicyList) AccessPolicySet { + list := make([]*security_policy_gloo_solo_io_v2.AccessPolicy, 0, len(accessPolicyList.Items)) + for idx := range accessPolicyList.Items { + list = append(list, &accessPolicyList.Items[idx]) + } + return &accessPolicySet{set: makeGenericAccessPolicySet(list)} +} + +func (s *accessPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *accessPolicySet) List(filterResource ...func(*security_policy_gloo_solo_io_v2.AccessPolicy) bool) []*security_policy_gloo_solo_io_v2.AccessPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.AccessPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + accessPolicyList := make([]*security_policy_gloo_solo_io_v2.AccessPolicy, 0, len(objs)) + for _, obj := range objs { + accessPolicyList = append(accessPolicyList, obj.(*security_policy_gloo_solo_io_v2.AccessPolicy)) + } + return accessPolicyList +} + +func (s *accessPolicySet) UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.AccessPolicy) bool) []*security_policy_gloo_solo_io_v2.AccessPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.AccessPolicy)) + }) + } + + var accessPolicyList []*security_policy_gloo_solo_io_v2.AccessPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + accessPolicyList = append(accessPolicyList, obj.(*security_policy_gloo_solo_io_v2.AccessPolicy)) + } + return accessPolicyList +} + +func (s *accessPolicySet) Map() map[string]*security_policy_gloo_solo_io_v2.AccessPolicy { + if s == nil { + return nil + } + + newMap := map[string]*security_policy_gloo_solo_io_v2.AccessPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*security_policy_gloo_solo_io_v2.AccessPolicy) + } + return newMap +} + +func (s *accessPolicySet) Insert( + accessPolicyList ...*security_policy_gloo_solo_io_v2.AccessPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range accessPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *accessPolicySet) Has(accessPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(accessPolicy) +} + +func (s *accessPolicySet) Equal( + accessPolicySet AccessPolicySet, +) bool { + if s == nil { + return accessPolicySet == nil + } + return s.Generic().Equal(accessPolicySet.Generic()) +} + +func (s *accessPolicySet) Delete(AccessPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(AccessPolicy) +} + +func (s *accessPolicySet) Union(set AccessPolicySet) AccessPolicySet { + if s == nil { + return set + } + return NewAccessPolicySet(append(s.List(), set.List()...)...) +} + +func (s *accessPolicySet) Difference(set AccessPolicySet) AccessPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &accessPolicySet{set: newSet} +} + +func (s *accessPolicySet) Intersection(set AccessPolicySet) AccessPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var accessPolicyList []*security_policy_gloo_solo_io_v2.AccessPolicy + for _, obj := range newSet.List() { + accessPolicyList = append(accessPolicyList, obj.(*security_policy_gloo_solo_io_v2.AccessPolicy)) + } + return NewAccessPolicySet(accessPolicyList...) +} + +func (s *accessPolicySet) Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.AccessPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find AccessPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&security_policy_gloo_solo_io_v2.AccessPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*security_policy_gloo_solo_io_v2.AccessPolicy), nil +} + +func (s *accessPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *accessPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *accessPolicySet) Delta(newSet AccessPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *accessPolicySet) Clone() AccessPolicySet { + if s == nil { + return nil + } + return &accessPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type CORSPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*security_policy_gloo_solo_io_v2.CORSPolicy) bool) []*security_policy_gloo_solo_io_v2.CORSPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.CORSPolicy) bool) []*security_policy_gloo_solo_io_v2.CORSPolicy + // Return the Set as a map of key to resource. + Map() map[string]*security_policy_gloo_solo_io_v2.CORSPolicy + // Insert a resource into the set. + Insert(cORSPolicy ...*security_policy_gloo_solo_io_v2.CORSPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(cORSPolicySet CORSPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(cORSPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(cORSPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set CORSPolicySet) CORSPolicySet + // Return the difference with the provided set + Difference(set CORSPolicySet) CORSPolicySet + // Return the intersection with the provided set + Intersection(set CORSPolicySet) CORSPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.CORSPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another CORSPolicySet + Delta(newSet CORSPolicySet) sksets.ResourceDelta + // Create a deep copy of the current CORSPolicySet + Clone() CORSPolicySet +} + +func makeGenericCORSPolicySet(cORSPolicyList []*security_policy_gloo_solo_io_v2.CORSPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range cORSPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type cORSPolicySet struct { + set sksets.ResourceSet +} + +func NewCORSPolicySet(cORSPolicyList ...*security_policy_gloo_solo_io_v2.CORSPolicy) CORSPolicySet { + return &cORSPolicySet{set: makeGenericCORSPolicySet(cORSPolicyList)} +} + +func NewCORSPolicySetFromList(cORSPolicyList *security_policy_gloo_solo_io_v2.CORSPolicyList) CORSPolicySet { + list := make([]*security_policy_gloo_solo_io_v2.CORSPolicy, 0, len(cORSPolicyList.Items)) + for idx := range cORSPolicyList.Items { + list = append(list, &cORSPolicyList.Items[idx]) + } + return &cORSPolicySet{set: makeGenericCORSPolicySet(list)} +} + +func (s *cORSPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *cORSPolicySet) List(filterResource ...func(*security_policy_gloo_solo_io_v2.CORSPolicy) bool) []*security_policy_gloo_solo_io_v2.CORSPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.CORSPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + cORSPolicyList := make([]*security_policy_gloo_solo_io_v2.CORSPolicy, 0, len(objs)) + for _, obj := range objs { + cORSPolicyList = append(cORSPolicyList, obj.(*security_policy_gloo_solo_io_v2.CORSPolicy)) + } + return cORSPolicyList +} + +func (s *cORSPolicySet) UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.CORSPolicy) bool) []*security_policy_gloo_solo_io_v2.CORSPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.CORSPolicy)) + }) + } + + var cORSPolicyList []*security_policy_gloo_solo_io_v2.CORSPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + cORSPolicyList = append(cORSPolicyList, obj.(*security_policy_gloo_solo_io_v2.CORSPolicy)) + } + return cORSPolicyList +} + +func (s *cORSPolicySet) Map() map[string]*security_policy_gloo_solo_io_v2.CORSPolicy { + if s == nil { + return nil + } + + newMap := map[string]*security_policy_gloo_solo_io_v2.CORSPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*security_policy_gloo_solo_io_v2.CORSPolicy) + } + return newMap +} + +func (s *cORSPolicySet) Insert( + cORSPolicyList ...*security_policy_gloo_solo_io_v2.CORSPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range cORSPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *cORSPolicySet) Has(cORSPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(cORSPolicy) +} + +func (s *cORSPolicySet) Equal( + cORSPolicySet CORSPolicySet, +) bool { + if s == nil { + return cORSPolicySet == nil + } + return s.Generic().Equal(cORSPolicySet.Generic()) +} + +func (s *cORSPolicySet) Delete(CORSPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(CORSPolicy) +} + +func (s *cORSPolicySet) Union(set CORSPolicySet) CORSPolicySet { + if s == nil { + return set + } + return NewCORSPolicySet(append(s.List(), set.List()...)...) +} + +func (s *cORSPolicySet) Difference(set CORSPolicySet) CORSPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &cORSPolicySet{set: newSet} +} + +func (s *cORSPolicySet) Intersection(set CORSPolicySet) CORSPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var cORSPolicyList []*security_policy_gloo_solo_io_v2.CORSPolicy + for _, obj := range newSet.List() { + cORSPolicyList = append(cORSPolicyList, obj.(*security_policy_gloo_solo_io_v2.CORSPolicy)) + } + return NewCORSPolicySet(cORSPolicyList...) +} + +func (s *cORSPolicySet) Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.CORSPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find CORSPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&security_policy_gloo_solo_io_v2.CORSPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*security_policy_gloo_solo_io_v2.CORSPolicy), nil +} + +func (s *cORSPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *cORSPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *cORSPolicySet) Delta(newSet CORSPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *cORSPolicySet) Clone() CORSPolicySet { + if s == nil { + return nil + } + return &cORSPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type CSRFPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*security_policy_gloo_solo_io_v2.CSRFPolicy) bool) []*security_policy_gloo_solo_io_v2.CSRFPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.CSRFPolicy) bool) []*security_policy_gloo_solo_io_v2.CSRFPolicy + // Return the Set as a map of key to resource. + Map() map[string]*security_policy_gloo_solo_io_v2.CSRFPolicy + // Insert a resource into the set. + Insert(cSRFPolicy ...*security_policy_gloo_solo_io_v2.CSRFPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(cSRFPolicySet CSRFPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(cSRFPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(cSRFPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set CSRFPolicySet) CSRFPolicySet + // Return the difference with the provided set + Difference(set CSRFPolicySet) CSRFPolicySet + // Return the intersection with the provided set + Intersection(set CSRFPolicySet) CSRFPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.CSRFPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another CSRFPolicySet + Delta(newSet CSRFPolicySet) sksets.ResourceDelta + // Create a deep copy of the current CSRFPolicySet + Clone() CSRFPolicySet +} + +func makeGenericCSRFPolicySet(cSRFPolicyList []*security_policy_gloo_solo_io_v2.CSRFPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range cSRFPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type cSRFPolicySet struct { + set sksets.ResourceSet +} + +func NewCSRFPolicySet(cSRFPolicyList ...*security_policy_gloo_solo_io_v2.CSRFPolicy) CSRFPolicySet { + return &cSRFPolicySet{set: makeGenericCSRFPolicySet(cSRFPolicyList)} +} + +func NewCSRFPolicySetFromList(cSRFPolicyList *security_policy_gloo_solo_io_v2.CSRFPolicyList) CSRFPolicySet { + list := make([]*security_policy_gloo_solo_io_v2.CSRFPolicy, 0, len(cSRFPolicyList.Items)) + for idx := range cSRFPolicyList.Items { + list = append(list, &cSRFPolicyList.Items[idx]) + } + return &cSRFPolicySet{set: makeGenericCSRFPolicySet(list)} +} + +func (s *cSRFPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *cSRFPolicySet) List(filterResource ...func(*security_policy_gloo_solo_io_v2.CSRFPolicy) bool) []*security_policy_gloo_solo_io_v2.CSRFPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.CSRFPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + cSRFPolicyList := make([]*security_policy_gloo_solo_io_v2.CSRFPolicy, 0, len(objs)) + for _, obj := range objs { + cSRFPolicyList = append(cSRFPolicyList, obj.(*security_policy_gloo_solo_io_v2.CSRFPolicy)) + } + return cSRFPolicyList +} + +func (s *cSRFPolicySet) UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.CSRFPolicy) bool) []*security_policy_gloo_solo_io_v2.CSRFPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.CSRFPolicy)) + }) + } + + var cSRFPolicyList []*security_policy_gloo_solo_io_v2.CSRFPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + cSRFPolicyList = append(cSRFPolicyList, obj.(*security_policy_gloo_solo_io_v2.CSRFPolicy)) + } + return cSRFPolicyList +} + +func (s *cSRFPolicySet) Map() map[string]*security_policy_gloo_solo_io_v2.CSRFPolicy { + if s == nil { + return nil + } + + newMap := map[string]*security_policy_gloo_solo_io_v2.CSRFPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*security_policy_gloo_solo_io_v2.CSRFPolicy) + } + return newMap +} + +func (s *cSRFPolicySet) Insert( + cSRFPolicyList ...*security_policy_gloo_solo_io_v2.CSRFPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range cSRFPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *cSRFPolicySet) Has(cSRFPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(cSRFPolicy) +} + +func (s *cSRFPolicySet) Equal( + cSRFPolicySet CSRFPolicySet, +) bool { + if s == nil { + return cSRFPolicySet == nil + } + return s.Generic().Equal(cSRFPolicySet.Generic()) +} + +func (s *cSRFPolicySet) Delete(CSRFPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(CSRFPolicy) +} + +func (s *cSRFPolicySet) Union(set CSRFPolicySet) CSRFPolicySet { + if s == nil { + return set + } + return NewCSRFPolicySet(append(s.List(), set.List()...)...) +} + +func (s *cSRFPolicySet) Difference(set CSRFPolicySet) CSRFPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &cSRFPolicySet{set: newSet} +} + +func (s *cSRFPolicySet) Intersection(set CSRFPolicySet) CSRFPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var cSRFPolicyList []*security_policy_gloo_solo_io_v2.CSRFPolicy + for _, obj := range newSet.List() { + cSRFPolicyList = append(cSRFPolicyList, obj.(*security_policy_gloo_solo_io_v2.CSRFPolicy)) + } + return NewCSRFPolicySet(cSRFPolicyList...) +} + +func (s *cSRFPolicySet) Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.CSRFPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find CSRFPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&security_policy_gloo_solo_io_v2.CSRFPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*security_policy_gloo_solo_io_v2.CSRFPolicy), nil +} + +func (s *cSRFPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *cSRFPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *cSRFPolicySet) Delta(newSet CSRFPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *cSRFPolicySet) Clone() CSRFPolicySet { + if s == nil { + return nil + } + return &cSRFPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type ExtAuthPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) bool) []*security_policy_gloo_solo_io_v2.ExtAuthPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) bool) []*security_policy_gloo_solo_io_v2.ExtAuthPolicy + // Return the Set as a map of key to resource. + Map() map[string]*security_policy_gloo_solo_io_v2.ExtAuthPolicy + // Insert a resource into the set. + Insert(extAuthPolicy ...*security_policy_gloo_solo_io_v2.ExtAuthPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(extAuthPolicySet ExtAuthPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(extAuthPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(extAuthPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set ExtAuthPolicySet) ExtAuthPolicySet + // Return the difference with the provided set + Difference(set ExtAuthPolicySet) ExtAuthPolicySet + // Return the intersection with the provided set + Intersection(set ExtAuthPolicySet) ExtAuthPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.ExtAuthPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ExtAuthPolicySet + Delta(newSet ExtAuthPolicySet) sksets.ResourceDelta + // Create a deep copy of the current ExtAuthPolicySet + Clone() ExtAuthPolicySet +} + +func makeGenericExtAuthPolicySet(extAuthPolicyList []*security_policy_gloo_solo_io_v2.ExtAuthPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range extAuthPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type extAuthPolicySet struct { + set sksets.ResourceSet +} + +func NewExtAuthPolicySet(extAuthPolicyList ...*security_policy_gloo_solo_io_v2.ExtAuthPolicy) ExtAuthPolicySet { + return &extAuthPolicySet{set: makeGenericExtAuthPolicySet(extAuthPolicyList)} +} + +func NewExtAuthPolicySetFromList(extAuthPolicyList *security_policy_gloo_solo_io_v2.ExtAuthPolicyList) ExtAuthPolicySet { + list := make([]*security_policy_gloo_solo_io_v2.ExtAuthPolicy, 0, len(extAuthPolicyList.Items)) + for idx := range extAuthPolicyList.Items { + list = append(list, &extAuthPolicyList.Items[idx]) + } + return &extAuthPolicySet{set: makeGenericExtAuthPolicySet(list)} +} + +func (s *extAuthPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *extAuthPolicySet) List(filterResource ...func(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) bool) []*security_policy_gloo_solo_io_v2.ExtAuthPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + extAuthPolicyList := make([]*security_policy_gloo_solo_io_v2.ExtAuthPolicy, 0, len(objs)) + for _, obj := range objs { + extAuthPolicyList = append(extAuthPolicyList, obj.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy)) + } + return extAuthPolicyList +} + +func (s *extAuthPolicySet) UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) bool) []*security_policy_gloo_solo_io_v2.ExtAuthPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy)) + }) + } + + var extAuthPolicyList []*security_policy_gloo_solo_io_v2.ExtAuthPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + extAuthPolicyList = append(extAuthPolicyList, obj.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy)) + } + return extAuthPolicyList +} + +func (s *extAuthPolicySet) Map() map[string]*security_policy_gloo_solo_io_v2.ExtAuthPolicy { + if s == nil { + return nil + } + + newMap := map[string]*security_policy_gloo_solo_io_v2.ExtAuthPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy) + } + return newMap +} + +func (s *extAuthPolicySet) Insert( + extAuthPolicyList ...*security_policy_gloo_solo_io_v2.ExtAuthPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range extAuthPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *extAuthPolicySet) Has(extAuthPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(extAuthPolicy) +} + +func (s *extAuthPolicySet) Equal( + extAuthPolicySet ExtAuthPolicySet, +) bool { + if s == nil { + return extAuthPolicySet == nil + } + return s.Generic().Equal(extAuthPolicySet.Generic()) +} + +func (s *extAuthPolicySet) Delete(ExtAuthPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ExtAuthPolicy) +} + +func (s *extAuthPolicySet) Union(set ExtAuthPolicySet) ExtAuthPolicySet { + if s == nil { + return set + } + return NewExtAuthPolicySet(append(s.List(), set.List()...)...) +} + +func (s *extAuthPolicySet) Difference(set ExtAuthPolicySet) ExtAuthPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &extAuthPolicySet{set: newSet} +} + +func (s *extAuthPolicySet) Intersection(set ExtAuthPolicySet) ExtAuthPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var extAuthPolicyList []*security_policy_gloo_solo_io_v2.ExtAuthPolicy + for _, obj := range newSet.List() { + extAuthPolicyList = append(extAuthPolicyList, obj.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy)) + } + return NewExtAuthPolicySet(extAuthPolicyList...) +} + +func (s *extAuthPolicySet) Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.ExtAuthPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ExtAuthPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&security_policy_gloo_solo_io_v2.ExtAuthPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*security_policy_gloo_solo_io_v2.ExtAuthPolicy), nil +} + +func (s *extAuthPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *extAuthPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *extAuthPolicySet) Delta(newSet ExtAuthPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *extAuthPolicySet) Clone() ExtAuthPolicySet { + if s == nil { + return nil + } + return &extAuthPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type WAFPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*security_policy_gloo_solo_io_v2.WAFPolicy) bool) []*security_policy_gloo_solo_io_v2.WAFPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.WAFPolicy) bool) []*security_policy_gloo_solo_io_v2.WAFPolicy + // Return the Set as a map of key to resource. + Map() map[string]*security_policy_gloo_solo_io_v2.WAFPolicy + // Insert a resource into the set. + Insert(wAFPolicy ...*security_policy_gloo_solo_io_v2.WAFPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(wAFPolicySet WAFPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(wAFPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(wAFPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set WAFPolicySet) WAFPolicySet + // Return the difference with the provided set + Difference(set WAFPolicySet) WAFPolicySet + // Return the intersection with the provided set + Intersection(set WAFPolicySet) WAFPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.WAFPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another WAFPolicySet + Delta(newSet WAFPolicySet) sksets.ResourceDelta + // Create a deep copy of the current WAFPolicySet + Clone() WAFPolicySet +} + +func makeGenericWAFPolicySet(wAFPolicyList []*security_policy_gloo_solo_io_v2.WAFPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range wAFPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type wAFPolicySet struct { + set sksets.ResourceSet +} + +func NewWAFPolicySet(wAFPolicyList ...*security_policy_gloo_solo_io_v2.WAFPolicy) WAFPolicySet { + return &wAFPolicySet{set: makeGenericWAFPolicySet(wAFPolicyList)} +} + +func NewWAFPolicySetFromList(wAFPolicyList *security_policy_gloo_solo_io_v2.WAFPolicyList) WAFPolicySet { + list := make([]*security_policy_gloo_solo_io_v2.WAFPolicy, 0, len(wAFPolicyList.Items)) + for idx := range wAFPolicyList.Items { + list = append(list, &wAFPolicyList.Items[idx]) + } + return &wAFPolicySet{set: makeGenericWAFPolicySet(list)} +} + +func (s *wAFPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *wAFPolicySet) List(filterResource ...func(*security_policy_gloo_solo_io_v2.WAFPolicy) bool) []*security_policy_gloo_solo_io_v2.WAFPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.WAFPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + wAFPolicyList := make([]*security_policy_gloo_solo_io_v2.WAFPolicy, 0, len(objs)) + for _, obj := range objs { + wAFPolicyList = append(wAFPolicyList, obj.(*security_policy_gloo_solo_io_v2.WAFPolicy)) + } + return wAFPolicyList +} + +func (s *wAFPolicySet) UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.WAFPolicy) bool) []*security_policy_gloo_solo_io_v2.WAFPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.WAFPolicy)) + }) + } + + var wAFPolicyList []*security_policy_gloo_solo_io_v2.WAFPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + wAFPolicyList = append(wAFPolicyList, obj.(*security_policy_gloo_solo_io_v2.WAFPolicy)) + } + return wAFPolicyList +} + +func (s *wAFPolicySet) Map() map[string]*security_policy_gloo_solo_io_v2.WAFPolicy { + if s == nil { + return nil + } + + newMap := map[string]*security_policy_gloo_solo_io_v2.WAFPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*security_policy_gloo_solo_io_v2.WAFPolicy) + } + return newMap +} + +func (s *wAFPolicySet) Insert( + wAFPolicyList ...*security_policy_gloo_solo_io_v2.WAFPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range wAFPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *wAFPolicySet) Has(wAFPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(wAFPolicy) +} + +func (s *wAFPolicySet) Equal( + wAFPolicySet WAFPolicySet, +) bool { + if s == nil { + return wAFPolicySet == nil + } + return s.Generic().Equal(wAFPolicySet.Generic()) +} + +func (s *wAFPolicySet) Delete(WAFPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(WAFPolicy) +} + +func (s *wAFPolicySet) Union(set WAFPolicySet) WAFPolicySet { + if s == nil { + return set + } + return NewWAFPolicySet(append(s.List(), set.List()...)...) +} + +func (s *wAFPolicySet) Difference(set WAFPolicySet) WAFPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &wAFPolicySet{set: newSet} +} + +func (s *wAFPolicySet) Intersection(set WAFPolicySet) WAFPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var wAFPolicyList []*security_policy_gloo_solo_io_v2.WAFPolicy + for _, obj := range newSet.List() { + wAFPolicyList = append(wAFPolicyList, obj.(*security_policy_gloo_solo_io_v2.WAFPolicy)) + } + return NewWAFPolicySet(wAFPolicyList...) +} + +func (s *wAFPolicySet) Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.WAFPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find WAFPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&security_policy_gloo_solo_io_v2.WAFPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*security_policy_gloo_solo_io_v2.WAFPolicy), nil +} + +func (s *wAFPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *wAFPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *wAFPolicySet) Delta(newSet WAFPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *wAFPolicySet) Clone() WAFPolicySet { + if s == nil { + return nil + } + return &wAFPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type JWTPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*security_policy_gloo_solo_io_v2.JWTPolicy) bool) []*security_policy_gloo_solo_io_v2.JWTPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.JWTPolicy) bool) []*security_policy_gloo_solo_io_v2.JWTPolicy + // Return the Set as a map of key to resource. + Map() map[string]*security_policy_gloo_solo_io_v2.JWTPolicy + // Insert a resource into the set. + Insert(jWTPolicy ...*security_policy_gloo_solo_io_v2.JWTPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(jWTPolicySet JWTPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(jWTPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(jWTPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set JWTPolicySet) JWTPolicySet + // Return the difference with the provided set + Difference(set JWTPolicySet) JWTPolicySet + // Return the intersection with the provided set + Intersection(set JWTPolicySet) JWTPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.JWTPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another JWTPolicySet + Delta(newSet JWTPolicySet) sksets.ResourceDelta + // Create a deep copy of the current JWTPolicySet + Clone() JWTPolicySet +} + +func makeGenericJWTPolicySet(jWTPolicyList []*security_policy_gloo_solo_io_v2.JWTPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range jWTPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type jWTPolicySet struct { + set sksets.ResourceSet +} + +func NewJWTPolicySet(jWTPolicyList ...*security_policy_gloo_solo_io_v2.JWTPolicy) JWTPolicySet { + return &jWTPolicySet{set: makeGenericJWTPolicySet(jWTPolicyList)} +} + +func NewJWTPolicySetFromList(jWTPolicyList *security_policy_gloo_solo_io_v2.JWTPolicyList) JWTPolicySet { + list := make([]*security_policy_gloo_solo_io_v2.JWTPolicy, 0, len(jWTPolicyList.Items)) + for idx := range jWTPolicyList.Items { + list = append(list, &jWTPolicyList.Items[idx]) + } + return &jWTPolicySet{set: makeGenericJWTPolicySet(list)} +} + +func (s *jWTPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *jWTPolicySet) List(filterResource ...func(*security_policy_gloo_solo_io_v2.JWTPolicy) bool) []*security_policy_gloo_solo_io_v2.JWTPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.JWTPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + jWTPolicyList := make([]*security_policy_gloo_solo_io_v2.JWTPolicy, 0, len(objs)) + for _, obj := range objs { + jWTPolicyList = append(jWTPolicyList, obj.(*security_policy_gloo_solo_io_v2.JWTPolicy)) + } + return jWTPolicyList +} + +func (s *jWTPolicySet) UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.JWTPolicy) bool) []*security_policy_gloo_solo_io_v2.JWTPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.JWTPolicy)) + }) + } + + var jWTPolicyList []*security_policy_gloo_solo_io_v2.JWTPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + jWTPolicyList = append(jWTPolicyList, obj.(*security_policy_gloo_solo_io_v2.JWTPolicy)) + } + return jWTPolicyList +} + +func (s *jWTPolicySet) Map() map[string]*security_policy_gloo_solo_io_v2.JWTPolicy { + if s == nil { + return nil + } + + newMap := map[string]*security_policy_gloo_solo_io_v2.JWTPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*security_policy_gloo_solo_io_v2.JWTPolicy) + } + return newMap +} + +func (s *jWTPolicySet) Insert( + jWTPolicyList ...*security_policy_gloo_solo_io_v2.JWTPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range jWTPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *jWTPolicySet) Has(jWTPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(jWTPolicy) +} + +func (s *jWTPolicySet) Equal( + jWTPolicySet JWTPolicySet, +) bool { + if s == nil { + return jWTPolicySet == nil + } + return s.Generic().Equal(jWTPolicySet.Generic()) +} + +func (s *jWTPolicySet) Delete(JWTPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(JWTPolicy) +} + +func (s *jWTPolicySet) Union(set JWTPolicySet) JWTPolicySet { + if s == nil { + return set + } + return NewJWTPolicySet(append(s.List(), set.List()...)...) +} + +func (s *jWTPolicySet) Difference(set JWTPolicySet) JWTPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &jWTPolicySet{set: newSet} +} + +func (s *jWTPolicySet) Intersection(set JWTPolicySet) JWTPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var jWTPolicyList []*security_policy_gloo_solo_io_v2.JWTPolicy + for _, obj := range newSet.List() { + jWTPolicyList = append(jWTPolicyList, obj.(*security_policy_gloo_solo_io_v2.JWTPolicy)) + } + return NewJWTPolicySet(jWTPolicyList...) +} + +func (s *jWTPolicySet) Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.JWTPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find JWTPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&security_policy_gloo_solo_io_v2.JWTPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*security_policy_gloo_solo_io_v2.JWTPolicy), nil +} + +func (s *jWTPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *jWTPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *jWTPolicySet) Delta(newSet JWTPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *jWTPolicySet) Clone() JWTPolicySet { + if s == nil { + return nil + } + return &jWTPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type ClientTLSPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) bool) []*security_policy_gloo_solo_io_v2.ClientTLSPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) bool) []*security_policy_gloo_solo_io_v2.ClientTLSPolicy + // Return the Set as a map of key to resource. + Map() map[string]*security_policy_gloo_solo_io_v2.ClientTLSPolicy + // Insert a resource into the set. + Insert(clientTLSPolicy ...*security_policy_gloo_solo_io_v2.ClientTLSPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(clientTLSPolicySet ClientTLSPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(clientTLSPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(clientTLSPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set ClientTLSPolicySet) ClientTLSPolicySet + // Return the difference with the provided set + Difference(set ClientTLSPolicySet) ClientTLSPolicySet + // Return the intersection with the provided set + Intersection(set ClientTLSPolicySet) ClientTLSPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.ClientTLSPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ClientTLSPolicySet + Delta(newSet ClientTLSPolicySet) sksets.ResourceDelta + // Create a deep copy of the current ClientTLSPolicySet + Clone() ClientTLSPolicySet +} + +func makeGenericClientTLSPolicySet(clientTLSPolicyList []*security_policy_gloo_solo_io_v2.ClientTLSPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range clientTLSPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type clientTLSPolicySet struct { + set sksets.ResourceSet +} + +func NewClientTLSPolicySet(clientTLSPolicyList ...*security_policy_gloo_solo_io_v2.ClientTLSPolicy) ClientTLSPolicySet { + return &clientTLSPolicySet{set: makeGenericClientTLSPolicySet(clientTLSPolicyList)} +} + +func NewClientTLSPolicySetFromList(clientTLSPolicyList *security_policy_gloo_solo_io_v2.ClientTLSPolicyList) ClientTLSPolicySet { + list := make([]*security_policy_gloo_solo_io_v2.ClientTLSPolicy, 0, len(clientTLSPolicyList.Items)) + for idx := range clientTLSPolicyList.Items { + list = append(list, &clientTLSPolicyList.Items[idx]) + } + return &clientTLSPolicySet{set: makeGenericClientTLSPolicySet(list)} +} + +func (s *clientTLSPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *clientTLSPolicySet) List(filterResource ...func(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) bool) []*security_policy_gloo_solo_io_v2.ClientTLSPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + clientTLSPolicyList := make([]*security_policy_gloo_solo_io_v2.ClientTLSPolicy, 0, len(objs)) + for _, obj := range objs { + clientTLSPolicyList = append(clientTLSPolicyList, obj.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy)) + } + return clientTLSPolicyList +} + +func (s *clientTLSPolicySet) UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) bool) []*security_policy_gloo_solo_io_v2.ClientTLSPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy)) + }) + } + + var clientTLSPolicyList []*security_policy_gloo_solo_io_v2.ClientTLSPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + clientTLSPolicyList = append(clientTLSPolicyList, obj.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy)) + } + return clientTLSPolicyList +} + +func (s *clientTLSPolicySet) Map() map[string]*security_policy_gloo_solo_io_v2.ClientTLSPolicy { + if s == nil { + return nil + } + + newMap := map[string]*security_policy_gloo_solo_io_v2.ClientTLSPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy) + } + return newMap +} + +func (s *clientTLSPolicySet) Insert( + clientTLSPolicyList ...*security_policy_gloo_solo_io_v2.ClientTLSPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range clientTLSPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *clientTLSPolicySet) Has(clientTLSPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(clientTLSPolicy) +} + +func (s *clientTLSPolicySet) Equal( + clientTLSPolicySet ClientTLSPolicySet, +) bool { + if s == nil { + return clientTLSPolicySet == nil + } + return s.Generic().Equal(clientTLSPolicySet.Generic()) +} + +func (s *clientTLSPolicySet) Delete(ClientTLSPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ClientTLSPolicy) +} + +func (s *clientTLSPolicySet) Union(set ClientTLSPolicySet) ClientTLSPolicySet { + if s == nil { + return set + } + return NewClientTLSPolicySet(append(s.List(), set.List()...)...) +} + +func (s *clientTLSPolicySet) Difference(set ClientTLSPolicySet) ClientTLSPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &clientTLSPolicySet{set: newSet} +} + +func (s *clientTLSPolicySet) Intersection(set ClientTLSPolicySet) ClientTLSPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var clientTLSPolicyList []*security_policy_gloo_solo_io_v2.ClientTLSPolicy + for _, obj := range newSet.List() { + clientTLSPolicyList = append(clientTLSPolicyList, obj.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy)) + } + return NewClientTLSPolicySet(clientTLSPolicyList...) +} + +func (s *clientTLSPolicySet) Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.ClientTLSPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ClientTLSPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&security_policy_gloo_solo_io_v2.ClientTLSPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*security_policy_gloo_solo_io_v2.ClientTLSPolicy), nil +} + +func (s *clientTLSPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *clientTLSPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *clientTLSPolicySet) Delta(newSet ClientTLSPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *clientTLSPolicySet) Clone() ClientTLSPolicySet { + if s == nil { + return nil + } + return &clientTLSPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type GraphQLAllowedQueryPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) bool) []*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) bool) []*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy + // Return the Set as a map of key to resource. + Map() map[string]*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy + // Insert a resource into the set. + Insert(graphQLAllowedQueryPolicy ...*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(graphQLAllowedQueryPolicySet GraphQLAllowedQueryPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(graphQLAllowedQueryPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(graphQLAllowedQueryPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set GraphQLAllowedQueryPolicySet) GraphQLAllowedQueryPolicySet + // Return the difference with the provided set + Difference(set GraphQLAllowedQueryPolicySet) GraphQLAllowedQueryPolicySet + // Return the intersection with the provided set + Intersection(set GraphQLAllowedQueryPolicySet) GraphQLAllowedQueryPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another GraphQLAllowedQueryPolicySet + Delta(newSet GraphQLAllowedQueryPolicySet) sksets.ResourceDelta + // Create a deep copy of the current GraphQLAllowedQueryPolicySet + Clone() GraphQLAllowedQueryPolicySet +} + +func makeGenericGraphQLAllowedQueryPolicySet(graphQLAllowedQueryPolicyList []*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range graphQLAllowedQueryPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type graphQLAllowedQueryPolicySet struct { + set sksets.ResourceSet +} + +func NewGraphQLAllowedQueryPolicySet(graphQLAllowedQueryPolicyList ...*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) GraphQLAllowedQueryPolicySet { + return &graphQLAllowedQueryPolicySet{set: makeGenericGraphQLAllowedQueryPolicySet(graphQLAllowedQueryPolicyList)} +} + +func NewGraphQLAllowedQueryPolicySetFromList(graphQLAllowedQueryPolicyList *security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicyList) GraphQLAllowedQueryPolicySet { + list := make([]*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy, 0, len(graphQLAllowedQueryPolicyList.Items)) + for idx := range graphQLAllowedQueryPolicyList.Items { + list = append(list, &graphQLAllowedQueryPolicyList.Items[idx]) + } + return &graphQLAllowedQueryPolicySet{set: makeGenericGraphQLAllowedQueryPolicySet(list)} +} + +func (s *graphQLAllowedQueryPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *graphQLAllowedQueryPolicySet) List(filterResource ...func(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) bool) []*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + graphQLAllowedQueryPolicyList := make([]*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy, 0, len(objs)) + for _, obj := range objs { + graphQLAllowedQueryPolicyList = append(graphQLAllowedQueryPolicyList, obj.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy)) + } + return graphQLAllowedQueryPolicyList +} + +func (s *graphQLAllowedQueryPolicySet) UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) bool) []*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy)) + }) + } + + var graphQLAllowedQueryPolicyList []*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + graphQLAllowedQueryPolicyList = append(graphQLAllowedQueryPolicyList, obj.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy)) + } + return graphQLAllowedQueryPolicyList +} + +func (s *graphQLAllowedQueryPolicySet) Map() map[string]*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy { + if s == nil { + return nil + } + + newMap := map[string]*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy) + } + return newMap +} + +func (s *graphQLAllowedQueryPolicySet) Insert( + graphQLAllowedQueryPolicyList ...*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range graphQLAllowedQueryPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *graphQLAllowedQueryPolicySet) Has(graphQLAllowedQueryPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(graphQLAllowedQueryPolicy) +} + +func (s *graphQLAllowedQueryPolicySet) Equal( + graphQLAllowedQueryPolicySet GraphQLAllowedQueryPolicySet, +) bool { + if s == nil { + return graphQLAllowedQueryPolicySet == nil + } + return s.Generic().Equal(graphQLAllowedQueryPolicySet.Generic()) +} + +func (s *graphQLAllowedQueryPolicySet) Delete(GraphQLAllowedQueryPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(GraphQLAllowedQueryPolicy) +} + +func (s *graphQLAllowedQueryPolicySet) Union(set GraphQLAllowedQueryPolicySet) GraphQLAllowedQueryPolicySet { + if s == nil { + return set + } + return NewGraphQLAllowedQueryPolicySet(append(s.List(), set.List()...)...) +} + +func (s *graphQLAllowedQueryPolicySet) Difference(set GraphQLAllowedQueryPolicySet) GraphQLAllowedQueryPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &graphQLAllowedQueryPolicySet{set: newSet} +} + +func (s *graphQLAllowedQueryPolicySet) Intersection(set GraphQLAllowedQueryPolicySet) GraphQLAllowedQueryPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var graphQLAllowedQueryPolicyList []*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy + for _, obj := range newSet.List() { + graphQLAllowedQueryPolicyList = append(graphQLAllowedQueryPolicyList, obj.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy)) + } + return NewGraphQLAllowedQueryPolicySet(graphQLAllowedQueryPolicyList...) +} + +func (s *graphQLAllowedQueryPolicySet) Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find GraphQLAllowedQueryPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*security_policy_gloo_solo_io_v2.GraphQLAllowedQueryPolicy), nil +} + +func (s *graphQLAllowedQueryPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *graphQLAllowedQueryPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *graphQLAllowedQueryPolicySet) Delta(newSet GraphQLAllowedQueryPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *graphQLAllowedQueryPolicySet) Clone() GraphQLAllowedQueryPolicySet { + if s == nil { + return nil + } + return &graphQLAllowedQueryPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type DLPPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*security_policy_gloo_solo_io_v2.DLPPolicy) bool) []*security_policy_gloo_solo_io_v2.DLPPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.DLPPolicy) bool) []*security_policy_gloo_solo_io_v2.DLPPolicy + // Return the Set as a map of key to resource. + Map() map[string]*security_policy_gloo_solo_io_v2.DLPPolicy + // Insert a resource into the set. + Insert(dLPPolicy ...*security_policy_gloo_solo_io_v2.DLPPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(dLPPolicySet DLPPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(dLPPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(dLPPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set DLPPolicySet) DLPPolicySet + // Return the difference with the provided set + Difference(set DLPPolicySet) DLPPolicySet + // Return the intersection with the provided set + Intersection(set DLPPolicySet) DLPPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.DLPPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another DLPPolicySet + Delta(newSet DLPPolicySet) sksets.ResourceDelta + // Create a deep copy of the current DLPPolicySet + Clone() DLPPolicySet +} + +func makeGenericDLPPolicySet(dLPPolicyList []*security_policy_gloo_solo_io_v2.DLPPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range dLPPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type dLPPolicySet struct { + set sksets.ResourceSet +} + +func NewDLPPolicySet(dLPPolicyList ...*security_policy_gloo_solo_io_v2.DLPPolicy) DLPPolicySet { + return &dLPPolicySet{set: makeGenericDLPPolicySet(dLPPolicyList)} +} + +func NewDLPPolicySetFromList(dLPPolicyList *security_policy_gloo_solo_io_v2.DLPPolicyList) DLPPolicySet { + list := make([]*security_policy_gloo_solo_io_v2.DLPPolicy, 0, len(dLPPolicyList.Items)) + for idx := range dLPPolicyList.Items { + list = append(list, &dLPPolicyList.Items[idx]) + } + return &dLPPolicySet{set: makeGenericDLPPolicySet(list)} +} + +func (s *dLPPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *dLPPolicySet) List(filterResource ...func(*security_policy_gloo_solo_io_v2.DLPPolicy) bool) []*security_policy_gloo_solo_io_v2.DLPPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.DLPPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + dLPPolicyList := make([]*security_policy_gloo_solo_io_v2.DLPPolicy, 0, len(objs)) + for _, obj := range objs { + dLPPolicyList = append(dLPPolicyList, obj.(*security_policy_gloo_solo_io_v2.DLPPolicy)) + } + return dLPPolicyList +} + +func (s *dLPPolicySet) UnsortedList(filterResource ...func(*security_policy_gloo_solo_io_v2.DLPPolicy) bool) []*security_policy_gloo_solo_io_v2.DLPPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*security_policy_gloo_solo_io_v2.DLPPolicy)) + }) + } + + var dLPPolicyList []*security_policy_gloo_solo_io_v2.DLPPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + dLPPolicyList = append(dLPPolicyList, obj.(*security_policy_gloo_solo_io_v2.DLPPolicy)) + } + return dLPPolicyList +} + +func (s *dLPPolicySet) Map() map[string]*security_policy_gloo_solo_io_v2.DLPPolicy { + if s == nil { + return nil + } + + newMap := map[string]*security_policy_gloo_solo_io_v2.DLPPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*security_policy_gloo_solo_io_v2.DLPPolicy) + } + return newMap +} + +func (s *dLPPolicySet) Insert( + dLPPolicyList ...*security_policy_gloo_solo_io_v2.DLPPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range dLPPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *dLPPolicySet) Has(dLPPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(dLPPolicy) +} + +func (s *dLPPolicySet) Equal( + dLPPolicySet DLPPolicySet, +) bool { + if s == nil { + return dLPPolicySet == nil + } + return s.Generic().Equal(dLPPolicySet.Generic()) +} + +func (s *dLPPolicySet) Delete(DLPPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(DLPPolicy) +} + +func (s *dLPPolicySet) Union(set DLPPolicySet) DLPPolicySet { + if s == nil { + return set + } + return NewDLPPolicySet(append(s.List(), set.List()...)...) +} + +func (s *dLPPolicySet) Difference(set DLPPolicySet) DLPPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &dLPPolicySet{set: newSet} +} + +func (s *dLPPolicySet) Intersection(set DLPPolicySet) DLPPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var dLPPolicyList []*security_policy_gloo_solo_io_v2.DLPPolicy + for _, obj := range newSet.List() { + dLPPolicyList = append(dLPPolicyList, obj.(*security_policy_gloo_solo_io_v2.DLPPolicy)) + } + return NewDLPPolicySet(dLPPolicyList...) +} + +func (s *dLPPolicySet) Find(id ezkube.ResourceId) (*security_policy_gloo_solo_io_v2.DLPPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find DLPPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&security_policy_gloo_solo_io_v2.DLPPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*security_policy_gloo_solo_io_v2.DLPPolicy), nil +} + +func (s *dLPPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *dLPPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *dLPPolicySet) Delta(newSet DLPPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *dLPPolicySet) Clone() DLPPolicySet { + if s == nil { + return nil + } + return &dLPPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/security.policy.gloo.solo.io/v2/tls/ca_options.pb.clone.go b/client-go/security.policy.gloo.solo.io/v2/tls/ca_options.pb.clone.go new file mode 100644 index 000000000..c465e2795 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/tls/ca_options.pb.clone.go @@ -0,0 +1,139 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/tls/ca_options.proto + +package tls + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_empty "github.com/golang/protobuf/ptypes/empty" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *CommonCertOptions) Clone() proto.Message { + var target *CommonCertOptions + if m == nil { + return target + } + target = &CommonCertOptions{} + + target.TtlDays = m.GetTtlDays() + + target.RsaKeySizeBytes = m.GetRsaKeySizeBytes() + + target.OrgName = m.GetOrgName() + + target.SecretRotationGracePeriodRatio = m.GetSecretRotationGracePeriodRatio() + + return target +} + +// Clone function +func (m *AgentCertificateAuthority) Clone() proto.Message { + var target *AgentCertificateAuthority + if m == nil { + return target + } + target = &AgentCertificateAuthority{} + + switch m.CaSource.(type) { + + case *AgentCertificateAuthority_Vault: + + if h, ok := interface{}(m.GetVault()).(clone.Cloner); ok { + target.CaSource = &AgentCertificateAuthority_Vault{ + Vault: h.Clone().(*VaultCA), + } + } else { + target.CaSource = &AgentCertificateAuthority_Vault{ + Vault: proto.Clone(m.GetVault()).(*VaultCA), + } + } + + } + + return target +} + +// Clone function +func (m *CertificateRotationVerificationMethod) Clone() proto.Message { + var target *CertificateRotationVerificationMethod + if m == nil { + return target + } + target = &CertificateRotationVerificationMethod{} + + switch m.Method.(type) { + + case *CertificateRotationVerificationMethod_None: + + if h, ok := interface{}(m.GetNone()).(clone.Cloner); ok { + target.Method = &CertificateRotationVerificationMethod_None{ + None: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.Method = &CertificateRotationVerificationMethod_None{ + None: proto.Clone(m.GetNone()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + case *CertificateRotationVerificationMethod_Manual: + + if h, ok := interface{}(m.GetManual()).(clone.Cloner); ok { + target.Method = &CertificateRotationVerificationMethod_Manual{ + Manual: h.Clone().(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } else { + target.Method = &CertificateRotationVerificationMethod_Manual{ + Manual: proto.Clone(m.GetManual()).(*github_com_golang_protobuf_ptypes_empty.Empty), + } + } + + } + + return target +} + +// Clone function +func (m *CertificateRotationCondition) Clone() proto.Message { + var target *CertificateRotationCondition + if m == nil { + return target + } + target = &CertificateRotationCondition{} + + target.Timestamp = m.GetTimestamp() + + target.State = m.GetState() + + target.Message = m.GetMessage() + + if m.GetErrors() != nil { + target.Errors = make([]string, len(m.GetErrors())) + for idx, v := range m.GetErrors() { + + target.Errors[idx] = v + + } + } + + return target +} diff --git a/client-go/security.policy.gloo.solo.io/v2/tls/ca_options.pb.equal.go b/client-go/security.policy.gloo.solo.io/v2/tls/ca_options.pb.equal.go new file mode 100644 index 000000000..84194433b --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/tls/ca_options.pb.equal.go @@ -0,0 +1,224 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/tls/ca_options.proto + +package tls + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *CommonCertOptions) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CommonCertOptions) + if !ok { + that2, ok := that.(CommonCertOptions) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetTtlDays() != target.GetTtlDays() { + return false + } + + if m.GetRsaKeySizeBytes() != target.GetRsaKeySizeBytes() { + return false + } + + if strings.Compare(m.GetOrgName(), target.GetOrgName()) != 0 { + return false + } + + if m.GetSecretRotationGracePeriodRatio() != target.GetSecretRotationGracePeriodRatio() { + return false + } + + return true +} + +// Equal function +func (m *AgentCertificateAuthority) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*AgentCertificateAuthority) + if !ok { + that2, ok := that.(AgentCertificateAuthority) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.CaSource.(type) { + + case *AgentCertificateAuthority_Vault: + if _, ok := target.CaSource.(*AgentCertificateAuthority_Vault); !ok { + return false + } + + if h, ok := interface{}(m.GetVault()).(equality.Equalizer); ok { + if !h.Equal(target.GetVault()) { + return false + } + } else { + if !proto.Equal(m.GetVault(), target.GetVault()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.CaSource != target.CaSource { + return false + } + } + + return true +} + +// Equal function +func (m *CertificateRotationVerificationMethod) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CertificateRotationVerificationMethod) + if !ok { + that2, ok := that.(CertificateRotationVerificationMethod) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.Method.(type) { + + case *CertificateRotationVerificationMethod_None: + if _, ok := target.Method.(*CertificateRotationVerificationMethod_None); !ok { + return false + } + + if h, ok := interface{}(m.GetNone()).(equality.Equalizer); ok { + if !h.Equal(target.GetNone()) { + return false + } + } else { + if !proto.Equal(m.GetNone(), target.GetNone()) { + return false + } + } + + case *CertificateRotationVerificationMethod_Manual: + if _, ok := target.Method.(*CertificateRotationVerificationMethod_Manual); !ok { + return false + } + + if h, ok := interface{}(m.GetManual()).(equality.Equalizer); ok { + if !h.Equal(target.GetManual()) { + return false + } + } else { + if !proto.Equal(m.GetManual(), target.GetManual()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.Method != target.Method { + return false + } + } + + return true +} + +// Equal function +func (m *CertificateRotationCondition) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*CertificateRotationCondition) + if !ok { + that2, ok := that.(CertificateRotationCondition) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetTimestamp(), target.GetTimestamp()) != 0 { + return false + } + + if m.GetState() != target.GetState() { + return false + } + + if strings.Compare(m.GetMessage(), target.GetMessage()) != 0 { + return false + } + + if len(m.GetErrors()) != len(target.GetErrors()) { + return false + } + for idx, v := range m.GetErrors() { + + if strings.Compare(v, target.GetErrors()[idx]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/security.policy.gloo.solo.io/v2/tls/ca_options.pb.go b/client-go/security.policy.gloo.solo.io/v2/tls/ca_options.pb.go new file mode 100644 index 000000000..60529b66c --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/tls/ca_options.pb.go @@ -0,0 +1,701 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/tls/ca_options.proto + +package tls + +import ( + reflect "reflect" + sync "sync" + + empty "github.com/golang/protobuf/ptypes/empty" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// State of Certificate Rotation +// Possible states in which a CertificateRotation can exist. +type CertificateRotationState int32 + +const ( + // No Certificate rotation is currently happening + CertificateRotationState_NOT_ROTATING CertificateRotationState = 0 + // Signing the certificate using the previously applied CA. This step is mostly used when `ADDING_NEW_ROOT` + // fails, and the rotation has to be ROLLED_BACK + CertificateRotationState_PREVIOUS_CA CertificateRotationState = 1 + // The CertificateRotation is underway, both roots are set, and the new root is being propagated + CertificateRotationState_ADDING_NEW_ROOT CertificateRotationState = 2 + // The CertificateRotation is underway again. + // The initial verification is over, the traffic continues to work with both roots present. + // Now the old root is being removed, and the new root is being propagated alone to the data-plane clusters + CertificateRotationState_PROPAGATING_NEW_INTERMEDIATE CertificateRotationState = 3 + // The CertificateRotation is underway again. + // Removing the old-root from all data-plane clusters + CertificateRotationState_DELETING_OLD_ROOT CertificateRotationState = 4 + // Verifying connectivity between workloads, the workflow will not progress until connectivity has been verified. + // This can either be manual or in the future automated + CertificateRotationState_VERIFYING CertificateRotationState = 5 + // The connectivity has been verified. + CertificateRotationState_VERIFIED CertificateRotationState = 6 + // The connectivity has been deemed to not be functioning properly, rolling back to the last + // known good state. + CertificateRotationState_ROLLING_BACK CertificateRotationState = 7 + // The rotation has finished, the new root has been propagated to all data-plane clusters, and traffic has + // been verified successfully. + CertificateRotationState_FINISHED CertificateRotationState = 8 + // Processing the certificate rotation workflow failed. + CertificateRotationState_FAILED CertificateRotationState = 9 +) + +// Enum value maps for CertificateRotationState. +var ( + CertificateRotationState_name = map[int32]string{ + 0: "NOT_ROTATING", + 1: "PREVIOUS_CA", + 2: "ADDING_NEW_ROOT", + 3: "PROPAGATING_NEW_INTERMEDIATE", + 4: "DELETING_OLD_ROOT", + 5: "VERIFYING", + 6: "VERIFIED", + 7: "ROLLING_BACK", + 8: "FINISHED", + 9: "FAILED", + } + CertificateRotationState_value = map[string]int32{ + "NOT_ROTATING": 0, + "PREVIOUS_CA": 1, + "ADDING_NEW_ROOT": 2, + "PROPAGATING_NEW_INTERMEDIATE": 3, + "DELETING_OLD_ROOT": 4, + "VERIFYING": 5, + "VERIFIED": 6, + "ROLLING_BACK": 7, + "FINISHED": 8, + "FAILED": 9, + } +) + +func (x CertificateRotationState) Enum() *CertificateRotationState { + p := new(CertificateRotationState) + *p = x + return p +} + +func (x CertificateRotationState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CertificateRotationState) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_enumTypes[0].Descriptor() +} + +func (CertificateRotationState) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_enumTypes[0] +} + +func (x CertificateRotationState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CertificateRotationState.Descriptor instead. +func (CertificateRotationState) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescGZIP(), []int{0} +} + +type CertificateRotationStrategy int32 + +const ( + // The default certificate rotation strategy. This strategy involves three steps which + // ensure that traffic in the mesh will experience no downtime. + // For an in depth explination of how this strategy works in Istio see the [following blog](https://blog.christianposta.com/diving-into-istio-1-6-certificate-rotation/) + // The steps are as follows: + // 1. ADDING_NEW_ROOT + // During this step the new root-cert will be appended to the old root-cert, and then distributed. + // The intermediate will continue to be signed by the original root. + // 2. PROPAGATING_NEW_INTERMEDIATE + // During this step both root-certs will still be distributed. In addition the intermediate will now + // be signed by the new root key. + // 3. DELETING_OLD_ROOT + // During this step the old root is no longer included, and the intermediate will continue to be signed + // by the new root key. + CertificateRotationStrategy_MULTI_ROOT CertificateRotationStrategy = 0 + // Do not use any rotation strategy. + // NOTE: This can lead to downtime while workloads transition + // from one root of trust to another + CertificateRotationStrategy_NONE CertificateRotationStrategy = 1 +) + +// Enum value maps for CertificateRotationStrategy. +var ( + CertificateRotationStrategy_name = map[int32]string{ + 0: "MULTI_ROOT", + 1: "NONE", + } + CertificateRotationStrategy_value = map[string]int32{ + "MULTI_ROOT": 0, + "NONE": 1, + } +) + +func (x CertificateRotationStrategy) Enum() *CertificateRotationStrategy { + p := new(CertificateRotationStrategy) + *p = x + return p +} + +func (x CertificateRotationStrategy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CertificateRotationStrategy) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_enumTypes[1].Descriptor() +} + +func (CertificateRotationStrategy) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_enumTypes[1] +} + +func (x CertificateRotationStrategy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CertificateRotationStrategy.Descriptor instead. +func (CertificateRotationStrategy) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescGZIP(), []int{1} +} + +// Configuration for generating a self-signed root certificate. +// Uses the X.509 format, RFC5280. +type CommonCertOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Number of days before root cert expires. Defaults to 365. + TtlDays uint32 `protobuf:"varint,1,opt,name=ttl_days,json=ttlDays,proto3" json:"ttl_days,omitempty"` + // Size in bytes of the root cert's private key. Defaults to 4096. + RsaKeySizeBytes uint32 `protobuf:"varint,2,opt,name=rsa_key_size_bytes,json=rsaKeySizeBytes,proto3" json:"rsa_key_size_bytes,omitempty"` + // Root cert organization name. Defaults to "gloo-mesh". + OrgName string `protobuf:"bytes,3,opt,name=org_name,json=orgName,proto3" json:"org_name,omitempty"` + // The ratio of the certificate lifetime to when Gloo starts the certificate rotation process. + // The ratio must be between 0 and 1 (exclusive). For example, if a certificate is valid for + // 1 day (or 24 hours), and you specify a ratio of 0.1, Gloo starts the certificate rotation + // process 2.4 hours before it expires (24x0.1). + SecretRotationGracePeriodRatio float32 `protobuf:"fixed32,4,opt,name=secret_rotation_grace_period_ratio,json=secretRotationGracePeriodRatio,proto3" json:"secret_rotation_grace_period_ratio,omitempty"` +} + +func (x *CommonCertOptions) Reset() { + *x = CommonCertOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonCertOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonCertOptions) ProtoMessage() {} + +func (x *CommonCertOptions) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommonCertOptions.ProtoReflect.Descriptor instead. +func (*CommonCertOptions) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescGZIP(), []int{0} +} + +func (x *CommonCertOptions) GetTtlDays() uint32 { + if x != nil { + return x.TtlDays + } + return 0 +} + +func (x *CommonCertOptions) GetRsaKeySizeBytes() uint32 { + if x != nil { + return x.RsaKeySizeBytes + } + return 0 +} + +func (x *CommonCertOptions) GetOrgName() string { + if x != nil { + return x.OrgName + } + return "" +} + +func (x *CommonCertOptions) GetSecretRotationGracePeriodRatio() float32 { + if x != nil { + return x.SecretRotationGracePeriodRatio + } + return 0 +} + +// Specify parameters for configuring the root certificate authority for a VirtualMesh. +type AgentCertificateAuthority struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specify the source of the Root CA data which Gloo Mesh will use for the VirtualMesh. + // + // Types that are assignable to CaSource: + // + // *AgentCertificateAuthority_Vault + CaSource isAgentCertificateAuthority_CaSource `protobuf_oneof:"ca_source"` +} + +func (x *AgentCertificateAuthority) Reset() { + *x = AgentCertificateAuthority{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AgentCertificateAuthority) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentCertificateAuthority) ProtoMessage() {} + +func (x *AgentCertificateAuthority) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentCertificateAuthority.ProtoReflect.Descriptor instead. +func (*AgentCertificateAuthority) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescGZIP(), []int{1} +} + +func (m *AgentCertificateAuthority) GetCaSource() isAgentCertificateAuthority_CaSource { + if m != nil { + return m.CaSource + } + return nil +} + +func (x *AgentCertificateAuthority) GetVault() *VaultCA { + if x, ok := x.GetCaSource().(*AgentCertificateAuthority_Vault); ok { + return x.Vault + } + return nil +} + +type isAgentCertificateAuthority_CaSource interface { + isAgentCertificateAuthority_CaSource() +} + +type AgentCertificateAuthority_Vault struct { + // Use vault as the intermediate CA source + Vault *VaultCA `protobuf:"bytes,1,opt,name=vault,proto3,oneof"` +} + +func (*AgentCertificateAuthority_Vault) isAgentCertificateAuthority_CaSource() {} + +type CertificateRotationVerificationMethod struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Method: + // + // *CertificateRotationVerificationMethod_None + // *CertificateRotationVerificationMethod_Manual + Method isCertificateRotationVerificationMethod_Method `protobuf_oneof:"method"` +} + +func (x *CertificateRotationVerificationMethod) Reset() { + *x = CertificateRotationVerificationMethod{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CertificateRotationVerificationMethod) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CertificateRotationVerificationMethod) ProtoMessage() {} + +func (x *CertificateRotationVerificationMethod) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CertificateRotationVerificationMethod.ProtoReflect.Descriptor instead. +func (*CertificateRotationVerificationMethod) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescGZIP(), []int{2} +} + +func (m *CertificateRotationVerificationMethod) GetMethod() isCertificateRotationVerificationMethod_Method { + if m != nil { + return m.Method + } + return nil +} + +func (x *CertificateRotationVerificationMethod) GetNone() *empty.Empty { + if x, ok := x.GetMethod().(*CertificateRotationVerificationMethod_None); ok { + return x.None + } + return nil +} + +func (x *CertificateRotationVerificationMethod) GetManual() *empty.Empty { + if x, ok := x.GetMethod().(*CertificateRotationVerificationMethod_Manual); ok { + return x.Manual + } + return nil +} + +type isCertificateRotationVerificationMethod_Method interface { + isCertificateRotationVerificationMethod_Method() +} + +type CertificateRotationVerificationMethod_None struct { + // Verification not enabled. NOTE: This setting is only recommended for testing. + // When enabled rotation will continue from step to step without any kind of verification. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + None *empty.Empty `protobuf:"bytes,1,opt,name=none,proto3,oneof"` +} + +type CertificateRotationVerificationMethod_Manual struct { + // Verification must be completed manually. This involves using our certificate verification + // endpoint when the certificates are in a VERIFYING state + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty). + Manual *empty.Empty `protobuf:"bytes,2,opt,name=manual,proto3,oneof"` +} + +func (*CertificateRotationVerificationMethod_None) isCertificateRotationVerificationMethod_Method() {} + +func (*CertificateRotationVerificationMethod_Manual) isCertificateRotationVerificationMethod_Method() { +} + +// CertificateRotationCondition represents a timesptamped snapshot of the certificate +// rotation workflow. This is used to keep track of the steps which have been completed +// thus far. +type CertificateRotationCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The time at which this condition was recorded + Timestamp string `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // The current state of the cert rotation + State CertificateRotationState `protobuf:"varint,2,opt,name=state,proto3,enum=tls.security.policy.gloo.solo.io.CertificateRotationState" json:"state,omitempty"` + // A human readable message related to the current condition + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + // Any errors which occurred during the current rotation stage + Errors []string `protobuf:"bytes,4,rep,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *CertificateRotationCondition) Reset() { + *x = CertificateRotationCondition{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CertificateRotationCondition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CertificateRotationCondition) ProtoMessage() {} + +func (x *CertificateRotationCondition) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CertificateRotationCondition.ProtoReflect.Descriptor instead. +func (*CertificateRotationCondition) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescGZIP(), []int{3} +} + +func (x *CertificateRotationCondition) GetTimestamp() string { + if x != nil { + return x.Timestamp + } + return "" +} + +func (x *CertificateRotationCondition) GetState() CertificateRotationState { + if x != nil { + return x.State + } + return CertificateRotationState_NOT_ROTATING +} + +func (x *CertificateRotationCondition) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *CertificateRotationCondition) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDesc = []byte{ + 0x0a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x6c, + 0x73, 0x2f, 0x63, 0x61, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x20, 0x74, 0x6c, 0x73, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, + 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x5e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x63, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x43, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, + 0x74, 0x6c, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, + 0x74, 0x6c, 0x44, 0x61, 0x79, 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x72, 0x73, 0x61, 0x5f, 0x6b, 0x65, + 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x73, 0x61, 0x4b, 0x65, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4a, + 0x0a, 0x22, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1e, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x50, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x6b, 0x0a, 0x19, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x75, 0x6c, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x43, + 0x41, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x25, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x12, + 0x30, 0x0a, 0x06, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x61, 0x6e, 0x75, 0x61, + 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xc0, 0x01, 0x0a, 0x1c, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x50, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x74, 0x6c, 0x73, 0x2e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x2a, 0xd4, + 0x01, 0x0a, 0x18, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4e, + 0x4f, 0x54, 0x5f, 0x52, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0f, 0x0a, + 0x0b, 0x50, 0x52, 0x45, 0x56, 0x49, 0x4f, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x10, 0x01, 0x12, 0x13, + 0x0a, 0x0f, 0x41, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x52, 0x4f, 0x4f, + 0x54, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x52, 0x4f, 0x50, 0x41, 0x47, 0x41, 0x54, 0x49, + 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4d, 0x45, 0x44, 0x49, + 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, + 0x47, 0x5f, 0x4f, 0x4c, 0x44, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, + 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x56, + 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, + 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x46, + 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x10, 0x09, 0x2a, 0x37, 0x0a, 0x1b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x67, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x52, 0x4f, + 0x4f, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x42, 0x5d, + 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, + 0x32, 0x2f, 0x74, 0x6c, 0x73, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_goTypes = []interface{}{ + (CertificateRotationState)(0), // 0: tls.security.policy.gloo.solo.io.CertificateRotationState + (CertificateRotationStrategy)(0), // 1: tls.security.policy.gloo.solo.io.CertificateRotationStrategy + (*CommonCertOptions)(nil), // 2: tls.security.policy.gloo.solo.io.CommonCertOptions + (*AgentCertificateAuthority)(nil), // 3: tls.security.policy.gloo.solo.io.AgentCertificateAuthority + (*CertificateRotationVerificationMethod)(nil), // 4: tls.security.policy.gloo.solo.io.CertificateRotationVerificationMethod + (*CertificateRotationCondition)(nil), // 5: tls.security.policy.gloo.solo.io.CertificateRotationCondition + (*VaultCA)(nil), // 6: tls.security.policy.gloo.solo.io.VaultCA + (*empty.Empty)(nil), // 7: google.protobuf.Empty +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_depIdxs = []int32{ + 6, // 0: tls.security.policy.gloo.solo.io.AgentCertificateAuthority.vault:type_name -> tls.security.policy.gloo.solo.io.VaultCA + 7, // 1: tls.security.policy.gloo.solo.io.CertificateRotationVerificationMethod.none:type_name -> google.protobuf.Empty + 7, // 2: tls.security.policy.gloo.solo.io.CertificateRotationVerificationMethod.manual:type_name -> google.protobuf.Empty + 0, // 3: tls.security.policy.gloo.solo.io.CertificateRotationCondition.state:type_name -> tls.security.policy.gloo.solo.io.CertificateRotationState + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto != nil { + return + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_init() + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonCertOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AgentCertificateAuthority); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CertificateRotationVerificationMethod); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CertificateRotationCondition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*AgentCertificateAuthority_Vault)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*CertificateRotationVerificationMethod_None)(nil), + (*CertificateRotationVerificationMethod_Manual)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDesc, + NumEnums: 2, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_ca_options_proto_depIdxs = nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/tls/vault_ca.pb.clone.go b/client-go/security.policy.gloo.solo.io/v2/tls/vault_ca.pb.clone.go new file mode 100644 index 000000000..ce03ebda3 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/tls/vault_ca.pb.clone.go @@ -0,0 +1,150 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/tls/vault_ca.proto + +package tls + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *VaultCA) Clone() proto.Message { + var target *VaultCA + if m == nil { + return target + } + target = &VaultCA{} + + target.CaPath = m.GetCaPath() + + target.CsrPath = m.GetCsrPath() + + target.Server = m.GetServer() + + target.Namespace = m.GetNamespace() + + switch m.CaSource.(type) { + + case *VaultCA_CaBundle: + + if m.GetCaBundle() != nil { + newArr := make([]byte, len(m.GetCaBundle())) + copy(newArr, m.GetCaBundle()) + target.CaSource = &VaultCA_CaBundle{ + CaBundle: newArr, + } + } else { + target.CaSource = &VaultCA_CaBundle{ + CaBundle: nil, + } + } + + case *VaultCA_CaSecretRef: + + if h, ok := interface{}(m.GetCaSecretRef()).(clone.Cloner); ok { + target.CaSource = &VaultCA_CaSecretRef{ + CaSecretRef: h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef), + } + } else { + target.CaSource = &VaultCA_CaSecretRef{ + CaSecretRef: proto.Clone(m.GetCaSecretRef()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef), + } + } + + case *VaultCA_CaLocalPath: + + target.CaSource = &VaultCA_CaLocalPath{ + CaLocalPath: m.GetCaLocalPath(), + } + + } + + switch m.AuthType.(type) { + + case *VaultCA_TokenSecretRef: + + if h, ok := interface{}(m.GetTokenSecretRef()).(clone.Cloner); ok { + target.AuthType = &VaultCA_TokenSecretRef{ + TokenSecretRef: h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef), + } + } else { + target.AuthType = &VaultCA_TokenSecretRef{ + TokenSecretRef: proto.Clone(m.GetTokenSecretRef()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef), + } + } + + case *VaultCA_KubernetesAuth: + + if h, ok := interface{}(m.GetKubernetesAuth()).(clone.Cloner); ok { + target.AuthType = &VaultCA_KubernetesAuth{ + KubernetesAuth: h.Clone().(*VaultKubernetesAuth), + } + } else { + target.AuthType = &VaultCA_KubernetesAuth{ + KubernetesAuth: proto.Clone(m.GetKubernetesAuth()).(*VaultKubernetesAuth), + } + } + + } + + return target +} + +// Clone function +func (m *VaultKubernetesAuth) Clone() proto.Message { + var target *VaultKubernetesAuth + if m == nil { + return target + } + target = &VaultKubernetesAuth{} + + target.MountPath = m.GetMountPath() + + target.Role = m.GetRole() + + target.SecretTokenKey = m.GetSecretTokenKey() + + switch m.ServiceAccountLocation.(type) { + + case *VaultKubernetesAuth_ServiceAccountRef: + + if h, ok := interface{}(m.GetServiceAccountRef()).(clone.Cloner); ok { + target.ServiceAccountLocation = &VaultKubernetesAuth_ServiceAccountRef{ + ServiceAccountRef: h.Clone().(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef), + } + } else { + target.ServiceAccountLocation = &VaultKubernetesAuth_ServiceAccountRef{ + ServiceAccountRef: proto.Clone(m.GetServiceAccountRef()).(*github_com_solo_io_skv2_pkg_api_core_skv2_solo_io_v1.ObjectRef), + } + } + + case *VaultKubernetesAuth_MountedSaPath: + + target.ServiceAccountLocation = &VaultKubernetesAuth_MountedSaPath{ + MountedSaPath: m.GetMountedSaPath(), + } + + } + + return target +} diff --git a/client-go/security.policy.gloo.solo.io/v2/tls/vault_ca.pb.equal.go b/client-go/security.policy.gloo.solo.io/v2/tls/vault_ca.pb.equal.go new file mode 100644 index 000000000..37c88bf56 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/tls/vault_ca.pb.equal.go @@ -0,0 +1,216 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/tls/vault_ca.proto + +package tls + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *VaultCA) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VaultCA) + if !ok { + that2, ok := that.(VaultCA) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetCaPath(), target.GetCaPath()) != 0 { + return false + } + + if strings.Compare(m.GetCsrPath(), target.GetCsrPath()) != 0 { + return false + } + + if strings.Compare(m.GetServer(), target.GetServer()) != 0 { + return false + } + + if strings.Compare(m.GetNamespace(), target.GetNamespace()) != 0 { + return false + } + + switch m.CaSource.(type) { + + case *VaultCA_CaBundle: + if _, ok := target.CaSource.(*VaultCA_CaBundle); !ok { + return false + } + + if bytes.Compare(m.GetCaBundle(), target.GetCaBundle()) != 0 { + return false + } + + case *VaultCA_CaSecretRef: + if _, ok := target.CaSource.(*VaultCA_CaSecretRef); !ok { + return false + } + + if h, ok := interface{}(m.GetCaSecretRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetCaSecretRef()) { + return false + } + } else { + if !proto.Equal(m.GetCaSecretRef(), target.GetCaSecretRef()) { + return false + } + } + + case *VaultCA_CaLocalPath: + if _, ok := target.CaSource.(*VaultCA_CaLocalPath); !ok { + return false + } + + if strings.Compare(m.GetCaLocalPath(), target.GetCaLocalPath()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.CaSource != target.CaSource { + return false + } + } + + switch m.AuthType.(type) { + + case *VaultCA_TokenSecretRef: + if _, ok := target.AuthType.(*VaultCA_TokenSecretRef); !ok { + return false + } + + if h, ok := interface{}(m.GetTokenSecretRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetTokenSecretRef()) { + return false + } + } else { + if !proto.Equal(m.GetTokenSecretRef(), target.GetTokenSecretRef()) { + return false + } + } + + case *VaultCA_KubernetesAuth: + if _, ok := target.AuthType.(*VaultCA_KubernetesAuth); !ok { + return false + } + + if h, ok := interface{}(m.GetKubernetesAuth()).(equality.Equalizer); ok { + if !h.Equal(target.GetKubernetesAuth()) { + return false + } + } else { + if !proto.Equal(m.GetKubernetesAuth(), target.GetKubernetesAuth()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.AuthType != target.AuthType { + return false + } + } + + return true +} + +// Equal function +func (m *VaultKubernetesAuth) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*VaultKubernetesAuth) + if !ok { + that2, ok := that.(VaultKubernetesAuth) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetMountPath(), target.GetMountPath()) != 0 { + return false + } + + if strings.Compare(m.GetRole(), target.GetRole()) != 0 { + return false + } + + if strings.Compare(m.GetSecretTokenKey(), target.GetSecretTokenKey()) != 0 { + return false + } + + switch m.ServiceAccountLocation.(type) { + + case *VaultKubernetesAuth_ServiceAccountRef: + if _, ok := target.ServiceAccountLocation.(*VaultKubernetesAuth_ServiceAccountRef); !ok { + return false + } + + if h, ok := interface{}(m.GetServiceAccountRef()).(equality.Equalizer); ok { + if !h.Equal(target.GetServiceAccountRef()) { + return false + } + } else { + if !proto.Equal(m.GetServiceAccountRef(), target.GetServiceAccountRef()) { + return false + } + } + + case *VaultKubernetesAuth_MountedSaPath: + if _, ok := target.ServiceAccountLocation.(*VaultKubernetesAuth_MountedSaPath); !ok { + return false + } + + if strings.Compare(m.GetMountedSaPath(), target.GetMountedSaPath()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.ServiceAccountLocation != target.ServiceAccountLocation { + return false + } + } + + return true +} diff --git a/client-go/security.policy.gloo.solo.io/v2/tls/vault_ca.pb.go b/client-go/security.policy.gloo.solo.io/v2/tls/vault_ca.pb.go new file mode 100644 index 000000000..2d2b72251 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/tls/vault_ca.pb.go @@ -0,0 +1,496 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/tls/vault_ca.proto + +package tls + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + v1 "github.com/solo-io/skv2/pkg/api/core.skv2.solo.io/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type VaultCA struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // `ca_path` is the mount path of the Vault PKI backend's `sign` endpoint, e.g: + // "my_pki_mount/sign/my-role-name". + CaPath string `protobuf:"bytes,1,opt,name=ca_path,json=caPath,proto3" json:"ca_path,omitempty"` + // `csr_path` is the mount path of the Vault PKI backend's `generate` endpoint, e.g: + // "my_pki_mount/intermediate/generate/exported". + // "exported" is necessary here as istio needs access to the private key + // See vault docs here: https://www.vaultproject.io/api-docs/secret/pki#parameters-4 + CsrPath string `protobuf:"bytes,2,opt,name=csr_path,json=csrPath,proto3" json:"csr_path,omitempty"` + // Server is the connection address for the Vault server, e.g: "https://vault.example.com:8200". + Server string `protobuf:"bytes,3,opt,name=server,proto3" json:"server,omitempty"` + // PEM encoded CA bundle used to validate Vault server certificate. Only used + // if the Server URL is using HTTPS protocol. This parameter is ignored for + // plain HTTP protocol connection. If omitted, the system root certificates + // are used to validate the TLS connection. + // + // Types that are assignable to CaSource: + // + // *VaultCA_CaBundle + // *VaultCA_CaSecretRef + // *VaultCA_CaLocalPath + CaSource isVaultCA_CaSource `protobuf_oneof:"ca_source"` + // Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows Vault environments to support Secure Multi-tenancy. e.g: "ns1" + // More about namespaces can be found [here](https://www.vaultproject.io/docs/enterprise/namespaces) + Namespace string `protobuf:"bytes,7,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Types that are assignable to AuthType: + // + // *VaultCA_TokenSecretRef + // *VaultCA_KubernetesAuth + AuthType isVaultCA_AuthType `protobuf_oneof:"auth_type"` +} + +func (x *VaultCA) Reset() { + *x = VaultCA{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VaultCA) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VaultCA) ProtoMessage() {} + +func (x *VaultCA) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VaultCA.ProtoReflect.Descriptor instead. +func (*VaultCA) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDescGZIP(), []int{0} +} + +func (x *VaultCA) GetCaPath() string { + if x != nil { + return x.CaPath + } + return "" +} + +func (x *VaultCA) GetCsrPath() string { + if x != nil { + return x.CsrPath + } + return "" +} + +func (x *VaultCA) GetServer() string { + if x != nil { + return x.Server + } + return "" +} + +func (m *VaultCA) GetCaSource() isVaultCA_CaSource { + if m != nil { + return m.CaSource + } + return nil +} + +func (x *VaultCA) GetCaBundle() []byte { + if x, ok := x.GetCaSource().(*VaultCA_CaBundle); ok { + return x.CaBundle + } + return nil +} + +func (x *VaultCA) GetCaSecretRef() *v1.ObjectRef { + if x, ok := x.GetCaSource().(*VaultCA_CaSecretRef); ok { + return x.CaSecretRef + } + return nil +} + +func (x *VaultCA) GetCaLocalPath() string { + if x, ok := x.GetCaSource().(*VaultCA_CaLocalPath); ok { + return x.CaLocalPath + } + return "" +} + +func (x *VaultCA) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (m *VaultCA) GetAuthType() isVaultCA_AuthType { + if m != nil { + return m.AuthType + } + return nil +} + +func (x *VaultCA) GetTokenSecretRef() *v1.ObjectRef { + if x, ok := x.GetAuthType().(*VaultCA_TokenSecretRef); ok { + return x.TokenSecretRef + } + return nil +} + +func (x *VaultCA) GetKubernetesAuth() *VaultKubernetesAuth { + if x, ok := x.GetAuthType().(*VaultCA_KubernetesAuth); ok { + return x.KubernetesAuth + } + return nil +} + +type isVaultCA_CaSource interface { + isVaultCA_CaSource() +} + +type VaultCA_CaBundle struct { + // Inline CA bytes + CaBundle []byte `protobuf:"bytes,4,opt,name=ca_bundle,json=caBundle,proto3,oneof"` +} + +type VaultCA_CaSecretRef struct { + // Reference to a secret containing the CA bytes. + // The CA should be stored by the key `root-cert.pem` + CaSecretRef *v1.ObjectRef `protobuf:"bytes,5,opt,name=ca_secret_ref,json=caSecretRef,proto3,oneof"` +} + +type VaultCA_CaLocalPath struct { + // Path to a local file containing the CA bytes + CaLocalPath string `protobuf:"bytes,6,opt,name=ca_local_path,json=caLocalPath,proto3,oneof"` +} + +func (*VaultCA_CaBundle) isVaultCA_CaSource() {} + +func (*VaultCA_CaSecretRef) isVaultCA_CaSource() {} + +func (*VaultCA_CaLocalPath) isVaultCA_CaSource() {} + +type isVaultCA_AuthType interface { + isVaultCA_AuthType() +} + +type VaultCA_TokenSecretRef struct { + // TokenSecretRef authenticates with Vault by presenting a token. + TokenSecretRef *v1.ObjectRef `protobuf:"bytes,8,opt,name=token_secret_ref,json=tokenSecretRef,proto3,oneof"` +} + +type VaultCA_KubernetesAuth struct { + // Kubernetes authenticates with Vault by passing the ServiceAccount + // token stored in the named Secret resource to the Vault server. + KubernetesAuth *VaultKubernetesAuth `protobuf:"bytes,9,opt,name=kubernetes_auth,json=kubernetesAuth,proto3,oneof"` +} + +func (*VaultCA_TokenSecretRef) isVaultCA_AuthType() {} + +func (*VaultCA_KubernetesAuth) isVaultCA_AuthType() {} + +type VaultKubernetesAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Vault mountPath here is the mount path to use when authenticating with + // Vault. For example, setting a value to `/v1/auth/foo`, will use the path + // `/v1/auth/foo/login` to authenticate with Vault. If unspecified, the + // default value "/v1/auth/kubernetes" will be used. + MountPath string `protobuf:"bytes,1,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` + // A required field containing the Vault Role to assume. A Role binds a + // Kubernetes ServiceAccount with a set of Vault policies. + Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` + // Key to search for the sa_token + // Default to "token" + SecretTokenKey string `protobuf:"bytes,3,opt,name=secret_token_key,json=secretTokenKey,proto3" json:"secret_token_key,omitempty"` + // The method by which to get the service account token. + // If unspecified will default to mounted_sa_path + // + // Types that are assignable to ServiceAccountLocation: + // + // *VaultKubernetesAuth_ServiceAccountRef + // *VaultKubernetesAuth_MountedSaPath + ServiceAccountLocation isVaultKubernetesAuth_ServiceAccountLocation `protobuf_oneof:"service_account_location"` +} + +func (x *VaultKubernetesAuth) Reset() { + *x = VaultKubernetesAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VaultKubernetesAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VaultKubernetesAuth) ProtoMessage() {} + +func (x *VaultKubernetesAuth) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VaultKubernetesAuth.ProtoReflect.Descriptor instead. +func (*VaultKubernetesAuth) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDescGZIP(), []int{1} +} + +func (x *VaultKubernetesAuth) GetMountPath() string { + if x != nil { + return x.MountPath + } + return "" +} + +func (x *VaultKubernetesAuth) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +func (x *VaultKubernetesAuth) GetSecretTokenKey() string { + if x != nil { + return x.SecretTokenKey + } + return "" +} + +func (m *VaultKubernetesAuth) GetServiceAccountLocation() isVaultKubernetesAuth_ServiceAccountLocation { + if m != nil { + return m.ServiceAccountLocation + } + return nil +} + +func (x *VaultKubernetesAuth) GetServiceAccountRef() *v1.ObjectRef { + if x, ok := x.GetServiceAccountLocation().(*VaultKubernetesAuth_ServiceAccountRef); ok { + return x.ServiceAccountRef + } + return nil +} + +func (x *VaultKubernetesAuth) GetMountedSaPath() string { + if x, ok := x.GetServiceAccountLocation().(*VaultKubernetesAuth_MountedSaPath); ok { + return x.MountedSaPath + } + return "" +} + +type isVaultKubernetesAuth_ServiceAccountLocation interface { + isVaultKubernetesAuth_ServiceAccountLocation() +} + +type VaultKubernetesAuth_ServiceAccountRef struct { + // Reference to service account, other than the one mounted to the current pod. + ServiceAccountRef *v1.ObjectRef `protobuf:"bytes,4,opt,name=service_account_ref,json=serviceAccountRef,proto3,oneof"` +} + +type VaultKubernetesAuth_MountedSaPath struct { + // File System path to grab the service account token from. + // Defaults to /var/run/secrets/kubernetes.io/serviceaccount + MountedSaPath string `protobuf:"bytes,5,opt,name=mounted_sa_path,json=mountedSaPath,proto3,oneof"` +} + +func (*VaultKubernetesAuth_ServiceAccountRef) isVaultKubernetesAuth_ServiceAccountLocation() {} + +func (*VaultKubernetesAuth_MountedSaPath) isVaultKubernetesAuth_ServiceAccountLocation() {} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDesc = []byte{ + 0x0a, 0x5e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x6c, + 0x73, 0x2f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x20, 0x74, 0x6c, 0x73, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x73, 0x6b, 0x76, 0x32, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x03, 0x0a, 0x07, 0x56, 0x61, 0x75, 0x6c, 0x74, + 0x43, 0x41, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x50, 0x61, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x63, + 0x73, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x73, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1d, + 0x0a, 0x09, 0x63, 0x61, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x00, 0x52, 0x08, 0x63, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x42, 0x0a, + 0x0d, 0x63, 0x61, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x66, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x61, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, + 0x66, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x61, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x10, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x48, 0x01, 0x52, + 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, + 0x60, 0x0a, 0x0f, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x61, 0x75, + 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x56, 0x61, 0x75, 0x6c, + 0x74, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x41, 0x75, 0x74, 0x68, 0x48, + 0x01, 0x52, 0x0e, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x41, 0x75, 0x74, + 0x68, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0b, + 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x13, + 0x56, 0x61, 0x75, 0x6c, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x41, + 0x75, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4b, 0x65, 0x79, + 0x12, 0x4e, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x73, 0x6b, 0x76, 0x32, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x11, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x66, + 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x61, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x64, 0x53, 0x61, 0x50, 0x61, 0x74, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x5d, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x6c, 0x73, 0xc0, 0xf5, 0x04, + 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_goTypes = []interface{}{ + (*VaultCA)(nil), // 0: tls.security.policy.gloo.solo.io.VaultCA + (*VaultKubernetesAuth)(nil), // 1: tls.security.policy.gloo.solo.io.VaultKubernetesAuth + (*v1.ObjectRef)(nil), // 2: core.skv2.solo.io.ObjectRef +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_depIdxs = []int32{ + 2, // 0: tls.security.policy.gloo.solo.io.VaultCA.ca_secret_ref:type_name -> core.skv2.solo.io.ObjectRef + 2, // 1: tls.security.policy.gloo.solo.io.VaultCA.token_secret_ref:type_name -> core.skv2.solo.io.ObjectRef + 1, // 2: tls.security.policy.gloo.solo.io.VaultCA.kubernetes_auth:type_name -> tls.security.policy.gloo.solo.io.VaultKubernetesAuth + 2, // 3: tls.security.policy.gloo.solo.io.VaultKubernetesAuth.service_account_ref:type_name -> core.skv2.solo.io.ObjectRef + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VaultCA); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VaultKubernetesAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*VaultCA_CaBundle)(nil), + (*VaultCA_CaSecretRef)(nil), + (*VaultCA_CaLocalPath)(nil), + (*VaultCA_TokenSecretRef)(nil), + (*VaultCA_KubernetesAuth)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*VaultKubernetesAuth_ServiceAccountRef)(nil), + (*VaultKubernetesAuth_MountedSaPath)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_tls_vault_ca_proto_depIdxs = nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/type_helpers.go b/client-go/security.policy.gloo.solo.io/v2/type_helpers.go new file mode 100644 index 000000000..cf8f14cf8 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/type_helpers.go @@ -0,0 +1,31 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +// AccessPolicySlice represents a slice of *AccessPolicy +type AccessPolicySlice []*AccessPolicy + +// CORSPolicySlice represents a slice of *CORSPolicy +type CORSPolicySlice []*CORSPolicy + +// CSRFPolicySlice represents a slice of *CSRFPolicy +type CSRFPolicySlice []*CSRFPolicy + +// ExtAuthPolicySlice represents a slice of *ExtAuthPolicy +type ExtAuthPolicySlice []*ExtAuthPolicy + +// WAFPolicySlice represents a slice of *WAFPolicy +type WAFPolicySlice []*WAFPolicy + +// JWTPolicySlice represents a slice of *JWTPolicy +type JWTPolicySlice []*JWTPolicy + +// ClientTLSPolicySlice represents a slice of *ClientTLSPolicy +type ClientTLSPolicySlice []*ClientTLSPolicy + +// GraphQLAllowedQueryPolicySlice represents a slice of *GraphQLAllowedQueryPolicy +type GraphQLAllowedQueryPolicySlice []*GraphQLAllowedQueryPolicy + +// DLPPolicySlice represents a slice of *DLPPolicy +type DLPPolicySlice []*DLPPolicy diff --git a/client-go/security.policy.gloo.solo.io/v2/types.go b/client-go/security.policy.gloo.solo.io/v2/types.go new file mode 100644 index 000000000..eba2b775c --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/types.go @@ -0,0 +1,336 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for AccessPolicy +var AccessPolicyGVK = schema.GroupVersionKind{ + Group: "security.policy.gloo.solo.io", + Version: "v2", + Kind: "AccessPolicy", +} + +// AccessPolicy is the Schema for the accessPolicy API +type AccessPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec AccessPolicySpec `json:"spec,omitempty"` + Status AccessPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (AccessPolicy) GVK() schema.GroupVersionKind { + return AccessPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// AccessPolicyList contains a list of AccessPolicy +type AccessPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AccessPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for CORSPolicy +var CORSPolicyGVK = schema.GroupVersionKind{ + Group: "security.policy.gloo.solo.io", + Version: "v2", + Kind: "CORSPolicy", +} + +// CORSPolicy is the Schema for the cORSPolicy API +type CORSPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec CORSPolicySpec `json:"spec,omitempty"` + Status CORSPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (CORSPolicy) GVK() schema.GroupVersionKind { + return CORSPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// CORSPolicyList contains a list of CORSPolicy +type CORSPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CORSPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for CSRFPolicy +var CSRFPolicyGVK = schema.GroupVersionKind{ + Group: "security.policy.gloo.solo.io", + Version: "v2", + Kind: "CSRFPolicy", +} + +// CSRFPolicy is the Schema for the cSRFPolicy API +type CSRFPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec CSRFPolicySpec `json:"spec,omitempty"` + Status CSRFPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (CSRFPolicy) GVK() schema.GroupVersionKind { + return CSRFPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// CSRFPolicyList contains a list of CSRFPolicy +type CSRFPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CSRFPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ExtAuthPolicy +var ExtAuthPolicyGVK = schema.GroupVersionKind{ + Group: "security.policy.gloo.solo.io", + Version: "v2", + Kind: "ExtAuthPolicy", +} + +// ExtAuthPolicy is the Schema for the extAuthPolicy API +type ExtAuthPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ExtAuthPolicySpec `json:"spec,omitempty"` + Status ExtAuthPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ExtAuthPolicy) GVK() schema.GroupVersionKind { + return ExtAuthPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ExtAuthPolicyList contains a list of ExtAuthPolicy +type ExtAuthPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ExtAuthPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for WAFPolicy +var WAFPolicyGVK = schema.GroupVersionKind{ + Group: "security.policy.gloo.solo.io", + Version: "v2", + Kind: "WAFPolicy", +} + +// WAFPolicy is the Schema for the wAFPolicy API +type WAFPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec WAFPolicySpec `json:"spec,omitempty"` + Status WAFPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (WAFPolicy) GVK() schema.GroupVersionKind { + return WAFPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// WAFPolicyList contains a list of WAFPolicy +type WAFPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WAFPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for JWTPolicy +var JWTPolicyGVK = schema.GroupVersionKind{ + Group: "security.policy.gloo.solo.io", + Version: "v2", + Kind: "JWTPolicy", +} + +// JWTPolicy is the Schema for the jWTPolicy API +type JWTPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec JWTPolicySpec `json:"spec,omitempty"` + Status JWTPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (JWTPolicy) GVK() schema.GroupVersionKind { + return JWTPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// JWTPolicyList contains a list of JWTPolicy +type JWTPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []JWTPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ClientTLSPolicy +var ClientTLSPolicyGVK = schema.GroupVersionKind{ + Group: "security.policy.gloo.solo.io", + Version: "v2", + Kind: "ClientTLSPolicy", +} + +// ClientTLSPolicy is the Schema for the clientTLSPolicy API +type ClientTLSPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ClientTLSPolicySpec `json:"spec,omitempty"` + Status ClientTLSPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ClientTLSPolicy) GVK() schema.GroupVersionKind { + return ClientTLSPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ClientTLSPolicyList contains a list of ClientTLSPolicy +type ClientTLSPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ClientTLSPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for GraphQLAllowedQueryPolicy +var GraphQLAllowedQueryPolicyGVK = schema.GroupVersionKind{ + Group: "security.policy.gloo.solo.io", + Version: "v2", + Kind: "GraphQLAllowedQueryPolicy", +} + +// GraphQLAllowedQueryPolicy is the Schema for the graphQLAllowedQueryPolicy API +type GraphQLAllowedQueryPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec GraphQLAllowedQueryPolicySpec `json:"spec,omitempty"` + Status GraphQLAllowedQueryPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (GraphQLAllowedQueryPolicy) GVK() schema.GroupVersionKind { + return GraphQLAllowedQueryPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GraphQLAllowedQueryPolicyList contains a list of GraphQLAllowedQueryPolicy +type GraphQLAllowedQueryPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GraphQLAllowedQueryPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for DLPPolicy +var DLPPolicyGVK = schema.GroupVersionKind{ + Group: "security.policy.gloo.solo.io", + Version: "v2", + Kind: "DLPPolicy", +} + +// DLPPolicy is the Schema for the dLPPolicy API +type DLPPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec DLPPolicySpec `json:"spec,omitempty"` + Status DLPPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (DLPPolicy) GVK() schema.GroupVersionKind { + return DLPPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DLPPolicyList contains a list of DLPPolicy +type DLPPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DLPPolicy `json:"items"` +} + +func init() { + SchemeBuilder.Register(&AccessPolicy{}, &AccessPolicyList{}) + SchemeBuilder.Register(&CORSPolicy{}, &CORSPolicyList{}) + SchemeBuilder.Register(&CSRFPolicy{}, &CSRFPolicyList{}) + SchemeBuilder.Register(&ExtAuthPolicy{}, &ExtAuthPolicyList{}) + SchemeBuilder.Register(&WAFPolicy{}, &WAFPolicyList{}) + SchemeBuilder.Register(&JWTPolicy{}, &JWTPolicyList{}) + SchemeBuilder.Register(&ClientTLSPolicy{}, &ClientTLSPolicyList{}) + SchemeBuilder.Register(&GraphQLAllowedQueryPolicy{}, &GraphQLAllowedQueryPolicyList{}) + SchemeBuilder.Register(&DLPPolicy{}, &DLPPolicyList{}) +} diff --git a/client-go/security.policy.gloo.solo.io/v2/waf_policy.pb.clone.go b/client-go/security.policy.gloo.solo.io/v2/waf_policy.pb.clone.go new file mode 100644 index 000000000..001235845 --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/waf_policy.pb.clone.go @@ -0,0 +1,178 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/waf_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2 "github.com/solo-io/solo-apis/client-go/envoy-gloo-ee/api/envoy/config/filter/http/modsecurity/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *WAFPolicySpec) Clone() proto.Message { + var target *WAFPolicySpec + if m == nil { + return target + } + target = &WAFPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*WAFPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*WAFPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *WAFPolicyStatus) Clone() proto.Message { + var target *WAFPolicyStatus + if m == nil { + return target + } + target = &WAFPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *WAFPolicyReport) Clone() proto.Message { + var target *WAFPolicyReport + if m == nil { + return target + } + target = &WAFPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *WAFPolicySpec_Config) Clone() proto.Message { + var target *WAFPolicySpec_Config + if m == nil { + return target + } + target = &WAFPolicySpec_Config{} + + target.DisableCoreRuleSet = m.GetDisableCoreRuleSet() + + if m.GetCustomRuleSets() != nil { + target.CustomRuleSets = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2.RuleSet, len(m.GetCustomRuleSets())) + for idx, v := range m.GetCustomRuleSets() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.CustomRuleSets[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2.RuleSet) + } else { + target.CustomRuleSets[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2.RuleSet) + } + + } + } + + target.CustomInterventionMessage = m.GetCustomInterventionMessage() + + if h, ok := interface{}(m.GetAuditLogging()).(clone.Cloner); ok { + target.AuditLogging = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2.AuditLogging) + } else { + target.AuditLogging = proto.Clone(m.GetAuditLogging()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_ee_api_envoy_config_filter_http_modsecurity_v2.AuditLogging) + } + + target.RequestHeadersOnly = m.GetRequestHeadersOnly() + + target.ResponseHeadersOnly = m.GetResponseHeadersOnly() + + if h, ok := interface{}(m.GetPriority()).(clone.Cloner); ok { + target.Priority = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.Priority = proto.Clone(m.GetPriority()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + switch m.CoreRuleSetSettings.(type) { + + case *WAFPolicySpec_Config_CoreRuleSetSettingsString: + + target.CoreRuleSetSettings = &WAFPolicySpec_Config_CoreRuleSetSettingsString{ + CoreRuleSetSettingsString: m.GetCoreRuleSetSettingsString(), + } + + case *WAFPolicySpec_Config_CoreRuleSetSettingsPath: + + target.CoreRuleSetSettings = &WAFPolicySpec_Config_CoreRuleSetSettingsPath{ + CoreRuleSetSettingsPath: m.GetCoreRuleSetSettingsPath(), + } + + } + + return target +} diff --git a/client-go/security.policy.gloo.solo.io/v2/waf_policy.pb.equal.go b/client-go/security.policy.gloo.solo.io/v2/waf_policy.pb.equal.go new file mode 100644 index 000000000..291d5743c --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/waf_policy.pb.equal.go @@ -0,0 +1,277 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/waf_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *WAFPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WAFPolicySpec) + if !ok { + that2, ok := that.(WAFPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *WAFPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WAFPolicyStatus) + if !ok { + that2, ok := that.(WAFPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *WAFPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WAFPolicyReport) + if !ok { + that2, ok := that.(WAFPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *WAFPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*WAFPolicySpec_Config) + if !ok { + that2, ok := that.(WAFPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetDisableCoreRuleSet() != target.GetDisableCoreRuleSet() { + return false + } + + if len(m.GetCustomRuleSets()) != len(target.GetCustomRuleSets()) { + return false + } + for idx, v := range m.GetCustomRuleSets() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetCustomRuleSets()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetCustomRuleSets()[idx]) { + return false + } + } + + } + + if strings.Compare(m.GetCustomInterventionMessage(), target.GetCustomInterventionMessage()) != 0 { + return false + } + + if h, ok := interface{}(m.GetAuditLogging()).(equality.Equalizer); ok { + if !h.Equal(target.GetAuditLogging()) { + return false + } + } else { + if !proto.Equal(m.GetAuditLogging(), target.GetAuditLogging()) { + return false + } + } + + if m.GetRequestHeadersOnly() != target.GetRequestHeadersOnly() { + return false + } + + if m.GetResponseHeadersOnly() != target.GetResponseHeadersOnly() { + return false + } + + if h, ok := interface{}(m.GetPriority()).(equality.Equalizer); ok { + if !h.Equal(target.GetPriority()) { + return false + } + } else { + if !proto.Equal(m.GetPriority(), target.GetPriority()) { + return false + } + } + + switch m.CoreRuleSetSettings.(type) { + + case *WAFPolicySpec_Config_CoreRuleSetSettingsString: + if _, ok := target.CoreRuleSetSettings.(*WAFPolicySpec_Config_CoreRuleSetSettingsString); !ok { + return false + } + + if strings.Compare(m.GetCoreRuleSetSettingsString(), target.GetCoreRuleSetSettingsString()) != 0 { + return false + } + + case *WAFPolicySpec_Config_CoreRuleSetSettingsPath: + if _, ok := target.CoreRuleSetSettings.(*WAFPolicySpec_Config_CoreRuleSetSettingsPath); !ok { + return false + } + + if strings.Compare(m.GetCoreRuleSetSettingsPath(), target.GetCoreRuleSetSettingsPath()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.CoreRuleSetSettings != target.CoreRuleSetSettings { + return false + } + } + + return true +} diff --git a/client-go/security.policy.gloo.solo.io/v2/waf_policy.pb.go b/client-go/security.policy.gloo.solo.io/v2/waf_policy.pb.go new file mode 100644 index 000000000..d4baa1c4a --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/waf_policy.pb.go @@ -0,0 +1,595 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/waf_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + v21 "github.com/solo-io/solo-apis/client-go/envoy-gloo-ee/api/envoy/config/filter/http/modsecurity/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// WAFPolicy is used to set safeguard your services with the functionality of Web ApplicationFirewall +// WAFPolicies are applied at the *Route* level. +type WAFPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Routes to apply the policy to. + // If empty, the policy applies to all workloads in the workspace. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // The details of the WAF policy to apply to the selected routes. + Config *WAFPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *WAFPolicySpec) Reset() { + *x = WAFPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WAFPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WAFPolicySpec) ProtoMessage() {} + +func (x *WAFPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WAFPolicySpec.ProtoReflect.Descriptor instead. +func (*WAFPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *WAFPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *WAFPolicySpec) GetConfig() *WAFPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +type WAFPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of routes selected by the policy. + NumSelectedRoutes uint32 `protobuf:"varint,2,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *WAFPolicyStatus) Reset() { + *x = WAFPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WAFPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WAFPolicyStatus) ProtoMessage() {} + +func (x *WAFPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WAFPolicyStatus.ProtoReflect.Descriptor instead. +func (*WAFPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *WAFPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *WAFPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type WAFPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status of the resource in each workspace that it exists in. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of references to all routes selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *WAFPolicyReport) Reset() { + *x = WAFPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WAFPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WAFPolicyReport) ProtoMessage() {} + +func (x *WAFPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WAFPolicyReport.ProtoReflect.Descriptor instead. +func (*WAFPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *WAFPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *WAFPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +type WAFPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Disable the OWASP core rule set from being applied + DisableCoreRuleSet bool `protobuf:"varint,1,opt,name=disable_core_rule_set,json=disableCoreRuleSet,proto3" json:"disable_core_rule_set,omitempty"` + // If core_rule_set is not disabled, this field MUST be present. + // This configures various aspects of the OWASP Core Rule Set. + // See here for more info on how to configure https://github.com/coreruleset/coreruleset + // + // Types that are assignable to CoreRuleSetSettings: + // + // *WAFPolicySpec_Config_CoreRuleSetSettingsString + // *WAFPolicySpec_Config_CoreRuleSetSettingsPath + CoreRuleSetSettings isWAFPolicySpec_Config_CoreRuleSetSettings `protobuf_oneof:"core_rule_set_settings"` + // Overwrite the global rules on this route + CustomRuleSets []*v21.RuleSet `protobuf:"bytes,2,rep,name=custom_rule_sets,json=customRuleSets,proto3" json:"custom_rule_sets,omitempty"` + // Custom message to display when an intervention occurs + CustomInterventionMessage string `protobuf:"bytes,3,opt,name=custom_intervention_message,json=customInterventionMessage,proto3" json:"custom_intervention_message,omitempty"` + // This instructs the filter what to do with the transaction's audit log. + AuditLogging *v21.AuditLogging `protobuf:"bytes,4,opt,name=audit_logging,json=auditLogging,proto3" json:"audit_logging,omitempty"` + // If set, the body will not be buffered and fed to ModSecurity. Only the + // headers will. This can help improve performance. + RequestHeadersOnly bool `protobuf:"varint,5,opt,name=request_headers_only,json=requestHeadersOnly,proto3" json:"request_headers_only,omitempty"` + ResponseHeadersOnly bool `protobuf:"varint,6,opt,name=response_headers_only,json=responseHeadersOnly,proto3" json:"response_headers_only,omitempty"` + // Optional field that is used to determine the order in which rule sets + // between policies are applied. Modsec rulesets for each policy + // is applied from the lowest numerical priority to the highest numerical priority if it is provided. + // Use this field for all WAF policies applicable to a route or not at all. Defaults to nil if not provided, + // and WAF policies will be applied in order of ascending creation time. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int32-value). + Priority *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=priority,proto3" json:"priority,omitempty"` +} + +func (x *WAFPolicySpec_Config) Reset() { + *x = WAFPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WAFPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WAFPolicySpec_Config) ProtoMessage() {} + +func (x *WAFPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WAFPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*WAFPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *WAFPolicySpec_Config) GetDisableCoreRuleSet() bool { + if x != nil { + return x.DisableCoreRuleSet + } + return false +} + +func (m *WAFPolicySpec_Config) GetCoreRuleSetSettings() isWAFPolicySpec_Config_CoreRuleSetSettings { + if m != nil { + return m.CoreRuleSetSettings + } + return nil +} + +func (x *WAFPolicySpec_Config) GetCoreRuleSetSettingsString() string { + if x, ok := x.GetCoreRuleSetSettings().(*WAFPolicySpec_Config_CoreRuleSetSettingsString); ok { + return x.CoreRuleSetSettingsString + } + return "" +} + +func (x *WAFPolicySpec_Config) GetCoreRuleSetSettingsPath() string { + if x, ok := x.GetCoreRuleSetSettings().(*WAFPolicySpec_Config_CoreRuleSetSettingsPath); ok { + return x.CoreRuleSetSettingsPath + } + return "" +} + +func (x *WAFPolicySpec_Config) GetCustomRuleSets() []*v21.RuleSet { + if x != nil { + return x.CustomRuleSets + } + return nil +} + +func (x *WAFPolicySpec_Config) GetCustomInterventionMessage() string { + if x != nil { + return x.CustomInterventionMessage + } + return "" +} + +func (x *WAFPolicySpec_Config) GetAuditLogging() *v21.AuditLogging { + if x != nil { + return x.AuditLogging + } + return nil +} + +func (x *WAFPolicySpec_Config) GetRequestHeadersOnly() bool { + if x != nil { + return x.RequestHeadersOnly + } + return false +} + +func (x *WAFPolicySpec_Config) GetResponseHeadersOnly() bool { + if x != nil { + return x.ResponseHeadersOnly + } + return false +} + +func (x *WAFPolicySpec_Config) GetPriority() *wrappers.UInt32Value { + if x != nil { + return x.Priority + } + return nil +} + +type isWAFPolicySpec_Config_CoreRuleSetSettings interface { + isWAFPolicySpec_Config_CoreRuleSetSettings() +} + +type WAFPolicySpec_Config_CoreRuleSetSettingsString struct { + // An inline string of the core rule set settings + CoreRuleSetSettingsString string `protobuf:"bytes,8,opt,name=core_rule_set_settings_string,json=coreRuleSetSettingsString,proto3,oneof"` +} + +type WAFPolicySpec_Config_CoreRuleSetSettingsPath struct { + // The path to the core rule set settings to use + CoreRuleSetSettingsPath string `protobuf:"bytes,9,opt,name=core_rule_set_settings_path,json=coreRuleSetSettingsPath,proto3,oneof"` +} + +func (*WAFPolicySpec_Config_CoreRuleSetSettingsString) isWAFPolicySpec_Config_CoreRuleSetSettings() {} + +func (*WAFPolicySpec_Config_CoreRuleSetSettingsPath) isWAFPolicySpec_Config_CoreRuleSetSettings() {} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDesc = []byte{ + 0x0a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x77, 0x61, + 0x66, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, + 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x5e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x65, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, + 0x6d, 0x6f, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x6d, + 0x6f, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x06, 0x0a, 0x0d, 0x57, 0x41, 0x46, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, + 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x57, 0x41, 0x46, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, + 0xf1, 0x04, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x15, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x43, 0x6f, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x42, 0x0a, + 0x1d, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x19, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x53, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x12, 0x3e, 0x0a, 0x1b, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x17, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x5a, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, + 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x6d, 0x6f, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x52, 0x0e, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x3e, 0x0a, + 0x1b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x65, 0x6e, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x19, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5a, 0x0a, + 0x0d, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, + 0x6d, 0x6f, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, + 0x38, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x18, 0x0a, 0x16, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x22, 0x76, 0x0a, 0x0f, 0x57, 0x41, 0x46, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6e, + 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x9a, 0x02, 0x0a, 0x0f, + 0x57, 0x41, 0x46, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x5d, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x57, 0x41, 0x46, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x4c, + 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x5d, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, + 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_goTypes = []interface{}{ + (*WAFPolicySpec)(nil), // 0: security.policy.gloo.solo.io.WAFPolicySpec + (*WAFPolicyStatus)(nil), // 1: security.policy.gloo.solo.io.WAFPolicyStatus + (*WAFPolicyReport)(nil), // 2: security.policy.gloo.solo.io.WAFPolicyReport + (*WAFPolicySpec_Config)(nil), // 3: security.policy.gloo.solo.io.WAFPolicySpec.Config + nil, // 4: security.policy.gloo.solo.io.WAFPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 5: common.gloo.solo.io.RouteSelector + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 7: common.gloo.solo.io.RouteReference + (*v21.RuleSet)(nil), // 8: envoy.config.filter.http.modsecurity.v2.RuleSet + (*v21.AuditLogging)(nil), // 9: envoy.config.filter.http.modsecurity.v2.AuditLogging + (*wrappers.UInt32Value)(nil), // 10: google.protobuf.UInt32Value + (*v2.Report)(nil), // 11: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_depIdxs = []int32{ + 5, // 0: security.policy.gloo.solo.io.WAFPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 3, // 1: security.policy.gloo.solo.io.WAFPolicySpec.config:type_name -> security.policy.gloo.solo.io.WAFPolicySpec.Config + 6, // 2: security.policy.gloo.solo.io.WAFPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: security.policy.gloo.solo.io.WAFPolicyReport.workspaces:type_name -> security.policy.gloo.solo.io.WAFPolicyReport.WorkspacesEntry + 7, // 4: security.policy.gloo.solo.io.WAFPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 8, // 5: security.policy.gloo.solo.io.WAFPolicySpec.Config.custom_rule_sets:type_name -> envoy.config.filter.http.modsecurity.v2.RuleSet + 9, // 6: security.policy.gloo.solo.io.WAFPolicySpec.Config.audit_logging:type_name -> envoy.config.filter.http.modsecurity.v2.AuditLogging + 10, // 7: security.policy.gloo.solo.io.WAFPolicySpec.Config.priority:type_name -> google.protobuf.UInt32Value + 11, // 8: security.policy.gloo.solo.io.WAFPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WAFPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WAFPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WAFPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WAFPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*WAFPolicySpec_Config_CoreRuleSetSettingsString)(nil), + (*WAFPolicySpec_Config_CoreRuleSetSettingsPath)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_security_waf_policy_proto_depIdxs = nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/waf_policy.pb.hash.go b/client-go/security.policy.gloo.solo.io/v2/waf_policy.pb.hash.go new file mode 100644 index 000000000..347065e9e --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/waf_policy.pb.hash.go @@ -0,0 +1,321 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/security/waf_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *WAFPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.WAFPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WAFPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.WAFPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WAFPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.WAFPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *WAFPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("security.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/security.policy.gloo.solo.io/v2.WAFPolicySpec_Config")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetDisableCoreRuleSet()) + if err != nil { + return 0, err + } + + for _, v := range m.GetCustomRuleSets() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if _, err = hasher.Write([]byte(m.GetCustomInterventionMessage())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetAuditLogging()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AuditLogging")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAuditLogging(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AuditLogging")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRequestHeadersOnly()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetResponseHeadersOnly()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPriority()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Priority")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPriority(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Priority")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.CoreRuleSetSettings.(type) { + + case *WAFPolicySpec_Config_CoreRuleSetSettingsString: + + if _, err = hasher.Write([]byte(m.GetCoreRuleSetSettingsString())); err != nil { + return 0, err + } + + case *WAFPolicySpec_Config_CoreRuleSetSettingsPath: + + if _, err = hasher.Write([]byte(m.GetCoreRuleSetSettingsPath())); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/security.policy.gloo.solo.io/v2/zz_generated.deepcopy.go b/client-go/security.policy.gloo.solo.io/v2/zz_generated.deepcopy.go new file mode 100644 index 000000000..c8773582e --- /dev/null +++ b/client-go/security.policy.gloo.solo.io/v2/zz_generated.deepcopy.go @@ -0,0 +1,549 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for security.policy.gloo.solo.io/v2 resources + +package v2 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for AccessPolicy + +func (in *AccessPolicy) DeepCopyInto(out *AccessPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *AccessPolicy) DeepCopy() *AccessPolicy { + if in == nil { + return nil + } + out := new(AccessPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *AccessPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *AccessPolicyList) DeepCopyInto(out *AccessPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AccessPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *AccessPolicyList) DeepCopy() *AccessPolicyList { + if in == nil { + return nil + } + out := new(AccessPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *AccessPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for CORSPolicy + +func (in *CORSPolicy) DeepCopyInto(out *CORSPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *CORSPolicy) DeepCopy() *CORSPolicy { + if in == nil { + return nil + } + out := new(CORSPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *CORSPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *CORSPolicyList) DeepCopyInto(out *CORSPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CORSPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *CORSPolicyList) DeepCopy() *CORSPolicyList { + if in == nil { + return nil + } + out := new(CORSPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *CORSPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for CSRFPolicy + +func (in *CSRFPolicy) DeepCopyInto(out *CSRFPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *CSRFPolicy) DeepCopy() *CSRFPolicy { + if in == nil { + return nil + } + out := new(CSRFPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *CSRFPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *CSRFPolicyList) DeepCopyInto(out *CSRFPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CSRFPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *CSRFPolicyList) DeepCopy() *CSRFPolicyList { + if in == nil { + return nil + } + out := new(CSRFPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *CSRFPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for ExtAuthPolicy + +func (in *ExtAuthPolicy) DeepCopyInto(out *ExtAuthPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ExtAuthPolicy) DeepCopy() *ExtAuthPolicy { + if in == nil { + return nil + } + out := new(ExtAuthPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *ExtAuthPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ExtAuthPolicyList) DeepCopyInto(out *ExtAuthPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ExtAuthPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ExtAuthPolicyList) DeepCopy() *ExtAuthPolicyList { + if in == nil { + return nil + } + out := new(ExtAuthPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *ExtAuthPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for WAFPolicy + +func (in *WAFPolicy) DeepCopyInto(out *WAFPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *WAFPolicy) DeepCopy() *WAFPolicy { + if in == nil { + return nil + } + out := new(WAFPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *WAFPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *WAFPolicyList) DeepCopyInto(out *WAFPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WAFPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *WAFPolicyList) DeepCopy() *WAFPolicyList { + if in == nil { + return nil + } + out := new(WAFPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *WAFPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for JWTPolicy + +func (in *JWTPolicy) DeepCopyInto(out *JWTPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *JWTPolicy) DeepCopy() *JWTPolicy { + if in == nil { + return nil + } + out := new(JWTPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *JWTPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *JWTPolicyList) DeepCopyInto(out *JWTPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]JWTPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *JWTPolicyList) DeepCopy() *JWTPolicyList { + if in == nil { + return nil + } + out := new(JWTPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *JWTPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for ClientTLSPolicy + +func (in *ClientTLSPolicy) DeepCopyInto(out *ClientTLSPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ClientTLSPolicy) DeepCopy() *ClientTLSPolicy { + if in == nil { + return nil + } + out := new(ClientTLSPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *ClientTLSPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ClientTLSPolicyList) DeepCopyInto(out *ClientTLSPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ClientTLSPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ClientTLSPolicyList) DeepCopy() *ClientTLSPolicyList { + if in == nil { + return nil + } + out := new(ClientTLSPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *ClientTLSPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for GraphQLAllowedQueryPolicy + +func (in *GraphQLAllowedQueryPolicy) DeepCopyInto(out *GraphQLAllowedQueryPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *GraphQLAllowedQueryPolicy) DeepCopy() *GraphQLAllowedQueryPolicy { + if in == nil { + return nil + } + out := new(GraphQLAllowedQueryPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *GraphQLAllowedQueryPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *GraphQLAllowedQueryPolicyList) DeepCopyInto(out *GraphQLAllowedQueryPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GraphQLAllowedQueryPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *GraphQLAllowedQueryPolicyList) DeepCopy() *GraphQLAllowedQueryPolicyList { + if in == nil { + return nil + } + out := new(GraphQLAllowedQueryPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *GraphQLAllowedQueryPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for DLPPolicy + +func (in *DLPPolicy) DeepCopyInto(out *DLPPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *DLPPolicy) DeepCopy() *DLPPolicy { + if in == nil { + return nil + } + out := new(DLPPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *DLPPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *DLPPolicyList) DeepCopyInto(out *DLPPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DLPPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *DLPPolicyList) DeepCopy() *DLPPolicyList { + if in == nil { + return nil + } + out := new(DLPPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *DLPPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/clients.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/clients.go new file mode 100644 index 000000000..421c160d6 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/clients.go @@ -0,0 +1,1256 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./clients.go -destination mocks/clients.go + +package v2 + +import ( + "context" + + "github.com/solo-io/skv2/pkg/controllerutils" + "github.com/solo-io/skv2/pkg/multicluster" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// MulticlusterClientset for the trafficcontrol.policy.gloo.solo.io/v2 APIs +type MulticlusterClientset interface { + // Cluster returns a Clientset for the given cluster + Cluster(cluster string) (Clientset, error) +} + +type multiclusterClientset struct { + client multicluster.Client +} + +func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset { + return &multiclusterClientset{client: client} +} + +func (m *multiclusterClientset) Cluster(cluster string) (Clientset, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +// clienset for the trafficcontrol.policy.gloo.solo.io/v2 APIs +type Clientset interface { + // clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs + MirrorPolicies() MirrorPolicyClient + // clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs + RateLimitPolicies() RateLimitPolicyClient + // clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs + RateLimitClientConfigs() RateLimitClientConfigClient + // clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs + HeaderManipulationPolicies() HeaderManipulationPolicyClient + // clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs + TransformationPolicies() TransformationPolicyClient + // clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs + LoadBalancerPolicies() LoadBalancerPolicyClient + // clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs + ProxyProtocolPolicies() ProxyProtocolPolicyClient + // clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs + HTTPBufferPolicies() HTTPBufferPolicyClient +} + +type clientSet struct { + client client.Client +} + +func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error) { + scheme := scheme.Scheme + if err := SchemeBuilder.AddToScheme(scheme); err != nil { + return nil, err + } + client, err := client.New(cfg, client.Options{ + Scheme: scheme, + }) + if err != nil { + return nil, err + } + return NewClientset(client), nil +} + +func NewClientset(client client.Client) Clientset { + return &clientSet{client: client} +} + +// clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) MirrorPolicies() MirrorPolicyClient { + return NewMirrorPolicyClient(c.client) +} + +// clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) RateLimitPolicies() RateLimitPolicyClient { + return NewRateLimitPolicyClient(c.client) +} + +// clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) RateLimitClientConfigs() RateLimitClientConfigClient { + return NewRateLimitClientConfigClient(c.client) +} + +// clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) HeaderManipulationPolicies() HeaderManipulationPolicyClient { + return NewHeaderManipulationPolicyClient(c.client) +} + +// clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) TransformationPolicies() TransformationPolicyClient { + return NewTransformationPolicyClient(c.client) +} + +// clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) LoadBalancerPolicies() LoadBalancerPolicyClient { + return NewLoadBalancerPolicyClient(c.client) +} + +// clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) ProxyProtocolPolicies() ProxyProtocolPolicyClient { + return NewProxyProtocolPolicyClient(c.client) +} + +// clienset for the trafficcontrol.policy.gloo.solo.io/v2/v2 APIs +func (c *clientSet) HTTPBufferPolicies() HTTPBufferPolicyClient { + return NewHTTPBufferPolicyClient(c.client) +} + +// Reader knows how to read and list MirrorPolicys. +type MirrorPolicyReader interface { + // Get retrieves a MirrorPolicy for the given object key + GetMirrorPolicy(ctx context.Context, key client.ObjectKey) (*MirrorPolicy, error) + + // List retrieves list of MirrorPolicys for a given namespace and list options. + ListMirrorPolicy(ctx context.Context, opts ...client.ListOption) (*MirrorPolicyList, error) +} + +// MirrorPolicyTransitionFunction instructs the MirrorPolicyWriter how to transition between an existing +// MirrorPolicy object and a desired on an Upsert +type MirrorPolicyTransitionFunction func(existing, desired *MirrorPolicy) error + +// Writer knows how to create, delete, and update MirrorPolicys. +type MirrorPolicyWriter interface { + // Create saves the MirrorPolicy object. + CreateMirrorPolicy(ctx context.Context, obj *MirrorPolicy, opts ...client.CreateOption) error + + // Delete deletes the MirrorPolicy object. + DeleteMirrorPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given MirrorPolicy object. + UpdateMirrorPolicy(ctx context.Context, obj *MirrorPolicy, opts ...client.UpdateOption) error + + // Patch patches the given MirrorPolicy object. + PatchMirrorPolicy(ctx context.Context, obj *MirrorPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all MirrorPolicy objects matching the given options. + DeleteAllOfMirrorPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the MirrorPolicy object. + UpsertMirrorPolicy(ctx context.Context, obj *MirrorPolicy, transitionFuncs ...MirrorPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a MirrorPolicy object. +type MirrorPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given MirrorPolicy object. + UpdateMirrorPolicyStatus(ctx context.Context, obj *MirrorPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given MirrorPolicy object's subresource. + PatchMirrorPolicyStatus(ctx context.Context, obj *MirrorPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on MirrorPolicys. +type MirrorPolicyClient interface { + MirrorPolicyReader + MirrorPolicyWriter + MirrorPolicyStatusWriter +} + +type mirrorPolicyClient struct { + client client.Client +} + +func NewMirrorPolicyClient(client client.Client) *mirrorPolicyClient { + return &mirrorPolicyClient{client: client} +} + +func (c *mirrorPolicyClient) GetMirrorPolicy(ctx context.Context, key client.ObjectKey) (*MirrorPolicy, error) { + obj := &MirrorPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *mirrorPolicyClient) ListMirrorPolicy(ctx context.Context, opts ...client.ListOption) (*MirrorPolicyList, error) { + list := &MirrorPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *mirrorPolicyClient) CreateMirrorPolicy(ctx context.Context, obj *MirrorPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *mirrorPolicyClient) DeleteMirrorPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &MirrorPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *mirrorPolicyClient) UpdateMirrorPolicy(ctx context.Context, obj *MirrorPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *mirrorPolicyClient) PatchMirrorPolicy(ctx context.Context, obj *MirrorPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *mirrorPolicyClient) DeleteAllOfMirrorPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &MirrorPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *mirrorPolicyClient) UpsertMirrorPolicy(ctx context.Context, obj *MirrorPolicy, transitionFuncs ...MirrorPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*MirrorPolicy), desired.(*MirrorPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *mirrorPolicyClient) UpdateMirrorPolicyStatus(ctx context.Context, obj *MirrorPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *mirrorPolicyClient) PatchMirrorPolicyStatus(ctx context.Context, obj *MirrorPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides MirrorPolicyClients for multiple clusters. +type MulticlusterMirrorPolicyClient interface { + // Cluster returns a MirrorPolicyClient for the given cluster + Cluster(cluster string) (MirrorPolicyClient, error) +} + +type multiclusterMirrorPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterMirrorPolicyClient(client multicluster.Client) MulticlusterMirrorPolicyClient { + return &multiclusterMirrorPolicyClient{client: client} +} + +func (m *multiclusterMirrorPolicyClient) Cluster(cluster string) (MirrorPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewMirrorPolicyClient(client), nil +} + +// Reader knows how to read and list RateLimitPolicys. +type RateLimitPolicyReader interface { + // Get retrieves a RateLimitPolicy for the given object key + GetRateLimitPolicy(ctx context.Context, key client.ObjectKey) (*RateLimitPolicy, error) + + // List retrieves list of RateLimitPolicys for a given namespace and list options. + ListRateLimitPolicy(ctx context.Context, opts ...client.ListOption) (*RateLimitPolicyList, error) +} + +// RateLimitPolicyTransitionFunction instructs the RateLimitPolicyWriter how to transition between an existing +// RateLimitPolicy object and a desired on an Upsert +type RateLimitPolicyTransitionFunction func(existing, desired *RateLimitPolicy) error + +// Writer knows how to create, delete, and update RateLimitPolicys. +type RateLimitPolicyWriter interface { + // Create saves the RateLimitPolicy object. + CreateRateLimitPolicy(ctx context.Context, obj *RateLimitPolicy, opts ...client.CreateOption) error + + // Delete deletes the RateLimitPolicy object. + DeleteRateLimitPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given RateLimitPolicy object. + UpdateRateLimitPolicy(ctx context.Context, obj *RateLimitPolicy, opts ...client.UpdateOption) error + + // Patch patches the given RateLimitPolicy object. + PatchRateLimitPolicy(ctx context.Context, obj *RateLimitPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all RateLimitPolicy objects matching the given options. + DeleteAllOfRateLimitPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the RateLimitPolicy object. + UpsertRateLimitPolicy(ctx context.Context, obj *RateLimitPolicy, transitionFuncs ...RateLimitPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a RateLimitPolicy object. +type RateLimitPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given RateLimitPolicy object. + UpdateRateLimitPolicyStatus(ctx context.Context, obj *RateLimitPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given RateLimitPolicy object's subresource. + PatchRateLimitPolicyStatus(ctx context.Context, obj *RateLimitPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on RateLimitPolicys. +type RateLimitPolicyClient interface { + RateLimitPolicyReader + RateLimitPolicyWriter + RateLimitPolicyStatusWriter +} + +type rateLimitPolicyClient struct { + client client.Client +} + +func NewRateLimitPolicyClient(client client.Client) *rateLimitPolicyClient { + return &rateLimitPolicyClient{client: client} +} + +func (c *rateLimitPolicyClient) GetRateLimitPolicy(ctx context.Context, key client.ObjectKey) (*RateLimitPolicy, error) { + obj := &RateLimitPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *rateLimitPolicyClient) ListRateLimitPolicy(ctx context.Context, opts ...client.ListOption) (*RateLimitPolicyList, error) { + list := &RateLimitPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *rateLimitPolicyClient) CreateRateLimitPolicy(ctx context.Context, obj *RateLimitPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *rateLimitPolicyClient) DeleteRateLimitPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &RateLimitPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *rateLimitPolicyClient) UpdateRateLimitPolicy(ctx context.Context, obj *RateLimitPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *rateLimitPolicyClient) PatchRateLimitPolicy(ctx context.Context, obj *RateLimitPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *rateLimitPolicyClient) DeleteAllOfRateLimitPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &RateLimitPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *rateLimitPolicyClient) UpsertRateLimitPolicy(ctx context.Context, obj *RateLimitPolicy, transitionFuncs ...RateLimitPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*RateLimitPolicy), desired.(*RateLimitPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *rateLimitPolicyClient) UpdateRateLimitPolicyStatus(ctx context.Context, obj *RateLimitPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *rateLimitPolicyClient) PatchRateLimitPolicyStatus(ctx context.Context, obj *RateLimitPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides RateLimitPolicyClients for multiple clusters. +type MulticlusterRateLimitPolicyClient interface { + // Cluster returns a RateLimitPolicyClient for the given cluster + Cluster(cluster string) (RateLimitPolicyClient, error) +} + +type multiclusterRateLimitPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterRateLimitPolicyClient(client multicluster.Client) MulticlusterRateLimitPolicyClient { + return &multiclusterRateLimitPolicyClient{client: client} +} + +func (m *multiclusterRateLimitPolicyClient) Cluster(cluster string) (RateLimitPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewRateLimitPolicyClient(client), nil +} + +// Reader knows how to read and list RateLimitClientConfigs. +type RateLimitClientConfigReader interface { + // Get retrieves a RateLimitClientConfig for the given object key + GetRateLimitClientConfig(ctx context.Context, key client.ObjectKey) (*RateLimitClientConfig, error) + + // List retrieves list of RateLimitClientConfigs for a given namespace and list options. + ListRateLimitClientConfig(ctx context.Context, opts ...client.ListOption) (*RateLimitClientConfigList, error) +} + +// RateLimitClientConfigTransitionFunction instructs the RateLimitClientConfigWriter how to transition between an existing +// RateLimitClientConfig object and a desired on an Upsert +type RateLimitClientConfigTransitionFunction func(existing, desired *RateLimitClientConfig) error + +// Writer knows how to create, delete, and update RateLimitClientConfigs. +type RateLimitClientConfigWriter interface { + // Create saves the RateLimitClientConfig object. + CreateRateLimitClientConfig(ctx context.Context, obj *RateLimitClientConfig, opts ...client.CreateOption) error + + // Delete deletes the RateLimitClientConfig object. + DeleteRateLimitClientConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given RateLimitClientConfig object. + UpdateRateLimitClientConfig(ctx context.Context, obj *RateLimitClientConfig, opts ...client.UpdateOption) error + + // Patch patches the given RateLimitClientConfig object. + PatchRateLimitClientConfig(ctx context.Context, obj *RateLimitClientConfig, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all RateLimitClientConfig objects matching the given options. + DeleteAllOfRateLimitClientConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the RateLimitClientConfig object. + UpsertRateLimitClientConfig(ctx context.Context, obj *RateLimitClientConfig, transitionFuncs ...RateLimitClientConfigTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a RateLimitClientConfig object. +type RateLimitClientConfigStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given RateLimitClientConfig object. + UpdateRateLimitClientConfigStatus(ctx context.Context, obj *RateLimitClientConfig, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given RateLimitClientConfig object's subresource. + PatchRateLimitClientConfigStatus(ctx context.Context, obj *RateLimitClientConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on RateLimitClientConfigs. +type RateLimitClientConfigClient interface { + RateLimitClientConfigReader + RateLimitClientConfigWriter + RateLimitClientConfigStatusWriter +} + +type rateLimitClientConfigClient struct { + client client.Client +} + +func NewRateLimitClientConfigClient(client client.Client) *rateLimitClientConfigClient { + return &rateLimitClientConfigClient{client: client} +} + +func (c *rateLimitClientConfigClient) GetRateLimitClientConfig(ctx context.Context, key client.ObjectKey) (*RateLimitClientConfig, error) { + obj := &RateLimitClientConfig{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *rateLimitClientConfigClient) ListRateLimitClientConfig(ctx context.Context, opts ...client.ListOption) (*RateLimitClientConfigList, error) { + list := &RateLimitClientConfigList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *rateLimitClientConfigClient) CreateRateLimitClientConfig(ctx context.Context, obj *RateLimitClientConfig, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *rateLimitClientConfigClient) DeleteRateLimitClientConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &RateLimitClientConfig{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *rateLimitClientConfigClient) UpdateRateLimitClientConfig(ctx context.Context, obj *RateLimitClientConfig, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *rateLimitClientConfigClient) PatchRateLimitClientConfig(ctx context.Context, obj *RateLimitClientConfig, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *rateLimitClientConfigClient) DeleteAllOfRateLimitClientConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &RateLimitClientConfig{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *rateLimitClientConfigClient) UpsertRateLimitClientConfig(ctx context.Context, obj *RateLimitClientConfig, transitionFuncs ...RateLimitClientConfigTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*RateLimitClientConfig), desired.(*RateLimitClientConfig)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *rateLimitClientConfigClient) UpdateRateLimitClientConfigStatus(ctx context.Context, obj *RateLimitClientConfig, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *rateLimitClientConfigClient) PatchRateLimitClientConfigStatus(ctx context.Context, obj *RateLimitClientConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides RateLimitClientConfigClients for multiple clusters. +type MulticlusterRateLimitClientConfigClient interface { + // Cluster returns a RateLimitClientConfigClient for the given cluster + Cluster(cluster string) (RateLimitClientConfigClient, error) +} + +type multiclusterRateLimitClientConfigClient struct { + client multicluster.Client +} + +func NewMulticlusterRateLimitClientConfigClient(client multicluster.Client) MulticlusterRateLimitClientConfigClient { + return &multiclusterRateLimitClientConfigClient{client: client} +} + +func (m *multiclusterRateLimitClientConfigClient) Cluster(cluster string) (RateLimitClientConfigClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewRateLimitClientConfigClient(client), nil +} + +// Reader knows how to read and list HeaderManipulationPolicys. +type HeaderManipulationPolicyReader interface { + // Get retrieves a HeaderManipulationPolicy for the given object key + GetHeaderManipulationPolicy(ctx context.Context, key client.ObjectKey) (*HeaderManipulationPolicy, error) + + // List retrieves list of HeaderManipulationPolicys for a given namespace and list options. + ListHeaderManipulationPolicy(ctx context.Context, opts ...client.ListOption) (*HeaderManipulationPolicyList, error) +} + +// HeaderManipulationPolicyTransitionFunction instructs the HeaderManipulationPolicyWriter how to transition between an existing +// HeaderManipulationPolicy object and a desired on an Upsert +type HeaderManipulationPolicyTransitionFunction func(existing, desired *HeaderManipulationPolicy) error + +// Writer knows how to create, delete, and update HeaderManipulationPolicys. +type HeaderManipulationPolicyWriter interface { + // Create saves the HeaderManipulationPolicy object. + CreateHeaderManipulationPolicy(ctx context.Context, obj *HeaderManipulationPolicy, opts ...client.CreateOption) error + + // Delete deletes the HeaderManipulationPolicy object. + DeleteHeaderManipulationPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given HeaderManipulationPolicy object. + UpdateHeaderManipulationPolicy(ctx context.Context, obj *HeaderManipulationPolicy, opts ...client.UpdateOption) error + + // Patch patches the given HeaderManipulationPolicy object. + PatchHeaderManipulationPolicy(ctx context.Context, obj *HeaderManipulationPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all HeaderManipulationPolicy objects matching the given options. + DeleteAllOfHeaderManipulationPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the HeaderManipulationPolicy object. + UpsertHeaderManipulationPolicy(ctx context.Context, obj *HeaderManipulationPolicy, transitionFuncs ...HeaderManipulationPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a HeaderManipulationPolicy object. +type HeaderManipulationPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given HeaderManipulationPolicy object. + UpdateHeaderManipulationPolicyStatus(ctx context.Context, obj *HeaderManipulationPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given HeaderManipulationPolicy object's subresource. + PatchHeaderManipulationPolicyStatus(ctx context.Context, obj *HeaderManipulationPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on HeaderManipulationPolicys. +type HeaderManipulationPolicyClient interface { + HeaderManipulationPolicyReader + HeaderManipulationPolicyWriter + HeaderManipulationPolicyStatusWriter +} + +type headerManipulationPolicyClient struct { + client client.Client +} + +func NewHeaderManipulationPolicyClient(client client.Client) *headerManipulationPolicyClient { + return &headerManipulationPolicyClient{client: client} +} + +func (c *headerManipulationPolicyClient) GetHeaderManipulationPolicy(ctx context.Context, key client.ObjectKey) (*HeaderManipulationPolicy, error) { + obj := &HeaderManipulationPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *headerManipulationPolicyClient) ListHeaderManipulationPolicy(ctx context.Context, opts ...client.ListOption) (*HeaderManipulationPolicyList, error) { + list := &HeaderManipulationPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *headerManipulationPolicyClient) CreateHeaderManipulationPolicy(ctx context.Context, obj *HeaderManipulationPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *headerManipulationPolicyClient) DeleteHeaderManipulationPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &HeaderManipulationPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *headerManipulationPolicyClient) UpdateHeaderManipulationPolicy(ctx context.Context, obj *HeaderManipulationPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *headerManipulationPolicyClient) PatchHeaderManipulationPolicy(ctx context.Context, obj *HeaderManipulationPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *headerManipulationPolicyClient) DeleteAllOfHeaderManipulationPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &HeaderManipulationPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *headerManipulationPolicyClient) UpsertHeaderManipulationPolicy(ctx context.Context, obj *HeaderManipulationPolicy, transitionFuncs ...HeaderManipulationPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*HeaderManipulationPolicy), desired.(*HeaderManipulationPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *headerManipulationPolicyClient) UpdateHeaderManipulationPolicyStatus(ctx context.Context, obj *HeaderManipulationPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *headerManipulationPolicyClient) PatchHeaderManipulationPolicyStatus(ctx context.Context, obj *HeaderManipulationPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides HeaderManipulationPolicyClients for multiple clusters. +type MulticlusterHeaderManipulationPolicyClient interface { + // Cluster returns a HeaderManipulationPolicyClient for the given cluster + Cluster(cluster string) (HeaderManipulationPolicyClient, error) +} + +type multiclusterHeaderManipulationPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterHeaderManipulationPolicyClient(client multicluster.Client) MulticlusterHeaderManipulationPolicyClient { + return &multiclusterHeaderManipulationPolicyClient{client: client} +} + +func (m *multiclusterHeaderManipulationPolicyClient) Cluster(cluster string) (HeaderManipulationPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewHeaderManipulationPolicyClient(client), nil +} + +// Reader knows how to read and list TransformationPolicys. +type TransformationPolicyReader interface { + // Get retrieves a TransformationPolicy for the given object key + GetTransformationPolicy(ctx context.Context, key client.ObjectKey) (*TransformationPolicy, error) + + // List retrieves list of TransformationPolicys for a given namespace and list options. + ListTransformationPolicy(ctx context.Context, opts ...client.ListOption) (*TransformationPolicyList, error) +} + +// TransformationPolicyTransitionFunction instructs the TransformationPolicyWriter how to transition between an existing +// TransformationPolicy object and a desired on an Upsert +type TransformationPolicyTransitionFunction func(existing, desired *TransformationPolicy) error + +// Writer knows how to create, delete, and update TransformationPolicys. +type TransformationPolicyWriter interface { + // Create saves the TransformationPolicy object. + CreateTransformationPolicy(ctx context.Context, obj *TransformationPolicy, opts ...client.CreateOption) error + + // Delete deletes the TransformationPolicy object. + DeleteTransformationPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given TransformationPolicy object. + UpdateTransformationPolicy(ctx context.Context, obj *TransformationPolicy, opts ...client.UpdateOption) error + + // Patch patches the given TransformationPolicy object. + PatchTransformationPolicy(ctx context.Context, obj *TransformationPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all TransformationPolicy objects matching the given options. + DeleteAllOfTransformationPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the TransformationPolicy object. + UpsertTransformationPolicy(ctx context.Context, obj *TransformationPolicy, transitionFuncs ...TransformationPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a TransformationPolicy object. +type TransformationPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given TransformationPolicy object. + UpdateTransformationPolicyStatus(ctx context.Context, obj *TransformationPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given TransformationPolicy object's subresource. + PatchTransformationPolicyStatus(ctx context.Context, obj *TransformationPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on TransformationPolicys. +type TransformationPolicyClient interface { + TransformationPolicyReader + TransformationPolicyWriter + TransformationPolicyStatusWriter +} + +type transformationPolicyClient struct { + client client.Client +} + +func NewTransformationPolicyClient(client client.Client) *transformationPolicyClient { + return &transformationPolicyClient{client: client} +} + +func (c *transformationPolicyClient) GetTransformationPolicy(ctx context.Context, key client.ObjectKey) (*TransformationPolicy, error) { + obj := &TransformationPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *transformationPolicyClient) ListTransformationPolicy(ctx context.Context, opts ...client.ListOption) (*TransformationPolicyList, error) { + list := &TransformationPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *transformationPolicyClient) CreateTransformationPolicy(ctx context.Context, obj *TransformationPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *transformationPolicyClient) DeleteTransformationPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &TransformationPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *transformationPolicyClient) UpdateTransformationPolicy(ctx context.Context, obj *TransformationPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *transformationPolicyClient) PatchTransformationPolicy(ctx context.Context, obj *TransformationPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *transformationPolicyClient) DeleteAllOfTransformationPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &TransformationPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *transformationPolicyClient) UpsertTransformationPolicy(ctx context.Context, obj *TransformationPolicy, transitionFuncs ...TransformationPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*TransformationPolicy), desired.(*TransformationPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *transformationPolicyClient) UpdateTransformationPolicyStatus(ctx context.Context, obj *TransformationPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *transformationPolicyClient) PatchTransformationPolicyStatus(ctx context.Context, obj *TransformationPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides TransformationPolicyClients for multiple clusters. +type MulticlusterTransformationPolicyClient interface { + // Cluster returns a TransformationPolicyClient for the given cluster + Cluster(cluster string) (TransformationPolicyClient, error) +} + +type multiclusterTransformationPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterTransformationPolicyClient(client multicluster.Client) MulticlusterTransformationPolicyClient { + return &multiclusterTransformationPolicyClient{client: client} +} + +func (m *multiclusterTransformationPolicyClient) Cluster(cluster string) (TransformationPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewTransformationPolicyClient(client), nil +} + +// Reader knows how to read and list LoadBalancerPolicys. +type LoadBalancerPolicyReader interface { + // Get retrieves a LoadBalancerPolicy for the given object key + GetLoadBalancerPolicy(ctx context.Context, key client.ObjectKey) (*LoadBalancerPolicy, error) + + // List retrieves list of LoadBalancerPolicys for a given namespace and list options. + ListLoadBalancerPolicy(ctx context.Context, opts ...client.ListOption) (*LoadBalancerPolicyList, error) +} + +// LoadBalancerPolicyTransitionFunction instructs the LoadBalancerPolicyWriter how to transition between an existing +// LoadBalancerPolicy object and a desired on an Upsert +type LoadBalancerPolicyTransitionFunction func(existing, desired *LoadBalancerPolicy) error + +// Writer knows how to create, delete, and update LoadBalancerPolicys. +type LoadBalancerPolicyWriter interface { + // Create saves the LoadBalancerPolicy object. + CreateLoadBalancerPolicy(ctx context.Context, obj *LoadBalancerPolicy, opts ...client.CreateOption) error + + // Delete deletes the LoadBalancerPolicy object. + DeleteLoadBalancerPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given LoadBalancerPolicy object. + UpdateLoadBalancerPolicy(ctx context.Context, obj *LoadBalancerPolicy, opts ...client.UpdateOption) error + + // Patch patches the given LoadBalancerPolicy object. + PatchLoadBalancerPolicy(ctx context.Context, obj *LoadBalancerPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all LoadBalancerPolicy objects matching the given options. + DeleteAllOfLoadBalancerPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the LoadBalancerPolicy object. + UpsertLoadBalancerPolicy(ctx context.Context, obj *LoadBalancerPolicy, transitionFuncs ...LoadBalancerPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a LoadBalancerPolicy object. +type LoadBalancerPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given LoadBalancerPolicy object. + UpdateLoadBalancerPolicyStatus(ctx context.Context, obj *LoadBalancerPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given LoadBalancerPolicy object's subresource. + PatchLoadBalancerPolicyStatus(ctx context.Context, obj *LoadBalancerPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on LoadBalancerPolicys. +type LoadBalancerPolicyClient interface { + LoadBalancerPolicyReader + LoadBalancerPolicyWriter + LoadBalancerPolicyStatusWriter +} + +type loadBalancerPolicyClient struct { + client client.Client +} + +func NewLoadBalancerPolicyClient(client client.Client) *loadBalancerPolicyClient { + return &loadBalancerPolicyClient{client: client} +} + +func (c *loadBalancerPolicyClient) GetLoadBalancerPolicy(ctx context.Context, key client.ObjectKey) (*LoadBalancerPolicy, error) { + obj := &LoadBalancerPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *loadBalancerPolicyClient) ListLoadBalancerPolicy(ctx context.Context, opts ...client.ListOption) (*LoadBalancerPolicyList, error) { + list := &LoadBalancerPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *loadBalancerPolicyClient) CreateLoadBalancerPolicy(ctx context.Context, obj *LoadBalancerPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *loadBalancerPolicyClient) DeleteLoadBalancerPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &LoadBalancerPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *loadBalancerPolicyClient) UpdateLoadBalancerPolicy(ctx context.Context, obj *LoadBalancerPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *loadBalancerPolicyClient) PatchLoadBalancerPolicy(ctx context.Context, obj *LoadBalancerPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *loadBalancerPolicyClient) DeleteAllOfLoadBalancerPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &LoadBalancerPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *loadBalancerPolicyClient) UpsertLoadBalancerPolicy(ctx context.Context, obj *LoadBalancerPolicy, transitionFuncs ...LoadBalancerPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*LoadBalancerPolicy), desired.(*LoadBalancerPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *loadBalancerPolicyClient) UpdateLoadBalancerPolicyStatus(ctx context.Context, obj *LoadBalancerPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *loadBalancerPolicyClient) PatchLoadBalancerPolicyStatus(ctx context.Context, obj *LoadBalancerPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides LoadBalancerPolicyClients for multiple clusters. +type MulticlusterLoadBalancerPolicyClient interface { + // Cluster returns a LoadBalancerPolicyClient for the given cluster + Cluster(cluster string) (LoadBalancerPolicyClient, error) +} + +type multiclusterLoadBalancerPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterLoadBalancerPolicyClient(client multicluster.Client) MulticlusterLoadBalancerPolicyClient { + return &multiclusterLoadBalancerPolicyClient{client: client} +} + +func (m *multiclusterLoadBalancerPolicyClient) Cluster(cluster string) (LoadBalancerPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewLoadBalancerPolicyClient(client), nil +} + +// Reader knows how to read and list ProxyProtocolPolicys. +type ProxyProtocolPolicyReader interface { + // Get retrieves a ProxyProtocolPolicy for the given object key + GetProxyProtocolPolicy(ctx context.Context, key client.ObjectKey) (*ProxyProtocolPolicy, error) + + // List retrieves list of ProxyProtocolPolicys for a given namespace and list options. + ListProxyProtocolPolicy(ctx context.Context, opts ...client.ListOption) (*ProxyProtocolPolicyList, error) +} + +// ProxyProtocolPolicyTransitionFunction instructs the ProxyProtocolPolicyWriter how to transition between an existing +// ProxyProtocolPolicy object and a desired on an Upsert +type ProxyProtocolPolicyTransitionFunction func(existing, desired *ProxyProtocolPolicy) error + +// Writer knows how to create, delete, and update ProxyProtocolPolicys. +type ProxyProtocolPolicyWriter interface { + // Create saves the ProxyProtocolPolicy object. + CreateProxyProtocolPolicy(ctx context.Context, obj *ProxyProtocolPolicy, opts ...client.CreateOption) error + + // Delete deletes the ProxyProtocolPolicy object. + DeleteProxyProtocolPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given ProxyProtocolPolicy object. + UpdateProxyProtocolPolicy(ctx context.Context, obj *ProxyProtocolPolicy, opts ...client.UpdateOption) error + + // Patch patches the given ProxyProtocolPolicy object. + PatchProxyProtocolPolicy(ctx context.Context, obj *ProxyProtocolPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all ProxyProtocolPolicy objects matching the given options. + DeleteAllOfProxyProtocolPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the ProxyProtocolPolicy object. + UpsertProxyProtocolPolicy(ctx context.Context, obj *ProxyProtocolPolicy, transitionFuncs ...ProxyProtocolPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a ProxyProtocolPolicy object. +type ProxyProtocolPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given ProxyProtocolPolicy object. + UpdateProxyProtocolPolicyStatus(ctx context.Context, obj *ProxyProtocolPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given ProxyProtocolPolicy object's subresource. + PatchProxyProtocolPolicyStatus(ctx context.Context, obj *ProxyProtocolPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on ProxyProtocolPolicys. +type ProxyProtocolPolicyClient interface { + ProxyProtocolPolicyReader + ProxyProtocolPolicyWriter + ProxyProtocolPolicyStatusWriter +} + +type proxyProtocolPolicyClient struct { + client client.Client +} + +func NewProxyProtocolPolicyClient(client client.Client) *proxyProtocolPolicyClient { + return &proxyProtocolPolicyClient{client: client} +} + +func (c *proxyProtocolPolicyClient) GetProxyProtocolPolicy(ctx context.Context, key client.ObjectKey) (*ProxyProtocolPolicy, error) { + obj := &ProxyProtocolPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *proxyProtocolPolicyClient) ListProxyProtocolPolicy(ctx context.Context, opts ...client.ListOption) (*ProxyProtocolPolicyList, error) { + list := &ProxyProtocolPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *proxyProtocolPolicyClient) CreateProxyProtocolPolicy(ctx context.Context, obj *ProxyProtocolPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *proxyProtocolPolicyClient) DeleteProxyProtocolPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &ProxyProtocolPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *proxyProtocolPolicyClient) UpdateProxyProtocolPolicy(ctx context.Context, obj *ProxyProtocolPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *proxyProtocolPolicyClient) PatchProxyProtocolPolicy(ctx context.Context, obj *ProxyProtocolPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *proxyProtocolPolicyClient) DeleteAllOfProxyProtocolPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &ProxyProtocolPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *proxyProtocolPolicyClient) UpsertProxyProtocolPolicy(ctx context.Context, obj *ProxyProtocolPolicy, transitionFuncs ...ProxyProtocolPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*ProxyProtocolPolicy), desired.(*ProxyProtocolPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *proxyProtocolPolicyClient) UpdateProxyProtocolPolicyStatus(ctx context.Context, obj *ProxyProtocolPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *proxyProtocolPolicyClient) PatchProxyProtocolPolicyStatus(ctx context.Context, obj *ProxyProtocolPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides ProxyProtocolPolicyClients for multiple clusters. +type MulticlusterProxyProtocolPolicyClient interface { + // Cluster returns a ProxyProtocolPolicyClient for the given cluster + Cluster(cluster string) (ProxyProtocolPolicyClient, error) +} + +type multiclusterProxyProtocolPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterProxyProtocolPolicyClient(client multicluster.Client) MulticlusterProxyProtocolPolicyClient { + return &multiclusterProxyProtocolPolicyClient{client: client} +} + +func (m *multiclusterProxyProtocolPolicyClient) Cluster(cluster string) (ProxyProtocolPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewProxyProtocolPolicyClient(client), nil +} + +// Reader knows how to read and list HTTPBufferPolicys. +type HTTPBufferPolicyReader interface { + // Get retrieves a HTTPBufferPolicy for the given object key + GetHTTPBufferPolicy(ctx context.Context, key client.ObjectKey) (*HTTPBufferPolicy, error) + + // List retrieves list of HTTPBufferPolicys for a given namespace and list options. + ListHTTPBufferPolicy(ctx context.Context, opts ...client.ListOption) (*HTTPBufferPolicyList, error) +} + +// HTTPBufferPolicyTransitionFunction instructs the HTTPBufferPolicyWriter how to transition between an existing +// HTTPBufferPolicy object and a desired on an Upsert +type HTTPBufferPolicyTransitionFunction func(existing, desired *HTTPBufferPolicy) error + +// Writer knows how to create, delete, and update HTTPBufferPolicys. +type HTTPBufferPolicyWriter interface { + // Create saves the HTTPBufferPolicy object. + CreateHTTPBufferPolicy(ctx context.Context, obj *HTTPBufferPolicy, opts ...client.CreateOption) error + + // Delete deletes the HTTPBufferPolicy object. + DeleteHTTPBufferPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error + + // Update updates the given HTTPBufferPolicy object. + UpdateHTTPBufferPolicy(ctx context.Context, obj *HTTPBufferPolicy, opts ...client.UpdateOption) error + + // Patch patches the given HTTPBufferPolicy object. + PatchHTTPBufferPolicy(ctx context.Context, obj *HTTPBufferPolicy, patch client.Patch, opts ...client.PatchOption) error + + // DeleteAllOf deletes all HTTPBufferPolicy objects matching the given options. + DeleteAllOfHTTPBufferPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error + + // Create or Update the HTTPBufferPolicy object. + UpsertHTTPBufferPolicy(ctx context.Context, obj *HTTPBufferPolicy, transitionFuncs ...HTTPBufferPolicyTransitionFunction) error +} + +// StatusWriter knows how to update status subresource of a HTTPBufferPolicy object. +type HTTPBufferPolicyStatusWriter interface { + // Update updates the fields corresponding to the status subresource for the + // given HTTPBufferPolicy object. + UpdateHTTPBufferPolicyStatus(ctx context.Context, obj *HTTPBufferPolicy, opts ...client.SubResourceUpdateOption) error + + // Patch patches the given HTTPBufferPolicy object's subresource. + PatchHTTPBufferPolicyStatus(ctx context.Context, obj *HTTPBufferPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error +} + +// Client knows how to perform CRUD operations on HTTPBufferPolicys. +type HTTPBufferPolicyClient interface { + HTTPBufferPolicyReader + HTTPBufferPolicyWriter + HTTPBufferPolicyStatusWriter +} + +type hTTPBufferPolicyClient struct { + client client.Client +} + +func NewHTTPBufferPolicyClient(client client.Client) *hTTPBufferPolicyClient { + return &hTTPBufferPolicyClient{client: client} +} + +func (c *hTTPBufferPolicyClient) GetHTTPBufferPolicy(ctx context.Context, key client.ObjectKey) (*HTTPBufferPolicy, error) { + obj := &HTTPBufferPolicy{} + if err := c.client.Get(ctx, key, obj); err != nil { + return nil, err + } + return obj, nil +} + +func (c *hTTPBufferPolicyClient) ListHTTPBufferPolicy(ctx context.Context, opts ...client.ListOption) (*HTTPBufferPolicyList, error) { + list := &HTTPBufferPolicyList{} + if err := c.client.List(ctx, list, opts...); err != nil { + return nil, err + } + return list, nil +} + +func (c *hTTPBufferPolicyClient) CreateHTTPBufferPolicy(ctx context.Context, obj *HTTPBufferPolicy, opts ...client.CreateOption) error { + return c.client.Create(ctx, obj, opts...) +} + +func (c *hTTPBufferPolicyClient) DeleteHTTPBufferPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + obj := &HTTPBufferPolicy{} + obj.SetName(key.Name) + obj.SetNamespace(key.Namespace) + return c.client.Delete(ctx, obj, opts...) +} + +func (c *hTTPBufferPolicyClient) UpdateHTTPBufferPolicy(ctx context.Context, obj *HTTPBufferPolicy, opts ...client.UpdateOption) error { + return c.client.Update(ctx, obj, opts...) +} + +func (c *hTTPBufferPolicyClient) PatchHTTPBufferPolicy(ctx context.Context, obj *HTTPBufferPolicy, patch client.Patch, opts ...client.PatchOption) error { + return c.client.Patch(ctx, obj, patch, opts...) +} + +func (c *hTTPBufferPolicyClient) DeleteAllOfHTTPBufferPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + obj := &HTTPBufferPolicy{} + return c.client.DeleteAllOf(ctx, obj, opts...) +} + +func (c *hTTPBufferPolicyClient) UpsertHTTPBufferPolicy(ctx context.Context, obj *HTTPBufferPolicy, transitionFuncs ...HTTPBufferPolicyTransitionFunction) error { + genericTxFunc := func(existing, desired runtime.Object) error { + for _, txFunc := range transitionFuncs { + if err := txFunc(existing.(*HTTPBufferPolicy), desired.(*HTTPBufferPolicy)); err != nil { + return err + } + } + return nil + } + _, err := controllerutils.Upsert(ctx, c.client, obj, genericTxFunc) + return err +} + +func (c *hTTPBufferPolicyClient) UpdateHTTPBufferPolicyStatus(ctx context.Context, obj *HTTPBufferPolicy, opts ...client.SubResourceUpdateOption) error { + return c.client.Status().Update(ctx, obj, opts...) +} + +func (c *hTTPBufferPolicyClient) PatchHTTPBufferPolicyStatus(ctx context.Context, obj *HTTPBufferPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + return c.client.Status().Patch(ctx, obj, patch, opts...) +} + +// Provides HTTPBufferPolicyClients for multiple clusters. +type MulticlusterHTTPBufferPolicyClient interface { + // Cluster returns a HTTPBufferPolicyClient for the given cluster + Cluster(cluster string) (HTTPBufferPolicyClient, error) +} + +type multiclusterHTTPBufferPolicyClient struct { + client multicluster.Client +} + +func NewMulticlusterHTTPBufferPolicyClient(client multicluster.Client) MulticlusterHTTPBufferPolicyClient { + return &multiclusterHTTPBufferPolicyClient{client: client} +} + +func (m *multiclusterHTTPBufferPolicyClient) Cluster(cluster string) (HTTPBufferPolicyClient, error) { + client, err := m.client.Cluster(cluster) + if err != nil { + return nil, err + } + return NewHTTPBufferPolicyClient(client), nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/config_types.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/config_types.go new file mode 100644 index 000000000..837520663 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/config_types.go @@ -0,0 +1,28 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2 + +// IsConfigObject implements ConfigObject interface for MirrorPolicy +func (o *MirrorPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for RateLimitPolicy +func (o *RateLimitPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for RateLimitClientConfig +func (o *RateLimitClientConfig) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for HeaderManipulationPolicy +func (o *HeaderManipulationPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for TransformationPolicy +func (o *TransformationPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for LoadBalancerPolicy +func (o *LoadBalancerPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for ProxyProtocolPolicy +func (o *ProxyProtocolPolicy) IsConfigObject() {} + +// IsConfigObject implements ConfigObject interface for HTTPBufferPolicy +func (o *HTTPBufferPolicy) IsConfigObject() {} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/event_handlers.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/event_handlers.go new file mode 100644 index 000000000..f5ca61d56 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/event_handlers.go @@ -0,0 +1,874 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./event_handlers.go -destination mocks/event_handlers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + trafficcontrol_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/events" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Handle events for the MirrorPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type MirrorPolicyEventHandler interface { + CreateMirrorPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error + UpdateMirrorPolicy(old, new *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error + DeleteMirrorPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error + GenericMirrorPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error +} + +type MirrorPolicyEventHandlerFuncs struct { + OnCreate func(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error + OnUpdate func(old, new *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error + OnDelete func(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error + OnGeneric func(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error +} + +func (f *MirrorPolicyEventHandlerFuncs) CreateMirrorPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *MirrorPolicyEventHandlerFuncs) DeleteMirrorPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *MirrorPolicyEventHandlerFuncs) UpdateMirrorPolicy(objOld, objNew *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *MirrorPolicyEventHandlerFuncs) GenericMirrorPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type MirrorPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h MirrorPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type mirrorPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewMirrorPolicyEventWatcher(name string, mgr manager.Manager) MirrorPolicyEventWatcher { + return &mirrorPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy{}), + } +} + +func (c *mirrorPolicyEventWatcher) AddEventHandler(ctx context.Context, h MirrorPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericMirrorPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericMirrorPolicyHandler implements a generic events.EventHandler +type genericMirrorPolicyHandler struct { + handler MirrorPolicyEventHandler +} + +func (h genericMirrorPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) + if !ok { + return errors.Errorf("internal error: MirrorPolicy handler received event for %T", object) + } + return h.handler.CreateMirrorPolicy(obj) +} + +func (h genericMirrorPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) + if !ok { + return errors.Errorf("internal error: MirrorPolicy handler received event for %T", object) + } + return h.handler.DeleteMirrorPolicy(obj) +} + +func (h genericMirrorPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) + if !ok { + return errors.Errorf("internal error: MirrorPolicy handler received event for %T", old) + } + objNew, ok := new.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) + if !ok { + return errors.Errorf("internal error: MirrorPolicy handler received event for %T", new) + } + return h.handler.UpdateMirrorPolicy(objOld, objNew) +} + +func (h genericMirrorPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) + if !ok { + return errors.Errorf("internal error: MirrorPolicy handler received event for %T", object) + } + return h.handler.GenericMirrorPolicy(obj) +} + +// Handle events for the RateLimitPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type RateLimitPolicyEventHandler interface { + CreateRateLimitPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error + UpdateRateLimitPolicy(old, new *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error + DeleteRateLimitPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error + GenericRateLimitPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error +} + +type RateLimitPolicyEventHandlerFuncs struct { + OnCreate func(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error + OnUpdate func(old, new *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error + OnDelete func(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error + OnGeneric func(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error +} + +func (f *RateLimitPolicyEventHandlerFuncs) CreateRateLimitPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *RateLimitPolicyEventHandlerFuncs) DeleteRateLimitPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *RateLimitPolicyEventHandlerFuncs) UpdateRateLimitPolicy(objOld, objNew *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *RateLimitPolicyEventHandlerFuncs) GenericRateLimitPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type RateLimitPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h RateLimitPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type rateLimitPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewRateLimitPolicyEventWatcher(name string, mgr manager.Manager) RateLimitPolicyEventWatcher { + return &rateLimitPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy{}), + } +} + +func (c *rateLimitPolicyEventWatcher) AddEventHandler(ctx context.Context, h RateLimitPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericRateLimitPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericRateLimitPolicyHandler implements a generic events.EventHandler +type genericRateLimitPolicyHandler struct { + handler RateLimitPolicyEventHandler +} + +func (h genericRateLimitPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) + if !ok { + return errors.Errorf("internal error: RateLimitPolicy handler received event for %T", object) + } + return h.handler.CreateRateLimitPolicy(obj) +} + +func (h genericRateLimitPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) + if !ok { + return errors.Errorf("internal error: RateLimitPolicy handler received event for %T", object) + } + return h.handler.DeleteRateLimitPolicy(obj) +} + +func (h genericRateLimitPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) + if !ok { + return errors.Errorf("internal error: RateLimitPolicy handler received event for %T", old) + } + objNew, ok := new.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) + if !ok { + return errors.Errorf("internal error: RateLimitPolicy handler received event for %T", new) + } + return h.handler.UpdateRateLimitPolicy(objOld, objNew) +} + +func (h genericRateLimitPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) + if !ok { + return errors.Errorf("internal error: RateLimitPolicy handler received event for %T", object) + } + return h.handler.GenericRateLimitPolicy(obj) +} + +// Handle events for the RateLimitClientConfig Resource +// DEPRECATED: Prefer reconciler pattern. +type RateLimitClientConfigEventHandler interface { + CreateRateLimitClientConfig(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error + UpdateRateLimitClientConfig(old, new *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error + DeleteRateLimitClientConfig(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error + GenericRateLimitClientConfig(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error +} + +type RateLimitClientConfigEventHandlerFuncs struct { + OnCreate func(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error + OnUpdate func(old, new *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error + OnDelete func(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error + OnGeneric func(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error +} + +func (f *RateLimitClientConfigEventHandlerFuncs) CreateRateLimitClientConfig(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *RateLimitClientConfigEventHandlerFuncs) DeleteRateLimitClientConfig(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *RateLimitClientConfigEventHandlerFuncs) UpdateRateLimitClientConfig(objOld, objNew *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *RateLimitClientConfigEventHandlerFuncs) GenericRateLimitClientConfig(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type RateLimitClientConfigEventWatcher interface { + AddEventHandler(ctx context.Context, h RateLimitClientConfigEventHandler, predicates ...predicate.Predicate) error +} + +type rateLimitClientConfigEventWatcher struct { + watcher events.EventWatcher +} + +func NewRateLimitClientConfigEventWatcher(name string, mgr manager.Manager) RateLimitClientConfigEventWatcher { + return &rateLimitClientConfigEventWatcher{ + watcher: events.NewWatcher(name, mgr, &trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig{}), + } +} + +func (c *rateLimitClientConfigEventWatcher) AddEventHandler(ctx context.Context, h RateLimitClientConfigEventHandler, predicates ...predicate.Predicate) error { + handler := genericRateLimitClientConfigHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericRateLimitClientConfigHandler implements a generic events.EventHandler +type genericRateLimitClientConfigHandler struct { + handler RateLimitClientConfigEventHandler +} + +func (h genericRateLimitClientConfigHandler) Create(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) + if !ok { + return errors.Errorf("internal error: RateLimitClientConfig handler received event for %T", object) + } + return h.handler.CreateRateLimitClientConfig(obj) +} + +func (h genericRateLimitClientConfigHandler) Delete(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) + if !ok { + return errors.Errorf("internal error: RateLimitClientConfig handler received event for %T", object) + } + return h.handler.DeleteRateLimitClientConfig(obj) +} + +func (h genericRateLimitClientConfigHandler) Update(old, new client.Object) error { + objOld, ok := old.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) + if !ok { + return errors.Errorf("internal error: RateLimitClientConfig handler received event for %T", old) + } + objNew, ok := new.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) + if !ok { + return errors.Errorf("internal error: RateLimitClientConfig handler received event for %T", new) + } + return h.handler.UpdateRateLimitClientConfig(objOld, objNew) +} + +func (h genericRateLimitClientConfigHandler) Generic(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) + if !ok { + return errors.Errorf("internal error: RateLimitClientConfig handler received event for %T", object) + } + return h.handler.GenericRateLimitClientConfig(obj) +} + +// Handle events for the HeaderManipulationPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type HeaderManipulationPolicyEventHandler interface { + CreateHeaderManipulationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error + UpdateHeaderManipulationPolicy(old, new *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error + DeleteHeaderManipulationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error + GenericHeaderManipulationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error +} + +type HeaderManipulationPolicyEventHandlerFuncs struct { + OnCreate func(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error + OnUpdate func(old, new *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error + OnDelete func(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error + OnGeneric func(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error +} + +func (f *HeaderManipulationPolicyEventHandlerFuncs) CreateHeaderManipulationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *HeaderManipulationPolicyEventHandlerFuncs) DeleteHeaderManipulationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *HeaderManipulationPolicyEventHandlerFuncs) UpdateHeaderManipulationPolicy(objOld, objNew *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *HeaderManipulationPolicyEventHandlerFuncs) GenericHeaderManipulationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type HeaderManipulationPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h HeaderManipulationPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type headerManipulationPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewHeaderManipulationPolicyEventWatcher(name string, mgr manager.Manager) HeaderManipulationPolicyEventWatcher { + return &headerManipulationPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy{}), + } +} + +func (c *headerManipulationPolicyEventWatcher) AddEventHandler(ctx context.Context, h HeaderManipulationPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericHeaderManipulationPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericHeaderManipulationPolicyHandler implements a generic events.EventHandler +type genericHeaderManipulationPolicyHandler struct { + handler HeaderManipulationPolicyEventHandler +} + +func (h genericHeaderManipulationPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) + if !ok { + return errors.Errorf("internal error: HeaderManipulationPolicy handler received event for %T", object) + } + return h.handler.CreateHeaderManipulationPolicy(obj) +} + +func (h genericHeaderManipulationPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) + if !ok { + return errors.Errorf("internal error: HeaderManipulationPolicy handler received event for %T", object) + } + return h.handler.DeleteHeaderManipulationPolicy(obj) +} + +func (h genericHeaderManipulationPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) + if !ok { + return errors.Errorf("internal error: HeaderManipulationPolicy handler received event for %T", old) + } + objNew, ok := new.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) + if !ok { + return errors.Errorf("internal error: HeaderManipulationPolicy handler received event for %T", new) + } + return h.handler.UpdateHeaderManipulationPolicy(objOld, objNew) +} + +func (h genericHeaderManipulationPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) + if !ok { + return errors.Errorf("internal error: HeaderManipulationPolicy handler received event for %T", object) + } + return h.handler.GenericHeaderManipulationPolicy(obj) +} + +// Handle events for the TransformationPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type TransformationPolicyEventHandler interface { + CreateTransformationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error + UpdateTransformationPolicy(old, new *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error + DeleteTransformationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error + GenericTransformationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error +} + +type TransformationPolicyEventHandlerFuncs struct { + OnCreate func(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error + OnUpdate func(old, new *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error + OnDelete func(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error + OnGeneric func(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error +} + +func (f *TransformationPolicyEventHandlerFuncs) CreateTransformationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *TransformationPolicyEventHandlerFuncs) DeleteTransformationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *TransformationPolicyEventHandlerFuncs) UpdateTransformationPolicy(objOld, objNew *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *TransformationPolicyEventHandlerFuncs) GenericTransformationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type TransformationPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h TransformationPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type transformationPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewTransformationPolicyEventWatcher(name string, mgr manager.Manager) TransformationPolicyEventWatcher { + return &transformationPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy{}), + } +} + +func (c *transformationPolicyEventWatcher) AddEventHandler(ctx context.Context, h TransformationPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericTransformationPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericTransformationPolicyHandler implements a generic events.EventHandler +type genericTransformationPolicyHandler struct { + handler TransformationPolicyEventHandler +} + +func (h genericTransformationPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) + if !ok { + return errors.Errorf("internal error: TransformationPolicy handler received event for %T", object) + } + return h.handler.CreateTransformationPolicy(obj) +} + +func (h genericTransformationPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) + if !ok { + return errors.Errorf("internal error: TransformationPolicy handler received event for %T", object) + } + return h.handler.DeleteTransformationPolicy(obj) +} + +func (h genericTransformationPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) + if !ok { + return errors.Errorf("internal error: TransformationPolicy handler received event for %T", old) + } + objNew, ok := new.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) + if !ok { + return errors.Errorf("internal error: TransformationPolicy handler received event for %T", new) + } + return h.handler.UpdateTransformationPolicy(objOld, objNew) +} + +func (h genericTransformationPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) + if !ok { + return errors.Errorf("internal error: TransformationPolicy handler received event for %T", object) + } + return h.handler.GenericTransformationPolicy(obj) +} + +// Handle events for the LoadBalancerPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type LoadBalancerPolicyEventHandler interface { + CreateLoadBalancerPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error + UpdateLoadBalancerPolicy(old, new *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error + DeleteLoadBalancerPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error + GenericLoadBalancerPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error +} + +type LoadBalancerPolicyEventHandlerFuncs struct { + OnCreate func(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error + OnUpdate func(old, new *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error + OnDelete func(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error + OnGeneric func(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error +} + +func (f *LoadBalancerPolicyEventHandlerFuncs) CreateLoadBalancerPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *LoadBalancerPolicyEventHandlerFuncs) DeleteLoadBalancerPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *LoadBalancerPolicyEventHandlerFuncs) UpdateLoadBalancerPolicy(objOld, objNew *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *LoadBalancerPolicyEventHandlerFuncs) GenericLoadBalancerPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type LoadBalancerPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h LoadBalancerPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type loadBalancerPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewLoadBalancerPolicyEventWatcher(name string, mgr manager.Manager) LoadBalancerPolicyEventWatcher { + return &loadBalancerPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy{}), + } +} + +func (c *loadBalancerPolicyEventWatcher) AddEventHandler(ctx context.Context, h LoadBalancerPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericLoadBalancerPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericLoadBalancerPolicyHandler implements a generic events.EventHandler +type genericLoadBalancerPolicyHandler struct { + handler LoadBalancerPolicyEventHandler +} + +func (h genericLoadBalancerPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) + if !ok { + return errors.Errorf("internal error: LoadBalancerPolicy handler received event for %T", object) + } + return h.handler.CreateLoadBalancerPolicy(obj) +} + +func (h genericLoadBalancerPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) + if !ok { + return errors.Errorf("internal error: LoadBalancerPolicy handler received event for %T", object) + } + return h.handler.DeleteLoadBalancerPolicy(obj) +} + +func (h genericLoadBalancerPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) + if !ok { + return errors.Errorf("internal error: LoadBalancerPolicy handler received event for %T", old) + } + objNew, ok := new.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) + if !ok { + return errors.Errorf("internal error: LoadBalancerPolicy handler received event for %T", new) + } + return h.handler.UpdateLoadBalancerPolicy(objOld, objNew) +} + +func (h genericLoadBalancerPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) + if !ok { + return errors.Errorf("internal error: LoadBalancerPolicy handler received event for %T", object) + } + return h.handler.GenericLoadBalancerPolicy(obj) +} + +// Handle events for the ProxyProtocolPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type ProxyProtocolPolicyEventHandler interface { + CreateProxyProtocolPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error + UpdateProxyProtocolPolicy(old, new *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error + DeleteProxyProtocolPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error + GenericProxyProtocolPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error +} + +type ProxyProtocolPolicyEventHandlerFuncs struct { + OnCreate func(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error + OnUpdate func(old, new *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error + OnDelete func(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error + OnGeneric func(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error +} + +func (f *ProxyProtocolPolicyEventHandlerFuncs) CreateProxyProtocolPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *ProxyProtocolPolicyEventHandlerFuncs) DeleteProxyProtocolPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *ProxyProtocolPolicyEventHandlerFuncs) UpdateProxyProtocolPolicy(objOld, objNew *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *ProxyProtocolPolicyEventHandlerFuncs) GenericProxyProtocolPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type ProxyProtocolPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h ProxyProtocolPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type proxyProtocolPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewProxyProtocolPolicyEventWatcher(name string, mgr manager.Manager) ProxyProtocolPolicyEventWatcher { + return &proxyProtocolPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy{}), + } +} + +func (c *proxyProtocolPolicyEventWatcher) AddEventHandler(ctx context.Context, h ProxyProtocolPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericProxyProtocolPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericProxyProtocolPolicyHandler implements a generic events.EventHandler +type genericProxyProtocolPolicyHandler struct { + handler ProxyProtocolPolicyEventHandler +} + +func (h genericProxyProtocolPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) + if !ok { + return errors.Errorf("internal error: ProxyProtocolPolicy handler received event for %T", object) + } + return h.handler.CreateProxyProtocolPolicy(obj) +} + +func (h genericProxyProtocolPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) + if !ok { + return errors.Errorf("internal error: ProxyProtocolPolicy handler received event for %T", object) + } + return h.handler.DeleteProxyProtocolPolicy(obj) +} + +func (h genericProxyProtocolPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) + if !ok { + return errors.Errorf("internal error: ProxyProtocolPolicy handler received event for %T", old) + } + objNew, ok := new.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) + if !ok { + return errors.Errorf("internal error: ProxyProtocolPolicy handler received event for %T", new) + } + return h.handler.UpdateProxyProtocolPolicy(objOld, objNew) +} + +func (h genericProxyProtocolPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) + if !ok { + return errors.Errorf("internal error: ProxyProtocolPolicy handler received event for %T", object) + } + return h.handler.GenericProxyProtocolPolicy(obj) +} + +// Handle events for the HTTPBufferPolicy Resource +// DEPRECATED: Prefer reconciler pattern. +type HTTPBufferPolicyEventHandler interface { + CreateHTTPBufferPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error + UpdateHTTPBufferPolicy(old, new *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error + DeleteHTTPBufferPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error + GenericHTTPBufferPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error +} + +type HTTPBufferPolicyEventHandlerFuncs struct { + OnCreate func(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error + OnUpdate func(old, new *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error + OnDelete func(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error + OnGeneric func(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error +} + +func (f *HTTPBufferPolicyEventHandlerFuncs) CreateHTTPBufferPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error { + if f.OnCreate == nil { + return nil + } + return f.OnCreate(obj) +} + +func (f *HTTPBufferPolicyEventHandlerFuncs) DeleteHTTPBufferPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error { + if f.OnDelete == nil { + return nil + } + return f.OnDelete(obj) +} + +func (f *HTTPBufferPolicyEventHandlerFuncs) UpdateHTTPBufferPolicy(objOld, objNew *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error { + if f.OnUpdate == nil { + return nil + } + return f.OnUpdate(objOld, objNew) +} + +func (f *HTTPBufferPolicyEventHandlerFuncs) GenericHTTPBufferPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error { + if f.OnGeneric == nil { + return nil + } + return f.OnGeneric(obj) +} + +type HTTPBufferPolicyEventWatcher interface { + AddEventHandler(ctx context.Context, h HTTPBufferPolicyEventHandler, predicates ...predicate.Predicate) error +} + +type hTTPBufferPolicyEventWatcher struct { + watcher events.EventWatcher +} + +func NewHTTPBufferPolicyEventWatcher(name string, mgr manager.Manager) HTTPBufferPolicyEventWatcher { + return &hTTPBufferPolicyEventWatcher{ + watcher: events.NewWatcher(name, mgr, &trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy{}), + } +} + +func (c *hTTPBufferPolicyEventWatcher) AddEventHandler(ctx context.Context, h HTTPBufferPolicyEventHandler, predicates ...predicate.Predicate) error { + handler := genericHTTPBufferPolicyHandler{handler: h} + if err := c.watcher.Watch(ctx, handler, predicates...); err != nil { + return err + } + return nil +} + +// genericHTTPBufferPolicyHandler implements a generic events.EventHandler +type genericHTTPBufferPolicyHandler struct { + handler HTTPBufferPolicyEventHandler +} + +func (h genericHTTPBufferPolicyHandler) Create(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) + if !ok { + return errors.Errorf("internal error: HTTPBufferPolicy handler received event for %T", object) + } + return h.handler.CreateHTTPBufferPolicy(obj) +} + +func (h genericHTTPBufferPolicyHandler) Delete(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) + if !ok { + return errors.Errorf("internal error: HTTPBufferPolicy handler received event for %T", object) + } + return h.handler.DeleteHTTPBufferPolicy(obj) +} + +func (h genericHTTPBufferPolicyHandler) Update(old, new client.Object) error { + objOld, ok := old.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) + if !ok { + return errors.Errorf("internal error: HTTPBufferPolicy handler received event for %T", old) + } + objNew, ok := new.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) + if !ok { + return errors.Errorf("internal error: HTTPBufferPolicy handler received event for %T", new) + } + return h.handler.UpdateHTTPBufferPolicy(objOld, objNew) +} + +func (h genericHTTPBufferPolicyHandler) Generic(object client.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) + if !ok { + return errors.Errorf("internal error: HTTPBufferPolicy handler received event for %T", object) + } + return h.handler.GenericHTTPBufferPolicy(obj) +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go new file mode 100644 index 000000000..76d86b132 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/mocks/event_handlers.go @@ -0,0 +1,984 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./event_handlers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller" +) + +// MockMirrorPolicyEventHandler is a mock of MirrorPolicyEventHandler interface. +type MockMirrorPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockMirrorPolicyEventHandlerMockRecorder +} + +// MockMirrorPolicyEventHandlerMockRecorder is the mock recorder for MockMirrorPolicyEventHandler. +type MockMirrorPolicyEventHandlerMockRecorder struct { + mock *MockMirrorPolicyEventHandler +} + +// NewMockMirrorPolicyEventHandler creates a new mock instance. +func NewMockMirrorPolicyEventHandler(ctrl *gomock.Controller) *MockMirrorPolicyEventHandler { + mock := &MockMirrorPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockMirrorPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMirrorPolicyEventHandler) EXPECT() *MockMirrorPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateMirrorPolicy mocks base method. +func (m *MockMirrorPolicyEventHandler) CreateMirrorPolicy(obj *v2.MirrorPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateMirrorPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateMirrorPolicy indicates an expected call of CreateMirrorPolicy. +func (mr *MockMirrorPolicyEventHandlerMockRecorder) CreateMirrorPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyEventHandler)(nil).CreateMirrorPolicy), obj) +} + +// DeleteMirrorPolicy mocks base method. +func (m *MockMirrorPolicyEventHandler) DeleteMirrorPolicy(obj *v2.MirrorPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteMirrorPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteMirrorPolicy indicates an expected call of DeleteMirrorPolicy. +func (mr *MockMirrorPolicyEventHandlerMockRecorder) DeleteMirrorPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyEventHandler)(nil).DeleteMirrorPolicy), obj) +} + +// GenericMirrorPolicy mocks base method. +func (m *MockMirrorPolicyEventHandler) GenericMirrorPolicy(obj *v2.MirrorPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericMirrorPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericMirrorPolicy indicates an expected call of GenericMirrorPolicy. +func (mr *MockMirrorPolicyEventHandlerMockRecorder) GenericMirrorPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyEventHandler)(nil).GenericMirrorPolicy), obj) +} + +// UpdateMirrorPolicy mocks base method. +func (m *MockMirrorPolicyEventHandler) UpdateMirrorPolicy(old, new *v2.MirrorPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateMirrorPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateMirrorPolicy indicates an expected call of UpdateMirrorPolicy. +func (mr *MockMirrorPolicyEventHandlerMockRecorder) UpdateMirrorPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyEventHandler)(nil).UpdateMirrorPolicy), old, new) +} + +// MockMirrorPolicyEventWatcher is a mock of MirrorPolicyEventWatcher interface. +type MockMirrorPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockMirrorPolicyEventWatcherMockRecorder +} + +// MockMirrorPolicyEventWatcherMockRecorder is the mock recorder for MockMirrorPolicyEventWatcher. +type MockMirrorPolicyEventWatcherMockRecorder struct { + mock *MockMirrorPolicyEventWatcher +} + +// NewMockMirrorPolicyEventWatcher creates a new mock instance. +func NewMockMirrorPolicyEventWatcher(ctrl *gomock.Controller) *MockMirrorPolicyEventWatcher { + mock := &MockMirrorPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockMirrorPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMirrorPolicyEventWatcher) EXPECT() *MockMirrorPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockMirrorPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.MirrorPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockMirrorPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockMirrorPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockRateLimitPolicyEventHandler is a mock of RateLimitPolicyEventHandler interface. +type MockRateLimitPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockRateLimitPolicyEventHandlerMockRecorder +} + +// MockRateLimitPolicyEventHandlerMockRecorder is the mock recorder for MockRateLimitPolicyEventHandler. +type MockRateLimitPolicyEventHandlerMockRecorder struct { + mock *MockRateLimitPolicyEventHandler +} + +// NewMockRateLimitPolicyEventHandler creates a new mock instance. +func NewMockRateLimitPolicyEventHandler(ctrl *gomock.Controller) *MockRateLimitPolicyEventHandler { + mock := &MockRateLimitPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockRateLimitPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitPolicyEventHandler) EXPECT() *MockRateLimitPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyEventHandler) CreateRateLimitPolicy(obj *v2.RateLimitPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateRateLimitPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRateLimitPolicy indicates an expected call of CreateRateLimitPolicy. +func (mr *MockRateLimitPolicyEventHandlerMockRecorder) CreateRateLimitPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyEventHandler)(nil).CreateRateLimitPolicy), obj) +} + +// DeleteRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyEventHandler) DeleteRateLimitPolicy(obj *v2.RateLimitPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteRateLimitPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRateLimitPolicy indicates an expected call of DeleteRateLimitPolicy. +func (mr *MockRateLimitPolicyEventHandlerMockRecorder) DeleteRateLimitPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyEventHandler)(nil).DeleteRateLimitPolicy), obj) +} + +// GenericRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyEventHandler) GenericRateLimitPolicy(obj *v2.RateLimitPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericRateLimitPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericRateLimitPolicy indicates an expected call of GenericRateLimitPolicy. +func (mr *MockRateLimitPolicyEventHandlerMockRecorder) GenericRateLimitPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyEventHandler)(nil).GenericRateLimitPolicy), obj) +} + +// UpdateRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyEventHandler) UpdateRateLimitPolicy(old, new *v2.RateLimitPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateRateLimitPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitPolicy indicates an expected call of UpdateRateLimitPolicy. +func (mr *MockRateLimitPolicyEventHandlerMockRecorder) UpdateRateLimitPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyEventHandler)(nil).UpdateRateLimitPolicy), old, new) +} + +// MockRateLimitPolicyEventWatcher is a mock of RateLimitPolicyEventWatcher interface. +type MockRateLimitPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockRateLimitPolicyEventWatcherMockRecorder +} + +// MockRateLimitPolicyEventWatcherMockRecorder is the mock recorder for MockRateLimitPolicyEventWatcher. +type MockRateLimitPolicyEventWatcherMockRecorder struct { + mock *MockRateLimitPolicyEventWatcher +} + +// NewMockRateLimitPolicyEventWatcher creates a new mock instance. +func NewMockRateLimitPolicyEventWatcher(ctrl *gomock.Controller) *MockRateLimitPolicyEventWatcher { + mock := &MockRateLimitPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockRateLimitPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitPolicyEventWatcher) EXPECT() *MockRateLimitPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockRateLimitPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.RateLimitPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockRateLimitPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockRateLimitPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockRateLimitClientConfigEventHandler is a mock of RateLimitClientConfigEventHandler interface. +type MockRateLimitClientConfigEventHandler struct { + ctrl *gomock.Controller + recorder *MockRateLimitClientConfigEventHandlerMockRecorder +} + +// MockRateLimitClientConfigEventHandlerMockRecorder is the mock recorder for MockRateLimitClientConfigEventHandler. +type MockRateLimitClientConfigEventHandlerMockRecorder struct { + mock *MockRateLimitClientConfigEventHandler +} + +// NewMockRateLimitClientConfigEventHandler creates a new mock instance. +func NewMockRateLimitClientConfigEventHandler(ctrl *gomock.Controller) *MockRateLimitClientConfigEventHandler { + mock := &MockRateLimitClientConfigEventHandler{ctrl: ctrl} + mock.recorder = &MockRateLimitClientConfigEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitClientConfigEventHandler) EXPECT() *MockRateLimitClientConfigEventHandlerMockRecorder { + return m.recorder +} + +// CreateRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigEventHandler) CreateRateLimitClientConfig(obj *v2.RateLimitClientConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateRateLimitClientConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRateLimitClientConfig indicates an expected call of CreateRateLimitClientConfig. +func (mr *MockRateLimitClientConfigEventHandlerMockRecorder) CreateRateLimitClientConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigEventHandler)(nil).CreateRateLimitClientConfig), obj) +} + +// DeleteRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigEventHandler) DeleteRateLimitClientConfig(obj *v2.RateLimitClientConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteRateLimitClientConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRateLimitClientConfig indicates an expected call of DeleteRateLimitClientConfig. +func (mr *MockRateLimitClientConfigEventHandlerMockRecorder) DeleteRateLimitClientConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigEventHandler)(nil).DeleteRateLimitClientConfig), obj) +} + +// GenericRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigEventHandler) GenericRateLimitClientConfig(obj *v2.RateLimitClientConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericRateLimitClientConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericRateLimitClientConfig indicates an expected call of GenericRateLimitClientConfig. +func (mr *MockRateLimitClientConfigEventHandlerMockRecorder) GenericRateLimitClientConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigEventHandler)(nil).GenericRateLimitClientConfig), obj) +} + +// UpdateRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigEventHandler) UpdateRateLimitClientConfig(old, new *v2.RateLimitClientConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateRateLimitClientConfig", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitClientConfig indicates an expected call of UpdateRateLimitClientConfig. +func (mr *MockRateLimitClientConfigEventHandlerMockRecorder) UpdateRateLimitClientConfig(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigEventHandler)(nil).UpdateRateLimitClientConfig), old, new) +} + +// MockRateLimitClientConfigEventWatcher is a mock of RateLimitClientConfigEventWatcher interface. +type MockRateLimitClientConfigEventWatcher struct { + ctrl *gomock.Controller + recorder *MockRateLimitClientConfigEventWatcherMockRecorder +} + +// MockRateLimitClientConfigEventWatcherMockRecorder is the mock recorder for MockRateLimitClientConfigEventWatcher. +type MockRateLimitClientConfigEventWatcherMockRecorder struct { + mock *MockRateLimitClientConfigEventWatcher +} + +// NewMockRateLimitClientConfigEventWatcher creates a new mock instance. +func NewMockRateLimitClientConfigEventWatcher(ctrl *gomock.Controller) *MockRateLimitClientConfigEventWatcher { + mock := &MockRateLimitClientConfigEventWatcher{ctrl: ctrl} + mock.recorder = &MockRateLimitClientConfigEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitClientConfigEventWatcher) EXPECT() *MockRateLimitClientConfigEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockRateLimitClientConfigEventWatcher) AddEventHandler(ctx context.Context, h controller.RateLimitClientConfigEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockRateLimitClientConfigEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockRateLimitClientConfigEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockHeaderManipulationPolicyEventHandler is a mock of HeaderManipulationPolicyEventHandler interface. +type MockHeaderManipulationPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockHeaderManipulationPolicyEventHandlerMockRecorder +} + +// MockHeaderManipulationPolicyEventHandlerMockRecorder is the mock recorder for MockHeaderManipulationPolicyEventHandler. +type MockHeaderManipulationPolicyEventHandlerMockRecorder struct { + mock *MockHeaderManipulationPolicyEventHandler +} + +// NewMockHeaderManipulationPolicyEventHandler creates a new mock instance. +func NewMockHeaderManipulationPolicyEventHandler(ctrl *gomock.Controller) *MockHeaderManipulationPolicyEventHandler { + mock := &MockHeaderManipulationPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockHeaderManipulationPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHeaderManipulationPolicyEventHandler) EXPECT() *MockHeaderManipulationPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyEventHandler) CreateHeaderManipulationPolicy(obj *v2.HeaderManipulationPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateHeaderManipulationPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateHeaderManipulationPolicy indicates an expected call of CreateHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyEventHandlerMockRecorder) CreateHeaderManipulationPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyEventHandler)(nil).CreateHeaderManipulationPolicy), obj) +} + +// DeleteHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyEventHandler) DeleteHeaderManipulationPolicy(obj *v2.HeaderManipulationPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteHeaderManipulationPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteHeaderManipulationPolicy indicates an expected call of DeleteHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyEventHandlerMockRecorder) DeleteHeaderManipulationPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyEventHandler)(nil).DeleteHeaderManipulationPolicy), obj) +} + +// GenericHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyEventHandler) GenericHeaderManipulationPolicy(obj *v2.HeaderManipulationPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericHeaderManipulationPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericHeaderManipulationPolicy indicates an expected call of GenericHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyEventHandlerMockRecorder) GenericHeaderManipulationPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyEventHandler)(nil).GenericHeaderManipulationPolicy), obj) +} + +// UpdateHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyEventHandler) UpdateHeaderManipulationPolicy(old, new *v2.HeaderManipulationPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateHeaderManipulationPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateHeaderManipulationPolicy indicates an expected call of UpdateHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyEventHandlerMockRecorder) UpdateHeaderManipulationPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyEventHandler)(nil).UpdateHeaderManipulationPolicy), old, new) +} + +// MockHeaderManipulationPolicyEventWatcher is a mock of HeaderManipulationPolicyEventWatcher interface. +type MockHeaderManipulationPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockHeaderManipulationPolicyEventWatcherMockRecorder +} + +// MockHeaderManipulationPolicyEventWatcherMockRecorder is the mock recorder for MockHeaderManipulationPolicyEventWatcher. +type MockHeaderManipulationPolicyEventWatcherMockRecorder struct { + mock *MockHeaderManipulationPolicyEventWatcher +} + +// NewMockHeaderManipulationPolicyEventWatcher creates a new mock instance. +func NewMockHeaderManipulationPolicyEventWatcher(ctrl *gomock.Controller) *MockHeaderManipulationPolicyEventWatcher { + mock := &MockHeaderManipulationPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockHeaderManipulationPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHeaderManipulationPolicyEventWatcher) EXPECT() *MockHeaderManipulationPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockHeaderManipulationPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.HeaderManipulationPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockHeaderManipulationPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockHeaderManipulationPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockTransformationPolicyEventHandler is a mock of TransformationPolicyEventHandler interface. +type MockTransformationPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockTransformationPolicyEventHandlerMockRecorder +} + +// MockTransformationPolicyEventHandlerMockRecorder is the mock recorder for MockTransformationPolicyEventHandler. +type MockTransformationPolicyEventHandlerMockRecorder struct { + mock *MockTransformationPolicyEventHandler +} + +// NewMockTransformationPolicyEventHandler creates a new mock instance. +func NewMockTransformationPolicyEventHandler(ctrl *gomock.Controller) *MockTransformationPolicyEventHandler { + mock := &MockTransformationPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockTransformationPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTransformationPolicyEventHandler) EXPECT() *MockTransformationPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateTransformationPolicy mocks base method. +func (m *MockTransformationPolicyEventHandler) CreateTransformationPolicy(obj *v2.TransformationPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateTransformationPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateTransformationPolicy indicates an expected call of CreateTransformationPolicy. +func (mr *MockTransformationPolicyEventHandlerMockRecorder) CreateTransformationPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyEventHandler)(nil).CreateTransformationPolicy), obj) +} + +// DeleteTransformationPolicy mocks base method. +func (m *MockTransformationPolicyEventHandler) DeleteTransformationPolicy(obj *v2.TransformationPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteTransformationPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteTransformationPolicy indicates an expected call of DeleteTransformationPolicy. +func (mr *MockTransformationPolicyEventHandlerMockRecorder) DeleteTransformationPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyEventHandler)(nil).DeleteTransformationPolicy), obj) +} + +// GenericTransformationPolicy mocks base method. +func (m *MockTransformationPolicyEventHandler) GenericTransformationPolicy(obj *v2.TransformationPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericTransformationPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericTransformationPolicy indicates an expected call of GenericTransformationPolicy. +func (mr *MockTransformationPolicyEventHandlerMockRecorder) GenericTransformationPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyEventHandler)(nil).GenericTransformationPolicy), obj) +} + +// UpdateTransformationPolicy mocks base method. +func (m *MockTransformationPolicyEventHandler) UpdateTransformationPolicy(old, new *v2.TransformationPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateTransformationPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateTransformationPolicy indicates an expected call of UpdateTransformationPolicy. +func (mr *MockTransformationPolicyEventHandlerMockRecorder) UpdateTransformationPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyEventHandler)(nil).UpdateTransformationPolicy), old, new) +} + +// MockTransformationPolicyEventWatcher is a mock of TransformationPolicyEventWatcher interface. +type MockTransformationPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockTransformationPolicyEventWatcherMockRecorder +} + +// MockTransformationPolicyEventWatcherMockRecorder is the mock recorder for MockTransformationPolicyEventWatcher. +type MockTransformationPolicyEventWatcherMockRecorder struct { + mock *MockTransformationPolicyEventWatcher +} + +// NewMockTransformationPolicyEventWatcher creates a new mock instance. +func NewMockTransformationPolicyEventWatcher(ctrl *gomock.Controller) *MockTransformationPolicyEventWatcher { + mock := &MockTransformationPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockTransformationPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTransformationPolicyEventWatcher) EXPECT() *MockTransformationPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockTransformationPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.TransformationPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockTransformationPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockTransformationPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockLoadBalancerPolicyEventHandler is a mock of LoadBalancerPolicyEventHandler interface. +type MockLoadBalancerPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockLoadBalancerPolicyEventHandlerMockRecorder +} + +// MockLoadBalancerPolicyEventHandlerMockRecorder is the mock recorder for MockLoadBalancerPolicyEventHandler. +type MockLoadBalancerPolicyEventHandlerMockRecorder struct { + mock *MockLoadBalancerPolicyEventHandler +} + +// NewMockLoadBalancerPolicyEventHandler creates a new mock instance. +func NewMockLoadBalancerPolicyEventHandler(ctrl *gomock.Controller) *MockLoadBalancerPolicyEventHandler { + mock := &MockLoadBalancerPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockLoadBalancerPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockLoadBalancerPolicyEventHandler) EXPECT() *MockLoadBalancerPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyEventHandler) CreateLoadBalancerPolicy(obj *v2.LoadBalancerPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateLoadBalancerPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateLoadBalancerPolicy indicates an expected call of CreateLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyEventHandlerMockRecorder) CreateLoadBalancerPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyEventHandler)(nil).CreateLoadBalancerPolicy), obj) +} + +// DeleteLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyEventHandler) DeleteLoadBalancerPolicy(obj *v2.LoadBalancerPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteLoadBalancerPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteLoadBalancerPolicy indicates an expected call of DeleteLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyEventHandlerMockRecorder) DeleteLoadBalancerPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyEventHandler)(nil).DeleteLoadBalancerPolicy), obj) +} + +// GenericLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyEventHandler) GenericLoadBalancerPolicy(obj *v2.LoadBalancerPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericLoadBalancerPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericLoadBalancerPolicy indicates an expected call of GenericLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyEventHandlerMockRecorder) GenericLoadBalancerPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyEventHandler)(nil).GenericLoadBalancerPolicy), obj) +} + +// UpdateLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyEventHandler) UpdateLoadBalancerPolicy(old, new *v2.LoadBalancerPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateLoadBalancerPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateLoadBalancerPolicy indicates an expected call of UpdateLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyEventHandlerMockRecorder) UpdateLoadBalancerPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyEventHandler)(nil).UpdateLoadBalancerPolicy), old, new) +} + +// MockLoadBalancerPolicyEventWatcher is a mock of LoadBalancerPolicyEventWatcher interface. +type MockLoadBalancerPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockLoadBalancerPolicyEventWatcherMockRecorder +} + +// MockLoadBalancerPolicyEventWatcherMockRecorder is the mock recorder for MockLoadBalancerPolicyEventWatcher. +type MockLoadBalancerPolicyEventWatcherMockRecorder struct { + mock *MockLoadBalancerPolicyEventWatcher +} + +// NewMockLoadBalancerPolicyEventWatcher creates a new mock instance. +func NewMockLoadBalancerPolicyEventWatcher(ctrl *gomock.Controller) *MockLoadBalancerPolicyEventWatcher { + mock := &MockLoadBalancerPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockLoadBalancerPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockLoadBalancerPolicyEventWatcher) EXPECT() *MockLoadBalancerPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockLoadBalancerPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.LoadBalancerPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockLoadBalancerPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockLoadBalancerPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockProxyProtocolPolicyEventHandler is a mock of ProxyProtocolPolicyEventHandler interface. +type MockProxyProtocolPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockProxyProtocolPolicyEventHandlerMockRecorder +} + +// MockProxyProtocolPolicyEventHandlerMockRecorder is the mock recorder for MockProxyProtocolPolicyEventHandler. +type MockProxyProtocolPolicyEventHandlerMockRecorder struct { + mock *MockProxyProtocolPolicyEventHandler +} + +// NewMockProxyProtocolPolicyEventHandler creates a new mock instance. +func NewMockProxyProtocolPolicyEventHandler(ctrl *gomock.Controller) *MockProxyProtocolPolicyEventHandler { + mock := &MockProxyProtocolPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockProxyProtocolPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockProxyProtocolPolicyEventHandler) EXPECT() *MockProxyProtocolPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyEventHandler) CreateProxyProtocolPolicy(obj *v2.ProxyProtocolPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateProxyProtocolPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateProxyProtocolPolicy indicates an expected call of CreateProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyEventHandlerMockRecorder) CreateProxyProtocolPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyEventHandler)(nil).CreateProxyProtocolPolicy), obj) +} + +// DeleteProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyEventHandler) DeleteProxyProtocolPolicy(obj *v2.ProxyProtocolPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteProxyProtocolPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteProxyProtocolPolicy indicates an expected call of DeleteProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyEventHandlerMockRecorder) DeleteProxyProtocolPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyEventHandler)(nil).DeleteProxyProtocolPolicy), obj) +} + +// GenericProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyEventHandler) GenericProxyProtocolPolicy(obj *v2.ProxyProtocolPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericProxyProtocolPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericProxyProtocolPolicy indicates an expected call of GenericProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyEventHandlerMockRecorder) GenericProxyProtocolPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyEventHandler)(nil).GenericProxyProtocolPolicy), obj) +} + +// UpdateProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyEventHandler) UpdateProxyProtocolPolicy(old, new *v2.ProxyProtocolPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateProxyProtocolPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateProxyProtocolPolicy indicates an expected call of UpdateProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyEventHandlerMockRecorder) UpdateProxyProtocolPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyEventHandler)(nil).UpdateProxyProtocolPolicy), old, new) +} + +// MockProxyProtocolPolicyEventWatcher is a mock of ProxyProtocolPolicyEventWatcher interface. +type MockProxyProtocolPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockProxyProtocolPolicyEventWatcherMockRecorder +} + +// MockProxyProtocolPolicyEventWatcherMockRecorder is the mock recorder for MockProxyProtocolPolicyEventWatcher. +type MockProxyProtocolPolicyEventWatcherMockRecorder struct { + mock *MockProxyProtocolPolicyEventWatcher +} + +// NewMockProxyProtocolPolicyEventWatcher creates a new mock instance. +func NewMockProxyProtocolPolicyEventWatcher(ctrl *gomock.Controller) *MockProxyProtocolPolicyEventWatcher { + mock := &MockProxyProtocolPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockProxyProtocolPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockProxyProtocolPolicyEventWatcher) EXPECT() *MockProxyProtocolPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockProxyProtocolPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.ProxyProtocolPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockProxyProtocolPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockProxyProtocolPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} + +// MockHTTPBufferPolicyEventHandler is a mock of HTTPBufferPolicyEventHandler interface. +type MockHTTPBufferPolicyEventHandler struct { + ctrl *gomock.Controller + recorder *MockHTTPBufferPolicyEventHandlerMockRecorder +} + +// MockHTTPBufferPolicyEventHandlerMockRecorder is the mock recorder for MockHTTPBufferPolicyEventHandler. +type MockHTTPBufferPolicyEventHandlerMockRecorder struct { + mock *MockHTTPBufferPolicyEventHandler +} + +// NewMockHTTPBufferPolicyEventHandler creates a new mock instance. +func NewMockHTTPBufferPolicyEventHandler(ctrl *gomock.Controller) *MockHTTPBufferPolicyEventHandler { + mock := &MockHTTPBufferPolicyEventHandler{ctrl: ctrl} + mock.recorder = &MockHTTPBufferPolicyEventHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHTTPBufferPolicyEventHandler) EXPECT() *MockHTTPBufferPolicyEventHandlerMockRecorder { + return m.recorder +} + +// CreateHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyEventHandler) CreateHTTPBufferPolicy(obj *v2.HTTPBufferPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateHTTPBufferPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateHTTPBufferPolicy indicates an expected call of CreateHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyEventHandlerMockRecorder) CreateHTTPBufferPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyEventHandler)(nil).CreateHTTPBufferPolicy), obj) +} + +// DeleteHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyEventHandler) DeleteHTTPBufferPolicy(obj *v2.HTTPBufferPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteHTTPBufferPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteHTTPBufferPolicy indicates an expected call of DeleteHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyEventHandlerMockRecorder) DeleteHTTPBufferPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyEventHandler)(nil).DeleteHTTPBufferPolicy), obj) +} + +// GenericHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyEventHandler) GenericHTTPBufferPolicy(obj *v2.HTTPBufferPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenericHTTPBufferPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenericHTTPBufferPolicy indicates an expected call of GenericHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyEventHandlerMockRecorder) GenericHTTPBufferPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyEventHandler)(nil).GenericHTTPBufferPolicy), obj) +} + +// UpdateHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyEventHandler) UpdateHTTPBufferPolicy(old, new *v2.HTTPBufferPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateHTTPBufferPolicy", old, new) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateHTTPBufferPolicy indicates an expected call of UpdateHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyEventHandlerMockRecorder) UpdateHTTPBufferPolicy(old, new interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyEventHandler)(nil).UpdateHTTPBufferPolicy), old, new) +} + +// MockHTTPBufferPolicyEventWatcher is a mock of HTTPBufferPolicyEventWatcher interface. +type MockHTTPBufferPolicyEventWatcher struct { + ctrl *gomock.Controller + recorder *MockHTTPBufferPolicyEventWatcherMockRecorder +} + +// MockHTTPBufferPolicyEventWatcherMockRecorder is the mock recorder for MockHTTPBufferPolicyEventWatcher. +type MockHTTPBufferPolicyEventWatcherMockRecorder struct { + mock *MockHTTPBufferPolicyEventWatcher +} + +// NewMockHTTPBufferPolicyEventWatcher creates a new mock instance. +func NewMockHTTPBufferPolicyEventWatcher(ctrl *gomock.Controller) *MockHTTPBufferPolicyEventWatcher { + mock := &MockHTTPBufferPolicyEventWatcher{ctrl: ctrl} + mock.recorder = &MockHTTPBufferPolicyEventWatcherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHTTPBufferPolicyEventWatcher) EXPECT() *MockHTTPBufferPolicyEventWatcherMockRecorder { + return m.recorder +} + +// AddEventHandler mocks base method. +func (m *MockHTTPBufferPolicyEventWatcher) AddEventHandler(ctx context.Context, h controller.HTTPBufferPolicyEventHandler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, h} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddEventHandler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// AddEventHandler indicates an expected call of AddEventHandler. +func (mr *MockHTTPBufferPolicyEventWatcherMockRecorder) AddEventHandler(ctx, h interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, h}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddEventHandler", reflect.TypeOf((*MockHTTPBufferPolicyEventWatcher)(nil).AddEventHandler), varargs...) +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go new file mode 100644 index 000000000..05b60749c --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/mocks/multicluster_reconcilers.go @@ -0,0 +1,937 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./multicluster_reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller" +) + +// MockMulticlusterMirrorPolicyReconciler is a mock of MulticlusterMirrorPolicyReconciler interface. +type MockMulticlusterMirrorPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterMirrorPolicyReconcilerMockRecorder +} + +// MockMulticlusterMirrorPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterMirrorPolicyReconciler. +type MockMulticlusterMirrorPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterMirrorPolicyReconciler +} + +// NewMockMulticlusterMirrorPolicyReconciler creates a new mock instance. +func NewMockMulticlusterMirrorPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterMirrorPolicyReconciler { + mock := &MockMulticlusterMirrorPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterMirrorPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterMirrorPolicyReconciler) EXPECT() *MockMulticlusterMirrorPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileMirrorPolicy mocks base method. +func (m *MockMulticlusterMirrorPolicyReconciler) ReconcileMirrorPolicy(clusterName string, obj *v2.MirrorPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileMirrorPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileMirrorPolicy indicates an expected call of ReconcileMirrorPolicy. +func (mr *MockMulticlusterMirrorPolicyReconcilerMockRecorder) ReconcileMirrorPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileMirrorPolicy", reflect.TypeOf((*MockMulticlusterMirrorPolicyReconciler)(nil).ReconcileMirrorPolicy), clusterName, obj) +} + +// MockMulticlusterMirrorPolicyDeletionReconciler is a mock of MulticlusterMirrorPolicyDeletionReconciler interface. +type MockMulticlusterMirrorPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterMirrorPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterMirrorPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterMirrorPolicyDeletionReconciler. +type MockMulticlusterMirrorPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterMirrorPolicyDeletionReconciler +} + +// NewMockMulticlusterMirrorPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterMirrorPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterMirrorPolicyDeletionReconciler { + mock := &MockMulticlusterMirrorPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterMirrorPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterMirrorPolicyDeletionReconciler) EXPECT() *MockMulticlusterMirrorPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileMirrorPolicyDeletion mocks base method. +func (m *MockMulticlusterMirrorPolicyDeletionReconciler) ReconcileMirrorPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileMirrorPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileMirrorPolicyDeletion indicates an expected call of ReconcileMirrorPolicyDeletion. +func (mr *MockMulticlusterMirrorPolicyDeletionReconcilerMockRecorder) ReconcileMirrorPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileMirrorPolicyDeletion", reflect.TypeOf((*MockMulticlusterMirrorPolicyDeletionReconciler)(nil).ReconcileMirrorPolicyDeletion), clusterName, req) +} + +// MockMulticlusterMirrorPolicyReconcileLoop is a mock of MulticlusterMirrorPolicyReconcileLoop interface. +type MockMulticlusterMirrorPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterMirrorPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterMirrorPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterMirrorPolicyReconcileLoop. +type MockMulticlusterMirrorPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterMirrorPolicyReconcileLoop +} + +// NewMockMulticlusterMirrorPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterMirrorPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterMirrorPolicyReconcileLoop { + mock := &MockMulticlusterMirrorPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterMirrorPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterMirrorPolicyReconcileLoop) EXPECT() *MockMulticlusterMirrorPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterMirrorPolicyReconciler mocks base method. +func (m *MockMulticlusterMirrorPolicyReconcileLoop) AddMulticlusterMirrorPolicyReconciler(ctx context.Context, rec controller.MulticlusterMirrorPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterMirrorPolicyReconciler", varargs...) +} + +// AddMulticlusterMirrorPolicyReconciler indicates an expected call of AddMulticlusterMirrorPolicyReconciler. +func (mr *MockMulticlusterMirrorPolicyReconcileLoopMockRecorder) AddMulticlusterMirrorPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterMirrorPolicyReconciler", reflect.TypeOf((*MockMulticlusterMirrorPolicyReconcileLoop)(nil).AddMulticlusterMirrorPolicyReconciler), varargs...) +} + +// MockMulticlusterRateLimitPolicyReconciler is a mock of MulticlusterRateLimitPolicyReconciler interface. +type MockMulticlusterRateLimitPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitPolicyReconcilerMockRecorder +} + +// MockMulticlusterRateLimitPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterRateLimitPolicyReconciler. +type MockMulticlusterRateLimitPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterRateLimitPolicyReconciler +} + +// NewMockMulticlusterRateLimitPolicyReconciler creates a new mock instance. +func NewMockMulticlusterRateLimitPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterRateLimitPolicyReconciler { + mock := &MockMulticlusterRateLimitPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitPolicyReconciler) EXPECT() *MockMulticlusterRateLimitPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitPolicy mocks base method. +func (m *MockMulticlusterRateLimitPolicyReconciler) ReconcileRateLimitPolicy(clusterName string, obj *v2.RateLimitPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRateLimitPolicy indicates an expected call of ReconcileRateLimitPolicy. +func (mr *MockMulticlusterRateLimitPolicyReconcilerMockRecorder) ReconcileRateLimitPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitPolicy", reflect.TypeOf((*MockMulticlusterRateLimitPolicyReconciler)(nil).ReconcileRateLimitPolicy), clusterName, obj) +} + +// MockMulticlusterRateLimitPolicyDeletionReconciler is a mock of MulticlusterRateLimitPolicyDeletionReconciler interface. +type MockMulticlusterRateLimitPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterRateLimitPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterRateLimitPolicyDeletionReconciler. +type MockMulticlusterRateLimitPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterRateLimitPolicyDeletionReconciler +} + +// NewMockMulticlusterRateLimitPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterRateLimitPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterRateLimitPolicyDeletionReconciler { + mock := &MockMulticlusterRateLimitPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitPolicyDeletionReconciler) EXPECT() *MockMulticlusterRateLimitPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitPolicyDeletion mocks base method. +func (m *MockMulticlusterRateLimitPolicyDeletionReconciler) ReconcileRateLimitPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRateLimitPolicyDeletion indicates an expected call of ReconcileRateLimitPolicyDeletion. +func (mr *MockMulticlusterRateLimitPolicyDeletionReconcilerMockRecorder) ReconcileRateLimitPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitPolicyDeletion", reflect.TypeOf((*MockMulticlusterRateLimitPolicyDeletionReconciler)(nil).ReconcileRateLimitPolicyDeletion), clusterName, req) +} + +// MockMulticlusterRateLimitPolicyReconcileLoop is a mock of MulticlusterRateLimitPolicyReconcileLoop interface. +type MockMulticlusterRateLimitPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterRateLimitPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterRateLimitPolicyReconcileLoop. +type MockMulticlusterRateLimitPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterRateLimitPolicyReconcileLoop +} + +// NewMockMulticlusterRateLimitPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterRateLimitPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterRateLimitPolicyReconcileLoop { + mock := &MockMulticlusterRateLimitPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitPolicyReconcileLoop) EXPECT() *MockMulticlusterRateLimitPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterRateLimitPolicyReconciler mocks base method. +func (m *MockMulticlusterRateLimitPolicyReconcileLoop) AddMulticlusterRateLimitPolicyReconciler(ctx context.Context, rec controller.MulticlusterRateLimitPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterRateLimitPolicyReconciler", varargs...) +} + +// AddMulticlusterRateLimitPolicyReconciler indicates an expected call of AddMulticlusterRateLimitPolicyReconciler. +func (mr *MockMulticlusterRateLimitPolicyReconcileLoopMockRecorder) AddMulticlusterRateLimitPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterRateLimitPolicyReconciler", reflect.TypeOf((*MockMulticlusterRateLimitPolicyReconcileLoop)(nil).AddMulticlusterRateLimitPolicyReconciler), varargs...) +} + +// MockMulticlusterRateLimitClientConfigReconciler is a mock of MulticlusterRateLimitClientConfigReconciler interface. +type MockMulticlusterRateLimitClientConfigReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitClientConfigReconcilerMockRecorder +} + +// MockMulticlusterRateLimitClientConfigReconcilerMockRecorder is the mock recorder for MockMulticlusterRateLimitClientConfigReconciler. +type MockMulticlusterRateLimitClientConfigReconcilerMockRecorder struct { + mock *MockMulticlusterRateLimitClientConfigReconciler +} + +// NewMockMulticlusterRateLimitClientConfigReconciler creates a new mock instance. +func NewMockMulticlusterRateLimitClientConfigReconciler(ctrl *gomock.Controller) *MockMulticlusterRateLimitClientConfigReconciler { + mock := &MockMulticlusterRateLimitClientConfigReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitClientConfigReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitClientConfigReconciler) EXPECT() *MockMulticlusterRateLimitClientConfigReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitClientConfig mocks base method. +func (m *MockMulticlusterRateLimitClientConfigReconciler) ReconcileRateLimitClientConfig(clusterName string, obj *v2.RateLimitClientConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitClientConfig", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRateLimitClientConfig indicates an expected call of ReconcileRateLimitClientConfig. +func (mr *MockMulticlusterRateLimitClientConfigReconcilerMockRecorder) ReconcileRateLimitClientConfig(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitClientConfig", reflect.TypeOf((*MockMulticlusterRateLimitClientConfigReconciler)(nil).ReconcileRateLimitClientConfig), clusterName, obj) +} + +// MockMulticlusterRateLimitClientConfigDeletionReconciler is a mock of MulticlusterRateLimitClientConfigDeletionReconciler interface. +type MockMulticlusterRateLimitClientConfigDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitClientConfigDeletionReconcilerMockRecorder +} + +// MockMulticlusterRateLimitClientConfigDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterRateLimitClientConfigDeletionReconciler. +type MockMulticlusterRateLimitClientConfigDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterRateLimitClientConfigDeletionReconciler +} + +// NewMockMulticlusterRateLimitClientConfigDeletionReconciler creates a new mock instance. +func NewMockMulticlusterRateLimitClientConfigDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterRateLimitClientConfigDeletionReconciler { + mock := &MockMulticlusterRateLimitClientConfigDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitClientConfigDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitClientConfigDeletionReconciler) EXPECT() *MockMulticlusterRateLimitClientConfigDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitClientConfigDeletion mocks base method. +func (m *MockMulticlusterRateLimitClientConfigDeletionReconciler) ReconcileRateLimitClientConfigDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitClientConfigDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRateLimitClientConfigDeletion indicates an expected call of ReconcileRateLimitClientConfigDeletion. +func (mr *MockMulticlusterRateLimitClientConfigDeletionReconcilerMockRecorder) ReconcileRateLimitClientConfigDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitClientConfigDeletion", reflect.TypeOf((*MockMulticlusterRateLimitClientConfigDeletionReconciler)(nil).ReconcileRateLimitClientConfigDeletion), clusterName, req) +} + +// MockMulticlusterRateLimitClientConfigReconcileLoop is a mock of MulticlusterRateLimitClientConfigReconcileLoop interface. +type MockMulticlusterRateLimitClientConfigReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitClientConfigReconcileLoopMockRecorder +} + +// MockMulticlusterRateLimitClientConfigReconcileLoopMockRecorder is the mock recorder for MockMulticlusterRateLimitClientConfigReconcileLoop. +type MockMulticlusterRateLimitClientConfigReconcileLoopMockRecorder struct { + mock *MockMulticlusterRateLimitClientConfigReconcileLoop +} + +// NewMockMulticlusterRateLimitClientConfigReconcileLoop creates a new mock instance. +func NewMockMulticlusterRateLimitClientConfigReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterRateLimitClientConfigReconcileLoop { + mock := &MockMulticlusterRateLimitClientConfigReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitClientConfigReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitClientConfigReconcileLoop) EXPECT() *MockMulticlusterRateLimitClientConfigReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterRateLimitClientConfigReconciler mocks base method. +func (m *MockMulticlusterRateLimitClientConfigReconcileLoop) AddMulticlusterRateLimitClientConfigReconciler(ctx context.Context, rec controller.MulticlusterRateLimitClientConfigReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterRateLimitClientConfigReconciler", varargs...) +} + +// AddMulticlusterRateLimitClientConfigReconciler indicates an expected call of AddMulticlusterRateLimitClientConfigReconciler. +func (mr *MockMulticlusterRateLimitClientConfigReconcileLoopMockRecorder) AddMulticlusterRateLimitClientConfigReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterRateLimitClientConfigReconciler", reflect.TypeOf((*MockMulticlusterRateLimitClientConfigReconcileLoop)(nil).AddMulticlusterRateLimitClientConfigReconciler), varargs...) +} + +// MockMulticlusterHeaderManipulationPolicyReconciler is a mock of MulticlusterHeaderManipulationPolicyReconciler interface. +type MockMulticlusterHeaderManipulationPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterHeaderManipulationPolicyReconcilerMockRecorder +} + +// MockMulticlusterHeaderManipulationPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterHeaderManipulationPolicyReconciler. +type MockMulticlusterHeaderManipulationPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterHeaderManipulationPolicyReconciler +} + +// NewMockMulticlusterHeaderManipulationPolicyReconciler creates a new mock instance. +func NewMockMulticlusterHeaderManipulationPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterHeaderManipulationPolicyReconciler { + mock := &MockMulticlusterHeaderManipulationPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterHeaderManipulationPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterHeaderManipulationPolicyReconciler) EXPECT() *MockMulticlusterHeaderManipulationPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileHeaderManipulationPolicy mocks base method. +func (m *MockMulticlusterHeaderManipulationPolicyReconciler) ReconcileHeaderManipulationPolicy(clusterName string, obj *v2.HeaderManipulationPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileHeaderManipulationPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileHeaderManipulationPolicy indicates an expected call of ReconcileHeaderManipulationPolicy. +func (mr *MockMulticlusterHeaderManipulationPolicyReconcilerMockRecorder) ReconcileHeaderManipulationPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileHeaderManipulationPolicy", reflect.TypeOf((*MockMulticlusterHeaderManipulationPolicyReconciler)(nil).ReconcileHeaderManipulationPolicy), clusterName, obj) +} + +// MockMulticlusterHeaderManipulationPolicyDeletionReconciler is a mock of MulticlusterHeaderManipulationPolicyDeletionReconciler interface. +type MockMulticlusterHeaderManipulationPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterHeaderManipulationPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterHeaderManipulationPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterHeaderManipulationPolicyDeletionReconciler. +type MockMulticlusterHeaderManipulationPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterHeaderManipulationPolicyDeletionReconciler +} + +// NewMockMulticlusterHeaderManipulationPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterHeaderManipulationPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterHeaderManipulationPolicyDeletionReconciler { + mock := &MockMulticlusterHeaderManipulationPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterHeaderManipulationPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterHeaderManipulationPolicyDeletionReconciler) EXPECT() *MockMulticlusterHeaderManipulationPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileHeaderManipulationPolicyDeletion mocks base method. +func (m *MockMulticlusterHeaderManipulationPolicyDeletionReconciler) ReconcileHeaderManipulationPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileHeaderManipulationPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileHeaderManipulationPolicyDeletion indicates an expected call of ReconcileHeaderManipulationPolicyDeletion. +func (mr *MockMulticlusterHeaderManipulationPolicyDeletionReconcilerMockRecorder) ReconcileHeaderManipulationPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileHeaderManipulationPolicyDeletion", reflect.TypeOf((*MockMulticlusterHeaderManipulationPolicyDeletionReconciler)(nil).ReconcileHeaderManipulationPolicyDeletion), clusterName, req) +} + +// MockMulticlusterHeaderManipulationPolicyReconcileLoop is a mock of MulticlusterHeaderManipulationPolicyReconcileLoop interface. +type MockMulticlusterHeaderManipulationPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterHeaderManipulationPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterHeaderManipulationPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterHeaderManipulationPolicyReconcileLoop. +type MockMulticlusterHeaderManipulationPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterHeaderManipulationPolicyReconcileLoop +} + +// NewMockMulticlusterHeaderManipulationPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterHeaderManipulationPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterHeaderManipulationPolicyReconcileLoop { + mock := &MockMulticlusterHeaderManipulationPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterHeaderManipulationPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterHeaderManipulationPolicyReconcileLoop) EXPECT() *MockMulticlusterHeaderManipulationPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterHeaderManipulationPolicyReconciler mocks base method. +func (m *MockMulticlusterHeaderManipulationPolicyReconcileLoop) AddMulticlusterHeaderManipulationPolicyReconciler(ctx context.Context, rec controller.MulticlusterHeaderManipulationPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterHeaderManipulationPolicyReconciler", varargs...) +} + +// AddMulticlusterHeaderManipulationPolicyReconciler indicates an expected call of AddMulticlusterHeaderManipulationPolicyReconciler. +func (mr *MockMulticlusterHeaderManipulationPolicyReconcileLoopMockRecorder) AddMulticlusterHeaderManipulationPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterHeaderManipulationPolicyReconciler", reflect.TypeOf((*MockMulticlusterHeaderManipulationPolicyReconcileLoop)(nil).AddMulticlusterHeaderManipulationPolicyReconciler), varargs...) +} + +// MockMulticlusterTransformationPolicyReconciler is a mock of MulticlusterTransformationPolicyReconciler interface. +type MockMulticlusterTransformationPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterTransformationPolicyReconcilerMockRecorder +} + +// MockMulticlusterTransformationPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterTransformationPolicyReconciler. +type MockMulticlusterTransformationPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterTransformationPolicyReconciler +} + +// NewMockMulticlusterTransformationPolicyReconciler creates a new mock instance. +func NewMockMulticlusterTransformationPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterTransformationPolicyReconciler { + mock := &MockMulticlusterTransformationPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterTransformationPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterTransformationPolicyReconciler) EXPECT() *MockMulticlusterTransformationPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileTransformationPolicy mocks base method. +func (m *MockMulticlusterTransformationPolicyReconciler) ReconcileTransformationPolicy(clusterName string, obj *v2.TransformationPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileTransformationPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileTransformationPolicy indicates an expected call of ReconcileTransformationPolicy. +func (mr *MockMulticlusterTransformationPolicyReconcilerMockRecorder) ReconcileTransformationPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileTransformationPolicy", reflect.TypeOf((*MockMulticlusterTransformationPolicyReconciler)(nil).ReconcileTransformationPolicy), clusterName, obj) +} + +// MockMulticlusterTransformationPolicyDeletionReconciler is a mock of MulticlusterTransformationPolicyDeletionReconciler interface. +type MockMulticlusterTransformationPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterTransformationPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterTransformationPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterTransformationPolicyDeletionReconciler. +type MockMulticlusterTransformationPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterTransformationPolicyDeletionReconciler +} + +// NewMockMulticlusterTransformationPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterTransformationPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterTransformationPolicyDeletionReconciler { + mock := &MockMulticlusterTransformationPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterTransformationPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterTransformationPolicyDeletionReconciler) EXPECT() *MockMulticlusterTransformationPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileTransformationPolicyDeletion mocks base method. +func (m *MockMulticlusterTransformationPolicyDeletionReconciler) ReconcileTransformationPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileTransformationPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileTransformationPolicyDeletion indicates an expected call of ReconcileTransformationPolicyDeletion. +func (mr *MockMulticlusterTransformationPolicyDeletionReconcilerMockRecorder) ReconcileTransformationPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileTransformationPolicyDeletion", reflect.TypeOf((*MockMulticlusterTransformationPolicyDeletionReconciler)(nil).ReconcileTransformationPolicyDeletion), clusterName, req) +} + +// MockMulticlusterTransformationPolicyReconcileLoop is a mock of MulticlusterTransformationPolicyReconcileLoop interface. +type MockMulticlusterTransformationPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterTransformationPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterTransformationPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterTransformationPolicyReconcileLoop. +type MockMulticlusterTransformationPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterTransformationPolicyReconcileLoop +} + +// NewMockMulticlusterTransformationPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterTransformationPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterTransformationPolicyReconcileLoop { + mock := &MockMulticlusterTransformationPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterTransformationPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterTransformationPolicyReconcileLoop) EXPECT() *MockMulticlusterTransformationPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterTransformationPolicyReconciler mocks base method. +func (m *MockMulticlusterTransformationPolicyReconcileLoop) AddMulticlusterTransformationPolicyReconciler(ctx context.Context, rec controller.MulticlusterTransformationPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterTransformationPolicyReconciler", varargs...) +} + +// AddMulticlusterTransformationPolicyReconciler indicates an expected call of AddMulticlusterTransformationPolicyReconciler. +func (mr *MockMulticlusterTransformationPolicyReconcileLoopMockRecorder) AddMulticlusterTransformationPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterTransformationPolicyReconciler", reflect.TypeOf((*MockMulticlusterTransformationPolicyReconcileLoop)(nil).AddMulticlusterTransformationPolicyReconciler), varargs...) +} + +// MockMulticlusterLoadBalancerPolicyReconciler is a mock of MulticlusterLoadBalancerPolicyReconciler interface. +type MockMulticlusterLoadBalancerPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterLoadBalancerPolicyReconcilerMockRecorder +} + +// MockMulticlusterLoadBalancerPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterLoadBalancerPolicyReconciler. +type MockMulticlusterLoadBalancerPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterLoadBalancerPolicyReconciler +} + +// NewMockMulticlusterLoadBalancerPolicyReconciler creates a new mock instance. +func NewMockMulticlusterLoadBalancerPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterLoadBalancerPolicyReconciler { + mock := &MockMulticlusterLoadBalancerPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterLoadBalancerPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterLoadBalancerPolicyReconciler) EXPECT() *MockMulticlusterLoadBalancerPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileLoadBalancerPolicy mocks base method. +func (m *MockMulticlusterLoadBalancerPolicyReconciler) ReconcileLoadBalancerPolicy(clusterName string, obj *v2.LoadBalancerPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileLoadBalancerPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileLoadBalancerPolicy indicates an expected call of ReconcileLoadBalancerPolicy. +func (mr *MockMulticlusterLoadBalancerPolicyReconcilerMockRecorder) ReconcileLoadBalancerPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileLoadBalancerPolicy", reflect.TypeOf((*MockMulticlusterLoadBalancerPolicyReconciler)(nil).ReconcileLoadBalancerPolicy), clusterName, obj) +} + +// MockMulticlusterLoadBalancerPolicyDeletionReconciler is a mock of MulticlusterLoadBalancerPolicyDeletionReconciler interface. +type MockMulticlusterLoadBalancerPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterLoadBalancerPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterLoadBalancerPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterLoadBalancerPolicyDeletionReconciler. +type MockMulticlusterLoadBalancerPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterLoadBalancerPolicyDeletionReconciler +} + +// NewMockMulticlusterLoadBalancerPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterLoadBalancerPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterLoadBalancerPolicyDeletionReconciler { + mock := &MockMulticlusterLoadBalancerPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterLoadBalancerPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterLoadBalancerPolicyDeletionReconciler) EXPECT() *MockMulticlusterLoadBalancerPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileLoadBalancerPolicyDeletion mocks base method. +func (m *MockMulticlusterLoadBalancerPolicyDeletionReconciler) ReconcileLoadBalancerPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileLoadBalancerPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileLoadBalancerPolicyDeletion indicates an expected call of ReconcileLoadBalancerPolicyDeletion. +func (mr *MockMulticlusterLoadBalancerPolicyDeletionReconcilerMockRecorder) ReconcileLoadBalancerPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileLoadBalancerPolicyDeletion", reflect.TypeOf((*MockMulticlusterLoadBalancerPolicyDeletionReconciler)(nil).ReconcileLoadBalancerPolicyDeletion), clusterName, req) +} + +// MockMulticlusterLoadBalancerPolicyReconcileLoop is a mock of MulticlusterLoadBalancerPolicyReconcileLoop interface. +type MockMulticlusterLoadBalancerPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterLoadBalancerPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterLoadBalancerPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterLoadBalancerPolicyReconcileLoop. +type MockMulticlusterLoadBalancerPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterLoadBalancerPolicyReconcileLoop +} + +// NewMockMulticlusterLoadBalancerPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterLoadBalancerPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterLoadBalancerPolicyReconcileLoop { + mock := &MockMulticlusterLoadBalancerPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterLoadBalancerPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterLoadBalancerPolicyReconcileLoop) EXPECT() *MockMulticlusterLoadBalancerPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterLoadBalancerPolicyReconciler mocks base method. +func (m *MockMulticlusterLoadBalancerPolicyReconcileLoop) AddMulticlusterLoadBalancerPolicyReconciler(ctx context.Context, rec controller.MulticlusterLoadBalancerPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterLoadBalancerPolicyReconciler", varargs...) +} + +// AddMulticlusterLoadBalancerPolicyReconciler indicates an expected call of AddMulticlusterLoadBalancerPolicyReconciler. +func (mr *MockMulticlusterLoadBalancerPolicyReconcileLoopMockRecorder) AddMulticlusterLoadBalancerPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterLoadBalancerPolicyReconciler", reflect.TypeOf((*MockMulticlusterLoadBalancerPolicyReconcileLoop)(nil).AddMulticlusterLoadBalancerPolicyReconciler), varargs...) +} + +// MockMulticlusterProxyProtocolPolicyReconciler is a mock of MulticlusterProxyProtocolPolicyReconciler interface. +type MockMulticlusterProxyProtocolPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterProxyProtocolPolicyReconcilerMockRecorder +} + +// MockMulticlusterProxyProtocolPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterProxyProtocolPolicyReconciler. +type MockMulticlusterProxyProtocolPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterProxyProtocolPolicyReconciler +} + +// NewMockMulticlusterProxyProtocolPolicyReconciler creates a new mock instance. +func NewMockMulticlusterProxyProtocolPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterProxyProtocolPolicyReconciler { + mock := &MockMulticlusterProxyProtocolPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterProxyProtocolPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterProxyProtocolPolicyReconciler) EXPECT() *MockMulticlusterProxyProtocolPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileProxyProtocolPolicy mocks base method. +func (m *MockMulticlusterProxyProtocolPolicyReconciler) ReconcileProxyProtocolPolicy(clusterName string, obj *v2.ProxyProtocolPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileProxyProtocolPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileProxyProtocolPolicy indicates an expected call of ReconcileProxyProtocolPolicy. +func (mr *MockMulticlusterProxyProtocolPolicyReconcilerMockRecorder) ReconcileProxyProtocolPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileProxyProtocolPolicy", reflect.TypeOf((*MockMulticlusterProxyProtocolPolicyReconciler)(nil).ReconcileProxyProtocolPolicy), clusterName, obj) +} + +// MockMulticlusterProxyProtocolPolicyDeletionReconciler is a mock of MulticlusterProxyProtocolPolicyDeletionReconciler interface. +type MockMulticlusterProxyProtocolPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterProxyProtocolPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterProxyProtocolPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterProxyProtocolPolicyDeletionReconciler. +type MockMulticlusterProxyProtocolPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterProxyProtocolPolicyDeletionReconciler +} + +// NewMockMulticlusterProxyProtocolPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterProxyProtocolPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterProxyProtocolPolicyDeletionReconciler { + mock := &MockMulticlusterProxyProtocolPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterProxyProtocolPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterProxyProtocolPolicyDeletionReconciler) EXPECT() *MockMulticlusterProxyProtocolPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileProxyProtocolPolicyDeletion mocks base method. +func (m *MockMulticlusterProxyProtocolPolicyDeletionReconciler) ReconcileProxyProtocolPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileProxyProtocolPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileProxyProtocolPolicyDeletion indicates an expected call of ReconcileProxyProtocolPolicyDeletion. +func (mr *MockMulticlusterProxyProtocolPolicyDeletionReconcilerMockRecorder) ReconcileProxyProtocolPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileProxyProtocolPolicyDeletion", reflect.TypeOf((*MockMulticlusterProxyProtocolPolicyDeletionReconciler)(nil).ReconcileProxyProtocolPolicyDeletion), clusterName, req) +} + +// MockMulticlusterProxyProtocolPolicyReconcileLoop is a mock of MulticlusterProxyProtocolPolicyReconcileLoop interface. +type MockMulticlusterProxyProtocolPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterProxyProtocolPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterProxyProtocolPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterProxyProtocolPolicyReconcileLoop. +type MockMulticlusterProxyProtocolPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterProxyProtocolPolicyReconcileLoop +} + +// NewMockMulticlusterProxyProtocolPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterProxyProtocolPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterProxyProtocolPolicyReconcileLoop { + mock := &MockMulticlusterProxyProtocolPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterProxyProtocolPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterProxyProtocolPolicyReconcileLoop) EXPECT() *MockMulticlusterProxyProtocolPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterProxyProtocolPolicyReconciler mocks base method. +func (m *MockMulticlusterProxyProtocolPolicyReconcileLoop) AddMulticlusterProxyProtocolPolicyReconciler(ctx context.Context, rec controller.MulticlusterProxyProtocolPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterProxyProtocolPolicyReconciler", varargs...) +} + +// AddMulticlusterProxyProtocolPolicyReconciler indicates an expected call of AddMulticlusterProxyProtocolPolicyReconciler. +func (mr *MockMulticlusterProxyProtocolPolicyReconcileLoopMockRecorder) AddMulticlusterProxyProtocolPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterProxyProtocolPolicyReconciler", reflect.TypeOf((*MockMulticlusterProxyProtocolPolicyReconcileLoop)(nil).AddMulticlusterProxyProtocolPolicyReconciler), varargs...) +} + +// MockMulticlusterHTTPBufferPolicyReconciler is a mock of MulticlusterHTTPBufferPolicyReconciler interface. +type MockMulticlusterHTTPBufferPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterHTTPBufferPolicyReconcilerMockRecorder +} + +// MockMulticlusterHTTPBufferPolicyReconcilerMockRecorder is the mock recorder for MockMulticlusterHTTPBufferPolicyReconciler. +type MockMulticlusterHTTPBufferPolicyReconcilerMockRecorder struct { + mock *MockMulticlusterHTTPBufferPolicyReconciler +} + +// NewMockMulticlusterHTTPBufferPolicyReconciler creates a new mock instance. +func NewMockMulticlusterHTTPBufferPolicyReconciler(ctrl *gomock.Controller) *MockMulticlusterHTTPBufferPolicyReconciler { + mock := &MockMulticlusterHTTPBufferPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterHTTPBufferPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterHTTPBufferPolicyReconciler) EXPECT() *MockMulticlusterHTTPBufferPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileHTTPBufferPolicy mocks base method. +func (m *MockMulticlusterHTTPBufferPolicyReconciler) ReconcileHTTPBufferPolicy(clusterName string, obj *v2.HTTPBufferPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileHTTPBufferPolicy", clusterName, obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileHTTPBufferPolicy indicates an expected call of ReconcileHTTPBufferPolicy. +func (mr *MockMulticlusterHTTPBufferPolicyReconcilerMockRecorder) ReconcileHTTPBufferPolicy(clusterName, obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileHTTPBufferPolicy", reflect.TypeOf((*MockMulticlusterHTTPBufferPolicyReconciler)(nil).ReconcileHTTPBufferPolicy), clusterName, obj) +} + +// MockMulticlusterHTTPBufferPolicyDeletionReconciler is a mock of MulticlusterHTTPBufferPolicyDeletionReconciler interface. +type MockMulticlusterHTTPBufferPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMulticlusterHTTPBufferPolicyDeletionReconcilerMockRecorder +} + +// MockMulticlusterHTTPBufferPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMulticlusterHTTPBufferPolicyDeletionReconciler. +type MockMulticlusterHTTPBufferPolicyDeletionReconcilerMockRecorder struct { + mock *MockMulticlusterHTTPBufferPolicyDeletionReconciler +} + +// NewMockMulticlusterHTTPBufferPolicyDeletionReconciler creates a new mock instance. +func NewMockMulticlusterHTTPBufferPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMulticlusterHTTPBufferPolicyDeletionReconciler { + mock := &MockMulticlusterHTTPBufferPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMulticlusterHTTPBufferPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterHTTPBufferPolicyDeletionReconciler) EXPECT() *MockMulticlusterHTTPBufferPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileHTTPBufferPolicyDeletion mocks base method. +func (m *MockMulticlusterHTTPBufferPolicyDeletionReconciler) ReconcileHTTPBufferPolicyDeletion(clusterName string, req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileHTTPBufferPolicyDeletion", clusterName, req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileHTTPBufferPolicyDeletion indicates an expected call of ReconcileHTTPBufferPolicyDeletion. +func (mr *MockMulticlusterHTTPBufferPolicyDeletionReconcilerMockRecorder) ReconcileHTTPBufferPolicyDeletion(clusterName, req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileHTTPBufferPolicyDeletion", reflect.TypeOf((*MockMulticlusterHTTPBufferPolicyDeletionReconciler)(nil).ReconcileHTTPBufferPolicyDeletion), clusterName, req) +} + +// MockMulticlusterHTTPBufferPolicyReconcileLoop is a mock of MulticlusterHTTPBufferPolicyReconcileLoop interface. +type MockMulticlusterHTTPBufferPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMulticlusterHTTPBufferPolicyReconcileLoopMockRecorder +} + +// MockMulticlusterHTTPBufferPolicyReconcileLoopMockRecorder is the mock recorder for MockMulticlusterHTTPBufferPolicyReconcileLoop. +type MockMulticlusterHTTPBufferPolicyReconcileLoopMockRecorder struct { + mock *MockMulticlusterHTTPBufferPolicyReconcileLoop +} + +// NewMockMulticlusterHTTPBufferPolicyReconcileLoop creates a new mock instance. +func NewMockMulticlusterHTTPBufferPolicyReconcileLoop(ctrl *gomock.Controller) *MockMulticlusterHTTPBufferPolicyReconcileLoop { + mock := &MockMulticlusterHTTPBufferPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMulticlusterHTTPBufferPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterHTTPBufferPolicyReconcileLoop) EXPECT() *MockMulticlusterHTTPBufferPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// AddMulticlusterHTTPBufferPolicyReconciler mocks base method. +func (m *MockMulticlusterHTTPBufferPolicyReconcileLoop) AddMulticlusterHTTPBufferPolicyReconciler(ctx context.Context, rec controller.MulticlusterHTTPBufferPolicyReconciler, predicates ...predicate.Predicate) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "AddMulticlusterHTTPBufferPolicyReconciler", varargs...) +} + +// AddMulticlusterHTTPBufferPolicyReconciler indicates an expected call of AddMulticlusterHTTPBufferPolicyReconciler. +func (mr *MockMulticlusterHTTPBufferPolicyReconcileLoopMockRecorder) AddMulticlusterHTTPBufferPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMulticlusterHTTPBufferPolicyReconciler", reflect.TypeOf((*MockMulticlusterHTTPBufferPolicyReconcileLoop)(nil).AddMulticlusterHTTPBufferPolicyReconciler), varargs...) +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go new file mode 100644 index 000000000..11e65ffb4 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/mocks/reconcilers.go @@ -0,0 +1,1481 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./reconcilers.go + +// Package mock_controller is a generated GoMock package. +package mock_controller + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + reconcile "github.com/solo-io/skv2/pkg/reconcile" + predicate "sigs.k8s.io/controller-runtime/pkg/predicate" + + v2 "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2" + controller "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller" +) + +// MockMirrorPolicyReconciler is a mock of MirrorPolicyReconciler interface. +type MockMirrorPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockMirrorPolicyReconcilerMockRecorder +} + +// MockMirrorPolicyReconcilerMockRecorder is the mock recorder for MockMirrorPolicyReconciler. +type MockMirrorPolicyReconcilerMockRecorder struct { + mock *MockMirrorPolicyReconciler +} + +// NewMockMirrorPolicyReconciler creates a new mock instance. +func NewMockMirrorPolicyReconciler(ctrl *gomock.Controller) *MockMirrorPolicyReconciler { + mock := &MockMirrorPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockMirrorPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMirrorPolicyReconciler) EXPECT() *MockMirrorPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileMirrorPolicy mocks base method. +func (m *MockMirrorPolicyReconciler) ReconcileMirrorPolicy(obj *v2.MirrorPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileMirrorPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileMirrorPolicy indicates an expected call of ReconcileMirrorPolicy. +func (mr *MockMirrorPolicyReconcilerMockRecorder) ReconcileMirrorPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyReconciler)(nil).ReconcileMirrorPolicy), obj) +} + +// MockMirrorPolicyDeletionReconciler is a mock of MirrorPolicyDeletionReconciler interface. +type MockMirrorPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockMirrorPolicyDeletionReconcilerMockRecorder +} + +// MockMirrorPolicyDeletionReconcilerMockRecorder is the mock recorder for MockMirrorPolicyDeletionReconciler. +type MockMirrorPolicyDeletionReconcilerMockRecorder struct { + mock *MockMirrorPolicyDeletionReconciler +} + +// NewMockMirrorPolicyDeletionReconciler creates a new mock instance. +func NewMockMirrorPolicyDeletionReconciler(ctrl *gomock.Controller) *MockMirrorPolicyDeletionReconciler { + mock := &MockMirrorPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockMirrorPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMirrorPolicyDeletionReconciler) EXPECT() *MockMirrorPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileMirrorPolicyDeletion mocks base method. +func (m *MockMirrorPolicyDeletionReconciler) ReconcileMirrorPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileMirrorPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileMirrorPolicyDeletion indicates an expected call of ReconcileMirrorPolicyDeletion. +func (mr *MockMirrorPolicyDeletionReconcilerMockRecorder) ReconcileMirrorPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileMirrorPolicyDeletion", reflect.TypeOf((*MockMirrorPolicyDeletionReconciler)(nil).ReconcileMirrorPolicyDeletion), req) +} + +// MockMirrorPolicyFinalizer is a mock of MirrorPolicyFinalizer interface. +type MockMirrorPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockMirrorPolicyFinalizerMockRecorder +} + +// MockMirrorPolicyFinalizerMockRecorder is the mock recorder for MockMirrorPolicyFinalizer. +type MockMirrorPolicyFinalizerMockRecorder struct { + mock *MockMirrorPolicyFinalizer +} + +// NewMockMirrorPolicyFinalizer creates a new mock instance. +func NewMockMirrorPolicyFinalizer(ctrl *gomock.Controller) *MockMirrorPolicyFinalizer { + mock := &MockMirrorPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockMirrorPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMirrorPolicyFinalizer) EXPECT() *MockMirrorPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeMirrorPolicy mocks base method. +func (m *MockMirrorPolicyFinalizer) FinalizeMirrorPolicy(obj *v2.MirrorPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeMirrorPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeMirrorPolicy indicates an expected call of FinalizeMirrorPolicy. +func (mr *MockMirrorPolicyFinalizerMockRecorder) FinalizeMirrorPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyFinalizer)(nil).FinalizeMirrorPolicy), obj) +} + +// MirrorPolicyFinalizerName mocks base method. +func (m *MockMirrorPolicyFinalizer) MirrorPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "MirrorPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// MirrorPolicyFinalizerName indicates an expected call of MirrorPolicyFinalizerName. +func (mr *MockMirrorPolicyFinalizerMockRecorder) MirrorPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MirrorPolicyFinalizerName", reflect.TypeOf((*MockMirrorPolicyFinalizer)(nil).MirrorPolicyFinalizerName)) +} + +// ReconcileMirrorPolicy mocks base method. +func (m *MockMirrorPolicyFinalizer) ReconcileMirrorPolicy(obj *v2.MirrorPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileMirrorPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileMirrorPolicy indicates an expected call of ReconcileMirrorPolicy. +func (mr *MockMirrorPolicyFinalizerMockRecorder) ReconcileMirrorPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyFinalizer)(nil).ReconcileMirrorPolicy), obj) +} + +// MockMirrorPolicyReconcileLoop is a mock of MirrorPolicyReconcileLoop interface. +type MockMirrorPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockMirrorPolicyReconcileLoopMockRecorder +} + +// MockMirrorPolicyReconcileLoopMockRecorder is the mock recorder for MockMirrorPolicyReconcileLoop. +type MockMirrorPolicyReconcileLoopMockRecorder struct { + mock *MockMirrorPolicyReconcileLoop +} + +// NewMockMirrorPolicyReconcileLoop creates a new mock instance. +func NewMockMirrorPolicyReconcileLoop(ctrl *gomock.Controller) *MockMirrorPolicyReconcileLoop { + mock := &MockMirrorPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockMirrorPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMirrorPolicyReconcileLoop) EXPECT() *MockMirrorPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunMirrorPolicyReconciler mocks base method. +func (m *MockMirrorPolicyReconcileLoop) RunMirrorPolicyReconciler(ctx context.Context, rec controller.MirrorPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunMirrorPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunMirrorPolicyReconciler indicates an expected call of RunMirrorPolicyReconciler. +func (mr *MockMirrorPolicyReconcileLoopMockRecorder) RunMirrorPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunMirrorPolicyReconciler", reflect.TypeOf((*MockMirrorPolicyReconcileLoop)(nil).RunMirrorPolicyReconciler), varargs...) +} + +// MockRateLimitPolicyReconciler is a mock of RateLimitPolicyReconciler interface. +type MockRateLimitPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockRateLimitPolicyReconcilerMockRecorder +} + +// MockRateLimitPolicyReconcilerMockRecorder is the mock recorder for MockRateLimitPolicyReconciler. +type MockRateLimitPolicyReconcilerMockRecorder struct { + mock *MockRateLimitPolicyReconciler +} + +// NewMockRateLimitPolicyReconciler creates a new mock instance. +func NewMockRateLimitPolicyReconciler(ctrl *gomock.Controller) *MockRateLimitPolicyReconciler { + mock := &MockRateLimitPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockRateLimitPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitPolicyReconciler) EXPECT() *MockRateLimitPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyReconciler) ReconcileRateLimitPolicy(obj *v2.RateLimitPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRateLimitPolicy indicates an expected call of ReconcileRateLimitPolicy. +func (mr *MockRateLimitPolicyReconcilerMockRecorder) ReconcileRateLimitPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyReconciler)(nil).ReconcileRateLimitPolicy), obj) +} + +// MockRateLimitPolicyDeletionReconciler is a mock of RateLimitPolicyDeletionReconciler interface. +type MockRateLimitPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockRateLimitPolicyDeletionReconcilerMockRecorder +} + +// MockRateLimitPolicyDeletionReconcilerMockRecorder is the mock recorder for MockRateLimitPolicyDeletionReconciler. +type MockRateLimitPolicyDeletionReconcilerMockRecorder struct { + mock *MockRateLimitPolicyDeletionReconciler +} + +// NewMockRateLimitPolicyDeletionReconciler creates a new mock instance. +func NewMockRateLimitPolicyDeletionReconciler(ctrl *gomock.Controller) *MockRateLimitPolicyDeletionReconciler { + mock := &MockRateLimitPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockRateLimitPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitPolicyDeletionReconciler) EXPECT() *MockRateLimitPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitPolicyDeletion mocks base method. +func (m *MockRateLimitPolicyDeletionReconciler) ReconcileRateLimitPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRateLimitPolicyDeletion indicates an expected call of ReconcileRateLimitPolicyDeletion. +func (mr *MockRateLimitPolicyDeletionReconcilerMockRecorder) ReconcileRateLimitPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitPolicyDeletion", reflect.TypeOf((*MockRateLimitPolicyDeletionReconciler)(nil).ReconcileRateLimitPolicyDeletion), req) +} + +// MockRateLimitPolicyFinalizer is a mock of RateLimitPolicyFinalizer interface. +type MockRateLimitPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockRateLimitPolicyFinalizerMockRecorder +} + +// MockRateLimitPolicyFinalizerMockRecorder is the mock recorder for MockRateLimitPolicyFinalizer. +type MockRateLimitPolicyFinalizerMockRecorder struct { + mock *MockRateLimitPolicyFinalizer +} + +// NewMockRateLimitPolicyFinalizer creates a new mock instance. +func NewMockRateLimitPolicyFinalizer(ctrl *gomock.Controller) *MockRateLimitPolicyFinalizer { + mock := &MockRateLimitPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockRateLimitPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitPolicyFinalizer) EXPECT() *MockRateLimitPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyFinalizer) FinalizeRateLimitPolicy(obj *v2.RateLimitPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeRateLimitPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeRateLimitPolicy indicates an expected call of FinalizeRateLimitPolicy. +func (mr *MockRateLimitPolicyFinalizerMockRecorder) FinalizeRateLimitPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyFinalizer)(nil).FinalizeRateLimitPolicy), obj) +} + +// RateLimitPolicyFinalizerName mocks base method. +func (m *MockRateLimitPolicyFinalizer) RateLimitPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RateLimitPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// RateLimitPolicyFinalizerName indicates an expected call of RateLimitPolicyFinalizerName. +func (mr *MockRateLimitPolicyFinalizerMockRecorder) RateLimitPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RateLimitPolicyFinalizerName", reflect.TypeOf((*MockRateLimitPolicyFinalizer)(nil).RateLimitPolicyFinalizerName)) +} + +// ReconcileRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyFinalizer) ReconcileRateLimitPolicy(obj *v2.RateLimitPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRateLimitPolicy indicates an expected call of ReconcileRateLimitPolicy. +func (mr *MockRateLimitPolicyFinalizerMockRecorder) ReconcileRateLimitPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyFinalizer)(nil).ReconcileRateLimitPolicy), obj) +} + +// MockRateLimitPolicyReconcileLoop is a mock of RateLimitPolicyReconcileLoop interface. +type MockRateLimitPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockRateLimitPolicyReconcileLoopMockRecorder +} + +// MockRateLimitPolicyReconcileLoopMockRecorder is the mock recorder for MockRateLimitPolicyReconcileLoop. +type MockRateLimitPolicyReconcileLoopMockRecorder struct { + mock *MockRateLimitPolicyReconcileLoop +} + +// NewMockRateLimitPolicyReconcileLoop creates a new mock instance. +func NewMockRateLimitPolicyReconcileLoop(ctrl *gomock.Controller) *MockRateLimitPolicyReconcileLoop { + mock := &MockRateLimitPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockRateLimitPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitPolicyReconcileLoop) EXPECT() *MockRateLimitPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunRateLimitPolicyReconciler mocks base method. +func (m *MockRateLimitPolicyReconcileLoop) RunRateLimitPolicyReconciler(ctx context.Context, rec controller.RateLimitPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunRateLimitPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunRateLimitPolicyReconciler indicates an expected call of RunRateLimitPolicyReconciler. +func (mr *MockRateLimitPolicyReconcileLoopMockRecorder) RunRateLimitPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunRateLimitPolicyReconciler", reflect.TypeOf((*MockRateLimitPolicyReconcileLoop)(nil).RunRateLimitPolicyReconciler), varargs...) +} + +// MockRateLimitClientConfigReconciler is a mock of RateLimitClientConfigReconciler interface. +type MockRateLimitClientConfigReconciler struct { + ctrl *gomock.Controller + recorder *MockRateLimitClientConfigReconcilerMockRecorder +} + +// MockRateLimitClientConfigReconcilerMockRecorder is the mock recorder for MockRateLimitClientConfigReconciler. +type MockRateLimitClientConfigReconcilerMockRecorder struct { + mock *MockRateLimitClientConfigReconciler +} + +// NewMockRateLimitClientConfigReconciler creates a new mock instance. +func NewMockRateLimitClientConfigReconciler(ctrl *gomock.Controller) *MockRateLimitClientConfigReconciler { + mock := &MockRateLimitClientConfigReconciler{ctrl: ctrl} + mock.recorder = &MockRateLimitClientConfigReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitClientConfigReconciler) EXPECT() *MockRateLimitClientConfigReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigReconciler) ReconcileRateLimitClientConfig(obj *v2.RateLimitClientConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitClientConfig", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRateLimitClientConfig indicates an expected call of ReconcileRateLimitClientConfig. +func (mr *MockRateLimitClientConfigReconcilerMockRecorder) ReconcileRateLimitClientConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigReconciler)(nil).ReconcileRateLimitClientConfig), obj) +} + +// MockRateLimitClientConfigDeletionReconciler is a mock of RateLimitClientConfigDeletionReconciler interface. +type MockRateLimitClientConfigDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockRateLimitClientConfigDeletionReconcilerMockRecorder +} + +// MockRateLimitClientConfigDeletionReconcilerMockRecorder is the mock recorder for MockRateLimitClientConfigDeletionReconciler. +type MockRateLimitClientConfigDeletionReconcilerMockRecorder struct { + mock *MockRateLimitClientConfigDeletionReconciler +} + +// NewMockRateLimitClientConfigDeletionReconciler creates a new mock instance. +func NewMockRateLimitClientConfigDeletionReconciler(ctrl *gomock.Controller) *MockRateLimitClientConfigDeletionReconciler { + mock := &MockRateLimitClientConfigDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockRateLimitClientConfigDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitClientConfigDeletionReconciler) EXPECT() *MockRateLimitClientConfigDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileRateLimitClientConfigDeletion mocks base method. +func (m *MockRateLimitClientConfigDeletionReconciler) ReconcileRateLimitClientConfigDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitClientConfigDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileRateLimitClientConfigDeletion indicates an expected call of ReconcileRateLimitClientConfigDeletion. +func (mr *MockRateLimitClientConfigDeletionReconcilerMockRecorder) ReconcileRateLimitClientConfigDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitClientConfigDeletion", reflect.TypeOf((*MockRateLimitClientConfigDeletionReconciler)(nil).ReconcileRateLimitClientConfigDeletion), req) +} + +// MockRateLimitClientConfigFinalizer is a mock of RateLimitClientConfigFinalizer interface. +type MockRateLimitClientConfigFinalizer struct { + ctrl *gomock.Controller + recorder *MockRateLimitClientConfigFinalizerMockRecorder +} + +// MockRateLimitClientConfigFinalizerMockRecorder is the mock recorder for MockRateLimitClientConfigFinalizer. +type MockRateLimitClientConfigFinalizerMockRecorder struct { + mock *MockRateLimitClientConfigFinalizer +} + +// NewMockRateLimitClientConfigFinalizer creates a new mock instance. +func NewMockRateLimitClientConfigFinalizer(ctrl *gomock.Controller) *MockRateLimitClientConfigFinalizer { + mock := &MockRateLimitClientConfigFinalizer{ctrl: ctrl} + mock.recorder = &MockRateLimitClientConfigFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitClientConfigFinalizer) EXPECT() *MockRateLimitClientConfigFinalizerMockRecorder { + return m.recorder +} + +// FinalizeRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigFinalizer) FinalizeRateLimitClientConfig(obj *v2.RateLimitClientConfig) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeRateLimitClientConfig", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeRateLimitClientConfig indicates an expected call of FinalizeRateLimitClientConfig. +func (mr *MockRateLimitClientConfigFinalizerMockRecorder) FinalizeRateLimitClientConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigFinalizer)(nil).FinalizeRateLimitClientConfig), obj) +} + +// RateLimitClientConfigFinalizerName mocks base method. +func (m *MockRateLimitClientConfigFinalizer) RateLimitClientConfigFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RateLimitClientConfigFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// RateLimitClientConfigFinalizerName indicates an expected call of RateLimitClientConfigFinalizerName. +func (mr *MockRateLimitClientConfigFinalizerMockRecorder) RateLimitClientConfigFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RateLimitClientConfigFinalizerName", reflect.TypeOf((*MockRateLimitClientConfigFinalizer)(nil).RateLimitClientConfigFinalizerName)) +} + +// ReconcileRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigFinalizer) ReconcileRateLimitClientConfig(obj *v2.RateLimitClientConfig) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileRateLimitClientConfig", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileRateLimitClientConfig indicates an expected call of ReconcileRateLimitClientConfig. +func (mr *MockRateLimitClientConfigFinalizerMockRecorder) ReconcileRateLimitClientConfig(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigFinalizer)(nil).ReconcileRateLimitClientConfig), obj) +} + +// MockRateLimitClientConfigReconcileLoop is a mock of RateLimitClientConfigReconcileLoop interface. +type MockRateLimitClientConfigReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockRateLimitClientConfigReconcileLoopMockRecorder +} + +// MockRateLimitClientConfigReconcileLoopMockRecorder is the mock recorder for MockRateLimitClientConfigReconcileLoop. +type MockRateLimitClientConfigReconcileLoopMockRecorder struct { + mock *MockRateLimitClientConfigReconcileLoop +} + +// NewMockRateLimitClientConfigReconcileLoop creates a new mock instance. +func NewMockRateLimitClientConfigReconcileLoop(ctrl *gomock.Controller) *MockRateLimitClientConfigReconcileLoop { + mock := &MockRateLimitClientConfigReconcileLoop{ctrl: ctrl} + mock.recorder = &MockRateLimitClientConfigReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitClientConfigReconcileLoop) EXPECT() *MockRateLimitClientConfigReconcileLoopMockRecorder { + return m.recorder +} + +// RunRateLimitClientConfigReconciler mocks base method. +func (m *MockRateLimitClientConfigReconcileLoop) RunRateLimitClientConfigReconciler(ctx context.Context, rec controller.RateLimitClientConfigReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunRateLimitClientConfigReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunRateLimitClientConfigReconciler indicates an expected call of RunRateLimitClientConfigReconciler. +func (mr *MockRateLimitClientConfigReconcileLoopMockRecorder) RunRateLimitClientConfigReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunRateLimitClientConfigReconciler", reflect.TypeOf((*MockRateLimitClientConfigReconcileLoop)(nil).RunRateLimitClientConfigReconciler), varargs...) +} + +// MockHeaderManipulationPolicyReconciler is a mock of HeaderManipulationPolicyReconciler interface. +type MockHeaderManipulationPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockHeaderManipulationPolicyReconcilerMockRecorder +} + +// MockHeaderManipulationPolicyReconcilerMockRecorder is the mock recorder for MockHeaderManipulationPolicyReconciler. +type MockHeaderManipulationPolicyReconcilerMockRecorder struct { + mock *MockHeaderManipulationPolicyReconciler +} + +// NewMockHeaderManipulationPolicyReconciler creates a new mock instance. +func NewMockHeaderManipulationPolicyReconciler(ctrl *gomock.Controller) *MockHeaderManipulationPolicyReconciler { + mock := &MockHeaderManipulationPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockHeaderManipulationPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHeaderManipulationPolicyReconciler) EXPECT() *MockHeaderManipulationPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyReconciler) ReconcileHeaderManipulationPolicy(obj *v2.HeaderManipulationPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileHeaderManipulationPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileHeaderManipulationPolicy indicates an expected call of ReconcileHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyReconcilerMockRecorder) ReconcileHeaderManipulationPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyReconciler)(nil).ReconcileHeaderManipulationPolicy), obj) +} + +// MockHeaderManipulationPolicyDeletionReconciler is a mock of HeaderManipulationPolicyDeletionReconciler interface. +type MockHeaderManipulationPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockHeaderManipulationPolicyDeletionReconcilerMockRecorder +} + +// MockHeaderManipulationPolicyDeletionReconcilerMockRecorder is the mock recorder for MockHeaderManipulationPolicyDeletionReconciler. +type MockHeaderManipulationPolicyDeletionReconcilerMockRecorder struct { + mock *MockHeaderManipulationPolicyDeletionReconciler +} + +// NewMockHeaderManipulationPolicyDeletionReconciler creates a new mock instance. +func NewMockHeaderManipulationPolicyDeletionReconciler(ctrl *gomock.Controller) *MockHeaderManipulationPolicyDeletionReconciler { + mock := &MockHeaderManipulationPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockHeaderManipulationPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHeaderManipulationPolicyDeletionReconciler) EXPECT() *MockHeaderManipulationPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileHeaderManipulationPolicyDeletion mocks base method. +func (m *MockHeaderManipulationPolicyDeletionReconciler) ReconcileHeaderManipulationPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileHeaderManipulationPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileHeaderManipulationPolicyDeletion indicates an expected call of ReconcileHeaderManipulationPolicyDeletion. +func (mr *MockHeaderManipulationPolicyDeletionReconcilerMockRecorder) ReconcileHeaderManipulationPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileHeaderManipulationPolicyDeletion", reflect.TypeOf((*MockHeaderManipulationPolicyDeletionReconciler)(nil).ReconcileHeaderManipulationPolicyDeletion), req) +} + +// MockHeaderManipulationPolicyFinalizer is a mock of HeaderManipulationPolicyFinalizer interface. +type MockHeaderManipulationPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockHeaderManipulationPolicyFinalizerMockRecorder +} + +// MockHeaderManipulationPolicyFinalizerMockRecorder is the mock recorder for MockHeaderManipulationPolicyFinalizer. +type MockHeaderManipulationPolicyFinalizerMockRecorder struct { + mock *MockHeaderManipulationPolicyFinalizer +} + +// NewMockHeaderManipulationPolicyFinalizer creates a new mock instance. +func NewMockHeaderManipulationPolicyFinalizer(ctrl *gomock.Controller) *MockHeaderManipulationPolicyFinalizer { + mock := &MockHeaderManipulationPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockHeaderManipulationPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHeaderManipulationPolicyFinalizer) EXPECT() *MockHeaderManipulationPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyFinalizer) FinalizeHeaderManipulationPolicy(obj *v2.HeaderManipulationPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeHeaderManipulationPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeHeaderManipulationPolicy indicates an expected call of FinalizeHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyFinalizerMockRecorder) FinalizeHeaderManipulationPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyFinalizer)(nil).FinalizeHeaderManipulationPolicy), obj) +} + +// HeaderManipulationPolicyFinalizerName mocks base method. +func (m *MockHeaderManipulationPolicyFinalizer) HeaderManipulationPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "HeaderManipulationPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// HeaderManipulationPolicyFinalizerName indicates an expected call of HeaderManipulationPolicyFinalizerName. +func (mr *MockHeaderManipulationPolicyFinalizerMockRecorder) HeaderManipulationPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "HeaderManipulationPolicyFinalizerName", reflect.TypeOf((*MockHeaderManipulationPolicyFinalizer)(nil).HeaderManipulationPolicyFinalizerName)) +} + +// ReconcileHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyFinalizer) ReconcileHeaderManipulationPolicy(obj *v2.HeaderManipulationPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileHeaderManipulationPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileHeaderManipulationPolicy indicates an expected call of ReconcileHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyFinalizerMockRecorder) ReconcileHeaderManipulationPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyFinalizer)(nil).ReconcileHeaderManipulationPolicy), obj) +} + +// MockHeaderManipulationPolicyReconcileLoop is a mock of HeaderManipulationPolicyReconcileLoop interface. +type MockHeaderManipulationPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockHeaderManipulationPolicyReconcileLoopMockRecorder +} + +// MockHeaderManipulationPolicyReconcileLoopMockRecorder is the mock recorder for MockHeaderManipulationPolicyReconcileLoop. +type MockHeaderManipulationPolicyReconcileLoopMockRecorder struct { + mock *MockHeaderManipulationPolicyReconcileLoop +} + +// NewMockHeaderManipulationPolicyReconcileLoop creates a new mock instance. +func NewMockHeaderManipulationPolicyReconcileLoop(ctrl *gomock.Controller) *MockHeaderManipulationPolicyReconcileLoop { + mock := &MockHeaderManipulationPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockHeaderManipulationPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHeaderManipulationPolicyReconcileLoop) EXPECT() *MockHeaderManipulationPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunHeaderManipulationPolicyReconciler mocks base method. +func (m *MockHeaderManipulationPolicyReconcileLoop) RunHeaderManipulationPolicyReconciler(ctx context.Context, rec controller.HeaderManipulationPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunHeaderManipulationPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunHeaderManipulationPolicyReconciler indicates an expected call of RunHeaderManipulationPolicyReconciler. +func (mr *MockHeaderManipulationPolicyReconcileLoopMockRecorder) RunHeaderManipulationPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunHeaderManipulationPolicyReconciler", reflect.TypeOf((*MockHeaderManipulationPolicyReconcileLoop)(nil).RunHeaderManipulationPolicyReconciler), varargs...) +} + +// MockTransformationPolicyReconciler is a mock of TransformationPolicyReconciler interface. +type MockTransformationPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockTransformationPolicyReconcilerMockRecorder +} + +// MockTransformationPolicyReconcilerMockRecorder is the mock recorder for MockTransformationPolicyReconciler. +type MockTransformationPolicyReconcilerMockRecorder struct { + mock *MockTransformationPolicyReconciler +} + +// NewMockTransformationPolicyReconciler creates a new mock instance. +func NewMockTransformationPolicyReconciler(ctrl *gomock.Controller) *MockTransformationPolicyReconciler { + mock := &MockTransformationPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockTransformationPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTransformationPolicyReconciler) EXPECT() *MockTransformationPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileTransformationPolicy mocks base method. +func (m *MockTransformationPolicyReconciler) ReconcileTransformationPolicy(obj *v2.TransformationPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileTransformationPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileTransformationPolicy indicates an expected call of ReconcileTransformationPolicy. +func (mr *MockTransformationPolicyReconcilerMockRecorder) ReconcileTransformationPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyReconciler)(nil).ReconcileTransformationPolicy), obj) +} + +// MockTransformationPolicyDeletionReconciler is a mock of TransformationPolicyDeletionReconciler interface. +type MockTransformationPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockTransformationPolicyDeletionReconcilerMockRecorder +} + +// MockTransformationPolicyDeletionReconcilerMockRecorder is the mock recorder for MockTransformationPolicyDeletionReconciler. +type MockTransformationPolicyDeletionReconcilerMockRecorder struct { + mock *MockTransformationPolicyDeletionReconciler +} + +// NewMockTransformationPolicyDeletionReconciler creates a new mock instance. +func NewMockTransformationPolicyDeletionReconciler(ctrl *gomock.Controller) *MockTransformationPolicyDeletionReconciler { + mock := &MockTransformationPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockTransformationPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTransformationPolicyDeletionReconciler) EXPECT() *MockTransformationPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileTransformationPolicyDeletion mocks base method. +func (m *MockTransformationPolicyDeletionReconciler) ReconcileTransformationPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileTransformationPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileTransformationPolicyDeletion indicates an expected call of ReconcileTransformationPolicyDeletion. +func (mr *MockTransformationPolicyDeletionReconcilerMockRecorder) ReconcileTransformationPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileTransformationPolicyDeletion", reflect.TypeOf((*MockTransformationPolicyDeletionReconciler)(nil).ReconcileTransformationPolicyDeletion), req) +} + +// MockTransformationPolicyFinalizer is a mock of TransformationPolicyFinalizer interface. +type MockTransformationPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockTransformationPolicyFinalizerMockRecorder +} + +// MockTransformationPolicyFinalizerMockRecorder is the mock recorder for MockTransformationPolicyFinalizer. +type MockTransformationPolicyFinalizerMockRecorder struct { + mock *MockTransformationPolicyFinalizer +} + +// NewMockTransformationPolicyFinalizer creates a new mock instance. +func NewMockTransformationPolicyFinalizer(ctrl *gomock.Controller) *MockTransformationPolicyFinalizer { + mock := &MockTransformationPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockTransformationPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTransformationPolicyFinalizer) EXPECT() *MockTransformationPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeTransformationPolicy mocks base method. +func (m *MockTransformationPolicyFinalizer) FinalizeTransformationPolicy(obj *v2.TransformationPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeTransformationPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeTransformationPolicy indicates an expected call of FinalizeTransformationPolicy. +func (mr *MockTransformationPolicyFinalizerMockRecorder) FinalizeTransformationPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyFinalizer)(nil).FinalizeTransformationPolicy), obj) +} + +// ReconcileTransformationPolicy mocks base method. +func (m *MockTransformationPolicyFinalizer) ReconcileTransformationPolicy(obj *v2.TransformationPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileTransformationPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileTransformationPolicy indicates an expected call of ReconcileTransformationPolicy. +func (mr *MockTransformationPolicyFinalizerMockRecorder) ReconcileTransformationPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyFinalizer)(nil).ReconcileTransformationPolicy), obj) +} + +// TransformationPolicyFinalizerName mocks base method. +func (m *MockTransformationPolicyFinalizer) TransformationPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "TransformationPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// TransformationPolicyFinalizerName indicates an expected call of TransformationPolicyFinalizerName. +func (mr *MockTransformationPolicyFinalizerMockRecorder) TransformationPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TransformationPolicyFinalizerName", reflect.TypeOf((*MockTransformationPolicyFinalizer)(nil).TransformationPolicyFinalizerName)) +} + +// MockTransformationPolicyReconcileLoop is a mock of TransformationPolicyReconcileLoop interface. +type MockTransformationPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockTransformationPolicyReconcileLoopMockRecorder +} + +// MockTransformationPolicyReconcileLoopMockRecorder is the mock recorder for MockTransformationPolicyReconcileLoop. +type MockTransformationPolicyReconcileLoopMockRecorder struct { + mock *MockTransformationPolicyReconcileLoop +} + +// NewMockTransformationPolicyReconcileLoop creates a new mock instance. +func NewMockTransformationPolicyReconcileLoop(ctrl *gomock.Controller) *MockTransformationPolicyReconcileLoop { + mock := &MockTransformationPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockTransformationPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTransformationPolicyReconcileLoop) EXPECT() *MockTransformationPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunTransformationPolicyReconciler mocks base method. +func (m *MockTransformationPolicyReconcileLoop) RunTransformationPolicyReconciler(ctx context.Context, rec controller.TransformationPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunTransformationPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunTransformationPolicyReconciler indicates an expected call of RunTransformationPolicyReconciler. +func (mr *MockTransformationPolicyReconcileLoopMockRecorder) RunTransformationPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunTransformationPolicyReconciler", reflect.TypeOf((*MockTransformationPolicyReconcileLoop)(nil).RunTransformationPolicyReconciler), varargs...) +} + +// MockLoadBalancerPolicyReconciler is a mock of LoadBalancerPolicyReconciler interface. +type MockLoadBalancerPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockLoadBalancerPolicyReconcilerMockRecorder +} + +// MockLoadBalancerPolicyReconcilerMockRecorder is the mock recorder for MockLoadBalancerPolicyReconciler. +type MockLoadBalancerPolicyReconcilerMockRecorder struct { + mock *MockLoadBalancerPolicyReconciler +} + +// NewMockLoadBalancerPolicyReconciler creates a new mock instance. +func NewMockLoadBalancerPolicyReconciler(ctrl *gomock.Controller) *MockLoadBalancerPolicyReconciler { + mock := &MockLoadBalancerPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockLoadBalancerPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockLoadBalancerPolicyReconciler) EXPECT() *MockLoadBalancerPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyReconciler) ReconcileLoadBalancerPolicy(obj *v2.LoadBalancerPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileLoadBalancerPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileLoadBalancerPolicy indicates an expected call of ReconcileLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyReconcilerMockRecorder) ReconcileLoadBalancerPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyReconciler)(nil).ReconcileLoadBalancerPolicy), obj) +} + +// MockLoadBalancerPolicyDeletionReconciler is a mock of LoadBalancerPolicyDeletionReconciler interface. +type MockLoadBalancerPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockLoadBalancerPolicyDeletionReconcilerMockRecorder +} + +// MockLoadBalancerPolicyDeletionReconcilerMockRecorder is the mock recorder for MockLoadBalancerPolicyDeletionReconciler. +type MockLoadBalancerPolicyDeletionReconcilerMockRecorder struct { + mock *MockLoadBalancerPolicyDeletionReconciler +} + +// NewMockLoadBalancerPolicyDeletionReconciler creates a new mock instance. +func NewMockLoadBalancerPolicyDeletionReconciler(ctrl *gomock.Controller) *MockLoadBalancerPolicyDeletionReconciler { + mock := &MockLoadBalancerPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockLoadBalancerPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockLoadBalancerPolicyDeletionReconciler) EXPECT() *MockLoadBalancerPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileLoadBalancerPolicyDeletion mocks base method. +func (m *MockLoadBalancerPolicyDeletionReconciler) ReconcileLoadBalancerPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileLoadBalancerPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileLoadBalancerPolicyDeletion indicates an expected call of ReconcileLoadBalancerPolicyDeletion. +func (mr *MockLoadBalancerPolicyDeletionReconcilerMockRecorder) ReconcileLoadBalancerPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileLoadBalancerPolicyDeletion", reflect.TypeOf((*MockLoadBalancerPolicyDeletionReconciler)(nil).ReconcileLoadBalancerPolicyDeletion), req) +} + +// MockLoadBalancerPolicyFinalizer is a mock of LoadBalancerPolicyFinalizer interface. +type MockLoadBalancerPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockLoadBalancerPolicyFinalizerMockRecorder +} + +// MockLoadBalancerPolicyFinalizerMockRecorder is the mock recorder for MockLoadBalancerPolicyFinalizer. +type MockLoadBalancerPolicyFinalizerMockRecorder struct { + mock *MockLoadBalancerPolicyFinalizer +} + +// NewMockLoadBalancerPolicyFinalizer creates a new mock instance. +func NewMockLoadBalancerPolicyFinalizer(ctrl *gomock.Controller) *MockLoadBalancerPolicyFinalizer { + mock := &MockLoadBalancerPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockLoadBalancerPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockLoadBalancerPolicyFinalizer) EXPECT() *MockLoadBalancerPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyFinalizer) FinalizeLoadBalancerPolicy(obj *v2.LoadBalancerPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeLoadBalancerPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeLoadBalancerPolicy indicates an expected call of FinalizeLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyFinalizerMockRecorder) FinalizeLoadBalancerPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyFinalizer)(nil).FinalizeLoadBalancerPolicy), obj) +} + +// LoadBalancerPolicyFinalizerName mocks base method. +func (m *MockLoadBalancerPolicyFinalizer) LoadBalancerPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "LoadBalancerPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// LoadBalancerPolicyFinalizerName indicates an expected call of LoadBalancerPolicyFinalizerName. +func (mr *MockLoadBalancerPolicyFinalizerMockRecorder) LoadBalancerPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoadBalancerPolicyFinalizerName", reflect.TypeOf((*MockLoadBalancerPolicyFinalizer)(nil).LoadBalancerPolicyFinalizerName)) +} + +// ReconcileLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyFinalizer) ReconcileLoadBalancerPolicy(obj *v2.LoadBalancerPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileLoadBalancerPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileLoadBalancerPolicy indicates an expected call of ReconcileLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyFinalizerMockRecorder) ReconcileLoadBalancerPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyFinalizer)(nil).ReconcileLoadBalancerPolicy), obj) +} + +// MockLoadBalancerPolicyReconcileLoop is a mock of LoadBalancerPolicyReconcileLoop interface. +type MockLoadBalancerPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockLoadBalancerPolicyReconcileLoopMockRecorder +} + +// MockLoadBalancerPolicyReconcileLoopMockRecorder is the mock recorder for MockLoadBalancerPolicyReconcileLoop. +type MockLoadBalancerPolicyReconcileLoopMockRecorder struct { + mock *MockLoadBalancerPolicyReconcileLoop +} + +// NewMockLoadBalancerPolicyReconcileLoop creates a new mock instance. +func NewMockLoadBalancerPolicyReconcileLoop(ctrl *gomock.Controller) *MockLoadBalancerPolicyReconcileLoop { + mock := &MockLoadBalancerPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockLoadBalancerPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockLoadBalancerPolicyReconcileLoop) EXPECT() *MockLoadBalancerPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunLoadBalancerPolicyReconciler mocks base method. +func (m *MockLoadBalancerPolicyReconcileLoop) RunLoadBalancerPolicyReconciler(ctx context.Context, rec controller.LoadBalancerPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunLoadBalancerPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunLoadBalancerPolicyReconciler indicates an expected call of RunLoadBalancerPolicyReconciler. +func (mr *MockLoadBalancerPolicyReconcileLoopMockRecorder) RunLoadBalancerPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunLoadBalancerPolicyReconciler", reflect.TypeOf((*MockLoadBalancerPolicyReconcileLoop)(nil).RunLoadBalancerPolicyReconciler), varargs...) +} + +// MockProxyProtocolPolicyReconciler is a mock of ProxyProtocolPolicyReconciler interface. +type MockProxyProtocolPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockProxyProtocolPolicyReconcilerMockRecorder +} + +// MockProxyProtocolPolicyReconcilerMockRecorder is the mock recorder for MockProxyProtocolPolicyReconciler. +type MockProxyProtocolPolicyReconcilerMockRecorder struct { + mock *MockProxyProtocolPolicyReconciler +} + +// NewMockProxyProtocolPolicyReconciler creates a new mock instance. +func NewMockProxyProtocolPolicyReconciler(ctrl *gomock.Controller) *MockProxyProtocolPolicyReconciler { + mock := &MockProxyProtocolPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockProxyProtocolPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockProxyProtocolPolicyReconciler) EXPECT() *MockProxyProtocolPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyReconciler) ReconcileProxyProtocolPolicy(obj *v2.ProxyProtocolPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileProxyProtocolPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileProxyProtocolPolicy indicates an expected call of ReconcileProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyReconcilerMockRecorder) ReconcileProxyProtocolPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyReconciler)(nil).ReconcileProxyProtocolPolicy), obj) +} + +// MockProxyProtocolPolicyDeletionReconciler is a mock of ProxyProtocolPolicyDeletionReconciler interface. +type MockProxyProtocolPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockProxyProtocolPolicyDeletionReconcilerMockRecorder +} + +// MockProxyProtocolPolicyDeletionReconcilerMockRecorder is the mock recorder for MockProxyProtocolPolicyDeletionReconciler. +type MockProxyProtocolPolicyDeletionReconcilerMockRecorder struct { + mock *MockProxyProtocolPolicyDeletionReconciler +} + +// NewMockProxyProtocolPolicyDeletionReconciler creates a new mock instance. +func NewMockProxyProtocolPolicyDeletionReconciler(ctrl *gomock.Controller) *MockProxyProtocolPolicyDeletionReconciler { + mock := &MockProxyProtocolPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockProxyProtocolPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockProxyProtocolPolicyDeletionReconciler) EXPECT() *MockProxyProtocolPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileProxyProtocolPolicyDeletion mocks base method. +func (m *MockProxyProtocolPolicyDeletionReconciler) ReconcileProxyProtocolPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileProxyProtocolPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileProxyProtocolPolicyDeletion indicates an expected call of ReconcileProxyProtocolPolicyDeletion. +func (mr *MockProxyProtocolPolicyDeletionReconcilerMockRecorder) ReconcileProxyProtocolPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileProxyProtocolPolicyDeletion", reflect.TypeOf((*MockProxyProtocolPolicyDeletionReconciler)(nil).ReconcileProxyProtocolPolicyDeletion), req) +} + +// MockProxyProtocolPolicyFinalizer is a mock of ProxyProtocolPolicyFinalizer interface. +type MockProxyProtocolPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockProxyProtocolPolicyFinalizerMockRecorder +} + +// MockProxyProtocolPolicyFinalizerMockRecorder is the mock recorder for MockProxyProtocolPolicyFinalizer. +type MockProxyProtocolPolicyFinalizerMockRecorder struct { + mock *MockProxyProtocolPolicyFinalizer +} + +// NewMockProxyProtocolPolicyFinalizer creates a new mock instance. +func NewMockProxyProtocolPolicyFinalizer(ctrl *gomock.Controller) *MockProxyProtocolPolicyFinalizer { + mock := &MockProxyProtocolPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockProxyProtocolPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockProxyProtocolPolicyFinalizer) EXPECT() *MockProxyProtocolPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyFinalizer) FinalizeProxyProtocolPolicy(obj *v2.ProxyProtocolPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeProxyProtocolPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeProxyProtocolPolicy indicates an expected call of FinalizeProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyFinalizerMockRecorder) FinalizeProxyProtocolPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyFinalizer)(nil).FinalizeProxyProtocolPolicy), obj) +} + +// ProxyProtocolPolicyFinalizerName mocks base method. +func (m *MockProxyProtocolPolicyFinalizer) ProxyProtocolPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ProxyProtocolPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// ProxyProtocolPolicyFinalizerName indicates an expected call of ProxyProtocolPolicyFinalizerName. +func (mr *MockProxyProtocolPolicyFinalizerMockRecorder) ProxyProtocolPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ProxyProtocolPolicyFinalizerName", reflect.TypeOf((*MockProxyProtocolPolicyFinalizer)(nil).ProxyProtocolPolicyFinalizerName)) +} + +// ReconcileProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyFinalizer) ReconcileProxyProtocolPolicy(obj *v2.ProxyProtocolPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileProxyProtocolPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileProxyProtocolPolicy indicates an expected call of ReconcileProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyFinalizerMockRecorder) ReconcileProxyProtocolPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyFinalizer)(nil).ReconcileProxyProtocolPolicy), obj) +} + +// MockProxyProtocolPolicyReconcileLoop is a mock of ProxyProtocolPolicyReconcileLoop interface. +type MockProxyProtocolPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockProxyProtocolPolicyReconcileLoopMockRecorder +} + +// MockProxyProtocolPolicyReconcileLoopMockRecorder is the mock recorder for MockProxyProtocolPolicyReconcileLoop. +type MockProxyProtocolPolicyReconcileLoopMockRecorder struct { + mock *MockProxyProtocolPolicyReconcileLoop +} + +// NewMockProxyProtocolPolicyReconcileLoop creates a new mock instance. +func NewMockProxyProtocolPolicyReconcileLoop(ctrl *gomock.Controller) *MockProxyProtocolPolicyReconcileLoop { + mock := &MockProxyProtocolPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockProxyProtocolPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockProxyProtocolPolicyReconcileLoop) EXPECT() *MockProxyProtocolPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunProxyProtocolPolicyReconciler mocks base method. +func (m *MockProxyProtocolPolicyReconcileLoop) RunProxyProtocolPolicyReconciler(ctx context.Context, rec controller.ProxyProtocolPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunProxyProtocolPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunProxyProtocolPolicyReconciler indicates an expected call of RunProxyProtocolPolicyReconciler. +func (mr *MockProxyProtocolPolicyReconcileLoopMockRecorder) RunProxyProtocolPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunProxyProtocolPolicyReconciler", reflect.TypeOf((*MockProxyProtocolPolicyReconcileLoop)(nil).RunProxyProtocolPolicyReconciler), varargs...) +} + +// MockHTTPBufferPolicyReconciler is a mock of HTTPBufferPolicyReconciler interface. +type MockHTTPBufferPolicyReconciler struct { + ctrl *gomock.Controller + recorder *MockHTTPBufferPolicyReconcilerMockRecorder +} + +// MockHTTPBufferPolicyReconcilerMockRecorder is the mock recorder for MockHTTPBufferPolicyReconciler. +type MockHTTPBufferPolicyReconcilerMockRecorder struct { + mock *MockHTTPBufferPolicyReconciler +} + +// NewMockHTTPBufferPolicyReconciler creates a new mock instance. +func NewMockHTTPBufferPolicyReconciler(ctrl *gomock.Controller) *MockHTTPBufferPolicyReconciler { + mock := &MockHTTPBufferPolicyReconciler{ctrl: ctrl} + mock.recorder = &MockHTTPBufferPolicyReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHTTPBufferPolicyReconciler) EXPECT() *MockHTTPBufferPolicyReconcilerMockRecorder { + return m.recorder +} + +// ReconcileHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyReconciler) ReconcileHTTPBufferPolicy(obj *v2.HTTPBufferPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileHTTPBufferPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileHTTPBufferPolicy indicates an expected call of ReconcileHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyReconcilerMockRecorder) ReconcileHTTPBufferPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyReconciler)(nil).ReconcileHTTPBufferPolicy), obj) +} + +// MockHTTPBufferPolicyDeletionReconciler is a mock of HTTPBufferPolicyDeletionReconciler interface. +type MockHTTPBufferPolicyDeletionReconciler struct { + ctrl *gomock.Controller + recorder *MockHTTPBufferPolicyDeletionReconcilerMockRecorder +} + +// MockHTTPBufferPolicyDeletionReconcilerMockRecorder is the mock recorder for MockHTTPBufferPolicyDeletionReconciler. +type MockHTTPBufferPolicyDeletionReconcilerMockRecorder struct { + mock *MockHTTPBufferPolicyDeletionReconciler +} + +// NewMockHTTPBufferPolicyDeletionReconciler creates a new mock instance. +func NewMockHTTPBufferPolicyDeletionReconciler(ctrl *gomock.Controller) *MockHTTPBufferPolicyDeletionReconciler { + mock := &MockHTTPBufferPolicyDeletionReconciler{ctrl: ctrl} + mock.recorder = &MockHTTPBufferPolicyDeletionReconcilerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHTTPBufferPolicyDeletionReconciler) EXPECT() *MockHTTPBufferPolicyDeletionReconcilerMockRecorder { + return m.recorder +} + +// ReconcileHTTPBufferPolicyDeletion mocks base method. +func (m *MockHTTPBufferPolicyDeletionReconciler) ReconcileHTTPBufferPolicyDeletion(req reconcile.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileHTTPBufferPolicyDeletion", req) + ret0, _ := ret[0].(error) + return ret0 +} + +// ReconcileHTTPBufferPolicyDeletion indicates an expected call of ReconcileHTTPBufferPolicyDeletion. +func (mr *MockHTTPBufferPolicyDeletionReconcilerMockRecorder) ReconcileHTTPBufferPolicyDeletion(req interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileHTTPBufferPolicyDeletion", reflect.TypeOf((*MockHTTPBufferPolicyDeletionReconciler)(nil).ReconcileHTTPBufferPolicyDeletion), req) +} + +// MockHTTPBufferPolicyFinalizer is a mock of HTTPBufferPolicyFinalizer interface. +type MockHTTPBufferPolicyFinalizer struct { + ctrl *gomock.Controller + recorder *MockHTTPBufferPolicyFinalizerMockRecorder +} + +// MockHTTPBufferPolicyFinalizerMockRecorder is the mock recorder for MockHTTPBufferPolicyFinalizer. +type MockHTTPBufferPolicyFinalizerMockRecorder struct { + mock *MockHTTPBufferPolicyFinalizer +} + +// NewMockHTTPBufferPolicyFinalizer creates a new mock instance. +func NewMockHTTPBufferPolicyFinalizer(ctrl *gomock.Controller) *MockHTTPBufferPolicyFinalizer { + mock := &MockHTTPBufferPolicyFinalizer{ctrl: ctrl} + mock.recorder = &MockHTTPBufferPolicyFinalizerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHTTPBufferPolicyFinalizer) EXPECT() *MockHTTPBufferPolicyFinalizerMockRecorder { + return m.recorder +} + +// FinalizeHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyFinalizer) FinalizeHTTPBufferPolicy(obj *v2.HTTPBufferPolicy) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FinalizeHTTPBufferPolicy", obj) + ret0, _ := ret[0].(error) + return ret0 +} + +// FinalizeHTTPBufferPolicy indicates an expected call of FinalizeHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyFinalizerMockRecorder) FinalizeHTTPBufferPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FinalizeHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyFinalizer)(nil).FinalizeHTTPBufferPolicy), obj) +} + +// HTTPBufferPolicyFinalizerName mocks base method. +func (m *MockHTTPBufferPolicyFinalizer) HTTPBufferPolicyFinalizerName() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "HTTPBufferPolicyFinalizerName") + ret0, _ := ret[0].(string) + return ret0 +} + +// HTTPBufferPolicyFinalizerName indicates an expected call of HTTPBufferPolicyFinalizerName. +func (mr *MockHTTPBufferPolicyFinalizerMockRecorder) HTTPBufferPolicyFinalizerName() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "HTTPBufferPolicyFinalizerName", reflect.TypeOf((*MockHTTPBufferPolicyFinalizer)(nil).HTTPBufferPolicyFinalizerName)) +} + +// ReconcileHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyFinalizer) ReconcileHTTPBufferPolicy(obj *v2.HTTPBufferPolicy) (reconcile.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReconcileHTTPBufferPolicy", obj) + ret0, _ := ret[0].(reconcile.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ReconcileHTTPBufferPolicy indicates an expected call of ReconcileHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyFinalizerMockRecorder) ReconcileHTTPBufferPolicy(obj interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReconcileHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyFinalizer)(nil).ReconcileHTTPBufferPolicy), obj) +} + +// MockHTTPBufferPolicyReconcileLoop is a mock of HTTPBufferPolicyReconcileLoop interface. +type MockHTTPBufferPolicyReconcileLoop struct { + ctrl *gomock.Controller + recorder *MockHTTPBufferPolicyReconcileLoopMockRecorder +} + +// MockHTTPBufferPolicyReconcileLoopMockRecorder is the mock recorder for MockHTTPBufferPolicyReconcileLoop. +type MockHTTPBufferPolicyReconcileLoopMockRecorder struct { + mock *MockHTTPBufferPolicyReconcileLoop +} + +// NewMockHTTPBufferPolicyReconcileLoop creates a new mock instance. +func NewMockHTTPBufferPolicyReconcileLoop(ctrl *gomock.Controller) *MockHTTPBufferPolicyReconcileLoop { + mock := &MockHTTPBufferPolicyReconcileLoop{ctrl: ctrl} + mock.recorder = &MockHTTPBufferPolicyReconcileLoopMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHTTPBufferPolicyReconcileLoop) EXPECT() *MockHTTPBufferPolicyReconcileLoopMockRecorder { + return m.recorder +} + +// RunHTTPBufferPolicyReconciler mocks base method. +func (m *MockHTTPBufferPolicyReconcileLoop) RunHTTPBufferPolicyReconciler(ctx context.Context, rec controller.HTTPBufferPolicyReconciler, predicates ...predicate.Predicate) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, rec} + for _, a := range predicates { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RunHTTPBufferPolicyReconciler", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// RunHTTPBufferPolicyReconciler indicates an expected call of RunHTTPBufferPolicyReconciler. +func (mr *MockHTTPBufferPolicyReconcileLoopMockRecorder) RunHTTPBufferPolicyReconciler(ctx, rec interface{}, predicates ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, rec}, predicates...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunHTTPBufferPolicyReconciler", reflect.TypeOf((*MockHTTPBufferPolicyReconcileLoop)(nil).RunHTTPBufferPolicyReconciler), varargs...) +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go new file mode 100644 index 000000000..9d386baf2 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/multicluster_reconcilers.go @@ -0,0 +1,587 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./multicluster_reconcilers.go -destination mocks/multicluster_reconcilers.go + +// Definitions for the multicluster Kubernetes Controllers +package controller + +import ( + "context" + + trafficcontrol_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/multicluster" + mc_reconcile "github.com/solo-io/skv2/pkg/multicluster/reconcile" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the MirrorPolicy Resource across clusters. +// implemented by the user +type MulticlusterMirrorPolicyReconciler interface { + ReconcileMirrorPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the MirrorPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterMirrorPolicyDeletionReconciler interface { + ReconcileMirrorPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterMirrorPolicyReconcilerFuncs struct { + OnReconcileMirrorPolicy func(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) (reconcile.Result, error) + OnReconcileMirrorPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterMirrorPolicyReconcilerFuncs) ReconcileMirrorPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) (reconcile.Result, error) { + if f.OnReconcileMirrorPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileMirrorPolicy(clusterName, obj) +} + +func (f *MulticlusterMirrorPolicyReconcilerFuncs) ReconcileMirrorPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileMirrorPolicyDeletion == nil { + return nil + } + return f.OnReconcileMirrorPolicyDeletion(clusterName, req) +} + +type MulticlusterMirrorPolicyReconcileLoop interface { + // AddMulticlusterMirrorPolicyReconciler adds a MulticlusterMirrorPolicyReconciler to the MulticlusterMirrorPolicyReconcileLoop. + AddMulticlusterMirrorPolicyReconciler(ctx context.Context, rec MulticlusterMirrorPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterMirrorPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterMirrorPolicyReconcileLoop) AddMulticlusterMirrorPolicyReconciler(ctx context.Context, rec MulticlusterMirrorPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericMirrorPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterMirrorPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterMirrorPolicyReconcileLoop { + return &multiclusterMirrorPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy{}, options)} +} + +type genericMirrorPolicyMulticlusterReconciler struct { + reconciler MulticlusterMirrorPolicyReconciler +} + +func (g genericMirrorPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterMirrorPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileMirrorPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericMirrorPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: MirrorPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileMirrorPolicy(cluster, obj) +} + +// Reconcile Upsert events for the RateLimitPolicy Resource across clusters. +// implemented by the user +type MulticlusterRateLimitPolicyReconciler interface { + ReconcileRateLimitPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the RateLimitPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterRateLimitPolicyDeletionReconciler interface { + ReconcileRateLimitPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterRateLimitPolicyReconcilerFuncs struct { + OnReconcileRateLimitPolicy func(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) (reconcile.Result, error) + OnReconcileRateLimitPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterRateLimitPolicyReconcilerFuncs) ReconcileRateLimitPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) (reconcile.Result, error) { + if f.OnReconcileRateLimitPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRateLimitPolicy(clusterName, obj) +} + +func (f *MulticlusterRateLimitPolicyReconcilerFuncs) ReconcileRateLimitPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileRateLimitPolicyDeletion == nil { + return nil + } + return f.OnReconcileRateLimitPolicyDeletion(clusterName, req) +} + +type MulticlusterRateLimitPolicyReconcileLoop interface { + // AddMulticlusterRateLimitPolicyReconciler adds a MulticlusterRateLimitPolicyReconciler to the MulticlusterRateLimitPolicyReconcileLoop. + AddMulticlusterRateLimitPolicyReconciler(ctx context.Context, rec MulticlusterRateLimitPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterRateLimitPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterRateLimitPolicyReconcileLoop) AddMulticlusterRateLimitPolicyReconciler(ctx context.Context, rec MulticlusterRateLimitPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericRateLimitPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterRateLimitPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterRateLimitPolicyReconcileLoop { + return &multiclusterRateLimitPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy{}, options)} +} + +type genericRateLimitPolicyMulticlusterReconciler struct { + reconciler MulticlusterRateLimitPolicyReconciler +} + +func (g genericRateLimitPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterRateLimitPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileRateLimitPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericRateLimitPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RateLimitPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileRateLimitPolicy(cluster, obj) +} + +// Reconcile Upsert events for the RateLimitClientConfig Resource across clusters. +// implemented by the user +type MulticlusterRateLimitClientConfigReconciler interface { + ReconcileRateLimitClientConfig(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the RateLimitClientConfig Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterRateLimitClientConfigDeletionReconciler interface { + ReconcileRateLimitClientConfigDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterRateLimitClientConfigReconcilerFuncs struct { + OnReconcileRateLimitClientConfig func(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) (reconcile.Result, error) + OnReconcileRateLimitClientConfigDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterRateLimitClientConfigReconcilerFuncs) ReconcileRateLimitClientConfig(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) (reconcile.Result, error) { + if f.OnReconcileRateLimitClientConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRateLimitClientConfig(clusterName, obj) +} + +func (f *MulticlusterRateLimitClientConfigReconcilerFuncs) ReconcileRateLimitClientConfigDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileRateLimitClientConfigDeletion == nil { + return nil + } + return f.OnReconcileRateLimitClientConfigDeletion(clusterName, req) +} + +type MulticlusterRateLimitClientConfigReconcileLoop interface { + // AddMulticlusterRateLimitClientConfigReconciler adds a MulticlusterRateLimitClientConfigReconciler to the MulticlusterRateLimitClientConfigReconcileLoop. + AddMulticlusterRateLimitClientConfigReconciler(ctx context.Context, rec MulticlusterRateLimitClientConfigReconciler, predicates ...predicate.Predicate) +} + +type multiclusterRateLimitClientConfigReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterRateLimitClientConfigReconcileLoop) AddMulticlusterRateLimitClientConfigReconciler(ctx context.Context, rec MulticlusterRateLimitClientConfigReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericRateLimitClientConfigMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterRateLimitClientConfigReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterRateLimitClientConfigReconcileLoop { + return &multiclusterRateLimitClientConfigReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig{}, options)} +} + +type genericRateLimitClientConfigMulticlusterReconciler struct { + reconciler MulticlusterRateLimitClientConfigReconciler +} + +func (g genericRateLimitClientConfigMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterRateLimitClientConfigDeletionReconciler); ok { + return deletionReconciler.ReconcileRateLimitClientConfigDeletion(cluster, req) + } + return nil +} + +func (g genericRateLimitClientConfigMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RateLimitClientConfig handler received event for %T", object) + } + return g.reconciler.ReconcileRateLimitClientConfig(cluster, obj) +} + +// Reconcile Upsert events for the HeaderManipulationPolicy Resource across clusters. +// implemented by the user +type MulticlusterHeaderManipulationPolicyReconciler interface { + ReconcileHeaderManipulationPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the HeaderManipulationPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterHeaderManipulationPolicyDeletionReconciler interface { + ReconcileHeaderManipulationPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterHeaderManipulationPolicyReconcilerFuncs struct { + OnReconcileHeaderManipulationPolicy func(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) (reconcile.Result, error) + OnReconcileHeaderManipulationPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterHeaderManipulationPolicyReconcilerFuncs) ReconcileHeaderManipulationPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) (reconcile.Result, error) { + if f.OnReconcileHeaderManipulationPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileHeaderManipulationPolicy(clusterName, obj) +} + +func (f *MulticlusterHeaderManipulationPolicyReconcilerFuncs) ReconcileHeaderManipulationPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileHeaderManipulationPolicyDeletion == nil { + return nil + } + return f.OnReconcileHeaderManipulationPolicyDeletion(clusterName, req) +} + +type MulticlusterHeaderManipulationPolicyReconcileLoop interface { + // AddMulticlusterHeaderManipulationPolicyReconciler adds a MulticlusterHeaderManipulationPolicyReconciler to the MulticlusterHeaderManipulationPolicyReconcileLoop. + AddMulticlusterHeaderManipulationPolicyReconciler(ctx context.Context, rec MulticlusterHeaderManipulationPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterHeaderManipulationPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterHeaderManipulationPolicyReconcileLoop) AddMulticlusterHeaderManipulationPolicyReconciler(ctx context.Context, rec MulticlusterHeaderManipulationPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericHeaderManipulationPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterHeaderManipulationPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterHeaderManipulationPolicyReconcileLoop { + return &multiclusterHeaderManipulationPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy{}, options)} +} + +type genericHeaderManipulationPolicyMulticlusterReconciler struct { + reconciler MulticlusterHeaderManipulationPolicyReconciler +} + +func (g genericHeaderManipulationPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterHeaderManipulationPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileHeaderManipulationPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericHeaderManipulationPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: HeaderManipulationPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileHeaderManipulationPolicy(cluster, obj) +} + +// Reconcile Upsert events for the TransformationPolicy Resource across clusters. +// implemented by the user +type MulticlusterTransformationPolicyReconciler interface { + ReconcileTransformationPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the TransformationPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterTransformationPolicyDeletionReconciler interface { + ReconcileTransformationPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterTransformationPolicyReconcilerFuncs struct { + OnReconcileTransformationPolicy func(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) (reconcile.Result, error) + OnReconcileTransformationPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterTransformationPolicyReconcilerFuncs) ReconcileTransformationPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) (reconcile.Result, error) { + if f.OnReconcileTransformationPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileTransformationPolicy(clusterName, obj) +} + +func (f *MulticlusterTransformationPolicyReconcilerFuncs) ReconcileTransformationPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileTransformationPolicyDeletion == nil { + return nil + } + return f.OnReconcileTransformationPolicyDeletion(clusterName, req) +} + +type MulticlusterTransformationPolicyReconcileLoop interface { + // AddMulticlusterTransformationPolicyReconciler adds a MulticlusterTransformationPolicyReconciler to the MulticlusterTransformationPolicyReconcileLoop. + AddMulticlusterTransformationPolicyReconciler(ctx context.Context, rec MulticlusterTransformationPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterTransformationPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterTransformationPolicyReconcileLoop) AddMulticlusterTransformationPolicyReconciler(ctx context.Context, rec MulticlusterTransformationPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericTransformationPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterTransformationPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterTransformationPolicyReconcileLoop { + return &multiclusterTransformationPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy{}, options)} +} + +type genericTransformationPolicyMulticlusterReconciler struct { + reconciler MulticlusterTransformationPolicyReconciler +} + +func (g genericTransformationPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterTransformationPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileTransformationPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericTransformationPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: TransformationPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileTransformationPolicy(cluster, obj) +} + +// Reconcile Upsert events for the LoadBalancerPolicy Resource across clusters. +// implemented by the user +type MulticlusterLoadBalancerPolicyReconciler interface { + ReconcileLoadBalancerPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the LoadBalancerPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterLoadBalancerPolicyDeletionReconciler interface { + ReconcileLoadBalancerPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterLoadBalancerPolicyReconcilerFuncs struct { + OnReconcileLoadBalancerPolicy func(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) (reconcile.Result, error) + OnReconcileLoadBalancerPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterLoadBalancerPolicyReconcilerFuncs) ReconcileLoadBalancerPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) (reconcile.Result, error) { + if f.OnReconcileLoadBalancerPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileLoadBalancerPolicy(clusterName, obj) +} + +func (f *MulticlusterLoadBalancerPolicyReconcilerFuncs) ReconcileLoadBalancerPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileLoadBalancerPolicyDeletion == nil { + return nil + } + return f.OnReconcileLoadBalancerPolicyDeletion(clusterName, req) +} + +type MulticlusterLoadBalancerPolicyReconcileLoop interface { + // AddMulticlusterLoadBalancerPolicyReconciler adds a MulticlusterLoadBalancerPolicyReconciler to the MulticlusterLoadBalancerPolicyReconcileLoop. + AddMulticlusterLoadBalancerPolicyReconciler(ctx context.Context, rec MulticlusterLoadBalancerPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterLoadBalancerPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterLoadBalancerPolicyReconcileLoop) AddMulticlusterLoadBalancerPolicyReconciler(ctx context.Context, rec MulticlusterLoadBalancerPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericLoadBalancerPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterLoadBalancerPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterLoadBalancerPolicyReconcileLoop { + return &multiclusterLoadBalancerPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy{}, options)} +} + +type genericLoadBalancerPolicyMulticlusterReconciler struct { + reconciler MulticlusterLoadBalancerPolicyReconciler +} + +func (g genericLoadBalancerPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterLoadBalancerPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileLoadBalancerPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericLoadBalancerPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: LoadBalancerPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileLoadBalancerPolicy(cluster, obj) +} + +// Reconcile Upsert events for the ProxyProtocolPolicy Resource across clusters. +// implemented by the user +type MulticlusterProxyProtocolPolicyReconciler interface { + ReconcileProxyProtocolPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the ProxyProtocolPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterProxyProtocolPolicyDeletionReconciler interface { + ReconcileProxyProtocolPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterProxyProtocolPolicyReconcilerFuncs struct { + OnReconcileProxyProtocolPolicy func(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) (reconcile.Result, error) + OnReconcileProxyProtocolPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterProxyProtocolPolicyReconcilerFuncs) ReconcileProxyProtocolPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) (reconcile.Result, error) { + if f.OnReconcileProxyProtocolPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileProxyProtocolPolicy(clusterName, obj) +} + +func (f *MulticlusterProxyProtocolPolicyReconcilerFuncs) ReconcileProxyProtocolPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileProxyProtocolPolicyDeletion == nil { + return nil + } + return f.OnReconcileProxyProtocolPolicyDeletion(clusterName, req) +} + +type MulticlusterProxyProtocolPolicyReconcileLoop interface { + // AddMulticlusterProxyProtocolPolicyReconciler adds a MulticlusterProxyProtocolPolicyReconciler to the MulticlusterProxyProtocolPolicyReconcileLoop. + AddMulticlusterProxyProtocolPolicyReconciler(ctx context.Context, rec MulticlusterProxyProtocolPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterProxyProtocolPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterProxyProtocolPolicyReconcileLoop) AddMulticlusterProxyProtocolPolicyReconciler(ctx context.Context, rec MulticlusterProxyProtocolPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericProxyProtocolPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterProxyProtocolPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterProxyProtocolPolicyReconcileLoop { + return &multiclusterProxyProtocolPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy{}, options)} +} + +type genericProxyProtocolPolicyMulticlusterReconciler struct { + reconciler MulticlusterProxyProtocolPolicyReconciler +} + +func (g genericProxyProtocolPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterProxyProtocolPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileProxyProtocolPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericProxyProtocolPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ProxyProtocolPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileProxyProtocolPolicy(cluster, obj) +} + +// Reconcile Upsert events for the HTTPBufferPolicy Resource across clusters. +// implemented by the user +type MulticlusterHTTPBufferPolicyReconciler interface { + ReconcileHTTPBufferPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the HTTPBufferPolicy Resource across clusters. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MulticlusterHTTPBufferPolicyDeletionReconciler interface { + ReconcileHTTPBufferPolicyDeletion(clusterName string, req reconcile.Request) error +} + +type MulticlusterHTTPBufferPolicyReconcilerFuncs struct { + OnReconcileHTTPBufferPolicy func(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) (reconcile.Result, error) + OnReconcileHTTPBufferPolicyDeletion func(clusterName string, req reconcile.Request) error +} + +func (f *MulticlusterHTTPBufferPolicyReconcilerFuncs) ReconcileHTTPBufferPolicy(clusterName string, obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) (reconcile.Result, error) { + if f.OnReconcileHTTPBufferPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileHTTPBufferPolicy(clusterName, obj) +} + +func (f *MulticlusterHTTPBufferPolicyReconcilerFuncs) ReconcileHTTPBufferPolicyDeletion(clusterName string, req reconcile.Request) error { + if f.OnReconcileHTTPBufferPolicyDeletion == nil { + return nil + } + return f.OnReconcileHTTPBufferPolicyDeletion(clusterName, req) +} + +type MulticlusterHTTPBufferPolicyReconcileLoop interface { + // AddMulticlusterHTTPBufferPolicyReconciler adds a MulticlusterHTTPBufferPolicyReconciler to the MulticlusterHTTPBufferPolicyReconcileLoop. + AddMulticlusterHTTPBufferPolicyReconciler(ctx context.Context, rec MulticlusterHTTPBufferPolicyReconciler, predicates ...predicate.Predicate) +} + +type multiclusterHTTPBufferPolicyReconcileLoop struct { + loop multicluster.Loop +} + +func (m *multiclusterHTTPBufferPolicyReconcileLoop) AddMulticlusterHTTPBufferPolicyReconciler(ctx context.Context, rec MulticlusterHTTPBufferPolicyReconciler, predicates ...predicate.Predicate) { + genericReconciler := genericHTTPBufferPolicyMulticlusterReconciler{reconciler: rec} + + m.loop.AddReconciler(ctx, genericReconciler, predicates...) +} + +func NewMulticlusterHTTPBufferPolicyReconcileLoop(name string, cw multicluster.ClusterWatcher, options reconcile.Options) MulticlusterHTTPBufferPolicyReconcileLoop { + return &multiclusterHTTPBufferPolicyReconcileLoop{loop: mc_reconcile.NewLoop(name, cw, &trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy{}, options)} +} + +type genericHTTPBufferPolicyMulticlusterReconciler struct { + reconciler MulticlusterHTTPBufferPolicyReconciler +} + +func (g genericHTTPBufferPolicyMulticlusterReconciler) ReconcileDeletion(cluster string, req reconcile.Request) error { + if deletionReconciler, ok := g.reconciler.(MulticlusterHTTPBufferPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileHTTPBufferPolicyDeletion(cluster, req) + } + return nil +} + +func (g genericHTTPBufferPolicyMulticlusterReconciler) Reconcile(cluster string, object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: HTTPBufferPolicy handler received event for %T", object) + } + return g.reconciler.ReconcileHTTPBufferPolicy(cluster, obj) +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/reconcilers.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/reconcilers.go new file mode 100644 index 000000000..c82df944a --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/controller/reconcilers.go @@ -0,0 +1,954 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./reconcilers.go -destination mocks/reconcilers.go + +// Definitions for the Kubernetes Controllers +package controller + +import ( + "context" + + trafficcontrol_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2" + + "github.com/pkg/errors" + "github.com/solo-io/skv2/pkg/ezkube" + "github.com/solo-io/skv2/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/predicate" +) + +// Reconcile Upsert events for the MirrorPolicy Resource. +// implemented by the user +type MirrorPolicyReconciler interface { + ReconcileMirrorPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the MirrorPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type MirrorPolicyDeletionReconciler interface { + ReconcileMirrorPolicyDeletion(req reconcile.Request) error +} + +type MirrorPolicyReconcilerFuncs struct { + OnReconcileMirrorPolicy func(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) (reconcile.Result, error) + OnReconcileMirrorPolicyDeletion func(req reconcile.Request) error +} + +func (f *MirrorPolicyReconcilerFuncs) ReconcileMirrorPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) (reconcile.Result, error) { + if f.OnReconcileMirrorPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileMirrorPolicy(obj) +} + +func (f *MirrorPolicyReconcilerFuncs) ReconcileMirrorPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileMirrorPolicyDeletion == nil { + return nil + } + return f.OnReconcileMirrorPolicyDeletion(req) +} + +// Reconcile and finalize the MirrorPolicy Resource +// implemented by the user +type MirrorPolicyFinalizer interface { + MirrorPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + MirrorPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeMirrorPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) error +} + +type MirrorPolicyReconcileLoop interface { + RunMirrorPolicyReconciler(ctx context.Context, rec MirrorPolicyReconciler, predicates ...predicate.Predicate) error +} + +type mirrorPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewMirrorPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) MirrorPolicyReconcileLoop { + return &mirrorPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy{}, options), + } +} + +func (c *mirrorPolicyReconcileLoop) RunMirrorPolicyReconciler(ctx context.Context, reconciler MirrorPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericMirrorPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(MirrorPolicyFinalizer); ok { + reconcilerWrapper = genericMirrorPolicyFinalizer{ + genericMirrorPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericMirrorPolicyHandler implements a generic reconcile.Reconciler +type genericMirrorPolicyReconciler struct { + reconciler MirrorPolicyReconciler +} + +func (r genericMirrorPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: MirrorPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileMirrorPolicy(obj) +} + +func (r genericMirrorPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(MirrorPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileMirrorPolicyDeletion(request) + } + return nil +} + +// genericMirrorPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericMirrorPolicyFinalizer struct { + genericMirrorPolicyReconciler + finalizingReconciler MirrorPolicyFinalizer +} + +func (r genericMirrorPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.MirrorPolicyFinalizerName() +} + +func (r genericMirrorPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) + if !ok { + return errors.Errorf("internal error: MirrorPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeMirrorPolicy(obj) +} + +// Reconcile Upsert events for the RateLimitPolicy Resource. +// implemented by the user +type RateLimitPolicyReconciler interface { + ReconcileRateLimitPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the RateLimitPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type RateLimitPolicyDeletionReconciler interface { + ReconcileRateLimitPolicyDeletion(req reconcile.Request) error +} + +type RateLimitPolicyReconcilerFuncs struct { + OnReconcileRateLimitPolicy func(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) (reconcile.Result, error) + OnReconcileRateLimitPolicyDeletion func(req reconcile.Request) error +} + +func (f *RateLimitPolicyReconcilerFuncs) ReconcileRateLimitPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) (reconcile.Result, error) { + if f.OnReconcileRateLimitPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRateLimitPolicy(obj) +} + +func (f *RateLimitPolicyReconcilerFuncs) ReconcileRateLimitPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileRateLimitPolicyDeletion == nil { + return nil + } + return f.OnReconcileRateLimitPolicyDeletion(req) +} + +// Reconcile and finalize the RateLimitPolicy Resource +// implemented by the user +type RateLimitPolicyFinalizer interface { + RateLimitPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + RateLimitPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeRateLimitPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) error +} + +type RateLimitPolicyReconcileLoop interface { + RunRateLimitPolicyReconciler(ctx context.Context, rec RateLimitPolicyReconciler, predicates ...predicate.Predicate) error +} + +type rateLimitPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewRateLimitPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) RateLimitPolicyReconcileLoop { + return &rateLimitPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy{}, options), + } +} + +func (c *rateLimitPolicyReconcileLoop) RunRateLimitPolicyReconciler(ctx context.Context, reconciler RateLimitPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericRateLimitPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(RateLimitPolicyFinalizer); ok { + reconcilerWrapper = genericRateLimitPolicyFinalizer{ + genericRateLimitPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericRateLimitPolicyHandler implements a generic reconcile.Reconciler +type genericRateLimitPolicyReconciler struct { + reconciler RateLimitPolicyReconciler +} + +func (r genericRateLimitPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RateLimitPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileRateLimitPolicy(obj) +} + +func (r genericRateLimitPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(RateLimitPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileRateLimitPolicyDeletion(request) + } + return nil +} + +// genericRateLimitPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericRateLimitPolicyFinalizer struct { + genericRateLimitPolicyReconciler + finalizingReconciler RateLimitPolicyFinalizer +} + +func (r genericRateLimitPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.RateLimitPolicyFinalizerName() +} + +func (r genericRateLimitPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) + if !ok { + return errors.Errorf("internal error: RateLimitPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeRateLimitPolicy(obj) +} + +// Reconcile Upsert events for the RateLimitClientConfig Resource. +// implemented by the user +type RateLimitClientConfigReconciler interface { + ReconcileRateLimitClientConfig(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) (reconcile.Result, error) +} + +// Reconcile deletion events for the RateLimitClientConfig Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type RateLimitClientConfigDeletionReconciler interface { + ReconcileRateLimitClientConfigDeletion(req reconcile.Request) error +} + +type RateLimitClientConfigReconcilerFuncs struct { + OnReconcileRateLimitClientConfig func(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) (reconcile.Result, error) + OnReconcileRateLimitClientConfigDeletion func(req reconcile.Request) error +} + +func (f *RateLimitClientConfigReconcilerFuncs) ReconcileRateLimitClientConfig(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) (reconcile.Result, error) { + if f.OnReconcileRateLimitClientConfig == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileRateLimitClientConfig(obj) +} + +func (f *RateLimitClientConfigReconcilerFuncs) ReconcileRateLimitClientConfigDeletion(req reconcile.Request) error { + if f.OnReconcileRateLimitClientConfigDeletion == nil { + return nil + } + return f.OnReconcileRateLimitClientConfigDeletion(req) +} + +// Reconcile and finalize the RateLimitClientConfig Resource +// implemented by the user +type RateLimitClientConfigFinalizer interface { + RateLimitClientConfigReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + RateLimitClientConfigFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeRateLimitClientConfig(obj *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) error +} + +type RateLimitClientConfigReconcileLoop interface { + RunRateLimitClientConfigReconciler(ctx context.Context, rec RateLimitClientConfigReconciler, predicates ...predicate.Predicate) error +} + +type rateLimitClientConfigReconcileLoop struct { + loop reconcile.Loop +} + +func NewRateLimitClientConfigReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) RateLimitClientConfigReconcileLoop { + return &rateLimitClientConfigReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig{}, options), + } +} + +func (c *rateLimitClientConfigReconcileLoop) RunRateLimitClientConfigReconciler(ctx context.Context, reconciler RateLimitClientConfigReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericRateLimitClientConfigReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(RateLimitClientConfigFinalizer); ok { + reconcilerWrapper = genericRateLimitClientConfigFinalizer{ + genericRateLimitClientConfigReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericRateLimitClientConfigHandler implements a generic reconcile.Reconciler +type genericRateLimitClientConfigReconciler struct { + reconciler RateLimitClientConfigReconciler +} + +func (r genericRateLimitClientConfigReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: RateLimitClientConfig handler received event for %T", object) + } + return r.reconciler.ReconcileRateLimitClientConfig(obj) +} + +func (r genericRateLimitClientConfigReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(RateLimitClientConfigDeletionReconciler); ok { + return deletionReconciler.ReconcileRateLimitClientConfigDeletion(request) + } + return nil +} + +// genericRateLimitClientConfigFinalizer implements a generic reconcile.FinalizingReconciler +type genericRateLimitClientConfigFinalizer struct { + genericRateLimitClientConfigReconciler + finalizingReconciler RateLimitClientConfigFinalizer +} + +func (r genericRateLimitClientConfigFinalizer) FinalizerName() string { + return r.finalizingReconciler.RateLimitClientConfigFinalizerName() +} + +func (r genericRateLimitClientConfigFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) + if !ok { + return errors.Errorf("internal error: RateLimitClientConfig handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeRateLimitClientConfig(obj) +} + +// Reconcile Upsert events for the HeaderManipulationPolicy Resource. +// implemented by the user +type HeaderManipulationPolicyReconciler interface { + ReconcileHeaderManipulationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the HeaderManipulationPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type HeaderManipulationPolicyDeletionReconciler interface { + ReconcileHeaderManipulationPolicyDeletion(req reconcile.Request) error +} + +type HeaderManipulationPolicyReconcilerFuncs struct { + OnReconcileHeaderManipulationPolicy func(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) (reconcile.Result, error) + OnReconcileHeaderManipulationPolicyDeletion func(req reconcile.Request) error +} + +func (f *HeaderManipulationPolicyReconcilerFuncs) ReconcileHeaderManipulationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) (reconcile.Result, error) { + if f.OnReconcileHeaderManipulationPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileHeaderManipulationPolicy(obj) +} + +func (f *HeaderManipulationPolicyReconcilerFuncs) ReconcileHeaderManipulationPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileHeaderManipulationPolicyDeletion == nil { + return nil + } + return f.OnReconcileHeaderManipulationPolicyDeletion(req) +} + +// Reconcile and finalize the HeaderManipulationPolicy Resource +// implemented by the user +type HeaderManipulationPolicyFinalizer interface { + HeaderManipulationPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + HeaderManipulationPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeHeaderManipulationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) error +} + +type HeaderManipulationPolicyReconcileLoop interface { + RunHeaderManipulationPolicyReconciler(ctx context.Context, rec HeaderManipulationPolicyReconciler, predicates ...predicate.Predicate) error +} + +type headerManipulationPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewHeaderManipulationPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) HeaderManipulationPolicyReconcileLoop { + return &headerManipulationPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy{}, options), + } +} + +func (c *headerManipulationPolicyReconcileLoop) RunHeaderManipulationPolicyReconciler(ctx context.Context, reconciler HeaderManipulationPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericHeaderManipulationPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(HeaderManipulationPolicyFinalizer); ok { + reconcilerWrapper = genericHeaderManipulationPolicyFinalizer{ + genericHeaderManipulationPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericHeaderManipulationPolicyHandler implements a generic reconcile.Reconciler +type genericHeaderManipulationPolicyReconciler struct { + reconciler HeaderManipulationPolicyReconciler +} + +func (r genericHeaderManipulationPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: HeaderManipulationPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileHeaderManipulationPolicy(obj) +} + +func (r genericHeaderManipulationPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(HeaderManipulationPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileHeaderManipulationPolicyDeletion(request) + } + return nil +} + +// genericHeaderManipulationPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericHeaderManipulationPolicyFinalizer struct { + genericHeaderManipulationPolicyReconciler + finalizingReconciler HeaderManipulationPolicyFinalizer +} + +func (r genericHeaderManipulationPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.HeaderManipulationPolicyFinalizerName() +} + +func (r genericHeaderManipulationPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) + if !ok { + return errors.Errorf("internal error: HeaderManipulationPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeHeaderManipulationPolicy(obj) +} + +// Reconcile Upsert events for the TransformationPolicy Resource. +// implemented by the user +type TransformationPolicyReconciler interface { + ReconcileTransformationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the TransformationPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type TransformationPolicyDeletionReconciler interface { + ReconcileTransformationPolicyDeletion(req reconcile.Request) error +} + +type TransformationPolicyReconcilerFuncs struct { + OnReconcileTransformationPolicy func(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) (reconcile.Result, error) + OnReconcileTransformationPolicyDeletion func(req reconcile.Request) error +} + +func (f *TransformationPolicyReconcilerFuncs) ReconcileTransformationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) (reconcile.Result, error) { + if f.OnReconcileTransformationPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileTransformationPolicy(obj) +} + +func (f *TransformationPolicyReconcilerFuncs) ReconcileTransformationPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileTransformationPolicyDeletion == nil { + return nil + } + return f.OnReconcileTransformationPolicyDeletion(req) +} + +// Reconcile and finalize the TransformationPolicy Resource +// implemented by the user +type TransformationPolicyFinalizer interface { + TransformationPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + TransformationPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeTransformationPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) error +} + +type TransformationPolicyReconcileLoop interface { + RunTransformationPolicyReconciler(ctx context.Context, rec TransformationPolicyReconciler, predicates ...predicate.Predicate) error +} + +type transformationPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewTransformationPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) TransformationPolicyReconcileLoop { + return &transformationPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy{}, options), + } +} + +func (c *transformationPolicyReconcileLoop) RunTransformationPolicyReconciler(ctx context.Context, reconciler TransformationPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericTransformationPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(TransformationPolicyFinalizer); ok { + reconcilerWrapper = genericTransformationPolicyFinalizer{ + genericTransformationPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericTransformationPolicyHandler implements a generic reconcile.Reconciler +type genericTransformationPolicyReconciler struct { + reconciler TransformationPolicyReconciler +} + +func (r genericTransformationPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: TransformationPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileTransformationPolicy(obj) +} + +func (r genericTransformationPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(TransformationPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileTransformationPolicyDeletion(request) + } + return nil +} + +// genericTransformationPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericTransformationPolicyFinalizer struct { + genericTransformationPolicyReconciler + finalizingReconciler TransformationPolicyFinalizer +} + +func (r genericTransformationPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.TransformationPolicyFinalizerName() +} + +func (r genericTransformationPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) + if !ok { + return errors.Errorf("internal error: TransformationPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeTransformationPolicy(obj) +} + +// Reconcile Upsert events for the LoadBalancerPolicy Resource. +// implemented by the user +type LoadBalancerPolicyReconciler interface { + ReconcileLoadBalancerPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the LoadBalancerPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type LoadBalancerPolicyDeletionReconciler interface { + ReconcileLoadBalancerPolicyDeletion(req reconcile.Request) error +} + +type LoadBalancerPolicyReconcilerFuncs struct { + OnReconcileLoadBalancerPolicy func(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) (reconcile.Result, error) + OnReconcileLoadBalancerPolicyDeletion func(req reconcile.Request) error +} + +func (f *LoadBalancerPolicyReconcilerFuncs) ReconcileLoadBalancerPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) (reconcile.Result, error) { + if f.OnReconcileLoadBalancerPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileLoadBalancerPolicy(obj) +} + +func (f *LoadBalancerPolicyReconcilerFuncs) ReconcileLoadBalancerPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileLoadBalancerPolicyDeletion == nil { + return nil + } + return f.OnReconcileLoadBalancerPolicyDeletion(req) +} + +// Reconcile and finalize the LoadBalancerPolicy Resource +// implemented by the user +type LoadBalancerPolicyFinalizer interface { + LoadBalancerPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + LoadBalancerPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeLoadBalancerPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) error +} + +type LoadBalancerPolicyReconcileLoop interface { + RunLoadBalancerPolicyReconciler(ctx context.Context, rec LoadBalancerPolicyReconciler, predicates ...predicate.Predicate) error +} + +type loadBalancerPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewLoadBalancerPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) LoadBalancerPolicyReconcileLoop { + return &loadBalancerPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy{}, options), + } +} + +func (c *loadBalancerPolicyReconcileLoop) RunLoadBalancerPolicyReconciler(ctx context.Context, reconciler LoadBalancerPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericLoadBalancerPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(LoadBalancerPolicyFinalizer); ok { + reconcilerWrapper = genericLoadBalancerPolicyFinalizer{ + genericLoadBalancerPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericLoadBalancerPolicyHandler implements a generic reconcile.Reconciler +type genericLoadBalancerPolicyReconciler struct { + reconciler LoadBalancerPolicyReconciler +} + +func (r genericLoadBalancerPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: LoadBalancerPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileLoadBalancerPolicy(obj) +} + +func (r genericLoadBalancerPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(LoadBalancerPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileLoadBalancerPolicyDeletion(request) + } + return nil +} + +// genericLoadBalancerPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericLoadBalancerPolicyFinalizer struct { + genericLoadBalancerPolicyReconciler + finalizingReconciler LoadBalancerPolicyFinalizer +} + +func (r genericLoadBalancerPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.LoadBalancerPolicyFinalizerName() +} + +func (r genericLoadBalancerPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) + if !ok { + return errors.Errorf("internal error: LoadBalancerPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeLoadBalancerPolicy(obj) +} + +// Reconcile Upsert events for the ProxyProtocolPolicy Resource. +// implemented by the user +type ProxyProtocolPolicyReconciler interface { + ReconcileProxyProtocolPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the ProxyProtocolPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type ProxyProtocolPolicyDeletionReconciler interface { + ReconcileProxyProtocolPolicyDeletion(req reconcile.Request) error +} + +type ProxyProtocolPolicyReconcilerFuncs struct { + OnReconcileProxyProtocolPolicy func(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) (reconcile.Result, error) + OnReconcileProxyProtocolPolicyDeletion func(req reconcile.Request) error +} + +func (f *ProxyProtocolPolicyReconcilerFuncs) ReconcileProxyProtocolPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) (reconcile.Result, error) { + if f.OnReconcileProxyProtocolPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileProxyProtocolPolicy(obj) +} + +func (f *ProxyProtocolPolicyReconcilerFuncs) ReconcileProxyProtocolPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileProxyProtocolPolicyDeletion == nil { + return nil + } + return f.OnReconcileProxyProtocolPolicyDeletion(req) +} + +// Reconcile and finalize the ProxyProtocolPolicy Resource +// implemented by the user +type ProxyProtocolPolicyFinalizer interface { + ProxyProtocolPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + ProxyProtocolPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeProxyProtocolPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) error +} + +type ProxyProtocolPolicyReconcileLoop interface { + RunProxyProtocolPolicyReconciler(ctx context.Context, rec ProxyProtocolPolicyReconciler, predicates ...predicate.Predicate) error +} + +type proxyProtocolPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewProxyProtocolPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) ProxyProtocolPolicyReconcileLoop { + return &proxyProtocolPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy{}, options), + } +} + +func (c *proxyProtocolPolicyReconcileLoop) RunProxyProtocolPolicyReconciler(ctx context.Context, reconciler ProxyProtocolPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericProxyProtocolPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(ProxyProtocolPolicyFinalizer); ok { + reconcilerWrapper = genericProxyProtocolPolicyFinalizer{ + genericProxyProtocolPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericProxyProtocolPolicyHandler implements a generic reconcile.Reconciler +type genericProxyProtocolPolicyReconciler struct { + reconciler ProxyProtocolPolicyReconciler +} + +func (r genericProxyProtocolPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: ProxyProtocolPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileProxyProtocolPolicy(obj) +} + +func (r genericProxyProtocolPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(ProxyProtocolPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileProxyProtocolPolicyDeletion(request) + } + return nil +} + +// genericProxyProtocolPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericProxyProtocolPolicyFinalizer struct { + genericProxyProtocolPolicyReconciler + finalizingReconciler ProxyProtocolPolicyFinalizer +} + +func (r genericProxyProtocolPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.ProxyProtocolPolicyFinalizerName() +} + +func (r genericProxyProtocolPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) + if !ok { + return errors.Errorf("internal error: ProxyProtocolPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeProxyProtocolPolicy(obj) +} + +// Reconcile Upsert events for the HTTPBufferPolicy Resource. +// implemented by the user +type HTTPBufferPolicyReconciler interface { + ReconcileHTTPBufferPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) (reconcile.Result, error) +} + +// Reconcile deletion events for the HTTPBufferPolicy Resource. +// Deletion receives a reconcile.Request as we cannot guarantee the last state of the object +// before being deleted. +// implemented by the user +type HTTPBufferPolicyDeletionReconciler interface { + ReconcileHTTPBufferPolicyDeletion(req reconcile.Request) error +} + +type HTTPBufferPolicyReconcilerFuncs struct { + OnReconcileHTTPBufferPolicy func(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) (reconcile.Result, error) + OnReconcileHTTPBufferPolicyDeletion func(req reconcile.Request) error +} + +func (f *HTTPBufferPolicyReconcilerFuncs) ReconcileHTTPBufferPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) (reconcile.Result, error) { + if f.OnReconcileHTTPBufferPolicy == nil { + return reconcile.Result{}, nil + } + return f.OnReconcileHTTPBufferPolicy(obj) +} + +func (f *HTTPBufferPolicyReconcilerFuncs) ReconcileHTTPBufferPolicyDeletion(req reconcile.Request) error { + if f.OnReconcileHTTPBufferPolicyDeletion == nil { + return nil + } + return f.OnReconcileHTTPBufferPolicyDeletion(req) +} + +// Reconcile and finalize the HTTPBufferPolicy Resource +// implemented by the user +type HTTPBufferPolicyFinalizer interface { + HTTPBufferPolicyReconciler + + // name of the finalizer used by this handler. + // finalizer names should be unique for a single task + HTTPBufferPolicyFinalizerName() string + + // finalize the object before it is deleted. + // Watchers created with a finalizing handler will a + FinalizeHTTPBufferPolicy(obj *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) error +} + +type HTTPBufferPolicyReconcileLoop interface { + RunHTTPBufferPolicyReconciler(ctx context.Context, rec HTTPBufferPolicyReconciler, predicates ...predicate.Predicate) error +} + +type hTTPBufferPolicyReconcileLoop struct { + loop reconcile.Loop +} + +func NewHTTPBufferPolicyReconcileLoop(name string, mgr manager.Manager, options reconcile.Options) HTTPBufferPolicyReconcileLoop { + return &hTTPBufferPolicyReconcileLoop{ + // empty cluster indicates this reconciler is built for the local cluster + loop: reconcile.NewLoop(name, "", mgr, &trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy{}, options), + } +} + +func (c *hTTPBufferPolicyReconcileLoop) RunHTTPBufferPolicyReconciler(ctx context.Context, reconciler HTTPBufferPolicyReconciler, predicates ...predicate.Predicate) error { + genericReconciler := genericHTTPBufferPolicyReconciler{ + reconciler: reconciler, + } + + var reconcilerWrapper reconcile.Reconciler + if finalizingReconciler, ok := reconciler.(HTTPBufferPolicyFinalizer); ok { + reconcilerWrapper = genericHTTPBufferPolicyFinalizer{ + genericHTTPBufferPolicyReconciler: genericReconciler, + finalizingReconciler: finalizingReconciler, + } + } else { + reconcilerWrapper = genericReconciler + } + return c.loop.RunReconciler(ctx, reconcilerWrapper, predicates...) +} + +// genericHTTPBufferPolicyHandler implements a generic reconcile.Reconciler +type genericHTTPBufferPolicyReconciler struct { + reconciler HTTPBufferPolicyReconciler +} + +func (r genericHTTPBufferPolicyReconciler) Reconcile(object ezkube.Object) (reconcile.Result, error) { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) + if !ok { + return reconcile.Result{}, errors.Errorf("internal error: HTTPBufferPolicy handler received event for %T", object) + } + return r.reconciler.ReconcileHTTPBufferPolicy(obj) +} + +func (r genericHTTPBufferPolicyReconciler) ReconcileDeletion(request reconcile.Request) error { + if deletionReconciler, ok := r.reconciler.(HTTPBufferPolicyDeletionReconciler); ok { + return deletionReconciler.ReconcileHTTPBufferPolicyDeletion(request) + } + return nil +} + +// genericHTTPBufferPolicyFinalizer implements a generic reconcile.FinalizingReconciler +type genericHTTPBufferPolicyFinalizer struct { + genericHTTPBufferPolicyReconciler + finalizingReconciler HTTPBufferPolicyFinalizer +} + +func (r genericHTTPBufferPolicyFinalizer) FinalizerName() string { + return r.finalizingReconciler.HTTPBufferPolicyFinalizerName() +} + +func (r genericHTTPBufferPolicyFinalizer) Finalize(object ezkube.Object) error { + obj, ok := object.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) + if !ok { + return errors.Errorf("internal error: HTTPBufferPolicy handler received event for %T", object) + } + return r.finalizingReconciler.FinalizeHTTPBufferPolicy(obj) +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/doc.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/doc.go new file mode 100644 index 000000000..7d390e709 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/doc.go @@ -0,0 +1,6 @@ +// Code generated by skv2. DO NOT EDIT. + +// Package v2 contains API Schema definitions for the trafficcontrol.policy.gloo.solo.io v2 API group +// +k8s:deepcopy-gen=package,register +// +groupName=trafficcontrol.policy.gloo.solo.io +package v2 diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/header_manipulation.pb.clone.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/header_manipulation.pb.clone.go new file mode 100644 index 000000000..9090cfbf8 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/header_manipulation.pb.clone.go @@ -0,0 +1,174 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/header_manipulation.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *HeaderManipulationPolicySpec) Clone() proto.Message { + var target *HeaderManipulationPolicySpec + if m == nil { + return target + } + target = &HeaderManipulationPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*HeaderManipulationPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*HeaderManipulationPolicySpec_Config) + } + + if m.GetApplyToRouteDestinations() != nil { + target.ApplyToRouteDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteDestinationSelector, len(m.GetApplyToRouteDestinations())) + for idx, v := range m.GetApplyToRouteDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRouteDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteDestinationSelector) + } else { + target.ApplyToRouteDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteDestinationSelector) + } + + } + } + + return target +} + +// Clone function +func (m *HeaderManipulationPolicyStatus) Clone() proto.Message { + var target *HeaderManipulationPolicyStatus + if m == nil { + return target + } + target = &HeaderManipulationPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *HeaderManipulationPolicyReport) Clone() proto.Message { + var target *HeaderManipulationPolicyReport + if m == nil { + return target + } + target = &HeaderManipulationPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *HeaderManipulationPolicySpec_Config) Clone() proto.Message { + var target *HeaderManipulationPolicySpec_Config + if m == nil { + return target + } + target = &HeaderManipulationPolicySpec_Config{} + + if m.GetRemoveResponseHeaders() != nil { + target.RemoveResponseHeaders = make([]string, len(m.GetRemoveResponseHeaders())) + for idx, v := range m.GetRemoveResponseHeaders() { + + target.RemoveResponseHeaders[idx] = v + + } + } + + if m.GetAppendResponseHeaders() != nil { + target.AppendResponseHeaders = make(map[string]string, len(m.GetAppendResponseHeaders())) + for k, v := range m.GetAppendResponseHeaders() { + + target.AppendResponseHeaders[k] = v + + } + } + + if m.GetRemoveRequestHeaders() != nil { + target.RemoveRequestHeaders = make([]string, len(m.GetRemoveRequestHeaders())) + for idx, v := range m.GetRemoveRequestHeaders() { + + target.RemoveRequestHeaders[idx] = v + + } + } + + if m.GetAppendRequestHeaders() != nil { + target.AppendRequestHeaders = make(map[string]string, len(m.GetAppendRequestHeaders())) + for k, v := range m.GetAppendRequestHeaders() { + + target.AppendRequestHeaders[k] = v + + } + } + + return target +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/header_manipulation.pb.equal.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/header_manipulation.pb.equal.go new file mode 100644 index 000000000..ab92afab1 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/header_manipulation.pb.equal.go @@ -0,0 +1,258 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/header_manipulation.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *HeaderManipulationPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HeaderManipulationPolicySpec) + if !ok { + that2, ok := that.(HeaderManipulationPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + if len(m.GetApplyToRouteDestinations()) != len(target.GetApplyToRouteDestinations()) { + return false + } + for idx, v := range m.GetApplyToRouteDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRouteDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRouteDestinations()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *HeaderManipulationPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HeaderManipulationPolicyStatus) + if !ok { + that2, ok := that.(HeaderManipulationPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *HeaderManipulationPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HeaderManipulationPolicyReport) + if !ok { + that2, ok := that.(HeaderManipulationPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *HeaderManipulationPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HeaderManipulationPolicySpec_Config) + if !ok { + that2, ok := that.(HeaderManipulationPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetRemoveResponseHeaders()) != len(target.GetRemoveResponseHeaders()) { + return false + } + for idx, v := range m.GetRemoveResponseHeaders() { + + if strings.Compare(v, target.GetRemoveResponseHeaders()[idx]) != 0 { + return false + } + + } + + if len(m.GetAppendResponseHeaders()) != len(target.GetAppendResponseHeaders()) { + return false + } + for k, v := range m.GetAppendResponseHeaders() { + + if strings.Compare(v, target.GetAppendResponseHeaders()[k]) != 0 { + return false + } + + } + + if len(m.GetRemoveRequestHeaders()) != len(target.GetRemoveRequestHeaders()) { + return false + } + for idx, v := range m.GetRemoveRequestHeaders() { + + if strings.Compare(v, target.GetRemoveRequestHeaders()[idx]) != 0 { + return false + } + + } + + if len(m.GetAppendRequestHeaders()) != len(target.GetAppendRequestHeaders()) { + return false + } + for k, v := range m.GetAppendRequestHeaders() { + + if strings.Compare(v, target.GetAppendRequestHeaders()[k]) != 0 { + return false + } + + } + + return true +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/header_manipulation.pb.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/header_manipulation.pb.go new file mode 100644 index 000000000..79e77738d --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/header_manipulation.pb.go @@ -0,0 +1,529 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/header_manipulation.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// HeaderManipulationPolicy is used to transform HTTP requests and responses matching selected routes. +// TransformationPolicies are applied at the *Route* level. +// If no selectors are provided, will apply to all routes in the workspace. +type HeaderManipulationPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // select the routes where the policy will be applied + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // The details of the transformation policy to apply to the selected routes or destinations for a given route. + Config *HeaderManipulationPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` + // Select routes' destinations where the policy will be applied. + // This field is intended for when the config should be applied to a `forwardTo` route only when + // it is forwarded to a subset of the route's backing destinations. + ApplyToRouteDestinations []*v2.RouteDestinationSelector `protobuf:"bytes,3,rep,name=apply_to_route_destinations,json=applyToRouteDestinations,proto3" json:"apply_to_route_destinations,omitempty"` +} + +func (x *HeaderManipulationPolicySpec) Reset() { + *x = HeaderManipulationPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HeaderManipulationPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HeaderManipulationPolicySpec) ProtoMessage() {} + +func (x *HeaderManipulationPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HeaderManipulationPolicySpec.ProtoReflect.Descriptor instead. +func (*HeaderManipulationPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDescGZIP(), []int{0} +} + +func (x *HeaderManipulationPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *HeaderManipulationPolicySpec) GetConfig() *HeaderManipulationPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +func (x *HeaderManipulationPolicySpec) GetApplyToRouteDestinations() []*v2.RouteDestinationSelector { + if x != nil { + return x.ApplyToRouteDestinations + } + return nil +} + +type HeaderManipulationPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of routes selected by this policy. + NumSelectedRoutes uint32 `protobuf:"varint,2,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *HeaderManipulationPolicyStatus) Reset() { + *x = HeaderManipulationPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HeaderManipulationPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HeaderManipulationPolicyStatus) ProtoMessage() {} + +func (x *HeaderManipulationPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HeaderManipulationPolicyStatus.ProtoReflect.Descriptor instead. +func (*HeaderManipulationPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDescGZIP(), []int{1} +} + +func (x *HeaderManipulationPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *HeaderManipulationPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type HeaderManipulationPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status of the resource in each workspace that it exists in. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of references to all routes selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *HeaderManipulationPolicyReport) Reset() { + *x = HeaderManipulationPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HeaderManipulationPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HeaderManipulationPolicyReport) ProtoMessage() {} + +func (x *HeaderManipulationPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HeaderManipulationPolicyReport.ProtoReflect.Descriptor instead. +func (*HeaderManipulationPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDescGZIP(), []int{2} +} + +func (x *HeaderManipulationPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *HeaderManipulationPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +type HeaderManipulationPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // HTTP headers to remove before returning a response to the caller. + RemoveResponseHeaders []string `protobuf:"bytes,1,rep,name=remove_response_headers,json=removeResponseHeaders,proto3" json:"remove_response_headers,omitempty"` + // Additional HTTP headers to add before returning a response to the caller. + AppendResponseHeaders map[string]string `protobuf:"bytes,2,rep,name=append_response_headers,json=appendResponseHeaders,proto3" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // HTTP headers to remove before forwarding a request to the destination service. + RemoveRequestHeaders []string `protobuf:"bytes,3,rep,name=remove_request_headers,json=removeRequestHeaders,proto3" json:"remove_request_headers,omitempty"` + // Additional HTTP headers to add before forwarding a request to the destination service. + AppendRequestHeaders map[string]string `protobuf:"bytes,4,rep,name=append_request_headers,json=appendRequestHeaders,proto3" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *HeaderManipulationPolicySpec_Config) Reset() { + *x = HeaderManipulationPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HeaderManipulationPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HeaderManipulationPolicySpec_Config) ProtoMessage() {} + +func (x *HeaderManipulationPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HeaderManipulationPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*HeaderManipulationPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *HeaderManipulationPolicySpec_Config) GetRemoveResponseHeaders() []string { + if x != nil { + return x.RemoveResponseHeaders + } + return nil +} + +func (x *HeaderManipulationPolicySpec_Config) GetAppendResponseHeaders() map[string]string { + if x != nil { + return x.AppendResponseHeaders + } + return nil +} + +func (x *HeaderManipulationPolicySpec_Config) GetRemoveRequestHeaders() []string { + if x != nil { + return x.RemoveRequestHeaders + } + return nil +} + +func (x *HeaderManipulationPolicySpec_Config) GetAppendRequestHeaders() map[string]string { + if x != nil { + return x.AppendRequestHeaders + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDesc = []byte{ + 0x0a, 0x6b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x70, + 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x74, + 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x06, 0x0a, 0x1c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, + 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x12, 0x5f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x47, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x69, + 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x6c, 0x0a, 0x1b, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x18, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, + 0xc0, 0x04, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x9a, 0x01, 0x0a, 0x17, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x62, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x4d, 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x70, + 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x34, 0x0a, 0x16, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x14, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x16, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x61, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x61, 0x70, 0x70, 0x65, 0x6e, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, + 0x48, 0x0a, 0x1a, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x47, 0x0a, 0x19, 0x41, 0x70, 0x70, + 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x85, 0x01, 0x0a, 0x1e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x6e, + 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, + 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xbe, 0x02, 0x0a, 0x1e, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x72, 0x0a, + 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x52, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x6e, + 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, + 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x63, 0x5a, 0x55, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, + 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_goTypes = []interface{}{ + (*HeaderManipulationPolicySpec)(nil), // 0: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicySpec + (*HeaderManipulationPolicyStatus)(nil), // 1: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicyStatus + (*HeaderManipulationPolicyReport)(nil), // 2: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicyReport + (*HeaderManipulationPolicySpec_Config)(nil), // 3: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicySpec.Config + nil, // 4: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicySpec.Config.AppendResponseHeadersEntry + nil, // 5: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicySpec.Config.AppendRequestHeadersEntry + nil, // 6: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 7: common.gloo.solo.io.RouteSelector + (*v2.RouteDestinationSelector)(nil), // 8: common.gloo.solo.io.RouteDestinationSelector + (*v2.Status)(nil), // 9: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 10: common.gloo.solo.io.RouteReference + (*v2.Report)(nil), // 11: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_depIdxs = []int32{ + 7, // 0: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 3, // 1: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicySpec.config:type_name -> trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicySpec.Config + 8, // 2: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicySpec.apply_to_route_destinations:type_name -> common.gloo.solo.io.RouteDestinationSelector + 9, // 3: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 6, // 4: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicyReport.workspaces:type_name -> trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicyReport.WorkspacesEntry + 10, // 5: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 4, // 6: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicySpec.Config.append_response_headers:type_name -> trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicySpec.Config.AppendResponseHeadersEntry + 5, // 7: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicySpec.Config.append_request_headers:type_name -> trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicySpec.Config.AppendRequestHeadersEntry + 11, // 8: trafficcontrol.policy.gloo.solo.io.HeaderManipulationPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HeaderManipulationPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HeaderManipulationPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HeaderManipulationPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HeaderManipulationPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_header_manipulation_proto_depIdxs = nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/header_manipulation.pb.hash.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/header_manipulation.pb.hash.go new file mode 100644 index 000000000..eae0f7044 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/header_manipulation.pb.hash.go @@ -0,0 +1,308 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/header_manipulation.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *HeaderManipulationPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.HeaderManipulationPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + for _, v := range m.GetApplyToRouteDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HeaderManipulationPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.HeaderManipulationPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HeaderManipulationPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.HeaderManipulationPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HeaderManipulationPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.HeaderManipulationPolicySpec_Config")); err != nil { + return 0, err + } + + for _, v := range m.GetRemoveResponseHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAppendResponseHeaders() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetRemoveRequestHeaders() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetAppendRequestHeaders() { + innerHash.Reset() + + if _, err = innerHash.Write([]byte(v)); err != nil { + return 0, err + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/http_buffer_policy.pb.clone.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/http_buffer_policy.pb.clone.go new file mode 100644 index 000000000..cc97797b0 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/http_buffer_policy.pb.clone.go @@ -0,0 +1,133 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/http_buffer_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *HTTPBufferPolicySpec) Clone() proto.Message { + var target *HTTPBufferPolicySpec + if m == nil { + return target + } + target = &HTTPBufferPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*HTTPBufferPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*HTTPBufferPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *HTTPBufferPolicyStatus) Clone() proto.Message { + var target *HTTPBufferPolicyStatus + if m == nil { + return target + } + target = &HTTPBufferPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *HTTPBufferPolicyReport) Clone() proto.Message { + var target *HTTPBufferPolicyReport + if m == nil { + return target + } + target = &HTTPBufferPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *HTTPBufferPolicySpec_Config) Clone() proto.Message { + var target *HTTPBufferPolicySpec_Config + if m == nil { + return target + } + target = &HTTPBufferPolicySpec_Config{} + + if h, ok := interface{}(m.GetMaxRequestBytes()).(clone.Cloner); ok { + target.MaxRequestBytes = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } else { + target.MaxRequestBytes = proto.Clone(m.GetMaxRequestBytes()).(*github_com_golang_protobuf_ptypes_wrappers.UInt32Value) + } + + return target +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/http_buffer_policy.pb.equal.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/http_buffer_policy.pb.equal.go new file mode 100644 index 000000000..d59c1feaa --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/http_buffer_policy.pb.equal.go @@ -0,0 +1,207 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/http_buffer_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *HTTPBufferPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HTTPBufferPolicySpec) + if !ok { + that2, ok := that.(HTTPBufferPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *HTTPBufferPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HTTPBufferPolicyStatus) + if !ok { + that2, ok := that.(HTTPBufferPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *HTTPBufferPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HTTPBufferPolicyReport) + if !ok { + that2, ok := that.(HTTPBufferPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *HTTPBufferPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*HTTPBufferPolicySpec_Config) + if !ok { + that2, ok := that.(HTTPBufferPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetMaxRequestBytes()).(equality.Equalizer); ok { + if !h.Equal(target.GetMaxRequestBytes()) { + return false + } + } else { + if !proto.Equal(m.GetMaxRequestBytes(), target.GetMaxRequestBytes()) { + return false + } + } + + return true +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/http_buffer_policy.pb.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/http_buffer_policy.pb.go new file mode 100644 index 000000000..b2f04c903 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/http_buffer_policy.pb.go @@ -0,0 +1,465 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/http_buffer_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// HTTPBufferPolicy is used to enable http buffers for routes +// +// For more details on HTTPBuffer, visit: +// https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/buffer_filter +// +// ``` +// apiVersion: trafficcontrol.policy.gloo.solo.io/v2 +// kind: HTTPBufferPolicy +// metadata: +// +// name: buffer +// namespace: bookinfo +// +// spec: +// +// config: +// maxRequestBytes: 16384 +// applyToRoutes: +// - route: +// labels: +// route: productpage +// +// ``` +type HTTPBufferPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + Config *HTTPBufferPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *HTTPBufferPolicySpec) Reset() { + *x = HTTPBufferPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HTTPBufferPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HTTPBufferPolicySpec) ProtoMessage() {} + +func (x *HTTPBufferPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HTTPBufferPolicySpec.ProtoReflect.Descriptor instead. +func (*HTTPBufferPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *HTTPBufferPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *HTTPBufferPolicySpec) GetConfig() *HTTPBufferPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type HTTPBufferPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of routes selected by the policy. + NumSelectedRoutes uint32 `protobuf:"varint,2,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *HTTPBufferPolicyStatus) Reset() { + *x = HTTPBufferPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HTTPBufferPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HTTPBufferPolicyStatus) ProtoMessage() {} + +func (x *HTTPBufferPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HTTPBufferPolicyStatus.ProtoReflect.Descriptor instead. +func (*HTTPBufferPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *HTTPBufferPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *HTTPBufferPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type HTTPBufferPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of references to all routes selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *HTTPBufferPolicyReport) Reset() { + *x = HTTPBufferPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HTTPBufferPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HTTPBufferPolicyReport) ProtoMessage() {} + +func (x *HTTPBufferPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HTTPBufferPolicyReport.ProtoReflect.Descriptor instead. +func (*HTTPBufferPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *HTTPBufferPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *HTTPBufferPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +type HTTPBufferPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The maximum request size that the filter will buffer before + // the connection manager will stop buffering and return a 413 + // response + MaxRequestBytes *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_request_bytes,json=maxRequestBytes,proto3" json:"max_request_bytes,omitempty"` +} + +func (x *HTTPBufferPolicySpec_Config) Reset() { + *x = HTTPBufferPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HTTPBufferPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HTTPBufferPolicySpec_Config) ProtoMessage() {} + +func (x *HTTPBufferPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HTTPBufferPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*HTTPBufferPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *HTTPBufferPolicySpec_Config) GetMaxRequestBytes() *wrappers.UInt32Value { + if x != nil { + return x.MaxRequestBytes + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDesc = []byte{ + 0x0a, 0x6a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x74, 0x72, + 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x02, 0x0a, 0x14, 0x48, 0x54, + 0x54, 0x50, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, + 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x57, + 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, + 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x52, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x48, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x7d, 0x0a, 0x16, 0x48, + 0x54, 0x54, 0x50, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, + 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xae, 0x02, 0x0a, 0x16, 0x48, + 0x54, 0x54, 0x50, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6a, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x74, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, + 0x54, 0x54, 0x50, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, + 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x63, 0x5a, 0x55, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, + 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_goTypes = []interface{}{ + (*HTTPBufferPolicySpec)(nil), // 0: trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicySpec + (*HTTPBufferPolicyStatus)(nil), // 1: trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicyStatus + (*HTTPBufferPolicyReport)(nil), // 2: trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicyReport + (*HTTPBufferPolicySpec_Config)(nil), // 3: trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicySpec.Config + nil, // 4: trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 5: common.gloo.solo.io.RouteSelector + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 7: common.gloo.solo.io.RouteReference + (*wrappers.UInt32Value)(nil), // 8: google.protobuf.UInt32Value + (*v2.Report)(nil), // 9: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_depIdxs = []int32{ + 5, // 0: trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 3, // 1: trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicySpec.config:type_name -> trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicySpec.Config + 6, // 2: trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicyReport.workspaces:type_name -> trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicyReport.WorkspacesEntry + 7, // 4: trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 8, // 5: trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicySpec.Config.max_request_bytes:type_name -> google.protobuf.UInt32Value + 9, // 6: trafficcontrol.policy.gloo.solo.io.HTTPBufferPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HTTPBufferPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HTTPBufferPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HTTPBufferPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HTTPBufferPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_http_buffer_policy_proto_depIdxs = nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/http_buffer_policy.pb.hash.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/http_buffer_policy.pb.hash.go new file mode 100644 index 000000000..8e30fb0bb --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/http_buffer_policy.pb.hash.go @@ -0,0 +1,242 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/http_buffer_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *HTTPBufferPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.HTTPBufferPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HTTPBufferPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.HTTPBufferPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HTTPBufferPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.HTTPBufferPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *HTTPBufferPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.HTTPBufferPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetMaxRequestBytes()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("MaxRequestBytes")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetMaxRequestBytes(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("MaxRequestBytes")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/json.gen.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/json.gen.go new file mode 100644 index 000000000..cd63cd355 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/json.gen.go @@ -0,0 +1,204 @@ +// Code generated by skv2. DO NOT EDIT. + +// Generated json marshal and unmarshal functions + +package v2 + +import ( + bytes "bytes" + fmt "fmt" + math "math" + + jsonpb "github.com/golang/protobuf/jsonpb" + proto "github.com/golang/protobuf/proto" + skv2jsonpb "github.com/solo-io/skv2/pkg/kube_jsonpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +var ( + marshaller = &skv2jsonpb.Marshaler{} + unmarshaller = &jsonpb.Unmarshaler{ + AllowUnknownFields: true, + } + strictUnmarshaller = &jsonpb.Unmarshaler{} +) + +// MarshalJSON is a custom marshaler for MirrorPolicySpec +func (this *MirrorPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for MirrorPolicySpec +func (this *MirrorPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for MirrorPolicyStatus +func (this *MirrorPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for MirrorPolicyStatus +func (this *MirrorPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RateLimitPolicySpec +func (this *RateLimitPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RateLimitPolicySpec +func (this *RateLimitPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RateLimitPolicyStatus +func (this *RateLimitPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RateLimitPolicyStatus +func (this *RateLimitPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RateLimitClientConfigSpec +func (this *RateLimitClientConfigSpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RateLimitClientConfigSpec +func (this *RateLimitClientConfigSpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for RateLimitClientConfigStatus +func (this *RateLimitClientConfigStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for RateLimitClientConfigStatus +func (this *RateLimitClientConfigStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for HeaderManipulationPolicySpec +func (this *HeaderManipulationPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for HeaderManipulationPolicySpec +func (this *HeaderManipulationPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for HeaderManipulationPolicyStatus +func (this *HeaderManipulationPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for HeaderManipulationPolicyStatus +func (this *HeaderManipulationPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for TransformationPolicySpec +func (this *TransformationPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for TransformationPolicySpec +func (this *TransformationPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for TransformationPolicyStatus +func (this *TransformationPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for TransformationPolicyStatus +func (this *TransformationPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for LoadBalancerPolicySpec +func (this *LoadBalancerPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for LoadBalancerPolicySpec +func (this *LoadBalancerPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for LoadBalancerPolicyStatus +func (this *LoadBalancerPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for LoadBalancerPolicyStatus +func (this *LoadBalancerPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ProxyProtocolPolicySpec +func (this *ProxyProtocolPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ProxyProtocolPolicySpec +func (this *ProxyProtocolPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for ProxyProtocolPolicyStatus +func (this *ProxyProtocolPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ProxyProtocolPolicyStatus +func (this *ProxyProtocolPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for HTTPBufferPolicySpec +func (this *HTTPBufferPolicySpec) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for HTTPBufferPolicySpec +func (this *HTTPBufferPolicySpec) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for HTTPBufferPolicyStatus +func (this *HTTPBufferPolicyStatus) MarshalJSON() ([]byte, error) { + str, err := marshaller.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for HTTPBufferPolicyStatus +func (this *HTTPBufferPolicyStatus) UnmarshalJSON(b []byte) error { + return unmarshaller.Unmarshal(bytes.NewReader(b), this) +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/load_balancer_policy.pb.clone.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/load_balancer_policy.pb.clone.go new file mode 100644 index 000000000..6bab7a6b2 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/load_balancer_policy.pb.clone.go @@ -0,0 +1,235 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/load_balancer_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_duration "github.com/golang/protobuf/ptypes/duration" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *LoadBalancerPolicySpec) Clone() proto.Message { + var target *LoadBalancerPolicySpec + if m == nil { + return target + } + target = &LoadBalancerPolicySpec{} + + if m.GetApplyToDestinations() != nil { + target.ApplyToDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector, len(m.GetApplyToDestinations())) + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.ApplyToDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*LoadBalancerPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*LoadBalancerPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *LoadBalancerPolicyStatus) Clone() proto.Message { + var target *LoadBalancerPolicyStatus + if m == nil { + return target + } + target = &LoadBalancerPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedDestinationPorts = m.GetNumSelectedDestinationPorts() + + return target +} + +// Clone function +func (m *LoadBalancerPolicyReport) Clone() proto.Message { + var target *LoadBalancerPolicyReport + if m == nil { + return target + } + target = &LoadBalancerPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedDestinationPorts() != nil { + target.SelectedDestinationPorts = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetSelectedDestinationPorts())) + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedDestinationPorts[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.SelectedDestinationPorts[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + return target +} + +// Clone function +func (m *LoadBalancerPolicySpec_Config) Clone() proto.Message { + var target *LoadBalancerPolicySpec_Config + if m == nil { + return target + } + target = &LoadBalancerPolicySpec_Config{} + + if h, ok := interface{}(m.GetWarmupDurationSecs()).(clone.Cloner); ok { + target.WarmupDurationSecs = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.WarmupDurationSecs = proto.Clone(m.GetWarmupDurationSecs()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + if h, ok := interface{}(m.GetHealthyPanicThreshold()).(clone.Cloner); ok { + target.HealthyPanicThreshold = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.DoubleValue) + } else { + target.HealthyPanicThreshold = proto.Clone(m.GetHealthyPanicThreshold()).(*github_com_golang_protobuf_ptypes_wrappers.DoubleValue) + } + + if h, ok := interface{}(m.GetUpdateMergeWindow()).(clone.Cloner); ok { + target.UpdateMergeWindow = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.UpdateMergeWindow = proto.Clone(m.GetUpdateMergeWindow()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + switch m.LbPolicy.(type) { + + case *LoadBalancerPolicySpec_Config_Simple: + + target.LbPolicy = &LoadBalancerPolicySpec_Config_Simple{ + Simple: m.GetSimple(), + } + + case *LoadBalancerPolicySpec_Config_ConsistentHash: + + if h, ok := interface{}(m.GetConsistentHash()).(clone.Cloner); ok { + target.LbPolicy = &LoadBalancerPolicySpec_Config_ConsistentHash{ + ConsistentHash: h.Clone().(*LoadBalancerPolicySpec_Config_ConsistentHashLB), + } + } else { + target.LbPolicy = &LoadBalancerPolicySpec_Config_ConsistentHash{ + ConsistentHash: proto.Clone(m.GetConsistentHash()).(*LoadBalancerPolicySpec_Config_ConsistentHashLB), + } + } + + } + + return target +} + +// Clone function +func (m *LoadBalancerPolicySpec_Config_ConsistentHashLB) Clone() proto.Message { + var target *LoadBalancerPolicySpec_Config_ConsistentHashLB + if m == nil { + return target + } + target = &LoadBalancerPolicySpec_Config_ConsistentHashLB{} + + switch m.HashKey.(type) { + + case *LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpHeaderName: + + target.HashKey = &LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpHeaderName{ + HttpHeaderName: m.GetHttpHeaderName(), + } + + case *LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpCookie: + + if h, ok := interface{}(m.GetHttpCookie()).(clone.Cloner); ok { + target.HashKey = &LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpCookie{ + HttpCookie: h.Clone().(*LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie), + } + } else { + target.HashKey = &LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpCookie{ + HttpCookie: proto.Clone(m.GetHttpCookie()).(*LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie), + } + } + + case *LoadBalancerPolicySpec_Config_ConsistentHashLB_UseSourceIp: + + target.HashKey = &LoadBalancerPolicySpec_Config_ConsistentHashLB_UseSourceIp{ + UseSourceIp: m.GetUseSourceIp(), + } + + case *LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpQueryParameterName: + + target.HashKey = &LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpQueryParameterName{ + HttpQueryParameterName: m.GetHttpQueryParameterName(), + } + + } + + return target +} + +// Clone function +func (m *LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) Clone() proto.Message { + var target *LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie + if m == nil { + return target + } + target = &LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie{} + + target.Name = m.GetName() + + target.Path = m.GetPath() + + if h, ok := interface{}(m.GetTtl()).(clone.Cloner); ok { + target.Ttl = h.Clone().(*github_com_golang_protobuf_ptypes_duration.Duration) + } else { + target.Ttl = proto.Clone(m.GetTtl()).(*github_com_golang_protobuf_ptypes_duration.Duration) + } + + return target +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/load_balancer_policy.pb.equal.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/load_balancer_policy.pb.equal.go new file mode 100644 index 000000000..1ad03a9b9 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/load_balancer_policy.pb.equal.go @@ -0,0 +1,377 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/load_balancer_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *LoadBalancerPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*LoadBalancerPolicySpec) + if !ok { + that2, ok := that.(LoadBalancerPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToDestinations()) != len(target.GetApplyToDestinations()) { + return false + } + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToDestinations()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *LoadBalancerPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*LoadBalancerPolicyStatus) + if !ok { + that2, ok := that.(LoadBalancerPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedDestinationPorts() != target.GetNumSelectedDestinationPorts() { + return false + } + + return true +} + +// Equal function +func (m *LoadBalancerPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*LoadBalancerPolicyReport) + if !ok { + that2, ok := that.(LoadBalancerPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedDestinationPorts()) != len(target.GetSelectedDestinationPorts()) { + return false + } + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedDestinationPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedDestinationPorts()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *LoadBalancerPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*LoadBalancerPolicySpec_Config) + if !ok { + that2, ok := that.(LoadBalancerPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetWarmupDurationSecs()).(equality.Equalizer); ok { + if !h.Equal(target.GetWarmupDurationSecs()) { + return false + } + } else { + if !proto.Equal(m.GetWarmupDurationSecs(), target.GetWarmupDurationSecs()) { + return false + } + } + + if h, ok := interface{}(m.GetHealthyPanicThreshold()).(equality.Equalizer); ok { + if !h.Equal(target.GetHealthyPanicThreshold()) { + return false + } + } else { + if !proto.Equal(m.GetHealthyPanicThreshold(), target.GetHealthyPanicThreshold()) { + return false + } + } + + if h, ok := interface{}(m.GetUpdateMergeWindow()).(equality.Equalizer); ok { + if !h.Equal(target.GetUpdateMergeWindow()) { + return false + } + } else { + if !proto.Equal(m.GetUpdateMergeWindow(), target.GetUpdateMergeWindow()) { + return false + } + } + + switch m.LbPolicy.(type) { + + case *LoadBalancerPolicySpec_Config_Simple: + if _, ok := target.LbPolicy.(*LoadBalancerPolicySpec_Config_Simple); !ok { + return false + } + + if m.GetSimple() != target.GetSimple() { + return false + } + + case *LoadBalancerPolicySpec_Config_ConsistentHash: + if _, ok := target.LbPolicy.(*LoadBalancerPolicySpec_Config_ConsistentHash); !ok { + return false + } + + if h, ok := interface{}(m.GetConsistentHash()).(equality.Equalizer); ok { + if !h.Equal(target.GetConsistentHash()) { + return false + } + } else { + if !proto.Equal(m.GetConsistentHash(), target.GetConsistentHash()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.LbPolicy != target.LbPolicy { + return false + } + } + + return true +} + +// Equal function +func (m *LoadBalancerPolicySpec_Config_ConsistentHashLB) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*LoadBalancerPolicySpec_Config_ConsistentHashLB) + if !ok { + that2, ok := that.(LoadBalancerPolicySpec_Config_ConsistentHashLB) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.HashKey.(type) { + + case *LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpHeaderName: + if _, ok := target.HashKey.(*LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpHeaderName); !ok { + return false + } + + if strings.Compare(m.GetHttpHeaderName(), target.GetHttpHeaderName()) != 0 { + return false + } + + case *LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpCookie: + if _, ok := target.HashKey.(*LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpCookie); !ok { + return false + } + + if h, ok := interface{}(m.GetHttpCookie()).(equality.Equalizer); ok { + if !h.Equal(target.GetHttpCookie()) { + return false + } + } else { + if !proto.Equal(m.GetHttpCookie(), target.GetHttpCookie()) { + return false + } + } + + case *LoadBalancerPolicySpec_Config_ConsistentHashLB_UseSourceIp: + if _, ok := target.HashKey.(*LoadBalancerPolicySpec_Config_ConsistentHashLB_UseSourceIp); !ok { + return false + } + + if m.GetUseSourceIp() != target.GetUseSourceIp() { + return false + } + + case *LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpQueryParameterName: + if _, ok := target.HashKey.(*LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpQueryParameterName); !ok { + return false + } + + if strings.Compare(m.GetHttpQueryParameterName(), target.GetHttpQueryParameterName()) != 0 { + return false + } + + default: + // m is nil but target is not nil + if m.HashKey != target.HashKey { + return false + } + } + + return true +} + +// Equal function +func (m *LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) + if !ok { + that2, ok := that.(LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if strings.Compare(m.GetName(), target.GetName()) != 0 { + return false + } + + if strings.Compare(m.GetPath(), target.GetPath()) != 0 { + return false + } + + if h, ok := interface{}(m.GetTtl()).(equality.Equalizer); ok { + if !h.Equal(target.GetTtl()) { + return false + } + } else { + if !proto.Equal(m.GetTtl(), target.GetTtl()) { + return false + } + } + + return true +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/load_balancer_policy.pb.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/load_balancer_policy.pb.go new file mode 100644 index 000000000..b016a24fb --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/load_balancer_policy.pb.go @@ -0,0 +1,909 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/load_balancer_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + duration "github.com/golang/protobuf/ptypes/duration" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Standard load balancing algorithms that require no tuning. +type LoadBalancerPolicySpec_Config_SimpleLB int32 + +const ( + // No load balancing algorithm has been specified by the user. Istio + // will select an appropriate default. + LoadBalancerPolicySpec_Config_UNSPECIFIED LoadBalancerPolicySpec_Config_SimpleLB = 0 + // The random load balancer selects a random healthy host. The random + // load balancer generally performs better than round robin if no health + // checking policy is configured. + LoadBalancerPolicySpec_Config_RANDOM LoadBalancerPolicySpec_Config_SimpleLB = 1 + // This option will forward the connection to the original IP address + // requested by the caller without doing any form of load + // balancing. This option must be used with care. It is meant for + // advanced use cases. Refer to Original Destination load balancer in + // Envoy for further details. + LoadBalancerPolicySpec_Config_PASSTHROUGH LoadBalancerPolicySpec_Config_SimpleLB = 2 + // A basic round robin load balancing policy. This is generally unsafe + // for many scenarios (e.g. when endpoint weighting is used) as it can + // overburden endpoints. In general, we recommend using LEAST_REQUEST as a + // drop-in replacement for ROUND_ROBIN. + LoadBalancerPolicySpec_Config_ROUND_ROBIN LoadBalancerPolicySpec_Config_SimpleLB = 3 + // The least request load balancer spreads load across endpoints, favoring + // endpoints with the least outstanding requests. This is generally safer + // and outperforms ROUND_ROBIN in nearly all cases. Prefer to use + // LEAST_REQUEST as a drop-in replacement for ROUND_ROBIN. + LoadBalancerPolicySpec_Config_LEAST_REQUEST LoadBalancerPolicySpec_Config_SimpleLB = 4 +) + +// Enum value maps for LoadBalancerPolicySpec_Config_SimpleLB. +var ( + LoadBalancerPolicySpec_Config_SimpleLB_name = map[int32]string{ + 0: "UNSPECIFIED", + 1: "RANDOM", + 2: "PASSTHROUGH", + 3: "ROUND_ROBIN", + 4: "LEAST_REQUEST", + } + LoadBalancerPolicySpec_Config_SimpleLB_value = map[string]int32{ + "UNSPECIFIED": 0, + "RANDOM": 1, + "PASSTHROUGH": 2, + "ROUND_ROBIN": 3, + "LEAST_REQUEST": 4, + } +) + +func (x LoadBalancerPolicySpec_Config_SimpleLB) Enum() *LoadBalancerPolicySpec_Config_SimpleLB { + p := new(LoadBalancerPolicySpec_Config_SimpleLB) + *p = x + return p +} + +func (x LoadBalancerPolicySpec_Config_SimpleLB) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LoadBalancerPolicySpec_Config_SimpleLB) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_enumTypes[0].Descriptor() +} + +func (LoadBalancerPolicySpec_Config_SimpleLB) Type() protoreflect.EnumType { + return &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_enumTypes[0] +} + +func (x LoadBalancerPolicySpec_Config_SimpleLB) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LoadBalancerPolicySpec_Config_SimpleLB.Descriptor instead. +func (LoadBalancerPolicySpec_Config_SimpleLB) EnumDescriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +// LoadBalancerPolicy provides settings to configure traffic distribution among destination workloads. +type LoadBalancerPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApplyToDestinations []*v2.DestinationSelector `protobuf:"bytes,1,rep,name=apply_to_destinations,json=applyToDestinations,proto3" json:"apply_to_destinations,omitempty"` + Config *LoadBalancerPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *LoadBalancerPolicySpec) Reset() { + *x = LoadBalancerPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoadBalancerPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoadBalancerPolicySpec) ProtoMessage() {} + +func (x *LoadBalancerPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoadBalancerPolicySpec.ProtoReflect.Descriptor instead. +func (*LoadBalancerPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *LoadBalancerPolicySpec) GetApplyToDestinations() []*v2.DestinationSelector { + if x != nil { + return x.ApplyToDestinations + } + return nil +} + +func (x *LoadBalancerPolicySpec) GetConfig() *LoadBalancerPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment.Status +type LoadBalancerPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of destination ports selected by the policy. + NumSelectedDestinationPorts uint32 `protobuf:"varint,2,opt,name=num_selected_destination_ports,json=numSelectedDestinationPorts,proto3" json:"num_selected_destination_ports,omitempty"` +} + +func (x *LoadBalancerPolicyStatus) Reset() { + *x = LoadBalancerPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoadBalancerPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoadBalancerPolicyStatus) ProtoMessage() {} + +func (x *LoadBalancerPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoadBalancerPolicyStatus.ProtoReflect.Descriptor instead. +func (*LoadBalancerPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *LoadBalancerPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *LoadBalancerPolicyStatus) GetNumSelectedDestinationPorts() uint32 { + if x != nil { + return x.NumSelectedDestinationPorts + } + return 0 +} + +// Report on the state of the LoadBalancerPolicyReport +type LoadBalancerPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of workspaces in which the policy can apply to workloads. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Destination ports selected by the policy + SelectedDestinationPorts []*v2.DestinationReference `protobuf:"bytes,2,rep,name=selected_destination_ports,json=selectedDestinationPorts,proto3" json:"selected_destination_ports,omitempty"` +} + +func (x *LoadBalancerPolicyReport) Reset() { + *x = LoadBalancerPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoadBalancerPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoadBalancerPolicyReport) ProtoMessage() {} + +func (x *LoadBalancerPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoadBalancerPolicyReport.ProtoReflect.Descriptor instead. +func (*LoadBalancerPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *LoadBalancerPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *LoadBalancerPolicyReport) GetSelectedDestinationPorts() []*v2.DestinationReference { + if x != nil { + return x.SelectedDestinationPorts + } + return nil +} + +type LoadBalancerPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Upstream load balancing policy. + // + // Types that are assignable to LbPolicy: + // + // *LoadBalancerPolicySpec_Config_Simple + // *LoadBalancerPolicySpec_Config_ConsistentHash + LbPolicy isLoadBalancerPolicySpec_Config_LbPolicy `protobuf_oneof:"lb_policy"` + // Represents the warmup duration of Service. If set, the newly created endpoint of service + // remains in warmup mode starting from its creation time for the duration of this window and + // Istio progressively increases amount of traffic for that endpoint instead of sending proportional amount of traffic. + // This should be enabled for services that require warm up time to serve full production load with reasonable latency. + // Please note that this is most effective when few new endpoints come up like scale event in Kubernetes. When all the + // endpoints are relatively new like new deployment, this is not very effective as all endpoints end up getting same + // amount of requests. + // Currently this is only supported for ROUND_ROBIN and LEAST_REQUEST load balancers. + WarmupDurationSecs *duration.Duration `protobuf:"bytes,3,opt,name=warmup_duration_secs,json=warmupDurationSecs,proto3" json:"warmup_duration_secs,omitempty"` + // A threshold at which Envoy will disregard health status and balance either among all hosts or no hosts. + // If not specified, the default is 50%. To disable panic mode, set to 0%. + HealthyPanicThreshold *wrappers.DoubleValue `protobuf:"bytes,4,opt,name=healthy_panic_threshold,json=healthyPanicThreshold,proto3" json:"healthy_panic_threshold,omitempty"` + // Health check/weight/metadata updates that happen within this duration will be merged and delivered + // in one shot when the duration expires. + // If not specified, the default is 1000ms. To disable it, set the merge window to 0. + UpdateMergeWindow *duration.Duration `protobuf:"bytes,5,opt,name=update_merge_window,json=updateMergeWindow,proto3" json:"update_merge_window,omitempty"` +} + +func (x *LoadBalancerPolicySpec_Config) Reset() { + *x = LoadBalancerPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoadBalancerPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoadBalancerPolicySpec_Config) ProtoMessage() {} + +func (x *LoadBalancerPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoadBalancerPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*LoadBalancerPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (m *LoadBalancerPolicySpec_Config) GetLbPolicy() isLoadBalancerPolicySpec_Config_LbPolicy { + if m != nil { + return m.LbPolicy + } + return nil +} + +func (x *LoadBalancerPolicySpec_Config) GetSimple() LoadBalancerPolicySpec_Config_SimpleLB { + if x, ok := x.GetLbPolicy().(*LoadBalancerPolicySpec_Config_Simple); ok { + return x.Simple + } + return LoadBalancerPolicySpec_Config_UNSPECIFIED +} + +func (x *LoadBalancerPolicySpec_Config) GetConsistentHash() *LoadBalancerPolicySpec_Config_ConsistentHashLB { + if x, ok := x.GetLbPolicy().(*LoadBalancerPolicySpec_Config_ConsistentHash); ok { + return x.ConsistentHash + } + return nil +} + +func (x *LoadBalancerPolicySpec_Config) GetWarmupDurationSecs() *duration.Duration { + if x != nil { + return x.WarmupDurationSecs + } + return nil +} + +func (x *LoadBalancerPolicySpec_Config) GetHealthyPanicThreshold() *wrappers.DoubleValue { + if x != nil { + return x.HealthyPanicThreshold + } + return nil +} + +func (x *LoadBalancerPolicySpec_Config) GetUpdateMergeWindow() *duration.Duration { + if x != nil { + return x.UpdateMergeWindow + } + return nil +} + +type isLoadBalancerPolicySpec_Config_LbPolicy interface { + isLoadBalancerPolicySpec_Config_LbPolicy() +} + +type LoadBalancerPolicySpec_Config_Simple struct { + Simple LoadBalancerPolicySpec_Config_SimpleLB `protobuf:"varint,1,opt,name=simple,proto3,enum=trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec_Config_SimpleLB,oneof"` +} + +type LoadBalancerPolicySpec_Config_ConsistentHash struct { + ConsistentHash *LoadBalancerPolicySpec_Config_ConsistentHashLB `protobuf:"bytes,2,opt,name=consistent_hash,json=consistentHash,proto3,oneof"` +} + +func (*LoadBalancerPolicySpec_Config_Simple) isLoadBalancerPolicySpec_Config_LbPolicy() {} + +func (*LoadBalancerPolicySpec_Config_ConsistentHash) isLoadBalancerPolicySpec_Config_LbPolicy() {} + +// Consistent Hash-based load balancing can be used to provide soft +// session affinity based on HTTP headers, cookies or other +// properties. The affinity to a particular destination host may be +// lost when one or more hosts are added/removed from the destination +// service. +// +// Note: consistent hashing is less reliable at maintaining affinity than common +// "sticky sessions" implementations, which often encode a specific destination in +// a cookie, ensuring affinity is maintained as long as the backend remains. +// With consistent hash, the guarantees are weaker; any host addition or removal can +// break affinity for `1/backends` requests. +// +// Warning: consistent hashing depends on each proxy having a consistent view of endpoints. +// This is not the case when locality load balancing is enabled. Locality load balancing +// and consistent hash will only work together when all proxies are in the same locality, +// or a high level load balancer handles locality affinity. +type LoadBalancerPolicySpec_Config_ConsistentHashLB struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The hash key to use. + // + // Types that are assignable to HashKey: + // + // *LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpHeaderName + // *LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpCookie + // *LoadBalancerPolicySpec_Config_ConsistentHashLB_UseSourceIp + // *LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpQueryParameterName + HashKey isLoadBalancerPolicySpec_Config_ConsistentHashLB_HashKey `protobuf_oneof:"hash_key"` +} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB) Reset() { + *x = LoadBalancerPolicySpec_Config_ConsistentHashLB{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoadBalancerPolicySpec_Config_ConsistentHashLB) ProtoMessage() {} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoadBalancerPolicySpec_Config_ConsistentHashLB.ProtoReflect.Descriptor instead. +func (*LoadBalancerPolicySpec_Config_ConsistentHashLB) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (m *LoadBalancerPolicySpec_Config_ConsistentHashLB) GetHashKey() isLoadBalancerPolicySpec_Config_ConsistentHashLB_HashKey { + if m != nil { + return m.HashKey + } + return nil +} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB) GetHttpHeaderName() string { + if x, ok := x.GetHashKey().(*LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpHeaderName); ok { + return x.HttpHeaderName + } + return "" +} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB) GetHttpCookie() *LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie { + if x, ok := x.GetHashKey().(*LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpCookie); ok { + return x.HttpCookie + } + return nil +} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB) GetUseSourceIp() bool { + if x, ok := x.GetHashKey().(*LoadBalancerPolicySpec_Config_ConsistentHashLB_UseSourceIp); ok { + return x.UseSourceIp + } + return false +} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB) GetHttpQueryParameterName() string { + if x, ok := x.GetHashKey().(*LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpQueryParameterName); ok { + return x.HttpQueryParameterName + } + return "" +} + +type isLoadBalancerPolicySpec_Config_ConsistentHashLB_HashKey interface { + isLoadBalancerPolicySpec_Config_ConsistentHashLB_HashKey() +} + +type LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpHeaderName struct { + // Hash based on a specific HTTP header. + HttpHeaderName string `protobuf:"bytes,1,opt,name=http_header_name,json=httpHeaderName,proto3,oneof"` +} + +type LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpCookie struct { + // Hash based on HTTP cookie. + HttpCookie *LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie `protobuf:"bytes,2,opt,name=http_cookie,json=httpCookie,proto3,oneof"` +} + +type LoadBalancerPolicySpec_Config_ConsistentHashLB_UseSourceIp struct { + // Hash based on the source IP address. + // This is applicable for both TCP and HTTP connections. + UseSourceIp bool `protobuf:"varint,3,opt,name=use_source_ip,json=useSourceIp,proto3,oneof"` +} + +type LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpQueryParameterName struct { + // Hash based on a specific HTTP query parameter. + HttpQueryParameterName string `protobuf:"bytes,4,opt,name=http_query_parameter_name,json=httpQueryParameterName,proto3,oneof"` +} + +func (*LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpHeaderName) isLoadBalancerPolicySpec_Config_ConsistentHashLB_HashKey() { +} + +func (*LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpCookie) isLoadBalancerPolicySpec_Config_ConsistentHashLB_HashKey() { +} + +func (*LoadBalancerPolicySpec_Config_ConsistentHashLB_UseSourceIp) isLoadBalancerPolicySpec_Config_ConsistentHashLB_HashKey() { +} + +func (*LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpQueryParameterName) isLoadBalancerPolicySpec_Config_ConsistentHashLB_HashKey() { +} + +// Describes a HTTP cookie that will be used as the hash key for the +// Consistent Hash load balancer. If the cookie is not present, it will +// be generated. +type LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the cookie. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Path to set for the cookie. + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + // Lifetime of the cookie. + Ttl *duration.Duration `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"` +} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) Reset() { + *x = LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) ProtoMessage() {} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie.ProtoReflect.Descriptor instead. +func (*LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescGZIP(), []int{0, 0, 0, 0} +} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) GetTtl() *duration.Duration { + if x != nil { + return x.Ttl + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDesc = []byte{ + 0x0a, 0x6c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, + 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xb0, 0x09, 0x0a, 0x16, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5c, 0x0a, 0x15, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x06, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x74, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, + 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xdc, 0x07, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x64, 0x0a, 0x06, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x4a, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4c, 0x42, 0x48, 0x00, 0x52, 0x06, 0x73, + 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x7d, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, + 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, + 0x4c, 0x42, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, + 0x48, 0x61, 0x73, 0x68, 0x12, 0x4b, 0x0a, 0x14, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x5f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x77, + 0x61, 0x72, 0x6d, 0x75, 0x70, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, + 0x73, 0x12, 0x54, 0x0a, 0x17, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x70, 0x61, 0x6e, + 0x69, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x50, 0x61, 0x6e, 0x69, 0x63, 0x54, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x49, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x1a, 0x93, 0x03, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x42, 0x12, 0x2a, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6f, + 0x6b, 0x69, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x74, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, + 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x42, 0x2e, 0x48, 0x54, + 0x54, 0x50, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, + 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, + 0x0b, 0x75, 0x73, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x12, 0x3b, 0x0a, 0x19, + 0x68, 0x74, 0x74, 0x70, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x16, 0x68, 0x74, 0x74, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x61, 0x0a, 0x0a, 0x48, 0x54, 0x54, + 0x50, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, + 0x2b, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x42, 0x0a, 0x0a, 0x08, + 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x5c, 0x0a, 0x08, 0x53, 0x69, 0x6d, 0x70, + 0x6c, 0x65, 0x4c, 0x42, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, + 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x41, 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, + 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49, + 0x4e, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x51, + 0x55, 0x45, 0x53, 0x54, 0x10, 0x04, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x62, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x22, 0x94, 0x01, 0x0a, 0x18, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1e, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x6e, + 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x22, 0xcd, 0x02, 0x0a, 0x18, 0x4c, + 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x74, 0x72, + 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x18, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0x5a, + 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x63, 0x5a, 0x55, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x72, + 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_goTypes = []interface{}{ + (LoadBalancerPolicySpec_Config_SimpleLB)(0), // 0: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.SimpleLB + (*LoadBalancerPolicySpec)(nil), // 1: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec + (*LoadBalancerPolicyStatus)(nil), // 2: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicyStatus + (*LoadBalancerPolicyReport)(nil), // 3: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicyReport + (*LoadBalancerPolicySpec_Config)(nil), // 4: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config + (*LoadBalancerPolicySpec_Config_ConsistentHashLB)(nil), // 5: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.ConsistentHashLB + (*LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie)(nil), // 6: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.ConsistentHashLB.HTTPCookie + nil, // 7: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicyReport.WorkspacesEntry + (*v2.DestinationSelector)(nil), // 8: common.gloo.solo.io.DestinationSelector + (*v2.Status)(nil), // 9: common.gloo.solo.io.Status + (*v2.DestinationReference)(nil), // 10: common.gloo.solo.io.DestinationReference + (*duration.Duration)(nil), // 11: google.protobuf.Duration + (*wrappers.DoubleValue)(nil), // 12: google.protobuf.DoubleValue + (*v2.Report)(nil), // 13: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_depIdxs = []int32{ + 8, // 0: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.apply_to_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 4, // 1: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.config:type_name -> trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config + 9, // 2: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 7, // 3: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicyReport.workspaces:type_name -> trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicyReport.WorkspacesEntry + 10, // 4: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicyReport.selected_destination_ports:type_name -> common.gloo.solo.io.DestinationReference + 0, // 5: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.simple:type_name -> trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.SimpleLB + 5, // 6: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.consistent_hash:type_name -> trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.ConsistentHashLB + 11, // 7: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.warmup_duration_secs:type_name -> google.protobuf.Duration + 12, // 8: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.healthy_panic_threshold:type_name -> google.protobuf.DoubleValue + 11, // 9: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.update_merge_window:type_name -> google.protobuf.Duration + 6, // 10: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.ConsistentHashLB.http_cookie:type_name -> trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.ConsistentHashLB.HTTPCookie + 11, // 11: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicySpec.Config.ConsistentHashLB.HTTPCookie.ttl:type_name -> google.protobuf.Duration + 13, // 12: trafficcontrol.policy.gloo.solo.io.LoadBalancerPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoadBalancerPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoadBalancerPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoadBalancerPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoadBalancerPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoadBalancerPolicySpec_Config_ConsistentHashLB); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*LoadBalancerPolicySpec_Config_Simple)(nil), + (*LoadBalancerPolicySpec_Config_ConsistentHash)(nil), + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpHeaderName)(nil), + (*LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpCookie)(nil), + (*LoadBalancerPolicySpec_Config_ConsistentHashLB_UseSourceIp)(nil), + (*LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpQueryParameterName)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDesc, + NumEnums: 1, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_depIdxs, + EnumInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_enumTypes, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_load_balancer_policy_proto_depIdxs = nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/load_balancer_policy.pb.hash.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/load_balancer_policy.pb.hash.go new file mode 100644 index 000000000..b653cc4ac --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/load_balancer_policy.pb.hash.go @@ -0,0 +1,420 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/load_balancer_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *LoadBalancerPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.LoadBalancerPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *LoadBalancerPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.LoadBalancerPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedDestinationPorts()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *LoadBalancerPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.LoadBalancerPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *LoadBalancerPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.LoadBalancerPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetWarmupDurationSecs()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("WarmupDurationSecs")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetWarmupDurationSecs(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("WarmupDurationSecs")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetHealthyPanicThreshold()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HealthyPanicThreshold")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHealthyPanicThreshold(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HealthyPanicThreshold")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetUpdateMergeWindow()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("UpdateMergeWindow")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetUpdateMergeWindow(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("UpdateMergeWindow")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.LbPolicy.(type) { + + case *LoadBalancerPolicySpec_Config_Simple: + + err = binary.Write(hasher, binary.LittleEndian, m.GetSimple()) + if err != nil { + return 0, err + } + + case *LoadBalancerPolicySpec_Config_ConsistentHash: + + if h, ok := interface{}(m.GetConsistentHash()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ConsistentHash")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConsistentHash(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ConsistentHash")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *LoadBalancerPolicySpec_Config_ConsistentHashLB) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.LoadBalancerPolicySpec_Config_ConsistentHashLB")); err != nil { + return 0, err + } + + switch m.HashKey.(type) { + + case *LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpHeaderName: + + if _, err = hasher.Write([]byte(m.GetHttpHeaderName())); err != nil { + return 0, err + } + + case *LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpCookie: + + if h, ok := interface{}(m.GetHttpCookie()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HttpCookie")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHttpCookie(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HttpCookie")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *LoadBalancerPolicySpec_Config_ConsistentHashLB_UseSourceIp: + + err = binary.Write(hasher, binary.LittleEndian, m.GetUseSourceIp()) + if err != nil { + return 0, err + } + + case *LoadBalancerPolicySpec_Config_ConsistentHashLB_HttpQueryParameterName: + + if _, err = hasher.Write([]byte(m.GetHttpQueryParameterName())); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.LoadBalancerPolicySpec_Config_ConsistentHashLB_HTTPCookie")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte(m.GetPath())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetTtl()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Ttl")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTtl(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Ttl")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/mirror_policy.pb.clone.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/mirror_policy.pb.clone.go new file mode 100644 index 000000000..424a7287a --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/mirror_policy.pb.clone.go @@ -0,0 +1,139 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/mirror_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_golang_protobuf_ptypes_wrappers "github.com/golang/protobuf/ptypes/wrappers" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *MirrorPolicySpec) Clone() proto.Message { + var target *MirrorPolicySpec + if m == nil { + return target + } + target = &MirrorPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*MirrorPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*MirrorPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *MirrorPolicyStatus) Clone() proto.Message { + var target *MirrorPolicyStatus + if m == nil { + return target + } + target = &MirrorPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *MirrorPolicyReport) Clone() proto.Message { + var target *MirrorPolicyReport + if m == nil { + return target + } + target = &MirrorPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *MirrorPolicySpec_Config) Clone() proto.Message { + var target *MirrorPolicySpec_Config + if m == nil { + return target + } + target = &MirrorPolicySpec_Config{} + + if h, ok := interface{}(m.GetDestination()).(clone.Cloner); ok { + target.Destination = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.Destination = proto.Clone(m.GetDestination()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + if h, ok := interface{}(m.GetPercentage()).(clone.Cloner); ok { + target.Percentage = h.Clone().(*github_com_golang_protobuf_ptypes_wrappers.DoubleValue) + } else { + target.Percentage = proto.Clone(m.GetPercentage()).(*github_com_golang_protobuf_ptypes_wrappers.DoubleValue) + } + + return target +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/mirror_policy.pb.equal.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/mirror_policy.pb.equal.go new file mode 100644 index 000000000..d158e95f3 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/mirror_policy.pb.equal.go @@ -0,0 +1,217 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/mirror_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *MirrorPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MirrorPolicySpec) + if !ok { + that2, ok := that.(MirrorPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *MirrorPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MirrorPolicyStatus) + if !ok { + that2, ok := that.(MirrorPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *MirrorPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MirrorPolicyReport) + if !ok { + that2, ok := that.(MirrorPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *MirrorPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*MirrorPolicySpec_Config) + if !ok { + that2, ok := that.(MirrorPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetDestination()).(equality.Equalizer); ok { + if !h.Equal(target.GetDestination()) { + return false + } + } else { + if !proto.Equal(m.GetDestination(), target.GetDestination()) { + return false + } + } + + if h, ok := interface{}(m.GetPercentage()).(equality.Equalizer); ok { + if !h.Equal(target.GetPercentage()) { + return false + } + } else { + if !proto.Equal(m.GetPercentage(), target.GetPercentage()) { + return false + } + } + + return true +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/mirror_policy.pb.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/mirror_policy.pb.go new file mode 100644 index 000000000..f436a54e5 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/mirror_policy.pb.go @@ -0,0 +1,465 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/mirror_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// MirrorPolicy is used to mirror/shadow traffic to a another destination (traffic will be sent to its original destination in addition to the mirrored destinations). +// MirrorPolicies are applied at the *Route* level. +type MirrorPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Routes to apply the policy to. + // If empty, the policy applies to all workloads in the workspace. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // The details of the Mirror policy to apply to the selected routes + Config *MirrorPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *MirrorPolicySpec) Reset() { + *x = MirrorPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MirrorPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MirrorPolicySpec) ProtoMessage() {} + +func (x *MirrorPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MirrorPolicySpec.ProtoReflect.Descriptor instead. +func (*MirrorPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *MirrorPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *MirrorPolicySpec) GetConfig() *MirrorPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type MirrorPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of routes selected by this policy. + NumSelectedRoutes uint32 `protobuf:"varint,2,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *MirrorPolicyStatus) Reset() { + *x = MirrorPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MirrorPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MirrorPolicyStatus) ProtoMessage() {} + +func (x *MirrorPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MirrorPolicyStatus.ProtoReflect.Descriptor instead. +func (*MirrorPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *MirrorPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *MirrorPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type MirrorPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status of the resource in each workspace that it exists in. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of references to all rotues selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *MirrorPolicyReport) Reset() { + *x = MirrorPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MirrorPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MirrorPolicyReport) ProtoMessage() {} + +func (x *MirrorPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MirrorPolicyReport.ProtoReflect.Descriptor instead. +func (*MirrorPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *MirrorPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *MirrorPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +type MirrorPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The destination to which to send mirrored traffic + Destination *v2.DestinationReference `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` + // Percentage of traffic to mirror. If omitted all traffic will be mirrored. Values must be between 0 and 100. + // For information about the value format, see the [Google protocol buffer documentation](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/double-value). + Percentage *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=percentage,proto3" json:"percentage,omitempty"` +} + +func (x *MirrorPolicySpec_Config) Reset() { + *x = MirrorPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MirrorPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MirrorPolicySpec_Config) ProtoMessage() {} + +func (x *MirrorPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MirrorPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*MirrorPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *MirrorPolicySpec_Config) GetDestination() *v2.DestinationReference { + if x != nil { + return x.Destination + } + return nil +} + +func (x *MirrorPolicySpec_Config) GetPercentage() *wrappers.DoubleValue { + if x != nil { + return x.Percentage + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDesc = []byte{ + 0x0a, 0x65, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x2f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, + 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x02, 0x0a, 0x10, 0x4d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, + 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x74, 0x72, 0x61, + 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, + 0x93, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, + 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, + 0x6e, 0x74, 0x61, 0x67, 0x65, 0x22, 0x79, 0x0a, 0x12, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, + 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x22, 0xa6, 0x02, 0x0a, 0x12, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x66, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x74, 0x72, + 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, + 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x5a, 0x0a, + 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x63, 0x5a, 0x55, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x72, 0x61, + 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_goTypes = []interface{}{ + (*MirrorPolicySpec)(nil), // 0: trafficcontrol.policy.gloo.solo.io.MirrorPolicySpec + (*MirrorPolicyStatus)(nil), // 1: trafficcontrol.policy.gloo.solo.io.MirrorPolicyStatus + (*MirrorPolicyReport)(nil), // 2: trafficcontrol.policy.gloo.solo.io.MirrorPolicyReport + (*MirrorPolicySpec_Config)(nil), // 3: trafficcontrol.policy.gloo.solo.io.MirrorPolicySpec.Config + nil, // 4: trafficcontrol.policy.gloo.solo.io.MirrorPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 5: common.gloo.solo.io.RouteSelector + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 7: common.gloo.solo.io.RouteReference + (*v2.DestinationReference)(nil), // 8: common.gloo.solo.io.DestinationReference + (*wrappers.DoubleValue)(nil), // 9: google.protobuf.DoubleValue + (*v2.Report)(nil), // 10: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_depIdxs = []int32{ + 5, // 0: trafficcontrol.policy.gloo.solo.io.MirrorPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 3, // 1: trafficcontrol.policy.gloo.solo.io.MirrorPolicySpec.config:type_name -> trafficcontrol.policy.gloo.solo.io.MirrorPolicySpec.Config + 6, // 2: trafficcontrol.policy.gloo.solo.io.MirrorPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: trafficcontrol.policy.gloo.solo.io.MirrorPolicyReport.workspaces:type_name -> trafficcontrol.policy.gloo.solo.io.MirrorPolicyReport.WorkspacesEntry + 7, // 4: trafficcontrol.policy.gloo.solo.io.MirrorPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 8, // 5: trafficcontrol.policy.gloo.solo.io.MirrorPolicySpec.Config.destination:type_name -> common.gloo.solo.io.DestinationReference + 9, // 6: trafficcontrol.policy.gloo.solo.io.MirrorPolicySpec.Config.percentage:type_name -> google.protobuf.DoubleValue + 10, // 7: trafficcontrol.policy.gloo.solo.io.MirrorPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MirrorPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MirrorPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MirrorPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MirrorPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_mirror_policy_proto_depIdxs = nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/mirror_policy.pb.hash.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/mirror_policy.pb.hash.go new file mode 100644 index 000000000..5df21c756 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/mirror_policy.pb.hash.go @@ -0,0 +1,262 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/mirror_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *MirrorPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.MirrorPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MirrorPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.MirrorPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MirrorPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.MirrorPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *MirrorPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.MirrorPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetDestination()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Destination")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDestination(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Destination")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetPercentage()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Percentage")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPercentage(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Percentage")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/mocks/clients.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/mocks/clients.go new file mode 100644 index 000000000..c4295ead7 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/mocks/clients.go @@ -0,0 +1,4220 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./clients.go + +// Package mock_v2 is a generated GoMock package. +package mock_v2 + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + client "sigs.k8s.io/controller-runtime/pkg/client" + + v2 "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2" +) + +// MockMulticlusterClientset is a mock of MulticlusterClientset interface. +type MockMulticlusterClientset struct { + ctrl *gomock.Controller + recorder *MockMulticlusterClientsetMockRecorder +} + +// MockMulticlusterClientsetMockRecorder is the mock recorder for MockMulticlusterClientset. +type MockMulticlusterClientsetMockRecorder struct { + mock *MockMulticlusterClientset +} + +// NewMockMulticlusterClientset creates a new mock instance. +func NewMockMulticlusterClientset(ctrl *gomock.Controller) *MockMulticlusterClientset { + mock := &MockMulticlusterClientset{ctrl: ctrl} + mock.recorder = &MockMulticlusterClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterClientset) EXPECT() *MockMulticlusterClientsetMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterClientset) Cluster(cluster string) (v2.Clientset, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.Clientset) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterClientsetMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterClientset)(nil).Cluster), cluster) +} + +// MockClientset is a mock of Clientset interface. +type MockClientset struct { + ctrl *gomock.Controller + recorder *MockClientsetMockRecorder +} + +// MockClientsetMockRecorder is the mock recorder for MockClientset. +type MockClientsetMockRecorder struct { + mock *MockClientset +} + +// NewMockClientset creates a new mock instance. +func NewMockClientset(ctrl *gomock.Controller) *MockClientset { + mock := &MockClientset{ctrl: ctrl} + mock.recorder = &MockClientsetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockClientset) EXPECT() *MockClientsetMockRecorder { + return m.recorder +} + +// HTTPBufferPolicies mocks base method. +func (m *MockClientset) HTTPBufferPolicies() v2.HTTPBufferPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "HTTPBufferPolicies") + ret0, _ := ret[0].(v2.HTTPBufferPolicyClient) + return ret0 +} + +// HTTPBufferPolicies indicates an expected call of HTTPBufferPolicies. +func (mr *MockClientsetMockRecorder) HTTPBufferPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "HTTPBufferPolicies", reflect.TypeOf((*MockClientset)(nil).HTTPBufferPolicies)) +} + +// HeaderManipulationPolicies mocks base method. +func (m *MockClientset) HeaderManipulationPolicies() v2.HeaderManipulationPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "HeaderManipulationPolicies") + ret0, _ := ret[0].(v2.HeaderManipulationPolicyClient) + return ret0 +} + +// HeaderManipulationPolicies indicates an expected call of HeaderManipulationPolicies. +func (mr *MockClientsetMockRecorder) HeaderManipulationPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "HeaderManipulationPolicies", reflect.TypeOf((*MockClientset)(nil).HeaderManipulationPolicies)) +} + +// LoadBalancerPolicies mocks base method. +func (m *MockClientset) LoadBalancerPolicies() v2.LoadBalancerPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "LoadBalancerPolicies") + ret0, _ := ret[0].(v2.LoadBalancerPolicyClient) + return ret0 +} + +// LoadBalancerPolicies indicates an expected call of LoadBalancerPolicies. +func (mr *MockClientsetMockRecorder) LoadBalancerPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoadBalancerPolicies", reflect.TypeOf((*MockClientset)(nil).LoadBalancerPolicies)) +} + +// MirrorPolicies mocks base method. +func (m *MockClientset) MirrorPolicies() v2.MirrorPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "MirrorPolicies") + ret0, _ := ret[0].(v2.MirrorPolicyClient) + return ret0 +} + +// MirrorPolicies indicates an expected call of MirrorPolicies. +func (mr *MockClientsetMockRecorder) MirrorPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MirrorPolicies", reflect.TypeOf((*MockClientset)(nil).MirrorPolicies)) +} + +// ProxyProtocolPolicies mocks base method. +func (m *MockClientset) ProxyProtocolPolicies() v2.ProxyProtocolPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ProxyProtocolPolicies") + ret0, _ := ret[0].(v2.ProxyProtocolPolicyClient) + return ret0 +} + +// ProxyProtocolPolicies indicates an expected call of ProxyProtocolPolicies. +func (mr *MockClientsetMockRecorder) ProxyProtocolPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ProxyProtocolPolicies", reflect.TypeOf((*MockClientset)(nil).ProxyProtocolPolicies)) +} + +// RateLimitClientConfigs mocks base method. +func (m *MockClientset) RateLimitClientConfigs() v2.RateLimitClientConfigClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RateLimitClientConfigs") + ret0, _ := ret[0].(v2.RateLimitClientConfigClient) + return ret0 +} + +// RateLimitClientConfigs indicates an expected call of RateLimitClientConfigs. +func (mr *MockClientsetMockRecorder) RateLimitClientConfigs() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RateLimitClientConfigs", reflect.TypeOf((*MockClientset)(nil).RateLimitClientConfigs)) +} + +// RateLimitPolicies mocks base method. +func (m *MockClientset) RateLimitPolicies() v2.RateLimitPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RateLimitPolicies") + ret0, _ := ret[0].(v2.RateLimitPolicyClient) + return ret0 +} + +// RateLimitPolicies indicates an expected call of RateLimitPolicies. +func (mr *MockClientsetMockRecorder) RateLimitPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RateLimitPolicies", reflect.TypeOf((*MockClientset)(nil).RateLimitPolicies)) +} + +// TransformationPolicies mocks base method. +func (m *MockClientset) TransformationPolicies() v2.TransformationPolicyClient { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "TransformationPolicies") + ret0, _ := ret[0].(v2.TransformationPolicyClient) + return ret0 +} + +// TransformationPolicies indicates an expected call of TransformationPolicies. +func (mr *MockClientsetMockRecorder) TransformationPolicies() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TransformationPolicies", reflect.TypeOf((*MockClientset)(nil).TransformationPolicies)) +} + +// MockMirrorPolicyReader is a mock of MirrorPolicyReader interface. +type MockMirrorPolicyReader struct { + ctrl *gomock.Controller + recorder *MockMirrorPolicyReaderMockRecorder +} + +// MockMirrorPolicyReaderMockRecorder is the mock recorder for MockMirrorPolicyReader. +type MockMirrorPolicyReaderMockRecorder struct { + mock *MockMirrorPolicyReader +} + +// NewMockMirrorPolicyReader creates a new mock instance. +func NewMockMirrorPolicyReader(ctrl *gomock.Controller) *MockMirrorPolicyReader { + mock := &MockMirrorPolicyReader{ctrl: ctrl} + mock.recorder = &MockMirrorPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMirrorPolicyReader) EXPECT() *MockMirrorPolicyReaderMockRecorder { + return m.recorder +} + +// GetMirrorPolicy mocks base method. +func (m *MockMirrorPolicyReader) GetMirrorPolicy(ctx context.Context, key client.ObjectKey) (*v2.MirrorPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetMirrorPolicy", ctx, key) + ret0, _ := ret[0].(*v2.MirrorPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetMirrorPolicy indicates an expected call of GetMirrorPolicy. +func (mr *MockMirrorPolicyReaderMockRecorder) GetMirrorPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyReader)(nil).GetMirrorPolicy), ctx, key) +} + +// ListMirrorPolicy mocks base method. +func (m *MockMirrorPolicyReader) ListMirrorPolicy(ctx context.Context, opts ...client.ListOption) (*v2.MirrorPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListMirrorPolicy", varargs...) + ret0, _ := ret[0].(*v2.MirrorPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListMirrorPolicy indicates an expected call of ListMirrorPolicy. +func (mr *MockMirrorPolicyReaderMockRecorder) ListMirrorPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyReader)(nil).ListMirrorPolicy), varargs...) +} + +// MockMirrorPolicyWriter is a mock of MirrorPolicyWriter interface. +type MockMirrorPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockMirrorPolicyWriterMockRecorder +} + +// MockMirrorPolicyWriterMockRecorder is the mock recorder for MockMirrorPolicyWriter. +type MockMirrorPolicyWriterMockRecorder struct { + mock *MockMirrorPolicyWriter +} + +// NewMockMirrorPolicyWriter creates a new mock instance. +func NewMockMirrorPolicyWriter(ctrl *gomock.Controller) *MockMirrorPolicyWriter { + mock := &MockMirrorPolicyWriter{ctrl: ctrl} + mock.recorder = &MockMirrorPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMirrorPolicyWriter) EXPECT() *MockMirrorPolicyWriterMockRecorder { + return m.recorder +} + +// CreateMirrorPolicy mocks base method. +func (m *MockMirrorPolicyWriter) CreateMirrorPolicy(ctx context.Context, obj *v2.MirrorPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateMirrorPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateMirrorPolicy indicates an expected call of CreateMirrorPolicy. +func (mr *MockMirrorPolicyWriterMockRecorder) CreateMirrorPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyWriter)(nil).CreateMirrorPolicy), varargs...) +} + +// DeleteAllOfMirrorPolicy mocks base method. +func (m *MockMirrorPolicyWriter) DeleteAllOfMirrorPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfMirrorPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfMirrorPolicy indicates an expected call of DeleteAllOfMirrorPolicy. +func (mr *MockMirrorPolicyWriterMockRecorder) DeleteAllOfMirrorPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyWriter)(nil).DeleteAllOfMirrorPolicy), varargs...) +} + +// DeleteMirrorPolicy mocks base method. +func (m *MockMirrorPolicyWriter) DeleteMirrorPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteMirrorPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteMirrorPolicy indicates an expected call of DeleteMirrorPolicy. +func (mr *MockMirrorPolicyWriterMockRecorder) DeleteMirrorPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyWriter)(nil).DeleteMirrorPolicy), varargs...) +} + +// PatchMirrorPolicy mocks base method. +func (m *MockMirrorPolicyWriter) PatchMirrorPolicy(ctx context.Context, obj *v2.MirrorPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchMirrorPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchMirrorPolicy indicates an expected call of PatchMirrorPolicy. +func (mr *MockMirrorPolicyWriterMockRecorder) PatchMirrorPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyWriter)(nil).PatchMirrorPolicy), varargs...) +} + +// UpdateMirrorPolicy mocks base method. +func (m *MockMirrorPolicyWriter) UpdateMirrorPolicy(ctx context.Context, obj *v2.MirrorPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateMirrorPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateMirrorPolicy indicates an expected call of UpdateMirrorPolicy. +func (mr *MockMirrorPolicyWriterMockRecorder) UpdateMirrorPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyWriter)(nil).UpdateMirrorPolicy), varargs...) +} + +// UpsertMirrorPolicy mocks base method. +func (m *MockMirrorPolicyWriter) UpsertMirrorPolicy(ctx context.Context, obj *v2.MirrorPolicy, transitionFuncs ...v2.MirrorPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertMirrorPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertMirrorPolicy indicates an expected call of UpsertMirrorPolicy. +func (mr *MockMirrorPolicyWriterMockRecorder) UpsertMirrorPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyWriter)(nil).UpsertMirrorPolicy), varargs...) +} + +// MockMirrorPolicyStatusWriter is a mock of MirrorPolicyStatusWriter interface. +type MockMirrorPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockMirrorPolicyStatusWriterMockRecorder +} + +// MockMirrorPolicyStatusWriterMockRecorder is the mock recorder for MockMirrorPolicyStatusWriter. +type MockMirrorPolicyStatusWriterMockRecorder struct { + mock *MockMirrorPolicyStatusWriter +} + +// NewMockMirrorPolicyStatusWriter creates a new mock instance. +func NewMockMirrorPolicyStatusWriter(ctrl *gomock.Controller) *MockMirrorPolicyStatusWriter { + mock := &MockMirrorPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockMirrorPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMirrorPolicyStatusWriter) EXPECT() *MockMirrorPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchMirrorPolicyStatus mocks base method. +func (m *MockMirrorPolicyStatusWriter) PatchMirrorPolicyStatus(ctx context.Context, obj *v2.MirrorPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchMirrorPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchMirrorPolicyStatus indicates an expected call of PatchMirrorPolicyStatus. +func (mr *MockMirrorPolicyStatusWriterMockRecorder) PatchMirrorPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchMirrorPolicyStatus", reflect.TypeOf((*MockMirrorPolicyStatusWriter)(nil).PatchMirrorPolicyStatus), varargs...) +} + +// UpdateMirrorPolicyStatus mocks base method. +func (m *MockMirrorPolicyStatusWriter) UpdateMirrorPolicyStatus(ctx context.Context, obj *v2.MirrorPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateMirrorPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateMirrorPolicyStatus indicates an expected call of UpdateMirrorPolicyStatus. +func (mr *MockMirrorPolicyStatusWriterMockRecorder) UpdateMirrorPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMirrorPolicyStatus", reflect.TypeOf((*MockMirrorPolicyStatusWriter)(nil).UpdateMirrorPolicyStatus), varargs...) +} + +// MockMirrorPolicyClient is a mock of MirrorPolicyClient interface. +type MockMirrorPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMirrorPolicyClientMockRecorder +} + +// MockMirrorPolicyClientMockRecorder is the mock recorder for MockMirrorPolicyClient. +type MockMirrorPolicyClientMockRecorder struct { + mock *MockMirrorPolicyClient +} + +// NewMockMirrorPolicyClient creates a new mock instance. +func NewMockMirrorPolicyClient(ctrl *gomock.Controller) *MockMirrorPolicyClient { + mock := &MockMirrorPolicyClient{ctrl: ctrl} + mock.recorder = &MockMirrorPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMirrorPolicyClient) EXPECT() *MockMirrorPolicyClientMockRecorder { + return m.recorder +} + +// CreateMirrorPolicy mocks base method. +func (m *MockMirrorPolicyClient) CreateMirrorPolicy(ctx context.Context, obj *v2.MirrorPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateMirrorPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateMirrorPolicy indicates an expected call of CreateMirrorPolicy. +func (mr *MockMirrorPolicyClientMockRecorder) CreateMirrorPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyClient)(nil).CreateMirrorPolicy), varargs...) +} + +// DeleteAllOfMirrorPolicy mocks base method. +func (m *MockMirrorPolicyClient) DeleteAllOfMirrorPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfMirrorPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfMirrorPolicy indicates an expected call of DeleteAllOfMirrorPolicy. +func (mr *MockMirrorPolicyClientMockRecorder) DeleteAllOfMirrorPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyClient)(nil).DeleteAllOfMirrorPolicy), varargs...) +} + +// DeleteMirrorPolicy mocks base method. +func (m *MockMirrorPolicyClient) DeleteMirrorPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteMirrorPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteMirrorPolicy indicates an expected call of DeleteMirrorPolicy. +func (mr *MockMirrorPolicyClientMockRecorder) DeleteMirrorPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyClient)(nil).DeleteMirrorPolicy), varargs...) +} + +// GetMirrorPolicy mocks base method. +func (m *MockMirrorPolicyClient) GetMirrorPolicy(ctx context.Context, key client.ObjectKey) (*v2.MirrorPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetMirrorPolicy", ctx, key) + ret0, _ := ret[0].(*v2.MirrorPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetMirrorPolicy indicates an expected call of GetMirrorPolicy. +func (mr *MockMirrorPolicyClientMockRecorder) GetMirrorPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyClient)(nil).GetMirrorPolicy), ctx, key) +} + +// ListMirrorPolicy mocks base method. +func (m *MockMirrorPolicyClient) ListMirrorPolicy(ctx context.Context, opts ...client.ListOption) (*v2.MirrorPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListMirrorPolicy", varargs...) + ret0, _ := ret[0].(*v2.MirrorPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListMirrorPolicy indicates an expected call of ListMirrorPolicy. +func (mr *MockMirrorPolicyClientMockRecorder) ListMirrorPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyClient)(nil).ListMirrorPolicy), varargs...) +} + +// PatchMirrorPolicy mocks base method. +func (m *MockMirrorPolicyClient) PatchMirrorPolicy(ctx context.Context, obj *v2.MirrorPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchMirrorPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchMirrorPolicy indicates an expected call of PatchMirrorPolicy. +func (mr *MockMirrorPolicyClientMockRecorder) PatchMirrorPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyClient)(nil).PatchMirrorPolicy), varargs...) +} + +// PatchMirrorPolicyStatus mocks base method. +func (m *MockMirrorPolicyClient) PatchMirrorPolicyStatus(ctx context.Context, obj *v2.MirrorPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchMirrorPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchMirrorPolicyStatus indicates an expected call of PatchMirrorPolicyStatus. +func (mr *MockMirrorPolicyClientMockRecorder) PatchMirrorPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchMirrorPolicyStatus", reflect.TypeOf((*MockMirrorPolicyClient)(nil).PatchMirrorPolicyStatus), varargs...) +} + +// UpdateMirrorPolicy mocks base method. +func (m *MockMirrorPolicyClient) UpdateMirrorPolicy(ctx context.Context, obj *v2.MirrorPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateMirrorPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateMirrorPolicy indicates an expected call of UpdateMirrorPolicy. +func (mr *MockMirrorPolicyClientMockRecorder) UpdateMirrorPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyClient)(nil).UpdateMirrorPolicy), varargs...) +} + +// UpdateMirrorPolicyStatus mocks base method. +func (m *MockMirrorPolicyClient) UpdateMirrorPolicyStatus(ctx context.Context, obj *v2.MirrorPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateMirrorPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateMirrorPolicyStatus indicates an expected call of UpdateMirrorPolicyStatus. +func (mr *MockMirrorPolicyClientMockRecorder) UpdateMirrorPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMirrorPolicyStatus", reflect.TypeOf((*MockMirrorPolicyClient)(nil).UpdateMirrorPolicyStatus), varargs...) +} + +// UpsertMirrorPolicy mocks base method. +func (m *MockMirrorPolicyClient) UpsertMirrorPolicy(ctx context.Context, obj *v2.MirrorPolicy, transitionFuncs ...v2.MirrorPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertMirrorPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertMirrorPolicy indicates an expected call of UpsertMirrorPolicy. +func (mr *MockMirrorPolicyClientMockRecorder) UpsertMirrorPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertMirrorPolicy", reflect.TypeOf((*MockMirrorPolicyClient)(nil).UpsertMirrorPolicy), varargs...) +} + +// MockMulticlusterMirrorPolicyClient is a mock of MulticlusterMirrorPolicyClient interface. +type MockMulticlusterMirrorPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterMirrorPolicyClientMockRecorder +} + +// MockMulticlusterMirrorPolicyClientMockRecorder is the mock recorder for MockMulticlusterMirrorPolicyClient. +type MockMulticlusterMirrorPolicyClientMockRecorder struct { + mock *MockMulticlusterMirrorPolicyClient +} + +// NewMockMulticlusterMirrorPolicyClient creates a new mock instance. +func NewMockMulticlusterMirrorPolicyClient(ctrl *gomock.Controller) *MockMulticlusterMirrorPolicyClient { + mock := &MockMulticlusterMirrorPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterMirrorPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterMirrorPolicyClient) EXPECT() *MockMulticlusterMirrorPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterMirrorPolicyClient) Cluster(cluster string) (v2.MirrorPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.MirrorPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterMirrorPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterMirrorPolicyClient)(nil).Cluster), cluster) +} + +// MockRateLimitPolicyReader is a mock of RateLimitPolicyReader interface. +type MockRateLimitPolicyReader struct { + ctrl *gomock.Controller + recorder *MockRateLimitPolicyReaderMockRecorder +} + +// MockRateLimitPolicyReaderMockRecorder is the mock recorder for MockRateLimitPolicyReader. +type MockRateLimitPolicyReaderMockRecorder struct { + mock *MockRateLimitPolicyReader +} + +// NewMockRateLimitPolicyReader creates a new mock instance. +func NewMockRateLimitPolicyReader(ctrl *gomock.Controller) *MockRateLimitPolicyReader { + mock := &MockRateLimitPolicyReader{ctrl: ctrl} + mock.recorder = &MockRateLimitPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitPolicyReader) EXPECT() *MockRateLimitPolicyReaderMockRecorder { + return m.recorder +} + +// GetRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyReader) GetRateLimitPolicy(ctx context.Context, key client.ObjectKey) (*v2.RateLimitPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRateLimitPolicy", ctx, key) + ret0, _ := ret[0].(*v2.RateLimitPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRateLimitPolicy indicates an expected call of GetRateLimitPolicy. +func (mr *MockRateLimitPolicyReaderMockRecorder) GetRateLimitPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyReader)(nil).GetRateLimitPolicy), ctx, key) +} + +// ListRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyReader) ListRateLimitPolicy(ctx context.Context, opts ...client.ListOption) (*v2.RateLimitPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRateLimitPolicy", varargs...) + ret0, _ := ret[0].(*v2.RateLimitPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRateLimitPolicy indicates an expected call of ListRateLimitPolicy. +func (mr *MockRateLimitPolicyReaderMockRecorder) ListRateLimitPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyReader)(nil).ListRateLimitPolicy), varargs...) +} + +// MockRateLimitPolicyWriter is a mock of RateLimitPolicyWriter interface. +type MockRateLimitPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockRateLimitPolicyWriterMockRecorder +} + +// MockRateLimitPolicyWriterMockRecorder is the mock recorder for MockRateLimitPolicyWriter. +type MockRateLimitPolicyWriterMockRecorder struct { + mock *MockRateLimitPolicyWriter +} + +// NewMockRateLimitPolicyWriter creates a new mock instance. +func NewMockRateLimitPolicyWriter(ctrl *gomock.Controller) *MockRateLimitPolicyWriter { + mock := &MockRateLimitPolicyWriter{ctrl: ctrl} + mock.recorder = &MockRateLimitPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitPolicyWriter) EXPECT() *MockRateLimitPolicyWriterMockRecorder { + return m.recorder +} + +// CreateRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyWriter) CreateRateLimitPolicy(ctx context.Context, obj *v2.RateLimitPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRateLimitPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRateLimitPolicy indicates an expected call of CreateRateLimitPolicy. +func (mr *MockRateLimitPolicyWriterMockRecorder) CreateRateLimitPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyWriter)(nil).CreateRateLimitPolicy), varargs...) +} + +// DeleteAllOfRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyWriter) DeleteAllOfRateLimitPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRateLimitPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRateLimitPolicy indicates an expected call of DeleteAllOfRateLimitPolicy. +func (mr *MockRateLimitPolicyWriterMockRecorder) DeleteAllOfRateLimitPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyWriter)(nil).DeleteAllOfRateLimitPolicy), varargs...) +} + +// DeleteRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyWriter) DeleteRateLimitPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRateLimitPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRateLimitPolicy indicates an expected call of DeleteRateLimitPolicy. +func (mr *MockRateLimitPolicyWriterMockRecorder) DeleteRateLimitPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyWriter)(nil).DeleteRateLimitPolicy), varargs...) +} + +// PatchRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyWriter) PatchRateLimitPolicy(ctx context.Context, obj *v2.RateLimitPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitPolicy indicates an expected call of PatchRateLimitPolicy. +func (mr *MockRateLimitPolicyWriterMockRecorder) PatchRateLimitPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyWriter)(nil).PatchRateLimitPolicy), varargs...) +} + +// UpdateRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyWriter) UpdateRateLimitPolicy(ctx context.Context, obj *v2.RateLimitPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitPolicy indicates an expected call of UpdateRateLimitPolicy. +func (mr *MockRateLimitPolicyWriterMockRecorder) UpdateRateLimitPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyWriter)(nil).UpdateRateLimitPolicy), varargs...) +} + +// UpsertRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyWriter) UpsertRateLimitPolicy(ctx context.Context, obj *v2.RateLimitPolicy, transitionFuncs ...v2.RateLimitPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRateLimitPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRateLimitPolicy indicates an expected call of UpsertRateLimitPolicy. +func (mr *MockRateLimitPolicyWriterMockRecorder) UpsertRateLimitPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyWriter)(nil).UpsertRateLimitPolicy), varargs...) +} + +// MockRateLimitPolicyStatusWriter is a mock of RateLimitPolicyStatusWriter interface. +type MockRateLimitPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockRateLimitPolicyStatusWriterMockRecorder +} + +// MockRateLimitPolicyStatusWriterMockRecorder is the mock recorder for MockRateLimitPolicyStatusWriter. +type MockRateLimitPolicyStatusWriterMockRecorder struct { + mock *MockRateLimitPolicyStatusWriter +} + +// NewMockRateLimitPolicyStatusWriter creates a new mock instance. +func NewMockRateLimitPolicyStatusWriter(ctrl *gomock.Controller) *MockRateLimitPolicyStatusWriter { + mock := &MockRateLimitPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockRateLimitPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitPolicyStatusWriter) EXPECT() *MockRateLimitPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchRateLimitPolicyStatus mocks base method. +func (m *MockRateLimitPolicyStatusWriter) PatchRateLimitPolicyStatus(ctx context.Context, obj *v2.RateLimitPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitPolicyStatus indicates an expected call of PatchRateLimitPolicyStatus. +func (mr *MockRateLimitPolicyStatusWriterMockRecorder) PatchRateLimitPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitPolicyStatus", reflect.TypeOf((*MockRateLimitPolicyStatusWriter)(nil).PatchRateLimitPolicyStatus), varargs...) +} + +// UpdateRateLimitPolicyStatus mocks base method. +func (m *MockRateLimitPolicyStatusWriter) UpdateRateLimitPolicyStatus(ctx context.Context, obj *v2.RateLimitPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitPolicyStatus indicates an expected call of UpdateRateLimitPolicyStatus. +func (mr *MockRateLimitPolicyStatusWriterMockRecorder) UpdateRateLimitPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitPolicyStatus", reflect.TypeOf((*MockRateLimitPolicyStatusWriter)(nil).UpdateRateLimitPolicyStatus), varargs...) +} + +// MockRateLimitPolicyClient is a mock of RateLimitPolicyClient interface. +type MockRateLimitPolicyClient struct { + ctrl *gomock.Controller + recorder *MockRateLimitPolicyClientMockRecorder +} + +// MockRateLimitPolicyClientMockRecorder is the mock recorder for MockRateLimitPolicyClient. +type MockRateLimitPolicyClientMockRecorder struct { + mock *MockRateLimitPolicyClient +} + +// NewMockRateLimitPolicyClient creates a new mock instance. +func NewMockRateLimitPolicyClient(ctrl *gomock.Controller) *MockRateLimitPolicyClient { + mock := &MockRateLimitPolicyClient{ctrl: ctrl} + mock.recorder = &MockRateLimitPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitPolicyClient) EXPECT() *MockRateLimitPolicyClientMockRecorder { + return m.recorder +} + +// CreateRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyClient) CreateRateLimitPolicy(ctx context.Context, obj *v2.RateLimitPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRateLimitPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRateLimitPolicy indicates an expected call of CreateRateLimitPolicy. +func (mr *MockRateLimitPolicyClientMockRecorder) CreateRateLimitPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyClient)(nil).CreateRateLimitPolicy), varargs...) +} + +// DeleteAllOfRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyClient) DeleteAllOfRateLimitPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRateLimitPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRateLimitPolicy indicates an expected call of DeleteAllOfRateLimitPolicy. +func (mr *MockRateLimitPolicyClientMockRecorder) DeleteAllOfRateLimitPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyClient)(nil).DeleteAllOfRateLimitPolicy), varargs...) +} + +// DeleteRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyClient) DeleteRateLimitPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRateLimitPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRateLimitPolicy indicates an expected call of DeleteRateLimitPolicy. +func (mr *MockRateLimitPolicyClientMockRecorder) DeleteRateLimitPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyClient)(nil).DeleteRateLimitPolicy), varargs...) +} + +// GetRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyClient) GetRateLimitPolicy(ctx context.Context, key client.ObjectKey) (*v2.RateLimitPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRateLimitPolicy", ctx, key) + ret0, _ := ret[0].(*v2.RateLimitPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRateLimitPolicy indicates an expected call of GetRateLimitPolicy. +func (mr *MockRateLimitPolicyClientMockRecorder) GetRateLimitPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyClient)(nil).GetRateLimitPolicy), ctx, key) +} + +// ListRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyClient) ListRateLimitPolicy(ctx context.Context, opts ...client.ListOption) (*v2.RateLimitPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRateLimitPolicy", varargs...) + ret0, _ := ret[0].(*v2.RateLimitPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRateLimitPolicy indicates an expected call of ListRateLimitPolicy. +func (mr *MockRateLimitPolicyClientMockRecorder) ListRateLimitPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyClient)(nil).ListRateLimitPolicy), varargs...) +} + +// PatchRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyClient) PatchRateLimitPolicy(ctx context.Context, obj *v2.RateLimitPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitPolicy indicates an expected call of PatchRateLimitPolicy. +func (mr *MockRateLimitPolicyClientMockRecorder) PatchRateLimitPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyClient)(nil).PatchRateLimitPolicy), varargs...) +} + +// PatchRateLimitPolicyStatus mocks base method. +func (m *MockRateLimitPolicyClient) PatchRateLimitPolicyStatus(ctx context.Context, obj *v2.RateLimitPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitPolicyStatus indicates an expected call of PatchRateLimitPolicyStatus. +func (mr *MockRateLimitPolicyClientMockRecorder) PatchRateLimitPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitPolicyStatus", reflect.TypeOf((*MockRateLimitPolicyClient)(nil).PatchRateLimitPolicyStatus), varargs...) +} + +// UpdateRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyClient) UpdateRateLimitPolicy(ctx context.Context, obj *v2.RateLimitPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitPolicy indicates an expected call of UpdateRateLimitPolicy. +func (mr *MockRateLimitPolicyClientMockRecorder) UpdateRateLimitPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyClient)(nil).UpdateRateLimitPolicy), varargs...) +} + +// UpdateRateLimitPolicyStatus mocks base method. +func (m *MockRateLimitPolicyClient) UpdateRateLimitPolicyStatus(ctx context.Context, obj *v2.RateLimitPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitPolicyStatus indicates an expected call of UpdateRateLimitPolicyStatus. +func (mr *MockRateLimitPolicyClientMockRecorder) UpdateRateLimitPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitPolicyStatus", reflect.TypeOf((*MockRateLimitPolicyClient)(nil).UpdateRateLimitPolicyStatus), varargs...) +} + +// UpsertRateLimitPolicy mocks base method. +func (m *MockRateLimitPolicyClient) UpsertRateLimitPolicy(ctx context.Context, obj *v2.RateLimitPolicy, transitionFuncs ...v2.RateLimitPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRateLimitPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRateLimitPolicy indicates an expected call of UpsertRateLimitPolicy. +func (mr *MockRateLimitPolicyClientMockRecorder) UpsertRateLimitPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRateLimitPolicy", reflect.TypeOf((*MockRateLimitPolicyClient)(nil).UpsertRateLimitPolicy), varargs...) +} + +// MockMulticlusterRateLimitPolicyClient is a mock of MulticlusterRateLimitPolicyClient interface. +type MockMulticlusterRateLimitPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitPolicyClientMockRecorder +} + +// MockMulticlusterRateLimitPolicyClientMockRecorder is the mock recorder for MockMulticlusterRateLimitPolicyClient. +type MockMulticlusterRateLimitPolicyClientMockRecorder struct { + mock *MockMulticlusterRateLimitPolicyClient +} + +// NewMockMulticlusterRateLimitPolicyClient creates a new mock instance. +func NewMockMulticlusterRateLimitPolicyClient(ctrl *gomock.Controller) *MockMulticlusterRateLimitPolicyClient { + mock := &MockMulticlusterRateLimitPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitPolicyClient) EXPECT() *MockMulticlusterRateLimitPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterRateLimitPolicyClient) Cluster(cluster string) (v2.RateLimitPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.RateLimitPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterRateLimitPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterRateLimitPolicyClient)(nil).Cluster), cluster) +} + +// MockRateLimitClientConfigReader is a mock of RateLimitClientConfigReader interface. +type MockRateLimitClientConfigReader struct { + ctrl *gomock.Controller + recorder *MockRateLimitClientConfigReaderMockRecorder +} + +// MockRateLimitClientConfigReaderMockRecorder is the mock recorder for MockRateLimitClientConfigReader. +type MockRateLimitClientConfigReaderMockRecorder struct { + mock *MockRateLimitClientConfigReader +} + +// NewMockRateLimitClientConfigReader creates a new mock instance. +func NewMockRateLimitClientConfigReader(ctrl *gomock.Controller) *MockRateLimitClientConfigReader { + mock := &MockRateLimitClientConfigReader{ctrl: ctrl} + mock.recorder = &MockRateLimitClientConfigReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitClientConfigReader) EXPECT() *MockRateLimitClientConfigReaderMockRecorder { + return m.recorder +} + +// GetRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigReader) GetRateLimitClientConfig(ctx context.Context, key client.ObjectKey) (*v2.RateLimitClientConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRateLimitClientConfig", ctx, key) + ret0, _ := ret[0].(*v2.RateLimitClientConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRateLimitClientConfig indicates an expected call of GetRateLimitClientConfig. +func (mr *MockRateLimitClientConfigReaderMockRecorder) GetRateLimitClientConfig(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigReader)(nil).GetRateLimitClientConfig), ctx, key) +} + +// ListRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigReader) ListRateLimitClientConfig(ctx context.Context, opts ...client.ListOption) (*v2.RateLimitClientConfigList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(*v2.RateLimitClientConfigList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRateLimitClientConfig indicates an expected call of ListRateLimitClientConfig. +func (mr *MockRateLimitClientConfigReaderMockRecorder) ListRateLimitClientConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigReader)(nil).ListRateLimitClientConfig), varargs...) +} + +// MockRateLimitClientConfigWriter is a mock of RateLimitClientConfigWriter interface. +type MockRateLimitClientConfigWriter struct { + ctrl *gomock.Controller + recorder *MockRateLimitClientConfigWriterMockRecorder +} + +// MockRateLimitClientConfigWriterMockRecorder is the mock recorder for MockRateLimitClientConfigWriter. +type MockRateLimitClientConfigWriterMockRecorder struct { + mock *MockRateLimitClientConfigWriter +} + +// NewMockRateLimitClientConfigWriter creates a new mock instance. +func NewMockRateLimitClientConfigWriter(ctrl *gomock.Controller) *MockRateLimitClientConfigWriter { + mock := &MockRateLimitClientConfigWriter{ctrl: ctrl} + mock.recorder = &MockRateLimitClientConfigWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitClientConfigWriter) EXPECT() *MockRateLimitClientConfigWriterMockRecorder { + return m.recorder +} + +// CreateRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigWriter) CreateRateLimitClientConfig(ctx context.Context, obj *v2.RateLimitClientConfig, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRateLimitClientConfig indicates an expected call of CreateRateLimitClientConfig. +func (mr *MockRateLimitClientConfigWriterMockRecorder) CreateRateLimitClientConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigWriter)(nil).CreateRateLimitClientConfig), varargs...) +} + +// DeleteAllOfRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigWriter) DeleteAllOfRateLimitClientConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRateLimitClientConfig indicates an expected call of DeleteAllOfRateLimitClientConfig. +func (mr *MockRateLimitClientConfigWriterMockRecorder) DeleteAllOfRateLimitClientConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigWriter)(nil).DeleteAllOfRateLimitClientConfig), varargs...) +} + +// DeleteRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigWriter) DeleteRateLimitClientConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRateLimitClientConfig indicates an expected call of DeleteRateLimitClientConfig. +func (mr *MockRateLimitClientConfigWriterMockRecorder) DeleteRateLimitClientConfig(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigWriter)(nil).DeleteRateLimitClientConfig), varargs...) +} + +// PatchRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigWriter) PatchRateLimitClientConfig(ctx context.Context, obj *v2.RateLimitClientConfig, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitClientConfig indicates an expected call of PatchRateLimitClientConfig. +func (mr *MockRateLimitClientConfigWriterMockRecorder) PatchRateLimitClientConfig(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigWriter)(nil).PatchRateLimitClientConfig), varargs...) +} + +// UpdateRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigWriter) UpdateRateLimitClientConfig(ctx context.Context, obj *v2.RateLimitClientConfig, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitClientConfig indicates an expected call of UpdateRateLimitClientConfig. +func (mr *MockRateLimitClientConfigWriterMockRecorder) UpdateRateLimitClientConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigWriter)(nil).UpdateRateLimitClientConfig), varargs...) +} + +// UpsertRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigWriter) UpsertRateLimitClientConfig(ctx context.Context, obj *v2.RateLimitClientConfig, transitionFuncs ...v2.RateLimitClientConfigTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRateLimitClientConfig indicates an expected call of UpsertRateLimitClientConfig. +func (mr *MockRateLimitClientConfigWriterMockRecorder) UpsertRateLimitClientConfig(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigWriter)(nil).UpsertRateLimitClientConfig), varargs...) +} + +// MockRateLimitClientConfigStatusWriter is a mock of RateLimitClientConfigStatusWriter interface. +type MockRateLimitClientConfigStatusWriter struct { + ctrl *gomock.Controller + recorder *MockRateLimitClientConfigStatusWriterMockRecorder +} + +// MockRateLimitClientConfigStatusWriterMockRecorder is the mock recorder for MockRateLimitClientConfigStatusWriter. +type MockRateLimitClientConfigStatusWriterMockRecorder struct { + mock *MockRateLimitClientConfigStatusWriter +} + +// NewMockRateLimitClientConfigStatusWriter creates a new mock instance. +func NewMockRateLimitClientConfigStatusWriter(ctrl *gomock.Controller) *MockRateLimitClientConfigStatusWriter { + mock := &MockRateLimitClientConfigStatusWriter{ctrl: ctrl} + mock.recorder = &MockRateLimitClientConfigStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitClientConfigStatusWriter) EXPECT() *MockRateLimitClientConfigStatusWriterMockRecorder { + return m.recorder +} + +// PatchRateLimitClientConfigStatus mocks base method. +func (m *MockRateLimitClientConfigStatusWriter) PatchRateLimitClientConfigStatus(ctx context.Context, obj *v2.RateLimitClientConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitClientConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitClientConfigStatus indicates an expected call of PatchRateLimitClientConfigStatus. +func (mr *MockRateLimitClientConfigStatusWriterMockRecorder) PatchRateLimitClientConfigStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitClientConfigStatus", reflect.TypeOf((*MockRateLimitClientConfigStatusWriter)(nil).PatchRateLimitClientConfigStatus), varargs...) +} + +// UpdateRateLimitClientConfigStatus mocks base method. +func (m *MockRateLimitClientConfigStatusWriter) UpdateRateLimitClientConfigStatus(ctx context.Context, obj *v2.RateLimitClientConfig, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitClientConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitClientConfigStatus indicates an expected call of UpdateRateLimitClientConfigStatus. +func (mr *MockRateLimitClientConfigStatusWriterMockRecorder) UpdateRateLimitClientConfigStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitClientConfigStatus", reflect.TypeOf((*MockRateLimitClientConfigStatusWriter)(nil).UpdateRateLimitClientConfigStatus), varargs...) +} + +// MockRateLimitClientConfigClient is a mock of RateLimitClientConfigClient interface. +type MockRateLimitClientConfigClient struct { + ctrl *gomock.Controller + recorder *MockRateLimitClientConfigClientMockRecorder +} + +// MockRateLimitClientConfigClientMockRecorder is the mock recorder for MockRateLimitClientConfigClient. +type MockRateLimitClientConfigClientMockRecorder struct { + mock *MockRateLimitClientConfigClient +} + +// NewMockRateLimitClientConfigClient creates a new mock instance. +func NewMockRateLimitClientConfigClient(ctrl *gomock.Controller) *MockRateLimitClientConfigClient { + mock := &MockRateLimitClientConfigClient{ctrl: ctrl} + mock.recorder = &MockRateLimitClientConfigClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitClientConfigClient) EXPECT() *MockRateLimitClientConfigClientMockRecorder { + return m.recorder +} + +// CreateRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigClient) CreateRateLimitClientConfig(ctx context.Context, obj *v2.RateLimitClientConfig, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateRateLimitClientConfig indicates an expected call of CreateRateLimitClientConfig. +func (mr *MockRateLimitClientConfigClientMockRecorder) CreateRateLimitClientConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigClient)(nil).CreateRateLimitClientConfig), varargs...) +} + +// DeleteAllOfRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigClient) DeleteAllOfRateLimitClientConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfRateLimitClientConfig indicates an expected call of DeleteAllOfRateLimitClientConfig. +func (mr *MockRateLimitClientConfigClientMockRecorder) DeleteAllOfRateLimitClientConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigClient)(nil).DeleteAllOfRateLimitClientConfig), varargs...) +} + +// DeleteRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigClient) DeleteRateLimitClientConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteRateLimitClientConfig indicates an expected call of DeleteRateLimitClientConfig. +func (mr *MockRateLimitClientConfigClientMockRecorder) DeleteRateLimitClientConfig(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigClient)(nil).DeleteRateLimitClientConfig), varargs...) +} + +// GetRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigClient) GetRateLimitClientConfig(ctx context.Context, key client.ObjectKey) (*v2.RateLimitClientConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRateLimitClientConfig", ctx, key) + ret0, _ := ret[0].(*v2.RateLimitClientConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRateLimitClientConfig indicates an expected call of GetRateLimitClientConfig. +func (mr *MockRateLimitClientConfigClientMockRecorder) GetRateLimitClientConfig(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigClient)(nil).GetRateLimitClientConfig), ctx, key) +} + +// ListRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigClient) ListRateLimitClientConfig(ctx context.Context, opts ...client.ListOption) (*v2.RateLimitClientConfigList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(*v2.RateLimitClientConfigList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListRateLimitClientConfig indicates an expected call of ListRateLimitClientConfig. +func (mr *MockRateLimitClientConfigClientMockRecorder) ListRateLimitClientConfig(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigClient)(nil).ListRateLimitClientConfig), varargs...) +} + +// PatchRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigClient) PatchRateLimitClientConfig(ctx context.Context, obj *v2.RateLimitClientConfig, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitClientConfig indicates an expected call of PatchRateLimitClientConfig. +func (mr *MockRateLimitClientConfigClientMockRecorder) PatchRateLimitClientConfig(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigClient)(nil).PatchRateLimitClientConfig), varargs...) +} + +// PatchRateLimitClientConfigStatus mocks base method. +func (m *MockRateLimitClientConfigClient) PatchRateLimitClientConfigStatus(ctx context.Context, obj *v2.RateLimitClientConfig, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchRateLimitClientConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchRateLimitClientConfigStatus indicates an expected call of PatchRateLimitClientConfigStatus. +func (mr *MockRateLimitClientConfigClientMockRecorder) PatchRateLimitClientConfigStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchRateLimitClientConfigStatus", reflect.TypeOf((*MockRateLimitClientConfigClient)(nil).PatchRateLimitClientConfigStatus), varargs...) +} + +// UpdateRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigClient) UpdateRateLimitClientConfig(ctx context.Context, obj *v2.RateLimitClientConfig, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitClientConfig indicates an expected call of UpdateRateLimitClientConfig. +func (mr *MockRateLimitClientConfigClientMockRecorder) UpdateRateLimitClientConfig(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigClient)(nil).UpdateRateLimitClientConfig), varargs...) +} + +// UpdateRateLimitClientConfigStatus mocks base method. +func (m *MockRateLimitClientConfigClient) UpdateRateLimitClientConfigStatus(ctx context.Context, obj *v2.RateLimitClientConfig, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateRateLimitClientConfigStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateRateLimitClientConfigStatus indicates an expected call of UpdateRateLimitClientConfigStatus. +func (mr *MockRateLimitClientConfigClientMockRecorder) UpdateRateLimitClientConfigStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRateLimitClientConfigStatus", reflect.TypeOf((*MockRateLimitClientConfigClient)(nil).UpdateRateLimitClientConfigStatus), varargs...) +} + +// UpsertRateLimitClientConfig mocks base method. +func (m *MockRateLimitClientConfigClient) UpsertRateLimitClientConfig(ctx context.Context, obj *v2.RateLimitClientConfig, transitionFuncs ...v2.RateLimitClientConfigTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertRateLimitClientConfig", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertRateLimitClientConfig indicates an expected call of UpsertRateLimitClientConfig. +func (mr *MockRateLimitClientConfigClientMockRecorder) UpsertRateLimitClientConfig(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertRateLimitClientConfig", reflect.TypeOf((*MockRateLimitClientConfigClient)(nil).UpsertRateLimitClientConfig), varargs...) +} + +// MockMulticlusterRateLimitClientConfigClient is a mock of MulticlusterRateLimitClientConfigClient interface. +type MockMulticlusterRateLimitClientConfigClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterRateLimitClientConfigClientMockRecorder +} + +// MockMulticlusterRateLimitClientConfigClientMockRecorder is the mock recorder for MockMulticlusterRateLimitClientConfigClient. +type MockMulticlusterRateLimitClientConfigClientMockRecorder struct { + mock *MockMulticlusterRateLimitClientConfigClient +} + +// NewMockMulticlusterRateLimitClientConfigClient creates a new mock instance. +func NewMockMulticlusterRateLimitClientConfigClient(ctrl *gomock.Controller) *MockMulticlusterRateLimitClientConfigClient { + mock := &MockMulticlusterRateLimitClientConfigClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterRateLimitClientConfigClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterRateLimitClientConfigClient) EXPECT() *MockMulticlusterRateLimitClientConfigClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterRateLimitClientConfigClient) Cluster(cluster string) (v2.RateLimitClientConfigClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.RateLimitClientConfigClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterRateLimitClientConfigClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterRateLimitClientConfigClient)(nil).Cluster), cluster) +} + +// MockHeaderManipulationPolicyReader is a mock of HeaderManipulationPolicyReader interface. +type MockHeaderManipulationPolicyReader struct { + ctrl *gomock.Controller + recorder *MockHeaderManipulationPolicyReaderMockRecorder +} + +// MockHeaderManipulationPolicyReaderMockRecorder is the mock recorder for MockHeaderManipulationPolicyReader. +type MockHeaderManipulationPolicyReaderMockRecorder struct { + mock *MockHeaderManipulationPolicyReader +} + +// NewMockHeaderManipulationPolicyReader creates a new mock instance. +func NewMockHeaderManipulationPolicyReader(ctrl *gomock.Controller) *MockHeaderManipulationPolicyReader { + mock := &MockHeaderManipulationPolicyReader{ctrl: ctrl} + mock.recorder = &MockHeaderManipulationPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHeaderManipulationPolicyReader) EXPECT() *MockHeaderManipulationPolicyReaderMockRecorder { + return m.recorder +} + +// GetHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyReader) GetHeaderManipulationPolicy(ctx context.Context, key client.ObjectKey) (*v2.HeaderManipulationPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetHeaderManipulationPolicy", ctx, key) + ret0, _ := ret[0].(*v2.HeaderManipulationPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetHeaderManipulationPolicy indicates an expected call of GetHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyReaderMockRecorder) GetHeaderManipulationPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyReader)(nil).GetHeaderManipulationPolicy), ctx, key) +} + +// ListHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyReader) ListHeaderManipulationPolicy(ctx context.Context, opts ...client.ListOption) (*v2.HeaderManipulationPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(*v2.HeaderManipulationPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListHeaderManipulationPolicy indicates an expected call of ListHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyReaderMockRecorder) ListHeaderManipulationPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyReader)(nil).ListHeaderManipulationPolicy), varargs...) +} + +// MockHeaderManipulationPolicyWriter is a mock of HeaderManipulationPolicyWriter interface. +type MockHeaderManipulationPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockHeaderManipulationPolicyWriterMockRecorder +} + +// MockHeaderManipulationPolicyWriterMockRecorder is the mock recorder for MockHeaderManipulationPolicyWriter. +type MockHeaderManipulationPolicyWriterMockRecorder struct { + mock *MockHeaderManipulationPolicyWriter +} + +// NewMockHeaderManipulationPolicyWriter creates a new mock instance. +func NewMockHeaderManipulationPolicyWriter(ctrl *gomock.Controller) *MockHeaderManipulationPolicyWriter { + mock := &MockHeaderManipulationPolicyWriter{ctrl: ctrl} + mock.recorder = &MockHeaderManipulationPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHeaderManipulationPolicyWriter) EXPECT() *MockHeaderManipulationPolicyWriterMockRecorder { + return m.recorder +} + +// CreateHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyWriter) CreateHeaderManipulationPolicy(ctx context.Context, obj *v2.HeaderManipulationPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateHeaderManipulationPolicy indicates an expected call of CreateHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyWriterMockRecorder) CreateHeaderManipulationPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyWriter)(nil).CreateHeaderManipulationPolicy), varargs...) +} + +// DeleteAllOfHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyWriter) DeleteAllOfHeaderManipulationPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfHeaderManipulationPolicy indicates an expected call of DeleteAllOfHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyWriterMockRecorder) DeleteAllOfHeaderManipulationPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyWriter)(nil).DeleteAllOfHeaderManipulationPolicy), varargs...) +} + +// DeleteHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyWriter) DeleteHeaderManipulationPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteHeaderManipulationPolicy indicates an expected call of DeleteHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyWriterMockRecorder) DeleteHeaderManipulationPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyWriter)(nil).DeleteHeaderManipulationPolicy), varargs...) +} + +// PatchHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyWriter) PatchHeaderManipulationPolicy(ctx context.Context, obj *v2.HeaderManipulationPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchHeaderManipulationPolicy indicates an expected call of PatchHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyWriterMockRecorder) PatchHeaderManipulationPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyWriter)(nil).PatchHeaderManipulationPolicy), varargs...) +} + +// UpdateHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyWriter) UpdateHeaderManipulationPolicy(ctx context.Context, obj *v2.HeaderManipulationPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateHeaderManipulationPolicy indicates an expected call of UpdateHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyWriterMockRecorder) UpdateHeaderManipulationPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyWriter)(nil).UpdateHeaderManipulationPolicy), varargs...) +} + +// UpsertHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyWriter) UpsertHeaderManipulationPolicy(ctx context.Context, obj *v2.HeaderManipulationPolicy, transitionFuncs ...v2.HeaderManipulationPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertHeaderManipulationPolicy indicates an expected call of UpsertHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyWriterMockRecorder) UpsertHeaderManipulationPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyWriter)(nil).UpsertHeaderManipulationPolicy), varargs...) +} + +// MockHeaderManipulationPolicyStatusWriter is a mock of HeaderManipulationPolicyStatusWriter interface. +type MockHeaderManipulationPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockHeaderManipulationPolicyStatusWriterMockRecorder +} + +// MockHeaderManipulationPolicyStatusWriterMockRecorder is the mock recorder for MockHeaderManipulationPolicyStatusWriter. +type MockHeaderManipulationPolicyStatusWriterMockRecorder struct { + mock *MockHeaderManipulationPolicyStatusWriter +} + +// NewMockHeaderManipulationPolicyStatusWriter creates a new mock instance. +func NewMockHeaderManipulationPolicyStatusWriter(ctrl *gomock.Controller) *MockHeaderManipulationPolicyStatusWriter { + mock := &MockHeaderManipulationPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockHeaderManipulationPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHeaderManipulationPolicyStatusWriter) EXPECT() *MockHeaderManipulationPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchHeaderManipulationPolicyStatus mocks base method. +func (m *MockHeaderManipulationPolicyStatusWriter) PatchHeaderManipulationPolicyStatus(ctx context.Context, obj *v2.HeaderManipulationPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchHeaderManipulationPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchHeaderManipulationPolicyStatus indicates an expected call of PatchHeaderManipulationPolicyStatus. +func (mr *MockHeaderManipulationPolicyStatusWriterMockRecorder) PatchHeaderManipulationPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchHeaderManipulationPolicyStatus", reflect.TypeOf((*MockHeaderManipulationPolicyStatusWriter)(nil).PatchHeaderManipulationPolicyStatus), varargs...) +} + +// UpdateHeaderManipulationPolicyStatus mocks base method. +func (m *MockHeaderManipulationPolicyStatusWriter) UpdateHeaderManipulationPolicyStatus(ctx context.Context, obj *v2.HeaderManipulationPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateHeaderManipulationPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateHeaderManipulationPolicyStatus indicates an expected call of UpdateHeaderManipulationPolicyStatus. +func (mr *MockHeaderManipulationPolicyStatusWriterMockRecorder) UpdateHeaderManipulationPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateHeaderManipulationPolicyStatus", reflect.TypeOf((*MockHeaderManipulationPolicyStatusWriter)(nil).UpdateHeaderManipulationPolicyStatus), varargs...) +} + +// MockHeaderManipulationPolicyClient is a mock of HeaderManipulationPolicyClient interface. +type MockHeaderManipulationPolicyClient struct { + ctrl *gomock.Controller + recorder *MockHeaderManipulationPolicyClientMockRecorder +} + +// MockHeaderManipulationPolicyClientMockRecorder is the mock recorder for MockHeaderManipulationPolicyClient. +type MockHeaderManipulationPolicyClientMockRecorder struct { + mock *MockHeaderManipulationPolicyClient +} + +// NewMockHeaderManipulationPolicyClient creates a new mock instance. +func NewMockHeaderManipulationPolicyClient(ctrl *gomock.Controller) *MockHeaderManipulationPolicyClient { + mock := &MockHeaderManipulationPolicyClient{ctrl: ctrl} + mock.recorder = &MockHeaderManipulationPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHeaderManipulationPolicyClient) EXPECT() *MockHeaderManipulationPolicyClientMockRecorder { + return m.recorder +} + +// CreateHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyClient) CreateHeaderManipulationPolicy(ctx context.Context, obj *v2.HeaderManipulationPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateHeaderManipulationPolicy indicates an expected call of CreateHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyClientMockRecorder) CreateHeaderManipulationPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyClient)(nil).CreateHeaderManipulationPolicy), varargs...) +} + +// DeleteAllOfHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyClient) DeleteAllOfHeaderManipulationPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfHeaderManipulationPolicy indicates an expected call of DeleteAllOfHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyClientMockRecorder) DeleteAllOfHeaderManipulationPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyClient)(nil).DeleteAllOfHeaderManipulationPolicy), varargs...) +} + +// DeleteHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyClient) DeleteHeaderManipulationPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteHeaderManipulationPolicy indicates an expected call of DeleteHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyClientMockRecorder) DeleteHeaderManipulationPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyClient)(nil).DeleteHeaderManipulationPolicy), varargs...) +} + +// GetHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyClient) GetHeaderManipulationPolicy(ctx context.Context, key client.ObjectKey) (*v2.HeaderManipulationPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetHeaderManipulationPolicy", ctx, key) + ret0, _ := ret[0].(*v2.HeaderManipulationPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetHeaderManipulationPolicy indicates an expected call of GetHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyClientMockRecorder) GetHeaderManipulationPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyClient)(nil).GetHeaderManipulationPolicy), ctx, key) +} + +// ListHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyClient) ListHeaderManipulationPolicy(ctx context.Context, opts ...client.ListOption) (*v2.HeaderManipulationPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(*v2.HeaderManipulationPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListHeaderManipulationPolicy indicates an expected call of ListHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyClientMockRecorder) ListHeaderManipulationPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyClient)(nil).ListHeaderManipulationPolicy), varargs...) +} + +// PatchHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyClient) PatchHeaderManipulationPolicy(ctx context.Context, obj *v2.HeaderManipulationPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchHeaderManipulationPolicy indicates an expected call of PatchHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyClientMockRecorder) PatchHeaderManipulationPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyClient)(nil).PatchHeaderManipulationPolicy), varargs...) +} + +// PatchHeaderManipulationPolicyStatus mocks base method. +func (m *MockHeaderManipulationPolicyClient) PatchHeaderManipulationPolicyStatus(ctx context.Context, obj *v2.HeaderManipulationPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchHeaderManipulationPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchHeaderManipulationPolicyStatus indicates an expected call of PatchHeaderManipulationPolicyStatus. +func (mr *MockHeaderManipulationPolicyClientMockRecorder) PatchHeaderManipulationPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchHeaderManipulationPolicyStatus", reflect.TypeOf((*MockHeaderManipulationPolicyClient)(nil).PatchHeaderManipulationPolicyStatus), varargs...) +} + +// UpdateHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyClient) UpdateHeaderManipulationPolicy(ctx context.Context, obj *v2.HeaderManipulationPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateHeaderManipulationPolicy indicates an expected call of UpdateHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyClientMockRecorder) UpdateHeaderManipulationPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyClient)(nil).UpdateHeaderManipulationPolicy), varargs...) +} + +// UpdateHeaderManipulationPolicyStatus mocks base method. +func (m *MockHeaderManipulationPolicyClient) UpdateHeaderManipulationPolicyStatus(ctx context.Context, obj *v2.HeaderManipulationPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateHeaderManipulationPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateHeaderManipulationPolicyStatus indicates an expected call of UpdateHeaderManipulationPolicyStatus. +func (mr *MockHeaderManipulationPolicyClientMockRecorder) UpdateHeaderManipulationPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateHeaderManipulationPolicyStatus", reflect.TypeOf((*MockHeaderManipulationPolicyClient)(nil).UpdateHeaderManipulationPolicyStatus), varargs...) +} + +// UpsertHeaderManipulationPolicy mocks base method. +func (m *MockHeaderManipulationPolicyClient) UpsertHeaderManipulationPolicy(ctx context.Context, obj *v2.HeaderManipulationPolicy, transitionFuncs ...v2.HeaderManipulationPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertHeaderManipulationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertHeaderManipulationPolicy indicates an expected call of UpsertHeaderManipulationPolicy. +func (mr *MockHeaderManipulationPolicyClientMockRecorder) UpsertHeaderManipulationPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertHeaderManipulationPolicy", reflect.TypeOf((*MockHeaderManipulationPolicyClient)(nil).UpsertHeaderManipulationPolicy), varargs...) +} + +// MockMulticlusterHeaderManipulationPolicyClient is a mock of MulticlusterHeaderManipulationPolicyClient interface. +type MockMulticlusterHeaderManipulationPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterHeaderManipulationPolicyClientMockRecorder +} + +// MockMulticlusterHeaderManipulationPolicyClientMockRecorder is the mock recorder for MockMulticlusterHeaderManipulationPolicyClient. +type MockMulticlusterHeaderManipulationPolicyClientMockRecorder struct { + mock *MockMulticlusterHeaderManipulationPolicyClient +} + +// NewMockMulticlusterHeaderManipulationPolicyClient creates a new mock instance. +func NewMockMulticlusterHeaderManipulationPolicyClient(ctrl *gomock.Controller) *MockMulticlusterHeaderManipulationPolicyClient { + mock := &MockMulticlusterHeaderManipulationPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterHeaderManipulationPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterHeaderManipulationPolicyClient) EXPECT() *MockMulticlusterHeaderManipulationPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterHeaderManipulationPolicyClient) Cluster(cluster string) (v2.HeaderManipulationPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.HeaderManipulationPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterHeaderManipulationPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterHeaderManipulationPolicyClient)(nil).Cluster), cluster) +} + +// MockTransformationPolicyReader is a mock of TransformationPolicyReader interface. +type MockTransformationPolicyReader struct { + ctrl *gomock.Controller + recorder *MockTransformationPolicyReaderMockRecorder +} + +// MockTransformationPolicyReaderMockRecorder is the mock recorder for MockTransformationPolicyReader. +type MockTransformationPolicyReaderMockRecorder struct { + mock *MockTransformationPolicyReader +} + +// NewMockTransformationPolicyReader creates a new mock instance. +func NewMockTransformationPolicyReader(ctrl *gomock.Controller) *MockTransformationPolicyReader { + mock := &MockTransformationPolicyReader{ctrl: ctrl} + mock.recorder = &MockTransformationPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTransformationPolicyReader) EXPECT() *MockTransformationPolicyReaderMockRecorder { + return m.recorder +} + +// GetTransformationPolicy mocks base method. +func (m *MockTransformationPolicyReader) GetTransformationPolicy(ctx context.Context, key client.ObjectKey) (*v2.TransformationPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetTransformationPolicy", ctx, key) + ret0, _ := ret[0].(*v2.TransformationPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetTransformationPolicy indicates an expected call of GetTransformationPolicy. +func (mr *MockTransformationPolicyReaderMockRecorder) GetTransformationPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyReader)(nil).GetTransformationPolicy), ctx, key) +} + +// ListTransformationPolicy mocks base method. +func (m *MockTransformationPolicyReader) ListTransformationPolicy(ctx context.Context, opts ...client.ListOption) (*v2.TransformationPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListTransformationPolicy", varargs...) + ret0, _ := ret[0].(*v2.TransformationPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListTransformationPolicy indicates an expected call of ListTransformationPolicy. +func (mr *MockTransformationPolicyReaderMockRecorder) ListTransformationPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyReader)(nil).ListTransformationPolicy), varargs...) +} + +// MockTransformationPolicyWriter is a mock of TransformationPolicyWriter interface. +type MockTransformationPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockTransformationPolicyWriterMockRecorder +} + +// MockTransformationPolicyWriterMockRecorder is the mock recorder for MockTransformationPolicyWriter. +type MockTransformationPolicyWriterMockRecorder struct { + mock *MockTransformationPolicyWriter +} + +// NewMockTransformationPolicyWriter creates a new mock instance. +func NewMockTransformationPolicyWriter(ctrl *gomock.Controller) *MockTransformationPolicyWriter { + mock := &MockTransformationPolicyWriter{ctrl: ctrl} + mock.recorder = &MockTransformationPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTransformationPolicyWriter) EXPECT() *MockTransformationPolicyWriterMockRecorder { + return m.recorder +} + +// CreateTransformationPolicy mocks base method. +func (m *MockTransformationPolicyWriter) CreateTransformationPolicy(ctx context.Context, obj *v2.TransformationPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateTransformationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateTransformationPolicy indicates an expected call of CreateTransformationPolicy. +func (mr *MockTransformationPolicyWriterMockRecorder) CreateTransformationPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyWriter)(nil).CreateTransformationPolicy), varargs...) +} + +// DeleteAllOfTransformationPolicy mocks base method. +func (m *MockTransformationPolicyWriter) DeleteAllOfTransformationPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfTransformationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfTransformationPolicy indicates an expected call of DeleteAllOfTransformationPolicy. +func (mr *MockTransformationPolicyWriterMockRecorder) DeleteAllOfTransformationPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyWriter)(nil).DeleteAllOfTransformationPolicy), varargs...) +} + +// DeleteTransformationPolicy mocks base method. +func (m *MockTransformationPolicyWriter) DeleteTransformationPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteTransformationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteTransformationPolicy indicates an expected call of DeleteTransformationPolicy. +func (mr *MockTransformationPolicyWriterMockRecorder) DeleteTransformationPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyWriter)(nil).DeleteTransformationPolicy), varargs...) +} + +// PatchTransformationPolicy mocks base method. +func (m *MockTransformationPolicyWriter) PatchTransformationPolicy(ctx context.Context, obj *v2.TransformationPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchTransformationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchTransformationPolicy indicates an expected call of PatchTransformationPolicy. +func (mr *MockTransformationPolicyWriterMockRecorder) PatchTransformationPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyWriter)(nil).PatchTransformationPolicy), varargs...) +} + +// UpdateTransformationPolicy mocks base method. +func (m *MockTransformationPolicyWriter) UpdateTransformationPolicy(ctx context.Context, obj *v2.TransformationPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateTransformationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateTransformationPolicy indicates an expected call of UpdateTransformationPolicy. +func (mr *MockTransformationPolicyWriterMockRecorder) UpdateTransformationPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyWriter)(nil).UpdateTransformationPolicy), varargs...) +} + +// UpsertTransformationPolicy mocks base method. +func (m *MockTransformationPolicyWriter) UpsertTransformationPolicy(ctx context.Context, obj *v2.TransformationPolicy, transitionFuncs ...v2.TransformationPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertTransformationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertTransformationPolicy indicates an expected call of UpsertTransformationPolicy. +func (mr *MockTransformationPolicyWriterMockRecorder) UpsertTransformationPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyWriter)(nil).UpsertTransformationPolicy), varargs...) +} + +// MockTransformationPolicyStatusWriter is a mock of TransformationPolicyStatusWriter interface. +type MockTransformationPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockTransformationPolicyStatusWriterMockRecorder +} + +// MockTransformationPolicyStatusWriterMockRecorder is the mock recorder for MockTransformationPolicyStatusWriter. +type MockTransformationPolicyStatusWriterMockRecorder struct { + mock *MockTransformationPolicyStatusWriter +} + +// NewMockTransformationPolicyStatusWriter creates a new mock instance. +func NewMockTransformationPolicyStatusWriter(ctrl *gomock.Controller) *MockTransformationPolicyStatusWriter { + mock := &MockTransformationPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockTransformationPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTransformationPolicyStatusWriter) EXPECT() *MockTransformationPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchTransformationPolicyStatus mocks base method. +func (m *MockTransformationPolicyStatusWriter) PatchTransformationPolicyStatus(ctx context.Context, obj *v2.TransformationPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchTransformationPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchTransformationPolicyStatus indicates an expected call of PatchTransformationPolicyStatus. +func (mr *MockTransformationPolicyStatusWriterMockRecorder) PatchTransformationPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchTransformationPolicyStatus", reflect.TypeOf((*MockTransformationPolicyStatusWriter)(nil).PatchTransformationPolicyStatus), varargs...) +} + +// UpdateTransformationPolicyStatus mocks base method. +func (m *MockTransformationPolicyStatusWriter) UpdateTransformationPolicyStatus(ctx context.Context, obj *v2.TransformationPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateTransformationPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateTransformationPolicyStatus indicates an expected call of UpdateTransformationPolicyStatus. +func (mr *MockTransformationPolicyStatusWriterMockRecorder) UpdateTransformationPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTransformationPolicyStatus", reflect.TypeOf((*MockTransformationPolicyStatusWriter)(nil).UpdateTransformationPolicyStatus), varargs...) +} + +// MockTransformationPolicyClient is a mock of TransformationPolicyClient interface. +type MockTransformationPolicyClient struct { + ctrl *gomock.Controller + recorder *MockTransformationPolicyClientMockRecorder +} + +// MockTransformationPolicyClientMockRecorder is the mock recorder for MockTransformationPolicyClient. +type MockTransformationPolicyClientMockRecorder struct { + mock *MockTransformationPolicyClient +} + +// NewMockTransformationPolicyClient creates a new mock instance. +func NewMockTransformationPolicyClient(ctrl *gomock.Controller) *MockTransformationPolicyClient { + mock := &MockTransformationPolicyClient{ctrl: ctrl} + mock.recorder = &MockTransformationPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTransformationPolicyClient) EXPECT() *MockTransformationPolicyClientMockRecorder { + return m.recorder +} + +// CreateTransformationPolicy mocks base method. +func (m *MockTransformationPolicyClient) CreateTransformationPolicy(ctx context.Context, obj *v2.TransformationPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateTransformationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateTransformationPolicy indicates an expected call of CreateTransformationPolicy. +func (mr *MockTransformationPolicyClientMockRecorder) CreateTransformationPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyClient)(nil).CreateTransformationPolicy), varargs...) +} + +// DeleteAllOfTransformationPolicy mocks base method. +func (m *MockTransformationPolicyClient) DeleteAllOfTransformationPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfTransformationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfTransformationPolicy indicates an expected call of DeleteAllOfTransformationPolicy. +func (mr *MockTransformationPolicyClientMockRecorder) DeleteAllOfTransformationPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyClient)(nil).DeleteAllOfTransformationPolicy), varargs...) +} + +// DeleteTransformationPolicy mocks base method. +func (m *MockTransformationPolicyClient) DeleteTransformationPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteTransformationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteTransformationPolicy indicates an expected call of DeleteTransformationPolicy. +func (mr *MockTransformationPolicyClientMockRecorder) DeleteTransformationPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyClient)(nil).DeleteTransformationPolicy), varargs...) +} + +// GetTransformationPolicy mocks base method. +func (m *MockTransformationPolicyClient) GetTransformationPolicy(ctx context.Context, key client.ObjectKey) (*v2.TransformationPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetTransformationPolicy", ctx, key) + ret0, _ := ret[0].(*v2.TransformationPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetTransformationPolicy indicates an expected call of GetTransformationPolicy. +func (mr *MockTransformationPolicyClientMockRecorder) GetTransformationPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyClient)(nil).GetTransformationPolicy), ctx, key) +} + +// ListTransformationPolicy mocks base method. +func (m *MockTransformationPolicyClient) ListTransformationPolicy(ctx context.Context, opts ...client.ListOption) (*v2.TransformationPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListTransformationPolicy", varargs...) + ret0, _ := ret[0].(*v2.TransformationPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListTransformationPolicy indicates an expected call of ListTransformationPolicy. +func (mr *MockTransformationPolicyClientMockRecorder) ListTransformationPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyClient)(nil).ListTransformationPolicy), varargs...) +} + +// PatchTransformationPolicy mocks base method. +func (m *MockTransformationPolicyClient) PatchTransformationPolicy(ctx context.Context, obj *v2.TransformationPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchTransformationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchTransformationPolicy indicates an expected call of PatchTransformationPolicy. +func (mr *MockTransformationPolicyClientMockRecorder) PatchTransformationPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyClient)(nil).PatchTransformationPolicy), varargs...) +} + +// PatchTransformationPolicyStatus mocks base method. +func (m *MockTransformationPolicyClient) PatchTransformationPolicyStatus(ctx context.Context, obj *v2.TransformationPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchTransformationPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchTransformationPolicyStatus indicates an expected call of PatchTransformationPolicyStatus. +func (mr *MockTransformationPolicyClientMockRecorder) PatchTransformationPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchTransformationPolicyStatus", reflect.TypeOf((*MockTransformationPolicyClient)(nil).PatchTransformationPolicyStatus), varargs...) +} + +// UpdateTransformationPolicy mocks base method. +func (m *MockTransformationPolicyClient) UpdateTransformationPolicy(ctx context.Context, obj *v2.TransformationPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateTransformationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateTransformationPolicy indicates an expected call of UpdateTransformationPolicy. +func (mr *MockTransformationPolicyClientMockRecorder) UpdateTransformationPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyClient)(nil).UpdateTransformationPolicy), varargs...) +} + +// UpdateTransformationPolicyStatus mocks base method. +func (m *MockTransformationPolicyClient) UpdateTransformationPolicyStatus(ctx context.Context, obj *v2.TransformationPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateTransformationPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateTransformationPolicyStatus indicates an expected call of UpdateTransformationPolicyStatus. +func (mr *MockTransformationPolicyClientMockRecorder) UpdateTransformationPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTransformationPolicyStatus", reflect.TypeOf((*MockTransformationPolicyClient)(nil).UpdateTransformationPolicyStatus), varargs...) +} + +// UpsertTransformationPolicy mocks base method. +func (m *MockTransformationPolicyClient) UpsertTransformationPolicy(ctx context.Context, obj *v2.TransformationPolicy, transitionFuncs ...v2.TransformationPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertTransformationPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertTransformationPolicy indicates an expected call of UpsertTransformationPolicy. +func (mr *MockTransformationPolicyClientMockRecorder) UpsertTransformationPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertTransformationPolicy", reflect.TypeOf((*MockTransformationPolicyClient)(nil).UpsertTransformationPolicy), varargs...) +} + +// MockMulticlusterTransformationPolicyClient is a mock of MulticlusterTransformationPolicyClient interface. +type MockMulticlusterTransformationPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterTransformationPolicyClientMockRecorder +} + +// MockMulticlusterTransformationPolicyClientMockRecorder is the mock recorder for MockMulticlusterTransformationPolicyClient. +type MockMulticlusterTransformationPolicyClientMockRecorder struct { + mock *MockMulticlusterTransformationPolicyClient +} + +// NewMockMulticlusterTransformationPolicyClient creates a new mock instance. +func NewMockMulticlusterTransformationPolicyClient(ctrl *gomock.Controller) *MockMulticlusterTransformationPolicyClient { + mock := &MockMulticlusterTransformationPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterTransformationPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterTransformationPolicyClient) EXPECT() *MockMulticlusterTransformationPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterTransformationPolicyClient) Cluster(cluster string) (v2.TransformationPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.TransformationPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterTransformationPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterTransformationPolicyClient)(nil).Cluster), cluster) +} + +// MockLoadBalancerPolicyReader is a mock of LoadBalancerPolicyReader interface. +type MockLoadBalancerPolicyReader struct { + ctrl *gomock.Controller + recorder *MockLoadBalancerPolicyReaderMockRecorder +} + +// MockLoadBalancerPolicyReaderMockRecorder is the mock recorder for MockLoadBalancerPolicyReader. +type MockLoadBalancerPolicyReaderMockRecorder struct { + mock *MockLoadBalancerPolicyReader +} + +// NewMockLoadBalancerPolicyReader creates a new mock instance. +func NewMockLoadBalancerPolicyReader(ctrl *gomock.Controller) *MockLoadBalancerPolicyReader { + mock := &MockLoadBalancerPolicyReader{ctrl: ctrl} + mock.recorder = &MockLoadBalancerPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockLoadBalancerPolicyReader) EXPECT() *MockLoadBalancerPolicyReaderMockRecorder { + return m.recorder +} + +// GetLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyReader) GetLoadBalancerPolicy(ctx context.Context, key client.ObjectKey) (*v2.LoadBalancerPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetLoadBalancerPolicy", ctx, key) + ret0, _ := ret[0].(*v2.LoadBalancerPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetLoadBalancerPolicy indicates an expected call of GetLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyReaderMockRecorder) GetLoadBalancerPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyReader)(nil).GetLoadBalancerPolicy), ctx, key) +} + +// ListLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyReader) ListLoadBalancerPolicy(ctx context.Context, opts ...client.ListOption) (*v2.LoadBalancerPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(*v2.LoadBalancerPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListLoadBalancerPolicy indicates an expected call of ListLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyReaderMockRecorder) ListLoadBalancerPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyReader)(nil).ListLoadBalancerPolicy), varargs...) +} + +// MockLoadBalancerPolicyWriter is a mock of LoadBalancerPolicyWriter interface. +type MockLoadBalancerPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockLoadBalancerPolicyWriterMockRecorder +} + +// MockLoadBalancerPolicyWriterMockRecorder is the mock recorder for MockLoadBalancerPolicyWriter. +type MockLoadBalancerPolicyWriterMockRecorder struct { + mock *MockLoadBalancerPolicyWriter +} + +// NewMockLoadBalancerPolicyWriter creates a new mock instance. +func NewMockLoadBalancerPolicyWriter(ctrl *gomock.Controller) *MockLoadBalancerPolicyWriter { + mock := &MockLoadBalancerPolicyWriter{ctrl: ctrl} + mock.recorder = &MockLoadBalancerPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockLoadBalancerPolicyWriter) EXPECT() *MockLoadBalancerPolicyWriterMockRecorder { + return m.recorder +} + +// CreateLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyWriter) CreateLoadBalancerPolicy(ctx context.Context, obj *v2.LoadBalancerPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateLoadBalancerPolicy indicates an expected call of CreateLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyWriterMockRecorder) CreateLoadBalancerPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyWriter)(nil).CreateLoadBalancerPolicy), varargs...) +} + +// DeleteAllOfLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyWriter) DeleteAllOfLoadBalancerPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfLoadBalancerPolicy indicates an expected call of DeleteAllOfLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyWriterMockRecorder) DeleteAllOfLoadBalancerPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyWriter)(nil).DeleteAllOfLoadBalancerPolicy), varargs...) +} + +// DeleteLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyWriter) DeleteLoadBalancerPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteLoadBalancerPolicy indicates an expected call of DeleteLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyWriterMockRecorder) DeleteLoadBalancerPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyWriter)(nil).DeleteLoadBalancerPolicy), varargs...) +} + +// PatchLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyWriter) PatchLoadBalancerPolicy(ctx context.Context, obj *v2.LoadBalancerPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchLoadBalancerPolicy indicates an expected call of PatchLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyWriterMockRecorder) PatchLoadBalancerPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyWriter)(nil).PatchLoadBalancerPolicy), varargs...) +} + +// UpdateLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyWriter) UpdateLoadBalancerPolicy(ctx context.Context, obj *v2.LoadBalancerPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateLoadBalancerPolicy indicates an expected call of UpdateLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyWriterMockRecorder) UpdateLoadBalancerPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyWriter)(nil).UpdateLoadBalancerPolicy), varargs...) +} + +// UpsertLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyWriter) UpsertLoadBalancerPolicy(ctx context.Context, obj *v2.LoadBalancerPolicy, transitionFuncs ...v2.LoadBalancerPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertLoadBalancerPolicy indicates an expected call of UpsertLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyWriterMockRecorder) UpsertLoadBalancerPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyWriter)(nil).UpsertLoadBalancerPolicy), varargs...) +} + +// MockLoadBalancerPolicyStatusWriter is a mock of LoadBalancerPolicyStatusWriter interface. +type MockLoadBalancerPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockLoadBalancerPolicyStatusWriterMockRecorder +} + +// MockLoadBalancerPolicyStatusWriterMockRecorder is the mock recorder for MockLoadBalancerPolicyStatusWriter. +type MockLoadBalancerPolicyStatusWriterMockRecorder struct { + mock *MockLoadBalancerPolicyStatusWriter +} + +// NewMockLoadBalancerPolicyStatusWriter creates a new mock instance. +func NewMockLoadBalancerPolicyStatusWriter(ctrl *gomock.Controller) *MockLoadBalancerPolicyStatusWriter { + mock := &MockLoadBalancerPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockLoadBalancerPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockLoadBalancerPolicyStatusWriter) EXPECT() *MockLoadBalancerPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchLoadBalancerPolicyStatus mocks base method. +func (m *MockLoadBalancerPolicyStatusWriter) PatchLoadBalancerPolicyStatus(ctx context.Context, obj *v2.LoadBalancerPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchLoadBalancerPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchLoadBalancerPolicyStatus indicates an expected call of PatchLoadBalancerPolicyStatus. +func (mr *MockLoadBalancerPolicyStatusWriterMockRecorder) PatchLoadBalancerPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchLoadBalancerPolicyStatus", reflect.TypeOf((*MockLoadBalancerPolicyStatusWriter)(nil).PatchLoadBalancerPolicyStatus), varargs...) +} + +// UpdateLoadBalancerPolicyStatus mocks base method. +func (m *MockLoadBalancerPolicyStatusWriter) UpdateLoadBalancerPolicyStatus(ctx context.Context, obj *v2.LoadBalancerPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateLoadBalancerPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateLoadBalancerPolicyStatus indicates an expected call of UpdateLoadBalancerPolicyStatus. +func (mr *MockLoadBalancerPolicyStatusWriterMockRecorder) UpdateLoadBalancerPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateLoadBalancerPolicyStatus", reflect.TypeOf((*MockLoadBalancerPolicyStatusWriter)(nil).UpdateLoadBalancerPolicyStatus), varargs...) +} + +// MockLoadBalancerPolicyClient is a mock of LoadBalancerPolicyClient interface. +type MockLoadBalancerPolicyClient struct { + ctrl *gomock.Controller + recorder *MockLoadBalancerPolicyClientMockRecorder +} + +// MockLoadBalancerPolicyClientMockRecorder is the mock recorder for MockLoadBalancerPolicyClient. +type MockLoadBalancerPolicyClientMockRecorder struct { + mock *MockLoadBalancerPolicyClient +} + +// NewMockLoadBalancerPolicyClient creates a new mock instance. +func NewMockLoadBalancerPolicyClient(ctrl *gomock.Controller) *MockLoadBalancerPolicyClient { + mock := &MockLoadBalancerPolicyClient{ctrl: ctrl} + mock.recorder = &MockLoadBalancerPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockLoadBalancerPolicyClient) EXPECT() *MockLoadBalancerPolicyClientMockRecorder { + return m.recorder +} + +// CreateLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyClient) CreateLoadBalancerPolicy(ctx context.Context, obj *v2.LoadBalancerPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateLoadBalancerPolicy indicates an expected call of CreateLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyClientMockRecorder) CreateLoadBalancerPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyClient)(nil).CreateLoadBalancerPolicy), varargs...) +} + +// DeleteAllOfLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyClient) DeleteAllOfLoadBalancerPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfLoadBalancerPolicy indicates an expected call of DeleteAllOfLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyClientMockRecorder) DeleteAllOfLoadBalancerPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyClient)(nil).DeleteAllOfLoadBalancerPolicy), varargs...) +} + +// DeleteLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyClient) DeleteLoadBalancerPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteLoadBalancerPolicy indicates an expected call of DeleteLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyClientMockRecorder) DeleteLoadBalancerPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyClient)(nil).DeleteLoadBalancerPolicy), varargs...) +} + +// GetLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyClient) GetLoadBalancerPolicy(ctx context.Context, key client.ObjectKey) (*v2.LoadBalancerPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetLoadBalancerPolicy", ctx, key) + ret0, _ := ret[0].(*v2.LoadBalancerPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetLoadBalancerPolicy indicates an expected call of GetLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyClientMockRecorder) GetLoadBalancerPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyClient)(nil).GetLoadBalancerPolicy), ctx, key) +} + +// ListLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyClient) ListLoadBalancerPolicy(ctx context.Context, opts ...client.ListOption) (*v2.LoadBalancerPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(*v2.LoadBalancerPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListLoadBalancerPolicy indicates an expected call of ListLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyClientMockRecorder) ListLoadBalancerPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyClient)(nil).ListLoadBalancerPolicy), varargs...) +} + +// PatchLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyClient) PatchLoadBalancerPolicy(ctx context.Context, obj *v2.LoadBalancerPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchLoadBalancerPolicy indicates an expected call of PatchLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyClientMockRecorder) PatchLoadBalancerPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyClient)(nil).PatchLoadBalancerPolicy), varargs...) +} + +// PatchLoadBalancerPolicyStatus mocks base method. +func (m *MockLoadBalancerPolicyClient) PatchLoadBalancerPolicyStatus(ctx context.Context, obj *v2.LoadBalancerPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchLoadBalancerPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchLoadBalancerPolicyStatus indicates an expected call of PatchLoadBalancerPolicyStatus. +func (mr *MockLoadBalancerPolicyClientMockRecorder) PatchLoadBalancerPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchLoadBalancerPolicyStatus", reflect.TypeOf((*MockLoadBalancerPolicyClient)(nil).PatchLoadBalancerPolicyStatus), varargs...) +} + +// UpdateLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyClient) UpdateLoadBalancerPolicy(ctx context.Context, obj *v2.LoadBalancerPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateLoadBalancerPolicy indicates an expected call of UpdateLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyClientMockRecorder) UpdateLoadBalancerPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyClient)(nil).UpdateLoadBalancerPolicy), varargs...) +} + +// UpdateLoadBalancerPolicyStatus mocks base method. +func (m *MockLoadBalancerPolicyClient) UpdateLoadBalancerPolicyStatus(ctx context.Context, obj *v2.LoadBalancerPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateLoadBalancerPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateLoadBalancerPolicyStatus indicates an expected call of UpdateLoadBalancerPolicyStatus. +func (mr *MockLoadBalancerPolicyClientMockRecorder) UpdateLoadBalancerPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateLoadBalancerPolicyStatus", reflect.TypeOf((*MockLoadBalancerPolicyClient)(nil).UpdateLoadBalancerPolicyStatus), varargs...) +} + +// UpsertLoadBalancerPolicy mocks base method. +func (m *MockLoadBalancerPolicyClient) UpsertLoadBalancerPolicy(ctx context.Context, obj *v2.LoadBalancerPolicy, transitionFuncs ...v2.LoadBalancerPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertLoadBalancerPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertLoadBalancerPolicy indicates an expected call of UpsertLoadBalancerPolicy. +func (mr *MockLoadBalancerPolicyClientMockRecorder) UpsertLoadBalancerPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertLoadBalancerPolicy", reflect.TypeOf((*MockLoadBalancerPolicyClient)(nil).UpsertLoadBalancerPolicy), varargs...) +} + +// MockMulticlusterLoadBalancerPolicyClient is a mock of MulticlusterLoadBalancerPolicyClient interface. +type MockMulticlusterLoadBalancerPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterLoadBalancerPolicyClientMockRecorder +} + +// MockMulticlusterLoadBalancerPolicyClientMockRecorder is the mock recorder for MockMulticlusterLoadBalancerPolicyClient. +type MockMulticlusterLoadBalancerPolicyClientMockRecorder struct { + mock *MockMulticlusterLoadBalancerPolicyClient +} + +// NewMockMulticlusterLoadBalancerPolicyClient creates a new mock instance. +func NewMockMulticlusterLoadBalancerPolicyClient(ctrl *gomock.Controller) *MockMulticlusterLoadBalancerPolicyClient { + mock := &MockMulticlusterLoadBalancerPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterLoadBalancerPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterLoadBalancerPolicyClient) EXPECT() *MockMulticlusterLoadBalancerPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterLoadBalancerPolicyClient) Cluster(cluster string) (v2.LoadBalancerPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.LoadBalancerPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterLoadBalancerPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterLoadBalancerPolicyClient)(nil).Cluster), cluster) +} + +// MockProxyProtocolPolicyReader is a mock of ProxyProtocolPolicyReader interface. +type MockProxyProtocolPolicyReader struct { + ctrl *gomock.Controller + recorder *MockProxyProtocolPolicyReaderMockRecorder +} + +// MockProxyProtocolPolicyReaderMockRecorder is the mock recorder for MockProxyProtocolPolicyReader. +type MockProxyProtocolPolicyReaderMockRecorder struct { + mock *MockProxyProtocolPolicyReader +} + +// NewMockProxyProtocolPolicyReader creates a new mock instance. +func NewMockProxyProtocolPolicyReader(ctrl *gomock.Controller) *MockProxyProtocolPolicyReader { + mock := &MockProxyProtocolPolicyReader{ctrl: ctrl} + mock.recorder = &MockProxyProtocolPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockProxyProtocolPolicyReader) EXPECT() *MockProxyProtocolPolicyReaderMockRecorder { + return m.recorder +} + +// GetProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyReader) GetProxyProtocolPolicy(ctx context.Context, key client.ObjectKey) (*v2.ProxyProtocolPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetProxyProtocolPolicy", ctx, key) + ret0, _ := ret[0].(*v2.ProxyProtocolPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetProxyProtocolPolicy indicates an expected call of GetProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyReaderMockRecorder) GetProxyProtocolPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyReader)(nil).GetProxyProtocolPolicy), ctx, key) +} + +// ListProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyReader) ListProxyProtocolPolicy(ctx context.Context, opts ...client.ListOption) (*v2.ProxyProtocolPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(*v2.ProxyProtocolPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListProxyProtocolPolicy indicates an expected call of ListProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyReaderMockRecorder) ListProxyProtocolPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyReader)(nil).ListProxyProtocolPolicy), varargs...) +} + +// MockProxyProtocolPolicyWriter is a mock of ProxyProtocolPolicyWriter interface. +type MockProxyProtocolPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockProxyProtocolPolicyWriterMockRecorder +} + +// MockProxyProtocolPolicyWriterMockRecorder is the mock recorder for MockProxyProtocolPolicyWriter. +type MockProxyProtocolPolicyWriterMockRecorder struct { + mock *MockProxyProtocolPolicyWriter +} + +// NewMockProxyProtocolPolicyWriter creates a new mock instance. +func NewMockProxyProtocolPolicyWriter(ctrl *gomock.Controller) *MockProxyProtocolPolicyWriter { + mock := &MockProxyProtocolPolicyWriter{ctrl: ctrl} + mock.recorder = &MockProxyProtocolPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockProxyProtocolPolicyWriter) EXPECT() *MockProxyProtocolPolicyWriterMockRecorder { + return m.recorder +} + +// CreateProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyWriter) CreateProxyProtocolPolicy(ctx context.Context, obj *v2.ProxyProtocolPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateProxyProtocolPolicy indicates an expected call of CreateProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyWriterMockRecorder) CreateProxyProtocolPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyWriter)(nil).CreateProxyProtocolPolicy), varargs...) +} + +// DeleteAllOfProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyWriter) DeleteAllOfProxyProtocolPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfProxyProtocolPolicy indicates an expected call of DeleteAllOfProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyWriterMockRecorder) DeleteAllOfProxyProtocolPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyWriter)(nil).DeleteAllOfProxyProtocolPolicy), varargs...) +} + +// DeleteProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyWriter) DeleteProxyProtocolPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteProxyProtocolPolicy indicates an expected call of DeleteProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyWriterMockRecorder) DeleteProxyProtocolPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyWriter)(nil).DeleteProxyProtocolPolicy), varargs...) +} + +// PatchProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyWriter) PatchProxyProtocolPolicy(ctx context.Context, obj *v2.ProxyProtocolPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchProxyProtocolPolicy indicates an expected call of PatchProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyWriterMockRecorder) PatchProxyProtocolPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyWriter)(nil).PatchProxyProtocolPolicy), varargs...) +} + +// UpdateProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyWriter) UpdateProxyProtocolPolicy(ctx context.Context, obj *v2.ProxyProtocolPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateProxyProtocolPolicy indicates an expected call of UpdateProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyWriterMockRecorder) UpdateProxyProtocolPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyWriter)(nil).UpdateProxyProtocolPolicy), varargs...) +} + +// UpsertProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyWriter) UpsertProxyProtocolPolicy(ctx context.Context, obj *v2.ProxyProtocolPolicy, transitionFuncs ...v2.ProxyProtocolPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertProxyProtocolPolicy indicates an expected call of UpsertProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyWriterMockRecorder) UpsertProxyProtocolPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyWriter)(nil).UpsertProxyProtocolPolicy), varargs...) +} + +// MockProxyProtocolPolicyStatusWriter is a mock of ProxyProtocolPolicyStatusWriter interface. +type MockProxyProtocolPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockProxyProtocolPolicyStatusWriterMockRecorder +} + +// MockProxyProtocolPolicyStatusWriterMockRecorder is the mock recorder for MockProxyProtocolPolicyStatusWriter. +type MockProxyProtocolPolicyStatusWriterMockRecorder struct { + mock *MockProxyProtocolPolicyStatusWriter +} + +// NewMockProxyProtocolPolicyStatusWriter creates a new mock instance. +func NewMockProxyProtocolPolicyStatusWriter(ctrl *gomock.Controller) *MockProxyProtocolPolicyStatusWriter { + mock := &MockProxyProtocolPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockProxyProtocolPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockProxyProtocolPolicyStatusWriter) EXPECT() *MockProxyProtocolPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchProxyProtocolPolicyStatus mocks base method. +func (m *MockProxyProtocolPolicyStatusWriter) PatchProxyProtocolPolicyStatus(ctx context.Context, obj *v2.ProxyProtocolPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchProxyProtocolPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchProxyProtocolPolicyStatus indicates an expected call of PatchProxyProtocolPolicyStatus. +func (mr *MockProxyProtocolPolicyStatusWriterMockRecorder) PatchProxyProtocolPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchProxyProtocolPolicyStatus", reflect.TypeOf((*MockProxyProtocolPolicyStatusWriter)(nil).PatchProxyProtocolPolicyStatus), varargs...) +} + +// UpdateProxyProtocolPolicyStatus mocks base method. +func (m *MockProxyProtocolPolicyStatusWriter) UpdateProxyProtocolPolicyStatus(ctx context.Context, obj *v2.ProxyProtocolPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateProxyProtocolPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateProxyProtocolPolicyStatus indicates an expected call of UpdateProxyProtocolPolicyStatus. +func (mr *MockProxyProtocolPolicyStatusWriterMockRecorder) UpdateProxyProtocolPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProxyProtocolPolicyStatus", reflect.TypeOf((*MockProxyProtocolPolicyStatusWriter)(nil).UpdateProxyProtocolPolicyStatus), varargs...) +} + +// MockProxyProtocolPolicyClient is a mock of ProxyProtocolPolicyClient interface. +type MockProxyProtocolPolicyClient struct { + ctrl *gomock.Controller + recorder *MockProxyProtocolPolicyClientMockRecorder +} + +// MockProxyProtocolPolicyClientMockRecorder is the mock recorder for MockProxyProtocolPolicyClient. +type MockProxyProtocolPolicyClientMockRecorder struct { + mock *MockProxyProtocolPolicyClient +} + +// NewMockProxyProtocolPolicyClient creates a new mock instance. +func NewMockProxyProtocolPolicyClient(ctrl *gomock.Controller) *MockProxyProtocolPolicyClient { + mock := &MockProxyProtocolPolicyClient{ctrl: ctrl} + mock.recorder = &MockProxyProtocolPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockProxyProtocolPolicyClient) EXPECT() *MockProxyProtocolPolicyClientMockRecorder { + return m.recorder +} + +// CreateProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyClient) CreateProxyProtocolPolicy(ctx context.Context, obj *v2.ProxyProtocolPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateProxyProtocolPolicy indicates an expected call of CreateProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyClientMockRecorder) CreateProxyProtocolPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyClient)(nil).CreateProxyProtocolPolicy), varargs...) +} + +// DeleteAllOfProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyClient) DeleteAllOfProxyProtocolPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfProxyProtocolPolicy indicates an expected call of DeleteAllOfProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyClientMockRecorder) DeleteAllOfProxyProtocolPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyClient)(nil).DeleteAllOfProxyProtocolPolicy), varargs...) +} + +// DeleteProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyClient) DeleteProxyProtocolPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteProxyProtocolPolicy indicates an expected call of DeleteProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyClientMockRecorder) DeleteProxyProtocolPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyClient)(nil).DeleteProxyProtocolPolicy), varargs...) +} + +// GetProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyClient) GetProxyProtocolPolicy(ctx context.Context, key client.ObjectKey) (*v2.ProxyProtocolPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetProxyProtocolPolicy", ctx, key) + ret0, _ := ret[0].(*v2.ProxyProtocolPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetProxyProtocolPolicy indicates an expected call of GetProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyClientMockRecorder) GetProxyProtocolPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyClient)(nil).GetProxyProtocolPolicy), ctx, key) +} + +// ListProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyClient) ListProxyProtocolPolicy(ctx context.Context, opts ...client.ListOption) (*v2.ProxyProtocolPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(*v2.ProxyProtocolPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListProxyProtocolPolicy indicates an expected call of ListProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyClientMockRecorder) ListProxyProtocolPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyClient)(nil).ListProxyProtocolPolicy), varargs...) +} + +// PatchProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyClient) PatchProxyProtocolPolicy(ctx context.Context, obj *v2.ProxyProtocolPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchProxyProtocolPolicy indicates an expected call of PatchProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyClientMockRecorder) PatchProxyProtocolPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyClient)(nil).PatchProxyProtocolPolicy), varargs...) +} + +// PatchProxyProtocolPolicyStatus mocks base method. +func (m *MockProxyProtocolPolicyClient) PatchProxyProtocolPolicyStatus(ctx context.Context, obj *v2.ProxyProtocolPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchProxyProtocolPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchProxyProtocolPolicyStatus indicates an expected call of PatchProxyProtocolPolicyStatus. +func (mr *MockProxyProtocolPolicyClientMockRecorder) PatchProxyProtocolPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchProxyProtocolPolicyStatus", reflect.TypeOf((*MockProxyProtocolPolicyClient)(nil).PatchProxyProtocolPolicyStatus), varargs...) +} + +// UpdateProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyClient) UpdateProxyProtocolPolicy(ctx context.Context, obj *v2.ProxyProtocolPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateProxyProtocolPolicy indicates an expected call of UpdateProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyClientMockRecorder) UpdateProxyProtocolPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyClient)(nil).UpdateProxyProtocolPolicy), varargs...) +} + +// UpdateProxyProtocolPolicyStatus mocks base method. +func (m *MockProxyProtocolPolicyClient) UpdateProxyProtocolPolicyStatus(ctx context.Context, obj *v2.ProxyProtocolPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateProxyProtocolPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateProxyProtocolPolicyStatus indicates an expected call of UpdateProxyProtocolPolicyStatus. +func (mr *MockProxyProtocolPolicyClientMockRecorder) UpdateProxyProtocolPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProxyProtocolPolicyStatus", reflect.TypeOf((*MockProxyProtocolPolicyClient)(nil).UpdateProxyProtocolPolicyStatus), varargs...) +} + +// UpsertProxyProtocolPolicy mocks base method. +func (m *MockProxyProtocolPolicyClient) UpsertProxyProtocolPolicy(ctx context.Context, obj *v2.ProxyProtocolPolicy, transitionFuncs ...v2.ProxyProtocolPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertProxyProtocolPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertProxyProtocolPolicy indicates an expected call of UpsertProxyProtocolPolicy. +func (mr *MockProxyProtocolPolicyClientMockRecorder) UpsertProxyProtocolPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertProxyProtocolPolicy", reflect.TypeOf((*MockProxyProtocolPolicyClient)(nil).UpsertProxyProtocolPolicy), varargs...) +} + +// MockMulticlusterProxyProtocolPolicyClient is a mock of MulticlusterProxyProtocolPolicyClient interface. +type MockMulticlusterProxyProtocolPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterProxyProtocolPolicyClientMockRecorder +} + +// MockMulticlusterProxyProtocolPolicyClientMockRecorder is the mock recorder for MockMulticlusterProxyProtocolPolicyClient. +type MockMulticlusterProxyProtocolPolicyClientMockRecorder struct { + mock *MockMulticlusterProxyProtocolPolicyClient +} + +// NewMockMulticlusterProxyProtocolPolicyClient creates a new mock instance. +func NewMockMulticlusterProxyProtocolPolicyClient(ctrl *gomock.Controller) *MockMulticlusterProxyProtocolPolicyClient { + mock := &MockMulticlusterProxyProtocolPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterProxyProtocolPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterProxyProtocolPolicyClient) EXPECT() *MockMulticlusterProxyProtocolPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterProxyProtocolPolicyClient) Cluster(cluster string) (v2.ProxyProtocolPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.ProxyProtocolPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterProxyProtocolPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterProxyProtocolPolicyClient)(nil).Cluster), cluster) +} + +// MockHTTPBufferPolicyReader is a mock of HTTPBufferPolicyReader interface. +type MockHTTPBufferPolicyReader struct { + ctrl *gomock.Controller + recorder *MockHTTPBufferPolicyReaderMockRecorder +} + +// MockHTTPBufferPolicyReaderMockRecorder is the mock recorder for MockHTTPBufferPolicyReader. +type MockHTTPBufferPolicyReaderMockRecorder struct { + mock *MockHTTPBufferPolicyReader +} + +// NewMockHTTPBufferPolicyReader creates a new mock instance. +func NewMockHTTPBufferPolicyReader(ctrl *gomock.Controller) *MockHTTPBufferPolicyReader { + mock := &MockHTTPBufferPolicyReader{ctrl: ctrl} + mock.recorder = &MockHTTPBufferPolicyReaderMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHTTPBufferPolicyReader) EXPECT() *MockHTTPBufferPolicyReaderMockRecorder { + return m.recorder +} + +// GetHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyReader) GetHTTPBufferPolicy(ctx context.Context, key client.ObjectKey) (*v2.HTTPBufferPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetHTTPBufferPolicy", ctx, key) + ret0, _ := ret[0].(*v2.HTTPBufferPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetHTTPBufferPolicy indicates an expected call of GetHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyReaderMockRecorder) GetHTTPBufferPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyReader)(nil).GetHTTPBufferPolicy), ctx, key) +} + +// ListHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyReader) ListHTTPBufferPolicy(ctx context.Context, opts ...client.ListOption) (*v2.HTTPBufferPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(*v2.HTTPBufferPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListHTTPBufferPolicy indicates an expected call of ListHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyReaderMockRecorder) ListHTTPBufferPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyReader)(nil).ListHTTPBufferPolicy), varargs...) +} + +// MockHTTPBufferPolicyWriter is a mock of HTTPBufferPolicyWriter interface. +type MockHTTPBufferPolicyWriter struct { + ctrl *gomock.Controller + recorder *MockHTTPBufferPolicyWriterMockRecorder +} + +// MockHTTPBufferPolicyWriterMockRecorder is the mock recorder for MockHTTPBufferPolicyWriter. +type MockHTTPBufferPolicyWriterMockRecorder struct { + mock *MockHTTPBufferPolicyWriter +} + +// NewMockHTTPBufferPolicyWriter creates a new mock instance. +func NewMockHTTPBufferPolicyWriter(ctrl *gomock.Controller) *MockHTTPBufferPolicyWriter { + mock := &MockHTTPBufferPolicyWriter{ctrl: ctrl} + mock.recorder = &MockHTTPBufferPolicyWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHTTPBufferPolicyWriter) EXPECT() *MockHTTPBufferPolicyWriterMockRecorder { + return m.recorder +} + +// CreateHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyWriter) CreateHTTPBufferPolicy(ctx context.Context, obj *v2.HTTPBufferPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateHTTPBufferPolicy indicates an expected call of CreateHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyWriterMockRecorder) CreateHTTPBufferPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyWriter)(nil).CreateHTTPBufferPolicy), varargs...) +} + +// DeleteAllOfHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyWriter) DeleteAllOfHTTPBufferPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfHTTPBufferPolicy indicates an expected call of DeleteAllOfHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyWriterMockRecorder) DeleteAllOfHTTPBufferPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyWriter)(nil).DeleteAllOfHTTPBufferPolicy), varargs...) +} + +// DeleteHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyWriter) DeleteHTTPBufferPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteHTTPBufferPolicy indicates an expected call of DeleteHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyWriterMockRecorder) DeleteHTTPBufferPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyWriter)(nil).DeleteHTTPBufferPolicy), varargs...) +} + +// PatchHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyWriter) PatchHTTPBufferPolicy(ctx context.Context, obj *v2.HTTPBufferPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchHTTPBufferPolicy indicates an expected call of PatchHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyWriterMockRecorder) PatchHTTPBufferPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyWriter)(nil).PatchHTTPBufferPolicy), varargs...) +} + +// UpdateHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyWriter) UpdateHTTPBufferPolicy(ctx context.Context, obj *v2.HTTPBufferPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateHTTPBufferPolicy indicates an expected call of UpdateHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyWriterMockRecorder) UpdateHTTPBufferPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyWriter)(nil).UpdateHTTPBufferPolicy), varargs...) +} + +// UpsertHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyWriter) UpsertHTTPBufferPolicy(ctx context.Context, obj *v2.HTTPBufferPolicy, transitionFuncs ...v2.HTTPBufferPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertHTTPBufferPolicy indicates an expected call of UpsertHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyWriterMockRecorder) UpsertHTTPBufferPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyWriter)(nil).UpsertHTTPBufferPolicy), varargs...) +} + +// MockHTTPBufferPolicyStatusWriter is a mock of HTTPBufferPolicyStatusWriter interface. +type MockHTTPBufferPolicyStatusWriter struct { + ctrl *gomock.Controller + recorder *MockHTTPBufferPolicyStatusWriterMockRecorder +} + +// MockHTTPBufferPolicyStatusWriterMockRecorder is the mock recorder for MockHTTPBufferPolicyStatusWriter. +type MockHTTPBufferPolicyStatusWriterMockRecorder struct { + mock *MockHTTPBufferPolicyStatusWriter +} + +// NewMockHTTPBufferPolicyStatusWriter creates a new mock instance. +func NewMockHTTPBufferPolicyStatusWriter(ctrl *gomock.Controller) *MockHTTPBufferPolicyStatusWriter { + mock := &MockHTTPBufferPolicyStatusWriter{ctrl: ctrl} + mock.recorder = &MockHTTPBufferPolicyStatusWriterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHTTPBufferPolicyStatusWriter) EXPECT() *MockHTTPBufferPolicyStatusWriterMockRecorder { + return m.recorder +} + +// PatchHTTPBufferPolicyStatus mocks base method. +func (m *MockHTTPBufferPolicyStatusWriter) PatchHTTPBufferPolicyStatus(ctx context.Context, obj *v2.HTTPBufferPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchHTTPBufferPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchHTTPBufferPolicyStatus indicates an expected call of PatchHTTPBufferPolicyStatus. +func (mr *MockHTTPBufferPolicyStatusWriterMockRecorder) PatchHTTPBufferPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchHTTPBufferPolicyStatus", reflect.TypeOf((*MockHTTPBufferPolicyStatusWriter)(nil).PatchHTTPBufferPolicyStatus), varargs...) +} + +// UpdateHTTPBufferPolicyStatus mocks base method. +func (m *MockHTTPBufferPolicyStatusWriter) UpdateHTTPBufferPolicyStatus(ctx context.Context, obj *v2.HTTPBufferPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateHTTPBufferPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateHTTPBufferPolicyStatus indicates an expected call of UpdateHTTPBufferPolicyStatus. +func (mr *MockHTTPBufferPolicyStatusWriterMockRecorder) UpdateHTTPBufferPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateHTTPBufferPolicyStatus", reflect.TypeOf((*MockHTTPBufferPolicyStatusWriter)(nil).UpdateHTTPBufferPolicyStatus), varargs...) +} + +// MockHTTPBufferPolicyClient is a mock of HTTPBufferPolicyClient interface. +type MockHTTPBufferPolicyClient struct { + ctrl *gomock.Controller + recorder *MockHTTPBufferPolicyClientMockRecorder +} + +// MockHTTPBufferPolicyClientMockRecorder is the mock recorder for MockHTTPBufferPolicyClient. +type MockHTTPBufferPolicyClientMockRecorder struct { + mock *MockHTTPBufferPolicyClient +} + +// NewMockHTTPBufferPolicyClient creates a new mock instance. +func NewMockHTTPBufferPolicyClient(ctrl *gomock.Controller) *MockHTTPBufferPolicyClient { + mock := &MockHTTPBufferPolicyClient{ctrl: ctrl} + mock.recorder = &MockHTTPBufferPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHTTPBufferPolicyClient) EXPECT() *MockHTTPBufferPolicyClientMockRecorder { + return m.recorder +} + +// CreateHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyClient) CreateHTTPBufferPolicy(ctx context.Context, obj *v2.HTTPBufferPolicy, opts ...client.CreateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateHTTPBufferPolicy indicates an expected call of CreateHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyClientMockRecorder) CreateHTTPBufferPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyClient)(nil).CreateHTTPBufferPolicy), varargs...) +} + +// DeleteAllOfHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyClient) DeleteAllOfHTTPBufferPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteAllOfHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAllOfHTTPBufferPolicy indicates an expected call of DeleteAllOfHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyClientMockRecorder) DeleteAllOfHTTPBufferPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOfHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyClient)(nil).DeleteAllOfHTTPBufferPolicy), varargs...) +} + +// DeleteHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyClient) DeleteHTTPBufferPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, key} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteHTTPBufferPolicy indicates an expected call of DeleteHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyClientMockRecorder) DeleteHTTPBufferPolicy(ctx, key interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, key}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyClient)(nil).DeleteHTTPBufferPolicy), varargs...) +} + +// GetHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyClient) GetHTTPBufferPolicy(ctx context.Context, key client.ObjectKey) (*v2.HTTPBufferPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetHTTPBufferPolicy", ctx, key) + ret0, _ := ret[0].(*v2.HTTPBufferPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetHTTPBufferPolicy indicates an expected call of GetHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyClientMockRecorder) GetHTTPBufferPolicy(ctx, key interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyClient)(nil).GetHTTPBufferPolicy), ctx, key) +} + +// ListHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyClient) ListHTTPBufferPolicy(ctx context.Context, opts ...client.ListOption) (*v2.HTTPBufferPolicyList, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(*v2.HTTPBufferPolicyList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListHTTPBufferPolicy indicates an expected call of ListHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyClientMockRecorder) ListHTTPBufferPolicy(ctx interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyClient)(nil).ListHTTPBufferPolicy), varargs...) +} + +// PatchHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyClient) PatchHTTPBufferPolicy(ctx context.Context, obj *v2.HTTPBufferPolicy, patch client.Patch, opts ...client.PatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchHTTPBufferPolicy indicates an expected call of PatchHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyClientMockRecorder) PatchHTTPBufferPolicy(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyClient)(nil).PatchHTTPBufferPolicy), varargs...) +} + +// PatchHTTPBufferPolicyStatus mocks base method. +func (m *MockHTTPBufferPolicyClient) PatchHTTPBufferPolicyStatus(ctx context.Context, obj *v2.HTTPBufferPolicy, patch client.Patch, opts ...client.SubResourcePatchOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj, patch} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchHTTPBufferPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// PatchHTTPBufferPolicyStatus indicates an expected call of PatchHTTPBufferPolicyStatus. +func (mr *MockHTTPBufferPolicyClientMockRecorder) PatchHTTPBufferPolicyStatus(ctx, obj, patch interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj, patch}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchHTTPBufferPolicyStatus", reflect.TypeOf((*MockHTTPBufferPolicyClient)(nil).PatchHTTPBufferPolicyStatus), varargs...) +} + +// UpdateHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyClient) UpdateHTTPBufferPolicy(ctx context.Context, obj *v2.HTTPBufferPolicy, opts ...client.UpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateHTTPBufferPolicy indicates an expected call of UpdateHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyClientMockRecorder) UpdateHTTPBufferPolicy(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyClient)(nil).UpdateHTTPBufferPolicy), varargs...) +} + +// UpdateHTTPBufferPolicyStatus mocks base method. +func (m *MockHTTPBufferPolicyClient) UpdateHTTPBufferPolicyStatus(ctx context.Context, obj *v2.HTTPBufferPolicy, opts ...client.SubResourceUpdateOption) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateHTTPBufferPolicyStatus", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateHTTPBufferPolicyStatus indicates an expected call of UpdateHTTPBufferPolicyStatus. +func (mr *MockHTTPBufferPolicyClientMockRecorder) UpdateHTTPBufferPolicyStatus(ctx, obj interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateHTTPBufferPolicyStatus", reflect.TypeOf((*MockHTTPBufferPolicyClient)(nil).UpdateHTTPBufferPolicyStatus), varargs...) +} + +// UpsertHTTPBufferPolicy mocks base method. +func (m *MockHTTPBufferPolicyClient) UpsertHTTPBufferPolicy(ctx context.Context, obj *v2.HTTPBufferPolicy, transitionFuncs ...v2.HTTPBufferPolicyTransitionFunction) error { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, obj} + for _, a := range transitionFuncs { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpsertHTTPBufferPolicy", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpsertHTTPBufferPolicy indicates an expected call of UpsertHTTPBufferPolicy. +func (mr *MockHTTPBufferPolicyClientMockRecorder) UpsertHTTPBufferPolicy(ctx, obj interface{}, transitionFuncs ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, obj}, transitionFuncs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertHTTPBufferPolicy", reflect.TypeOf((*MockHTTPBufferPolicyClient)(nil).UpsertHTTPBufferPolicy), varargs...) +} + +// MockMulticlusterHTTPBufferPolicyClient is a mock of MulticlusterHTTPBufferPolicyClient interface. +type MockMulticlusterHTTPBufferPolicyClient struct { + ctrl *gomock.Controller + recorder *MockMulticlusterHTTPBufferPolicyClientMockRecorder +} + +// MockMulticlusterHTTPBufferPolicyClientMockRecorder is the mock recorder for MockMulticlusterHTTPBufferPolicyClient. +type MockMulticlusterHTTPBufferPolicyClientMockRecorder struct { + mock *MockMulticlusterHTTPBufferPolicyClient +} + +// NewMockMulticlusterHTTPBufferPolicyClient creates a new mock instance. +func NewMockMulticlusterHTTPBufferPolicyClient(ctrl *gomock.Controller) *MockMulticlusterHTTPBufferPolicyClient { + mock := &MockMulticlusterHTTPBufferPolicyClient{ctrl: ctrl} + mock.recorder = &MockMulticlusterHTTPBufferPolicyClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMulticlusterHTTPBufferPolicyClient) EXPECT() *MockMulticlusterHTTPBufferPolicyClientMockRecorder { + return m.recorder +} + +// Cluster mocks base method. +func (m *MockMulticlusterHTTPBufferPolicyClient) Cluster(cluster string) (v2.HTTPBufferPolicyClient, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Cluster", cluster) + ret0, _ := ret[0].(v2.HTTPBufferPolicyClient) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Cluster indicates an expected call of Cluster. +func (mr *MockMulticlusterHTTPBufferPolicyClientMockRecorder) Cluster(cluster interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cluster", reflect.TypeOf((*MockMulticlusterHTTPBufferPolicyClient)(nil).Cluster), cluster) +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/policy_types.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/policy_types.go new file mode 100644 index 000000000..ff91c57df --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/policy_types.go @@ -0,0 +1,77 @@ +// Code generated by skv2. DO NOT EDIT. + +// Policy methods for Gloo Mesh policy types. +package v2 + +import ( + commonv2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// IsPolicy implements Policy interface for MirrorPolicy +func (o *MirrorPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the MirrorPolicy policy +func (o *MirrorPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// IsPolicy implements Policy interface for RateLimitPolicy +func (o *RateLimitPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the RateLimitPolicy policy +func (o *RateLimitPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// GetDestinationSelectors returns the destination selectors of the RateLimitPolicy policy +func (o *RateLimitPolicy) GetDestinationSelectors() []*commonv2.DestinationSelector { + return o.Spec.ApplyToDestinations +} + +// IsPolicy implements Policy interface for RateLimitClientConfig +func (o *RateLimitClientConfig) IsPolicy() {} + +// IsPolicy implements Policy interface for HeaderManipulationPolicy +func (o *HeaderManipulationPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the HeaderManipulationPolicy policy +func (o *HeaderManipulationPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// GetRouteDestinationSelectors returns the route destination selectors of the HeaderManipulationPolicy policy +func (o *HeaderManipulationPolicy) GetRouteDestinationSelectors() []*commonv2.RouteDestinationSelector { + return o.Spec.ApplyToRouteDestinations +} + +// IsPolicy implements Policy interface for TransformationPolicy +func (o *TransformationPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the TransformationPolicy policy +func (o *TransformationPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} + +// IsPolicy implements Policy interface for LoadBalancerPolicy +func (o *LoadBalancerPolicy) IsPolicy() {} + +// GetDestinationSelectors returns the destination selectors of the LoadBalancerPolicy policy +func (o *LoadBalancerPolicy) GetDestinationSelectors() []*commonv2.DestinationSelector { + return o.Spec.ApplyToDestinations +} + +// IsPolicy implements Policy interface for ProxyProtocolPolicy +func (o *ProxyProtocolPolicy) IsPolicy() {} + +// GetApplyToListeners returns the listener selectors of the ProxyProtocolPolicy policy +func (o *ProxyProtocolPolicy) GetApplyToListeners() []*commonv2.ListenerSelector { + return o.Spec.ApplyToListeners +} + +// IsPolicy implements Policy interface for HTTPBufferPolicy +func (o *HTTPBufferPolicy) IsPolicy() {} + +// GetRouteSelectors returns the route selectors of the HTTPBufferPolicy policy +func (o *HTTPBufferPolicy) GetRouteSelectors() []*commonv2.RouteSelector { + return o.Spec.ApplyToRoutes +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/proto_deepcopy.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/proto_deepcopy.go new file mode 100644 index 000000000..9aaf6c90c --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/proto_deepcopy.go @@ -0,0 +1,186 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for proto-based Spec and Status fields + +package v2 + +import ( + proto "github.com/golang/protobuf/proto" + "github.com/solo-io/protoc-gen-ext/pkg/clone" +) + +// DeepCopyInto for the MirrorPolicy.Spec +func (in *MirrorPolicySpec) DeepCopyInto(out *MirrorPolicySpec) { + var p *MirrorPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*MirrorPolicySpec) + } else { + p = proto.Clone(in).(*MirrorPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the MirrorPolicy.Status +func (in *MirrorPolicyStatus) DeepCopyInto(out *MirrorPolicyStatus) { + var p *MirrorPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*MirrorPolicyStatus) + } else { + p = proto.Clone(in).(*MirrorPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the RateLimitPolicy.Spec +func (in *RateLimitPolicySpec) DeepCopyInto(out *RateLimitPolicySpec) { + var p *RateLimitPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RateLimitPolicySpec) + } else { + p = proto.Clone(in).(*RateLimitPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the RateLimitPolicy.Status +func (in *RateLimitPolicyStatus) DeepCopyInto(out *RateLimitPolicyStatus) { + var p *RateLimitPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RateLimitPolicyStatus) + } else { + p = proto.Clone(in).(*RateLimitPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the RateLimitClientConfig.Spec +func (in *RateLimitClientConfigSpec) DeepCopyInto(out *RateLimitClientConfigSpec) { + var p *RateLimitClientConfigSpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RateLimitClientConfigSpec) + } else { + p = proto.Clone(in).(*RateLimitClientConfigSpec) + } + *out = *p +} + +// DeepCopyInto for the RateLimitClientConfig.Status +func (in *RateLimitClientConfigStatus) DeepCopyInto(out *RateLimitClientConfigStatus) { + var p *RateLimitClientConfigStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*RateLimitClientConfigStatus) + } else { + p = proto.Clone(in).(*RateLimitClientConfigStatus) + } + *out = *p +} + +// DeepCopyInto for the HeaderManipulationPolicy.Spec +func (in *HeaderManipulationPolicySpec) DeepCopyInto(out *HeaderManipulationPolicySpec) { + var p *HeaderManipulationPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*HeaderManipulationPolicySpec) + } else { + p = proto.Clone(in).(*HeaderManipulationPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the HeaderManipulationPolicy.Status +func (in *HeaderManipulationPolicyStatus) DeepCopyInto(out *HeaderManipulationPolicyStatus) { + var p *HeaderManipulationPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*HeaderManipulationPolicyStatus) + } else { + p = proto.Clone(in).(*HeaderManipulationPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the TransformationPolicy.Spec +func (in *TransformationPolicySpec) DeepCopyInto(out *TransformationPolicySpec) { + var p *TransformationPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*TransformationPolicySpec) + } else { + p = proto.Clone(in).(*TransformationPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the TransformationPolicy.Status +func (in *TransformationPolicyStatus) DeepCopyInto(out *TransformationPolicyStatus) { + var p *TransformationPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*TransformationPolicyStatus) + } else { + p = proto.Clone(in).(*TransformationPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the LoadBalancerPolicy.Spec +func (in *LoadBalancerPolicySpec) DeepCopyInto(out *LoadBalancerPolicySpec) { + var p *LoadBalancerPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*LoadBalancerPolicySpec) + } else { + p = proto.Clone(in).(*LoadBalancerPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the LoadBalancerPolicy.Status +func (in *LoadBalancerPolicyStatus) DeepCopyInto(out *LoadBalancerPolicyStatus) { + var p *LoadBalancerPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*LoadBalancerPolicyStatus) + } else { + p = proto.Clone(in).(*LoadBalancerPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the ProxyProtocolPolicy.Spec +func (in *ProxyProtocolPolicySpec) DeepCopyInto(out *ProxyProtocolPolicySpec) { + var p *ProxyProtocolPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ProxyProtocolPolicySpec) + } else { + p = proto.Clone(in).(*ProxyProtocolPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the ProxyProtocolPolicy.Status +func (in *ProxyProtocolPolicyStatus) DeepCopyInto(out *ProxyProtocolPolicyStatus) { + var p *ProxyProtocolPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*ProxyProtocolPolicyStatus) + } else { + p = proto.Clone(in).(*ProxyProtocolPolicyStatus) + } + *out = *p +} + +// DeepCopyInto for the HTTPBufferPolicy.Spec +func (in *HTTPBufferPolicySpec) DeepCopyInto(out *HTTPBufferPolicySpec) { + var p *HTTPBufferPolicySpec + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*HTTPBufferPolicySpec) + } else { + p = proto.Clone(in).(*HTTPBufferPolicySpec) + } + *out = *p +} + +// DeepCopyInto for the HTTPBufferPolicy.Status +func (in *HTTPBufferPolicyStatus) DeepCopyInto(out *HTTPBufferPolicyStatus) { + var p *HTTPBufferPolicyStatus + if h, ok := interface{}(in).(clone.Cloner); ok { + p = h.Clone().(*HTTPBufferPolicyStatus) + } else { + p = proto.Clone(in).(*HTTPBufferPolicyStatus) + } + *out = *p +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/providers/client_providers.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/providers/client_providers.go new file mode 100644 index 000000000..c45e77469 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/providers/client_providers.go @@ -0,0 +1,242 @@ +// Code generated by skv2. DO NOT EDIT. + +package v2 + +import ( + trafficcontrol_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2" + + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +/* + The intention of these providers are to be used for Mocking. + They expose the Clients as interfaces, as well as factories to provide mocked versions + of the clients when they require building within a component. + + See package `github.com/solo-io/skv2/pkg/multicluster/register` for example +*/ + +// Provider for MirrorPolicyClient from Clientset +func MirrorPolicyClientFromClientsetProvider(clients trafficcontrol_policy_gloo_solo_io_v2.Clientset) trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicyClient { + return clients.MirrorPolicies() +} + +// Provider for MirrorPolicy Client from Client +func MirrorPolicyClientProvider(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicyClient { + return trafficcontrol_policy_gloo_solo_io_v2.NewMirrorPolicyClient(client) +} + +type MirrorPolicyClientFactory func(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicyClient + +func MirrorPolicyClientFactoryProvider() MirrorPolicyClientFactory { + return MirrorPolicyClientProvider +} + +type MirrorPolicyClientFromConfigFactory func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicyClient, error) + +func MirrorPolicyClientFromConfigFactoryProvider() MirrorPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicyClient, error) { + clients, err := trafficcontrol_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.MirrorPolicies(), nil + } +} + +// Provider for RateLimitPolicyClient from Clientset +func RateLimitPolicyClientFromClientsetProvider(clients trafficcontrol_policy_gloo_solo_io_v2.Clientset) trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicyClient { + return clients.RateLimitPolicies() +} + +// Provider for RateLimitPolicy Client from Client +func RateLimitPolicyClientProvider(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicyClient { + return trafficcontrol_policy_gloo_solo_io_v2.NewRateLimitPolicyClient(client) +} + +type RateLimitPolicyClientFactory func(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicyClient + +func RateLimitPolicyClientFactoryProvider() RateLimitPolicyClientFactory { + return RateLimitPolicyClientProvider +} + +type RateLimitPolicyClientFromConfigFactory func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicyClient, error) + +func RateLimitPolicyClientFromConfigFactoryProvider() RateLimitPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicyClient, error) { + clients, err := trafficcontrol_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.RateLimitPolicies(), nil + } +} + +// Provider for RateLimitClientConfigClient from Clientset +func RateLimitClientConfigClientFromClientsetProvider(clients trafficcontrol_policy_gloo_solo_io_v2.Clientset) trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfigClient { + return clients.RateLimitClientConfigs() +} + +// Provider for RateLimitClientConfig Client from Client +func RateLimitClientConfigClientProvider(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfigClient { + return trafficcontrol_policy_gloo_solo_io_v2.NewRateLimitClientConfigClient(client) +} + +type RateLimitClientConfigClientFactory func(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfigClient + +func RateLimitClientConfigClientFactoryProvider() RateLimitClientConfigClientFactory { + return RateLimitClientConfigClientProvider +} + +type RateLimitClientConfigClientFromConfigFactory func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfigClient, error) + +func RateLimitClientConfigClientFromConfigFactoryProvider() RateLimitClientConfigClientFromConfigFactory { + return func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfigClient, error) { + clients, err := trafficcontrol_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.RateLimitClientConfigs(), nil + } +} + +// Provider for HeaderManipulationPolicyClient from Clientset +func HeaderManipulationPolicyClientFromClientsetProvider(clients trafficcontrol_policy_gloo_solo_io_v2.Clientset) trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicyClient { + return clients.HeaderManipulationPolicies() +} + +// Provider for HeaderManipulationPolicy Client from Client +func HeaderManipulationPolicyClientProvider(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicyClient { + return trafficcontrol_policy_gloo_solo_io_v2.NewHeaderManipulationPolicyClient(client) +} + +type HeaderManipulationPolicyClientFactory func(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicyClient + +func HeaderManipulationPolicyClientFactoryProvider() HeaderManipulationPolicyClientFactory { + return HeaderManipulationPolicyClientProvider +} + +type HeaderManipulationPolicyClientFromConfigFactory func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicyClient, error) + +func HeaderManipulationPolicyClientFromConfigFactoryProvider() HeaderManipulationPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicyClient, error) { + clients, err := trafficcontrol_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.HeaderManipulationPolicies(), nil + } +} + +// Provider for TransformationPolicyClient from Clientset +func TransformationPolicyClientFromClientsetProvider(clients trafficcontrol_policy_gloo_solo_io_v2.Clientset) trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicyClient { + return clients.TransformationPolicies() +} + +// Provider for TransformationPolicy Client from Client +func TransformationPolicyClientProvider(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicyClient { + return trafficcontrol_policy_gloo_solo_io_v2.NewTransformationPolicyClient(client) +} + +type TransformationPolicyClientFactory func(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicyClient + +func TransformationPolicyClientFactoryProvider() TransformationPolicyClientFactory { + return TransformationPolicyClientProvider +} + +type TransformationPolicyClientFromConfigFactory func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicyClient, error) + +func TransformationPolicyClientFromConfigFactoryProvider() TransformationPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicyClient, error) { + clients, err := trafficcontrol_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.TransformationPolicies(), nil + } +} + +// Provider for LoadBalancerPolicyClient from Clientset +func LoadBalancerPolicyClientFromClientsetProvider(clients trafficcontrol_policy_gloo_solo_io_v2.Clientset) trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicyClient { + return clients.LoadBalancerPolicies() +} + +// Provider for LoadBalancerPolicy Client from Client +func LoadBalancerPolicyClientProvider(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicyClient { + return trafficcontrol_policy_gloo_solo_io_v2.NewLoadBalancerPolicyClient(client) +} + +type LoadBalancerPolicyClientFactory func(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicyClient + +func LoadBalancerPolicyClientFactoryProvider() LoadBalancerPolicyClientFactory { + return LoadBalancerPolicyClientProvider +} + +type LoadBalancerPolicyClientFromConfigFactory func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicyClient, error) + +func LoadBalancerPolicyClientFromConfigFactoryProvider() LoadBalancerPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicyClient, error) { + clients, err := trafficcontrol_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.LoadBalancerPolicies(), nil + } +} + +// Provider for ProxyProtocolPolicyClient from Clientset +func ProxyProtocolPolicyClientFromClientsetProvider(clients trafficcontrol_policy_gloo_solo_io_v2.Clientset) trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicyClient { + return clients.ProxyProtocolPolicies() +} + +// Provider for ProxyProtocolPolicy Client from Client +func ProxyProtocolPolicyClientProvider(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicyClient { + return trafficcontrol_policy_gloo_solo_io_v2.NewProxyProtocolPolicyClient(client) +} + +type ProxyProtocolPolicyClientFactory func(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicyClient + +func ProxyProtocolPolicyClientFactoryProvider() ProxyProtocolPolicyClientFactory { + return ProxyProtocolPolicyClientProvider +} + +type ProxyProtocolPolicyClientFromConfigFactory func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicyClient, error) + +func ProxyProtocolPolicyClientFromConfigFactoryProvider() ProxyProtocolPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicyClient, error) { + clients, err := trafficcontrol_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.ProxyProtocolPolicies(), nil + } +} + +// Provider for HTTPBufferPolicyClient from Clientset +func HTTPBufferPolicyClientFromClientsetProvider(clients trafficcontrol_policy_gloo_solo_io_v2.Clientset) trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicyClient { + return clients.HTTPBufferPolicies() +} + +// Provider for HTTPBufferPolicy Client from Client +func HTTPBufferPolicyClientProvider(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicyClient { + return trafficcontrol_policy_gloo_solo_io_v2.NewHTTPBufferPolicyClient(client) +} + +type HTTPBufferPolicyClientFactory func(client client.Client) trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicyClient + +func HTTPBufferPolicyClientFactoryProvider() HTTPBufferPolicyClientFactory { + return HTTPBufferPolicyClientProvider +} + +type HTTPBufferPolicyClientFromConfigFactory func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicyClient, error) + +func HTTPBufferPolicyClientFromConfigFactoryProvider() HTTPBufferPolicyClientFromConfigFactory { + return func(cfg *rest.Config) (trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicyClient, error) { + clients, err := trafficcontrol_policy_gloo_solo_io_v2.NewClientsetFromConfig(cfg) + if err != nil { + return nil, err + } + return clients.HTTPBufferPolicies(), nil + } +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/proxy_protocol_policy.pb.clone.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/proxy_protocol_policy.pb.clone.go new file mode 100644 index 000000000..00199f978 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/proxy_protocol_policy.pb.clone.go @@ -0,0 +1,127 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/proxy_protocol_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *ProxyProtocolPolicySpec) Clone() proto.Message { + var target *ProxyProtocolPolicySpec + if m == nil { + return target + } + target = &ProxyProtocolPolicySpec{} + + if m.GetApplyToListeners() != nil { + target.ApplyToListeners = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ListenerSelector, len(m.GetApplyToListeners())) + for idx, v := range m.GetApplyToListeners() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToListeners[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ListenerSelector) + } else { + target.ApplyToListeners[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ListenerSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*ProxyProtocolPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*ProxyProtocolPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *ProxyProtocolPolicyStatus) Clone() proto.Message { + var target *ProxyProtocolPolicyStatus + if m == nil { + return target + } + target = &ProxyProtocolPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedListeners = m.GetNumSelectedListeners() + + return target +} + +// Clone function +func (m *ProxyProtocolPolicyReport) Clone() proto.Message { + var target *ProxyProtocolPolicyReport + if m == nil { + return target + } + target = &ProxyProtocolPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedListeners() != nil { + target.SelectedListeners = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ListenerPortReference, len(m.GetSelectedListeners())) + for idx, v := range m.GetSelectedListeners() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedListeners[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ListenerPortReference) + } else { + target.SelectedListeners[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ListenerPortReference) + } + + } + } + + return target +} + +// Clone function +func (m *ProxyProtocolPolicySpec_Config) Clone() proto.Message { + var target *ProxyProtocolPolicySpec_Config + if m == nil { + return target + } + target = &ProxyProtocolPolicySpec_Config{} + + target.EnableProxyProtocol = m.GetEnableProxyProtocol() + + return target +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/proxy_protocol_policy.pb.equal.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/proxy_protocol_policy.pb.equal.go new file mode 100644 index 000000000..b6dbd874b --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/proxy_protocol_policy.pb.equal.go @@ -0,0 +1,201 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/proxy_protocol_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *ProxyProtocolPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ProxyProtocolPolicySpec) + if !ok { + that2, ok := that.(ProxyProtocolPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToListeners()) != len(target.GetApplyToListeners()) { + return false + } + for idx, v := range m.GetApplyToListeners() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToListeners()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToListeners()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *ProxyProtocolPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ProxyProtocolPolicyStatus) + if !ok { + that2, ok := that.(ProxyProtocolPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedListeners() != target.GetNumSelectedListeners() { + return false + } + + return true +} + +// Equal function +func (m *ProxyProtocolPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ProxyProtocolPolicyReport) + if !ok { + that2, ok := that.(ProxyProtocolPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedListeners()) != len(target.GetSelectedListeners()) { + return false + } + for idx, v := range m.GetSelectedListeners() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedListeners()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedListeners()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *ProxyProtocolPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*ProxyProtocolPolicySpec_Config) + if !ok { + that2, ok := that.(ProxyProtocolPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetEnableProxyProtocol() != target.GetEnableProxyProtocol() { + return false + } + + return true +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/proxy_protocol_policy.pb.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/proxy_protocol_policy.pb.go new file mode 100644 index 000000000..dbe30327a --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/proxy_protocol_policy.pb.go @@ -0,0 +1,479 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/proxy_protocol_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ProxyProtocolPolicy is used to enable proxy protocol for gateway listener(s). +// +// For more details on ProxyProtocol, visit: +// https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt. +// +// ``` +// apiVersion: trafficcontrol.policy.gloo.solo.io/v2 +// kind: ProxyProtocolPolicy +// metadata: +// +// name: my-policy +// namespace: bookinfo +// +// spec: +// +// config: +// enabledProxyProtocol: true +// applyToListeners: +// - virtualGateway: +// name: virtual-gateway +// namespace: bookinfo +// cluster: my-cluster +// port: +// number: 443 +// +// ``` +type ProxyProtocolPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required: The VirtualGateway(s) and Port(s) to which this policy applies. + ApplyToListeners []*v2.ListenerSelector `protobuf:"bytes,1,rep,name=apply_to_listeners,json=applyToListeners,proto3" json:"apply_to_listeners,omitempty"` + // Required: The configuration to apply to the listener. + Config *ProxyProtocolPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *ProxyProtocolPolicySpec) Reset() { + *x = ProxyProtocolPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProxyProtocolPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProxyProtocolPolicySpec) ProtoMessage() {} + +func (x *ProxyProtocolPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProxyProtocolPolicySpec.ProtoReflect.Descriptor instead. +func (*ProxyProtocolPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *ProxyProtocolPolicySpec) GetApplyToListeners() []*v2.ListenerSelector { + if x != nil { + return x.ApplyToListeners + } + return nil +} + +func (x *ProxyProtocolPolicySpec) GetConfig() *ProxyProtocolPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type ProxyProtocolPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of virtual gateway listeners selected by the policy. + NumSelectedListeners uint32 `protobuf:"varint,2,opt,name=num_selected_listeners,json=numSelectedListeners,proto3" json:"num_selected_listeners,omitempty"` +} + +func (x *ProxyProtocolPolicyStatus) Reset() { + *x = ProxyProtocolPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProxyProtocolPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProxyProtocolPolicyStatus) ProtoMessage() {} + +func (x *ProxyProtocolPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProxyProtocolPolicyStatus.ProtoReflect.Descriptor instead. +func (*ProxyProtocolPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *ProxyProtocolPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *ProxyProtocolPolicyStatus) GetNumSelectedListeners() uint32 { + if x != nil { + return x.NumSelectedListeners + } + return 0 +} + +type ProxyProtocolPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status of the resource in each workspace that it exists in. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of virtual gateway listeners selected by the policy. + SelectedListeners []*v2.ListenerPortReference `protobuf:"bytes,2,rep,name=selected_listeners,json=selectedListeners,proto3" json:"selected_listeners,omitempty"` +} + +func (x *ProxyProtocolPolicyReport) Reset() { + *x = ProxyProtocolPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProxyProtocolPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProxyProtocolPolicyReport) ProtoMessage() {} + +func (x *ProxyProtocolPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProxyProtocolPolicyReport.ProtoReflect.Descriptor instead. +func (*ProxyProtocolPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *ProxyProtocolPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *ProxyProtocolPolicyReport) GetSelectedListeners() []*v2.ListenerPortReference { + if x != nil { + return x.SelectedListeners + } + return nil +} + +type ProxyProtocolPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EnableProxyProtocol bool `protobuf:"varint,1,opt,name=enable_proxy_protocol,json=enableProxyProtocol,proto3" json:"enable_proxy_protocol,omitempty"` +} + +func (x *ProxyProtocolPolicySpec_Config) Reset() { + *x = ProxyProtocolPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProxyProtocolPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProxyProtocolPolicySpec_Config) ProtoMessage() {} + +func (x *ProxyProtocolPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProxyProtocolPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*ProxyProtocolPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ProxyProtocolPolicySpec_Config) GetEnableProxyProtocol() bool { + if x != nil { + return x.EnableProxyProtocol + } + return false +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDesc = []byte{ + 0x0a, 0x6d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x22, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, + 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x70, 0x72, + 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, + 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, + 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x02, 0x0a, 0x17, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, + 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, + 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x74, 0x72, 0x61, + 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x32, 0x0a, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x86, 0x01, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x75, 0x6d, 0x5f, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x22, 0xc1, 0x02, + 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6d, 0x0a, 0x0a, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x4d, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x12, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x11, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x42, 0x63, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, + 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_goTypes = []interface{}{ + (*ProxyProtocolPolicySpec)(nil), // 0: trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicySpec + (*ProxyProtocolPolicyStatus)(nil), // 1: trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicyStatus + (*ProxyProtocolPolicyReport)(nil), // 2: trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicyReport + (*ProxyProtocolPolicySpec_Config)(nil), // 3: trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicySpec.Config + nil, // 4: trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicyReport.WorkspacesEntry + (*v2.ListenerSelector)(nil), // 5: common.gloo.solo.io.ListenerSelector + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.ListenerPortReference)(nil), // 7: common.gloo.solo.io.ListenerPortReference + (*v2.Report)(nil), // 8: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_depIdxs = []int32{ + 5, // 0: trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicySpec.apply_to_listeners:type_name -> common.gloo.solo.io.ListenerSelector + 3, // 1: trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicySpec.config:type_name -> trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicySpec.Config + 6, // 2: trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicyReport.workspaces:type_name -> trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicyReport.WorkspacesEntry + 7, // 4: trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicyReport.selected_listeners:type_name -> common.gloo.solo.io.ListenerPortReference + 8, // 5: trafficcontrol.policy.gloo.solo.io.ProxyProtocolPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProxyProtocolPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProxyProtocolPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProxyProtocolPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProxyProtocolPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_proxy_protocol_policy_proto_depIdxs = nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/proxy_protocol_policy.pb.hash.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/proxy_protocol_policy.pb.hash.go new file mode 100644 index 000000000..3cf26fb4e --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/proxy_protocol_policy.pb.hash.go @@ -0,0 +1,227 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/proxy_protocol_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *ProxyProtocolPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.ProxyProtocolPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToListeners() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ProxyProtocolPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.ProxyProtocolPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedListeners()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ProxyProtocolPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.ProxyProtocolPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedListeners() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *ProxyProtocolPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.ProxyProtocolPolicySpec_Config")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetEnableProxyProtocol()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_client_config.pb.clone.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_client_config.pb.clone.go new file mode 100644 index 000000000..7da11f335 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_client_config.pb.clone.go @@ -0,0 +1,122 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_client_config.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_ratelimit_solo_io_v1alpha1 "github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *RateLimitClientConfigSpec) Clone() proto.Message { + var target *RateLimitClientConfigSpec + if m == nil { + return target + } + target = &RateLimitClientConfigSpec{} + + switch m.ConfigType.(type) { + + case *RateLimitClientConfigSpec_Raw: + + if h, ok := interface{}(m.GetRaw()).(clone.Cloner); ok { + target.ConfigType = &RateLimitClientConfigSpec_Raw{ + Raw: h.Clone().(*Raw), + } + } else { + target.ConfigType = &RateLimitClientConfigSpec_Raw{ + Raw: proto.Clone(m.GetRaw()).(*Raw), + } + } + + } + + return target +} + +// Clone function +func (m *Raw) Clone() proto.Message { + var target *Raw + if m == nil { + return target + } + target = &Raw{} + + if m.GetRateLimits() != nil { + target.RateLimits = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_ratelimit_solo_io_v1alpha1.RateLimitActions, len(m.GetRateLimits())) + for idx, v := range m.GetRateLimits() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.RateLimits[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_ratelimit_solo_io_v1alpha1.RateLimitActions) + } else { + target.RateLimits[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_ratelimit_solo_io_v1alpha1.RateLimitActions) + } + + } + } + + return target +} + +// Clone function +func (m *RateLimitClientConfigStatus) Clone() proto.Message { + var target *RateLimitClientConfigStatus + if m == nil { + return target + } + target = &RateLimitClientConfigStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + return target +} + +// Clone function +func (m *RateLimitClientConfigReport) Clone() proto.Message { + var target *RateLimitClientConfigReport + if m == nil { + return target + } + target = &RateLimitClientConfigReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + return target +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_client_config.pb.equal.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_client_config.pb.equal.go new file mode 100644 index 000000000..a6c85fa7e --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_client_config.pb.equal.go @@ -0,0 +1,190 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_client_config.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *RateLimitClientConfigSpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitClientConfigSpec) + if !ok { + that2, ok := that.(RateLimitClientConfigSpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + switch m.ConfigType.(type) { + + case *RateLimitClientConfigSpec_Raw: + if _, ok := target.ConfigType.(*RateLimitClientConfigSpec_Raw); !ok { + return false + } + + if h, ok := interface{}(m.GetRaw()).(equality.Equalizer); ok { + if !h.Equal(target.GetRaw()) { + return false + } + } else { + if !proto.Equal(m.GetRaw(), target.GetRaw()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ConfigType != target.ConfigType { + return false + } + } + + return true +} + +// Equal function +func (m *Raw) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*Raw) + if !ok { + that2, ok := that.(Raw) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetRateLimits()) != len(target.GetRateLimits()) { + return false + } + for idx, v := range m.GetRateLimits() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetRateLimits()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetRateLimits()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *RateLimitClientConfigStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitClientConfigStatus) + if !ok { + that2, ok := that.(RateLimitClientConfigStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + return true +} + +// Equal function +func (m *RateLimitClientConfigReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitClientConfigReport) + if !ok { + that2, ok := that.(RateLimitClientConfigReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + return true +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_client_config.pb.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_client_config.pb.go new file mode 100644 index 000000000..677db1bdb --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_client_config.pb.go @@ -0,0 +1,433 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_client_config.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + v1alpha1 "github.com/solo-io/solo-apis/client-go/ratelimit.solo.io/v1alpha1" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// RateLimitClientConfig is used to configure the ratelimit rules on routes/destinations. +// All RateLimitPolicy resources in a workspace require an RateLimitClientConfig to in order to function. +// If no RateLimitClientConfig is provided, no ratelimit rules will be enforced. +type RateLimitClientConfigSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Each `RateLimitClientConfig` is an instance of one specific configuration type. + // Currently, only raw configuration is supported, but going forward we are planning on adding + // more high-level configuration formats to support specific use cases. + // + // Types that are assignable to ConfigType: + // + // *RateLimitClientConfigSpec_Raw + ConfigType isRateLimitClientConfigSpec_ConfigType `protobuf_oneof:"config_type"` +} + +func (x *RateLimitClientConfigSpec) Reset() { + *x = RateLimitClientConfigSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitClientConfigSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitClientConfigSpec) ProtoMessage() {} + +func (x *RateLimitClientConfigSpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitClientConfigSpec.ProtoReflect.Descriptor instead. +func (*RateLimitClientConfigSpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDescGZIP(), []int{0} +} + +func (m *RateLimitClientConfigSpec) GetConfigType() isRateLimitClientConfigSpec_ConfigType { + if m != nil { + return m.ConfigType + } + return nil +} + +func (x *RateLimitClientConfigSpec) GetRaw() *Raw { + if x, ok := x.GetConfigType().(*RateLimitClientConfigSpec_Raw); ok { + return x.Raw + } + return nil +} + +type isRateLimitClientConfigSpec_ConfigType interface { + isRateLimitClientConfigSpec_ConfigType() +} + +type RateLimitClientConfigSpec_Raw struct { + // Define a policy using the raw configuration format used by the client (Envoy). + Raw *Raw `protobuf:"bytes,1,opt,name=raw,proto3,oneof"` +} + +func (*RateLimitClientConfigSpec_Raw) isRateLimitClientConfigSpec_ConfigType() {} + +// This object allows users to specify rate limit policies using the raw configuration formats +// used by the client (Envoy). When using this configuration type, it is up to +// the user to ensure that server and client configurations match to implement the desired behavior. +type Raw struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Actions specify how the client (Envoy) will compose the descriptors that + // will be sent to the server to make a rate limiting decision. + RateLimits []*v1alpha1.RateLimitActions `protobuf:"bytes,3,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` +} + +func (x *Raw) Reset() { + *x = Raw{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Raw) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Raw) ProtoMessage() {} + +func (x *Raw) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Raw.ProtoReflect.Descriptor instead. +func (*Raw) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDescGZIP(), []int{1} +} + +func (x *Raw) GetRateLimits() []*v1alpha1.RateLimitActions { + if x != nil { + return x.RateLimits + } + return nil +} + +// The current status of the `RateLimitClientConfig`. +type RateLimitClientConfigStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` +} + +func (x *RateLimitClientConfigStatus) Reset() { + *x = RateLimitClientConfigStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitClientConfigStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitClientConfigStatus) ProtoMessage() {} + +func (x *RateLimitClientConfigStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitClientConfigStatus.ProtoReflect.Descriptor instead. +func (*RateLimitClientConfigStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDescGZIP(), []int{2} +} + +func (x *RateLimitClientConfigStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +type RateLimitClientConfigReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status of the resource in each workspace that it exists in. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *RateLimitClientConfigReport) Reset() { + *x = RateLimitClientConfigReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitClientConfigReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitClientConfigReport) ProtoMessage() {} + +func (x *RateLimitClientConfigReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitClientConfigReport.ProtoReflect.Descriptor instead. +func (*RateLimitClientConfigReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDescGZIP(), []int{3} +} + +func (x *RateLimitClientConfigReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDesc = []byte{ + 0x0a, 0x6f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x22, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x46, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x61, + 0x74, 0x65, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x19, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x3b, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x52, 0x61, 0x77, 0x48, 0x00, 0x52, 0x03, 0x72, 0x61, 0x77, 0x42, 0x0d, 0x0a, + 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x03, + 0x52, 0x61, 0x77, 0x12, 0x48, 0x0a, 0x0b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x52, 0x0a, + 0x1b, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x22, 0xea, 0x01, 0x0a, 0x1b, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x6f, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x63, + 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, + 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_goTypes = []interface{}{ + (*RateLimitClientConfigSpec)(nil), // 0: trafficcontrol.policy.gloo.solo.io.RateLimitClientConfigSpec + (*Raw)(nil), // 1: trafficcontrol.policy.gloo.solo.io.Raw + (*RateLimitClientConfigStatus)(nil), // 2: trafficcontrol.policy.gloo.solo.io.RateLimitClientConfigStatus + (*RateLimitClientConfigReport)(nil), // 3: trafficcontrol.policy.gloo.solo.io.RateLimitClientConfigReport + nil, // 4: trafficcontrol.policy.gloo.solo.io.RateLimitClientConfigReport.WorkspacesEntry + (*v1alpha1.RateLimitActions)(nil), // 5: ratelimit.api.solo.io.RateLimitActions + (*v2.Status)(nil), // 6: common.gloo.solo.io.Status + (*v2.Report)(nil), // 7: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_depIdxs = []int32{ + 1, // 0: trafficcontrol.policy.gloo.solo.io.RateLimitClientConfigSpec.raw:type_name -> trafficcontrol.policy.gloo.solo.io.Raw + 5, // 1: trafficcontrol.policy.gloo.solo.io.Raw.rate_limits:type_name -> ratelimit.api.solo.io.RateLimitActions + 6, // 2: trafficcontrol.policy.gloo.solo.io.RateLimitClientConfigStatus.common:type_name -> common.gloo.solo.io.Status + 4, // 3: trafficcontrol.policy.gloo.solo.io.RateLimitClientConfigReport.workspaces:type_name -> trafficcontrol.policy.gloo.solo.io.RateLimitClientConfigReport.WorkspacesEntry + 7, // 4: trafficcontrol.policy.gloo.solo.io.RateLimitClientConfigReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitClientConfigSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Raw); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitClientConfigStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitClientConfigReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*RateLimitClientConfigSpec_Raw)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_depIdxs = nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_client_config.pb.hash.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_client_config.pb.hash.go new file mode 100644 index 000000000..133b10589 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_client_config.pb.hash.go @@ -0,0 +1,199 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_client_config.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *RateLimitClientConfigSpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.RateLimitClientConfigSpec")); err != nil { + return 0, err + } + + switch m.ConfigType.(type) { + + case *RateLimitClientConfigSpec_Raw: + + if h, ok := interface{}(m.GetRaw()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Raw")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRaw(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Raw")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *Raw) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.Raw")); err != nil { + return 0, err + } + + for _, v := range m.GetRateLimits() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitClientConfigStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.RateLimitClientConfigStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitClientConfigReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.RateLimitClientConfigReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_policy.pb.clone.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_policy.pb.clone.go new file mode 100644 index 000000000..11d41d82d --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_policy.pb.clone.go @@ -0,0 +1,211 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *RateLimitPolicySpec) Clone() proto.Message { + var target *RateLimitPolicySpec + if m == nil { + return target + } + target = &RateLimitPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if m.GetApplyToDestinations() != nil { + target.ApplyToDestinations = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector, len(m.GetApplyToDestinations())) + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToDestinations[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } else { + target.ApplyToDestinations[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*RateLimitPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*RateLimitPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *RateLimitPolicyStatus) Clone() proto.Message { + var target *RateLimitPolicyStatus + if m == nil { + return target + } + target = &RateLimitPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedDestinationPorts = m.GetNumSelectedDestinationPorts() + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + if h, ok := interface{}(m.GetDestinationServer()).(clone.Cloner); ok { + target.DestinationServer = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.DestinationServer = proto.Clone(m.GetDestinationServer()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + return target +} + +// Clone function +func (m *RateLimitPolicyReport) Clone() proto.Message { + var target *RateLimitPolicyReport + if m == nil { + return target + } + target = &RateLimitPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedDestinationPorts() != nil { + target.SelectedDestinationPorts = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference, len(m.GetSelectedDestinationPorts())) + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedDestinationPorts[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.SelectedDestinationPorts[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + if h, ok := interface{}(m.GetDestinationServer()).(clone.Cloner); ok { + target.DestinationServer = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } else { + target.DestinationServer = proto.Clone(m.GetDestinationServer()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.DestinationReference) + } + + return target +} + +// Clone function +func (m *RateLimitPolicySpec_Config) Clone() proto.Message { + var target *RateLimitPolicySpec_Config + if m == nil { + return target + } + target = &RateLimitPolicySpec_Config{} + + if h, ok := interface{}(m.GetPhase()).(clone.Cloner); ok { + target.Phase = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PrioritizedPhase) + } else { + target.Phase = proto.Clone(m.GetPhase()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PrioritizedPhase) + } + + if h, ok := interface{}(m.GetRatelimitServerConfig()).(clone.Cloner); ok { + target.RatelimitServerConfig = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.RatelimitServerConfig = proto.Clone(m.GetRatelimitServerConfig()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + if h, ok := interface{}(m.GetServerSettings()).(clone.Cloner); ok { + target.ServerSettings = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } else { + target.ServerSettings = proto.Clone(m.GetServerSettings()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference) + } + + switch m.ConfigType.(type) { + + case *RateLimitPolicySpec_Config_Raw: + + if h, ok := interface{}(m.GetRaw()).(clone.Cloner); ok { + target.ConfigType = &RateLimitPolicySpec_Config_Raw{ + Raw: h.Clone().(*Raw), + } + } else { + target.ConfigType = &RateLimitPolicySpec_Config_Raw{ + Raw: proto.Clone(m.GetRaw()).(*Raw), + } + } + + case *RateLimitPolicySpec_Config_RatelimitClientConfig: + + if h, ok := interface{}(m.GetRatelimitClientConfig()).(clone.Cloner); ok { + target.ConfigType = &RateLimitPolicySpec_Config_RatelimitClientConfig{ + RatelimitClientConfig: h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference), + } + } else { + target.ConfigType = &RateLimitPolicySpec_Config_RatelimitClientConfig{ + RatelimitClientConfig: proto.Clone(m.GetRatelimitClientConfig()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.ObjectReference), + } + } + + } + + return target +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_policy.pb.equal.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_policy.pb.equal.go new file mode 100644 index 000000000..362af6e6a --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_policy.pb.equal.go @@ -0,0 +1,324 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *RateLimitPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitPolicySpec) + if !ok { + that2, ok := that.(RateLimitPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if len(m.GetApplyToDestinations()) != len(target.GetApplyToDestinations()) { + return false + } + for idx, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToDestinations()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToDestinations()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *RateLimitPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitPolicyStatus) + if !ok { + that2, ok := that.(RateLimitPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedDestinationPorts() != target.GetNumSelectedDestinationPorts() { + return false + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + if h, ok := interface{}(m.GetDestinationServer()).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinationServer()) { + return false + } + } else { + if !proto.Equal(m.GetDestinationServer(), target.GetDestinationServer()) { + return false + } + } + + return true +} + +// Equal function +func (m *RateLimitPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitPolicyReport) + if !ok { + that2, ok := that.(RateLimitPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedDestinationPorts()) != len(target.GetSelectedDestinationPorts()) { + return false + } + for idx, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedDestinationPorts()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedDestinationPorts()[idx]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetDestinationServer()).(equality.Equalizer); ok { + if !h.Equal(target.GetDestinationServer()) { + return false + } + } else { + if !proto.Equal(m.GetDestinationServer(), target.GetDestinationServer()) { + return false + } + } + + return true +} + +// Equal function +func (m *RateLimitPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*RateLimitPolicySpec_Config) + if !ok { + that2, ok := that.(RateLimitPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetPhase()).(equality.Equalizer); ok { + if !h.Equal(target.GetPhase()) { + return false + } + } else { + if !proto.Equal(m.GetPhase(), target.GetPhase()) { + return false + } + } + + if h, ok := interface{}(m.GetRatelimitServerConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetRatelimitServerConfig()) { + return false + } + } else { + if !proto.Equal(m.GetRatelimitServerConfig(), target.GetRatelimitServerConfig()) { + return false + } + } + + if h, ok := interface{}(m.GetServerSettings()).(equality.Equalizer); ok { + if !h.Equal(target.GetServerSettings()) { + return false + } + } else { + if !proto.Equal(m.GetServerSettings(), target.GetServerSettings()) { + return false + } + } + + switch m.ConfigType.(type) { + + case *RateLimitPolicySpec_Config_Raw: + if _, ok := target.ConfigType.(*RateLimitPolicySpec_Config_Raw); !ok { + return false + } + + if h, ok := interface{}(m.GetRaw()).(equality.Equalizer); ok { + if !h.Equal(target.GetRaw()) { + return false + } + } else { + if !proto.Equal(m.GetRaw(), target.GetRaw()) { + return false + } + } + + case *RateLimitPolicySpec_Config_RatelimitClientConfig: + if _, ok := target.ConfigType.(*RateLimitPolicySpec_Config_RatelimitClientConfig); !ok { + return false + } + + if h, ok := interface{}(m.GetRatelimitClientConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetRatelimitClientConfig()) { + return false + } + } else { + if !proto.Equal(m.GetRatelimitClientConfig(), target.GetRatelimitClientConfig()) { + return false + } + } + + default: + // m is nil but target is not nil + if m.ConfigType != target.ConfigType { + return false + } + } + + return true +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_policy.pb.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_policy.pb.go new file mode 100644 index 000000000..f738d11e8 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_policy.pb.go @@ -0,0 +1,649 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/cue/encoding/protobuf/cue" + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// RateLimitPolicy is used to assign ratelimit configuration to specific routes or destinations. +// Traffic is forwarded to a rate-limited destinations specified in the RatelimitServerSettings. +// The RatelimitServerSettings is also used to configure connecting settings. +// If this is not provided, the default connection settings and default gloo mesh ratelimiter server destination will be used. +// RateLimitPolicies are applied at the *Route* level and *Destination* levels. +// Default is to apply policy to all destinations. +type RateLimitPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Select the routes where the policy will be applied. + // If empty, no ratelimits on routes will be applied in the workspace. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // Select the destinations where the policy will be applied. + // Default behavior if no selectors are specified is to apply to all destinations in the workspace. + // If empty and the route selector is set, no ratelimits on destinations will be applied. + ApplyToDestinations []*v2.DestinationSelector `protobuf:"bytes,2,rep,name=apply_to_destinations,json=applyToDestinations,proto3" json:"apply_to_destinations,omitempty"` + // The configuration details of the rate limit policy to apply to the selected routes + Config *RateLimitPolicySpec_Config `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *RateLimitPolicySpec) Reset() { + *x = RateLimitPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitPolicySpec) ProtoMessage() {} + +func (x *RateLimitPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitPolicySpec.ProtoReflect.Descriptor instead. +func (*RateLimitPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *RateLimitPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *RateLimitPolicySpec) GetApplyToDestinations() []*v2.DestinationSelector { + if x != nil { + return x.ApplyToDestinations + } + return nil +} + +func (x *RateLimitPolicySpec) GetConfig() *RateLimitPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +// The status of the policy after it is applied to your Gloo environment. +type RateLimitPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of destination ports selected by the policy. + NumSelectedDestinationPorts uint32 `protobuf:"varint,2,opt,name=num_selected_destination_ports,json=numSelectedDestinationPorts,proto3" json:"num_selected_destination_ports,omitempty"` + // The number of routes selected by the policy. + NumSelectedRoutes uint32 `protobuf:"varint,3,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` + // The rate limit server specified by the `server_settings`. + DestinationServer *v2.DestinationReference `protobuf:"bytes,4,opt,name=destination_server,json=destinationServer,proto3" json:"destination_server,omitempty"` +} + +func (x *RateLimitPolicyStatus) Reset() { + *x = RateLimitPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitPolicyStatus) ProtoMessage() {} + +func (x *RateLimitPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitPolicyStatus.ProtoReflect.Descriptor instead. +func (*RateLimitPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *RateLimitPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *RateLimitPolicyStatus) GetNumSelectedDestinationPorts() uint32 { + if x != nil { + return x.NumSelectedDestinationPorts + } + return 0 +} + +func (x *RateLimitPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +func (x *RateLimitPolicyStatus) GetDestinationServer() *v2.DestinationReference { + if x != nil { + return x.DestinationServer + } + return nil +} + +type RateLimitPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status of the resource in each workspace that it exists in. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of destination ports selected by the policy. + SelectedDestinationPorts []*v2.DestinationReference `protobuf:"bytes,2,rep,name=selected_destination_ports,json=selectedDestinationPorts,proto3" json:"selected_destination_ports,omitempty"` + // A list of references for all routes selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,3,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` + // The rate limit server specified by the `server_settings`. + DestinationServer *v2.DestinationReference `protobuf:"bytes,4,opt,name=destination_server,json=destinationServer,proto3" json:"destination_server,omitempty"` +} + +func (x *RateLimitPolicyReport) Reset() { + *x = RateLimitPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitPolicyReport) ProtoMessage() {} + +func (x *RateLimitPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitPolicyReport.ProtoReflect.Descriptor instead. +func (*RateLimitPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *RateLimitPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *RateLimitPolicyReport) GetSelectedDestinationPorts() []*v2.DestinationReference { + if x != nil { + return x.SelectedDestinationPorts + } + return nil +} + +func (x *RateLimitPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +func (x *RateLimitPolicyReport) GetDestinationServer() *v2.DestinationReference { + if x != nil { + return x.DestinationServer + } + return nil +} + +type RateLimitPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specify the phase to indicate where this policy should be applied relative to other policies. + // If no phase is specified, the default will be post AuthZ. + Phase *v2.PrioritizedPhase `protobuf:"bytes,1,opt,name=phase,proto3" json:"phase,omitempty"` + // Reference to the RatelimitServerConfig to use for this policy. + // If none is provided, no ratelimit will be enforced + RatelimitServerConfig *v2.ObjectReference `protobuf:"bytes,2,opt,name=ratelimit_server_config,json=ratelimitServerConfig,proto3" json:"ratelimit_server_config,omitempty"` + // Reference to the RatelimitServerSettings to use for this policy. + // Currently routes on a single VirtualGateway or destination must share a single RatelimitServerSettings. + // If none is provided, the default Gloo RatelimitServerSettings will be used. + ServerSettings *v2.ObjectReference `protobuf:"bytes,3,opt,name=server_settings,json=serverSettings,proto3" json:"server_settings,omitempty"` + // Each `RateLimitPolicyConfig` is an instance of one specific configuration type. + // Currently, only raw configuration is supported, but going forward we are planning on adding + // more high-level configuration formats to support specific use cases. + // + // Types that are assignable to ConfigType: + // + // *RateLimitPolicySpec_Config_Raw + // *RateLimitPolicySpec_Config_RatelimitClientConfig + ConfigType isRateLimitPolicySpec_Config_ConfigType `protobuf_oneof:"config_type"` +} + +func (x *RateLimitPolicySpec_Config) Reset() { + *x = RateLimitPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RateLimitPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitPolicySpec_Config) ProtoMessage() {} + +func (x *RateLimitPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*RateLimitPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *RateLimitPolicySpec_Config) GetPhase() *v2.PrioritizedPhase { + if x != nil { + return x.Phase + } + return nil +} + +func (x *RateLimitPolicySpec_Config) GetRatelimitServerConfig() *v2.ObjectReference { + if x != nil { + return x.RatelimitServerConfig + } + return nil +} + +func (x *RateLimitPolicySpec_Config) GetServerSettings() *v2.ObjectReference { + if x != nil { + return x.ServerSettings + } + return nil +} + +func (m *RateLimitPolicySpec_Config) GetConfigType() isRateLimitPolicySpec_Config_ConfigType { + if m != nil { + return m.ConfigType + } + return nil +} + +func (x *RateLimitPolicySpec_Config) GetRaw() *Raw { + if x, ok := x.GetConfigType().(*RateLimitPolicySpec_Config_Raw); ok { + return x.Raw + } + return nil +} + +func (x *RateLimitPolicySpec_Config) GetRatelimitClientConfig() *v2.ObjectReference { + if x, ok := x.GetConfigType().(*RateLimitPolicySpec_Config_RatelimitClientConfig); ok { + return x.RatelimitClientConfig + } + return nil +} + +type isRateLimitPolicySpec_Config_ConfigType interface { + isRateLimitPolicySpec_Config_ConfigType() +} + +type RateLimitPolicySpec_Config_Raw struct { + // Inline a policy using the raw configuration format used by the ratelimit server. + Raw *Raw `protobuf:"bytes,4,opt,name=raw,proto3,oneof"` +} + +type RateLimitPolicySpec_Config_RatelimitClientConfig struct { + // Select a RatelimitClientConfig policy to apply. + RatelimitClientConfig *v2.ObjectReference `protobuf:"bytes,5,opt,name=ratelimit_client_config,json=ratelimitClientConfig,proto3,oneof"` +} + +func (*RateLimitPolicySpec_Config_Raw) isRateLimitPolicySpec_Config_ConfigType() {} + +func (*RateLimitPolicySpec_Config_RatelimitClientConfig) isRateLimitPolicySpec_Config_ConfigType() {} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDesc = []byte{ + 0x0a, 0x68, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x74, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x1a, 0x1f, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x63, 0x75, 0x65, 0x2f, 0x63, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, + 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, + 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, + 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x6f, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, + 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2f, 0x76, + 0x32, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, + 0x05, 0x0a, 0x13, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, + 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x54, 0x6f, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x56, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3e, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x9e, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, + 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x69, 0x7a, 0x65, 0x64, 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, + 0x12, 0x5c, 0x0a, 0x17, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x15, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4d, + 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3b, 0x0a, + 0x03, 0x72, 0x61, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x72, 0x61, + 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x52, 0x61, 0x77, 0x48, 0x00, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x5e, 0x0a, 0x17, 0x72, 0x61, + 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x48, 0x00, 0x52, 0x15, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9b, 0x02, 0x0a, 0x15, 0x52, 0x61, + 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1e, 0x6e, 0x75, 0x6d, 0x5f, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x1b, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x2e, 0x0a, + 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x58, 0x0a, + 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0xef, 0x03, 0x0a, 0x15, 0x52, 0x61, 0x74, 0x65, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x69, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x1a, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, + 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x18, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, + 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x1a, 0x5a, 0x0a, + 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x63, 0x5a, 0x55, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, + 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x72, 0x61, + 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x76, 0x32, 0xc0, 0xf5, 0x04, 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_goTypes = []interface{}{ + (*RateLimitPolicySpec)(nil), // 0: trafficcontrol.policy.gloo.solo.io.RateLimitPolicySpec + (*RateLimitPolicyStatus)(nil), // 1: trafficcontrol.policy.gloo.solo.io.RateLimitPolicyStatus + (*RateLimitPolicyReport)(nil), // 2: trafficcontrol.policy.gloo.solo.io.RateLimitPolicyReport + (*RateLimitPolicySpec_Config)(nil), // 3: trafficcontrol.policy.gloo.solo.io.RateLimitPolicySpec.Config + nil, // 4: trafficcontrol.policy.gloo.solo.io.RateLimitPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 5: common.gloo.solo.io.RouteSelector + (*v2.DestinationSelector)(nil), // 6: common.gloo.solo.io.DestinationSelector + (*v2.Status)(nil), // 7: common.gloo.solo.io.Status + (*v2.DestinationReference)(nil), // 8: common.gloo.solo.io.DestinationReference + (*v2.RouteReference)(nil), // 9: common.gloo.solo.io.RouteReference + (*v2.PrioritizedPhase)(nil), // 10: common.gloo.solo.io.PrioritizedPhase + (*v2.ObjectReference)(nil), // 11: common.gloo.solo.io.ObjectReference + (*Raw)(nil), // 12: trafficcontrol.policy.gloo.solo.io.Raw + (*v2.Report)(nil), // 13: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_depIdxs = []int32{ + 5, // 0: trafficcontrol.policy.gloo.solo.io.RateLimitPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 6, // 1: trafficcontrol.policy.gloo.solo.io.RateLimitPolicySpec.apply_to_destinations:type_name -> common.gloo.solo.io.DestinationSelector + 3, // 2: trafficcontrol.policy.gloo.solo.io.RateLimitPolicySpec.config:type_name -> trafficcontrol.policy.gloo.solo.io.RateLimitPolicySpec.Config + 7, // 3: trafficcontrol.policy.gloo.solo.io.RateLimitPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 8, // 4: trafficcontrol.policy.gloo.solo.io.RateLimitPolicyStatus.destination_server:type_name -> common.gloo.solo.io.DestinationReference + 4, // 5: trafficcontrol.policy.gloo.solo.io.RateLimitPolicyReport.workspaces:type_name -> trafficcontrol.policy.gloo.solo.io.RateLimitPolicyReport.WorkspacesEntry + 8, // 6: trafficcontrol.policy.gloo.solo.io.RateLimitPolicyReport.selected_destination_ports:type_name -> common.gloo.solo.io.DestinationReference + 9, // 7: trafficcontrol.policy.gloo.solo.io.RateLimitPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 8, // 8: trafficcontrol.policy.gloo.solo.io.RateLimitPolicyReport.destination_server:type_name -> common.gloo.solo.io.DestinationReference + 10, // 9: trafficcontrol.policy.gloo.solo.io.RateLimitPolicySpec.Config.phase:type_name -> common.gloo.solo.io.PrioritizedPhase + 11, // 10: trafficcontrol.policy.gloo.solo.io.RateLimitPolicySpec.Config.ratelimit_server_config:type_name -> common.gloo.solo.io.ObjectReference + 11, // 11: trafficcontrol.policy.gloo.solo.io.RateLimitPolicySpec.Config.server_settings:type_name -> common.gloo.solo.io.ObjectReference + 12, // 12: trafficcontrol.policy.gloo.solo.io.RateLimitPolicySpec.Config.raw:type_name -> trafficcontrol.policy.gloo.solo.io.Raw + 11, // 13: trafficcontrol.policy.gloo.solo.io.RateLimitPolicySpec.Config.ratelimit_client_config:type_name -> common.gloo.solo.io.ObjectReference + 13, // 14: trafficcontrol.policy.gloo.solo.io.RateLimitPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto != nil { + return + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_client_config_proto_init() + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RateLimitPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*RateLimitPolicySpec_Config_Raw)(nil), + (*RateLimitPolicySpec_Config_RatelimitClientConfig)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_ratelimit_policy_proto_depIdxs = nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_policy.pb.hash.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_policy.pb.hash.go new file mode 100644 index 000000000..2dd2f9705 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/ratelimit_policy.pb.hash.go @@ -0,0 +1,423 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/ratelimit_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *RateLimitPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.RateLimitPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetApplyToDestinations() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.RateLimitPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedDestinationPorts()) + if err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetDestinationServer()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DestinationServer")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDestinationServer(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DestinationServer")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.RateLimitPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedDestinationPorts() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetDestinationServer()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DestinationServer")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDestinationServer(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DestinationServer")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *RateLimitPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.RateLimitPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPhase()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Phase")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPhase(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Phase")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetRatelimitServerConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RatelimitServerConfig")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRatelimitServerConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RatelimitServerConfig")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetServerSettings()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ServerSettings")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetServerSettings(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ServerSettings")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.ConfigType.(type) { + + case *RateLimitPolicySpec_Config_Raw: + + if h, ok := interface{}(m.GetRaw()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Raw")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRaw(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Raw")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *RateLimitPolicySpec_Config_RatelimitClientConfig: + + if h, ok := interface{}(m.GetRatelimitClientConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RatelimitClientConfig")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRatelimitClientConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RatelimitClientConfig")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/register.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/register.go new file mode 100644 index 000000000..a85fe3180 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/register.go @@ -0,0 +1,33 @@ +// Code generated by skv2. DO NOT EDIT. + +// NOTE: Boilerplate only. Ignore this file. +// Used to register the Go types with the Kubernetes +// internal scheme +package v2 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme + +// AddToScheme adds all Resources to the Scheme + +var ( + // SchemeGroupVersion is group version used to register these objects + SchemeGroupVersion = schema.GroupVersion{Group: "trafficcontrol.policy.gloo.solo.io", Version: "v2"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} +) + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +func AddToScheme(s *runtime.Scheme) error { + return SchemeBuilder.AddToScheme(s) +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/report_types.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/report_types.go new file mode 100644 index 000000000..00b87054a --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/report_types.go @@ -0,0 +1,28 @@ +// Code generated by skv2. DO NOT EDIT. + +// Helper methods for Gloo Mesh Report types. +package v2 + +// IsReport implements Reportable interface for MirrorPolicyReport +func (o *MirrorPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for RateLimitPolicyReport +func (o *RateLimitPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for RateLimitClientConfigReport +func (o *RateLimitClientConfigReport) IsReport() {} + +// IsReport implements Reportable interface for HeaderManipulationPolicyReport +func (o *HeaderManipulationPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for TransformationPolicyReport +func (o *TransformationPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for LoadBalancerPolicyReport +func (o *LoadBalancerPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for ProxyProtocolPolicyReport +func (o *ProxyProtocolPolicyReport) IsReport() {} + +// IsReport implements Reportable interface for HTTPBufferPolicyReport +func (o *HTTPBufferPolicyReport) IsReport() {} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/sets/mocks/sets.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/sets/mocks/sets.go new file mode 100644 index 000000000..b9551c4fd --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/sets/mocks/sets.go @@ -0,0 +1,2065 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./sets.go + +// Package mock_v2sets is a generated GoMock package. +package mock_v2sets + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + sets "github.com/solo-io/skv2/contrib/pkg/sets" + ezkube "github.com/solo-io/skv2/pkg/ezkube" + sets0 "k8s.io/apimachinery/pkg/util/sets" + + v2 "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2" + v2sets "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2/sets" +) + +// MockMirrorPolicySet is a mock of MirrorPolicySet interface. +type MockMirrorPolicySet struct { + ctrl *gomock.Controller + recorder *MockMirrorPolicySetMockRecorder +} + +// MockMirrorPolicySetMockRecorder is the mock recorder for MockMirrorPolicySet. +type MockMirrorPolicySetMockRecorder struct { + mock *MockMirrorPolicySet +} + +// NewMockMirrorPolicySet creates a new mock instance. +func NewMockMirrorPolicySet(ctrl *gomock.Controller) *MockMirrorPolicySet { + mock := &MockMirrorPolicySet{ctrl: ctrl} + mock.recorder = &MockMirrorPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMirrorPolicySet) EXPECT() *MockMirrorPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockMirrorPolicySet) Clone() v2sets.MirrorPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.MirrorPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockMirrorPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockMirrorPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockMirrorPolicySet) Delete(mirrorPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", mirrorPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockMirrorPolicySetMockRecorder) Delete(mirrorPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockMirrorPolicySet)(nil).Delete), mirrorPolicy) +} + +// Delta mocks base method. +func (m *MockMirrorPolicySet) Delta(newSet v2sets.MirrorPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockMirrorPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockMirrorPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockMirrorPolicySet) Difference(set v2sets.MirrorPolicySet) v2sets.MirrorPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.MirrorPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockMirrorPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockMirrorPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockMirrorPolicySet) Equal(mirrorPolicySet v2sets.MirrorPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", mirrorPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockMirrorPolicySetMockRecorder) Equal(mirrorPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockMirrorPolicySet)(nil).Equal), mirrorPolicySet) +} + +// Find mocks base method. +func (m *MockMirrorPolicySet) Find(id ezkube.ResourceId) (*v2.MirrorPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.MirrorPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockMirrorPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockMirrorPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockMirrorPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockMirrorPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockMirrorPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockMirrorPolicySet) Has(mirrorPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", mirrorPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockMirrorPolicySetMockRecorder) Has(mirrorPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockMirrorPolicySet)(nil).Has), mirrorPolicy) +} + +// Insert mocks base method. +func (m *MockMirrorPolicySet) Insert(mirrorPolicy ...*v2.MirrorPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range mirrorPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockMirrorPolicySetMockRecorder) Insert(mirrorPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockMirrorPolicySet)(nil).Insert), mirrorPolicy...) +} + +// Intersection mocks base method. +func (m *MockMirrorPolicySet) Intersection(set v2sets.MirrorPolicySet) v2sets.MirrorPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.MirrorPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockMirrorPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockMirrorPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockMirrorPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockMirrorPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockMirrorPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockMirrorPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockMirrorPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockMirrorPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockMirrorPolicySet) List(filterResource ...func(*v2.MirrorPolicy) bool) []*v2.MirrorPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.MirrorPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockMirrorPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockMirrorPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockMirrorPolicySet) Map() map[string]*v2.MirrorPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.MirrorPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockMirrorPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockMirrorPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockMirrorPolicySet) Union(set v2sets.MirrorPolicySet) v2sets.MirrorPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.MirrorPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockMirrorPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockMirrorPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockMirrorPolicySet) UnsortedList(filterResource ...func(*v2.MirrorPolicy) bool) []*v2.MirrorPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.MirrorPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockMirrorPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockMirrorPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockRateLimitPolicySet is a mock of RateLimitPolicySet interface. +type MockRateLimitPolicySet struct { + ctrl *gomock.Controller + recorder *MockRateLimitPolicySetMockRecorder +} + +// MockRateLimitPolicySetMockRecorder is the mock recorder for MockRateLimitPolicySet. +type MockRateLimitPolicySetMockRecorder struct { + mock *MockRateLimitPolicySet +} + +// NewMockRateLimitPolicySet creates a new mock instance. +func NewMockRateLimitPolicySet(ctrl *gomock.Controller) *MockRateLimitPolicySet { + mock := &MockRateLimitPolicySet{ctrl: ctrl} + mock.recorder = &MockRateLimitPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitPolicySet) EXPECT() *MockRateLimitPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockRateLimitPolicySet) Clone() v2sets.RateLimitPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.RateLimitPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockRateLimitPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockRateLimitPolicySet) Delete(rateLimitPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", rateLimitPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockRateLimitPolicySetMockRecorder) Delete(rateLimitPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Delete), rateLimitPolicy) +} + +// Delta mocks base method. +func (m *MockRateLimitPolicySet) Delta(newSet v2sets.RateLimitPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockRateLimitPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockRateLimitPolicySet) Difference(set v2sets.RateLimitPolicySet) v2sets.RateLimitPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.RateLimitPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockRateLimitPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockRateLimitPolicySet) Equal(rateLimitPolicySet v2sets.RateLimitPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", rateLimitPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockRateLimitPolicySetMockRecorder) Equal(rateLimitPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Equal), rateLimitPolicySet) +} + +// Find mocks base method. +func (m *MockRateLimitPolicySet) Find(id ezkube.ResourceId) (*v2.RateLimitPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.RateLimitPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockRateLimitPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockRateLimitPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockRateLimitPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockRateLimitPolicySet) Has(rateLimitPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", rateLimitPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockRateLimitPolicySetMockRecorder) Has(rateLimitPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Has), rateLimitPolicy) +} + +// Insert mocks base method. +func (m *MockRateLimitPolicySet) Insert(rateLimitPolicy ...*v2.RateLimitPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range rateLimitPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockRateLimitPolicySetMockRecorder) Insert(rateLimitPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Insert), rateLimitPolicy...) +} + +// Intersection mocks base method. +func (m *MockRateLimitPolicySet) Intersection(set v2sets.RateLimitPolicySet) v2sets.RateLimitPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.RateLimitPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockRateLimitPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockRateLimitPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockRateLimitPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockRateLimitPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockRateLimitPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockRateLimitPolicySet) List(filterResource ...func(*v2.RateLimitPolicy) bool) []*v2.RateLimitPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.RateLimitPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockRateLimitPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockRateLimitPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockRateLimitPolicySet) Map() map[string]*v2.RateLimitPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.RateLimitPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockRateLimitPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockRateLimitPolicySet) Union(set v2sets.RateLimitPolicySet) v2sets.RateLimitPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.RateLimitPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockRateLimitPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockRateLimitPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockRateLimitPolicySet) UnsortedList(filterResource ...func(*v2.RateLimitPolicy) bool) []*v2.RateLimitPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.RateLimitPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockRateLimitPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockRateLimitPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockRateLimitClientConfigSet is a mock of RateLimitClientConfigSet interface. +type MockRateLimitClientConfigSet struct { + ctrl *gomock.Controller + recorder *MockRateLimitClientConfigSetMockRecorder +} + +// MockRateLimitClientConfigSetMockRecorder is the mock recorder for MockRateLimitClientConfigSet. +type MockRateLimitClientConfigSetMockRecorder struct { + mock *MockRateLimitClientConfigSet +} + +// NewMockRateLimitClientConfigSet creates a new mock instance. +func NewMockRateLimitClientConfigSet(ctrl *gomock.Controller) *MockRateLimitClientConfigSet { + mock := &MockRateLimitClientConfigSet{ctrl: ctrl} + mock.recorder = &MockRateLimitClientConfigSetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRateLimitClientConfigSet) EXPECT() *MockRateLimitClientConfigSetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockRateLimitClientConfigSet) Clone() v2sets.RateLimitClientConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.RateLimitClientConfigSet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockRateLimitClientConfigSetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockRateLimitClientConfigSet) Delete(rateLimitClientConfig ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", rateLimitClientConfig) +} + +// Delete indicates an expected call of Delete. +func (mr *MockRateLimitClientConfigSetMockRecorder) Delete(rateLimitClientConfig interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Delete), rateLimitClientConfig) +} + +// Delta mocks base method. +func (m *MockRateLimitClientConfigSet) Delta(newSet v2sets.RateLimitClientConfigSet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockRateLimitClientConfigSetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockRateLimitClientConfigSet) Difference(set v2sets.RateLimitClientConfigSet) v2sets.RateLimitClientConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.RateLimitClientConfigSet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockRateLimitClientConfigSetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockRateLimitClientConfigSet) Equal(rateLimitClientConfigSet v2sets.RateLimitClientConfigSet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", rateLimitClientConfigSet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockRateLimitClientConfigSetMockRecorder) Equal(rateLimitClientConfigSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Equal), rateLimitClientConfigSet) +} + +// Find mocks base method. +func (m *MockRateLimitClientConfigSet) Find(id ezkube.ResourceId) (*v2.RateLimitClientConfig, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.RateLimitClientConfig) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockRateLimitClientConfigSetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockRateLimitClientConfigSet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockRateLimitClientConfigSetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockRateLimitClientConfigSet) Has(rateLimitClientConfig ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", rateLimitClientConfig) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockRateLimitClientConfigSetMockRecorder) Has(rateLimitClientConfig interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Has), rateLimitClientConfig) +} + +// Insert mocks base method. +func (m *MockRateLimitClientConfigSet) Insert(rateLimitClientConfig ...*v2.RateLimitClientConfig) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range rateLimitClientConfig { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockRateLimitClientConfigSetMockRecorder) Insert(rateLimitClientConfig ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Insert), rateLimitClientConfig...) +} + +// Intersection mocks base method. +func (m *MockRateLimitClientConfigSet) Intersection(set v2sets.RateLimitClientConfigSet) v2sets.RateLimitClientConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.RateLimitClientConfigSet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockRateLimitClientConfigSetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockRateLimitClientConfigSet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockRateLimitClientConfigSetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockRateLimitClientConfigSet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockRateLimitClientConfigSetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Length)) +} + +// List mocks base method. +func (m *MockRateLimitClientConfigSet) List(filterResource ...func(*v2.RateLimitClientConfig) bool) []*v2.RateLimitClientConfig { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.RateLimitClientConfig) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockRateLimitClientConfigSetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockRateLimitClientConfigSet) Map() map[string]*v2.RateLimitClientConfig { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.RateLimitClientConfig) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockRateLimitClientConfigSetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockRateLimitClientConfigSet) Union(set v2sets.RateLimitClientConfigSet) v2sets.RateLimitClientConfigSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.RateLimitClientConfigSet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockRateLimitClientConfigSetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockRateLimitClientConfigSet) UnsortedList(filterResource ...func(*v2.RateLimitClientConfig) bool) []*v2.RateLimitClientConfig { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.RateLimitClientConfig) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockRateLimitClientConfigSetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockRateLimitClientConfigSet)(nil).UnsortedList), filterResource...) +} + +// MockHeaderManipulationPolicySet is a mock of HeaderManipulationPolicySet interface. +type MockHeaderManipulationPolicySet struct { + ctrl *gomock.Controller + recorder *MockHeaderManipulationPolicySetMockRecorder +} + +// MockHeaderManipulationPolicySetMockRecorder is the mock recorder for MockHeaderManipulationPolicySet. +type MockHeaderManipulationPolicySetMockRecorder struct { + mock *MockHeaderManipulationPolicySet +} + +// NewMockHeaderManipulationPolicySet creates a new mock instance. +func NewMockHeaderManipulationPolicySet(ctrl *gomock.Controller) *MockHeaderManipulationPolicySet { + mock := &MockHeaderManipulationPolicySet{ctrl: ctrl} + mock.recorder = &MockHeaderManipulationPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHeaderManipulationPolicySet) EXPECT() *MockHeaderManipulationPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockHeaderManipulationPolicySet) Clone() v2sets.HeaderManipulationPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.HeaderManipulationPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockHeaderManipulationPolicySet) Delete(headerManipulationPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", headerManipulationPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Delete(headerManipulationPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Delete), headerManipulationPolicy) +} + +// Delta mocks base method. +func (m *MockHeaderManipulationPolicySet) Delta(newSet v2sets.HeaderManipulationPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockHeaderManipulationPolicySet) Difference(set v2sets.HeaderManipulationPolicySet) v2sets.HeaderManipulationPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.HeaderManipulationPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockHeaderManipulationPolicySet) Equal(headerManipulationPolicySet v2sets.HeaderManipulationPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", headerManipulationPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Equal(headerManipulationPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Equal), headerManipulationPolicySet) +} + +// Find mocks base method. +func (m *MockHeaderManipulationPolicySet) Find(id ezkube.ResourceId) (*v2.HeaderManipulationPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.HeaderManipulationPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockHeaderManipulationPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockHeaderManipulationPolicySet) Has(headerManipulationPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", headerManipulationPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Has(headerManipulationPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Has), headerManipulationPolicy) +} + +// Insert mocks base method. +func (m *MockHeaderManipulationPolicySet) Insert(headerManipulationPolicy ...*v2.HeaderManipulationPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range headerManipulationPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Insert(headerManipulationPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Insert), headerManipulationPolicy...) +} + +// Intersection mocks base method. +func (m *MockHeaderManipulationPolicySet) Intersection(set v2sets.HeaderManipulationPolicySet) v2sets.HeaderManipulationPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.HeaderManipulationPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockHeaderManipulationPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockHeaderManipulationPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockHeaderManipulationPolicySet) List(filterResource ...func(*v2.HeaderManipulationPolicy) bool) []*v2.HeaderManipulationPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.HeaderManipulationPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockHeaderManipulationPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockHeaderManipulationPolicySet) Map() map[string]*v2.HeaderManipulationPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.HeaderManipulationPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockHeaderManipulationPolicySet) Union(set v2sets.HeaderManipulationPolicySet) v2sets.HeaderManipulationPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.HeaderManipulationPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockHeaderManipulationPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockHeaderManipulationPolicySet) UnsortedList(filterResource ...func(*v2.HeaderManipulationPolicy) bool) []*v2.HeaderManipulationPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.HeaderManipulationPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockHeaderManipulationPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockHeaderManipulationPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockTransformationPolicySet is a mock of TransformationPolicySet interface. +type MockTransformationPolicySet struct { + ctrl *gomock.Controller + recorder *MockTransformationPolicySetMockRecorder +} + +// MockTransformationPolicySetMockRecorder is the mock recorder for MockTransformationPolicySet. +type MockTransformationPolicySetMockRecorder struct { + mock *MockTransformationPolicySet +} + +// NewMockTransformationPolicySet creates a new mock instance. +func NewMockTransformationPolicySet(ctrl *gomock.Controller) *MockTransformationPolicySet { + mock := &MockTransformationPolicySet{ctrl: ctrl} + mock.recorder = &MockTransformationPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockTransformationPolicySet) EXPECT() *MockTransformationPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockTransformationPolicySet) Clone() v2sets.TransformationPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.TransformationPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockTransformationPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockTransformationPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockTransformationPolicySet) Delete(transformationPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", transformationPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockTransformationPolicySetMockRecorder) Delete(transformationPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockTransformationPolicySet)(nil).Delete), transformationPolicy) +} + +// Delta mocks base method. +func (m *MockTransformationPolicySet) Delta(newSet v2sets.TransformationPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockTransformationPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockTransformationPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockTransformationPolicySet) Difference(set v2sets.TransformationPolicySet) v2sets.TransformationPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.TransformationPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockTransformationPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockTransformationPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockTransformationPolicySet) Equal(transformationPolicySet v2sets.TransformationPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", transformationPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockTransformationPolicySetMockRecorder) Equal(transformationPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockTransformationPolicySet)(nil).Equal), transformationPolicySet) +} + +// Find mocks base method. +func (m *MockTransformationPolicySet) Find(id ezkube.ResourceId) (*v2.TransformationPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.TransformationPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockTransformationPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockTransformationPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockTransformationPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockTransformationPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockTransformationPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockTransformationPolicySet) Has(transformationPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", transformationPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockTransformationPolicySetMockRecorder) Has(transformationPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockTransformationPolicySet)(nil).Has), transformationPolicy) +} + +// Insert mocks base method. +func (m *MockTransformationPolicySet) Insert(transformationPolicy ...*v2.TransformationPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range transformationPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockTransformationPolicySetMockRecorder) Insert(transformationPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockTransformationPolicySet)(nil).Insert), transformationPolicy...) +} + +// Intersection mocks base method. +func (m *MockTransformationPolicySet) Intersection(set v2sets.TransformationPolicySet) v2sets.TransformationPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.TransformationPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockTransformationPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockTransformationPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockTransformationPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockTransformationPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockTransformationPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockTransformationPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockTransformationPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockTransformationPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockTransformationPolicySet) List(filterResource ...func(*v2.TransformationPolicy) bool) []*v2.TransformationPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.TransformationPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockTransformationPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockTransformationPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockTransformationPolicySet) Map() map[string]*v2.TransformationPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.TransformationPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockTransformationPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockTransformationPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockTransformationPolicySet) Union(set v2sets.TransformationPolicySet) v2sets.TransformationPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.TransformationPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockTransformationPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockTransformationPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockTransformationPolicySet) UnsortedList(filterResource ...func(*v2.TransformationPolicy) bool) []*v2.TransformationPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.TransformationPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockTransformationPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockTransformationPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockLoadBalancerPolicySet is a mock of LoadBalancerPolicySet interface. +type MockLoadBalancerPolicySet struct { + ctrl *gomock.Controller + recorder *MockLoadBalancerPolicySetMockRecorder +} + +// MockLoadBalancerPolicySetMockRecorder is the mock recorder for MockLoadBalancerPolicySet. +type MockLoadBalancerPolicySetMockRecorder struct { + mock *MockLoadBalancerPolicySet +} + +// NewMockLoadBalancerPolicySet creates a new mock instance. +func NewMockLoadBalancerPolicySet(ctrl *gomock.Controller) *MockLoadBalancerPolicySet { + mock := &MockLoadBalancerPolicySet{ctrl: ctrl} + mock.recorder = &MockLoadBalancerPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockLoadBalancerPolicySet) EXPECT() *MockLoadBalancerPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockLoadBalancerPolicySet) Clone() v2sets.LoadBalancerPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.LoadBalancerPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockLoadBalancerPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockLoadBalancerPolicySet) Delete(loadBalancerPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", loadBalancerPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockLoadBalancerPolicySetMockRecorder) Delete(loadBalancerPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Delete), loadBalancerPolicy) +} + +// Delta mocks base method. +func (m *MockLoadBalancerPolicySet) Delta(newSet v2sets.LoadBalancerPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockLoadBalancerPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockLoadBalancerPolicySet) Difference(set v2sets.LoadBalancerPolicySet) v2sets.LoadBalancerPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.LoadBalancerPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockLoadBalancerPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockLoadBalancerPolicySet) Equal(loadBalancerPolicySet v2sets.LoadBalancerPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", loadBalancerPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockLoadBalancerPolicySetMockRecorder) Equal(loadBalancerPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Equal), loadBalancerPolicySet) +} + +// Find mocks base method. +func (m *MockLoadBalancerPolicySet) Find(id ezkube.ResourceId) (*v2.LoadBalancerPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.LoadBalancerPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockLoadBalancerPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockLoadBalancerPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockLoadBalancerPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockLoadBalancerPolicySet) Has(loadBalancerPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", loadBalancerPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockLoadBalancerPolicySetMockRecorder) Has(loadBalancerPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Has), loadBalancerPolicy) +} + +// Insert mocks base method. +func (m *MockLoadBalancerPolicySet) Insert(loadBalancerPolicy ...*v2.LoadBalancerPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range loadBalancerPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockLoadBalancerPolicySetMockRecorder) Insert(loadBalancerPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Insert), loadBalancerPolicy...) +} + +// Intersection mocks base method. +func (m *MockLoadBalancerPolicySet) Intersection(set v2sets.LoadBalancerPolicySet) v2sets.LoadBalancerPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.LoadBalancerPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockLoadBalancerPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockLoadBalancerPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockLoadBalancerPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockLoadBalancerPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockLoadBalancerPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockLoadBalancerPolicySet) List(filterResource ...func(*v2.LoadBalancerPolicy) bool) []*v2.LoadBalancerPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.LoadBalancerPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockLoadBalancerPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockLoadBalancerPolicySet) Map() map[string]*v2.LoadBalancerPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.LoadBalancerPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockLoadBalancerPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockLoadBalancerPolicySet) Union(set v2sets.LoadBalancerPolicySet) v2sets.LoadBalancerPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.LoadBalancerPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockLoadBalancerPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockLoadBalancerPolicySet) UnsortedList(filterResource ...func(*v2.LoadBalancerPolicy) bool) []*v2.LoadBalancerPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.LoadBalancerPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockLoadBalancerPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockLoadBalancerPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockProxyProtocolPolicySet is a mock of ProxyProtocolPolicySet interface. +type MockProxyProtocolPolicySet struct { + ctrl *gomock.Controller + recorder *MockProxyProtocolPolicySetMockRecorder +} + +// MockProxyProtocolPolicySetMockRecorder is the mock recorder for MockProxyProtocolPolicySet. +type MockProxyProtocolPolicySetMockRecorder struct { + mock *MockProxyProtocolPolicySet +} + +// NewMockProxyProtocolPolicySet creates a new mock instance. +func NewMockProxyProtocolPolicySet(ctrl *gomock.Controller) *MockProxyProtocolPolicySet { + mock := &MockProxyProtocolPolicySet{ctrl: ctrl} + mock.recorder = &MockProxyProtocolPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockProxyProtocolPolicySet) EXPECT() *MockProxyProtocolPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockProxyProtocolPolicySet) Clone() v2sets.ProxyProtocolPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.ProxyProtocolPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockProxyProtocolPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockProxyProtocolPolicySet) Delete(proxyProtocolPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", proxyProtocolPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockProxyProtocolPolicySetMockRecorder) Delete(proxyProtocolPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Delete), proxyProtocolPolicy) +} + +// Delta mocks base method. +func (m *MockProxyProtocolPolicySet) Delta(newSet v2sets.ProxyProtocolPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockProxyProtocolPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockProxyProtocolPolicySet) Difference(set v2sets.ProxyProtocolPolicySet) v2sets.ProxyProtocolPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.ProxyProtocolPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockProxyProtocolPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockProxyProtocolPolicySet) Equal(proxyProtocolPolicySet v2sets.ProxyProtocolPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", proxyProtocolPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockProxyProtocolPolicySetMockRecorder) Equal(proxyProtocolPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Equal), proxyProtocolPolicySet) +} + +// Find mocks base method. +func (m *MockProxyProtocolPolicySet) Find(id ezkube.ResourceId) (*v2.ProxyProtocolPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.ProxyProtocolPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockProxyProtocolPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockProxyProtocolPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockProxyProtocolPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockProxyProtocolPolicySet) Has(proxyProtocolPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", proxyProtocolPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockProxyProtocolPolicySetMockRecorder) Has(proxyProtocolPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Has), proxyProtocolPolicy) +} + +// Insert mocks base method. +func (m *MockProxyProtocolPolicySet) Insert(proxyProtocolPolicy ...*v2.ProxyProtocolPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range proxyProtocolPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockProxyProtocolPolicySetMockRecorder) Insert(proxyProtocolPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Insert), proxyProtocolPolicy...) +} + +// Intersection mocks base method. +func (m *MockProxyProtocolPolicySet) Intersection(set v2sets.ProxyProtocolPolicySet) v2sets.ProxyProtocolPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.ProxyProtocolPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockProxyProtocolPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockProxyProtocolPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockProxyProtocolPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockProxyProtocolPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockProxyProtocolPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockProxyProtocolPolicySet) List(filterResource ...func(*v2.ProxyProtocolPolicy) bool) []*v2.ProxyProtocolPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.ProxyProtocolPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockProxyProtocolPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockProxyProtocolPolicySet) Map() map[string]*v2.ProxyProtocolPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.ProxyProtocolPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockProxyProtocolPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockProxyProtocolPolicySet) Union(set v2sets.ProxyProtocolPolicySet) v2sets.ProxyProtocolPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.ProxyProtocolPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockProxyProtocolPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockProxyProtocolPolicySet) UnsortedList(filterResource ...func(*v2.ProxyProtocolPolicy) bool) []*v2.ProxyProtocolPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.ProxyProtocolPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockProxyProtocolPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockProxyProtocolPolicySet)(nil).UnsortedList), filterResource...) +} + +// MockHTTPBufferPolicySet is a mock of HTTPBufferPolicySet interface. +type MockHTTPBufferPolicySet struct { + ctrl *gomock.Controller + recorder *MockHTTPBufferPolicySetMockRecorder +} + +// MockHTTPBufferPolicySetMockRecorder is the mock recorder for MockHTTPBufferPolicySet. +type MockHTTPBufferPolicySetMockRecorder struct { + mock *MockHTTPBufferPolicySet +} + +// NewMockHTTPBufferPolicySet creates a new mock instance. +func NewMockHTTPBufferPolicySet(ctrl *gomock.Controller) *MockHTTPBufferPolicySet { + mock := &MockHTTPBufferPolicySet{ctrl: ctrl} + mock.recorder = &MockHTTPBufferPolicySetMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockHTTPBufferPolicySet) EXPECT() *MockHTTPBufferPolicySetMockRecorder { + return m.recorder +} + +// Clone mocks base method. +func (m *MockHTTPBufferPolicySet) Clone() v2sets.HTTPBufferPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Clone") + ret0, _ := ret[0].(v2sets.HTTPBufferPolicySet) + return ret0 +} + +// Clone indicates an expected call of Clone. +func (mr *MockHTTPBufferPolicySetMockRecorder) Clone() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Clone", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Clone)) +} + +// Delete mocks base method. +func (m *MockHTTPBufferPolicySet) Delete(hTTPBufferPolicy ezkube.ResourceId) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Delete", hTTPBufferPolicy) +} + +// Delete indicates an expected call of Delete. +func (mr *MockHTTPBufferPolicySetMockRecorder) Delete(hTTPBufferPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Delete), hTTPBufferPolicy) +} + +// Delta mocks base method. +func (m *MockHTTPBufferPolicySet) Delta(newSet v2sets.HTTPBufferPolicySet) sets.ResourceDelta { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delta", newSet) + ret0, _ := ret[0].(sets.ResourceDelta) + return ret0 +} + +// Delta indicates an expected call of Delta. +func (mr *MockHTTPBufferPolicySetMockRecorder) Delta(newSet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delta", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Delta), newSet) +} + +// Difference mocks base method. +func (m *MockHTTPBufferPolicySet) Difference(set v2sets.HTTPBufferPolicySet) v2sets.HTTPBufferPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Difference", set) + ret0, _ := ret[0].(v2sets.HTTPBufferPolicySet) + return ret0 +} + +// Difference indicates an expected call of Difference. +func (mr *MockHTTPBufferPolicySetMockRecorder) Difference(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Difference", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Difference), set) +} + +// Equal mocks base method. +func (m *MockHTTPBufferPolicySet) Equal(hTTPBufferPolicySet v2sets.HTTPBufferPolicySet) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Equal", hTTPBufferPolicySet) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Equal indicates an expected call of Equal. +func (mr *MockHTTPBufferPolicySetMockRecorder) Equal(hTTPBufferPolicySet interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Equal", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Equal), hTTPBufferPolicySet) +} + +// Find mocks base method. +func (m *MockHTTPBufferPolicySet) Find(id ezkube.ResourceId) (*v2.HTTPBufferPolicy, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Find", id) + ret0, _ := ret[0].(*v2.HTTPBufferPolicy) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Find indicates an expected call of Find. +func (mr *MockHTTPBufferPolicySetMockRecorder) Find(id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Find), id) +} + +// Generic mocks base method. +func (m *MockHTTPBufferPolicySet) Generic() sets.ResourceSet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Generic") + ret0, _ := ret[0].(sets.ResourceSet) + return ret0 +} + +// Generic indicates an expected call of Generic. +func (mr *MockHTTPBufferPolicySetMockRecorder) Generic() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Generic", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Generic)) +} + +// Has mocks base method. +func (m *MockHTTPBufferPolicySet) Has(hTTPBufferPolicy ezkube.ResourceId) bool { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Has", hTTPBufferPolicy) + ret0, _ := ret[0].(bool) + return ret0 +} + +// Has indicates an expected call of Has. +func (mr *MockHTTPBufferPolicySetMockRecorder) Has(hTTPBufferPolicy interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Has", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Has), hTTPBufferPolicy) +} + +// Insert mocks base method. +func (m *MockHTTPBufferPolicySet) Insert(hTTPBufferPolicy ...*v2.HTTPBufferPolicy) { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range hTTPBufferPolicy { + varargs = append(varargs, a) + } + m.ctrl.Call(m, "Insert", varargs...) +} + +// Insert indicates an expected call of Insert. +func (mr *MockHTTPBufferPolicySetMockRecorder) Insert(hTTPBufferPolicy ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Insert), hTTPBufferPolicy...) +} + +// Intersection mocks base method. +func (m *MockHTTPBufferPolicySet) Intersection(set v2sets.HTTPBufferPolicySet) v2sets.HTTPBufferPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Intersection", set) + ret0, _ := ret[0].(v2sets.HTTPBufferPolicySet) + return ret0 +} + +// Intersection indicates an expected call of Intersection. +func (mr *MockHTTPBufferPolicySetMockRecorder) Intersection(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Intersection", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Intersection), set) +} + +// Keys mocks base method. +func (m *MockHTTPBufferPolicySet) Keys() sets0.String { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Keys") + ret0, _ := ret[0].(sets0.String) + return ret0 +} + +// Keys indicates an expected call of Keys. +func (mr *MockHTTPBufferPolicySetMockRecorder) Keys() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Keys", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Keys)) +} + +// Length mocks base method. +func (m *MockHTTPBufferPolicySet) Length() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Length") + ret0, _ := ret[0].(int) + return ret0 +} + +// Length indicates an expected call of Length. +func (mr *MockHTTPBufferPolicySetMockRecorder) Length() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Length", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Length)) +} + +// List mocks base method. +func (m *MockHTTPBufferPolicySet) List(filterResource ...func(*v2.HTTPBufferPolicy) bool) []*v2.HTTPBufferPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "List", varargs...) + ret0, _ := ret[0].([]*v2.HTTPBufferPolicy) + return ret0 +} + +// List indicates an expected call of List. +func (mr *MockHTTPBufferPolicySetMockRecorder) List(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).List), filterResource...) +} + +// Map mocks base method. +func (m *MockHTTPBufferPolicySet) Map() map[string]*v2.HTTPBufferPolicy { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Map") + ret0, _ := ret[0].(map[string]*v2.HTTPBufferPolicy) + return ret0 +} + +// Map indicates an expected call of Map. +func (mr *MockHTTPBufferPolicySetMockRecorder) Map() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Map", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Map)) +} + +// Union mocks base method. +func (m *MockHTTPBufferPolicySet) Union(set v2sets.HTTPBufferPolicySet) v2sets.HTTPBufferPolicySet { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Union", set) + ret0, _ := ret[0].(v2sets.HTTPBufferPolicySet) + return ret0 +} + +// Union indicates an expected call of Union. +func (mr *MockHTTPBufferPolicySetMockRecorder) Union(set interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Union", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).Union), set) +} + +// UnsortedList mocks base method. +func (m *MockHTTPBufferPolicySet) UnsortedList(filterResource ...func(*v2.HTTPBufferPolicy) bool) []*v2.HTTPBufferPolicy { + m.ctrl.T.Helper() + varargs := []interface{}{} + for _, a := range filterResource { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnsortedList", varargs...) + ret0, _ := ret[0].([]*v2.HTTPBufferPolicy) + return ret0 +} + +// UnsortedList indicates an expected call of UnsortedList. +func (mr *MockHTTPBufferPolicySetMockRecorder) UnsortedList(filterResource ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnsortedList", reflect.TypeOf((*MockHTTPBufferPolicySet)(nil).UnsortedList), filterResource...) +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/sets/sets.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/sets/sets.go new file mode 100644 index 000000000..bcf77324c --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/sets/sets.go @@ -0,0 +1,1798 @@ +// Code generated by skv2. DO NOT EDIT. + +//go:generate mockgen -source ./sets.go -destination mocks/sets.go + +package v2sets + +import ( + trafficcontrol_policy_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2" + + "github.com/rotisserie/eris" + sksets "github.com/solo-io/skv2/contrib/pkg/sets" + "github.com/solo-io/skv2/pkg/ezkube" + "k8s.io/apimachinery/pkg/util/sets" +) + +type MirrorPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy + // Return the Set as a map of key to resource. + Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy + // Insert a resource into the set. + Insert(mirrorPolicy ...*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(mirrorPolicySet MirrorPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(mirrorPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(mirrorPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set MirrorPolicySet) MirrorPolicySet + // Return the difference with the provided set + Difference(set MirrorPolicySet) MirrorPolicySet + // Return the intersection with the provided set + Intersection(set MirrorPolicySet) MirrorPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another MirrorPolicySet + Delta(newSet MirrorPolicySet) sksets.ResourceDelta + // Create a deep copy of the current MirrorPolicySet + Clone() MirrorPolicySet +} + +func makeGenericMirrorPolicySet(mirrorPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range mirrorPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type mirrorPolicySet struct { + set sksets.ResourceSet +} + +func NewMirrorPolicySet(mirrorPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) MirrorPolicySet { + return &mirrorPolicySet{set: makeGenericMirrorPolicySet(mirrorPolicyList)} +} + +func NewMirrorPolicySetFromList(mirrorPolicyList *trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicyList) MirrorPolicySet { + list := make([]*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy, 0, len(mirrorPolicyList.Items)) + for idx := range mirrorPolicyList.Items { + list = append(list, &mirrorPolicyList.Items[idx]) + } + return &mirrorPolicySet{set: makeGenericMirrorPolicySet(list)} +} + +func (s *mirrorPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *mirrorPolicySet) List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + mirrorPolicyList := make([]*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy, 0, len(objs)) + for _, obj := range objs { + mirrorPolicyList = append(mirrorPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy)) + } + return mirrorPolicyList +} + +func (s *mirrorPolicySet) UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy)) + }) + } + + var mirrorPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + mirrorPolicyList = append(mirrorPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy)) + } + return mirrorPolicyList +} + +func (s *mirrorPolicySet) Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy { + if s == nil { + return nil + } + + newMap := map[string]*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy) + } + return newMap +} + +func (s *mirrorPolicySet) Insert( + mirrorPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range mirrorPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *mirrorPolicySet) Has(mirrorPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(mirrorPolicy) +} + +func (s *mirrorPolicySet) Equal( + mirrorPolicySet MirrorPolicySet, +) bool { + if s == nil { + return mirrorPolicySet == nil + } + return s.Generic().Equal(mirrorPolicySet.Generic()) +} + +func (s *mirrorPolicySet) Delete(MirrorPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(MirrorPolicy) +} + +func (s *mirrorPolicySet) Union(set MirrorPolicySet) MirrorPolicySet { + if s == nil { + return set + } + return NewMirrorPolicySet(append(s.List(), set.List()...)...) +} + +func (s *mirrorPolicySet) Difference(set MirrorPolicySet) MirrorPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &mirrorPolicySet{set: newSet} +} + +func (s *mirrorPolicySet) Intersection(set MirrorPolicySet) MirrorPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var mirrorPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy + for _, obj := range newSet.List() { + mirrorPolicyList = append(mirrorPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy)) + } + return NewMirrorPolicySet(mirrorPolicyList...) +} + +func (s *mirrorPolicySet) Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find MirrorPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*trafficcontrol_policy_gloo_solo_io_v2.MirrorPolicy), nil +} + +func (s *mirrorPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *mirrorPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *mirrorPolicySet) Delta(newSet MirrorPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *mirrorPolicySet) Clone() MirrorPolicySet { + if s == nil { + return nil + } + return &mirrorPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type RateLimitPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy + // Return the Set as a map of key to resource. + Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy + // Insert a resource into the set. + Insert(rateLimitPolicy ...*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(rateLimitPolicySet RateLimitPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(rateLimitPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(rateLimitPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set RateLimitPolicySet) RateLimitPolicySet + // Return the difference with the provided set + Difference(set RateLimitPolicySet) RateLimitPolicySet + // Return the intersection with the provided set + Intersection(set RateLimitPolicySet) RateLimitPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another RateLimitPolicySet + Delta(newSet RateLimitPolicySet) sksets.ResourceDelta + // Create a deep copy of the current RateLimitPolicySet + Clone() RateLimitPolicySet +} + +func makeGenericRateLimitPolicySet(rateLimitPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range rateLimitPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type rateLimitPolicySet struct { + set sksets.ResourceSet +} + +func NewRateLimitPolicySet(rateLimitPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) RateLimitPolicySet { + return &rateLimitPolicySet{set: makeGenericRateLimitPolicySet(rateLimitPolicyList)} +} + +func NewRateLimitPolicySetFromList(rateLimitPolicyList *trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicyList) RateLimitPolicySet { + list := make([]*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy, 0, len(rateLimitPolicyList.Items)) + for idx := range rateLimitPolicyList.Items { + list = append(list, &rateLimitPolicyList.Items[idx]) + } + return &rateLimitPolicySet{set: makeGenericRateLimitPolicySet(list)} +} + +func (s *rateLimitPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *rateLimitPolicySet) List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + rateLimitPolicyList := make([]*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy, 0, len(objs)) + for _, obj := range objs { + rateLimitPolicyList = append(rateLimitPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy)) + } + return rateLimitPolicyList +} + +func (s *rateLimitPolicySet) UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy)) + }) + } + + var rateLimitPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + rateLimitPolicyList = append(rateLimitPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy)) + } + return rateLimitPolicyList +} + +func (s *rateLimitPolicySet) Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy { + if s == nil { + return nil + } + + newMap := map[string]*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy) + } + return newMap +} + +func (s *rateLimitPolicySet) Insert( + rateLimitPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range rateLimitPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *rateLimitPolicySet) Has(rateLimitPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(rateLimitPolicy) +} + +func (s *rateLimitPolicySet) Equal( + rateLimitPolicySet RateLimitPolicySet, +) bool { + if s == nil { + return rateLimitPolicySet == nil + } + return s.Generic().Equal(rateLimitPolicySet.Generic()) +} + +func (s *rateLimitPolicySet) Delete(RateLimitPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(RateLimitPolicy) +} + +func (s *rateLimitPolicySet) Union(set RateLimitPolicySet) RateLimitPolicySet { + if s == nil { + return set + } + return NewRateLimitPolicySet(append(s.List(), set.List()...)...) +} + +func (s *rateLimitPolicySet) Difference(set RateLimitPolicySet) RateLimitPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &rateLimitPolicySet{set: newSet} +} + +func (s *rateLimitPolicySet) Intersection(set RateLimitPolicySet) RateLimitPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var rateLimitPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy + for _, obj := range newSet.List() { + rateLimitPolicyList = append(rateLimitPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy)) + } + return NewRateLimitPolicySet(rateLimitPolicyList...) +} + +func (s *rateLimitPolicySet) Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find RateLimitPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitPolicy), nil +} + +func (s *rateLimitPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *rateLimitPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *rateLimitPolicySet) Delta(newSet RateLimitPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *rateLimitPolicySet) Clone() RateLimitPolicySet { + if s == nil { + return nil + } + return &rateLimitPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type RateLimitClientConfigSet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) bool) []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) bool) []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig + // Return the Set as a map of key to resource. + Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig + // Insert a resource into the set. + Insert(rateLimitClientConfig ...*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(rateLimitClientConfigSet RateLimitClientConfigSet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(rateLimitClientConfig ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(rateLimitClientConfig ezkube.ResourceId) + // Return the union with the provided set + Union(set RateLimitClientConfigSet) RateLimitClientConfigSet + // Return the difference with the provided set + Difference(set RateLimitClientConfigSet) RateLimitClientConfigSet + // Return the intersection with the provided set + Intersection(set RateLimitClientConfigSet) RateLimitClientConfigSet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another RateLimitClientConfigSet + Delta(newSet RateLimitClientConfigSet) sksets.ResourceDelta + // Create a deep copy of the current RateLimitClientConfigSet + Clone() RateLimitClientConfigSet +} + +func makeGenericRateLimitClientConfigSet(rateLimitClientConfigList []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range rateLimitClientConfigList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type rateLimitClientConfigSet struct { + set sksets.ResourceSet +} + +func NewRateLimitClientConfigSet(rateLimitClientConfigList ...*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) RateLimitClientConfigSet { + return &rateLimitClientConfigSet{set: makeGenericRateLimitClientConfigSet(rateLimitClientConfigList)} +} + +func NewRateLimitClientConfigSetFromList(rateLimitClientConfigList *trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfigList) RateLimitClientConfigSet { + list := make([]*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig, 0, len(rateLimitClientConfigList.Items)) + for idx := range rateLimitClientConfigList.Items { + list = append(list, &rateLimitClientConfigList.Items[idx]) + } + return &rateLimitClientConfigSet{set: makeGenericRateLimitClientConfigSet(list)} +} + +func (s *rateLimitClientConfigSet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *rateLimitClientConfigSet) List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) bool) []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig)) + }) + } + + objs := s.Generic().List(genericFilters...) + rateLimitClientConfigList := make([]*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig, 0, len(objs)) + for _, obj := range objs { + rateLimitClientConfigList = append(rateLimitClientConfigList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig)) + } + return rateLimitClientConfigList +} + +func (s *rateLimitClientConfigSet) UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) bool) []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig)) + }) + } + + var rateLimitClientConfigList []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + rateLimitClientConfigList = append(rateLimitClientConfigList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig)) + } + return rateLimitClientConfigList +} + +func (s *rateLimitClientConfigSet) Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig { + if s == nil { + return nil + } + + newMap := map[string]*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig) + } + return newMap +} + +func (s *rateLimitClientConfigSet) Insert( + rateLimitClientConfigList ...*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range rateLimitClientConfigList { + s.Generic().Insert(obj) + } +} + +func (s *rateLimitClientConfigSet) Has(rateLimitClientConfig ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(rateLimitClientConfig) +} + +func (s *rateLimitClientConfigSet) Equal( + rateLimitClientConfigSet RateLimitClientConfigSet, +) bool { + if s == nil { + return rateLimitClientConfigSet == nil + } + return s.Generic().Equal(rateLimitClientConfigSet.Generic()) +} + +func (s *rateLimitClientConfigSet) Delete(RateLimitClientConfig ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(RateLimitClientConfig) +} + +func (s *rateLimitClientConfigSet) Union(set RateLimitClientConfigSet) RateLimitClientConfigSet { + if s == nil { + return set + } + return NewRateLimitClientConfigSet(append(s.List(), set.List()...)...) +} + +func (s *rateLimitClientConfigSet) Difference(set RateLimitClientConfigSet) RateLimitClientConfigSet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &rateLimitClientConfigSet{set: newSet} +} + +func (s *rateLimitClientConfigSet) Intersection(set RateLimitClientConfigSet) RateLimitClientConfigSet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var rateLimitClientConfigList []*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig + for _, obj := range newSet.List() { + rateLimitClientConfigList = append(rateLimitClientConfigList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig)) + } + return NewRateLimitClientConfigSet(rateLimitClientConfigList...) +} + +func (s *rateLimitClientConfigSet) Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find RateLimitClientConfig %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig{}, id) + if err != nil { + return nil, err + } + + return obj.(*trafficcontrol_policy_gloo_solo_io_v2.RateLimitClientConfig), nil +} + +func (s *rateLimitClientConfigSet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *rateLimitClientConfigSet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *rateLimitClientConfigSet) Delta(newSet RateLimitClientConfigSet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *rateLimitClientConfigSet) Clone() RateLimitClientConfigSet { + if s == nil { + return nil + } + return &rateLimitClientConfigSet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type HeaderManipulationPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy + // Return the Set as a map of key to resource. + Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy + // Insert a resource into the set. + Insert(headerManipulationPolicy ...*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(headerManipulationPolicySet HeaderManipulationPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(headerManipulationPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(headerManipulationPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set HeaderManipulationPolicySet) HeaderManipulationPolicySet + // Return the difference with the provided set + Difference(set HeaderManipulationPolicySet) HeaderManipulationPolicySet + // Return the intersection with the provided set + Intersection(set HeaderManipulationPolicySet) HeaderManipulationPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another HeaderManipulationPolicySet + Delta(newSet HeaderManipulationPolicySet) sksets.ResourceDelta + // Create a deep copy of the current HeaderManipulationPolicySet + Clone() HeaderManipulationPolicySet +} + +func makeGenericHeaderManipulationPolicySet(headerManipulationPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range headerManipulationPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type headerManipulationPolicySet struct { + set sksets.ResourceSet +} + +func NewHeaderManipulationPolicySet(headerManipulationPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) HeaderManipulationPolicySet { + return &headerManipulationPolicySet{set: makeGenericHeaderManipulationPolicySet(headerManipulationPolicyList)} +} + +func NewHeaderManipulationPolicySetFromList(headerManipulationPolicyList *trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicyList) HeaderManipulationPolicySet { + list := make([]*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy, 0, len(headerManipulationPolicyList.Items)) + for idx := range headerManipulationPolicyList.Items { + list = append(list, &headerManipulationPolicyList.Items[idx]) + } + return &headerManipulationPolicySet{set: makeGenericHeaderManipulationPolicySet(list)} +} + +func (s *headerManipulationPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *headerManipulationPolicySet) List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + headerManipulationPolicyList := make([]*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy, 0, len(objs)) + for _, obj := range objs { + headerManipulationPolicyList = append(headerManipulationPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy)) + } + return headerManipulationPolicyList +} + +func (s *headerManipulationPolicySet) UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy)) + }) + } + + var headerManipulationPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + headerManipulationPolicyList = append(headerManipulationPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy)) + } + return headerManipulationPolicyList +} + +func (s *headerManipulationPolicySet) Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy { + if s == nil { + return nil + } + + newMap := map[string]*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy) + } + return newMap +} + +func (s *headerManipulationPolicySet) Insert( + headerManipulationPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range headerManipulationPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *headerManipulationPolicySet) Has(headerManipulationPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(headerManipulationPolicy) +} + +func (s *headerManipulationPolicySet) Equal( + headerManipulationPolicySet HeaderManipulationPolicySet, +) bool { + if s == nil { + return headerManipulationPolicySet == nil + } + return s.Generic().Equal(headerManipulationPolicySet.Generic()) +} + +func (s *headerManipulationPolicySet) Delete(HeaderManipulationPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(HeaderManipulationPolicy) +} + +func (s *headerManipulationPolicySet) Union(set HeaderManipulationPolicySet) HeaderManipulationPolicySet { + if s == nil { + return set + } + return NewHeaderManipulationPolicySet(append(s.List(), set.List()...)...) +} + +func (s *headerManipulationPolicySet) Difference(set HeaderManipulationPolicySet) HeaderManipulationPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &headerManipulationPolicySet{set: newSet} +} + +func (s *headerManipulationPolicySet) Intersection(set HeaderManipulationPolicySet) HeaderManipulationPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var headerManipulationPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy + for _, obj := range newSet.List() { + headerManipulationPolicyList = append(headerManipulationPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy)) + } + return NewHeaderManipulationPolicySet(headerManipulationPolicyList...) +} + +func (s *headerManipulationPolicySet) Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find HeaderManipulationPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*trafficcontrol_policy_gloo_solo_io_v2.HeaderManipulationPolicy), nil +} + +func (s *headerManipulationPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *headerManipulationPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *headerManipulationPolicySet) Delta(newSet HeaderManipulationPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *headerManipulationPolicySet) Clone() HeaderManipulationPolicySet { + if s == nil { + return nil + } + return &headerManipulationPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type TransformationPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy + // Return the Set as a map of key to resource. + Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy + // Insert a resource into the set. + Insert(transformationPolicy ...*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(transformationPolicySet TransformationPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(transformationPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(transformationPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set TransformationPolicySet) TransformationPolicySet + // Return the difference with the provided set + Difference(set TransformationPolicySet) TransformationPolicySet + // Return the intersection with the provided set + Intersection(set TransformationPolicySet) TransformationPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another TransformationPolicySet + Delta(newSet TransformationPolicySet) sksets.ResourceDelta + // Create a deep copy of the current TransformationPolicySet + Clone() TransformationPolicySet +} + +func makeGenericTransformationPolicySet(transformationPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range transformationPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type transformationPolicySet struct { + set sksets.ResourceSet +} + +func NewTransformationPolicySet(transformationPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) TransformationPolicySet { + return &transformationPolicySet{set: makeGenericTransformationPolicySet(transformationPolicyList)} +} + +func NewTransformationPolicySetFromList(transformationPolicyList *trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicyList) TransformationPolicySet { + list := make([]*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy, 0, len(transformationPolicyList.Items)) + for idx := range transformationPolicyList.Items { + list = append(list, &transformationPolicyList.Items[idx]) + } + return &transformationPolicySet{set: makeGenericTransformationPolicySet(list)} +} + +func (s *transformationPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *transformationPolicySet) List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + transformationPolicyList := make([]*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy, 0, len(objs)) + for _, obj := range objs { + transformationPolicyList = append(transformationPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy)) + } + return transformationPolicyList +} + +func (s *transformationPolicySet) UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy)) + }) + } + + var transformationPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + transformationPolicyList = append(transformationPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy)) + } + return transformationPolicyList +} + +func (s *transformationPolicySet) Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy { + if s == nil { + return nil + } + + newMap := map[string]*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy) + } + return newMap +} + +func (s *transformationPolicySet) Insert( + transformationPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range transformationPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *transformationPolicySet) Has(transformationPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(transformationPolicy) +} + +func (s *transformationPolicySet) Equal( + transformationPolicySet TransformationPolicySet, +) bool { + if s == nil { + return transformationPolicySet == nil + } + return s.Generic().Equal(transformationPolicySet.Generic()) +} + +func (s *transformationPolicySet) Delete(TransformationPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(TransformationPolicy) +} + +func (s *transformationPolicySet) Union(set TransformationPolicySet) TransformationPolicySet { + if s == nil { + return set + } + return NewTransformationPolicySet(append(s.List(), set.List()...)...) +} + +func (s *transformationPolicySet) Difference(set TransformationPolicySet) TransformationPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &transformationPolicySet{set: newSet} +} + +func (s *transformationPolicySet) Intersection(set TransformationPolicySet) TransformationPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var transformationPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy + for _, obj := range newSet.List() { + transformationPolicyList = append(transformationPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy)) + } + return NewTransformationPolicySet(transformationPolicyList...) +} + +func (s *transformationPolicySet) Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find TransformationPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*trafficcontrol_policy_gloo_solo_io_v2.TransformationPolicy), nil +} + +func (s *transformationPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *transformationPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *transformationPolicySet) Delta(newSet TransformationPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *transformationPolicySet) Clone() TransformationPolicySet { + if s == nil { + return nil + } + return &transformationPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type LoadBalancerPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy + // Return the Set as a map of key to resource. + Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy + // Insert a resource into the set. + Insert(loadBalancerPolicy ...*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(loadBalancerPolicySet LoadBalancerPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(loadBalancerPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(loadBalancerPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set LoadBalancerPolicySet) LoadBalancerPolicySet + // Return the difference with the provided set + Difference(set LoadBalancerPolicySet) LoadBalancerPolicySet + // Return the intersection with the provided set + Intersection(set LoadBalancerPolicySet) LoadBalancerPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another LoadBalancerPolicySet + Delta(newSet LoadBalancerPolicySet) sksets.ResourceDelta + // Create a deep copy of the current LoadBalancerPolicySet + Clone() LoadBalancerPolicySet +} + +func makeGenericLoadBalancerPolicySet(loadBalancerPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range loadBalancerPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type loadBalancerPolicySet struct { + set sksets.ResourceSet +} + +func NewLoadBalancerPolicySet(loadBalancerPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) LoadBalancerPolicySet { + return &loadBalancerPolicySet{set: makeGenericLoadBalancerPolicySet(loadBalancerPolicyList)} +} + +func NewLoadBalancerPolicySetFromList(loadBalancerPolicyList *trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicyList) LoadBalancerPolicySet { + list := make([]*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy, 0, len(loadBalancerPolicyList.Items)) + for idx := range loadBalancerPolicyList.Items { + list = append(list, &loadBalancerPolicyList.Items[idx]) + } + return &loadBalancerPolicySet{set: makeGenericLoadBalancerPolicySet(list)} +} + +func (s *loadBalancerPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *loadBalancerPolicySet) List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + loadBalancerPolicyList := make([]*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy, 0, len(objs)) + for _, obj := range objs { + loadBalancerPolicyList = append(loadBalancerPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy)) + } + return loadBalancerPolicyList +} + +func (s *loadBalancerPolicySet) UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy)) + }) + } + + var loadBalancerPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + loadBalancerPolicyList = append(loadBalancerPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy)) + } + return loadBalancerPolicyList +} + +func (s *loadBalancerPolicySet) Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy { + if s == nil { + return nil + } + + newMap := map[string]*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy) + } + return newMap +} + +func (s *loadBalancerPolicySet) Insert( + loadBalancerPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range loadBalancerPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *loadBalancerPolicySet) Has(loadBalancerPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(loadBalancerPolicy) +} + +func (s *loadBalancerPolicySet) Equal( + loadBalancerPolicySet LoadBalancerPolicySet, +) bool { + if s == nil { + return loadBalancerPolicySet == nil + } + return s.Generic().Equal(loadBalancerPolicySet.Generic()) +} + +func (s *loadBalancerPolicySet) Delete(LoadBalancerPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(LoadBalancerPolicy) +} + +func (s *loadBalancerPolicySet) Union(set LoadBalancerPolicySet) LoadBalancerPolicySet { + if s == nil { + return set + } + return NewLoadBalancerPolicySet(append(s.List(), set.List()...)...) +} + +func (s *loadBalancerPolicySet) Difference(set LoadBalancerPolicySet) LoadBalancerPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &loadBalancerPolicySet{set: newSet} +} + +func (s *loadBalancerPolicySet) Intersection(set LoadBalancerPolicySet) LoadBalancerPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var loadBalancerPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy + for _, obj := range newSet.List() { + loadBalancerPolicyList = append(loadBalancerPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy)) + } + return NewLoadBalancerPolicySet(loadBalancerPolicyList...) +} + +func (s *loadBalancerPolicySet) Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find LoadBalancerPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*trafficcontrol_policy_gloo_solo_io_v2.LoadBalancerPolicy), nil +} + +func (s *loadBalancerPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *loadBalancerPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *loadBalancerPolicySet) Delta(newSet LoadBalancerPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *loadBalancerPolicySet) Clone() LoadBalancerPolicySet { + if s == nil { + return nil + } + return &loadBalancerPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type ProxyProtocolPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy + // Return the Set as a map of key to resource. + Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy + // Insert a resource into the set. + Insert(proxyProtocolPolicy ...*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(proxyProtocolPolicySet ProxyProtocolPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(proxyProtocolPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(proxyProtocolPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set ProxyProtocolPolicySet) ProxyProtocolPolicySet + // Return the difference with the provided set + Difference(set ProxyProtocolPolicySet) ProxyProtocolPolicySet + // Return the intersection with the provided set + Intersection(set ProxyProtocolPolicySet) ProxyProtocolPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another ProxyProtocolPolicySet + Delta(newSet ProxyProtocolPolicySet) sksets.ResourceDelta + // Create a deep copy of the current ProxyProtocolPolicySet + Clone() ProxyProtocolPolicySet +} + +func makeGenericProxyProtocolPolicySet(proxyProtocolPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range proxyProtocolPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type proxyProtocolPolicySet struct { + set sksets.ResourceSet +} + +func NewProxyProtocolPolicySet(proxyProtocolPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) ProxyProtocolPolicySet { + return &proxyProtocolPolicySet{set: makeGenericProxyProtocolPolicySet(proxyProtocolPolicyList)} +} + +func NewProxyProtocolPolicySetFromList(proxyProtocolPolicyList *trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicyList) ProxyProtocolPolicySet { + list := make([]*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy, 0, len(proxyProtocolPolicyList.Items)) + for idx := range proxyProtocolPolicyList.Items { + list = append(list, &proxyProtocolPolicyList.Items[idx]) + } + return &proxyProtocolPolicySet{set: makeGenericProxyProtocolPolicySet(list)} +} + +func (s *proxyProtocolPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *proxyProtocolPolicySet) List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + proxyProtocolPolicyList := make([]*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy, 0, len(objs)) + for _, obj := range objs { + proxyProtocolPolicyList = append(proxyProtocolPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy)) + } + return proxyProtocolPolicyList +} + +func (s *proxyProtocolPolicySet) UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy)) + }) + } + + var proxyProtocolPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + proxyProtocolPolicyList = append(proxyProtocolPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy)) + } + return proxyProtocolPolicyList +} + +func (s *proxyProtocolPolicySet) Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy { + if s == nil { + return nil + } + + newMap := map[string]*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy) + } + return newMap +} + +func (s *proxyProtocolPolicySet) Insert( + proxyProtocolPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range proxyProtocolPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *proxyProtocolPolicySet) Has(proxyProtocolPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(proxyProtocolPolicy) +} + +func (s *proxyProtocolPolicySet) Equal( + proxyProtocolPolicySet ProxyProtocolPolicySet, +) bool { + if s == nil { + return proxyProtocolPolicySet == nil + } + return s.Generic().Equal(proxyProtocolPolicySet.Generic()) +} + +func (s *proxyProtocolPolicySet) Delete(ProxyProtocolPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(ProxyProtocolPolicy) +} + +func (s *proxyProtocolPolicySet) Union(set ProxyProtocolPolicySet) ProxyProtocolPolicySet { + if s == nil { + return set + } + return NewProxyProtocolPolicySet(append(s.List(), set.List()...)...) +} + +func (s *proxyProtocolPolicySet) Difference(set ProxyProtocolPolicySet) ProxyProtocolPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &proxyProtocolPolicySet{set: newSet} +} + +func (s *proxyProtocolPolicySet) Intersection(set ProxyProtocolPolicySet) ProxyProtocolPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var proxyProtocolPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy + for _, obj := range newSet.List() { + proxyProtocolPolicyList = append(proxyProtocolPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy)) + } + return NewProxyProtocolPolicySet(proxyProtocolPolicyList...) +} + +func (s *proxyProtocolPolicySet) Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find ProxyProtocolPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*trafficcontrol_policy_gloo_solo_io_v2.ProxyProtocolPolicy), nil +} + +func (s *proxyProtocolPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *proxyProtocolPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *proxyProtocolPolicySet) Delta(newSet ProxyProtocolPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *proxyProtocolPolicySet) Clone() ProxyProtocolPolicySet { + if s == nil { + return nil + } + return &proxyProtocolPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} + +type HTTPBufferPolicySet interface { + // Get the set stored keys + Keys() sets.String + // List of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy + // Unsorted list of resources stored in the set. Pass an optional filter function to filter on the list. + // The filter function should return false to keep the resource, true to drop it. + UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy + // Return the Set as a map of key to resource. + Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy + // Insert a resource into the set. + Insert(hTTPBufferPolicy ...*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) + // Compare the equality of the keys in two sets (not the resources themselves) + Equal(hTTPBufferPolicySet HTTPBufferPolicySet) bool + // Check if the set contains a key matching the resource (not the resource itself) + Has(hTTPBufferPolicy ezkube.ResourceId) bool + // Delete the key matching the resource + Delete(hTTPBufferPolicy ezkube.ResourceId) + // Return the union with the provided set + Union(set HTTPBufferPolicySet) HTTPBufferPolicySet + // Return the difference with the provided set + Difference(set HTTPBufferPolicySet) HTTPBufferPolicySet + // Return the intersection with the provided set + Intersection(set HTTPBufferPolicySet) HTTPBufferPolicySet + // Find the resource with the given ID + Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy, error) + // Get the length of the set + Length() int + // returns the generic implementation of the set + Generic() sksets.ResourceSet + // returns the delta between this and and another HTTPBufferPolicySet + Delta(newSet HTTPBufferPolicySet) sksets.ResourceDelta + // Create a deep copy of the current HTTPBufferPolicySet + Clone() HTTPBufferPolicySet +} + +func makeGenericHTTPBufferPolicySet(hTTPBufferPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) sksets.ResourceSet { + var genericResources []ezkube.ResourceId + for _, obj := range hTTPBufferPolicyList { + genericResources = append(genericResources, obj) + } + return sksets.NewResourceSet(genericResources...) +} + +type hTTPBufferPolicySet struct { + set sksets.ResourceSet +} + +func NewHTTPBufferPolicySet(hTTPBufferPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) HTTPBufferPolicySet { + return &hTTPBufferPolicySet{set: makeGenericHTTPBufferPolicySet(hTTPBufferPolicyList)} +} + +func NewHTTPBufferPolicySetFromList(hTTPBufferPolicyList *trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicyList) HTTPBufferPolicySet { + list := make([]*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy, 0, len(hTTPBufferPolicyList.Items)) + for idx := range hTTPBufferPolicyList.Items { + list = append(list, &hTTPBufferPolicyList.Items[idx]) + } + return &hTTPBufferPolicySet{set: makeGenericHTTPBufferPolicySet(list)} +} + +func (s *hTTPBufferPolicySet) Keys() sets.String { + if s == nil { + return sets.String{} + } + return s.Generic().Keys() +} + +func (s *hTTPBufferPolicySet) List(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy)) + }) + } + + objs := s.Generic().List(genericFilters...) + hTTPBufferPolicyList := make([]*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy, 0, len(objs)) + for _, obj := range objs { + hTTPBufferPolicyList = append(hTTPBufferPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy)) + } + return hTTPBufferPolicyList +} + +func (s *hTTPBufferPolicySet) UnsortedList(filterResource ...func(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) bool) []*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy { + if s == nil { + return nil + } + var genericFilters []func(ezkube.ResourceId) bool + for _, filter := range filterResource { + filter := filter + genericFilters = append(genericFilters, func(obj ezkube.ResourceId) bool { + return filter(obj.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy)) + }) + } + + var hTTPBufferPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy + for _, obj := range s.Generic().UnsortedList(genericFilters...) { + hTTPBufferPolicyList = append(hTTPBufferPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy)) + } + return hTTPBufferPolicyList +} + +func (s *hTTPBufferPolicySet) Map() map[string]*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy { + if s == nil { + return nil + } + + newMap := map[string]*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy{} + for k, v := range s.Generic().Map() { + newMap[k] = v.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy) + } + return newMap +} + +func (s *hTTPBufferPolicySet) Insert( + hTTPBufferPolicyList ...*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy, +) { + if s == nil { + panic("cannot insert into nil set") + } + + for _, obj := range hTTPBufferPolicyList { + s.Generic().Insert(obj) + } +} + +func (s *hTTPBufferPolicySet) Has(hTTPBufferPolicy ezkube.ResourceId) bool { + if s == nil { + return false + } + return s.Generic().Has(hTTPBufferPolicy) +} + +func (s *hTTPBufferPolicySet) Equal( + hTTPBufferPolicySet HTTPBufferPolicySet, +) bool { + if s == nil { + return hTTPBufferPolicySet == nil + } + return s.Generic().Equal(hTTPBufferPolicySet.Generic()) +} + +func (s *hTTPBufferPolicySet) Delete(HTTPBufferPolicy ezkube.ResourceId) { + if s == nil { + return + } + s.Generic().Delete(HTTPBufferPolicy) +} + +func (s *hTTPBufferPolicySet) Union(set HTTPBufferPolicySet) HTTPBufferPolicySet { + if s == nil { + return set + } + return NewHTTPBufferPolicySet(append(s.List(), set.List()...)...) +} + +func (s *hTTPBufferPolicySet) Difference(set HTTPBufferPolicySet) HTTPBufferPolicySet { + if s == nil { + return set + } + newSet := s.Generic().Difference(set.Generic()) + return &hTTPBufferPolicySet{set: newSet} +} + +func (s *hTTPBufferPolicySet) Intersection(set HTTPBufferPolicySet) HTTPBufferPolicySet { + if s == nil { + return nil + } + newSet := s.Generic().Intersection(set.Generic()) + var hTTPBufferPolicyList []*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy + for _, obj := range newSet.List() { + hTTPBufferPolicyList = append(hTTPBufferPolicyList, obj.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy)) + } + return NewHTTPBufferPolicySet(hTTPBufferPolicyList...) +} + +func (s *hTTPBufferPolicySet) Find(id ezkube.ResourceId) (*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy, error) { + if s == nil { + return nil, eris.Errorf("empty set, cannot find HTTPBufferPolicy %v", sksets.Key(id)) + } + obj, err := s.Generic().Find(&trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy{}, id) + if err != nil { + return nil, err + } + + return obj.(*trafficcontrol_policy_gloo_solo_io_v2.HTTPBufferPolicy), nil +} + +func (s *hTTPBufferPolicySet) Length() int { + if s == nil { + return 0 + } + return s.Generic().Length() +} + +func (s *hTTPBufferPolicySet) Generic() sksets.ResourceSet { + if s == nil { + return nil + } + return s.set +} + +func (s *hTTPBufferPolicySet) Delta(newSet HTTPBufferPolicySet) sksets.ResourceDelta { + if s == nil { + return sksets.ResourceDelta{ + Inserted: newSet.Generic(), + } + } + return s.Generic().Delta(newSet.Generic()) +} + +func (s *hTTPBufferPolicySet) Clone() HTTPBufferPolicySet { + if s == nil { + return nil + } + return &hTTPBufferPolicySet{set: sksets.NewResourceSet(s.Generic().Clone().List()...)} +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/transformation_policy.pb.clone.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/transformation_policy.pb.clone.go new file mode 100644 index 000000000..dbf2b60df --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/transformation_policy.pb.clone.go @@ -0,0 +1,181 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/transformation_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/solo-io/protoc-gen-ext/pkg/clone" + "google.golang.org/protobuf/proto" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + + github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_api_envoy_config_filter_http_transformation_v2 "github.com/solo-io/solo-apis/client-go/envoy-gloo/api/envoy/config/filter/http/transformation/v2" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = clone.Cloner(nil) + _ = proto.Message(nil) +) + +// Clone function +func (m *TransformationPolicySpec) Clone() proto.Message { + var target *TransformationPolicySpec + if m == nil { + return target + } + target = &TransformationPolicySpec{} + + if m.GetApplyToRoutes() != nil { + target.ApplyToRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector, len(m.GetApplyToRoutes())) + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.ApplyToRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } else { + target.ApplyToRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteSelector) + } + + } + } + + if h, ok := interface{}(m.GetConfig()).(clone.Cloner); ok { + target.Config = h.Clone().(*TransformationPolicySpec_Config) + } else { + target.Config = proto.Clone(m.GetConfig()).(*TransformationPolicySpec_Config) + } + + return target +} + +// Clone function +func (m *TransformationPolicyStatus) Clone() proto.Message { + var target *TransformationPolicyStatus + if m == nil { + return target + } + target = &TransformationPolicyStatus{} + + if h, ok := interface{}(m.GetCommon()).(clone.Cloner); ok { + target.Common = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } else { + target.Common = proto.Clone(m.GetCommon()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Status) + } + + target.NumSelectedRoutes = m.GetNumSelectedRoutes() + + return target +} + +// Clone function +func (m *TransformationPolicyReport) Clone() proto.Message { + var target *TransformationPolicyReport + if m == nil { + return target + } + target = &TransformationPolicyReport{} + + if m.GetWorkspaces() != nil { + target.Workspaces = make(map[string]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report, len(m.GetWorkspaces())) + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.Workspaces[k] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } else { + target.Workspaces[k] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.Report) + } + + } + } + + if m.GetSelectedRoutes() != nil { + target.SelectedRoutes = make([]*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference, len(m.GetSelectedRoutes())) + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(clone.Cloner); ok { + target.SelectedRoutes[idx] = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } else { + target.SelectedRoutes[idx] = proto.Clone(v).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.RouteReference) + } + + } + } + + return target +} + +// Clone function +func (m *TransformationPolicySpec_Config) Clone() proto.Message { + var target *TransformationPolicySpec_Config + if m == nil { + return target + } + target = &TransformationPolicySpec_Config{} + + if h, ok := interface{}(m.GetPhase()).(clone.Cloner); ok { + target.Phase = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PrioritizedPhase) + } else { + target.Phase = proto.Clone(m.GetPhase()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_common_gloo_solo_io_v2.PrioritizedPhase) + } + + if h, ok := interface{}(m.GetRequest()).(clone.Cloner); ok { + target.Request = h.Clone().(*TransformationPolicySpec_Config_RequestTransformation) + } else { + target.Request = proto.Clone(m.GetRequest()).(*TransformationPolicySpec_Config_RequestTransformation) + } + + if h, ok := interface{}(m.GetResponse()).(clone.Cloner); ok { + target.Response = h.Clone().(*TransformationPolicySpec_Config_ResponseTransformation) + } else { + target.Response = proto.Clone(m.GetResponse()).(*TransformationPolicySpec_Config_ResponseTransformation) + } + + return target +} + +// Clone function +func (m *TransformationPolicySpec_Config_RequestTransformation) Clone() proto.Message { + var target *TransformationPolicySpec_Config_RequestTransformation + if m == nil { + return target + } + target = &TransformationPolicySpec_Config_RequestTransformation{} + + target.RecalculateRoutingDestination = m.GetRecalculateRoutingDestination() + + if h, ok := interface{}(m.GetInjaTemplate()).(clone.Cloner); ok { + target.InjaTemplate = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_api_envoy_config_filter_http_transformation_v2.TransformationTemplate) + } else { + target.InjaTemplate = proto.Clone(m.GetInjaTemplate()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_api_envoy_config_filter_http_transformation_v2.TransformationTemplate) + } + + return target +} + +// Clone function +func (m *TransformationPolicySpec_Config_ResponseTransformation) Clone() proto.Message { + var target *TransformationPolicySpec_Config_ResponseTransformation + if m == nil { + return target + } + target = &TransformationPolicySpec_Config_ResponseTransformation{} + + if h, ok := interface{}(m.GetInjaTemplate()).(clone.Cloner); ok { + target.InjaTemplate = h.Clone().(*github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_api_envoy_config_filter_http_transformation_v2.TransformationTemplate) + } else { + target.InjaTemplate = proto.Clone(m.GetInjaTemplate()).(*github_com_solo_io_gloo_mesh_solo_apis_client_go_envoy_gloo_api_envoy_config_filter_http_transformation_v2.TransformationTemplate) + } + + return target +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/transformation_policy.pb.equal.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/transformation_policy.pb.equal.go new file mode 100644 index 000000000..1be612f1f --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/transformation_policy.pb.equal.go @@ -0,0 +1,299 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/transformation_policy.proto + +package v2 + +import ( + "bytes" + "encoding/binary" + "errors" + "fmt" + "strings" + + "github.com/golang/protobuf/proto" + equality "github.com/solo-io/protoc-gen-ext/pkg/equality" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = bytes.Compare + _ = strings.Compare + _ = equality.Equalizer(nil) + _ = proto.Message(nil) +) + +// Equal function +func (m *TransformationPolicySpec) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TransformationPolicySpec) + if !ok { + that2, ok := that.(TransformationPolicySpec) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetApplyToRoutes()) != len(target.GetApplyToRoutes()) { + return false + } + for idx, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetApplyToRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetApplyToRoutes()[idx]) { + return false + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(equality.Equalizer); ok { + if !h.Equal(target.GetConfig()) { + return false + } + } else { + if !proto.Equal(m.GetConfig(), target.GetConfig()) { + return false + } + } + + return true +} + +// Equal function +func (m *TransformationPolicyStatus) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TransformationPolicyStatus) + if !ok { + that2, ok := that.(TransformationPolicyStatus) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetCommon()).(equality.Equalizer); ok { + if !h.Equal(target.GetCommon()) { + return false + } + } else { + if !proto.Equal(m.GetCommon(), target.GetCommon()) { + return false + } + } + + if m.GetNumSelectedRoutes() != target.GetNumSelectedRoutes() { + return false + } + + return true +} + +// Equal function +func (m *TransformationPolicyReport) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TransformationPolicyReport) + if !ok { + that2, ok := that.(TransformationPolicyReport) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if len(m.GetWorkspaces()) != len(target.GetWorkspaces()) { + return false + } + for k, v := range m.GetWorkspaces() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetWorkspaces()[k]) { + return false + } + } else { + if !proto.Equal(v, target.GetWorkspaces()[k]) { + return false + } + } + + } + + if len(m.GetSelectedRoutes()) != len(target.GetSelectedRoutes()) { + return false + } + for idx, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(equality.Equalizer); ok { + if !h.Equal(target.GetSelectedRoutes()[idx]) { + return false + } + } else { + if !proto.Equal(v, target.GetSelectedRoutes()[idx]) { + return false + } + } + + } + + return true +} + +// Equal function +func (m *TransformationPolicySpec_Config) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TransformationPolicySpec_Config) + if !ok { + that2, ok := that.(TransformationPolicySpec_Config) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetPhase()).(equality.Equalizer); ok { + if !h.Equal(target.GetPhase()) { + return false + } + } else { + if !proto.Equal(m.GetPhase(), target.GetPhase()) { + return false + } + } + + if h, ok := interface{}(m.GetRequest()).(equality.Equalizer); ok { + if !h.Equal(target.GetRequest()) { + return false + } + } else { + if !proto.Equal(m.GetRequest(), target.GetRequest()) { + return false + } + } + + if h, ok := interface{}(m.GetResponse()).(equality.Equalizer); ok { + if !h.Equal(target.GetResponse()) { + return false + } + } else { + if !proto.Equal(m.GetResponse(), target.GetResponse()) { + return false + } + } + + return true +} + +// Equal function +func (m *TransformationPolicySpec_Config_RequestTransformation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TransformationPolicySpec_Config_RequestTransformation) + if !ok { + that2, ok := that.(TransformationPolicySpec_Config_RequestTransformation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if m.GetRecalculateRoutingDestination() != target.GetRecalculateRoutingDestination() { + return false + } + + if h, ok := interface{}(m.GetInjaTemplate()).(equality.Equalizer); ok { + if !h.Equal(target.GetInjaTemplate()) { + return false + } + } else { + if !proto.Equal(m.GetInjaTemplate(), target.GetInjaTemplate()) { + return false + } + } + + return true +} + +// Equal function +func (m *TransformationPolicySpec_Config_ResponseTransformation) Equal(that interface{}) bool { + if that == nil { + return m == nil + } + + target, ok := that.(*TransformationPolicySpec_Config_ResponseTransformation) + if !ok { + that2, ok := that.(TransformationPolicySpec_Config_ResponseTransformation) + if ok { + target = &that2 + } else { + return false + } + } + if target == nil { + return m == nil + } else if m == nil { + return false + } + + if h, ok := interface{}(m.GetInjaTemplate()).(equality.Equalizer); ok { + if !h.Equal(target.GetInjaTemplate()) { + return false + } + } else { + if !proto.Equal(m.GetInjaTemplate(), target.GetInjaTemplate()) { + return false + } + } + + return true +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/transformation_policy.pb.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/transformation_policy.pb.go new file mode 100644 index 000000000..808e74152 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/transformation_policy.pb.go @@ -0,0 +1,649 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/transformation_policy.proto + +package v2 + +import ( + reflect "reflect" + sync "sync" + + _ "github.com/solo-io/protoc-gen-ext/extproto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + + v2 "github.com/solo-io/solo-apis/client-go/common.gloo.solo.io/v2" + v21 "github.com/solo-io/solo-apis/client-go/envoy-gloo/api/envoy/config/filter/http/transformation/v2" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// TransformationPolicy is used to transform HTTP requests and responses matching selected routes. +// TransformationPolicies are applied at the *Route* level. +type TransformationPolicySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Routes to apply the policy to. + // If empty, the policy applies to all workloads in the workspace. + ApplyToRoutes []*v2.RouteSelector `protobuf:"bytes,1,rep,name=apply_to_routes,json=applyToRoutes,proto3" json:"apply_to_routes,omitempty"` + // The details of the transformation policy to apply to the selected routes. + Config *TransformationPolicySpec_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *TransformationPolicySpec) Reset() { + *x = TransformationPolicySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransformationPolicySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransformationPolicySpec) ProtoMessage() {} + +func (x *TransformationPolicySpec) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransformationPolicySpec.ProtoReflect.Descriptor instead. +func (*TransformationPolicySpec) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *TransformationPolicySpec) GetApplyToRoutes() []*v2.RouteSelector { + if x != nil { + return x.ApplyToRoutes + } + return nil +} + +func (x *TransformationPolicySpec) GetConfig() *TransformationPolicySpec_Config { + if x != nil { + return x.Config + } + return nil +} + +type TransformationPolicyStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The state and workspace conditions of the applied resource. + Common *v2.Status `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // The number of routes selected by the policy. + NumSelectedRoutes uint32 `protobuf:"varint,2,opt,name=num_selected_routes,json=numSelectedRoutes,proto3" json:"num_selected_routes,omitempty"` +} + +func (x *TransformationPolicyStatus) Reset() { + *x = TransformationPolicyStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransformationPolicyStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransformationPolicyStatus) ProtoMessage() {} + +func (x *TransformationPolicyStatus) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransformationPolicyStatus.ProtoReflect.Descriptor instead. +func (*TransformationPolicyStatus) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescGZIP(), []int{1} +} + +func (x *TransformationPolicyStatus) GetCommon() *v2.Status { + if x != nil { + return x.Common + } + return nil +} + +func (x *TransformationPolicyStatus) GetNumSelectedRoutes() uint32 { + if x != nil { + return x.NumSelectedRoutes + } + return 0 +} + +type TransformationPolicyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status of the resource in each workspace that it exists in. + Workspaces map[string]*v2.Report `protobuf:"bytes,1,rep,name=workspaces,proto3" json:"workspaces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A list of references to all routes selected by the policy. + SelectedRoutes []*v2.RouteReference `protobuf:"bytes,2,rep,name=selected_routes,json=selectedRoutes,proto3" json:"selected_routes,omitempty"` +} + +func (x *TransformationPolicyReport) Reset() { + *x = TransformationPolicyReport{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransformationPolicyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransformationPolicyReport) ProtoMessage() {} + +func (x *TransformationPolicyReport) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransformationPolicyReport.ProtoReflect.Descriptor instead. +func (*TransformationPolicyReport) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescGZIP(), []int{2} +} + +func (x *TransformationPolicyReport) GetWorkspaces() map[string]*v2.Report { + if x != nil { + return x.Workspaces + } + return nil +} + +func (x *TransformationPolicyReport) GetSelectedRoutes() []*v2.RouteReference { + if x != nil { + return x.SelectedRoutes + } + return nil +} + +type TransformationPolicySpec_Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specify the phase to indicate where this policy should be applied relative to other policies. + // If no phase is specified, the default will be post AuthZ. + Phase *v2.PrioritizedPhase `protobuf:"bytes,1,opt,name=phase,proto3" json:"phase,omitempty"` + // Transformation to be applied before the request is sent to the upstream service. + Request *TransformationPolicySpec_Config_RequestTransformation `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` + // Transform the response received from the upstream service before returning it to the client. + Response *TransformationPolicySpec_Config_ResponseTransformation `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"` +} + +func (x *TransformationPolicySpec_Config) Reset() { + *x = TransformationPolicySpec_Config{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransformationPolicySpec_Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransformationPolicySpec_Config) ProtoMessage() {} + +func (x *TransformationPolicySpec_Config) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransformationPolicySpec_Config.ProtoReflect.Descriptor instead. +func (*TransformationPolicySpec_Config) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *TransformationPolicySpec_Config) GetPhase() *v2.PrioritizedPhase { + if x != nil { + return x.Phase + } + return nil +} + +func (x *TransformationPolicySpec_Config) GetRequest() *TransformationPolicySpec_Config_RequestTransformation { + if x != nil { + return x.Request + } + return nil +} + +func (x *TransformationPolicySpec_Config) GetResponse() *TransformationPolicySpec_Config_ResponseTransformation { + if x != nil { + return x.Response + } + return nil +} + +type TransformationPolicySpec_Config_RequestTransformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If set to **true**, recalculate the routing destination and select a new route for transformed requests. + // For example, if you have a request that is transformed to match a new route, the new route is selected + // when calculating the routing destination. The default value is **false**. + RecalculateRoutingDestination bool `protobuf:"varint,1,opt,name=recalculate_routing_destination,json=recalculateRoutingDestination,proto3" json:"recalculate_routing_destination,omitempty"` + // transform HTTP body and headers using Inja templates. + // For more information, see the [Envoy `transformation_filter.proto`](https://github.com/solo-io/envoy-gloo/blob/master/api/envoy/config/filter/http/transformation/v2/transformation_filter.proto#L155). + InjaTemplate *v21.TransformationTemplate `protobuf:"bytes,2,opt,name=inja_template,json=injaTemplate,proto3" json:"inja_template,omitempty"` +} + +func (x *TransformationPolicySpec_Config_RequestTransformation) Reset() { + *x = TransformationPolicySpec_Config_RequestTransformation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransformationPolicySpec_Config_RequestTransformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransformationPolicySpec_Config_RequestTransformation) ProtoMessage() {} + +func (x *TransformationPolicySpec_Config_RequestTransformation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransformationPolicySpec_Config_RequestTransformation.ProtoReflect.Descriptor instead. +func (*TransformationPolicySpec_Config_RequestTransformation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *TransformationPolicySpec_Config_RequestTransformation) GetRecalculateRoutingDestination() bool { + if x != nil { + return x.RecalculateRoutingDestination + } + return false +} + +func (x *TransformationPolicySpec_Config_RequestTransformation) GetInjaTemplate() *v21.TransformationTemplate { + if x != nil { + return x.InjaTemplate + } + return nil +} + +// Configure response transformations for a selected route +type TransformationPolicySpec_Config_ResponseTransformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // transform response body and headers using Inja templates. + // For more information, see the [Envoy `transformation_filter.proto`](https://github.com/solo-io/envoy-gloo/blob/master/api/envoy/config/filter/http/transformation/v2/transformation_filter.proto#L155). + InjaTemplate *v21.TransformationTemplate `protobuf:"bytes,1,opt,name=inja_template,json=injaTemplate,proto3" json:"inja_template,omitempty"` +} + +func (x *TransformationPolicySpec_Config_ResponseTransformation) Reset() { + *x = TransformationPolicySpec_Config_ResponseTransformation{} + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransformationPolicySpec_Config_ResponseTransformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransformationPolicySpec_Config_ResponseTransformation) ProtoMessage() {} + +func (x *TransformationPolicySpec_Config_ResponseTransformation) ProtoReflect() protoreflect.Message { + mi := &file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransformationPolicySpec_Config_ResponseTransformation.ProtoReflect.Descriptor instead. +func (*TransformationPolicySpec_Config_ResponseTransformation) Descriptor() ([]byte, []int) { + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescGZIP(), []int{0, 0, 1} +} + +func (x *TransformationPolicySpec_Config_ResponseTransformation) GetInjaTemplate() *v21.TransformationTemplate { + if x != nil { + return x.InjaTemplate + } + return nil +} + +var File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto protoreflect.FileDescriptor + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDesc = []byte{ + 0x0a, 0x6d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, + 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x22, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x1a, 0x12, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x68, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2d, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, + 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2f, 0x68, + 0x74, 0x74, 0x70, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, + 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, 0x6d, + 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x06, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, + 0x5b, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x43, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xe8, 0x04, 0x0a, + 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x50, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x05, 0x70, + 0x68, 0x61, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x76, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x74, 0x72, + 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, + 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x1a, 0xbc, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x1f, 0x72, + 0x65, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x0d, 0x69, 0x6e, 0x6a, 0x61, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x69, 0x6e, + 0x6a, 0x61, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, + 0x1a, 0x75, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x0d, 0x69, 0x6e, + 0x6a, 0x61, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, + 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x6a, 0x61, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x81, 0x01, 0x0a, 0x1a, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6e, + 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xb6, 0x02, 0x0a, 0x1a, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6e, 0x0a, 0x0a, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, + 0x2e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, + 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x42, 0x63, 0x5a, 0x55, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2d, + 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x67, 0x6c, + 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x32, 0xc0, 0xf5, 0x04, + 0x01, 0xb8, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescOnce sync.Once + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescData = file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDesc +) + +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescGZIP() []byte { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescOnce.Do(func() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescData) + }) + return file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDescData +} + +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_goTypes = []interface{}{ + (*TransformationPolicySpec)(nil), // 0: trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec + (*TransformationPolicyStatus)(nil), // 1: trafficcontrol.policy.gloo.solo.io.TransformationPolicyStatus + (*TransformationPolicyReport)(nil), // 2: trafficcontrol.policy.gloo.solo.io.TransformationPolicyReport + (*TransformationPolicySpec_Config)(nil), // 3: trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.Config + (*TransformationPolicySpec_Config_RequestTransformation)(nil), // 4: trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.Config.RequestTransformation + (*TransformationPolicySpec_Config_ResponseTransformation)(nil), // 5: trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.Config.ResponseTransformation + nil, // 6: trafficcontrol.policy.gloo.solo.io.TransformationPolicyReport.WorkspacesEntry + (*v2.RouteSelector)(nil), // 7: common.gloo.solo.io.RouteSelector + (*v2.Status)(nil), // 8: common.gloo.solo.io.Status + (*v2.RouteReference)(nil), // 9: common.gloo.solo.io.RouteReference + (*v2.PrioritizedPhase)(nil), // 10: common.gloo.solo.io.PrioritizedPhase + (*v21.TransformationTemplate)(nil), // 11: envoy.api.v2.filter.http.TransformationTemplate + (*v2.Report)(nil), // 12: common.gloo.solo.io.Report +} +var file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_depIdxs = []int32{ + 7, // 0: trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.apply_to_routes:type_name -> common.gloo.solo.io.RouteSelector + 3, // 1: trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.config:type_name -> trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.Config + 8, // 2: trafficcontrol.policy.gloo.solo.io.TransformationPolicyStatus.common:type_name -> common.gloo.solo.io.Status + 6, // 3: trafficcontrol.policy.gloo.solo.io.TransformationPolicyReport.workspaces:type_name -> trafficcontrol.policy.gloo.solo.io.TransformationPolicyReport.WorkspacesEntry + 9, // 4: trafficcontrol.policy.gloo.solo.io.TransformationPolicyReport.selected_routes:type_name -> common.gloo.solo.io.RouteReference + 10, // 5: trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.Config.phase:type_name -> common.gloo.solo.io.PrioritizedPhase + 4, // 6: trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.Config.request:type_name -> trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.Config.RequestTransformation + 5, // 7: trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.Config.response:type_name -> trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.Config.ResponseTransformation + 11, // 8: trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.Config.RequestTransformation.inja_template:type_name -> envoy.api.v2.filter.http.TransformationTemplate + 11, // 9: trafficcontrol.policy.gloo.solo.io.TransformationPolicySpec.Config.ResponseTransformation.inja_template:type_name -> envoy.api.v2.filter.http.TransformationTemplate + 12, // 10: trafficcontrol.policy.gloo.solo.io.TransformationPolicyReport.WorkspacesEntry.value:type_name -> common.gloo.solo.io.Report + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_init() +} +func file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_init() { + if File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransformationPolicySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransformationPolicyStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransformationPolicyReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransformationPolicySpec_Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransformationPolicySpec_Config_RequestTransformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransformationPolicySpec_Config_ResponseTransformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_goTypes, + DependencyIndexes: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_depIdxs, + MessageInfos: file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_msgTypes, + }.Build() + File_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto = out.File + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_rawDesc = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_goTypes = nil + file_github_com_solo_io_gloo_mesh_solo_apis_api_gloo_solo_io_policy_v2_trafficcontrol_transformation_policy_proto_depIdxs = nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/transformation_policy.pb.hash.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/transformation_policy.pb.hash.go new file mode 100644 index 000000000..e046f9722 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/transformation_policy.pb.hash.go @@ -0,0 +1,359 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/solo-apis/api/gloo.solo.io/policy/v2/trafficcontrol/transformation_policy.proto + +package v2 + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// Hash function +func (m *TransformationPolicySpec) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.TransformationPolicySpec")); err != nil { + return 0, err + } + + for _, v := range m.GetApplyToRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + if h, ok := interface{}(m.GetConfig()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetConfig(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Config")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TransformationPolicyStatus) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.TransformationPolicyStatus")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetCommon()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetCommon(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Common")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetNumSelectedRoutes()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TransformationPolicyReport) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.TransformationPolicyReport")); err != nil { + return 0, err + } + + { + var result uint64 + innerHash := fnv.New64() + for k, v := range m.GetWorkspaces() { + innerHash.Reset() + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(innerHash); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = innerHash.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(innerHash, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = innerHash.Write([]byte(k)); err != nil { + return 0, err + } + + result = result ^ innerHash.Sum64() + } + err = binary.Write(hasher, binary.LittleEndian, result) + if err != nil { + return 0, err + } + + } + + for _, v := range m.GetSelectedRoutes() { + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TransformationPolicySpec_Config) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.TransformationPolicySpec_Config")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPhase()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Phase")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPhase(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Phase")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetRequest()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRequest(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Request")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if h, ok := interface{}(m.GetResponse()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Response")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResponse(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Response")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TransformationPolicySpec_Config_RequestTransformation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.TransformationPolicySpec_Config_RequestTransformation")); err != nil { + return 0, err + } + + err = binary.Write(hasher, binary.LittleEndian, m.GetRecalculateRoutingDestination()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetInjaTemplate()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("InjaTemplate")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetInjaTemplate(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("InjaTemplate")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// Hash function +func (m *TransformationPolicySpec_Config_ResponseTransformation) Hash(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("trafficcontrol.policy.gloo.solo.io.github.com/solo-io/solo-apis/client-go/trafficcontrol.policy.gloo.solo.io/v2.TransformationPolicySpec_Config_ResponseTransformation")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetInjaTemplate()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("InjaTemplate")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetInjaTemplate(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("InjaTemplate")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/type_helpers.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/type_helpers.go new file mode 100644 index 000000000..043471c92 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/type_helpers.go @@ -0,0 +1,28 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +// MirrorPolicySlice represents a slice of *MirrorPolicy +type MirrorPolicySlice []*MirrorPolicy + +// RateLimitPolicySlice represents a slice of *RateLimitPolicy +type RateLimitPolicySlice []*RateLimitPolicy + +// RateLimitClientConfigSlice represents a slice of *RateLimitClientConfig +type RateLimitClientConfigSlice []*RateLimitClientConfig + +// HeaderManipulationPolicySlice represents a slice of *HeaderManipulationPolicy +type HeaderManipulationPolicySlice []*HeaderManipulationPolicy + +// TransformationPolicySlice represents a slice of *TransformationPolicy +type TransformationPolicySlice []*TransformationPolicy + +// LoadBalancerPolicySlice represents a slice of *LoadBalancerPolicy +type LoadBalancerPolicySlice []*LoadBalancerPolicy + +// ProxyProtocolPolicySlice represents a slice of *ProxyProtocolPolicy +type ProxyProtocolPolicySlice []*ProxyProtocolPolicy + +// HTTPBufferPolicySlice represents a slice of *HTTPBufferPolicy +type HTTPBufferPolicySlice []*HTTPBufferPolicy diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/types.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/types.go new file mode 100644 index 000000000..213b8a9a5 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/types.go @@ -0,0 +1,300 @@ +// Code generated by skv2. DO NOT EDIT. + +// Definitions for the Kubernetes types +package v2 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for MirrorPolicy +var MirrorPolicyGVK = schema.GroupVersionKind{ + Group: "trafficcontrol.policy.gloo.solo.io", + Version: "v2", + Kind: "MirrorPolicy", +} + +// MirrorPolicy is the Schema for the mirrorPolicy API +type MirrorPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec MirrorPolicySpec `json:"spec,omitempty"` + Status MirrorPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (MirrorPolicy) GVK() schema.GroupVersionKind { + return MirrorPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// MirrorPolicyList contains a list of MirrorPolicy +type MirrorPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []MirrorPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for RateLimitPolicy +var RateLimitPolicyGVK = schema.GroupVersionKind{ + Group: "trafficcontrol.policy.gloo.solo.io", + Version: "v2", + Kind: "RateLimitPolicy", +} + +// RateLimitPolicy is the Schema for the rateLimitPolicy API +type RateLimitPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec RateLimitPolicySpec `json:"spec,omitempty"` + Status RateLimitPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (RateLimitPolicy) GVK() schema.GroupVersionKind { + return RateLimitPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RateLimitPolicyList contains a list of RateLimitPolicy +type RateLimitPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RateLimitPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for RateLimitClientConfig +var RateLimitClientConfigGVK = schema.GroupVersionKind{ + Group: "trafficcontrol.policy.gloo.solo.io", + Version: "v2", + Kind: "RateLimitClientConfig", +} + +// RateLimitClientConfig is the Schema for the rateLimitClientConfig API +type RateLimitClientConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec RateLimitClientConfigSpec `json:"spec,omitempty"` + Status RateLimitClientConfigStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (RateLimitClientConfig) GVK() schema.GroupVersionKind { + return RateLimitClientConfigGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RateLimitClientConfigList contains a list of RateLimitClientConfig +type RateLimitClientConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RateLimitClientConfig `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for HeaderManipulationPolicy +var HeaderManipulationPolicyGVK = schema.GroupVersionKind{ + Group: "trafficcontrol.policy.gloo.solo.io", + Version: "v2", + Kind: "HeaderManipulationPolicy", +} + +// HeaderManipulationPolicy is the Schema for the headerManipulationPolicy API +type HeaderManipulationPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec HeaderManipulationPolicySpec `json:"spec,omitempty"` + Status HeaderManipulationPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (HeaderManipulationPolicy) GVK() schema.GroupVersionKind { + return HeaderManipulationPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// HeaderManipulationPolicyList contains a list of HeaderManipulationPolicy +type HeaderManipulationPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HeaderManipulationPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for TransformationPolicy +var TransformationPolicyGVK = schema.GroupVersionKind{ + Group: "trafficcontrol.policy.gloo.solo.io", + Version: "v2", + Kind: "TransformationPolicy", +} + +// TransformationPolicy is the Schema for the transformationPolicy API +type TransformationPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec TransformationPolicySpec `json:"spec,omitempty"` + Status TransformationPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (TransformationPolicy) GVK() schema.GroupVersionKind { + return TransformationPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// TransformationPolicyList contains a list of TransformationPolicy +type TransformationPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TransformationPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for LoadBalancerPolicy +var LoadBalancerPolicyGVK = schema.GroupVersionKind{ + Group: "trafficcontrol.policy.gloo.solo.io", + Version: "v2", + Kind: "LoadBalancerPolicy", +} + +// LoadBalancerPolicy is the Schema for the loadBalancerPolicy API +type LoadBalancerPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec LoadBalancerPolicySpec `json:"spec,omitempty"` + Status LoadBalancerPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (LoadBalancerPolicy) GVK() schema.GroupVersionKind { + return LoadBalancerPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// LoadBalancerPolicyList contains a list of LoadBalancerPolicy +type LoadBalancerPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []LoadBalancerPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for ProxyProtocolPolicy +var ProxyProtocolPolicyGVK = schema.GroupVersionKind{ + Group: "trafficcontrol.policy.gloo.solo.io", + Version: "v2", + Kind: "ProxyProtocolPolicy", +} + +// ProxyProtocolPolicy is the Schema for the proxyProtocolPolicy API +type ProxyProtocolPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ProxyProtocolPolicySpec `json:"spec,omitempty"` + Status ProxyProtocolPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (ProxyProtocolPolicy) GVK() schema.GroupVersionKind { + return ProxyProtocolPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ProxyProtocolPolicyList contains a list of ProxyProtocolPolicy +type ProxyProtocolPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProxyProtocolPolicy `json:"items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +// +kubebuilder:subresource:status + +// GroupVersionKind for HTTPBufferPolicy +var HTTPBufferPolicyGVK = schema.GroupVersionKind{ + Group: "trafficcontrol.policy.gloo.solo.io", + Version: "v2", + Kind: "HTTPBufferPolicy", +} + +// HTTPBufferPolicy is the Schema for the hTTPBufferPolicy API +type HTTPBufferPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec HTTPBufferPolicySpec `json:"spec,omitempty"` + Status HTTPBufferPolicyStatus `json:"status,omitempty"` +} + +// GVK returns the GroupVersionKind associated with the resource type. +func (HTTPBufferPolicy) GVK() schema.GroupVersionKind { + return HTTPBufferPolicyGVK +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// HTTPBufferPolicyList contains a list of HTTPBufferPolicy +type HTTPBufferPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HTTPBufferPolicy `json:"items"` +} + +func init() { + SchemeBuilder.Register(&MirrorPolicy{}, &MirrorPolicyList{}) + SchemeBuilder.Register(&RateLimitPolicy{}, &RateLimitPolicyList{}) + SchemeBuilder.Register(&RateLimitClientConfig{}, &RateLimitClientConfigList{}) + SchemeBuilder.Register(&HeaderManipulationPolicy{}, &HeaderManipulationPolicyList{}) + SchemeBuilder.Register(&TransformationPolicy{}, &TransformationPolicyList{}) + SchemeBuilder.Register(&LoadBalancerPolicy{}, &LoadBalancerPolicyList{}) + SchemeBuilder.Register(&ProxyProtocolPolicy{}, &ProxyProtocolPolicyList{}) + SchemeBuilder.Register(&HTTPBufferPolicy{}, &HTTPBufferPolicyList{}) +} diff --git a/client-go/trafficcontrol.policy.gloo.solo.io/v2/zz_generated.deepcopy.go b/client-go/trafficcontrol.policy.gloo.solo.io/v2/zz_generated.deepcopy.go new file mode 100644 index 000000000..79f9d4298 --- /dev/null +++ b/client-go/trafficcontrol.policy.gloo.solo.io/v2/zz_generated.deepcopy.go @@ -0,0 +1,489 @@ +// Code generated by skv2. DO NOT EDIT. + +// This file contains generated Deepcopy methods for trafficcontrol.policy.gloo.solo.io/v2 resources + +package v2 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// Generated Deepcopy methods for MirrorPolicy + +func (in *MirrorPolicy) DeepCopyInto(out *MirrorPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *MirrorPolicy) DeepCopy() *MirrorPolicy { + if in == nil { + return nil + } + out := new(MirrorPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *MirrorPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *MirrorPolicyList) DeepCopyInto(out *MirrorPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]MirrorPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *MirrorPolicyList) DeepCopy() *MirrorPolicyList { + if in == nil { + return nil + } + out := new(MirrorPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *MirrorPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for RateLimitPolicy + +func (in *RateLimitPolicy) DeepCopyInto(out *RateLimitPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *RateLimitPolicy) DeepCopy() *RateLimitPolicy { + if in == nil { + return nil + } + out := new(RateLimitPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *RateLimitPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *RateLimitPolicyList) DeepCopyInto(out *RateLimitPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RateLimitPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *RateLimitPolicyList) DeepCopy() *RateLimitPolicyList { + if in == nil { + return nil + } + out := new(RateLimitPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *RateLimitPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for RateLimitClientConfig + +func (in *RateLimitClientConfig) DeepCopyInto(out *RateLimitClientConfig) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *RateLimitClientConfig) DeepCopy() *RateLimitClientConfig { + if in == nil { + return nil + } + out := new(RateLimitClientConfig) + in.DeepCopyInto(out) + return out +} + +func (in *RateLimitClientConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *RateLimitClientConfigList) DeepCopyInto(out *RateLimitClientConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RateLimitClientConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *RateLimitClientConfigList) DeepCopy() *RateLimitClientConfigList { + if in == nil { + return nil + } + out := new(RateLimitClientConfigList) + in.DeepCopyInto(out) + return out +} + +func (in *RateLimitClientConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for HeaderManipulationPolicy + +func (in *HeaderManipulationPolicy) DeepCopyInto(out *HeaderManipulationPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *HeaderManipulationPolicy) DeepCopy() *HeaderManipulationPolicy { + if in == nil { + return nil + } + out := new(HeaderManipulationPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *HeaderManipulationPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *HeaderManipulationPolicyList) DeepCopyInto(out *HeaderManipulationPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HeaderManipulationPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *HeaderManipulationPolicyList) DeepCopy() *HeaderManipulationPolicyList { + if in == nil { + return nil + } + out := new(HeaderManipulationPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *HeaderManipulationPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for TransformationPolicy + +func (in *TransformationPolicy) DeepCopyInto(out *TransformationPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *TransformationPolicy) DeepCopy() *TransformationPolicy { + if in == nil { + return nil + } + out := new(TransformationPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *TransformationPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *TransformationPolicyList) DeepCopyInto(out *TransformationPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TransformationPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *TransformationPolicyList) DeepCopy() *TransformationPolicyList { + if in == nil { + return nil + } + out := new(TransformationPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *TransformationPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for LoadBalancerPolicy + +func (in *LoadBalancerPolicy) DeepCopyInto(out *LoadBalancerPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *LoadBalancerPolicy) DeepCopy() *LoadBalancerPolicy { + if in == nil { + return nil + } + out := new(LoadBalancerPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *LoadBalancerPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *LoadBalancerPolicyList) DeepCopyInto(out *LoadBalancerPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]LoadBalancerPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *LoadBalancerPolicyList) DeepCopy() *LoadBalancerPolicyList { + if in == nil { + return nil + } + out := new(LoadBalancerPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *LoadBalancerPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for ProxyProtocolPolicy + +func (in *ProxyProtocolPolicy) DeepCopyInto(out *ProxyProtocolPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *ProxyProtocolPolicy) DeepCopy() *ProxyProtocolPolicy { + if in == nil { + return nil + } + out := new(ProxyProtocolPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *ProxyProtocolPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *ProxyProtocolPolicyList) DeepCopyInto(out *ProxyProtocolPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProxyProtocolPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *ProxyProtocolPolicyList) DeepCopy() *ProxyProtocolPolicyList { + if in == nil { + return nil + } + out := new(ProxyProtocolPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *ProxyProtocolPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// Generated Deepcopy methods for HTTPBufferPolicy + +func (in *HTTPBufferPolicy) DeepCopyInto(out *HTTPBufferPolicy) { + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + + // deepcopy spec + in.Spec.DeepCopyInto(&out.Spec) + // deepcopy status + in.Status.DeepCopyInto(&out.Status) + + return +} + +func (in *HTTPBufferPolicy) DeepCopy() *HTTPBufferPolicy { + if in == nil { + return nil + } + out := new(HTTPBufferPolicy) + in.DeepCopyInto(out) + return out +} + +func (in *HTTPBufferPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +func (in *HTTPBufferPolicyList) DeepCopyInto(out *HTTPBufferPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HTTPBufferPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +func (in *HTTPBufferPolicyList) DeepCopy() *HTTPBufferPolicyList { + if in == nil { + return nil + } + out := new(HTTPBufferPolicyList) + in.DeepCopyInto(out) + return out +} + +func (in *HTTPBufferPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/examples/create-update-delete-workspace/README.md b/examples/create-update-delete-workspace/README.md new file mode 100644 index 000000000..9e35627da --- /dev/null +++ b/examples/create-update-delete-workspace/README.md @@ -0,0 +1,54 @@ +# Create, Update & Delete Workspace + +This example program demonstrates the fundamental operations for managing on +**Workspace** resources, such as `Create`, `List`, `Update` and `Delete`. + +You can adopt the source code from this example to write programs that manage +other types of resources through the Kubernetes API. + +## Running this example + +Make sure you have a Kubernetes cluster and `kubectl` is configured: + +``` +kubectl get nodes +``` + +You also need to install **Gloo Mesh Enterprise** first, follow the +[official documentation](https://docs.solo.io/gloo-mesh-enterprise/latest/setup) +to learn how to do this. + +Finally, run this application on your workstation: + +``` +$ cd create-update-delete-workspace +$ go run . +2023/05/29 14:07:41 creating "example" workspace... +2023/05/29 14:07:41 updating "example" workspace with a new cluster... +2023/05/29 14:07:41 clusters registered for this workspace: [name:"cluster-1" namespaces:{name:"apps"}] +2023/05/29 14:07:41 deleting "example" workspace... +``` + +Running this command will execute the following operations on your cluster: + +1. **Create Workspace:** This will create an empty Workspace (without workload + clusters registered). +2. **Update Workspace:** This will update the Workspace resource created in + previous step by registering a new workload cluster. You are encouraged to + inspect the retry loop that handles conflicts. +3. **Delete Workspace:** This will delete the Workspace object. + +## Cleanup + +Successfully running this program will clean the created artifacts. If you +terminate the program without completing, you can clean up the created +workspace with: + +``` +kubectl delete workspace example -n gloo-mesh +``` + +## References + +This example is inspired by the Kubernetes official client-go examples: +https://github.com/kubernetes/client-go/tree/master/examples/create-update-delete-deployment diff --git a/examples/create-update-delete-workspace/main.go b/examples/create-update-delete-workspace/main.go new file mode 100644 index 000000000..90add8cf3 --- /dev/null +++ b/examples/create-update-delete-workspace/main.go @@ -0,0 +1,89 @@ +package main + +import ( + "context" + "log" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + clientcmd "k8s.io/client-go/tools/clientcmd" + "k8s.io/client-go/util/retry" + "sigs.k8s.io/controller-runtime/pkg/client" + + adminv2 "github.com/solo-io/solo-apis/client-go/admin.gloo.solo.io/v2" +) + +func main() { + // Initialize the client to interact with the Kubernetes API + cfg, err := clientcmd.NewDefaultClientConfigLoadingRules().Load() + if err != nil { + log.Fatal(err) + } + + kubeConfig := clientcmd.NewDefaultClientConfig(*cfg, &clientcmd.ConfigOverrides{}) + clientConfig, err := kubeConfig.ClientConfig() + if err != nil { + log.Fatal(err) + } + + adminv2Clientset, err := adminv2.NewClientsetFromConfig(clientConfig) + if err != nil { + log.Fatal(err) + } + + wsClient := adminv2Clientset.Workspaces() + + // Create a new empty Workspace in the gloo-mesh namespace + ctx := context.Background() + + newWorkspace := &adminv2.Workspace{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example", + Namespace: "gloo-mesh", + }, + Spec: adminv2.WorkspaceSpec{}, + } + + log.Printf("creating \"%s\" workspace...\n", newWorkspace.GetName()) + err = wsClient.CreateWorkspace(ctx, newWorkspace) + if err != nil { + log.Fatal(err) + } + + // Add a new workload cluster to this workspace + log.Printf("updating \"%s\" workspace with a new cluster...\n", newWorkspace.GetName()) + var updatedWorkspace = &adminv2.Workspace{} + err = retry.RetryOnConflict(retry.DefaultRetry, func() error { + // Retrieve the latest version of Workspace before attempting update + // RetryOnConflict uses exponential backoff to avoid exhausting the apiserver + updatedWorkspace, err = wsClient.GetWorkspace(ctx, client.ObjectKeyFromObject(newWorkspace)) + if err != nil { + return err + } + + updatedWorkspace.Spec.WorkloadClusters = []*adminv2.ClusterSelector{ + { + Name: "cluster-1", + Namespaces: []*adminv2.ClusterSelector_NamespaceSelector{ + { + Name: "apps", + }, + }, + }, + } + err = wsClient.UpdateWorkspace(ctx, updatedWorkspace, &client.UpdateOptions{}) + return err + }) + if err != nil { + log.Fatal(err) + } + + // Verify the new cluster has been added to the workspace + log.Printf("clusters registered for this workspace: %+v\n", updatedWorkspace.Spec.WorkloadClusters) + + // Finally, clean up the environment by deleting the workspace + log.Printf("deleting \"%s\" workspace...\n", updatedWorkspace.GetName()) + err = wsClient.DeleteWorkspace(ctx, client.ObjectKeyFromObject(updatedWorkspace)) + if err != nil { + log.Fatal(err) + } +}